[Cbc] Issue processing mipstarts

Tiago Maduro Dias tmdias at gmail.com
Tue Dec 3 10:03:36 EST 2019


Hi,

Regarding mipstarts, my understanding is that CBC can handle partial solutions and performs a mini branch & bound to assign values to the remaining variables. That seems consistent with the behaviour I’ve observed over time.

I have, however, an example where CBC is unable to use a mipstart to build a valid solution unless every or most variables are supplied.

In this case, I’m using CBC as part of an incremental process, so it’s critical that the initial solutions aren’t discarded, otherwise the process will have a very tough time converging.

I see some action going on around mipstarts lately, so I was wondering if someone could take a look at this use case? If it’s just a matter of not enough effort being put into reading the solution, could putting more effort into that step be given as an option? I’d be willing to wait several seconds for the initial solution to be read successfully.

To replicate, consider the following, using a very recent trunk (the files in italic are available here: https://1drv.ms/u/s!AuB7kemPSzoPlCxNYivdB9J7Fj-7?e=pHzXHL):

• cbc -maxN 1000 -import mipstart-issue.lp -solve -solution mipstart-issue-solution-1.sol
    • This produces a solution file to use afterwards.
• cbc -maxN 1000 -import mipstart-issue.lp -mipstart mipstart-issue-solution-1.sol -solve
    • If we just provide the exact same solution, it is read (and CBC ultimately doesn’t improve on it inside the given node limit, but that’s OK).
• cbc -maxN 1000 -import mipstart-issue.lp -mipstart reduced-mipstart-issue-solution-1.sol -solve
    • If we edit the solution file so that it just keeps the assignment variables and then provide it, we get the message "Warning: mipstart values could not be used to build a solution.” and the mipstart is ignored

Thanks In advance for any support you can provide.

Best regards,

Tiago Maduro Dias.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20191203/e7588ee5/attachment.html>


More information about the Cbc mailing list