Solution Pool
回答済みI am using the solution pool feature of Gurobi. I set PoolSearchMode = 2.
- My formulation is an MILP. In my problem, the integer variables are more important than the continuous variables, and I only care about the integer ones. Will Gurobi only deem two solutions distinct when their projections onto the integer space are different? In fact, in my problem, there exists infinite number of optimal solutions when the integer ones are fixed, so I really want to ignore the trivial part.
- If I set PoolSolutions to a sufficiently large value and PoolGap to 0, will Gurobi enumerate all distinct optimal solutions?
-
Hi Yanfei Chen,
Gurobi defines two solutions as being equivalent if
- in the presolved space, the integer variables assume the same values, and the continuous variables that participate in SOS or bilinear constraints assume the same values; or
- in the original model space, all variables assume the same values.
A solution will be discarded if it is equivalent to another solution that is already in the pool.
If you already know which variables do not have a meaningful contribution to the difference between solutions, you can set the variable attribute PoolIgnore=1 for those variables. With this, if multiple solutions vary only in those variables, only the one with the best objective value is added to the solution pool.
Yes, by setting PoolGap=0, Gurobi will only allow solutions to enter the solution pool that have a zero gap to the optimal solution.
You can also find a detailed description in our reference manual here: https://docs.gurobi.com/projects/optimizer/en/current/features/solutionpool.html
Keep in mind that by setting PoolSearchMode=2, Gurobi tries to find the n-best solutions which typically results in slower performance.
Best,
Jaap
0
サインインしてコメントを残してください。
コメント
1件のコメント