This project focuses on enhancing the dual annealing optimization algorithm implemented in the SciPy library. The algorithm resembels of a memetic climbing algorithm, and implemented in Python is designed for optimization tasks and incorporates local search with hill climbing.
main.py: This is the main script to run the improved dual annealing algorithm.MemeticClimbing.py: This script contains the implementation of the Memetic Climbing technique, which is used to enhance the performance of the dual annealing algorithm.CEC2022.py: This file includes benchmarks from the CEC2022 competition. Note that this file is not authored by us and is included for benchmarking purposes only https://github.com/P-N-Suganthan/2022-SO-BO.test.py: A test file where users can modify it for experimenting with other evaluation objectives.
Ensure you have Python and SciPy installed.
-
Import the memetic_climbing function from the Memetic_Climbing.py file into your Python script:
from Memetic_Climbing import memetic_climbing -
Define your objective function to be optimized. Ensure that it takes a numpy array as input and returns a scalar value.
-
Define the bounds for the optimization problem as a list of tuples, where each tuple represents the lower and upper bounds for each dimension.
-
Call the memetic_climbing function with your objective function, bounds, and any additional parameters you want to specify.
-
Optionally, you can modify the Test.py file to experiment with different evaluation objectives.