@this_josh
HSL_MA57
v"5.2.0" and v"5.3.2" work fine on my computer.
******************************************************************************
This program contains Ipopt, a library for large-scale nonlinear optimization.
Ipopt is released as open source code under the Eclipse Public License (EPL).
For more information visit https://github.com/coin-or/Ipopt
******************************************************************************
This is Ipopt version 3.14.4, running with linear solver ma57.
Number of nonzeros in equality constraint Jacobian...: 0
Number of nonzeros in inequality constraint Jacobian.: 0
Number of nonzeros in Lagrangian Hessian.............: 0
Total number of variables............................: 1608
variables with only lower bounds: 0
variables with lower and upper bounds: 1608
variables with only upper bounds: 0
Total number of equality constraints.................: 0
Total number of inequality constraints...............: 0
inequality constraints with only lower bounds: 0
inequality constraints with lower and upper bounds: 0
inequality constraints with only upper bounds: 0
iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls
0 1.6079984e+01 0.00e+00 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0
1 1.5984682e+02 0.00e+00 1.11e-16 -1.0 8.98e-02 - 1.00e+00 1.00e+00f 1
2 1.3153805e+01 0.00e+00 1.11e-16 -2.5 9.50e-02 - 9.31e-01 1.00e+00f 1
3 2.6857598e-01 0.00e+00 7.16e-17 -3.8 1.90e-02 - 1.00e+00 1.00e+00f 1
4 2.9613712e-03 0.00e+00 9.62e-17 -5.7 1.91e-04 - 1.00e+00 1.00e+00f 1
5 -1.2048804e-05 0.00e+00 1.11e-16 -8.6 1.86e-06 - 1.00e+00 1.00e+00f 1
Number of Iterations....: 5
(scaled) (unscaled)
Objective...............: -1.2048804298021919e-05 -1.2048804298021919e-05
Dual infeasibility......: 1.1065617247106498e-16 1.1065617247106498e-16
Constraint violation....: 0.0000000000000000e+00 0.0000000000000000e+00
Variable bound violation: 7.4937192784312844e-09 7.4937192784312844e-09
Complementarity.........: 2.5092975443155260e-09 2.5092975443155260e-09
Overall NLP error.......: 2.5092975443155260e-09 2.5092975443155260e-09
Number of objective function evaluations = 6
Number of objective gradient evaluations = 6
Number of equality constraint evaluations = 0
Number of inequality constraint evaluations = 0
Number of equality constraint Jacobian evaluations = 0
Number of inequality constraint Jacobian evaluations = 0
Number of Lagrangian Hessian evaluations = 1
Total seconds in IPOPT = 0.250
EXIT: Optimal Solution Found.
I tried coinhsl
and Ipopt was not happy at runtime:
Exception of type: DYNAMIC_LIBRARY_FAILURE in file "Common/IpLibraryLoader.cpp" at line 67
Exception message: /home/alexis/Bureau/git/HSL.jl/deps/usr/lib/libcoinhsl.so: undefined symbol: dtrmm_
EXIT: Library loading failure.
I tested with the following code:
using HSL, Ipopt, JuMP
UB= rand(1:9, (67,24)) # not really necessary
model = Model()
@variable(model, 0 ≤ x[i= 1:67, j=1:24] ≤ UB[i,j])
@objective(model, Min, sum(x[ii, jj] for ii in 1:67 for jj in 1:24))
opt = optimizer_with_attributes(Ipopt.Optimizer, "linear_solver" => "ma57", "hsllib" => HSL.libhsl_ma57)
# opt = optimizer_with_attributes(Ipopt.Optimizer, "linear_solver" => "ma57", "hsllib" => HSL.libcoinhsl)
set_optimizer(model, opt)
optimize!(model)
I checked what is inside the coinhsl
archive and it’s an old version of MA57 (v3.11.0
).