Introduction
Hint
This is OptFrame Python project, so for OptFrame C++ please see OptFrame on GitHub
OptFrame is a framework for modeling and solving challenging optimization problems via (meta)-heuristic techniques. It is developed in modern C++ and ported to Python, aiming to provide both high computational efficiency and easy of use. The project has started in 2008 at Universidade Federal de Ouro Preto (UFOP) and considerably improved since then. Several master and PhD thesis have been developed on it, mostly at the Computing Institute of Universidade Federal Fluminense (UFF). Its latest version v5 has been under development in 2022, with the introduction of several functional programming features and C++11/14/17/20 capabilities.
OptFrame supports several state-of-the-art metaheuristics, such as:
Genetic Algorithm and Evolution Strategies
Iterated Local Search (ILS)
And also multi-objective optimization metaheuristics, such as NSGA-II.
Hint
The theoretical background behind OptFrame modeling is better described on OptFrame C++, please see OptFrame C++ Concepts on ReadTheDocs
Hint
OptFrame C++ heavily uses templates, but manages to support this Python project by means of the abstraction OptFrame C++ Functional Core
If you have already installed OptFrame, you can jump to quick start to see how it works on practice.
Acknowledgements
OptFrame has been developed with ♥, thanks to many contributors and advices from brillant minds from academia. Several researchers worldwide have contributed with ideas that represent the core of OptFrame, specially:
Marcone Jamilson Freitas Souza (for metaheuristic teaching and support)
Nenad Mladenovic (for great works on neighborhood exploration)
Luiz Satoru Ochi (for metaheuristic teaching and support)
Thibaut Lust (for great ideas on multi-objective optimization)
El-Ghazali Talbi (for great books on metaheuristics and optimization)
Contributors
Several contributors made this possible, please refer to the CONTRIBUTORS file on OptFrame C++ project on GitHub.
This project is currently maintained by Igor M. Coelho.
License
Project is free, and source code is dual licensed under LGPLv3 copyleft license and permissive MIT license.
Some side projects such as Scanner++ are released under MIT License.
See complete license.