Main Content

使用并行计算加快参数估计

何时将并行计算用于参数估计

You can use万博1manbetx®设计优化™带有并行计算工具箱™软件的软件可以加快模型的参数估计。万博1manbetx在以下情况下,使用并行计算可能会减少估计时间:

  • 该模型包含一个要估计的大数参数,并将估计方法指定为nonlinear least squaresor梯度下降

  • 模式搜索选择方法作为估计方法。

  • 该模型很复杂,需要很长时间才能模拟。

当您使用并行计算时,软件将分发独立的模拟以在多个MATLAB上并行运行它们®会议,也称为工作人员。模拟模型所需的时间主导了总估计时间。因此,分发模拟会大大减少估计时间。

有关软件如何分发模拟和预期速度的信息,请参见How Parallel Computing Speeds Up Estimation

For information on configuring your system and using parallel computing, seeUse Parallel Computing for Parameter Estimation

How Parallel Computing Speeds Up Estimation

您可以使用nonlinear least squares,,,,梯度下降一个nd模式搜索估计方法。

与非线性最小二乘和梯度下降方法的平行计算

When you select梯度下降作为估计方法,该模型在以下计算过程中进行模拟:

  • 客观价值计算 - 每次迭代一个模拟

  • Objective gradient computations — Two simulations for every tuned parameter per iteration

  • Line search computations — Multiple simulations per iteration

总时间, t t o t 一个 l ,,,,t一个ken per iteration to perform these simulations is given by the following equation:

t t o t 一个 l = t + (( n p × 2 × t + (( n l s × t = t × (( 1 + (( 2 × n p + n l s

在哪里 t 是模拟模型所花费的时间,并假定所有模拟都相等 n p 是要估计的参数数量,并且 n l s 是行搜索的数量。 n l s 很难估计,通常认为它等于一个,二或三。

当您使用并行计算时the software distributes the simulations required for objective gradient computations. The simulation time taken per iteration when the gradient computations are performed in parallel, t t o t 一个 l p ,大约由以下公式给出:

t t o t 一个 l p = t + (( C e 一世 l (( n p n w × 2 × t + (( n l s × t = t × (( 1 + 2 × C e 一世 l (( n p n w + n l s

在哪里 n w 是MATLAB工人的数量。

笔记

该方程不包括与在远程MATLAB工人上配置系统的系统开销相关的时间开销。万博1manbetx

预期的减少总估计蒂姆e一世sgiven by the following equation:

t t o t 一个 l p t t o t 一个 l = 1 + 2 × C e 一世 l (( n p n w + n l s 1 + (( 2 × n p + n l s

例如,对于具有np=3,,,,nw=4,,,,一个ndnls=3,,,,the expected reduction of the total estimation time equals 1 + 2 × C e 一世 l (( 3 4 + 3 1 + (( 2 × 3 + 3 = 0.6

p一个rallel Computing with the Pattern search Method

模式搜索方法使用搜索和轮询集在每次估计迭代中创建和计算一组候选解决方案。万博 尤文图斯

总时间, t t o t 一个 l ,,,,t一个ken per iteration to perform these simulations, is given by the following equation:

t t o t 一个 l = (( t × n p × n s s + (( t × n p × n p s = t × n p × (( n s s + n p s

在哪里 t 是模拟模型所花费的时间,并假定所有模拟都相等 n p 是要估计的参数数量, n s s 是搜索集大小的因素,并且 n p s 是民意调查集大小的一个因素。 n s s 一个nd n p s 通常与 n p

当您使用并行计算时Simulink Design Optimization软件分发了搜索和轮询设置计算所需的模拟,这些模拟在单独评估parfor(并行计算工具箱)循环。当搜索和轮询集并行计算时,按迭代进行的仿真时间, t t o t 一个 l p ,,,,一世sgiven by the following equation:

t t o t 一个 l p = (( t × C e 一世 l (( n p × n s s n w + (( t × C e 一世 l (( n p × n p s n w = t × (( C e 一世 l (( n p × n s s n w + C e 一世 l (( n p × n p s n w

在哪里 n w 是MATLAB工人的数量。

笔记

该方程不包括与在远程MATLAB工人上配置系统的系统开销相关的时间开销。万博1manbetx

总估计时间的预期速度由以下公式给出:

t t o t 一个 l p t t o t 一个 l = C e 一世 l (( n p × n s s n w + C e 一世 l (( n p × n p s n w n p × (( n s s + n p s

例如,对于具有np=3,,,,nw=4,,,,nSS= 15,,,,一个ndnPS=2,,,,the expected speedup equals C e 一世 l (( 3 × 15 4 + C e 一世 l (( 3 × 2 4 3 × (( 15 + 2 = 0.27

使用模式搜索使用并行计算的方法可能不会加快估计时间。当您不使用并行计算时,该方法在每次迭代的候选解决方案中找到的解决方案比当前解决方案更好。当您使用并行计算时,候选解决方案搜索更加全面。尽管迭代次数可能更大,但不使用并行计算的估计速度可能更快。

Related Topics