Сходимость оптимизации

Что делать, если оптимизация не приблизится к приемлемому решению?

  • Если вы используете поиск шаблона, проверяйте, что вы указали соответствующие максимальные и минимальные значения для всех настроенных параметров или элементов компенсатора. Метод поиска шаблона находится внутри этих границ для решения. Когда им заданы значения по умолчанию Inf и -Infметод выполняет поиск в пределах ± 100% от начальных значений параметров. В некоторых случаях эта область недостаточно велика, и изменение максимального и минимального значений может расширить область поиска.

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

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

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

    • В Response Optimizer программное обеспечение создает структуру с именем EvalErrors в области Data, когда оптимизация завершается с ошибками. Экспорт этой структуры в MATLAB® Рабочая область и исследуйте его содержимое в командной строке. EvalErrors имеет два поля, Errors и DesignVars, содержащая ошибки, возникшие во время оптимизации, и соответствующие значения конструктивных переменных. Чтобы воспроизвести определенную ошибку, используйте sdo.setValueInModel чтобы запустить модель с помощью конструктивных переменных, которые соответствуют ошибке.

    • В командной строке второй выход sdo.optimize, opt_info, является структурой, которая предоставляет информацию относительно оптимизации. opt_info.exitflag определяет причину прекращения оптимизации. Дополнительные сведения о флагах выхода см. в разделах Флаги выхода и Выходных сообщений.

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

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

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

Что делать, если для сходимости оптимизации требуется много времени, хотя она близка к решению?

  • В Response Optimizer щелкните Stop, чтобы прервать оптимизацию, когда вы считаете, что текущие оптимизированные ответные сигналы приемлемы.

    Когда Вы используете Optimization Based Tuning, щелкните Stop Optimization во вкладке Optimization Response Optimization диалога в Control System Designer, когда Вы думаете, что оптимизированные сигналы ответа тока приемлемы.

  • Если вы используете метод градиентного спуска, попробуйте перезапустить оптимизацию. Перезапуск сбрасывает оценку Гессиана и может ускорить сходимость.

  • Увеличьте допуски сходимости в диалоговом окне Опции Оптимизации (Optimization Options), чтобы форсировать более раннее завершение.

  • Ослабьте некоторые ограничения или требования проекта, чтобы увеличить размер области выполнимости.

Что делать, если реакция становится нестабильной и не восстанавливается?

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

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

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

  • При оптимизации откликов в Control System Designer можно попробовать добавить дополнительные требования к проектированию, которые достигают той же или аналогичной цели. Например, в дополнение к требованию к проектированию времени установления на графике отклика шага, можно добавить требование к проектированию времени установления на графике корня-локуса, который ограничивает расположение реальных частей полюсов. Добавив перекрывающиеся требования проекта таким образом, можно заставить оптимизацию соответствовать требованиям.