Set options for systune
options = systuneOptions
options = systuneOptions(Name,Value)
options = systuneOptions returns the default option set for the systune command.
Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.
systuneOptions takes the following Name arguments:
Amount of information to display during systune runs.
Display takes the following values:
Maximum number of iterations in each optimization run, when the run does not converge to within tolerance.
Number of additional optimizations starting from random values of the free parameters in the controller.
If RandomStart = 0, systune performs a single optimization run starting from the initial values of the tunable parameters. Setting RandomStart = N > 0 runs N additional optimizations starting from N randomly generated parameter values.
systune tunes by finding a local minimum of a gain minimization problem. To increase the likelihood of finding parameter values that meet your design requirements, set RandomStart > 0. You can then use the best design that results from the multiple optimization runs.
Use with UseParallel = true to distribute independent optimization runs among MATLAB® workers (requires Parallel Computing Toolbox™ software).
Parallel processing flag.
Set to true to enable parallel processing by distributing randomized starts among workers in a parallel pool. If there is an available parallel pool, then the software performs independent optimization runs concurrently among workers in that pool. If no parallel pool is available, one of the following occurs:
If Automatically create a parallel pool is not selected in your preferences, you can manually start a parallel pool using parpool before running the tuning command.
Using parallel processing requires Parallel Computing Toolbox software.
Target value for soft constraints.
The optimization stops when the largest soft constraint value falls below the specified SoftTarget value. The default value SoftTarget = 0 minimizes the soft constrains subject to satisfying the hard constraints.
Relative tolerance for termination.
The optimization terminates when the relative decrease in the soft constraint value decreases by less than SoftTol over 10 consecutive iterations. Increasing SoftTol speeds up termination, and decreasing SoftTol yields tighter final values.
A priori estimate of best soft constraint value.
For problems that mix soft and hard constraints, providing a rough estimate of the optimal value of the soft constraints (subject to the hard constraints) helps to speed up the optimization.
Minimum decay rate for closed-loop poles.
Constrains all closed-loop pole locations |p| to satisfy Re(p) < -MinDecay. Adjust the minimum value if the optimization cannot meet the default minimum value, or if the default minimum value conflicts with other requirements. For specifying other constraints on the closed-loop pole locations, use TuningGoal.Poles.
Create an options set for a systune run using five random restarts. Also, set the display level to show the progress of each iteration, and increase the relative tolerance of the soft constraint value to 0.01.
options = systuneOptions('RandomStart',5,'Display','iter',... 'SoftTol',0.01);
Alternatively, use dot notation to set the values of options.
options = systuneOptions; options.RandomStart = 5; options.Display = 'iter'; options.SoftTol = 0.01;
Configure an option set for a systune run using 20 random restarts. Execute these independent optimization runs concurrently on multiple workers in a parallel pool.
If you have the Parallel Computing Toolbox software installed, you can use parallel computing to speed up systune tuning of fixed-structure control systems. When you run multiple randomized systune optimization starts, parallel computing speeds up tuning by distributing the optimization runs among workers.
If Automatically create a parallel pool is selected in your preferences, you do not need to manually start a pool.
Create a systuneOptions set that specifies 20 random restarts to run in parallel.
options = systuneOptions('RandomStart',20,'UseParallel',true);
Setting UseParallel to true enables parallel processing by distributing the randomized starts among available workers in the parallel pool.
Use the systuneOptions set when you call systune. For example, suppose you have already created a tunable control system model, CLO. For tuning this system, you have created vectors SoftReqs and HardReqs of TuningGoal requirements objects. These vectors represent your soft and hard constraints, respectively. In that case, the following command uses parallel computing to tune the control system of CL0.
[CL,fSoft,gHard] = systune(CL0,SoftReqs,HardReqs,options);