HiGHS icon indicating copy to clipboard operation
HiGHS copied to clipboard

scale of cost parameter results in wrong optimal value and changed solution

Open JonasHatze opened this issue 2 years ago • 3 comments

HiGHS version: v1.4.1 OS: MacOS 13.1 (22C65)

I noticed that when varying one cost parameter in the objective function over -1, -10, -100, -1000, -10000 the results reported by Highs are non-intuitive and suggest wrong behaviour. Here is a short summary of the expected and actual behaviour:

Instance Expected Obj. Actual Obj.
cost_parameter_-1.mps -16 -16
cost_parameter_-10.mps -160 -140
cost_parameter_-100.mps -1600 -1500
cost_parameter_-1000.mps -16000 infeasible
cost_parameter_-10000.mps -160000 -40000

The .mps files to reproduce the behaviour can be found here: cost_parameter_files.zip

JonasHatze avatar Jan 10 '23 13:01 JonasHatze

Thanks. I get anomalous behaviour as the cost parameter increases, but not quite the same as you. I'm using v1.4.1, but on Linux, not MacOS. I suspect that the inherent cause is the same - it's just that there are arithmetic differences. I've also run cost_parameter_-10000.mpswith valgrind, and get no memory issues.

Investigating

jajhall avatar Jan 11 '23 14:01 jajhall

The issue isn't related to presolve, as aberrant behaviour still occurs with --presolve=off. Indeed, without presolve the solver stalls, suggesting a problem solving nodes with the LP solver.

jajhall avatar Jan 11 '23 18:01 jajhall