exponenta event banner

Оптимизировать

Оптимизация или решение уравнений в интерактивном редакторе

Описание

Задача Оптимизировать (Optimize) позволяет интерактивно оптимизировать линейные и нелинейные целевые функции, подверженные ограничениям различных типов, и решать нелинейные системы уравнений. Задача автоматически генерирует код MATLAB ® для сценария в реальном времени.

С помощью этой задачи можно:

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

  • Укажите целевую функцию и функцию ограничения путем записи функций или просмотра функций.

  • Задайте параметры решателя.

  • Выполните оптимизацию.

Рекомендации по использованию функции «Оптимизировать» см. в разделе Эффективное использование задачи «Оптимизировать интерактивный редактор». В настоящее время вы не можете использовать fseminf, GlobalSearch, или MultiStart решатели с помощью команды Оптимизировать (Optimize).

Общие сведения о задачах Live Editor см. в разделе Добавление интерактивных задач в сценарий Live.

Optimize task in Live Editor

Открыть задачу

Чтобы добавить задачу «Оптимизировать» в сценарий в режиме реального времени в редакторе MATLAB, на вкладке «Вставка редактора» выберите «Задача» > «Оптимизировать».

Insert an Optimize Live Editor task

В качестве альтернативы, в блоке кода в сценарии введите соответствующее ключевое слово, например, optim или fmincon. Выберите «Оптимизировать» из предложенных завершений команды.

Choosing Optimize from command completion suggestions

Параметры

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

Типы ограничений, задаваемые щелчком по соответствующим кнопкам с метками. Можно указать несколько типов ограничений. Выбранные ограничения определяют, какие решатели доступны и какой решатель рекомендуется использовать для решения проблемы (см. Solver).

Решатель оптимизации, используемый MATLAB для решения задачи, определяется выбором решателя из списка доступных решателей. Доступные решатели и рекомендуемый решатель зависят от лицензии и выбранного Objective и Constraints.

Доступные решатели

Тип ограниченияТип цели
ЛинейныйКвадратныйНаименьшие квадратыНелинейныйНегладкий
ДобровольныйРешение тривиальноquadproglsqcurvefit, lsqnonlin, lsqnonneg, lsqlinfgoalattain, fminsearch, fminimax , fminunc, fsolve, fzero, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), particleswarm (инструментарий глобальной оптимизации), simulannealbnd(Панель инструментов глобальной оптимизации)fminsearch, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), particleswarm (инструментарий глобальной оптимизации), simulannealbnd(Панель инструментов глобальной оптимизации)
Только границыlinprogquadproglsqcurvefit, lsqnonlin, lsqnonneg, lsqlinfgoalattain, fminbnd, fmincon, fminimax, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), particleswarm (инструментарий глобальной оптимизации), simulannealbnd (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)fminbnd, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), particleswarm (инструментарий глобальной оптимизации), simulannealbnd (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)
Линейныйlinprogquadproglsqlin, fminconfgoalattain, fmincon, fminimax, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)
Линейный + Целое числоintlinprogga (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)ga (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)ga (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)ga (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)
Конус второго порядкаconeprogfgoalattain, fmincon, fminimax, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)fgoalattain, fmincon, fminimax, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)fgoalattain, fmincon, fminimax, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)
Нелинейныйfgoalattain, fmincon, fminimax, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)fgoalattain, fmincon, fminimax, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)fgoalattain, fmincon, fminimax, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)fgoalattain, fmincon, fminimax, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)
Нелинейный + Целое числоga (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)ga (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)ga (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)ga (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)ga (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации)

Пример: fmincon

Совет

  • Для функций с дополнительными вводами команда Оптимизировать (Optimize) требует выбрать переменную оптимизации и указать, какие переменные рабочей области содержат фиксированные входные данные. Например, см. разделы Размещение переменных оптимизации в одном векторе и Данные в других переменных, которые содержат три ввода функций:

    Optimization input = vars, Fixed input y = y, Fixed input w = w.

    Optimize генерирует код только после указания всех входов функций.

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

  • Если из файла выбрана целевая или нелинейная функция ограничения, команда Оптимизировать (Optimize) добавляет расположение файла к пути MATLAB.

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

Представлен в R2020b