Ускорьте оценку параметра Используя параллельные вычисления

Когда использовать параллельные вычисления для оценки параметра

Можно использовать программное обеспечение Simulink® Design Optimization™ с программным обеспечением Parallel Computing Toolbox™, чтобы ускорить оценку параметра моделей Simulink. Используя параллельные вычисления может уменьшать время оценки в следующих случаях:

  • Модель содержит большое количество параметры, чтобы оценить, и метод оценки задан или как Nonlinear least squares или как Gradient descent.

  • Метод Pattern search выбран как метод оценки.

  • Модель является комплексной и занимает много времени, чтобы моделировать.

Когда вы используете параллельные вычисления, программное обеспечение распределяет независимые симуляции, чтобы запустить их параллельно на нескольких сеансах MATLAB®, также известных как рабочих. Время, требуемое моделировать модель, доминирует над общим временем оценки. Поэтому распределение симуляций значительно уменьшает время оценки.

Для получения информации о том, как программное обеспечение распределяет симуляции и ожидаемое ускорение, смотрите, Как Параллельные вычисления Ускоряют Оценку.

Для получения информации о конфигурировании вашей системы и использовании параллельных вычислений, смотрите Параллельные вычисления Использования для Оценки Параметра.

Как параллельные вычисления ускоряют оценку

Можно включить параллельные вычисления с Nonlinear least squares, Gradient descent и методами оценки Pattern search.

Параллельные вычисления с Методами спуска Нелинейного метода наименьших квадратов и Градиента

Когда вы выбираете Gradient descent как метод оценки, модель моделируется во время следующих вычислений:

  • Объективное вычисление значения — Одна симуляция на итерацию

  • Объективные вычисления градиента — Две симуляции для каждого настроенного параметра на итерацию

  • Вычисления поиска строки — Несколько симуляций на итерацию

Общее время, Ttotal, взятый на итерацию, чтобы выполнить эти симуляции дан следующим уравнением:

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

где T время, потраченное, чтобы моделировать модель, и принято, чтобы быть равным для всех симуляций, Np количество параметров, чтобы оценить, и Nls количество поисковых запросов строки. Nls является трудным оценить, и вы обычно принимаете его, чтобы быть равными один, два, или три.

Когда вы используете параллельные вычисления, программное обеспечение распределяет симуляции, требуемые для объективных вычислений градиента. Время симуляции, взятое на итерацию, когда вычисления градиента выполняются параллельно, TtotalP, приблизительно дан следующим уравнением:

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

где Nw количество работников MATLAB.

Примечание

Уравнение не включает издержки времени, сопоставленные с конфигурированием системы для параллельных вычислений и загрузки программного обеспечения Simulink на удаленных работниках MATLAB.

Ожидаемое сокращение общего времени оценки дано следующим уравнением:

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

Например, для модели с Np=3, Nw=4 и Nls=3, ожидаемое сокращение общего времени оценки равняется 1+2×ceil(34)+31+(2×3)+3=0.6.

Параллельные вычисления с методом поиска Шаблона

Метод Pattern search использует наборы поиска и опроса, чтобы создать и вычислить набор вариантов решения в каждой итерации оценки.

Общее время, Ttotal, взятый на итерацию, чтобы выполнить эти симуляции, дан следующим уравнением:

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

где T время, потраченное, чтобы моделировать модель, и принято, чтобы быть равным для всех симуляций, Np количество параметров, чтобы оценить, Nss фактор для поискового размера набора, и Nps фактор для размера набора опроса. Nss и Nps обычно пропорциональны Np.

Когда вы используете параллельные вычисления, программное обеспечение Simulink Design Optimization распределяет симуляции, требуемые для вычислений набора поиска и опроса, которые оценены в отдельных циклах parfor. Время симуляции, взятое на итерацию, когда наборы поиска и опроса вычисляются параллельно, TtotalP, дан следующим уравнением:

TtotalP=(T×ceil(Np×NssNw))+(T×ceil(Np×NpsNw))=T×(ceil(Np×NssNw)+ceil(Np×NpsNw))

где Nw количество работников MATLAB.

Примечание

Уравнение не включает издержки времени, сопоставленные с конфигурированием системы для параллельных вычислений и загрузки программного обеспечения Simulink на удаленных работниках MATLAB.

Ожидаемые убыстряются в течение общего времени оценки, дан следующим уравнением:

TtotalPTtotal=ceil(Np×NssNw)+ceil(Np×NpsNw)Np×(Nss+Nps)

Например, для модели с Np=3, Nw=4, Nss=15 и Nps=2, ожидаемое ускорение равняется ceil(3×154)+ceil(3×24)3×(15+2)=0.27.

Используя метод Pattern search с параллельными вычислениями может не ускорить время оценки. Когда вы не используете параллельные вычисления, метод прекращает искать вариант решения в каждой итерации, как только это находит решение лучше, чем текущее решение. Когда вы используете параллельные вычисления, поиск варианта решения является более всесторонним. Несмотря на то, что количество итераций может быть больше, оценка, не используя параллельные вычисления может быть быстрее.

Похожие темы