<div dir="ltr"><div>Note that this is not only in scip but for any solver. </div><div>Also the order in which the data is supplied can result in a different solution vector with the same objective value. For example providing the model via an lp model or via mps will most probably also have this effect.</div><div><br></div>Peter<div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 1 Feb 2024 at 14:09, s schnug <<a href="mailto:sascha.schnug@gmail.com">sascha.schnug@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>from the perspective of the solver, it only matters to find an optimal (objective) solution which is feasible (given some tolerances).</div><div>Which solution of those candidates is picked is not guaranteed (although deterministic).</div><div><br></div><div>What you describe is completely natural!</div><div>Every single change (e.g. heuristic priority weights; new heuristics) might lead to different result-vectors for many people (if we assume proven optimal result-status with the same objective).<br></div><div><br></div><div>It's even worse: You might see different result-vectors by just changing your operating-system or hardware in general (cannot give guarantees about SCIP here).</div><div>The mailing-list contained an interesting runs-different-during-simulation-in-valgrind example today!<br></div><div><br></div><div>See <a href="https://coral.ise.lehigh.edu/mip-2008/talks/danna.pdf" target="_blank">https://coral.ise.lehigh.edu/mip-2008/talks/danna.pdf</a> for some "related" background.</div><div><br></div><div><div>You should never assume result-vectors being stable across solutions (and maybe OS/hardware).</div><div>Sometimes, there is some additional modelling possible, which can express your expectation about those side-constraints (e.g. lexicographic-ordering). But often this hurts.</div><div><br></div></div><div><br></div><div>Greetings,</div><div>Sascha</div><div><br></div><div>(not a SCIP dev; but a happy user)</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am Do., 1. Feb. 2024 um 13:19 Uhr schrieb Thiago NOVAES <<a href="mailto:thiago.novaes@princeps.com" target="_blank">thiago.novaes@princeps.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
<div lang="FR">
<div>
<p class="MsoNormal">Hello,<u></u><u></u></p>
<p class="MsoNormal"><u></u>Â <u></u></p>
<p class="MsoNormal"><span lang="EN-US">The result of a MIP (1 binary, 0 integer, 0 implicit integer, 2751 continuous, 2452 constraints) is different between versions 8.0.3 and 8.1.0. Difference only in the variables, not in the objective function.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Looking at the release notes for 8.0.4 and 8.1.0 I didn't find anything that justified the difference.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u>Â <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Could anyone help me understand this better? Is there no guarantee on variables between versions?
</span>I can share the .lp if it helps.<u></u><u></u></p>
<p class="MsoNormal"><u></u>Â <u></u></p>
<p class="MsoNormal">Best regards,<u></u><u></u></p>
<p class="MsoNormal">Thiago<u></u><u></u></p>
</div>
</div>
_______________________________________________<br>
Scip mailing list<br>
<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a><br>
<a href="https://listserv.zib.de/mailman/listinfo/scip" rel="noreferrer" target="_blank">https://listserv.zib.de/mailman/listinfo/scip</a><br>
</div></blockquote></div>
_______________________________________________<br>
Scip mailing list<br>
<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a><br>
<a href="https://listserv.zib.de/mailman/listinfo/scip" rel="noreferrer" target="_blank">https://listserv.zib.de/mailman/listinfo/scip</a><br>
</blockquote></div></div></div>