Ускорение оценки параметра с помощью параллельных вычислений

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

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

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

  • The 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.

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

The 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 метод с параллельными вычислениями не может ускорить время оценки. Когда вы не используете параллельные вычисления, метод останавливает поиск решения-кандидата на каждой итерации, как только находит решение лучше, чем текущее решение. Когда вы используете параллельные вычисления, поиск решения кандидата является более комплексным. Хотя количество итераций может быть больше, оценка без использования параллельных вычислений может быть быстрее.

Похожие темы