scale of cost parameter results in wrong optimal value and changed solution
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
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
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.