@@ -27,6 +27,29 @@ const ipopt_statuses = Dict(
27
27
- 199 => :exception , # Internal error
28
28
)
29
29
30
+ const ipopt_internal_statuses = Dict (
31
+ 0 => :Solve_Succeeded ,
32
+ 1 => :Solved_To_Acceptable_Level ,
33
+ 2 => :Infeasible_Problem_Detected ,
34
+ 3 => :Search_Direction_Becomes_Too_Small ,
35
+ 4 => :Diverging_Iterates ,
36
+ 5 => :User_Requested_Stop ,
37
+ 6 => :Feasible_Point_Found ,
38
+ - 1 => :Maximum_Iterations_Exceeded ,
39
+ - 2 => :Restoration_Failed ,
40
+ - 3 => :Error_In_Step_Computation ,
41
+ - 4 => :Maximum_CpuTime_Exceeded ,
42
+ - 5 => :Maximum_WallTime_Exceeded ,
43
+ - 10 => :Not_Enough_Degrees_Of_Freedom ,
44
+ - 11 => :Invalid_Problem_Definition ,
45
+ - 12 => :Invalid_Option ,
46
+ - 13 => :Invalid_Number_Detected ,
47
+ - 100 => :Unrecoverable_Exception ,
48
+ - 101 => :NonIpopt_Exception_Thrown ,
49
+ - 102 => :Insufficient_Memory ,
50
+ - 199 => :Internal_Error ,
51
+ )
52
+
30
53
"""
31
54
IpoptSolver(nlp; kwargs...,)
32
55
@@ -132,7 +155,7 @@ For advanced usage, first define a `IpoptSolver` to preallocate the memory used
132
155
* `zL`: a vector of size `nlp.meta.nvar` to specify initial multipliers for the lower bound constraints
133
156
* `zU`: a vector of size `nlp.meta.nvar` to specify initial multipliers for the upper bound constraints
134
157
135
- All other keyword arguments will be passed to IpOpt as an option.
158
+ All other keyword arguments will be passed to Ipopt as an option.
136
159
See [https://coin-or.github.io/Ipopt/OPTIONS.html](https://coin-or.github.io/Ipopt/OPTIONS.html) for the list of options accepted.
137
160
138
161
# Output
@@ -247,7 +270,7 @@ function SolverCore.solve!(
247
270
if has_bounds (nlp)
248
271
set_bounds_multipliers! (stats, problem. mult_x_L, problem. mult_x_U)
249
272
end
250
- set_solver_specific! (stats, :internal_msg , Ipopt . _STATUS_CODES [status])
273
+ set_solver_specific! (stats, :internal_msg , ipopt_internal_statuses [status])
251
274
set_solver_specific! (stats, :real_time , real_time)
252
275
253
276
try
0 commit comments