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"])
Пример #3
0
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)