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

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

Можно использовать программное обеспечение 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 метод, смотрите, что Улучшающаяся Производительность Оптимизации Использует Параллельные вычисления.

Похожие темы