How demas-george/algorithms-matlab-python works
This repository is a Python/MATLAB suite of 35 nature-inspired optimization algorithms with a standardized benchmark and comparison workflow. A user configures a problem, runs one or more optimizers over independent trials, and reviews per-algorithm statistics, convergence histories, plots, and Excel reports; the comparison tool aggregates saved workbooks into a leaderboard and overlaid convergence plot. The graph follows README-documented workflow where runner internals were not sampled; source excerpts substantiate the problem harness, comparison reader, and APO implementation. MATLAB coverage is represented at its documented source-tree level.
Main entry points: problem.py Problem harness · run.py Single runner · run_all_algorithms.py Batch runner · compare_algorithms.py Comparison aggregator
Components 12
Experiment execution
- Single runner
algorithms (Python)/run.py - Batch runner
algorithms (Python)/run_all_algorithms.py - Problem harness
algorithms (Python)/problem.py
Optimization methods
- 35 Python optimizers
algorithms (Python)
Results and analysis
- Run reports
- Comparison aggregator
algorithms (Python)/compare_algorithms.py - Leaderboard and plot
Platform implementations
- APO CEC runner
Sources(MATLAB)/Artificial Protozoa Optimizer (APO)/Artificial Protozoa Optimizer/APO-CEC2022-Python/APO.py - APO variant
Sources(MATLAB)/Artificial Protozoa Optimizer (APO)/Artificial Protozoa Optimizer/APO-CEC2022-Python/APOwr.py - CEC2022 functions
Sources(MATLAB)/Artificial Protozoa Optimizer (APO)/Artificial Protozoa Optimizer/APO-CEC2022-Matlab/cec22_test_func.cpp - MATLAB sources
Sources(MATLAB)
Other components
- Research user
Connections 15
- Research user → Single runner: runs one
- Research user → Batch runner: runs suite
- Single runner → Problem harness: runs experiment
- Batch runner → Problem harness: runs experiments
- Single runner → 35 Python optimizers: selects optimizer
- Batch runner → 35 Python optimizers: dispatches algorithms
- 35 Python optimizers → Problem harness: evaluates candidates
- Problem harness → Run reports: writes reports
- Research user → APO CEC runner: runs CEC study
- APO CEC runner → CEC2022 functions: evaluates candidates
- APO variant → CEC2022 functions: evaluates candidates
- MATLAB sources → Research user: provides implementations
- Research user → Comparison aggregator: requests comparison
- Comparison aggregator → Run reports: reads workbooks
- Comparison aggregator → Leaderboard and plot: writes summary