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

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

Можно использовать программное обеспечение 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 (Parallel Computing Toolbox) циклы. Время симуляции, взятое на итерацию, когда наборы поиска и опроса вычисляются параллельно, 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 метод с параллельными вычислениями не может ускорить время оценки. Когда вы не используете параллельные вычисления, метод прекращает искать вариант решения в каждой итерации, как только это находит решение лучше, чем текущее решение. Когда вы используете параллельные вычисления, поиск варианта решения является более всесторонним. Несмотря на то, что количество итераций может быть больше, оценка, не используя параллельные вычисления может быть быстрее.

Похожие темы