exponenta event banner

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

Как ускорить оптимизацию?

  • Время оптимизации определяется временем, которое требуется для моделирования модели. При оптимизации модели Simulink ® можно включить режим Accelerator, выбравAccelerator из раскрывающегося списка в разделе «Моделирование» в редакторе Simulink, чтобы значительно сократить время оптимизации.

    Примечание

    Режим Rapid Accelerator в программе Simulink не поддерживается для ускорения оптимизации. Дополнительные сведения см. в разделе Использование режима ускорителя во время моделирования.

  • Выбор решателя ОДУ также может существенно повлиять на общее время оптимизации. Используйте жесткий решатель, когда моделирование занимает много небольших шагов, и используйте решатель с фиксированным шагом, когда такие решатели дают достаточно точное моделирование для модели. (Эти решатели должны быть точными во всем пространстве поиска параметров.)

  • Уменьшите число настроенных элементов или параметров компенсатора и ограничьте их диапазон, чтобы уменьшить пространство поиска.

  • При определении неопределенности параметров (недоступной при оптимизации ответов в конструкторе систем управления) следует сохранять небольшое количество значений выборки, поскольку число имитаций растет экспоненциально с числом выборок. Например, сетка параметров 3 с 10 значениями выборки для каждого параметра требует 103 = 1000 моделирования на одну итерацию.

Почему результаты оптимизации с параллельными вычислениями и без них различны?

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

  • При использовании параллельных вычислений с Pattern search , поиск является более полным и может привести к другому решению.

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

Почему я не вижу ожидаемого ускорения оптимизации с помощью параллельных вычислений?

  • При оптимизации модели, которая не имеет большого количества параметров или не требует много времени для моделирования, во время оптимизации может не появиться ускорения. В таких случаях накладные расходы, связанные с созданием и распределением параллельных задач, перевешивают преимущества параллельного выполнения оптимизации.

  • Использование Pattern search способ с параллельными вычислениями может не ускорить время оптимизации. Без параллельных вычислений метод останавливает поиск в каждой итерации, когда находит решение лучше, чем текущее решение. Поиск решения-кандидата является более комплексным при использовании параллельных вычислений. Хотя число итераций может быть больше, оптимизация без использования параллельных вычислений может быть более быстрой.

    Дополнительные сведения об ожидаемом ускорении см. в разделе Параллельные вычисления с помощью метода поиска шаблонов.

Почему оптимизация с использованием параллельных вычислений не приводит к какому-либо прогрессу?

Для устранения неполадки:

  1. Выполните оптимизацию для нескольких итераций без параллельных вычислений, чтобы увидеть, идет ли оптимизация.

  2. Проверьте, имеют ли удаленные работники доступ ко всем зависимостям модели. Зависимости модели включают переменные данных и файлы, необходимые для выполнения модели.

    Дополнительные сведения см. в разделе Зависимости модели.

Почему оптимизация с использованием параллельных вычислений не прекращается при нажатии кнопки Остановить оптимизацию?

При использовании параллельных вычислений с Pattern search , программа должна дождаться завершения текущей итерации оптимизации, прежде чем уведомит работников об остановке. Оптимизация не завершается сразу же после нажатия кнопки Остановить (Stop), и вместо этого она продолжает выполняться.