Code Duplication    Length = 21-22 lines in 3 locations

NiaPy/algorithms/basic/fpa.py 1 location

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

NiaPy/algorithms/basic/fa.py 1 location

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

NiaPy/algorithms/basic/gwo.py 1 location

@@ 24-45 (lines=22) @@
21
class GreyWolfOptimizer(object):
22
23
    # pylint: disable=too-many-instance-attributes
24
    def __init__(self, D, NP, nFES, Lower, Upper, function):
25
        self.D = D  # dimension of the problem
26
        self.NP = NP  # population size; number of search agents
27
        self.nFES = nFES  # number of function evaluations
28
        self.Lower = Lower  # lower bound
29
        self.Upper = Upper  # upper bound
30
        self.Fun = function
31
32
        self.Positions = [[0 for _i in range(self.D)]  # positions of search agents
33
                          for _j in range(self.NP)]
34
35
        self.evaluations = 0  # evaluations counter
36
37
        # TODO: "-inf" is in the case of maximization problems
38
        self.Alpha_pos = [0] * self.D  # init of alpha
39
        self.Alpha_score = float("inf")
40
41
        self.Beta_pos = [0] * self.D  # init of beta
42
        self.Beta_score = float("inf")
43
44
        self.Delta_pos = [0] * self.D  # init of delta
45
        self.Delta_score = float("inf")
46
47
    def initialization(self):
48
        # initialization of positions