def __init__(self, **kwargs): Algorithm.__init__(self, name='FireflyAlgorithm', sName='FA', **kwargs)
def setUp(self): self.a = Algorithm()
def __init__(self, **kwargs): if kwargs.get('name', None) == None: Algorithm.__init__(self, name='KrillHerd', sName='KH', **kwargs) else: Algorithm.__init__(self, **kwargs)
def getParameters(self): d = Algorithm.getParameters(self) d.update({'delta': self.delta, 'Neighborhood': self.Neighborhood}) return d
def __init__(self, **kwargs): Algorithm.__init__(self, name='SineCosineAlgorithm', sName='SCA', **kwargs)
def initPopulation(self, task): pop, fpop, d = Algorithm.initPopulation(self, task) d.update({'S': zeros((self.NP, task.D))}) return pop, fpop, d
def test_algorithm_getParameters_fine(self): r"""Check if method works fine.""" algo = Algorithm() params = algo.getParameters() self.assertIsNotNone(params)
def test_type_parameters_fine(self): d = Algorithm.typeParameters() self.assertIsNotNone(d)
def setUp(self): self.seed = 1 self.rnd = rnd.RandomState(self.seed) self.a = Algorithm(seed=self.seed)
def test_algorithm_info_fine(self): r"""Check if method works fine.""" i = Algorithm.algorithmInfo() self.assertIsNotNone(i)
class AlgorithBaseTestCase(TestCase): r"""Test case for testing Algorithm class. Date: April 2019 Author: Klemen Berkovič Attributes: seed (int): Starting seed of random generator. rnd (mtrand.RandomState): Random generator. a (Algorithm): Algorithm to use for testing. See Also: * :class:`NiaPy.algorithms.Individual` """ def setUp(self): self.seed = 1 self.rnd = rnd.RandomState(self.seed) self.a = Algorithm(seed=self.seed) def test_algorithm_info_fine(self): r"""Check if method works fine.""" i = Algorithm.algorithmInfo() self.assertIsNotNone(i) def test_algorithm_getParameters_fine(self): r"""Check if method works fine.""" algo = Algorithm() params = algo.getParameters() self.assertIsNotNone(params) def test_type_parameters_fine(self): d = Algorithm.typeParameters() self.assertIsNotNone(d) def test_init_population_numpy_fine(self): r"""Test if custome generation initialization works ok.""" a = Algorithm(NP=10, InitPopFunc=init_pop_numpy) t = Task(D=20, benchmark=MyBenchmark()) self.assertTrue( array_equal(full((10, t.D), 0.0), a.initPopulation(t)[0])) def test_init_population_individual_fine(self): r"""Test if custome generation initialization works ok.""" a = Algorithm(NP=10, InitPopFunc=init_pop_individual, itype=Individual) t = Task(D=20, benchmark=MyBenchmark()) i = Individual(x=full(t.D, 0.0), task=t) pop, fpop, d = a.initPopulation(t) for e in pop: self.assertEqual(i, e) def test_setParameters(self): self.a.setParameters(t=None, a=20) self.assertRaises(AttributeError, lambda: self.assertEqual(self.a.a, None)) def test_randint_fine(self): o = self.a.randint(Nmax=20, Nmin=10, D=[10, 10]) self.assertEqual(o.shape, (10, 10)) self.assertTrue(array_equal(self.rnd.randint(10, 20, (10, 10)), o)) o = self.a.randint(Nmax=20, Nmin=10, D=(10, 5)) self.assertEqual(o.shape, (10, 5)) self.assertTrue(array_equal(self.rnd.randint(10, 20, (10, 5)), o)) o = self.a.randint(Nmax=20, Nmin=10, D=10) self.assertEqual(o.shape, (10, )) self.assertTrue(array_equal(self.rnd.randint(10, 20, 10), o)) def test_randn_fine(self): a = self.a.randn([1, 2]) self.assertEqual(a.shape, (1, 2)) self.assertTrue(array_equal(self.rnd.randn(1, 2), a)) a = self.a.randn(1) self.assertEqual(len(a), 1) self.assertTrue(array_equal(self.rnd.randn(1), a)) a = self.a.randn(2) self.assertEqual(len(a), 2) self.assertTrue(array_equal(self.rnd.randn(2), a)) a = self.a.randn() self.assertIsInstance(a, float) self.assertTrue(array_equal(self.rnd.randn(), a)) def test_uniform_fine(self): a = self.a.uniform(-10, 10, [10, 10]) self.assertEqual(a.shape, (10, 10)) self.assertTrue(array_equal(self.rnd.uniform(-10, 10, (10, 10)), a)) a = self.a.uniform(4, 10, (4, 10)) self.assertEqual(len(a), 4) self.assertEqual(len(a[0]), 10) self.assertTrue(array_equal(self.rnd.uniform(4, 10, (4, 10)), a)) a = self.a.uniform(1, 4, 2) self.assertEqual(len(a), 2) self.assertTrue(array_equal(self.rnd.uniform(1, 4, 2), a)) a = self.a.uniform(10, 100) self.assertIsInstance(a, float) self.assertEqual(self.rnd.uniform(10, 100), a) def test_normal_fine(self): a = self.a.normal(-10, 10, [10, 10]) self.assertEqual(a.shape, (10, 10)) self.assertTrue(array_equal(self.rnd.normal(-10, 10, (10, 10)), a)) a = self.a.normal(4, 10, (4, 10)) self.assertEqual(len(a), 4) self.assertEqual(len(a[0]), 10) self.assertTrue(array_equal(self.rnd.normal(4, 10, (4, 10)), a)) a = self.a.normal(1, 4, 2) self.assertEqual(len(a), 2) self.assertTrue(array_equal(self.rnd.normal(1, 4, 2), a)) a = self.a.normal(10, 100) self.assertIsInstance(a, float) self.assertEqual(self.rnd.normal(10, 100), a)
def getParameters(self): d = Algorithm.getParameters(self) d.pop('NP', None) d.update({'N': self.NP, 'pa': self.pa, 'alpha': self.alpha}) return d
def __init__(self, **kwargs): Algorithm.__init__(self, **kwargs) self.LSs = [MTS_LS1, MTS_LS2, MTS_LS3]
def setParameters(self, **ukwargs): r"""Set the algorithm parameters/arguments.""" Algorithm.setParameters(self, **ukwargs)
def test_init_population_numpy_fine(self): r"""Test if custome generation initialization works ok.""" a = Algorithm(NP=10, InitPopFunc=init_pop_numpy) t = Task(D=20, benchmark=MyBenchmark()) self.assertTrue(array_equal(full((10, t.D), 0.0), a.initPopulation(t)[0]))