Python-Based
Modular implementation using Python for flexible objective function definition.
This project implements a Many-Objective Cooperative Bat Searching Algorithm, a nature-inspired metaheuristic used for optimizing complex problems with multiple, often conflicting, objective functions.
The algorithm is based on the echolocation behavior of microbats. In this cooperative variant, the swarm is designed to handle “many-objective” problems, where the goal is to find a set of optimal solutions (Pareto front) across a high-dimensional objective space.
Python-Based
Modular implementation using Python for flexible objective function definition.
Swarm Dynamics
Simulates complex group behaviors including velocity updates and local search near the current best solutions.
Many-Objective Support
Designed specifically to handle optimization problems with more than three objectives.
Performance Plotting
Built-in support for visualizing fitness optimization and convergence over time.
numpymatplotlibInstall dependencies:
pip install -r requirements.txtDefine Objectives
Modify Objective.py to specify the mathematical functions you wish to optimize.
Configure Swarm
Adjust bat population and iteration counts in Main.py.
Execute
python Main.pyBat.py: Defines the individual agent’s state (position, velocity, frequency).Swarm.py: Manages the collection of bats and the cooperative logic.EA.py: Contains the Evolutionary Algorithm framework and selection operators.Objective.py: Repository of benchmark functions and custom optimization targets.