Code Duplication    Length = 13-16 lines in 3 locations

NiaPy/algorithms/basic/ba.py 1 location

@@ 81-96 (lines=16) @@
78
            self.best[i] = self.Sol[j][i]
79
        self.f_min = self.Fitness[j]
80
81
    def init_bat(self):
82
        """Initialize bat."""
83
84
        for i in range(self.D):
85
            self.Lb[i] = self.Lower
86
            self.Ub[i] = self.Upper
87
88
        for i in range(self.NP):
89
            self.Q[i] = 0
90
            for j in range(self.D):
91
                rnd = random.uniform(0, 1)
92
                self.v[i][j] = 0.0
93
                self.Sol[i][j] = self.Lb[j] + (self.Ub[j] - self.Lb[j]) * rnd
94
            self.Fitness[i] = self.Fun(self.D, self.Sol[i])
95
            self.evaluations = self.evaluations + 1
96
        self.best_bat()
97
98
    @classmethod
99
    def simplebounds(cls, val, lower, upper):

NiaPy/algorithms/modified/hba.py 1 location

@@ 61-74 (lines=14) @@
58
            self.best[i] = self.Sol[j][i]
59
        self.f_min = self.Fitness[j]
60
61
    def init_bat(self):
62
        for i in range(self.D):
63
            self.Lb[i] = self.Lower
64
            self.Ub[i] = self.Upper
65
66
        for i in range(self.NP):
67
            self.Q[i] = 0
68
            for j in range(self.D):
69
                rnd = random.uniform(0, 1)
70
                self.v[i][j] = 0.0
71
                self.Sol[i][j] = self.Lb[j] + (self.Ub[j] - self.Lb[j]) * rnd
72
            self.Fitness[i] = self.Fun(self.D, self.Sol[i])
73
            self.evaluations = self.evaluations + 1
74
        self.best_bat()
75
76
    @classmethod
77
    def simplebounds(cls, val, lower, upper):

NiaPy/algorithms/basic/fpa.py 1 location

@@ 67-79 (lines=13) @@
64
            val = upper
65
        return val
66
67
    def init_flower(self):
68
        for i in range(self.D):
69
            self.Lb[i] = self.Lower
70
            self.Ub[i] = self.Upper
71
72
        for i in range(self.NP):
73
            for j in range(self.D):
74
                rnd = random.uniform(0, 1)
75
                self.dS[i][j] = 0.0
76
                self.Sol[i][j] = self.Lb[j] + (self.Ub[j] - self.Lb[j]) * rnd
77
            self.Fitness[i] = self.Fun(self.D, self.Sol[i])
78
            self.evaluations = self.evaluations + 1
79
        self.best_flower()
80
81
    def move_flower(self):
82
        S = [[0.0 for i in range(self.D)] for j in range(self.NP)]