[SCIP] The difference in solution between SCIP and Gurobi

Ambros Gleixner gleixner at zib.de
Thu Jul 27 19:13:42 CEST 2023


Hi Shinji,

Yes, this could be the reason.  It could also be the case that the 
solution of Gurobi is not accepted as feasible by SCIP.  You could check 
this by reading the Gurobi solution into SCIP before solving and see 
whether it is accepted.

If the solution is accepted, but SCIP reports a tighter dual bound 
without it, then this points to a bug, potentially due to numerics.  In 
this case, it would be best if you file an issue on github, providing 
more details and the model.

Best,
Ambros


Am 27.07.2023 um 15:16 schrieb 佐藤信治:
> Thank you for replying. I ran the SCIP solver with limits/gap=0 and 
> Gurobi and so on for about a day. The result was that Gurobi gave a 
> better solution than SCIP. It is also clear that the Gurobi solution is 
> not included in SCIP's dual gap and primal gap. This is puzzling, given 
> that SCIP gives a range of optimal solutions. What is the reason for 
> this? Could it be that the problem I am dealing with is numerically 
> unstable?
> Thank you.
> 
> 
> 
> ==========================
> Shinji Sato
> 
>> 2023/07/23 5:59、Ambros Gleixner <gleixner at zib.de>のメール:
>>
>> Hi Shinji,
>>
>> You are right that SCIP and Gurobi are both branch-and-bound solvers 
>> and that they will give you (within numerical tolerances) exact 
>> results. However, since branch-and-bound is an exponential algorithm 
>> in the worst case, they do not always converge to the optimum, in 
>> particular for hard problems.  If they do not converge, you get a 
>> primal bound for the best solution found and a dual bound with the 
>> promise that there can be no better solution than the dual bound.  The 
>> exact objective value can lie anywhere in this interval.
>>
>> What you observed is probably that Gurobi converges faster than SCIP 
>> and so within your time limit you see a worse primal bound.  This is 
>> not uncommon.
>>
>> By changing SCIP parameters you have already started to try and tune 
>> SCIP to converge faster.  MIP solvers employ many different tricks 
>> internally and most likely you can find improved parameters for your 
>> problem.  A look at the log file and the statistics at the end can aid 
>> you in identifying which parameters to look at.  The interactive shell 
>> tutorial at scipopt.org/doc contains some basic examples for that. 
>>  Hope that helps getting started.
>>
>> Best,
>> Ambros
>>
>>
>>
>> Am 21.07.2023 um 10:33 schrieb 佐藤信治:
>>> Hello, SCIP experts,
>>> I have a question about the difference between SCIP and Gurobi. SCIP 
>>> and Gurobi are each B&B (branch and bound) solvers, and I expect that 
>>> both will give me exact solutions (if I spend enough time). However, 
>>> Gurobi gives better results than SCIP when solving difficult problems 
>>> in my environment, and I don't know why. If I set the "max/restarts" 
>>> parameter of SCIP to 0 to prevent restarts from occurring, I get a 
>>> slightly better solution, but it is inferior to Gurobi's solution. 
>>> What is the reason for this difference in solutions? Also, is there 
>>> any way to get a good solution like Gurobi with SCIP, even if it 
>>> takes longer?
>>> Maybe my English is strange.
>>> Thank you very much !
>>> ===========================================
>>> Shinji Sato, The University of Electro Communications
>>> _______________________________________________
>>> Scip mailing list
>>> Scip at zib.de
>>> https://listserv.zib.de/mailman/listinfo/scip
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> https://listserv.zib.de/mailman/listinfo/scip
> 


More information about the Scip mailing list