Speed Up Response Optimization Using Parallel Computing

When to Use Parallel Computing for Response Optimization

You can use Simulink®
Design Optimization™ software with Parallel
Computing Toolbox™ software to speed up the response optimization of a Simulink model. Using parallel computing may reduce model optimization time in
the following cases:

The model contains a large number of tuned parameters, and the
Gradient descent method is selected for
optimization.

The Pattern search method is selected for
optimization.

The model contains a large number of uncertain parameters and uncertain
parameter values.

The model is complex and takes a long time to simulate.

When you use parallel computing, the software distributes independent simulations
to run them in parallel on multiple MATLAB® sessions, also known as workers. Distributing the
simulations significantly reduces the optimization time because the time required to
simulate the model dominates the total optimization time.

How Parallel Computing Speeds Up Optimization

You can enable parallel computing with the Gradient descent and
Pattern search optimization methods. When you enable parallel
computing, the software distributes independent simulations during optimization on
multiple MATLAB sessions. The following sections describe which simulations are
distributed and the potential speedup using parallel computing.

Parallel Computing with the Gradient Descent Method

When you select Gradient descent as the optimization
method, the model is simulated during the following computations:

Constraint and objective value computation — One simulation
per iteration

Constraint and objective gradient computations — Two
simulations for every tuned parameter per iteration

Line search computations — Multiple simulations per
iteration

The total time, Ttotal, taken per iteration to perform these simulations is given by
the following equation:

Ttotal=T+(Np×2×T)+(Nls×T)=T×(1+(2×Np)+Nls)

where T is the time taken to simulate the model and is assumed to be
equal for all simulations, Np is the number of tuned parameters, and Nls is the number of line searches. Nls is difficult to estimate and you generally assume it to be
equal to one, two, or three.

When you use parallel computing, the software distributes the simulations
required for constraint and objective gradient computations. The simulation time
taken per iteration when the gradient computations are performed in parallel, TtotalP, is approximately given by the following equation:

TtotalP=T+(ceil(NpNw)×2×T)+(Nls×T)=T×(1+2×ceil(NpNw)+Nls)

where Nw is the number of MATLAB workers.

Note

The equation does not include the time overheads associated with
configuring the system for parallel computing and loading Simulink software on the remote MATLAB workers.

The expected speedup for the total optimization time is given by the following equation:

TtotalPTtotal=1+2×ceil(NpNw)+Nls1+(2×Np)+Nls

For example, for a model with Np=3,
Nw=4, and
Nls=3, the expected speedup
equals 1+2×ceil(34)+31+(2×3)+3=0.6.

Parallel Computing with the Pattern Search Method

The Pattern search optimization method uses search and poll
sets to create and compute a set of candidate solutions at each optimization
iteration.

The total time, Ttotal, taken per iteration to perform these simulations, is given by
the following equation:

Ttotal=(T×Np×Nss)+(T×Np×Nps)=T×Np×(Nss+Nps)

where T is the time taken to simulate the model and is assumed to be
equal for all simulations, Np is the number of tuned parameters, Nss is a factor for the search set size, and Nps is a factor for the poll set size. Nss and Nps are typically proportional to Np.

When you use parallel computing, Simulink
Design Optimization software distributes the simulations required for the search and
poll set computations, which are evaluated in separate parfor loops. The simulation
time taken per iteration when the search and poll sets are computed in parallel, TtotalP, is given by the following equation:

This website uses cookies to improve your user experience, personalize content and ads, and analyze website traffic. By continuing to use this website, you consent to our use of cookies. Please see our Privacy Policy to learn more about cookies and how to change your settings.