Ipopt: corrupted double-linked list/julia: malloc.c:3852: _int_malloc: Assertion `chunk_main_arena (fwd)' failed.
freemin7 opened this issue · 2 comments
freemin7 commented
using JuMP, Alpine, Cbc, Ipopt, Pavito
using Juniper
m = Model(optimizer_with_attributes(Alpine.Optimizer, "nlp_solver" => Ipopt.Optimizer, "mip_solver" => Cbc.Optimizer, "minlp_solver" => optimizer_with_attributes(Juniper.Optimizer, "nl_solver"=>optimizer_with_attributes(Ipopt.Optimizer, "print_level"=>0))))
@variable(m, x[1:5], Bin)
@variable(m, y[1:5], Bin)
@variable(m, eps() <= a[1:5] <= 1)
@variable(m, eps() <= b[1:5] <= 1)
#@NLconstraint(m, (a[1]*x[1]+a[2]*x[2]+a[3]*x[3]+a[4]*x[4]+a[5]*x[5] - (b[1]*y[1]+b[2]*y[2]+b[3]*y[3]+b[4]*y[4]+b[5]*y[5]))*((1-a[1]x[1])*(1-a[2]x[2])*(1-a[3]x[3])*(1-a[4]x[4])*(1-a[5]x[5]) - (1-b[1]*y[1])*(1-b[2]*y[2])*(1-b[3]*y[3])*(1-b[4]*y[4])*(1-b[5]*y[5])) >= -0.5)
@NLobjective(m, Min, (a[1]*x[1]+a[2]*x[2]+a[3]*x[3]+a[4]*x[4]+a[5]*x[5] - (b[1]*y[1]+b[2]*y[2]+b[3]*y[3]+b[4]*y[4]+b[5]*y[5]))*((1-a[1]x[1])*(1-a[2]x[2])*(1-a[3]x[3])*(1-a[4]x[4])*(1-a[5]x[5]) - (1-b[1]*y[1])*(1-b[2]*y[2])*(1-b[3]*y[3])*(1-b[4]*y[4])*(1-b[5]*y[5])))
JuMP.optimize!(m)
Leads to either:
corrupted double-linked list
julia: malloc.c:3852: _int_malloc: Assertion `chunk_main_arena (fwd)' failed.
]st
:
[07493b3f] Alpine v0.2.5
[9961bab8] Cbc v0.8.1
[2e9cd046] Gurobi v0.9.14
[b6b21f68] Ipopt v0.6.3
[4076af6c] JuMP v0.21.10
[2ddba703] Juniper v0.7.0
[cd433a01] Pavito v0.3.1
I am not sure how to make this work
freemin7 commented
An update to Ipopt to 0.7.0 seems to have fixed it?
Status `/tmp/Project.toml`
[07493b3f] Alpine v0.2.6 `~/.julia/dev/Alpine`
[9961bab8] Cbc v0.8.1
[2e9cd046] Gurobi v0.9.14
[b6b21f68] Ipopt v0.7.0
[4076af6c] JuMP v0.21.10
[2ddba703] Juniper v0.7.0
[2621e9c9] MadNLP v0.2.0
[76087f3c] NLopt v0.6.3
[cd433a01] Pavito v0.3.1
odow commented
There were some MUMPS issues with Ipopt 0.6 that caused the occasional segfault. I fixed it.