[Cbc] Intermediate Results
acw at ascent.com
acw at ascent.com
Mon Jul 10 11:22:48 EDT 2017
Jeff, the CBC event handler absolutely has a callback that it calls
whenever it finds a new best-so-far solution. You can fill in that
callback to write out an MPS file, and then when you restart, you can read
the saved solution and "hot-start" from it, or (almost as good) add a
constraint that insists that the objective be at least as good as the one
that was found earlier.
From:
Christopher Gross <christopher.gross at unikat.uni-augsburg.de>
To:
cbc at list.coin-or.org
Date:
07/10/2017 10:52 AM
Subject:
Re: [Cbc] Intermediate Results
Hi Jeff,
being only an average C programmer myself and having looked at CBC code
before, I would assume that storing and loading intermediate solution
data will be quite a feat. Unfortunately, I can't give you any advice on
that.
However, I would suggest a different solution that works not only for
CBC: Have you ever thought about getting an uninterrupted power supply
(UPS)? Consumer units are available for less than 100USD and will last
about 5-20 minutes, depending on the size of the device and your power
consumption. If your power outages aren't longer than that, this should
be sufficient to continue running your computations.
If your power outages are longer than that, you could also consider
running CBC in a virtual machine. Those can be paused and resumed at a
later point in time. When the power goes out, your UPS will signal your
guest system which will pause the virtual machine and shut down the
system. You can then power it back up when the power is back on and
resume the virtual machine, continuing your calculations.
Hope that helps.
Best regards,
Christopher
On 2017-07-10 15:49, Jeff Willert wrote:
> I have recently started using CBC both standalone and through the PuLP
> interface. Some of my problems become rather large and take a
> significant amount of time to run. Unfortunately, I've been having
> issues with computer reliability (power outages and such) and if the
> optimization hasn't completed, I lose all of the progress which has been
> made.
>
> Does CBC currently have the ability to write (to a file) the current
> best solution at some interval, either in time or based on an iteration
> count? I've been looking at the source code but I am only a moderate C
> programmer and haven't been able to find an easy way to do this. I'm
> happy to make changes to the code myself on my local copy if someone
> could point me to the correct location. Even an approximate solution is
> better than losing all progress.
>
> Regards,
> Jeff
>
>
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
>
https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_cbc&d=DwICAg&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=gEVaymfbiUvp55D10lWK6mFSIIFoSWnM41MvN3xiko6wjVENkHAS1IDcdpwngCCy&m=vU7ldw2G_FnOiwF6LzEqInJmI-c3LU0ZdJbjz2dLUtA&s=9h8XAYvraSGlKjFkU5k6pDTjF0_lUajzEXZKpbmXndw&e=
>
--
Christopher Gross, M.Sc.
Lehrstuhl für Health Care Operations/Health Information Management
Universitäres Zentrum für Gesundheitswissenschaften am Klinikum Augsburg
(UNIKA-T), Neusässer Straße 47, 86156 Augsburg;
Wirtschaftswissenschaftliche Fakultät, Universität Augsburg,
Universitätsstraße 16, 86159 Augsburg
Tel.: +49 821 598-6452
E-Mail: christopher.gross at unikat.uni-augsburg.de
Web:
https://urldefense.proofpoint.com/v2/url?u=http-3A__www.unika-2Dt.de_&d=DwIGaQ&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=UGItoAdbN76DIO86bdusOQ&m=h2okBq7QuhYOBOu_SO6GMhp38YAi-_8am9cv4MIxkdI&s=bgspdUjsrozmDWtHwUipNFw1dn1yofHex5GvrQU3tLE&e=
_______________________________________________
Cbc mailing list
Cbc at list.coin-or.org
https://urldefense.proofpoint.com/v2/url?u=https-3A__list.coin-2Dor.org_mailman_listinfo_cbc&d=DwIGaQ&c=Ngd-ta5yRYsqeUsEDgxhcqsYYY1Xs5ogLxWPA_2Wlc4&r=UGItoAdbN76DIO86bdusOQ&m=h2okBq7QuhYOBOu_SO6GMhp38YAi-_8am9cv4MIxkdI&s=ty2FrXQdupLpHRwSISjxh_Bl47e8rhai98aeLk8NPoY&e=
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20170710/587f7c2c/attachment.html>
More information about the Cbc
mailing list