Code Duplication    Length = 13-16 lines in 3 locations

NiaPy/algorithms/basic/ba.py 1 location

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

NiaPy/algorithms/modified/hba.py 1 location

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

NiaPy/algorithms/basic/fpa.py 1 location

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