<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<div name="messageBodySection">
<div dir="auto">Hi,<br />
<br />
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.<br />
<br />
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.<br />
<br />
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.<br />
<br />
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.<br />
<br />
To replicate, consider the following, using a very recent trunk (the files in <i>italic</i> are available here: <a href="https://1drv.ms/u/s!AuB7kemPSzoPlCxNYivdB9J7Fj-7?e=pHzXHL">https://1drv.ms/u/s!AuB7kemPSzoPlCxNYivdB9J7Fj-7?e=pHzXHL</a>):<br />
<ul>
<li><span style="font-family: Courier New, monospace;">cbc -maxN 1000 -import <i>mipstart-issue.lp</i> -solve -solution <i>mipstart-issue-solution-1.sol</i></span><br /></li>
<ul>
<li>This produces a solution file to use afterwards.<br /></li>
</ul>
<li><span style="font-family: Courier New, monospace;">cbc -maxN 1000 -import <i>mipstart-issue.lp</i> -mipstart <i>mipstart-issue-solution-1.sol</i> -solve</span><br /></li>
<ul>
<li>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).<br /></li>
</ul>
<li><span style="font-family: Courier New, monospace;">cbc -maxN 1000 -import <i>mipstart-issue.lp</i> -mipstart <i>reduced-mipstart-issue-solution-1.sol</i> -solve</span><br /></li>
<ul>
<li>If we edit the solution file so that it just <span style="caret-color: rgb(39, 39, 40);">keeps</span> 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</li>
</ul>
</ul>
<div dir="auto"><span style="color: var(--textColor); background-color: var(--backgroundColor);">Thanks In advance for any support you can provide.</span></div>
</div>
</div>
<div name="messageSignatureSection"><br />
<div dir="auto">Best regards,
<div><br /></div>
<div>Tiago Maduro Dias.</div>
</div>
</div>
</body>
</html>