[Scip] Question about reducing memory usage of SCIP optimizer

Abde Ali Kagalwalla abdeali.iitb at gmail.com
Thu Jul 24 06:08:55 CEST 2014


Hi Gerald,

Thank you very much for your response. I let SCIP delete variables by
setting the two flags (pricing/delvars and pricing/delvarsroot) and marking
each variable that I add as deletable. But it does not seem to help reduce
the memory usage.

I usually run my code with a 24 hour limit. For one of the test-cases, it
started running out of memory after around 10 hours.
In this duration, the number of variables inserted by the pricer was around
10^6. I am not sure if any of them got deleted. On my system, the
optimization job was killed by the OS when memory usage reached around 32G.

In order to terminate more gracefully and atleast report the current
results, I added a small feature at the end of each pricing round: I
computed the current memory usage using some system calls and if it
exceeded 25G, I set the SCIP solver time limit to the current clock time. I
have attached a log file with all the statistics reported by SCIP for the
optimization.

Another thing I noticed was that the memory usage typically peaks during
the LP relaxation solving step. Is this typical ?
Based on the log file, do you have any suggestions for any optimization
parameters I could tweak to reduce the memory usage ?

Thanks,

Abde Ali


On Tue, Jul 22, 2014 at 5:44 AM, Gerald Gamrath <gamrath at zib.de> wrote:

>  Dear Abde Ali,
>
> you could try to let SCIP delete variables which are (probably) not needed
> anymore. Please have a look at the FAQ:
> http://scip.zib.de/doc/html/FAQ.php#howtodeletevariables
>
> How many variables do you generate? And how much memory do you have
> available, how long does it take until you run out of memory?
>
> Best,
> Gerald
>
> Am 14.07.2014 13:42, schrieb Abde Ali Kagalwalla:
>
>    Dear SCIP developers,
>
>  Firstly, I would like to thank you for all your help in working with the
> SCIP optimization framework. Using SCIP, we recently had a paper titled
> "Benchmarking of Mask Fracturing Heuristics" accepted at the International
> Conference on Computer-Aided Design (ICCAD) 2014.
>
>  In our project, we are solving very large ILPs using branch-and-price. We
> run the optimizer with a fixed time limit and report the best lower and
> upper bound. This works reasonably well for most of our testcases. But
> there are some testcases, where the total number of columns added by the
> pricer (over several iterations) keeps increasing and eventually the
> program uses too much memory and is killed by the OS.
>
>  Now my question is if there is a way to avoid this. Is it possible to
> specify some limit  on the number of active variables, etc. that could help
> us avoid this problem ?
>
>  Regards,
>
>  Abde Ali
>
>
> _______________________________________________
> Scip mailing listScip at zib.dehttp://listserv.zib.de/mailman/listinfo/scip
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20140723/9305c06d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: log2SendSCIP
Type: application/octet-stream
Size: 14767 bytes
Desc: not available
URL: <http://listserv.zib.de/pipermail/scip/attachments/20140723/9305c06d/attachment.obj>


More information about the Scip mailing list