Skip to main content

A Bender's decomposition library.

Project description

BendersLib: a Benders decomposition library

 ____                       __                        __           __        
/\  _`\                    /\ \                      /\ \       __/\ \       
\ \ \L\ \     __    ___    \_\ \     __   _ __   ____\ \ \     /\_\ \ \____  
 \ \  _ <'  /'__`\/' _ `\  /'_` \  /'__`\/\`'__\/',__\\ \ \  __\/\ \ \ '__`\ 
  \ \ \L\ \/\  __//\ \/\ \/\ \L\ \/\  __/\ \ \//\__, `\\ \ \L\ \\ \ \ \ \L\ \
   \ \____/\ \____\ \_\ \_\ \___,_\ \____\\ \_\\/\____/ \ \____/ \ \_\ \_,__/
    \/___/  \/____/\/_/\/_/\/__,_ /\/____/ \/_/ \/___/   \/___/   \/_/\/___/ 

BendersLib is a Benders decomposition library written in Python.

Supported Benders decomposition variants:

  • Classical Benders decomposition
  • Combinatorial Benders decomposition
  • Generalized Benders decomposition
  • Logic-based Benders decomposition

1. Classical Benders decomposition

Classical Benders decomposition (BD) solves mixed-integer linear programming (MILP) with linear mixed-integer master problem and linear continues sub problem.

2. Combinatorial Benders decomposition

Combinatorial Benders decomposition (CBD) can handle 0-1 integer master problem and feasibility checking subproblem (a programming with objective function be set to 0).

3. Generalized Benders decomposition

Generalized Benders decomposition (GBD) solves nonlinear programming for which the subproblem is a convex program.

4. Logic-based Benders decomposition

Logic-based Benders decomposition (LBBD) can be used for problems which can be decomposed into any type of master and sub problem.


Reference

  1. Benders, J.F., 1962. Partitioning procedures for solving mixed-variables programming problems. Numer. Math. 4, 238–252. https://doi.org/10.1007/BF01386316
  2. Codato, G., Fischetti, M., 2006. Combinatorial Benders’ Cuts for Mixed-Integer Linear Programming. Operations Research 54, 756–766. https://doi.org/10.1287/opre.1060.0286
  3. Geoffrion, A.M., 1972. Generalized Benders decomposition. J Optim Theory Appl 10, 237–260. https://doi.org/10.1007/BF00934810
  4. Hooker, J.N., Ottosson, G., 2003. Logic-based Benders decomposition. Math. Program., Ser. A 96, 33–60. https://doi.org/10.1007/s10107-003-0375-9
  5. Rahmaniani, R., Crainic, T.G., Gendreau, M., Rei, W., 2017. The Benders decomposition algorithm: A literature review. European Journal of Operational Research 259, 801–817. https://doi.org/10.1016/j.ejor.2016.12.005

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

BendersLib-0.0.1.tar.gz (2.2 kB view details)

Uploaded Source

Built Distribution

BendersLib-0.0.1-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file BendersLib-0.0.1.tar.gz.

File metadata

  • Download URL: BendersLib-0.0.1.tar.gz
  • Upload date:
  • Size: 2.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for BendersLib-0.0.1.tar.gz
Algorithm Hash digest
SHA256 04d4f3dfca556bac4def6c3e8fcbfec13a0a4890691a78296b8395c566732764
MD5 c31df7616d715e0ec73326f6fa1051b5
BLAKE2b-256 98d73a5db366e0dfcdd1259ce63bfd679ad0c4be52768f0595ee974a8fdb54ac

See more details on using hashes here.

File details

Details for the file BendersLib-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: BendersLib-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for BendersLib-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cf03a2860f4dcb1b9f046bf11d9857630bf2b86cb285eb3493733180e2c01704
MD5 54bf084b053668743bc4da2ce4ca67d8
BLAKE2b-256 42a411d4cf4d83848f800e0d3463bee8b578a8c8132adbdbf6509fa8bd996945

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page