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

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

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

    Примечание

    Быстрый Режим Accelerator в программном обеспечении Simulink не поддержан для ускорения оптимизации. Для получения дополнительной информации смотрите Режим Accelerator Использования Во время Симуляций.

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

  • Сократите количество настроенных элементов компенсатора или параметров и ограничьте их область значений сужать пространство поиска.

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

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

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

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

    Чтобы узнать больше, смотрите Параллельные вычисления с Методом поиска Шаблона.

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

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

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

    Чтобы узнать больше об ожидаемом ускорении, смотрите Параллельные вычисления с Методом поиска Шаблона.

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

Диагностировать проблему:

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

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

    Чтобы узнать больше, смотрите Зависимости моделей.

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

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