Приложение оптимизации

Примечание

Приложение Оптимизации предупреждает, что будет удалено в будущем релизе. Для альтернатив смотрите Альтернативы Приложения Оптимизации.

Основы приложения оптимизации

Как открыть приложение оптимизации

Чтобы открыть приложение Оптимизации, ввести

optimtool

в Командном окне. Это открывает приложение Оптимизации, как показано на следующем рисунке.

Можно также запустить приложение Оптимизации с вкладки MATLAB® Apps.

Страница с описанием для приложения Оптимизации обеспечивает изменения для запуска optimtool функция.

Примеры, которые используют Приложение Оптимизации

Следующие примеры документации используют приложение оптимизации:

Шаги для Использования приложения оптимизации

Это - сводка шагов, чтобы настроить вашу задачу оптимизации и представить результаты с приложением Оптимизации.

Пауза и остановка

В то время как решатель работает, вы можете

  • Нажмите Pause, чтобы временно приостановить алгоритм. Чтобы возобновить алгоритм с помощью текущей итерации в то время, когда вы сделали паузу, нажмите Resume.

  • Нажмите Stop, чтобы остановить алгоритм. Окно Run solver and view results отображает информацию для текущей итерации в данный момент, вы нажали Stop.

Можно экспортировать результаты после остановки алгоритма. Для получения дополнительной информации смотрите Экспорт Вашей работы.

Просмотр результатов

Когда решатель завершает работу, окно Run solver and view results отображает причину завершения алгоритма. Чтобы очистить окно Run solver and view results между запусками, нажмите Clear Results.

Сортировка Отображенных Результатов.  В зависимости от решателя и проблемы, результаты могут быть в форме таблицы. Если таблица имеет несколько строк, отсортируйте таблицу путем нажатия на заголовок столбца. Кликните по заголовку снова, чтобы отсортировать результаты наоборот.

Например, предположите, что вы используете приложение Оптимизации, чтобы решить lsqlin проблема описана в Приложении Оптимизации с lsqlin Решателем. Результат появляется следующим.

Чтобы отсортировать результаты по значению, от самого низкого до самого высокого, нажимают Value. Результаты уже были в том порядке, поэтому не меняйте.

Чтобы отсортировать результаты в обратном порядке, самый высокий к самому низкому, нажимают Value снова.

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

Для примера сортировки таблицы, возвращенной gamultiobj Global Optimization Toolbox функционируйте, смотрите Переднюю сторону Парето для Двух Целей (Global Optimization Toolbox).

Если вы экспортируете результаты с помощью File > Export to Workspace, экспортируемые результаты не зависят от отсортированного отображения.

Конечная точка

Final point обновляется, чтобы показать координаты конечной точки когда отключенный алгоритм. Если вы не видите конечную точку, кликните по направленному вверх треугольнику на значке на нижнем левом.

Запуск новой задачи

Сброс Опций и Очистка проблемы.  При выборе File> Reset Optimization Tool сбрасывает описание задачи и опции к исходным значениям по умолчанию. Это действие эквивалентно закрытию и перезапуску приложения.

Чтобы очистить только описание задачи, выберите File> Clear Problem Fields. С этим действием поля в панели Problem Setup and Results сбрасываются к значениям по умолчанию, за исключением выбранного решателя и выбора алгоритма. Любые опции, которые вы изменили от значений по умолчанию в панели Options, не сбрасываются с этим действием.

Установка Настроек для Изменения Решателей.  Чтобы изменить, как ваши опции обработаны в приложении Оптимизации, когда вы изменяете решатели, выберите File> Preferences, который открывает диалоговое окно Preferences, показанное ниже.

Значение по умолчанию, Reset options to defaults, отбрасывает любые опции, которые вы задали ранее в optimtool. При этом выборе можно выбрать опцию Prompt before resetting options to defaults.

В качестве альтернативы можно выбрать Keep current options if possible, чтобы сохранить значения, которые вы изменили. Измененные опции, которые не допустимы с недавно выбранным решателем, сохраняются, но не используются, в то время как активные опции, относящиеся к новому выбранному решателю, используются. Этот выбор позволяет вам пробовать другие решатели своей проблемой, не теряя ваши опции.

Определение некоторых опций

Функции построения графиков

Можно выбрать функцию построения графика, чтобы легко построить различные показатели прогресса, в то время как алгоритм выполняется. Каждый выбранный график чертит отдельную ось в окне рисунка. Если доступно для выбранного решателя, кнопка Stop в окне Run solver and view results, чтобы прервать рабочий решатель. Можно выбрать предопределенную функцию построения графика из приложения Оптимизации, или можно выбрать Custom function, чтобы записать собственное. Функции построения графика, не относящиеся к выбранному решателю, отображаются серым. Следующие списки доступные функции построения графика:

  • CurrentPoint Выберите, чтобы показать гистограмму точки в текущей итерации.

  • Function count — Выберите, чтобы построить количество функциональных оценок в каждой итерации.

  • Function value — Выберите, чтобы построить значение функции в каждой итерации.

  • Norm of residuals — Выберите, чтобы показать гистограмму текущей нормы невязок в текущей итерации.

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

  • Current step — Выберите, чтобы построить размер шага алгоритма в каждой итерации.

  • First order optimality — Выберите, чтобы построить нарушение условий оптимальности для решателя в каждой итерации.

  • Custom function — Введите свою собственную функцию построения графика как указатель на функцию. Чтобы обеспечить больше чем одну функцию построения графика используют массив ячеек, например, путем ввода:

    {@plotfcn,@plotfcn2}
    Запишите пользовательские функции построения графика с тем же синтаксисом как выходные функции. Для получения информации смотрите Синтаксис Выходной функции.

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

Выходная функция

Output function является функцией или набором функций, которые вызывает на каждой итерации алгоритм. Через выходную функцию можно наблюдать оптимизационные величины, такие как значения функции, значения градиента и текущая итерация. Не задайте выходную функцию, единственная выходная функция с помощью указателя на функцию или нескольких выходных функций. Чтобы обеспечить больше чем одну выходную функцию используют cell-массив указателей на функцию в поле Custom function, например, путем ввода:

{@outputfcn,@outputfcn2}

Для получения дополнительной информации о записи выходной функции смотрите Синтаксис Выходной функции.

Отобразите в командном окне

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

  • off (значение по умолчанию) — Не Отображает вывода.

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

  • final with detailed message — Отобразите подробную причину остановки в конце запуска.

  • notify — Отобразите вывод, только если функция не сходится.

  • notify with detailed message — Отобразите подробный вывод, только если функция не сходится.

  • iterative — Отобразите информацию в каждой итерации алгоритма и причины остановки в конце запуска.

  • iterative with detailed message — Отобразите информацию в каждой итерации алгоритма и подробной причины остановки в конце запуска.

Смотрите Расширенные Выходные сообщения для получения информации о подробных сообщениях.

Выбор Show diagnostics перечисляет информацию о задаче и опции, которые изменились от значений по умолчанию.

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

Импортирование и экспортирование вашей работы

Экспорт вашей работы

Диалоговое окно Export to Workspace позволяет вам отправить свою информацию о задаче в рабочее пространство MATLAB как структура или объект, которой можно затем управлять в Командном окне.

Чтобы получить доступ к диалоговому окну Export to Workspace, показанному ниже, выберите File> Export to Workspace.

Можно задать результаты, которые содержат:

  • Информация о задаче и опциях

  • Информация о задаче и опциях, и состоянии решателя, когда остановлен (это означает последнюю точку для большинства решателей, текущую генеральную совокупность для решателей Генетических алгоритмов и лучшую точку, найденную для решателя Моделируемого Отжига),

  • Состояния генераторов случайных чисел rand и randn в начале предыдущего запуска, путем установки флажка Use random states from previous run для применимых решателей

  • Информация об опциях только

  • Результаты выполнения вашей проблемы в приложении Оптимизации

Экспортируемые результаты содержат всю дополнительную информацию. Например, экспортируемая структура результатов для lsqcurvefit содержит данные xresnorm , residualexitflag вывод \lambda, и jacobian.

После того, как вы экспортировали информацию от приложения Оптимизации до рабочего пространства MATLAB, вы видите свои данные в браузере рабочего пространства MATLAB или путем введения имени структуры в Командном окне. Чтобы видеть значение поля в структуре или объекте, дважды кликните имя в окне Workspace. В качестве альтернативы смотрите значения путем ввода exportname.fieldname в командной строке. Например, поэтому см. сообщение в структуре output, введите output.message. Если структура содержит структуры или объекты, можно дважды кликнуть снова в браузере рабочей области или ввести exportname.name2.fieldname в командной строке. Например, чтобы видеть уровень итеративного отображения, содержавшегося в опциях экспортируемой структуры задачи, введите optimproblem.options.Display.

Можно запустить решатель на экспортируемой проблеме в командной строке путем ввода

solver(problem)
Например, если вы экспортировали fmincon проблема под названием optimproblem, можно ввести
fmincon(optimproblem)
Это запускает fmincon на проблеме с сохраненными опциями в optimproblem. Можно осуществить больше контроля над выходными параметрами путем ввода, например,
[x,fval,exitflag] = fmincon(optimproblem)
или используйте любой другой поддерживаемый синтаксис.

Внимание

Для решателей Optimization Toolbox™ приложение Оптимизации импортирует и экспортирует только одну опцию, связанную с бывшим TolFun допуск. Это отображает эту опцию как Function tolerance и использует его в качестве OptimalityTolerance опция. Вы не можете импортировать, экспортировать или изменить FunctionTolerance опция в приложении Оптимизации.

Однако решатели Global Optimization Toolbox не имеют OptimalityTolerance опция. Те решатели могут импортировать, экспортировать и установить FunctionTolerance опция в приложении Оптимизации.

Импорт вашей работы

Сохраняете ли вы опции из функций Optimization Toolbox в Командном окне, или экспортируете ли вы опции, или задачу и опции, из приложения Оптимизации, можно возобновить работу над задачей, используя приложение Оптимизации.

Существует три способа импортировать ваши опции, или проблему и опции, к приложению Оптимизации:

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

    optimtool(options)
  • Выберите File> Import Options в приложении Оптимизации.

  • Выберите File> Import Problem в приложении Оптимизации.

Методы, описанные выше, требуют, чтобы опции, или проблема и опции, присутствовали в рабочем пространстве MATLAB.

Если вы импортируете проблему, которая была сгенерирована с установленным флажком Include information needed to resume this run, начальная точка является последней точкой, сгенерированной в предыдущем запуске. (Для решателей Генетического алгоритма начальная генеральная совокупность является последней генеральной совокупностью, сгенерированной в предыдущем запуске. Для решателя Моделируемого Отжига начальная точка является лучшей точкой, сгенерированной в предыдущем запуске.), Если вы импортируете проблему, которая была сгенерирована с этим снятым флажком, начальная точка (или население) является начальной точкой (или население) предыдущего запуска.

Генерация файла

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

Чтобы экспортировать данные от приложения Оптимизации до файла, выберите File> Generate Code.

Сгенерированный файл получает следующее:

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

  • Опции с текущим выбранным значением опции

Выполнение файла в Командном окне воспроизводит результаты вашей задачи.

Несмотря на то, что вы не можете экспортировать свои проблемные результаты в сгенерированный файл, можно сохранить их в MAT-файле, который можно использовать со сгенерированным файлом, путем экспорта результатов с помощью диалогового окна Export to Workspace, затем сохраняя данные к MAT-файлу из Командного окна.

Похожие темы