PSORLab / EAGO.jl

A development environment for robust and global optimization
MIT License
140 stars 16 forks source link

Error from a user-defined branch-and-bound implementation #39

Closed ca0h closed 4 years ago

ca0h commented 4 years ago

Ran into the following error when using EAGO's branch-and-bound with user-defined subroutines

ArgumentError: heap must be non-empty
Stacktrace:
 [1] fathom!(::IntervalExt, ::Optimizer{GLPK.Optimizer,Ipopt.Optimizer}) at ...\.julia\packages\DataStructures\SAI1X\src\heaps\minmax_heap.jl:265
 [2] fathom!(::Optimizer{GLPK.Optimizer,Ipopt.Optimizer}) at ...\.julia\packages\EAGO\nX0UV\src\eago_optimizer\optimize.jl:761
 [3] global_solve!(::Optimizer{GLPK.Optimizer,Ipopt.Optimizer}) at ...\.julia\packages\EAGO\nX0UV\src\eago_optimizer\optimize.jl:837
 [4] optimize!(::Optimizer{GLPK.Optimizer,Ipopt.Optimizer}) at ...\.julia\packages\EAGO\nX0UV\src\eago_optimizer\optimize.jl:875
......

EAGO version: 0.3.1 DataStructures versionL 0.17.5

mewilhel commented 4 years ago

Thanks for the feedback. There is a known issue I'm currently correcting which centers around how to round up the solution to the upper bounding problem. I had adjusted the EAGO's default approach to this for a particularly poorly scaled problem and this seems to have thrown off some more typical problems.

Would you mind sending me the full script you ran (either pasted as an issue or via email if that's more comfortable), so I can confirm that the solution I'm working on resolves this issue?

ca0h commented 4 years ago

Sent via email.