Unknown SolverReturn value
|Reported by:||guest||Owned by:||ipopt-team|
When using IPOPT to solve a simple optimal control problem (trapezoidal rule discretization), the SolverReturn? value returned is unknown; IPOPT was used through the AMPL interface.
Very likely, the problem is related to an overflow. One (algebraic) expression defining the optimal control problem contains an exponential: exp(beta*(1-r)), where beta=500 and 1<=r<=rMax.
I mistakenly passed the lower bound as 0<=r<=rMax. Ipopt is able to "begin" the iterations, but after iteration 303, the following expection is thrown:
Exception of type: INTERNAL_ABORT in file "IpPDPerturbationHandler.cpp" at line 266:
Exception message: retval evaluated false: get_deltas_for_wrong_inertia returns false.
Finally, IPOPT exits with the following message:
EXIT: INTERNAL ERROR: Unknown SolverReturn? value - Notify IPOPT Authors.
can't open /tmp/at12032.sol
Attached you will find the AMPL code (and run file) which causes this error in a Linux workstation (32-bit executable). To run this example, simply issue the following command at the AMPL prompt:
ampl: include run; [enter]