Для ускорения оптимизации отклика модели Simulink можно использовать программное обеспечение Simulink ® Design Optimization™ с программным обеспечением Parallel Computing Toolbox™. Использование параллельных вычислений может сократить время оптимизации модели в следующих случаях :
Модель содержит большое количество настроенных параметров, и Gradient descent способ выбран для оптимизации.
Pattern search способ выбран для оптимизации.
Модель содержит большое количество неопределенных параметров и неопределенных значений параметров.
Модель сложна и требует много времени для моделирования.
При использовании параллельных вычислений программное обеспечение распределяет независимые симуляции для их параллельного выполнения на нескольких сессиях MATLAB ®, также называемых рабочими. Распределение моделирования значительно сокращает время оптимизации, поскольку время, необходимое для моделирования модели, доминирует над общим временем оптимизации .
Сведения о том, как программное обеспечение распределяет моделирование и ожидаемое ускорение, см. в разделе Как параллельные вычисления ускоряют оптимизацию.
Сведения о настройке системы и использовании параллельных вычислений см. в разделе Использование параллельных вычислений для оптимизации ответа.
Вы можете включить параллельные вычисления с помощью Gradient descent и Pattern search методы оптимизации. При включении параллельных вычислений программное обеспечение распределяет независимые симуляции во время оптимизации в нескольких сеансах MATLAB. В следующих разделах описывается, какое моделирование распределено, и потенциальное ускорение с помощью параллельных вычислений.
При выборе Gradient descent в качестве метода оптимизации модель моделируется во время следующих вычислений:
Расчет ограничений и целевых значений - одно моделирование на одну итерацию
Вычисления зависимостей и целевых градиентов - два моделирования для каждого настроенного параметра на одну итерацию
Вычисления поиска строк - несколько моделирований на одну итерацию
Общее время, , принимаемое за итерацию для выполнения этих моделирований, определяется следующим уравнением:
× (1 + (2 × Np) + Nls)
где - время, затраченное на моделирование модели, и предполагается равным для всех моделирований, - количество настроенных параметров, а - количество поисков строк. трудно оценить, и вы обычно предполагаете, что он равен единице, двум или трем.
При использовании параллельных вычислений программа распределяет моделирование, необходимое для вычисления ограничений и целевых градиентов. Время моделирования, принимаемое за итерацию, когда вычисления градиента выполняются параллельно, , приблизительно задается следующим уравнением:
+ 2 × ceil (NpNw) + Nls)
где - количество работников MATLAB.
Примечание
Уравнение не включает временные накладные расходы, связанные с настройкой системы для параллельных вычислений и загрузкой программного обеспечения Simulink на удаленных рабочих MATLAB.
Ожидаемое ускорение для общего времени оптимизации определяется следующим уравнением:
(2 × Np) + Nls
Например, для модели с Np=3, Nw=4, и Nls=3, ожидаемое ускорение равно × 3) + 3 = 0,6.
Для примера улучшения производительности, достигнутого с помощью Gradient descent см. раздел Повышение производительности оптимизации с помощью параллельных вычислений.
Pattern search способ оптимизации использует наборы поиска и опроса для создания и вычисления набора решений-кандидатов на каждой итерации оптимизации.
Общее время, , принимаемое за итерацию для выполнения этих моделирований, определяется следующим уравнением:
T × Np × (Nss + Nps)
где - время, необходимое для моделирования модели, и предполагается равным для всех моделирований, - количество настроенных параметров, - коэффициент для размера набора поиска, Nps - коэффициент для размера набора опроса. и обычно пропорциональны .
При использовании параллельных вычислений программное обеспечение Simulink Design Optimization распределяет моделирования, необходимые для вычислений набора поиска и опроса, которые оцениваются отдельно. parfor (Панель параллельных вычислений) циклы. Время моделирования, принимаемое за итерацию, когда наборы поиска и опроса вычисляются параллельно, , задается следующим уравнением:
NsNw) + ceil (Np × NpsNw))
где - количество работников MATLAB.
Примечание
Уравнение не включает временные накладные расходы, связанные с настройкой системы для параллельных вычислений и загрузкой программного обеспечения Simulink на удаленных рабочих MATLAB.
Ожидаемая скорость для общего времени оптимизации определяется следующим уравнением:
Np × (Nss + Nps)
Например, для модели с Np=3, Nw=4, Nss=15, и Nps=2, ожидаемое ускорение равно (15 + 2) = 0,27.
Примечание
Использование Pattern search способ с параллельными вычислениями может не ускорить время оптимизации. Дополнительные сведения см. в статье Почему я не вижу ожидаемого ускорения оптимизации с помощью параллельных вычислений?
Пример улучшения производительности, достигаемого с помощью Pattern search см. раздел Повышение производительности оптимизации с помощью параллельных вычислений.