idol is a C++ framework for mathematical optimization and complex decision-making problems. It is designed to help you build new algorithms for solving complex optimization problems. The main philosophy behind idol is interoperability and ease of use. Hence, any algorithm can be seamlessly combined with any other algorithm to create a new one.
For instance, you can combine a branch-and-bound algorithm with a column generation algorithm to create a branch-and-price algorithm.
const auto branch_and_price = branch_and_bound + column_generation;
model.use(branch_and_price);
model.optimize();
With idol, you can also interface with your favorite solver:
- Mixed-integer optimization (Gurobi, Cplex, Mosek, HiGHS, GLPK, coin-or/Osi and julia's framework JuMP);
- Bilevel optimization (coin-or/MibS);
Visit our online documentation.
If you're interested in idol or use it for research, don't hesitate to contact me at lefebvre@uni-trier.de.