0
$\begingroup$

Here in the documentation of mosek (https://docs.mosek.com/latest/pythonfusion/debugging-numerical.html)

we see:

Never use a very large number as replacement for infinity . Instead define the variable or constraint as unbounded from below/above. Similarly, avoid artificial huge bounds if you expect they will not become tight in the optimal solution.

why is that the case?

I was recommended to look up a book in interior point method but unfortunately I don't have access. Could someone give me a high-level explanation why large bounds are can be bad for computational complexity?

$\endgroup$
1
  • $\begingroup$ I don't have an explanation, but the linked book can be found for free on Library Genesis $\endgroup$
    – whpowell96
    Commented Jan 31 at 16:45

1 Answer 1

1
$\begingroup$

It looks like MOSEK's founder has replied your question, it is pretty conclusive answer why they gave that suggestion in the MOSEK manual.

I can also tell you that if a bound is given as an actual infinity then you can do further simplifications and reduce the numerical error in the intermediate steps of the algorithm. If it is a very large number, then you cannot remove it and you have to do arithmetic with large numbers.

Doing arithmetic with numbers of different magnitudes on a computer is bad. For example $10^{17} - 1 = 10^{17}$, so you will not be able to compute some quantities accurately.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.