[SCIP] Different results between 8.0.3 and 8.1.0

Thiago NOVAES thiago.novaes at princeps.com
Thu Feb 1 18:04:24 CET 2024


To add more information, there are 2 problems. The “original” is a MIP and “permutation” is a version of original that I changed the order of some rows and columns.

The table below show the objective function in each version of SCIP.

[cid:image001.png at 01DA5539.167C4270]

Thiago

De : Thiago NOVAES
Envoyé : jeudi 1 février 2024 17:44
À : 'Peter Notebaert' <mail at peno.be>; s schnug <sascha.schnug at gmail.com>
Cc : scip at zib.de
Objet : RE: [SCIP] Different results between 8.0.3 and 8.1.0

Ok, that makes sense.

But in another case, I found 72,313,267 as objective with 8.1.0 and 71,882,637 with 8.0.3.

How can I found the source of this difference?

Thiago,

De : Peter Notebaert <mail at peno.be<mailto:mail at peno.be>>
Envoyé : jeudi 1 février 2024 15:56
À : s schnug <sascha.schnug at gmail.com<mailto:sascha.schnug at gmail.com>>
Cc : Thiago NOVAES <thiago.novaes at princeps.com<mailto:thiago.novaes at princeps.com>>; scip at zib.de<mailto:scip at zib.de>
Objet : Re: [SCIP] Different results between 8.0.3 and 8.1.0

Note that this is not only in scip but for any solver.
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.

Peter

On Thu, 1 Feb 2024 at 14:09, s schnug <sascha.schnug at gmail.com<mailto:sascha.schnug at gmail.com>> wrote:
Hi,

from the perspective of the solver, it only matters to find an optimal (objective) solution which is feasible (given some tolerances).
Which solution of those candidates is picked is not guaranteed (although deterministic).

What you describe is completely natural!
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).

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).
The mailing-list contained an interesting runs-different-during-simulation-in-valgrind example today!

See https://coral.ise.lehigh.edu/mip-2008/talks/danna.pdf for some "related" background.

You should never assume result-vectors being stable across solutions (and maybe OS/hardware).
Sometimes, there is some additional modelling possible, which can express your expectation about those side-constraints (e.g. lexicographic-ordering). But often this hurts.


Greetings,
Sascha

(not a SCIP dev; but a happy user)

Am Do., 1. Feb. 2024 um 13:19 Uhr schrieb Thiago NOVAES <thiago.novaes at princeps.com<mailto:thiago.novaes at princeps.com>>:
Hello,

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.
Looking at the release notes for 8.0.4 and 8.1.0 I didn't find anything that justified the difference.

Could anyone help me understand this better? Is there no guarantee on variables between versions? I can share the .lp if it helps.

Best regards,
Thiago
_______________________________________________
Scip mailing list
Scip at zib.de<mailto:Scip at zib.de>
https://listserv.zib.de/mailman/listinfo/scip
_______________________________________________
Scip mailing list
Scip at zib.de<mailto:Scip at zib.de>
https://listserv.zib.de/mailman/listinfo/scip
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20240201/b41f37d9/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 4985 bytes
Desc: image001.png
URL: <http://listserv.zib.de/pipermail/scip/attachments/20240201/b41f37d9/attachment.png>


More information about the Scip mailing list