A Python framework for optimization algorithms developed by Team 11.
To set up the project, follow these steps:
-
Clone the repository:
git clone https://github.com/CatalinButacu/OCS_FRAMEWORK.git cd TUIASI_OCS_TEAM11_2025 -
Create a virtual environment (optional but recommended):
python -m venv venv
-
Activate the virtual environment:
On Windows:
venv\Scripts\activate
On macOS/Linux:
source venv/bin/activate -
Install dependencies:
pip install -r requirements.txt
-
Install the framework in editable mode:
pip install -e .This ensures that changes to the framework code are reflected immediately.
To run the example scripts located in the examples folder, use the following command:
python examples/example_canonical_ga.pyYou can import the framework in your scripts like this:
from framework.algorithms.canonical_ga import CGA, CGAAdaptiveV2, CGAGreedyTUIASI_OCS_TEAM11_2025/
├── examples/ # Example scripts sample of using library
│ └── example_canonical_ga.py
├── framework/ # Core framework code
│ ├── algorithms/ # Optimization algorithms
│ │ ├── random_search/ # Stochastic Optimization Algorithm
│ │ ├── canonical_ga/ # Classic Genetic Algorithm
│ │ ├── real_ga/ # Real-Valued Genetic Algorithm
│ │ └── differential_evolution/ # Differential Evolution Algorithm
│ ├── benchmarks/ # Definition of benchmark functions
│ └── utils/ # Utility functions
├── results/ # Benchmark results
│ ├── csv/ # CSV data
│ └── images/ # Visualizations
├── test/ # Test integrity of framework components
├── config_test_run.py # Change configuration of running test
├── run_benchmark.py # Run benchmarks
├── view_results.py # Generate visualizations
├── requirements.txt # Project dependencies
├── setup.py # Package installation script
└── README.md # This file
Benchmark results, including CSV files and visualizations, are stored in the following location:
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m "Add your message here" - Push to the branch:
git push origin feature/your-feature-name
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.