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

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

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

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

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

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

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

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

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

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

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

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

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

    Когда вы используете Задачу Проекта SISO, нажмите Stop Optimization в панели Optimization узла Response Optimization в менеджере по Инструментам Управления и Оценки, когда вы думаете, что текущие оптимизированные сигналы ответа приемлемы.

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

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

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

Что сделать, если ответ становится нестабильным и не восстанавливается?

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

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

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

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