A Python application for running genetic algorithm simulations with configurable parameters.
p1/
├── src/ # Main source code
│ ├── __init__.py
│ ├── core/ # Core genetic algorithm components
│ │ ├── __init__.py
│ │ ├── cost_function.py
│ │ ├── crossing.py
│ │ ├── inversion.py
│ │ ├── mutation.py
│ │ ├── results_saver.py
│ │ ├── selection.py
│ │ ├── simulation.py
│ │ └── unit.py
│ ├── ui/ # User interface components
│ │ ├── __init__.py
│ │ └── simulation_ui.py
│ └── config/ # Configuration management
│ ├── __init__.py
│ ├── cost_function_config.py
│ ├── crossing_config.py
│ ├── general_config.py
│ ├── inversion_config.py
│ ├── mutation_config.py
│ ├── selection_config.py
│ └── simulation_config.py
├── main.py # Application entry point (launches Tkinter UI)
├── requirements.txt # Direct dependencies (human-maintained)
├── requirements.lock.txt # Fully pinned deps (auto-generated, optional)
└── README.md # This file
- Create a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txtRun the application (launches the Tkinter UI):
python main.pySee detailed documentation for automatic results export in RESULTS_SAVER_USAGE.md.
- src/core/: Contains core genetic algorithm logic (chromosome, cost functions)
- src/ui/: Contains user interface components (tkinter-based)
- src/config/: Contains configuration classes and validation
- main.py: Application entry point with minimal dependencies
benchmark-functions(via PyPI) – optimization benchmark functionsmatplotlib– plotting in the UItkinter– built-in Python GUI library (comes with CPython on most platforms)