Runtime bounding of line search in SQP or SQP_RTI

Hi,

I’m curious about these sentences in acados paper (sec. 2.4):

Blockquote
The globalization is not recommended in a real-time setting, since runtime bounds can not be established in general, and the initializations are typically close to the exact solution.

I’m wondering why does it say the runtime bounds cannot be established in general. I think each iteration of line search should be computationally cheap. I guess the author means that, in general we cannot guarantee the number of back tracking iterations that line search takes to meet the termination creteria. But if we set a max_itr to the back tracking line search, e.g. can take maximum 10 iterations, the time for globalization can be bounded. Is my understanding correct? Any feedback would be much appreciated.

Best,
Fenglong

Hi Fenglong,

you are right!
If you have a maximum iteration for the line search it is possible to establish a maximum runtime.

I think the globalization features in acados where added after the submission of this paper.

1 Like

Hi Jonathan,

Thanks for the reply! In my experience, I think globalization is actually quite important even when using SQP_RTI, especially when you do not have good initial guesses (which usually happens at the first a few steps in MPC). I’ve experienced many cases where SQP_RTI failed but using MERIT_BACKTRACKING can really help.

As a user, I’m really expecting to see the globalization feature to be completed (but it’s already performing quite well in my case although you guys marked it as preliminary implementation). Thanks for your great efforts :slight_smile: Cheers!

Best,
Fenglong

1 Like