ERGO-Code / HiGHS

Linear optimization software
MIT License
989 stars 183 forks source link

Respect problem type and change use of solver choice #2007

Open jajhall opened 3 weeks ago

jajhall commented 3 weeks ago

If solver=pdlp (or simplex or ipm, rather than the default value of choose) HiGHS interprets the specified solver as an requirement for it to be used and solves the relaxation, logging (for example)

Solving LP relaxation since solver = pdlp

This was convenient when LP benchmarking using the MPS file for a MIP, but it's a bit opaque (despite the logging message). It would be better for Highs::run() to respect the problem type.

Now that there is the solve_relaxation option, there's not the need for this convenience, and I'd like to eliminate it, but it would be quite an alarming change if someone was relying on it.

Gurobi (for example) will always solve a MIP as a MIP, using the "Method" parameter to determine how the root LP is solved. That's what we should do (ultimately).