/OTL

A C++ template library for multi-objective optimization

Primary LanguageC++GNU Lesser General Public License v3.0LGPL-3.0

Optimization Template Library (OTL)

OTL is a cross-platform C++ template library for multi-objective optimization, and the type of decision variable can be any data structures. The OTL contains various ready-to-use modules (multi-objective optimization problems (MOPs), operators, optimization algorithms, and quality indicators), which can be arbitrarily combined through a unified interface. Since generic programming is adopted in the OTL, the optimization algorithms can be used to solve the MOPs of different encodings.

The goal of the OTL is to implement various modules for multi-objective optimization and maximize their running efficiency. However, it does not provide an experimental platform or any engineering project, because the C++ has a low development efficiency. To improve the development efficiency, a feasible solution is using Python. The project PyOTL is created to convert C++ programs of the OTL into Python modules, which are used to implement the project PyOptimization to carry out scientific experiments.

Notably, since the standard C++11 is used in the OTL, please check if your compiler supports it.

License

This project is released as the open source software with the GNU Lesser General Public License version 3 (LGPL v3).

Acknowledgements

OTL is originated in professor Jinhua Zheng's lab since 2009. Professor Jinhua Zheng is my master's and doctoral tutor. I'm grateful for his support to let me spend 6 years to develop this project.

The following tool and library are used in this project:

Related Works