def test_find_glocal_minimum_for_michaelwicz_function(self): michaelwicz_function_wrapper = MichaelwiczFunctionWrapper() number_of_variables = 2 objective = "minimization" simplified_particle_swarm_optimization = SimplifiedParticleSwarmOptimization( michaelwicz_function_wrapper, number_of_variables, objective) number_of_particiles = 20 number_of_iterations = 15 social_coefficient = 0.5 random_variable_coefficient = 0.2 result = simplified_particle_swarm_optimization.search( number_of_particiles=number_of_particiles, number_of_iterations=number_of_iterations, social_coefficient=social_coefficient, random_variable_coefficient=random_variable_coefficient) self.assertAlmostEqual(result["best_decision_variable_values"][0], 2.1701, delta=1) self.assertAlmostEqual(result["best_decision_variable_values"][1], 1.5703, delta=1) self.assertAlmostEqual(result["best_objective_function_value"], -1.7843, delta=1)
def execute_simplified_particle_swarm_optimization(args): objective_function = instantiate_objective_function(args.objective_function) from metaheuristic_algorithms.simplified_particle_swarm_optimization import SimplifiedParticleSwarmOptimization simplified_particle_swarm_optimization = SimplifiedParticleSwarmOptimization(objective_function, args.number_of_variables, args.objective) result = simplified_particle_swarm_optimization.search(number_of_particiles = args.number_of_particiles, number_of_iterations = args.number_of_iterations, social_coefficient = args.social_coefficient, random_variable_coefficient = args.random_variable_coefficient) print('best_decision_variable_values=', result["best_decision_variable_values"]) print('best_objective_function_value=', result["best_objective_function_value"])
def execute_simplified_particle_swarm_optimization(args): objective_function = instantiate_objective_function( args.objective_function) from metaheuristic_algorithms.simplified_particle_swarm_optimization import SimplifiedParticleSwarmOptimization simplified_particle_swarm_optimization = SimplifiedParticleSwarmOptimization( objective_function, args.number_of_variables, args.objective) result = simplified_particle_swarm_optimization.search( number_of_particiles=args.number_of_particiles, number_of_iterations=args.number_of_iterations, social_coefficient=args.social_coefficient, random_variable_coefficient=args.random_variable_coefficient) print('best_decision_variable_values=', result["best_decision_variable_values"]) print('best_objective_function_value=', result["best_objective_function_value"])
def test_find_glocal_minimum_for_michaelwicz_function(self): michaelwicz_function_wrapper = MichaelwiczFunctionWrapper() number_of_variables = 2 objective = "minimization" simplified_particle_swarm_optimization = SimplifiedParticleSwarmOptimization(michaelwicz_function_wrapper, number_of_variables, objective) number_of_particiles = 20 number_of_iterations = 15 social_coefficient = 0.5 random_variable_coefficient = 0.2 result = simplified_particle_swarm_optimization.search(number_of_particiles = number_of_particiles, number_of_iterations = number_of_iterations, social_coefficient = social_coefficient, random_variable_coefficient = random_variable_coefficient) self.assertAlmostEqual(result["best_decision_variable_values"][0], 2.1701, delta = 1) self.assertAlmostEqual(result["best_decision_variable_values"][1], 1.5703, delta = 1) self.assertAlmostEqual(result["best_objective_function_value"], -1.7843, delta = 1)