Speed Up Tuning with Parallel Computing Toolbox Software
Commands for tuning fixed-structure control systems such as systune
, looptune
, hinfstruct
(Robust Control Toolbox), or musyn
(Robust Control Toolbox), you can
use the RandomStart
option to run multiple optimization starts using
randomized initial parameter values. Doing so decreases the chances of falling into a local
minimum in parameter space and obtaining a controller that does not perform as well as it
could. However, additional optimization runs take time. If you have a Parallel Computing Toolbox™ license, you can use parallel computing to speed up tuning by distributing
these independent optimization runs among workers.
If Automatically create a parallel pool is not selected in your
Parallel Computing Toolbox preferences (Parallel Computing Toolbox), manually start a parallel pool using
parpool
. For example:
parpool;
If Automatically create a parallel pool is selected in your preferences, you do not need to manually start a pool.
Next, create an options set that specifies multiple random starts and sets the
UseParallel
flag to true
. For example, the
following options set specifies 20 random restarts to run in parallel for tuning with
systune
:
options = systuneOptions('RandomStart',20,'UseParallel',true);
Use the options set when you call the tuning command. For example, if you have already
created a tunable control system model, CL0
, and tunable controller,
and tuning requirement vectors SoftReqs
and
HardReqs
, the following command uses parallel computing to tune the
control system of CL0
with systune
.
[CL,fSoft,gHard,info] = systune(CL0,SoftReq,Hardreq,options);
To learn more about configuring a parallel pool, see the Parallel Computing Toolbox documentation.
See Also
parpool
(Parallel Computing Toolbox) | systuneOptions
| looptuneOptions
| hinfstructOptions
(Robust Control Toolbox) | musynOptions
(Robust Control Toolbox)
Related Topics
- Specify Your Parallel Preferences (Parallel Computing Toolbox)