Оптимизация или решение уравнений в интерактивном редакторе
Задача Оптимизировать (Optimize) позволяет интерактивно оптимизировать линейные и нелинейные целевые функции, подверженные ограничениям различных типов, и решать нелинейные системы уравнений. Задача автоматически генерирует код MATLAB ® для сценария в реальном времени.
С помощью этой задачи можно:
Выберите решатель на основе характеристик проблемы. При наличии инструментария глобальной оптимизации можно также использовать его решатели.
Укажите целевую функцию и функцию ограничения путем записи функций или просмотра функций.
Задайте параметры решателя.
Выполните оптимизацию.
Рекомендации по использованию функции «Оптимизировать» см. в разделе Эффективное использование задачи «Оптимизировать интерактивный редактор». В настоящее время вы не можете использовать fseminf, GlobalSearch, или MultiStart решатели с помощью команды Оптимизировать (Optimize).
Общие сведения о задачах Live Editor см. в разделе Добавление интерактивных задач в сценарий Live.
Чтобы добавить задачу «Оптимизировать» в сценарий в режиме реального времени в редакторе MATLAB, на вкладке «Вставка редактора» выберите «Задача» > «Оптимизировать».

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

Objective - Тип целевой функцииLinear | Quadratic | Least squares | Nonlinear | NonsmoothТип целевой функции, определяемый нажатием соответствующей кнопки с меткой. Выбранная целевая функция определяет, какие решатели доступны и какой решатель рекомендуется для задачи (см. Solver).
Constraints - Типы ограниченийUnconstrained | Lower bounds | Upper bounds | Linear inequality | Linear equality | Second-order cone | Nonlinear | IntegerТипы ограничений, задаваемые щелчком по соответствующим кнопкам с метками. Можно указать несколько типов ограничений. Выбранные ограничения определяют, какие решатели доступны и какой решатель рекомендуется использовать для решения проблемы (см. Solver).
Solver - Решатель оптимизацииРешатель оптимизации, используемый MATLAB для решения задачи, определяется выбором решателя из списка доступных решателей. Доступные решатели и рекомендуемый решатель зависят от лицензии и выбранного Objective и Constraints.
Доступные решатели
| Тип ограничения | Тип цели | ||||
|---|---|---|---|---|---|
| Линейный | Квадратный | Наименьшие квадраты | Нелинейный | Негладкий | |
| Добровольный | Решение тривиально | quadprog | lsqcurvefit, lsqnonlin, lsqnonneg, lsqlin | fgoalattain, fminsearch, fminimax , fminunc, fsolve, fzero, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), particleswarm (инструментарий глобальной оптимизации), simulannealbnd(Панель инструментов глобальной оптимизации) | fminsearch, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), particleswarm (инструментарий глобальной оптимизации), simulannealbnd(Панель инструментов глобальной оптимизации) |
| Только границы | linprog | quadprog | lsqcurvefit, lsqnonlin, lsqnonneg, lsqlin | fgoalattain, fminbnd, fmincon, fminimax, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), particleswarm (инструментарий глобальной оптимизации), simulannealbnd (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации) | fminbnd, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), particleswarm (инструментарий глобальной оптимизации), simulannealbnd (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации) |
| Линейный | linprog | quadprog | lsqlin, fmincon | fgoalattain, fmincon, fminimax, ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации) | ga (инструментарий глобальной оптимизации), gamultiobj (инструментарий глобальной оптимизации), paretosearch (инструментарий глобальной оптимизации), patternsearch (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации) |
| Линейный + Целое число | intlinprog | ga (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации) | ga (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации) | ga (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации) | ga (инструментарий глобальной оптимизации), surrogateopt(Панель инструментов глобальной оптимизации) |
| Конус второго порядка | coneprog | 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(Панель инструментов глобальной оптимизации) |
| Нелинейный | 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) требует выбрать переменную оптимизации и указать, какие переменные рабочей области содержат фиксированные входные данные. Например, см. разделы Размещение переменных оптимизации в одном векторе и Данные в других переменных, которые содержат три ввода функций:

Optimize генерирует код только после указания всех входов функций.
Optimize не может выполнить синтаксический анализ функции, содержащей varargin ввод или функция, содержащая ошибку.
Если из файла выбрана целевая или нелинейная функция ограничения, команда Оптимизировать (Optimize) добавляет расположение файла к пути MATLAB.
Если Optimize имеет ошибку синтаксического анализа или если несколько локальных функций имеют одно и то же имя, список доступных локальных функций пуст.
fmincon | intlinprog | patternsearch (инструментарий глобальной оптимизации) | surrogateopt(Панель инструментов глобальной оптимизации)