[SCIP] Performance problem using SCIP with OR-Tools vs. SCIP shell

Levinson, Richard J. (ARC-TI)[KBR Wyle Services, LLC] richard.j.levinson at nasa.gov
Thu Aug 11 21:14:11 CEST 2022


Hello,

We are using Google OR-Tools with SCIP solver and see huge differences in solve times, using exactly the same lp model file, when we call SCIP directly vs. within OR-Tools.

We create the model inside OR-Tools, and save the lp file so we can load it into SCIP's shell.

Using OR-Tools/SCIP, solve times are (~200 secs to ~700 secs). It took 200 secs until we updated to the latest OR-Tools (to ensure OR-Tools was using SCIP 8), and now it takes 700 secs (the update more than doubled the solve time).

However, if we load that same model into the SCIP shell, or call ./scip -f and pass in the file, then it only takes ~ 7 seconds to solve (100 times faster than solving it via OR-tools).

Our application requires solve times < 30 seconds.  We'd appreciate any suggestions about why this is happening and what we can do to reduce our solve time within OR-Tools so it's closer to the 7 seconds we get with SCIP shell or command line?

My guess is perhaps the SCIP parameter settings are different between the two cases, but not sure how to load a SCIP settings file into OR-Tools. Is that possible?  Originally I thought it might be that OR-Tools and the SCIP shell are using different versions of SCIP, but since I updated OR-Tools, I think both cases use SCIP 8+. OR-Tool support says they are using a post v8 because it contains a bug fix.

OR-Tool support tells me that SCIP shell uses SOPLEX but the embedded SCIP uses GLOP, but he thought that would only account for 10% difference at most. Is this a possible cause of the problem?

I'm attaching 5 files, the lp file and the solver log for 2 fast cases (SCIP without OR-Tools) and 2 slow cases (OR-Tools calling SCIP):

All cases produce the same optimal objective, but the fast and slow cases show very different solver behaviors. The fast cases do a restart quickly after pre-solving, but the slow cases don't.

Both fast cases have only 91 nodes, while the 200 sec case has 25,000 and the 600 sec case has 117,000 nodes. I am hoping someone can look at the log files and figure out what settings would be appropriate to get OR-Tools behavior to match the SCIP standalone behavior.

  1.  mplan.lp: The model file created within OR-Tools but then saved out and loaded into the shell/command line. When we load this into SCIP shell, it takes 7 seconds to solve.
  2.  scipShell.txt (fast): The solver progress log when we load mplan.lp into the SCIP shell, which takes only 7 seconds to solve.
  3.  scipCmdLine-f.txt (fast):  The solver progress log when we call scip from command line with -f option to supply mplan.lp. This also takes about 7 seconds to solve.
  4.  orToolsPythonCmdLine_200s.txt (slow):  The solver progress log when we call your Python code (which calls OR-Tools) from a command line. This was before I updated to the latest OR-tools.
  5.  orToolsPythonCmdLine_660s.txt (slow): Same as orToolsPythonCmdLine_200s.txt above, except this is after updating to the latest OR-Tools. This caused the solve times to more than double from 200s to 670s.

Any suggestions are appreciated.

Thank you,
      Rich Levinson
      NASA Ames Research Center.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20220811/1850ca18/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mplan.lp
Type: application/octet-stream
Size: 306836 bytes
Desc: mplan.lp
URL: <http://listserv.zib.de/pipermail/scip/attachments/20220811/1850ca18/attachment.obj>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: scipShell.txt
URL: <http://listserv.zib.de/pipermail/scip/attachments/20220811/1850ca18/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: scipCmdLine-f.txt
URL: <http://listserv.zib.de/pipermail/scip/attachments/20220811/1850ca18/attachment-0001.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: orTools_200secs.txt
URL: <http://listserv.zib.de/pipermail/scip/attachments/20220811/1850ca18/attachment-0002.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: orTools_670secs.txt
URL: <http://listserv.zib.de/pipermail/scip/attachments/20220811/1850ca18/attachment-0003.txt>


More information about the Scip mailing list