0

I'm implementing LP-relaxaction based algorithm for solving Prize Collecting Steiner Tree problem. In fact, this problem is equivalent to ILP problem with exponentially many constraints. In the algorithm proposed in http://www.siam.org/meetings/alenex05/papers/06iljubic.pdf they start from LP-relaxation problem with relatively small number of constraints and then introduce new at every CUT step. Is there any package that allows to implement it in Python?

ivan
  • 311
  • 1
  • 4
  • 13
  • 1
    These are often called **lazy constraints**. The commercial solvers [Gurobi](http://www.gurobi.com/) and [Cplex](https://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/) offer nice API's (and might be free for academic use). The only open-source solver with support for these i know, is [scip](http://scip.zib.de/) (open-source, but not free for commercial use i think!). These constraints might be supported in it's [python-API](https://github.com/SCIP-Interfaces/PySCIPOpt) with an example @```examples/finished/lotsizing_lazy.py``` – sascha Sep 15 '16 at 18:33
  • 1
    It's also possible that i misunderstood your use-case and you don't want lazy-constraints, but user-cuts. Read [this nice article](http://orinanobworld.blogspot.de/2012/08/user-cuts-versus-lazy-constraints.html) about the difference. I'm pretty sure every solver supporting lazy-constraints also support user-cuts. – sascha Sep 15 '16 at 18:37

0 Answers0