Thank you for your responses. <br>Could anyone provide an example of how to correctly use solution information when adding/removing columns and then resolving? Does my general approach make sense or can hotstarting not be used for this purpose?<br>
Thanks again,<br>Ed<br><br><div class="gmail_quote">On 28 July 2010 11:18, Haroldo Santos <span dir="ltr">&lt;<a href="mailto:haroldo.santos@gmail.com">haroldo.santos@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Thanks<br>
<div><div></div><div class="h5"><br>
On Tue, Jul 27, 2010 at 7:06 PM, Gabrielle A. Grun &lt;<a href="mailto:grun@cs.sfu.ca">grun@cs.sfu.ca</a>&gt; wrote:<br>
&gt;  Hi Haroldo and Ed,<br>
&gt;<br>
&gt; In order the disable storing branching, I think that<br>
&gt; model.setNumberBeforeTrust(0); has to be in place too i.e.<br>
&gt; numberBeforeTrust_ has to be 0 as well.<br>
&gt;<br>
&gt; Take care.<br>
&gt;<br>
&gt; Gabrielle<br>
&gt;<br>
&gt;<br>
&gt; ----- Original Message -----<br>
&gt; From: Haroldo Santos<br>
&gt; To: Ed Bulog<br>
&gt; Cc: <a href="mailto:cbc@list.coin-or.org">cbc@list.coin-or.org</a><br>
&gt; Sent: Monday, July 26, 2010 3:20 PM<br>
&gt; Subject: Re: [Cbc] Using hotstarting functionality with modifications<br>
&gt; Hi Ed,<br>
&gt;<br>
&gt; I think that at the start of the MIP search there are some very<br>
&gt; expensive routines which do not use any information of previous<br>
&gt; solutions.<br>
&gt;<br>
&gt; In particular, doing strong branching is very expensive.<br>
&gt;<br>
&gt; If you want to speed up the restart, perhaps one useful option would<br>
&gt; be to disable strong branching.<br>
&gt;<br>
&gt; setNumberStrong( 0 )<br>
&gt;<br>
&gt;<br>
&gt; On Mon, Jul 26, 2010 at 7:04 PM, Ed Bulog &lt;<a href="mailto:ebul014@aucklanduni.ac.nz">ebul014@aucklanduni.ac.nz</a>&gt; wrote:<br>
&gt;&gt; Dear All,<br>
&gt;&gt;<br>
&gt;&gt; I have a large IP which I will be modifying constantly (by adding/removing<br>
&gt;&gt; coulmns) and resolving after each modification. I am trying to see if<br>
&gt;&gt; there<br>
&gt;&gt; is some way I could re-use the previous solution to make each solve<br>
&gt;&gt; faster.<br>
&gt;&gt; The obvious problem is that by adding and removing columns each time I<br>
&gt;&gt; have<br>
&gt;&gt; no way of guaranteeing that the previous solution will still be feasible,<br>
&gt;&gt; let alone optimal.<br>
&gt;&gt;<br>
&gt;&gt; I have experimented with the cbc example files (mostly hotstart.cpp,<br>
&gt;&gt; modify.cpp and repeat.cpp). It would be ideal if I could solve the<br>
&gt;&gt; problem,<br>
&gt;&gt; modify it and then re-use the previous solution in a hotstart. My basic<br>
&gt;&gt; approach is:<br>
&gt;&gt; - call model.initialSolve()<br>
&gt;&gt; - call model.branchandbound()<br>
&gt;&gt; - save the bestSolution array<br>
&gt;&gt; - remove some columns from the reference solver<br>
&gt;&gt; - add some columns to the reference solver<br>
&gt;&gt; - modify the bestSolution array accordingly (i.e. remove entries<br>
&gt;&gt; corresponding to deleted columns and add zeros for new columns)<br>
&gt;&gt; - call model.resetToReferenceSolver()<br>
&gt;&gt; - call model.setHotstartSolution(<br>
&gt;&gt; bestSolution)<br>
&gt;&gt; - resolve using model.branchandbound()<br>
&gt;&gt;<br>
&gt;&gt; However, this approach does not seem to do anything particularly useful.<br>
&gt;&gt; branchandbound() does not appear to do anything differently from what it<br>
&gt;&gt; does when I do not use the hotstart solution.<br>
&gt;&gt;<br>
&gt;&gt; Does &#39;hotstarting&#39; only work if the model remains unchanged (as in<br>
&gt;&gt; hotstart.cpp)? Does anyone have any other suggestions? Your help is<br>
&gt;&gt; greatly<br>
&gt;&gt; appreciated.<br>
&gt;&gt;<br>
&gt;&gt; Thank you for your time,<br>
&gt;&gt;<br>
&gt;&gt; Ed<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Cbc mailing list<br>
&gt;&gt; <a href="mailto:Cbc@list.coin-or.org">Cbc@list.coin-or.org</a><br>
&gt;&gt; <a href="http://list.coin-or.org/mailman/listinfo/cbc" target="_blank">http://list.coin-or.org/mailman/listinfo/cbc</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; =============================================================<br>
&gt; Haroldo Gambini Santos<br>
&gt; Computing Department - Universidade Federal de Ouro Preto - UFOP<br>
&gt; email: haroldo [at ] <a href="http://iceb.ufop.br" target="_blank">iceb.ufop.br</a><br>
&gt; home/research page: <a href="http://www.iceb.ufop.br/decom/prof/haroldo/" target="_blank">http://www.iceb.ufop.br/decom/prof/haroldo/</a><br>
&gt;<br>
&gt; &quot;Computer science is no more about computers than astronomy<br>
&gt; is about telescopes.&quot; Edsger Dijkstra<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Cbc mailing list<br>
&gt; <a href="mailto:Cbc@list.coin-or.org">Cbc@list.coin-or.org</a><br>
&gt; <a href="http://list.coin-or.org/mailman/listinfo/cbc" target="_blank">http://list.coin-or.org/mailman/listinfo/cbc</a><br>
&gt;<br>
&gt;<br>
&gt; Gabrielle A. Grün, Ph.D. Student<br>
&gt; School of Computing Science<br>
&gt; Simon Fraser University<br>
&gt; 8888 University Drive<br>
&gt; Burnaby, BC<br>
&gt; V5A 1S6<br>
&gt; &lt;<a href="http://www.cs.sfu.ca/%7Egrun" target="_blank">http://www.cs.sfu.ca/~grun</a>&gt;<br>
&gt;<br>
&gt;<br>
<br>
<br>
<br>
--<br>
=============================================================<br>
Haroldo Gambini Santos<br>
Computing Department - Universidade Federal de Ouro Preto - UFOP<br>
email: haroldo [at ] <a href="http://iceb.ufop.br" target="_blank">iceb.ufop.br</a><br>
home/research page: <a href="http://www.iceb.ufop.br/decom/prof/haroldo/" target="_blank">http://www.iceb.ufop.br/decom/prof/haroldo/</a><br>
<br>
&quot;Computer science is no more about computers than astronomy<br>
is about telescopes.&quot; Edsger Dijkstra<br>
</div></div></blockquote></div><br>