Opened 17 months ago

Closed 3 months ago

#296 closed defect (migrated)

MUMPS solver problems

Reported by: marco.giuntoli Owned by: ipopt-team
Priority: normal Component: Ipopt
Version: 3.11 Severity: normal
Keywords: Cc:

Description

Dears, I'm using IPOPT for some research studies. I'm looking a strange behavior due to IPOPT: in particular, I'm creating an instance of IPOPT inside a for-loop, but the result can be very different, specially in term of iteration numbers. I did some debug analysis and at the end I found this: if I run the ipopt with "print_level" equal to 10, I can see that from two different istance of IPOPT the first different data is this:

FROM INSTANCE 1: Component 1:

DenseVector? "SOL[ 0][ 0]" with 112 elements: SOL[ 0][ 0][ 1]=6.1341458048112744e-002

FROM INSTANCE 2 Component 1:

DenseVector? "SOL[ 0][ 0]" with 112 elements: SOL[ 0][ 0][ 1]=6.1341458048112467e-002

I think that this kind of results becomes from MUMPS solvers. Starting from this point the two instances takes two different ways and the solution can be unstable (doesn't find a solution).

I'm using visual studio 2017, c++, and I'm using IPOPT dll binary. I have tried 3.8, 3.9 and 3.11.0 but the problem reaming the same. Also, I'm using quasi-newton method for Hessian matrix.

Thanks a lot. Marco

Change History (3)

comment:1 follow-up: Changed 16 months ago by stefan

But you are running Ipopt on different problem instances here, right? Then it can (or should) happen that the solution process differs, of course. It is not so nice if the performance of Ipopt changes a lot due when there are only small changes in the problem instance, but I wouldn't know what to do about this.

comment:2 in reply to: ↑ 1 Changed 16 months ago by marco.giuntoli

Dear, thanks for your answer. Basically, this is the pseudo code:

-preparing object function (and its gradient); -preparing constraints function; -preparing jacobian function; -preparing x0;

for (1...N)

end

At each iteration have a different result (the differents starting after the 8th digit) and the interations can be different (from 15 iterations to 45 iterations). I'm using vs2017 with IpOpt?-vc10.dll: I think that this can be the problem. I need to use the same compiler.

Any suggestions? Thanks a lot.

Marco

Replying to stefan:

But you are running Ipopt on different problem instances here, right? Then it can (or should) happen that the solution process differs, of course. It is not so nice if the performance of Ipopt changes a lot due when there are only small changes in the problem instance, but I wouldn't know what to do about this.

comment:3 Changed 3 months ago by stefan

  • Resolution set to migrated
  • Status changed from new to closed

This ticket has been migrated to GitHub and will be followed up there: https://github.com/coin-or/Ipopt/issues/296

Note: See TracTickets for help on using tickets.