Examples¶
TAG
The examples are tagged with the Benders method, solver backends, problem type, etc, to enable filtering.
Basic Examples¶
In the basic scenario, you can use the built-in Benders decomposition methods provided by BendersLib. This approach is suitable for standard problems that align with one of the predefined Benders decomposition frameworks. BendersLib offers several implementation of the Benders variants and the necessary Benders cuts and cut generators.
Combinatorial Benders using Branch-and-check Method
Advanced Examples¶
For more complex problems that do not fit the standard Benders decomposition patterns, BendersLib offers an advanced usage mode. This mode provides the flexibility to customize subproblem solver and cut generator, which are the key components of the Benders algorithm. This feature is especially useful for implementing Logic-based Benders Decomposition, as it allows the subproblem to be any type of optimization problem without a standard method for formulating Benders cuts.
L-shaped Method by Logic-based Benders Decomposition
Expert Examples¶
The expert mode in BendersLib gives you full control through callbacks. Callbacks let you insert your own code into the Benders algorithm. You can change solver settings, define custom stopping rules, or implement enhancements. This is ideal for research or for solving complex problems that need a tailored approach.
Benchmarks¶
Linear Recourse (Gurobi) / Linear Recourse (COPT): Stochastic programming problems with integer complicating variables and linear recourse.
Integer Recourse (Gurobi) / Integer Recourse (COPT): Stochastic programming problems with binary complicating variables and integer recourse.
Facility Location (Gurobi) / Facility Location (COPT): Facility location problems with custom subproblem solver and custom cut generator.
Computing IIS¶
This section contains examples demonstrating how to compute an Irreducible Infeasible Subsystem (IIS) using various solver interfaces.
Solver Usage¶
This section contains examples that demonstrate how to use the solver interfaces provided by BendersLib.
API Oriented¶
This section contains examples that demonstrate how to use the API provided by BendersLib.