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

Alpine checks solver name - Why? #178

Closed freemin7 closed 2 years ago

freemin7 commented 2 years ago

Why does Alpine check for the string of solvers and throws an error if it is a string it doesn't like? What is trying to be accomplished? I would be interested in finding a better solution.

Relevant code here.

ccoffrin commented 2 years ago

As I recall, this is from an older generation of JuMP when it was not possible if a given solver supports a specific type of problem. I believe this check was trying to check that the given solver supports the "NLPBlock". Presumably now, post MOI, there is a better way to accomplish this check.

blegat commented 2 years ago

I think this is used to set solver-specific solver attributes in case the solver is Ipopt

harshangrjn commented 2 years ago

This is done to access a few solver-specific attributes of Gurobi (soln pool, etc). But this can be made better for other nlp/minlp solvers as it is mainly used for logging purposes.

harshangrjn commented 2 years ago

v0.4.3 addresses this issue.