[Cbc] Documentation; Warmstart; Timelimit

Mona Rahn mona.rahn at gmail.com
Wed Nov 11 09:38:52 EST 2015


@ John:
Thanks for your answer.
Is there a function to save the mipstart (as getMIPStart doesn't seem to do
it)? And do you have an example about mipstart?
The event handler works perfectly btw! :) Thanks.

@ Ted, Babak: thank you too!

Btw, can anybody tell me is the precise difference is between
- hotstart
- warmstart
- resolve
- mipstart?

Kind regards,
Mona


On Sat, Nov 7, 2015 at 3:46 PM, John Forrest <john.forrest at fastercoin.com>
wrote:

> Mona,
>
> On 06/11/15 13:45, Mona Rahn wrote:
>
> Hi!
>
> I have three questions:
>
> 1) I am pretty new in using CBC with C++. Do you have a tip on a good way
> to start, i.e. a documentation / tutorial / handbook for beginners? Most of
> the stuff I found online was aimed at a much higher level of knowledge. The
> documentation link that can be found on the COIN-OR website (
> <https://projects.coin-or.org/Cbc>https://projects.coin-or.org/Cbc at the
> bottom) doesn't work.
>
> Documentation has never been the strong point of Cbc.  It can be useful to
> invoke cbc and try ? and then look at individual options - see 2)
>
> 2) I have an minimization LP that I resolve several times with different
> objectives. That is, I solve it, upper bound the unique variable appearing
> in my first objective function to the calculated value, and set another
> variable as my objective.
> Now, my question is: The solver appears to start from scratch every time I
> call it, but I would like to keep the old solution and start from there. Is
> there a way to do this? I have seen the warm start in
> OsiCbcSolverinterface, but I am not sure how to use it.
>
>
> If you do cbc and then mipstart?? you will see that you can save the
> solution from one run and then use it as an input solution to next.
>
> 3) I would like to have set a time limit that only stops the program if
> there is already a solution found (which isn't necessarily optimal), but
> not if it is still searching for a solution. The only time limit I have
> found is CbcModel::setMaximumSeconds, but this stops the program no matter
> what. Do you have a solution for this?
>
>
> You may wish to use the drivers that allow you to call cbc as normal but
> with changes.  Look at driver6.cpp.  If you have a driver like that then
> you could check if you have a solution and then stop on time.  I would
> suggest modifying MyEventHandler3::event to check if event was treeStatus
> and solution found and too many seconds.
>
> John Forrest
>
> Thanks a lot in advance.
>
> Kind regards,
> Mona
>
>
> _______________________________________________
> Cbc mailing listCbc at list.coin-or.orghttp://list.coin-or.org/mailman/listinfo/cbc
>
>
>
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cbc
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20151111/6197f266/attachment.html>


More information about the Cbc mailing list