Solver sensitivity to weight parameter & solver options


I’m currently working on an Time-optimal racing MPC problem similar with your time optimal and race example using the acados solver, but I’m having issues with the sensitivity of the solver to the weight parameter and solver options. Specifically, the solver seems to be too sensitive to the weight parameter, making it difficult to achieve robustness of MPC.

I’ve tried adjusting the weight parameter and scaling my objectives and constraints, but the issue persists. I’m wondering if there are any other strategies I can use to address this sensitivity issue.
I suspect that the issue may be related to the external cost function that need an exact hessian or strong non-linearity in the vehicle tire dynamics. FYI, this is my solver options and error messages.


“QP solver returned error status 3 in SQP iteration 1, QP iteration 47”

what can I do to overcome it? Any advice or guidance would be greatly appreciated.

Thanks in advance!


We have experienced simular issues and we have found that due to lack of automatic problem scaling in the SQP step we can get numerically very unstable optimization problems.

We have found that scaling the problem such that all states and costs are in similar ranges as well as ensuring that any tables used (e.g. splines) are fairly smooth helps a lot.

1 Like

Hi Grunnet,

Your suggestion look very interesting. Do you mind giving me more details about how to scale the problem to make sure all states and costs are in similar range? Thanks a lot!

I am indeed interested in such scalings as well!


We do the scaling manually.

Determine the minimum and maximum expected values of both states and cost elements and and rescale your equations such that they are within the same range.

You ofcourse need to retune weights afterwards

OSQP has a built in problem scaling, which you might be able to adapt, but I have not looked into how it works. It is described in section 5