Pyomo / pyomo

An object-oriented algebraic modeling language in Python for structured optimization problems.
https://www.pyomo.org
Other
1.92k stars 499 forks source link

No documentation on Benders decomposition in Pyomo #2980

Open alexchandel opened 11 months ago

alexchandel commented 11 months ago

Summary

There seem to be many claims across the internet of using Benders decomposition in Pyomo. However, the documentation makes no mention at all on how to use Benders decomposition outside of a single passing mention in APPSI (which does not seem to support many solvers, including GAMS or BARON).

How does one / can one implement Benders decomposition in Pyomo? Please add this to the Advanced Topics of the documentation.

Information on your system

Pyomo version: 6.6.2 Python version: 3.11.4 Operating system: macOS How Pyomo was installed (PyPI, conda, source): PyPI Solver (if applicable): All

mrmundt commented 11 months ago

Hello, @alexchandel . We appreciate your suggestion! We will discuss this request and add it to our backlog for future efforts.

NOTE: There is no guarantee that we will implement all suggestions. We do, however, accept external contributions. If you are interested in expediting this request, we encourage you to review our Contribution Guide.

alexchandel commented 11 months ago

There are lots of instances of people asking about Benders decomposition on Pyomo: with Gurobi and Pyomo, with CPLEX and Pyomo, with suffixes, here, here, many others, so the enhancement seems to be heavily requested.

Here are some example attempts: in Pyomo's examples, with suffixes, by hand with AbstractModel

alexchandel commented 9 months ago

I think IDAES implements Benders decomposition too.