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

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

  • Если вы используете поиск шаблона, проверяйте, что вы задали соответствующие максимальные и минимальные значения для всех своих настроенных параметров или элементов компенсатора. Метод поиска шаблона смотрит в этих границах для решения. Когда они установлены в свои значения по умолчанию 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 можно попытаться добавить дополнительные конструктивные требования, которые достигают той же или подобной цели. Например, в дополнение к конструктивным требованиям времени урегулирования на переходном процессе, вы могли добавить конструктивные требования времени урегулирования на графике корневого годографа, который ограничивает местоположение действительных частей полюсов. Путем добавления перекрывающий конструктивные требования таким образом, можно обеспечить оптимизацию, чтобы удовлетворить требования.