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

Примечание

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

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

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

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

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 — Display, только если функция не сходится.

  • 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 содержит данные x, resnorm, residual, exitflag, output, lambda и jacobian.

После того, как вы экспортировали информацию от приложения Оптимизации до рабочего пространства MATLAB, вы видите свои данные в браузере рабочего пространства MATLAB или путем введения имени структуры в Командном окне. Чтобы видеть значение поля в структуре или возразить, дважды кликните имя в окне Workspace. Также смотрите значения путем ввода exportname.fieldname в командной строке. Например, поэтому см. сообщение в выходной структуре, введите 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-файлу из Командного окна.

Похожие темы