<div dir="ltr">Hi Haroldo,<div><br></div><div>Thanks for your answer.</div><div><br></div><div>I actually meant getting the mipstart (after solving), not entering it to the solver. Anyway, I now programmed my own function to do that, and I feed the solver the mipstart upon the next solve via setMIPStart as you suggested - but it doesn't seem to change anything! When I resolve, it still takes quite a lot of time to find a feasible solution. Do you have an idea on that?</div><div><br></div><div>Thanks a lot for your help!</div><div><br></div><div>Kind regards,</div><div>Mona</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 11, 2015 at 4:37 PM, Haroldo Gambini Santos <span dir="ltr"><<a href="mailto:haroldo.santos@gmail.com" target="_blank">haroldo.santos@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Hi Mona,<br>
<br>
To enter MIPStart programatically you should call<br>
<br>
CbcModel method<br>
void setMIPStart( const std::vector< std::pair<
std::string, double > > &mips ) {<br>
this->mipStart_ = mips;<br>
}<br>
<br>
MIPstart is used when you an initial feasible solution to enter to
the solver.<br>
<br>
You need to inform shit solution using pairs<br>
<br>
variableName value<br>
<br>
variable names are used because the initial solution may be used in
the pre-processed model (variable indexes change).<br>
<br>
You only need to enter the main active decision variables. Auxiliary
variables are computed if they exist.<br>
<br>
Cheers,<br>
<br>
Haroldo<div><div><br>
<br>
<br>
<br>
<div>On 11-11-2015 12:38, Mona Rahn wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>@ John:</div>
<div>Thanks for your answer.</div>
<div>Is there a function to save the mipstart (as getMIPStart
doesn't seem to do it)? And do you have an example about
mipstart?</div>
<div>The event handler works perfectly btw! :) Thanks.</div>
<div><br>
</div>
<div>@ Ted, Babak: thank you too!</div>
<div><br>
</div>
<div>Btw, can anybody tell me is the precise difference is
between</div>
<div>- hotstart</div>
<div>- warmstart</div>
<div>- resolve </div>
<div>- mipstart?</div>
<div><br>
</div>
<div>Kind regards,</div>
<div>Mona</div>
<div><br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Sat, Nov 7, 2015 at 3:46 PM, John
Forrest <span dir="ltr"><<a href="mailto:john.forrest@fastercoin.com" target="_blank">john.forrest@fastercoin.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>Mona,<span><br>
<br>
On 06/11/15 13:45, Mona Rahn wrote:<br>
</span></div>
<span>
<blockquote type="cite">
<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 href="https://projects.coin-or.org/Cbc" target="_blank">https://projects.coin-or.org/Cbc</a>
at the bottom) doesn't work.</div>
<div><br>
</div>
</div>
</blockquote>
</span> 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)<span><br>
<br>
<blockquote 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>
</span> 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.<span><br>
<blockquote 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>
</span> 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.<span><font color="#888888"><br>
<br>
John Forrest<br>
</font></span>
<blockquote type="cite"><span>
<div dir="ltr">
<div>Thanks a lot in advance.</div>
<div><br>
</div>
<div>Kind regards,</div>
<div>Mona</div>
</div>
<br>
<fieldset></fieldset>
<br>
</span><span>
<pre>_______________________________________________
Cbc mailing list
<a href="mailto:Cbc@list.coin-or.org" target="_blank">Cbc@list.coin-or.org</a>
<a href="http://list.coin-or.org/mailman/listinfo/cbc" target="_blank">http://list.coin-or.org/mailman/listinfo/cbc</a>
</pre>
</span></blockquote>
<br>
</div>
<br>
_______________________________________________<br>
Cbc mailing list<br>
<a href="mailto:Cbc@list.coin-or.org" target="_blank">Cbc@list.coin-or.org</a><br>
<a href="http://list.coin-or.org/mailman/listinfo/cbc" rel="noreferrer" target="_blank">http://list.coin-or.org/mailman/listinfo/cbc</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Cbc mailing list
<a href="mailto:Cbc@list.coin-or.org" target="_blank">Cbc@list.coin-or.org</a>
<a href="http://list.coin-or.org/mailman/listinfo/cbc" target="_blank">http://list.coin-or.org/mailman/listinfo/cbc</a>
</pre>
</blockquote>
<br>
</div></div><span><font color="#888888"><pre cols="72">--
==================================================
Haroldo Gambini Santos
D.Sc, Computer Science
Universidade Federal de Ouro Preto
<a href="http://www.decom.ufop.br/haroldo/" target="_blank">http://www.decom.ufop.br/haroldo/</a></pre>
</font></span></div>
</blockquote></div><br></div></div>