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_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())