<font size=2 face="sans-serif">The quoted conversation below suggests
that up until recently we've simply been dodging bullets, submitting problems
that don't happen to trigger compression; or perhaps in our recent upgrade
some of the things we changed caused compression to occur where it hadn't
up until now.</font>
<br>
<br><font size=2 face="sans-serif">Our present code is very simple, following
the outlines of some of the example drivers in the Cbc/examples directory.
Once the model has been set up, we call CbcMain0 and then CbcMain1.
By the time we call CbcModel->solver()->getColSolution(), the
solution has been decompressed and everything is good. So there's
no visible messing about with CglPreProcess, and at the moment we don't
know how to do what Dr. Forrest suggests. Any additional advice or
code samples would be welcome.</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">From:</font>
<td><font size=1 face="sans-serif">Haroldo Santos <haroldo.santos@gmail.com></font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">To:</font>
<td><font size=1 face="sans-serif">John Forrest <john.forrest@fastercoin.com></font>
<tr>
<td valign=top><font size=1 color=#5f5f5f face="sans-serif">Cc:</font>
<td><font size=1 face="sans-serif">"cbc@list.coin-or.org" <cbc@list.coin-or.org></font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">Date:</font>
<td><font size=1 face="sans-serif">07/15/2010 01:36 PM</font>
<tr valign=top>
<td><font size=1 color=#5f5f5f face="sans-serif">Subject:</font>
<td><font size=1 face="sans-serif">Re: [Cbc] Intermediate results via CbcModel.bestSolution()</font></table>
<br>
<hr noshade>
<br>
<br>
<br><tt><font size=2>Hi Forrest,<br>
<br>
originalColumns() returns a primal solution ? indexes to map to the<br>
original columns ?<br>
<br>
On Thu, Jul 15, 2010 at 1:39 PM, John Forrest<br>
<john.forrest@fastercoin.com> wrote:<br>
> bestSolution() never decompressed solution so you just must have been<br>
> lucky.<br>
><br>
> If you did CglPreProcess and pass a pointer to that in to the handler<br>
> using bestSolution() then you can pick up originalColumns() and put
the<br>
> solution back into the original model.<br>
><br>
> John Forrest<br>
><br>
><br>
><br>
> On Thu, 2010-07-15 at 11:27 -0400, acw@ascent.com wrote:<br>
>> In our application, we pose biggish problems to Cbc, which then
goes<br>
>> off and spends quite a while solving them. Even before we
get the<br>
>> optimal solution, we can make use of any solutions Cbc finds along
the<br>
>> way.<br>
>><br>
>> So, during the solution process, when we see that Cbc has improved
its<br>
>> best result, we query the CbcModel using bestSolution().<br>
>><br>
>> Recently we've started encountering a problem where the returned<br>
>> solution is much shorter than expected. Looking at the number
of<br>
>> columns in the solution makes us suspect that we are seeing solutions<br>
>> to the processed model, and not to the original one. That
is, Cbc is<br>
>> boiling the problem down to a smaller, equivalent problem, and
solving<br>
>> that; when it's completely finished it inverts the transformation
to<br>
>> give a solution to the original problem. But if we interrupt
it, we<br>
>> find an intermediate solution to the transformed problem, not
the<br>
>> original.<br>
>><br>
>> This makes a certain amount of sense, but it didn't use to happen.
In<br>
>> a previous Cbc version, either the model was not compressed in
the<br>
>> same way, or bestSolution() inverted the compression regardless
of<br>
>> whether the solution was complete.<br>
>><br>
>> Is this change in behavior intentional? If so, does there
remain any<br>
>> supported way to extract an intermediate solution to the problem
as<br>
>> posed?<br>
>><br>
>> Thank you; our experience with Cbc has been overwhelmingly positive,<br>
>> and we're sure there's an easy solution to this glitch as there
have<br>
>> been for every problem we've encountered in the past.<br>
>> _______________________________________________<br>
>> Cbc mailing list<br>
>> Cbc@list.coin-or.org<br>
>> </font></tt><a href="http://list.coin-or.org/mailman/listinfo/cbc"><tt><font size=2>http://list.coin-or.org/mailman/listinfo/cbc</font></tt></a><tt><font size=2><br>
><br>
><br>
> _______________________________________________<br>
> Cbc mailing list<br>
> Cbc@list.coin-or.org<br>
> </font></tt><a href="http://list.coin-or.org/mailman/listinfo/cbc"><tt><font size=2>http://list.coin-or.org/mailman/listinfo/cbc</font></tt></a><tt><font size=2><br>
><br>
<br>
<br>
<br>
-- <br>
=============================================================<br>
Haroldo Gambini Santos<br>
Computing Department - Universidade Federal de Ouro Preto - UFOP<br>
email: haroldo [at ] iceb.ufop.br<br>
home/research page: </font></tt><a href=http://www.iceb.ufop.br/decom/prof/haroldo/><tt><font size=2>http://www.iceb.ufop.br/decom/prof/haroldo/</font></tt></a><tt><font size=2><br>
<br>
"Computer science is no more about computers than astronomy<br>
is about telescopes." Edsger Dijkstra<br>
<br>
<br>
_______________________________________________<br>
Cbc mailing list<br>
Cbc@list.coin-or.org<br>
</font></tt><a href="http://list.coin-or.org/mailman/listinfo/cbc"><tt><font size=2>http://list.coin-or.org/mailman/listinfo/cbc</font></tt></a><tt><font size=2><br>
</font></tt>
<br>