<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>Dear Ambros Gleixner,<br>
<br>
Thank you for your reply. It is very helpful.<br>
Although there is no randomness for setting up the constraints and variables in my program, I will still take a closer look.</p>
<p>I use or-tool and use scip backend. To your best knowledge, is there any possibility that or-tool causes this non-determinism?</p>
<p>Thank you very much.</p>
<p><br>
</p>
<div id="x_Signature">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<p><span style="font-size:12pt">Best Regards,</span><br>
</p>
<p>Tsung Yuan Tseng</p>
<p>Master Student @ RWTH M.S. Robotic Systems Engineering</p>
<p>My personal website: <a href="https://middleyuan.github.io/" class="x_OWAAutoLink" id="LPNoLP">https://middleyuan.github.io/</a></p>
</div>
</div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Scip <scip-bounces@zib.de> on behalf of Ambros Gleixner <gleixner@zib.de><br>
<b>Sent:</b> Wednesday, July 28, 2021 12:31:49 PM<br>
<b>To:</b> scip@zib.de<br>
<b>Subject:</b> Re: [SCIP] Is there any way that I can reproduce the numbers of iterations and branch-and-bound nodes when using MIP</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Hi Tsung Yuan Tseng,<br>
<br>
SCIP is deterministic, so if you run the same piece of code on the same <br>
machine you should get the same output.<br>
<br>
However, there is a common behavior of MIP solvers called performance <br>
variability.  If you create the variables or constraints in a different <br>
order, e.g., this may already suffice to change the solving behavior. <br>
Maybe your Python code is prone to such nondeterminism?<br>
<br>
Generally, if you want to compare performance for different versions of <br>
your model, it is recommended to run the models several times with <br>
different random seeds, i.e., changing the parameters <br>
"randomization/permutationseed" and/or "randomization/randomseedshift" <br>
you already posted. (lpseed is automatically changed with randomseedshift.)<br>
<br>
Best,<br>
Ambros<br>
<br>
<br>
<br>
<br>
<br>
Am 26.07.21 um 08:32 schrieb Tseng, Tsung Yuan:<br>
> Dear SCIP team,<br>
> <br>
> <br>
> I use python and SCIP backend to solve the MIP problem.<br>
> <br>
> I try to modify my MIP model, such as adding additional constraints, <br>
> change the format of the constraints, and so on, to see if the <br>
> modification will help with the solving procedure.  For example, I look <br>
> at the number of interactions and branch-and-bound nodes to see whether <br>
> it is helpful. If both numbers decrease, I will say the model is better.<br>
> <br>
> However, when I don't change the model, e.g., constraints, variables, <br>
> the iterations and nodes outputting by the solver are still different, <br>
> which is bad if I want to manipulate the formulation because I cannot <br>
> tell if these are affected by the modified model or the randomness in <br>
> the solver.<br>
> <br>
> I also try<br>
> <br>
> `<br>
> model.SetSolverSpecificParametersAsString("randomization/lpseed=0")<br>
> model.SetSolverSpecificParametersAsString("randomization/permutationseed=0")<br>
> model.SetSolverSpecificParametersAsString("randomization/randomseedshift=0")<br>
> `<br>
> <br>
> but still get different numbers of iterations and nodes after running <br>
> the same piece of code.<br>
> <br>
> In the nutshell, is there any feature that can make the solver reproduce <br>
> the number of iterations and nodes with the same code? (Of course in the <br>
> same setting)<br>
> <br>
> Thank you very much.<br>
> <br>
> <br>
> Best Regards,<br>
> <br>
> Tsung Yuan Tseng<br>
> <br>
> Master Student @ RWTH M.S. Robotic Systems Engineering<br>
> <br>
> My personal website: <a href="https://middleyuan.github.io/">https://middleyuan.github.io/</a>
<br>
> <<a href="https://middleyuan.github.io/">https://middleyuan.github.io/</a>><br>
> <br>
> <br>
> _______________________________________________<br>
> Scip mailing list<br>
> Scip@zib.de<br>
> <a href="https://listserv.zib.de/mailman/listinfo/scip">https://listserv.zib.de/mailman/listinfo/scip</a><br>
> <br>
_______________________________________________<br>
Scip mailing list<br>
Scip@zib.de<br>
<a href="https://listserv.zib.de/mailman/listinfo/scip">https://listserv.zib.de/mailman/listinfo/scip</a><br>
</div>
</span></font>
</body>
</html>