lanl-ansi / Alpine.jl

A Julia/JuMP-based Global Optimization Solver for Non-convex Programs
https://lanl-ansi.github.io/Alpine.jl/latest/
Other
244 stars 39 forks source link

MOI wrapper and JuMP v0.19 #101

Closed kaarthiksundar closed 2 years ago

kaarthiksundar commented 5 years ago

Remove MPB dependency and move to an MOI interface. This also drops support for Julia 0.6 and 0.7 completely.

kaarthiksundar commented 5 years ago

Other feature list:

  1. SCIP support with SCIP’s MOI interface.
  2. Logging using Memento.jl
  3. Solver support clean up.
  4. Error when model has unbounded variables.
  5. Explicitly drop support for integer and support only binary variables.
  6. Reorganize options and clean display.
  7. Move to MOI style testing.
harshangrjn commented 5 years ago

Since #97 was closed, adding this here. Alpine currently throws error with Gurobi as the mip_solver. This also needs to be fixed.

kaarthiksundar commented 5 years ago

@harshangrjn fyi, this is not going to get released in the near future; I see this getting done end of the calendar year. I am first working on doing this update for Juniper.jl to figure out MOI. Also this update will work only when other solvers are updated to use MOI, for instance Bonmin does not work with the new MOI now and no MINLP local solvers do (hence the push for Juniper.jl so that I can test Alpine.jl with Juniper.jl). Also, feel free to add to the list if any other long-term issues need to be fixed in this update. Meanwhile short-term issues that need to be fixed in the current version of Alpine can be posted as separate issues.

harshangrjn commented 5 years ago

@kaarthiksundar The reason #97 issue was brought back here was because it was closed without solving the Gurobi issue in it. Before closing issues, its probably better to ensure separate new issues are created if there are multiple ones in the same thread, just so that they are not lost.

krishpat commented 5 years ago

Supporting Alpine with Gurobi as the mip_solver will be helpful as Gurobi seems to do better on MIQCPs compared to CPLEX, assuming MIQCPs are in every iteration of the algorithm.

kaarthiksundar commented 5 years ago

@krishpat @harshangrjn Please try using Gurobi in the master branch. It should work now.

harshangrjn commented 5 years ago

@kaarthiksundar Thanks!