def test_change_objective_function(self): single_objective_heuristic = HeuristicOptimization( model=self.model, objective_function=self.single_objective_function, ) nok = number_of_knockouts() single_objective_heuristic.objective_function = nok self.assertEqual(nok, single_objective_heuristic.objective_function) self.assertFalse(single_objective_heuristic.is_mo()) self.assertRaises(TypeError, single_objective_heuristic.objective_function, self.multiobjective_function) single_objective_heuristic.objective_function = [nok] self.assertEqual(nok, single_objective_heuristic.objective_function) self.assertFalse(single_objective_heuristic.is_mo()) self.assertRaises(TypeError, single_objective_heuristic.objective_function, self.multiobjective_function) multiobjective_heuristic = HeuristicOptimization( model=self.model, objective_function=self.multiobjective_function, heuristic_method=inspyred.ec.emo.NSGA2 ) multiobjective_heuristic.objective_function = nok self.assertEqual(len(multiobjective_heuristic.objective_function), 1) self.assertEqual(multiobjective_heuristic.objective_function[0], nok) self.assertTrue(multiobjective_heuristic.is_mo())
def test_single_objective_function_with_multiobjective_initializer(self): heuristic_optimization = HeuristicOptimization( model=self.model, objective_function=self.single_objective_function, heuristic_method=inspyred.ec.emo.NSGA2 ) self.assertEqual(len(heuristic_optimization.objective_function), 1)
def test_default_initializer(self): heuristic_optimization = HeuristicOptimization( model=self.model, objective_function=self.single_objective_function ) self.assertIsNone(heuristic_optimization._generator) self.assertIsNot(heuristic_optimization.seed, SEED) self.assertEqual(heuristic_optimization.model, self.model) self.assertEqual(heuristic_optimization.objective_function, self.single_objective_function) heuristic_optimization = HeuristicOptimization( model=self.model, objective_function=self.single_objective_function, seed=SEED ) self.assertIsNone(heuristic_optimization._generator) self.assertEqual(heuristic_optimization.seed, SEED) self.assertEqual(heuristic_optimization.model, self.model) self.assertEqual(heuristic_optimization.objective_function, self.single_objective_function)
def test_multiobjective_initializer(self): heuristic_optimization = HeuristicOptimization( model=self.model, objective_function=self.multiobjective_function, heuristic_method=inspyred.ec.emo.NSGA2 ) self.assertIsNone(heuristic_optimization._generator) self.assertIsNot(heuristic_optimization.seed, SEED) self.assertEqual(heuristic_optimization.model, self.model) self.assertEqual(len(heuristic_optimization.objective_function), 2) heuristic_optimization = HeuristicOptimization( model=self.model, objective_function=self.multiobjective_function, heuristic_method=inspyred.ec.emo.NSGA2, seed=SEED ) self.assertIsNone(heuristic_optimization._generator) self.assertEqual(heuristic_optimization.seed, SEED) self.assertEqual(heuristic_optimization.model, self.model) self.assertEqual(len(heuristic_optimization.objective_function), 2)
def test_change_heuristic_method(self): single_objective_heuristic = HeuristicOptimization( model=self.model, objective_function=self.single_objective_function, ) single_objective_heuristic.heuristic_method = inspyred.ec.emo.NSGA2 self.assertTrue(single_objective_heuristic.is_mo()) self.assertEqual(len(single_objective_heuristic.objective_function), 1) multiobjective_heuristic = HeuristicOptimization( model=self.model, objective_function=self.multiobjective_function, heuristic_method=inspyred.ec.emo.NSGA2 ) self.assertRaises(TypeError, multiobjective_heuristic.heuristic_method, inspyred.ec.GA) multiobjective_heuristic.objective_function = self.single_objective_function multiobjective_heuristic.heuristic_method = inspyred.ec.GA self.assertFalse(multiobjective_heuristic.is_mo())