Randomness in IPOPT solve #469
-
Hi! I am working on the problem of optimizing the cost of delivering power to consumers by solving an NLP containing AC - Power Flow equations as constraints (AC-OPF problem). I observed that two successive runs of IPOPT on the same machine take different paths to converge to the optimal solution from the same starting point. In one of the paths, I observed that the linear solver ma27 requests for more memory to be allocated, and consequently takes longer time to solve. Furthermore, I observed that in this case there is a difference in the way IPOPT did regularization internally (see iterations 52 to end in the cases below). Therefore, I am wondering if there is some randomness involved in the way IPOPT chooses to regularize the hessian matrix. I attaching the solver iterations from the two runs here. Case 1 - [Short Run]
Case 2 - [Long Run]
Thanks, |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments
-
There is no explicit randomness. |
Beta Was this translation helpful? Give feedback.
-
We see similar random behaviour on the same machine and from machine to
machine as well, different iteration counts, different path taken etc. I
haven't tried CNR though, it might be worth a shot.
Damien
…On 5/13/2021 8:31 AM, Stefan Vigerske wrote:
There is no explicit randomness.
Sometimes, using a multithreading feature can introduce nonderterminism.
You could try whether enabling the Strict CNR mode from Intel MKL via
an environment variable does help:
https://software.intel.com/content/www/us/en/develop/articles/introduction-to-the-conditional-numerical-reproducibility-cnr.html
<https://software.intel.com/content/www/us/en/develop/articles/introduction-to-the-conditional-numerical-reproducibility-cnr.html>
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#469 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKBTUWHQSNTERRUJ7S45TLTNPPDXANCNFSM442QQ2VA>.
|
Beta Was this translation helpful? Give feedback.
-
I have also had a similar issue. The convergence property is different on different machines. Enabling the Strict CNR mode doesn't seem to help. Is there any advice on solving this issue? |
Beta Was this translation helpful? Give feedback.
There is no explicit randomness.
Sometimes, using a multithreading feature can introduce nonderterminism.
You could try whether enabling the Strict CNR mode from Intel MKL via an environment variable does help: https://software.intel.com/content/www/us/en/develop/articles/introduction-to-the-conditional-numerical-reproducibility-cnr.html