[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