Code Duplication    Length = 22-22 lines in 2 locations

NiaPy/algorithms/basic/fpa.py 1 location

@@ 27-48 (lines=22) @@
24
25
class FlowerPollinationAlgorithm(object):
26
    # pylint: disable=too-many-instance-attributes
27
    def __init__(self, D, NP, nFES, p, benchmark):
28
        self.benchmark = Utility.get_benchmark(benchmark)
29
        self.D = D  # dimension
30
        self.NP = NP  # population size
31
        self.nFES = nFES  # number of function evaluations
32
        self.p = p  # probability switch
33
        self.Lower = self.benchmark.Lower  # lower bound
34
        self.Upper = self.benchmark.Upper  # upper bound
35
        self.Fun = self.benchmark.function()  # function
36
37
        self.f_min = 0.0  # minimum fitness
38
39
        self.Lb = [0] * self.D  # lower bound
40
        self.Ub = [0] * self.D  # upper bound
41
42
        self.dS = [[0 for _i in range(self.D)]
43
                   for _j in range(self.NP)]  # differential
44
        self.Sol = [[0 for _i in range(self.D)]
45
                    for _j in range(self.NP)]  # population of solutions
46
        self.Fitness = [0] * self.NP  # fitness
47
        self.best = [0] * self.D  # best solution
48
        self.evaluations = 0  # evaluations counter
49
50
    def best_flower(self):
51
        i = 0

NiaPy/algorithms/basic/fa.py 1 location

@@ 23-44 (lines=22) @@
20
    """Firefly Algorithm implementation."""
21
22
    # pylint: disable=too-many-instance-attributes
23
    def __init__(self, D, NP, nFES, alpha, betamin, gamma, benchmark):
24
        self.benchmark = Utility.get_benchmark(benchmark)
25
        self.D = D  # dimension of the problem
26
        self.NP = NP  # population size
27
        self.nFES = nFES  # number of function evaluations
28
        self.alpha = alpha  # alpha parameter
29
        self.betamin = betamin  # beta parameter
30
        self.gamma = gamma  # gamma parameter
31
        # sort of fireflies according to fitness value
32
        self.Index = [0] * self.NP
33
        self.Fireflies = [[0 for _i in range(self.D)]
34
                          for _j in range(self.NP)]  # firefly agents
35
        self.Fireflies_tmp = [[0 for _i in range(self.D)] for _j in range(
36
            self.NP)]  # intermediate pop
37
        self.Fitness = [0.0] * self.NP  # fitness values
38
        self.Intensity = [0.0] * self.NP  # light intensity
39
        self.nbest = [0.0] * self.NP  # the best solution found so far
40
        self.Lower = self.benchmark.Lower  # lower bound
41
        self.Upper = self.benchmark.Upper  # upper bound
42
        self.fbest = None  # the best
43
        self.evaluations = 0
44
        self.Fun = self.benchmark.function()
45
46
    def init_ffa(self):
47
        for i in range(self.NP):