Python implementation and supporting experiments for the paper:
Investigating Structural Bias in the Artificial Bee Colony Algorithm: A Systematic Analysis Kanchan Rajwar. (Under review — citation to be updated on acceptance.)
This study provides the first systematic analysis of structural bias in the canonical ABC algorithm, using the BIAS toolbox and the Generalized Signature Test (GST), and compares ABC against GA, PSO, DE, and Random Search (RS). The comparison is further extended in the paper to the contemporary metaheuristics WOA, GWO, and HHO, whose Signature-Factor results are drawn from our earlier GST study (Rajwar & Deep, Expert Systems with Applications 240 (2024) 122332, https://doi.org/10.1016/j.eswa.2023.122332).
.
├── SB_ABC.py # GST Signature-Factor (SSF) analysis: ABC, GA, PSO, DE, RS
├── center_offset_experiment/ # Center-Offset performance experiment (Section 5.2)
│ ├── abc_co_experiment.py # Paired, multi-budget Center-Offset experiment
│ ├── abc_co_plots.py # Generates the bar chart and convergence figures
│ └── README_CO_experiment.md # Details of the Center-Offset experiment
├── requirements.txt
├── LICENSE
└── README.md
git clone https://github.com/kanchan999/SB_ABC.git
cd SB_ABC
pip install -r requirements.txt
Requires Python 3.9+.
Computes the Sequence of Signature Factors (SSF) — the per-iteration ratio of empty grid cells (η) on the neutral landscape f0 — for ABC, GA, PSO, DE, and Random Search, and plots them for comparison.
python SB_ABC.py
Three parameters are sensitive for the GST and can be set near the top of the file:
- pop_size (line 15) — population size N
- dimensions (line 16) — search-space dimension D
- grid_cells (line 42) — number of grid divisions per axis
The script saves the SSF comparison plot to output.png.
Demonstrates the performance signature of ABC's center bias: under a constrained budget, accuracy degrades symmetrically with the optimum's distance from the center of the search space.
cd center_offset_experiment
python abc_co_experiment.py # writes summary + convergence data
python abc_co_plots.py # writes the figures
See center_offset_experiment/README_CO_experiment.md for full details. All experiments are seeded for reproducibility.
If you find this code useful in your research, please cite the paper:
@article{rajwar_abc_structural_bias,
title = {Investigating Structural Bias in the Artificial Bee Colony Algorithm: A Systematic Analysis},
author = {Rajwar, Kanchan},
journal = {Applied Soft Computing},
year = {2026},
note = {Under review; citation to be updated on acceptance}
}
Please also consider citing the methodology reference (the Generalized Signature Test):
@article{rajwar2024gst,
title = {Uncovering structural bias in population-based optimization algorithms: A theoretical and simulation-based analysis of the Generalized Signature Test},
author = {Rajwar, Kanchan and Deep, Kusum},
journal = {Expert Systems with Applications},
volume = {240},
pages = {122332},
year = {2024},
doi = {10.1016/j.eswa.2023.122332}
}
Kanchan Rajwar — krajwar@ma.iitr.ac.in Department of Mathematics, Indian Institute of Technology Roorkee, India
Released under the MIT License (see LICENSE).
That's one continuous block — select from # Structural Bias... down to ...(see LICENSE). in a single drag, paste into TextEdit, save, close.
Remember: in TextEdit, do Format → Make Plain Text (Cmd-Shift-T) before saving so it writes plain markdown, not RTF. The indented code blocks (4 spaces) render correctly as code on GitHub, so the formatting will still look professional.