[Cbc] Intermediate results via CbcModel.bestSolution()
acw at ascent.com
acw at ascent.com
Thu Jul 15 11:27:58 EDT 2010
In our application, we pose biggish problems to Cbc, which then goes off
and spends quite a while solving them. Even before we get the optimal
solution, we can make use of any solutions Cbc finds along the way.
So, during the solution process, when we see that Cbc has improved its
best result, we query the CbcModel using bestSolution().
Recently we've started encountering a problem where the returned solution
is much shorter than expected. Looking at the number of columns in the
solution makes us suspect that we are seeing solutions to the processed
model, and not to the original one. That is, Cbc is boiling the problem
down to a smaller, equivalent problem, and solving that; when it's
completely finished it inverts the transformation to give a solution to
the original problem. But if we interrupt it, we find an intermediate
solution to the transformed problem, not the original.
This makes a certain amount of sense, but it didn't use to happen. In a
previous Cbc version, either the model was not compressed in the same way,
or bestSolution() inverted the compression regardless of whether the
solution was complete.
Is this change in behavior intentional? If so, does there remain any
supported way to extract an intermediate solution to the problem as posed?
Thank you; our experience with Cbc has been overwhelmingly positive, and
we're sure there's an easy solution to this glitch as there have been for
every problem we've encountered in the past.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.coin-or.org/pipermail/cbc/attachments/20100715/3f56e97a/attachment.html
More information about the Cbc
mailing list