I’d like minimise the sum of a variable using JuMP, here is a MWE:
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))
Now if I run this using either MUMPS
, ma27
, ma77
, or ma87
I get the expected result where all values in x are approximately zero. However, using ma57
gives:
`Input Error: Incorrect objective type.`
julia> opt = optimizer_with_attributes(Ipopt.Optimizer, "linear_solver"=>"ma57")
julia> set_optimizer(model, opt)
julia> optimize!(model)
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
Runtime parameters:
Objective type: METIS_OBJTYPE_CUT
Coarsening type: METIS_CTYPE_RM
Initial partitioning type: METIS_IPTYPE_GROW
Refinement type: Unknown!
Perform a 2-hop matching: No
Number of balancing constraints: 1
Number of refinement iterations: 0
Random number seed: 1860230298
Number of separators: 0
Compress graph prior to ordering: Yes
Detect & order connected components separately: Yes
Prunning factor for high degree vertices: 0.000000
Allowed maximum load imbalance: 1.000
Input Error: Incorrect objective type.
nbrpool statistics
nbrpoolsize: 0 nbrpoolcpos: 0
nbrpoolreallocs: 0
Runtime parameters:
Objective type: METIS_OBJTYPE_CUT
Coarsening type: METIS_CTYPE_RM
Initial partitioning type: METIS_IPTYPE_GROW
Refinement type: Unknown!
Perform a 2-hop matching: Yes
Number of balancing constraints: 1
Number of refinement iterations: 0
Random number seed: 6
Number of separators: 0
Compress graph prior to ordering: Yes
Detect & order connected components separately: No
Prunning factor for high degree vertices: 0.000000
Allowed maximum load imbalance: 1.000
Input Error: Incorrect objective type.
nbrpool statistics
nbrpoolsize: 0 nbrpoolcpos: 0
nbrpoolreallocs: 0
With the line Input Error: Incorrect objective type.
priniting even if the model is set silent (I’m not sure if this is a hint as to what is going on)
I’m getting this with Ipopt.jl
version 1.1.0 and JuMP.jl
version 1.4.0. For the problems I’m working with ma57
is typically the most performant, is there a way I can get it working with this type of objective function?