About¶
BendersLib (https://benders.dev) is a Python library that supports a range of Benders decomposition variants, including Classical Benders Decomposition, Combinatorial Benders Decomposition, L-shaped Method, Integer L-shaped Method, Generalized Benders Decomposition, and Logic-based Benders Decomposition. While BendersLib provides built-in implementations of these methods, it is designed to be extensible. Users can implement custom Benders decomposition methods by customizing subproblem solvers and cut generators, and defining callback functions for enhancement strategies. BendersLib is solver agnostic and has built-in interfaces for popular Mathematical Programming and Constraint Programming solvers. Its support for rapid prototyping and high extensibility are designed to meet the needs of both researchers and practitioners in Operations Research and related fields.
Documentation |
|
GitHub Repository |
|
PyPI Package |
|
Paper |
Contributors¶
BendersLib was created by Peng-Hui Guo (“郭鹏辉” in Chinese, https://guo.ph), who holds a PhD in Management Science and Engineering from Nanjing University of Aeronautics and Astronautics (NUAA), China.
Before developing BendersLib, Peng-Hui Guo had published research papers on Benders decomposition in journals such as Naval Research Logistics, IISE Transactions, and European Journal of Operational Research. His PhD thesis, titled “Optimal Preparation and Distribution of Humanitarian Supplies by Stochastic Programming and Decomposition Algorithms”, applied Benders decomposition to humanitarian logistics and supply chain management.
Contributions to BendersLib are welcome! If you would like to contribute, please visit Contributing for more information.
License¶
BendersLib is licensed under the Apache-2.0 License.
Logo¶
Logo (horizontal)
Logo (vertical)