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

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

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

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

  • Метод Pattern search выбран для оптимизации.

  • Модель содержит большое количество неопределенных параметров и неопределенных значений параметров.

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

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

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

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

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

Можно включить параллельные вычисления с Gradient descent и методами оптимизации Pattern search. Когда вы включаете параллельные вычисления, программное обеспечение распределяет независимые симуляции во время оптимизации на нескольких сеансах работы с MATLAB. Следующие разделы описывают, какие симуляции распределяются и потенциальное ускорение с помощью параллельных вычислений.

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

Когда вы выбираете 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.

Для примера повышения производительности, достигнутого с методом Gradient descent, смотрите, что Улучшающаяся Производительность Оптимизации Использует Параллельные вычисления.

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

Метод оптимизации 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 с параллельными вычислениями может не ускорить время оптимизации. Чтобы узнать больше, смотрите, Почему я не вижу ускорение оптимизации, я ожидал использовать параллельные вычисления?

Для примера повышения производительности, достигнутого с методом Pattern search, смотрите, что Улучшающаяся Производительность Оптимизации Использует Параллельные вычисления.

Похожие темы