options = systuneOptions returns
the default option set for the systune command.
options = systuneOptions(Name,Value) creates
an option set with the options specified by one or more Name,Value pair
arguments.
Input Arguments
Name-Value Pair Arguments
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:
'Display'
Amount of information to display during systune runs.
Display takes the following values:
'final' — Display a one-line
summary at the end of each optimization run. The display includes
the best achieved values for the soft and hard constraints, fSoft and gHard.
The display also includes the number of iterations for each run.
'sub' — Display the result
of each optimization subproblem.
When you designate some design goals as hard goals, the software
divides the optimization into subproblems. First, the software attempts
to satisfy the hard goals. Then, it attempts to minimize the soft
goals, subject to remaining in a parameter-space region in which the
hard goals are satisfied. When you select 'sub',
the report includes the results of each of these subproblems.
'iter' — Display optimization
progress after each iteration. The display includes the value after
each iteration of the objective parameter being minimized. The objective
parameter is whichever is larger of the hard constraints or the scaled
soft constraints. The display also includes a progress value that
indicates the percent change in the constraints from the previous
iteration.
'off' — Run in silent mode,
displaying no information during or after the run.
Default: 'final'
'MaxIter'
Maximum number of iterations in each optimization run, when
the run does not converge to within tolerance.
Default: 300
'RandomStart'
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).
Default: 0
'UseParallel'
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
selected in your Parallel Computing Toolbox preferences,
then the software starts a parallel pool using the settings in those
preferences.
If Automatically create a parallel pool is
not selected in your preferences, then the software performs the optimization
runs successively, without parallel processing.
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.
Default: false
'SoftTarget'
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.
Default: 0
'SoftTol'
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.
Default: 0.001
'SoftScale'
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.
Default: 1
'MinDecay'
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.
Default: 1e-7
Output Arguments
options
Option set containing the specified options for the systune command.
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.
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.
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.