A few of us at Wisconsin are very interested in extending the abstraction in MathProgBase (MPB) to support complementarity constraints. The package https://github.com/chkwon/Complementarity.jl offers a nice way to model complementarities. It then reformulates the problem for use with standard solves. More and more solvers are starting to support explicit complementarity constraints, however. For example, KNITRO has a special barrier implementation to handle complementarities. Similarly, BARON works best by explicitly branching on complementarities. We feel the best way to handle this is by extending the abstraction in MPB. GAMS (and perhaps AMPL) allow modelers to explicitly express complementarities.
Our immediate questions:
- What is the best medium for this discussion? Is there someplace more appropriate than Discourse?
- Where is the best place for us to start on our quest? Any initial thoughts or recommendations from the MPB developers?