The following repository contains the codebase for the research:
Comparative Analysis of Bio-Inspired Algorithms for Disaster Recovery based on Historic Tsunami Data ... which was presented at the 55th Mini Conference at the University of Electro-Communications (UEC), Tokyo, Japan on Apr. 13th, 2026 by F. L. Nerlich.
If you refer to this project or the special Cuckoo-Search approach, please use the following citations:
APA
Nerlich, F. L., & Yamamoto, K. (2026, April 13). Comparative Analysis of Bio-Inspired Algorithms for Disaster Recovery based on Historic Tsunami Data. 55th Mini Conference.
BibTeX
@conference{nerlich2026miniconf,
author = {Nerlich, Finn Leander and Yamamoto, Kayoko}
title = {Comparative Analysis of Bio-Inspired Algorithms for Disaster Recovery based on Historic Tsunami Data},
booktitle = {55th Mini Conference},
year = {2026},
month = apr,
day = {13},
address = {Tokyo, Japan},
organization = {The University of Electro-Communications (UEC)}
}This codebase contains the implementation used for the comparative analysis of bio-inspired algorithms for the application to Traveling Deliveryman Problems with Deadlines (TDPDL), which are used to model historic tsunami arrivals in Kochi.
This repository contains an implementation of:
- 🌱 A classic simple Genetic Algorithm (GA)
- 🐜 Ant Colony Optimization (ACO)
- 🐦 Traditional discrete Cuckoo-Search (DCS)
- 🦅 A custom, more advanced discretized Cuckoo-Search (CDCS)
The CDCS uses a novel approach to discretize the Lévy-Flight using Mantegna's algorithm to map to discrete operators.
All of the algorithms use the Traveling Deliveryman Problem (TDP)-model under the hood to interface with the problem instance and unify methods and metrics for comparison. The tdp-class (tdp.py) itself creates a logfile *.binlog which writes pure binary for performance reasons. The logfile can be analyzed after execution for various analysis of the different algorithms. The tools are also given in this repo (see below or docs).
1. Create a virtual environment:
python -m venv venv2. Activate the virtual environment:
- Windows:
venv\Scripts\activate - Linux/Mac:
source venv/bin/activate
3. Install the requirements:
pip install -r requirements.txt4. Run the benchmark:
python main.py5. Analyze Results:
- Quick Analysis: Check the
*.pngfiles generated in theresultsfolder. - Advanced Analysis: Run
report.pygiven the just produced output folder. The output ofreport.pywill be located under<results_dir>/report.
If you want to use the video generation features, the ffmpeg executable must be placed in the project root. You can download it and find installation instructions here: Download FFmpeg.
- ⚙️
main.py: Used to run the algorithm benchmarks. - 🏗️
tdp.py: Metrics and problem modeling; needs a dataset in thedatasets-folder generated bydataset.py. - 🗺️
dataset.py: Generation of custom datasets based on Bousaimap and OpenStreetMaps data (supported by the Tsunami and Map APIs inmap_api.pyandtsunami_api.py). Can also convert PotvinBengio-datasets to compatible problems. - 👁️
visualizer.py: Quick insight into*.binlog-files. - 📊
report.py: Advanced analysis as shown in the slides in thepresentation_materials-folder.
This project was created with the responsible assistance from AI tools. All important core parts involved in the data creation process, not only but explicitly including tdp.py and the algorithms, were carefully developed and designed by hand. Given the main structure and code of those functions AI-tools were used for debugging functions to measure and improve performance and code-readability (which could cause AI-fingerprints in those functions as well). Given this, generative AI was mostly used for styling of matplot functions for the presentation attached in the presentation_material-folder and for efficiently documenting the project itself (see docs). All the content of this project, especially AI supported parts, were carefully reviewed and edited by the author (a human). If you find any remaining issues, like hallucinations or unclear or useless comments ramining from the AI-usage, please open a PR or inform the author to correct those issues. AI is a tool, not a creator.
"And as for wisdom, your pupils will have the reputation for it without the reality: They will receive a quantity of information without proper instruction."
~ Plato (quoting Socrates's parable of King Thamus in the Phaedrus)
Given the limited time of the project, some parts can easily be optimized or written more clearly. Please feel free to open a Pull Request (PR) and I will mention your name in the credits. When opening a PR, please follow general contribution guidelines.
Questions? Bug found? Something unclear? Please open an issue or create a Pull-Request (PR).
For other concerns, like raw datasets, collaborations, or similar, please contact me on LinkedIn.
- The author was supported by the JASSO Scholarship during the research period.
- This research was conducted with the help of Kayoko Yamamoto and the lab members. Thank you very much for your patience and kindness!
- The research would not exist without the UEC Exchange Study Program (JUSST Program) of the University of Electro-Communications (UEC), Tokyo, Japan.
This program is published under the GPL v3 License.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
[1] G. K. Jati, H. M. Manurung, and Suyanto, “Discrete cuckoo search for traveling salesman problem,” in 2012 7th international conference on computing and convergence technology (ICCCT), 2012, pp. 993–997.
[2] X.-S. Yang and S. Deb, “Cuckoo search via lévy flights,” in 2009 world congress on nature & biologically inspired computing (NaBIC), 2009, pp. 210–214. doi: 10.1109/NABIC.2009.5393690.
[3] M. Dorigo, V. Maniezzo, and A. Colorni, “Ant System: Optimization by a colony of cooperating agents,” IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), vol. 26, pp. 29–41, Feb. 1996, doi: 10.1109/3477.484436.
[4] Ramez Shendy, “Traveling Salesman Problem (TSP) using Genetic Algorithm (Python) | by Ramez Shendy.” Accessed: Jan. 24, 2026. [Online]. Available: Medium Article