Introduction

OptFrame is a framework for modeling and solving challenging optimization problems via (meta)-heuristic techniques. It is developed in modern C++, 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 v4 has been released in 2020, 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:

And also multi-objective optimization metaheuristics, such as NSGA-II.

The theoretical background behind OptFrame modeling will be described in details in concepts section. Every OptFrame component can be specialized for the problem at hand, to achieve maximum performance during search. This caused OptFrame users (up to v3) to have several files in a single project, that required some extra setup to start new projects. Since v4, we provide OptFrame Functional Core (FCore) abstractions, so that the intended metaheuristic can be implemented in a few lines of C++ code.

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 project on GitHub.

This project is currently maintained by Igor M. Coelho and Vitor N. Coelho.

License

Project is free, and source code is released under LGPLv3 copyleft license.

Some side projects such as Scanner++ are released under MIT License.

See complete license.