Thanks for the advice ! With a very small modification, I went down from 20 minutes to 40 seconds! A brain is probably the best optimization ever.<br><br>A minor improvement could be to avoid copy-ing every time the multiplicator vector when calling Expression*::generate. It needs to be modified for the multiplication.
<br>Doing this modification, I gained 5% of CPU-time and a wrong constraint matrix, so I have to dig more that direction to get it correctly. But I&#39;m not sure it&#39;s the effort worth.<br><br>Regards,<br><br>t.<br><br>
<br><div><span class="gmail_quote">On 6/6/07, <b class="gmail_sendername">Tim Hultberg</b> &lt;<a href="mailto:Tim.Hultberg@eumetsat.int">Tim.Hultberg@eumetsat.int</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I never looked much into the generation efficiency before, except for ensuring that generation time is proportional to &#39;nz&#39; rather than &#39;m&#39;*&#39;n&#39;.<br>Your problem shows the need to do this now.<br><br>
Some generation inefficiencies can be handled at modelling level, by substituting &quot;such_that&quot; by sparse subsets. But for sure there are also substantial optimizations possible within the library.<br><br>Yes, it would be great if you would look into this.
<br><br>Also if you send me your model, it will help me to do this in parallel.<br><br>Cheers, Tim<br><br>(thanks for the nice words)<br><br><br>&gt;&gt;&gt; &quot;Tristram Gräbener&quot; &lt;<a href="mailto:tristramg@gmail.com">
tristramg@gmail.com</a>&gt; 06/06/2007 11:52 &gt;&gt;&gt;<br>Hello,<br><br>I&#39;m quite enthusiastic about FlopC++ as is pretty effective for modeling.<br><br>I&#39;m trying to use it on a rather big problem (10&#39;000 vars, 100&#39;000
<br>constraints, and should get bigger).<br>Currently it needs about 20 minutes to generate the problem and Cbc needs<br>only 15 to solve it, so it isn&#39;t as nice :)<br><br>I narrowed the problem down to&nbsp;&nbsp;MP_constraint::coefficients(GenerateFunctor&amp;
<br>f) that take to much time.<br><br>Are you considering that problem, or is there even some improvement on that<br>? (I am using the trunk on the svn)<br><br>If no, I am will look into it - but I wanted to make sure that the has been
<br>no work on it before.<br><br>Otherwise, thanks for that very nice library !<br><br>Regards,<br><br>Tristram<br><br></blockquote></div><br>