Why does Simulink response optimization violate certain constraints specified in the signal constraint dialog like the lower limits for a tunable parameter?

2 views (last 30 days)
I am trying to tune my PI controller while specifying lower limits for the tunable parameters in the controller and signal constraints for my feedback signal. The values that I obtain for my tuned parameters, by starting the Simulink response optimization, is violating the lower limit that I specified for it. In addition to that, my response is violating the signal bounds specified.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 27 Jun 2009
This is an expected behaviour in Simulink Response Optimization product. Under some conditions the gradient based solver (fmincon) will not respect bounds on the parameter values. This is more likely to
happen if it is "difficult" for the signal to satisfy the signal constraint block bounds as the optimizer will focus on the constraint violations before the parameter bounds.
There are a number of ways you can solve this issue:
1) Let the optimizer run and restart it from the point it terminates, i.e., use the result of one run as the initial condition for the next. For the example model I was able to find a solution after restarting the problem twice. There is a restart option under the signal constraint block's menu item Optimization->Optimization Options..., the restarts field is at the bottom left of the dialog with the algorithm combo-box set to Gradient descent(Reset the value).
2) Try a different solver, simplex or if installed the GADS pattern search. Also try starting with simplex and then restarting with the gradient based fmincon.Note that simplex does not support parameter bounds this is an algorithmic limitiation but the algorithm can be used to find a good starting point for the Gardient descent method.
3) Relax the signal constraints, i.e., move them "out" sligthly. This can sometimes force the gradient based solver to follow a different solution trajectory.

More Answers (0)

Tags

No tags entered yet.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!