Code Duplication    Length = 27-27 lines in 2 locations

NiaPy/algorithms/modified/jde.py 1 location

@@ 22-48 (lines=27) @@
19
__all__ = ['SelfAdaptiveDifferentialEvolutionAlgorithm']
20
21
22
class SolutionjDE(object):
23
    def __init__(self, D, LB, UB):
24
        self.D = D
25
        self.LB = LB
26
        self.UB = UB
27
        self.F = 0.5
28
        self.Cr = 0.9
29
        self.Solution = []
30
        self.Fitness = float('inf')
31
        self.generateSolution()
32
33
    def generateSolution(self):
34
        self.Solution = [self.LB + (self.UB - self.LB) * rnd.random()
35
                         for _i in range(self.D)]
36
37
    def evaluate(self):
38
        self.Fitness = SolutionjDE.FuncEval(self.D, self.Solution)
39
40
    def repair(self):
41
        for i in range(self.D):
42
            if self.Solution[i] > self.UB:
43
                self.Solution[i] = self.UB
44
            if self.Solution[i] < self.LB:
45
                self.Solution[i] = self.LB
46
47
    def __eq__(self, other):
48
        return self.Solution == other.Solution and self.Fitness == other.Fitness
49
50
51
class SelfAdaptiveDifferentialEvolutionAlgorithm(object):

NiaPy/algorithms/basic/ga.py 1 location

@@ 18-44 (lines=27) @@
15
16
__all__ = ['GeneticAlgorithm']
17
18
class Chromosome:
19
    def __init__(self, D,LB,UB):
20
        self.D = D
21
        self.LB = LB
22
        self.UB = UB
23
        
24
        self.Solution = []
25
        self.Fitness = float('inf')
26
        self.generateSolution()
27
28
    def generateSolution(self):
29
        self.Solution = [self.LB + (self.UB - self.LB) * rnd.random() for i in range(self.D)]
30
31
    def evaluate(self):       
32
        self.Fitness = Chromosome.FuncEval(self.D,self.Solution)        
33
    
34
    def repair(self):
35
        for i in range(self.D):
36
            if (self.Solution[i] > self.UB):
37
                self.Solution[i] = self.UB
38
            if self.Solution[i] < self.LB:
39
                self.Solution[i] = self.LB
40
    def __eq__(self,other):
41
        return self.Solution == other.Solution and self.Fitness == other.Fitness
42
43
    def toString(self):
44
        print([i for i in self.Solution])
45
46
47
class GeneticAlgorithm: