Отредактируйте параметры оптимизации

Обзор диалогового окна параметров оптимизации

Настройки в диалоговом окне Optimization Parameters являются конкретным алгоритмом.

Если вы изменяете эти настройки и позже хотите возвратиться к значениям по умолчанию, выберите Optimization > Reset Parameters. Если вы добавляете параметры в пользовательские скрипты оптимизации, вы, возможно, должны использовать эту опцию сброса, чтобы заставить все новые параметры появиться в диалоговом окне.

Параметры Оптимизации fmincon

Алгоритм оптимизации fmincon в CAGE использует алгоритм MATLAB® fmincon от продукта Optimization Toolbox™. fmincon оборачивает функцию fmincon так, чтобы можно было использовать функцию для максимизации, а также минимизации. Для получения дополнительной информации смотрите страницу с описанием fmincon в документации Optimization Toolbox, fmincon.

  • Constrained optimization algorithm — Выберите один из алгоритмов функции fmincon: active-set, sqp, interior-point. Попробуйте значение по умолчанию сначала, interior-point. Попробуйте sqp или interior-point с оптимизацией суммы, которая является медленной или имеет проблемы при схождении. Оптимизация, созданная перед Релизом 2010a, не имеет этой установки.

  • Отображение выберите none, iter или final. Эта установка определяет уровень диагностической информации, отображенной в рабочем пространстве MATLAB.

    • 'none' Никакая информация не отображена.

    • iter — Отображает статистическую информацию каждая итерация.

    • final — Отображает статистическую информацию в конце оптимизации.

  • Maximum iterations — Выберите положительное целое число.

    Максимальное количество итераций позволено

  • Maximum function evaluations — Выберите положительное целое число.

    Максимальное количество функциональных оценок позволено

  • Function tolerance — Выберите значение положительной скалярной величины.

    Допуск завершения на значении функции

  • Variable tolerance — Выберите значение положительной скалярной величины.

    Допуск завершения на свободных переменных

  • Constraint tolerance — Выберите значение положительной скалярной величины.

    Допуск завершения на ограничительном нарушении

  • Number of start points — Выберите положительное целое число, N. (N-1) стартовые точки на выполнение сгенерированы в дополнение к начальному значению, заданному в панели Значений Входной переменной.

    Выполнения оптимизации от каждой из стартовых точек N (возможно подвергающийся выполнимости, см. опцию Run from feasible start points only), и лучшее решение выбрано.

    N-1 дополнительные стартовые точки сгенерированы можно следующим образом:

    1. Сгенерируйте 10 000 точек проект набора Холтона, D, по свободным переменным.

    2. Оцените цели и ограничения по D.

    3. Возвратите N-1 допустимые точки с самым низким объективным значением.

      Если нет N-1 допустимых точек, заполняют остающиеся начальные значения с точками с самым низким максимальным ограничительным нарушением.

    Примечание

    Для задач оптимизации точки строго рекомендуется, чтобы вы установили Number of start points на или 1 или 2.

  • Run from feasible start points only — Выберите эту опцию, чтобы отключить все выполнения, которые запускаются с начального значения, которое не удовлетворяет ограничения. Если это условие не соблюдают, об этом сообщают в Output message в панели Solution Information представления Optimization Output.

  • Interface version — Эта опция только включена, когда пользовательский скрипт оптимизации не задает версию, чтобы использовать. Некоторые существующие пользовательские скрипты оптимизации могут потребовать установки версии интерфейса как 2 или 3, согласно версии тулбокса. Версия 3 предпочтительна, но не может работать со всеми старыми скриптами. Смотрите setRunInterfaceVersion для деталей.

Параметры оптимизации NBI

Алгоритм NBI для многоцелевой оптимизации. Для получения дополнительной информации смотрите Настроенную Многоцелевую Оптимизацию.

Просмотрите и отредактируйте опции NBI в диалоговом окне Optimization Parameters.

Опции NBI

  • Tradeoff points per objective pair (Np)

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

    Количество решений для компромисса между вашими целями, которые вы хотите найти, Npts, определяется следующей формулой:

    где

    • Np является числом точек на объективную пару.

    • n является количеством целевых функций.

Отметьте следующее:

  • Для проблем с двумя целями (n = 2),

  • Для проблем с тремя целями (n = 3),

  • Shadow minima options и NBI subproblem options

    Алгоритм NBI использует алгоритм fmincon MATLAB, чтобы решить теневую проблему минимумов и подпроблемы NBI, доступные опции подобны тем для библиотечной функции fmincon. Для получения дополнительной информации об этих опциях смотрите предыдущий раздел, fmincon Параметры Оптимизации.

Для получения дополнительной информации об алгоритме NBI займитесь NBI (Нормальное Граничное Пересечение) Алгоритм.

Параметры оптимизации GA

Алгоритм оптимизации ga в CAGE использует алгоритм ga MATLAB от продукта Global Optimization Toolbox. В CAGE ga оборачивает функцию ga от этого тулбокса так, чтобы можно было использовать функцию для максимизации, а также минимизации. Если вам установили продукт Global Optimization Toolbox, смотрите Генетический алгоритм (Global Optimization Toolbox).

  • Отображение выберите none, iter, final или diagnose. Эта установка определяет уровень диагностической информации, отображенной в рабочем пространстве MATLAB.

    • 'none' Никакая информация не отображена.

    • iter — Отображает статистическую информацию каждая итерация.

    • final — Отображает статистическую информацию в конце оптимизации.

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

  • Crossover function — Выберите функцию, чтобы использовать, чтобы сгенерировать новых членов генеральной совокупности от существующей генеральной совокупности GA перекрестным соединением. Для получения дополнительной информации о каждой функции смотрите раздел Crossover Options в документации Global Optimization Toolbox. Рекомендуется не использовать эвристическую перекрестную функцию для нелинейно ограниченных проблем.

  • Crossover fraction — Выберите скаляр в области значений [0 1]. Этот параметр задает часть следующего поколения кроме элитных дочерних элементов, который производится перекрестным соединением.

  • Mutation function — Выберите функцию, чтобы использовать, чтобы сгенерировать новых членов генеральной совокупности от существующей генеральной совокупности GA мутацией. Часть следующего поколения, кроме элитных дочерних элементов, который производится мутацией, (1 минус Crossover fraction). Кроме того, для нелинейно ограниченных проблем функция мутации должна быть установлена в adaptfeasible.

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

  • Population size — Выберите положительное целочисленное значение. Количество членов генеральной совокупности используется алгоритмом. См. документацию Global Optimization Toolbox для инструкций по установке численности населения.

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

  • Hybrid function — Выберите функцию оптимизации, которая будет выполняться после GA, остановился, чтобы попытаться улучшить значение целевой функции. Обратите внимание на то, что, если алгоритм имеет нелинейные ограничения, гибридной функцией не может быть fminunc или fminsearch. Если любой из этих алгоритмов выбран в этом случае, гибридный алгоритм переключается на fmincon.

  • Stall generations — Выберите положительное целочисленное значение. Алгоритм останавливается, когда средневзвешенное изменение в целевой функции по Stall generations является меньше, чем Function tolerance.

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

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

  • Constraint tolerance – Выберите значение положительной скалярной величины. Этот допуск определяет, выполним ли член генеральной совокупности относительно нелинейных ограничений.

  • Time limit – Выберите значение положительной скалярной величины. Остановки алгоритма после выполнения для количества времени в секундах равняются Time limit.

Параметры оптимизации поиска шаблона

Алгоритм оптимизации patternsearch в CAGE использует алгоритм patternsearch MATLAB от продукта Global Optimization Toolbox. В CAGE patternsearch оборачивает функцию patternsearch от этого тулбокса так, чтобы можно было использовать функцию для максимизации, а также минимизации. Если вам установили продукт Global Optimization Toolbox, смотрите Прямой Поиск (Global Optimization Toolbox).

  • Отображение Выберите none, iter, final или diagnose. Эта установка определяет уровень диагностической информации, отображенной в рабочем пространстве MATLAB.

    • 'none' Никакая информация не отображена.

    • iter — Отображает статистическую информацию в каждой итерации.

    • final — Отображает статистическую информацию в конце оптимизации.

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

  • Time limit – Выберите значение положительной скалярной величины. Остановки алгоритма после выполнения для количества времени в секундах равняются Time limit.

  • Maximum number of iterations — Выберите значение положительной скалярной величины. Этот параметр задает максимальное количество итераций, выполняемых алгоритмом.

  • Maximum function evaluations — Выберите положительное целочисленное значение. Алгоритм останавливается, если количество функциональных оценок достигает этого значения.

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

  • Function tolerance — Выберите значение положительной скалярной величины. Алгоритм останавливается, если расстояние между двумя последовательными значениями целевой функции и размером mesh является оба меньше, чем Function tolerance.

  • Constraint tolerance – Выберите значение положительной скалярной величины. Определите выполнимость относительно нелинейных ограничений.

  • Mesh tolerance — Выберите значение положительной скалярной величины. Алгоритм останавливается, если размер mesh меньше, чем Mesh tolerance.

  • Initial mesh size — Выберите значение положительной скалярной величины. Устанавливает начальный размер mesh для алгоритма поиска шаблона. Не устанавливайте это слишком маленькое значение, когда недостаточный размер может привести к алгоритму, захватываемому в локальных оптимумах.

  • Poll method – Выберите метод опроса из выпадающего списка. Этот параметр устанавливает стратегию опроса, которая будет использоваться алгоритмом поиска шаблона. Обычно GPSPositiveBasis2N и методы MADSPositiveBasis2N будут медленнее, чем методы MADSPositiveBasisNp1 и GPSPositiveBasisNp1. Однако бывшие методы выполняют более полный поиск. Для получения дополнительной информации об этих методах консультируйтесь с документацией Global Optimization Toolbox.

  • Search method — Выберите метод поиска из выпадающего списка. Этот параметр выбирает функцию, которая выполнит поиск в дополнение к выполняемому алгоритмом поиска шаблона. Для автомобильных проблем searchlhs имеет тенденцию выполнять хорошо. Для получения дополнительной информации на возможных методах поиска, консультируйтесь с документацией Global Optimization Toolbox.

Модальные параметры оптимизации

Используйте алгоритм Modal optimization с составной моделью, чтобы выбрать лучший рабочий режим для каждой рабочей точки. Алгоритм использует алгоритм fmincon, чтобы оптимизировать цель для каждого рабочего режима и выбрать лучшее решение.

Modal optimization имеет те же параметры как fmincon плюс два дополнительных параметра:

  • Переменная режима Index to mode free variable — Specify (только для оптимизации, созданной с Мастером Оптимизации). Если вы используете Создать Оптимизацию от Образцового мастера, вы выбираете свою переменную режима во время настройки и не должны устанавливать этот индекс на диалоговом окне Optimization Parameters. Если вы используете Пользовательский Мастер Оптимизации, чтобы создать вашу оптимизацию, то необходимо использовать эту установку, чтобы задать переменную режима.

  • Index to the objective to determine best mode — (Необязательно) Выберите, какая цель (если у вас есть несколько) использовать, чтобы выбрать лучший режим. Значением по умолчанию является 1, таким образом, CAGE использует оптимизированные значения первой цели выбрать лучший режим. Измените индекс, чтобы использовать различную цель.

Смотрите настроенную модальную оптимизацию.

Параметры оптимизации MultiStart

Алгоритм оптимизации MultiStart в CAGE использует алгоритм MultiStart от продукта Global Optimization Toolbox. Алгоритм MultiStart пытается идентифицировать несколько оптимальных решений для каждой рабочей точки. Можно установить подмножество опций алгоритма в CAGE. Если у вас есть Global Optimization Toolbox, смотрите Как GlobalSearch и работа MultiStart (Global Optimization Toolbox).

В CAGE алгоритм MultiStart генерирует точки проекта Sobol и выбирает лучшую, чтобы запустить оптимизацию. Можно задать количество стартовых точек и других опций в диалоговом окне Optimization Parameters.

  • Number of start points — Выберите количество стартовых точек на рабочую точку (значением по умолчанию является 10).

  • Start point set type — Выберите Sobol Set (заполняющие пространство стартовые точки) или Random (случайные стартовые точки).

  • Start points to run — Выберите all или bounds-ineqs. Используйте bounds-ineqs, чтобы запустить только выполнимые стартовые точки, которые соответствуют ограничениям.

  • Run start points in parallel — Выберите never или always, чтобы запустить каждую стартовую точку параллельно. Гарантируйте, что опция оптимизации Distribute Runs выключена для стартовых точек, чтобы запуститься параллельно. Смотрите Параллельные вычисления в Оптимизации.

  • Tolerance for separate objective values — Задайте, как далеко независимо объективные значения должны быть должны квалифицировать как отдельные локальные оптимумы.

  • Tolerance for separate solutions — Задайте, как далеко независимо значения свободной переменной решения должны быть должны квалифицировать как разные решения.

  • Local optimization solver — Задайте опции fmincon. См. fmincon Параметры Оптимизации для этих опций.

Смотрите настроенную оптимизацию MultiStart.

Параметры Оптимизации gamultiobj

Алгоритм gamultiobj использует функцию gamultiobj от продукта Global Optimization Toolbox.

Если у вас есть Global Optimization Toolbox, смотрите Многоцелевую Оптимизацию (Global Optimization Toolbox).

Параметры оптимизации для gamultiobj подобны опциям для GA с некоторыми дополнительными опциями, характерными для gamultiobj. См. Параметры Оптимизации GA и gamultiobj.

Используйте оптимизацию точки, чтобы найти выполнимые стартовые точки для оптимизации суммы, затем выбрать Solution> Create Sum Optimization. CAGE устанавливает численность населения по умолчанию 200 для оптимизации суммы gamultiobj. Если CAGE не находит выполнимое решение, попытайтесь увеличить численность населения в диалоговом окне Optimization Parameters. Более многочисленное население увеличивает шанс нахождения допустимых точек, но занимает больше времени, чтобы вычислить.

Масштабируйте оптимизацию

Меню Optimization содержит опцию к Scale Optimization Items — Выбор это, чтобы переключить масштабирование на и прочь. Когда вы выбираете масштабирование на, цель и ограничительные оценки (приблизительно) масштабируются на область значений [-1 1]. С масштабированием прочь, когда вы запускаете оптимизацию, цель и ограничительные оценки возвращают их необработанные числа.

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

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