Skip to content

kklimas/simple-genetic-algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Genetic Algorithm Simulation

A Python application for running genetic algorithm simulations with configurable parameters.

Project Structure

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

Installation

  1. Create a virtual environment:
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt

Usage

Run the application (launches the Tkinter UI):

python main.py

Saving Results

See detailed documentation for automatic results export in RESULTS_SAVER_USAGE.md.

Module Dependencies

  • 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

Dependencies

  • benchmark-functions (via PyPI) – optimization benchmark functions
  • matplotlib – plotting in the UI
  • tkinter – built-in Python GUI library (comes with CPython on most platforms)

About

Implementation of the Simple Genetic Algorithm (SGA) with UI to configure parameters

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages