[Ipopt] continously run IPOPT,but different results

Jonathan Currie jonathan.currie at aut.ac.nz
Thu Apr 18 02:27:24 EDT 2013


Hi Felix,

>From my understanding of the IPOPT algorithm it should return exactly the
same solution for each run of an identical problem, assuming infinite
precision. I see IPOPT does use some random numbers when testing for
dependent equality constraints, perhaps someone could comment on whether
this could cause non-deterministic behaviour?

A couple of important questions for your problem:
1) By slightly different results, how many decimal places are you referring
to?
2) Is your problem very nearly infeasible?
3) Is there a significant dynamic range in your problem (i.e. large range of
numbers)?

Both points 2 and 3 can result in poor numerical stability, which combined
with non-deterministic linear algebra libraries (due to threading, memory
alignment - both inferring a pseudo-random order of floating point
operations), can lead to noticeable differences in the operation of the
algorithm. I have seen this behaviour in CSDP and found it incredibly
difficult to isolate. For more information see the following article:

http://software.intel.com/en-us/articles/getting-reproducible-results-with-i
ntel-mkl

Remember I compiled the OPTI version of IPOPT against a multi-threaded build
of Intel MKL. From the user's point of view, there is not much you can do to
solve this using OPTI. You will need to compile IPOPT yourself using a
sequential build of BLAS/LAPACK and ensure memory alignment does not cause
non-deterministic behaviour, in order to see whether this is causing your
problem. If you can send me your model and associated code I am happy to
have a look for you.

Also, perhaps somebody else on this forum can offer some further ideas on
this problem.

Jonathan Currie
OPTI Developer
 

-----Original Message-----
From: ipopt-bounces at list.coin-or.org [mailto:ipopt-bounces at list.coin-or.org]
On Behalf Of cat fa
Sent: Thursday, 18 April 2013 1:46 a.m.
To: ipopt at list.coin-or.org
Subject: [Ipopt] continously run IPOPT,but different results

        I used IPOPT to solve a NLP problem in Opti Toolbox. I found that
even I ran the same problem, results were always different, although
slightly . "different" meant that the optimal objective the corresponding
decision variables were different between each run.
Total iteration of each run varied.  I was sure there were no stochastic
parameters in my problem.
       I wonder if IPOPT implements any stochastic techniques?


Felix Du
Guangxi Univercity, China
_______________________________________________
Ipopt mailing list
Ipopt at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/ipopt



More information about the Ipopt mailing list