<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Mona,<br>
<br>
On 06/11/15 13:45, Mona Rahn wrote:<br>
</div>
<blockquote
cite="mid:CAJW3XALuJuEMsjRcizyCy-PSAYykLynuJT9Df+kJchovP8qC8Q@mail.gmail.com"
type="cite">
<meta http-equiv="Context-Type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div>Hi!<br>
</div>
<div><br>
</div>
<div>I have three questions:</div>
<div><br>
</div>
<div>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 (<a
moz-do-not-send="true"
href="https://projects.coin-or.org/Cbc"><a class="moz-txt-link-freetext" href="https://projects.coin-or.org/Cbc">https://projects.coin-or.org/Cbc</a></a>
at the bottom) doesn't work.</div>
<div><br>
</div>
</div>
</blockquote>
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)<br>
<br>
<blockquote
cite="mid:CAJW3XALuJuEMsjRcizyCy-PSAYykLynuJT9Df+kJchovP8qC8Q@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>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.</div>
<div>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.</div>
<div><br>
</div>
</div>
</blockquote>
<br>
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.<br>
<blockquote
cite="mid:CAJW3XALuJuEMsjRcizyCy-PSAYykLynuJT9Df+kJchovP8qC8Q@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>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?</div>
<div><br>
</div>
</div>
</blockquote>
<br>
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.<br>
<br>
John Forrest<br>
<blockquote
cite="mid:CAJW3XALuJuEMsjRcizyCy-PSAYykLynuJT9Df+kJchovP8qC8Q@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>Thanks a lot in advance.</div>
<div><br>
</div>
<div>Kind regards,</div>
<div>Mona</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Cbc mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Cbc@list.coin-or.org">Cbc@list.coin-or.org</a>
<a class="moz-txt-link-freetext" href="http://list.coin-or.org/mailman/listinfo/cbc">http://list.coin-or.org/mailman/listinfo/cbc</a>
</pre>
</blockquote>
<br>
</body>
</html>