sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.32k stars 453 forks source link

add support for retrieving multiple solutions (solution pool) from MILP solvers #34183

Open maxale opened 2 years ago

maxale commented 2 years ago

Some MILP solvers support computing multiple solutions (called solution pool) to a given MILP problem, but Sage lacks the ability to retrieve more than one solution from the solver (the existing .solve() method produces only one solution).

Here is some info on how multiple solutions can be produced in Gurobi and CPLEX solvers:

Component: linear programming

Issue created by migration from https://trac.sagemath.org/ticket/34183

mkoeppe commented 2 years ago
comment:1

The most likely route for Sage to improve its MIP interface is to go through CVXPY (https://github.com/sagemath/sage-prod/issues/33920).

So a good step would be to investigate whether CVXPY provides this feature and if not, to work on getting it added.

mkoeppe commented 2 years ago

Description changed:

--- 
+++ 
@@ -4,4 +4,9 @@

 - Gurobi: https://www.gurobi.com/documentation/9.5/refman/finding_multiple_solutions.html

+  - https://github.com/sagemath/sage-numerical-backends-gurobi/issues/6
+
 - CPLEX: https://www.ibm.com/docs/en/icos/20.1.0?topic=optimization-solution-pool-generating-keeping-multiple-solutions
+
+  - https://github.com/sagemath/sage-numerical-backends-cplex/issues/1
+