Оптимизируйте или решите уравнения в Live Editor
Задача Оптимизации позволяет вам в интерактивном режиме оптимизировать линейные и нелинейные целевые функции, удовлетворяющие ограничениям различных типов, и решить нелинейные системы уравнений. Задача автоматически генерирует MATLAB® код для вашего live скрипта.
Используя эту задачу, вы можете:
Выберите решатель на основе характеристик вашей задачи. Если у вас есть Global Optimization Toolbox, можно также принять решение использовать его решатели.
Задайте функции цели и ограничения либо путем написания функций, либо путем просмотра функций.
Задайте опции решателя.
Запустите оптимизацию.
Для получения информации о том, как использовать Optimize, смотрите Использование Optimize Live Editor Effective. В настоящее время вы не можете использовать fseminf
, GlobalSearch
, или MultiStart
решатели с Optimize.
Общие сведения о задачах Live Editor см. в разделе Добавление интерактивных задач в Live Script.
Чтобы добавить задачу Оптимизации к live скрипту в РЕДАКТОРА MATLAB, на вкладке Insert Live Editor, выберите Task > Optimize.
Кроме того, в код блоке скрипта введите соответствующее ключевое слово, например optim
или fmincon
. Выберите Optimize из предложенных завершений команды.
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 (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), particleswarm (Global Optimization Toolbox), simulannealbnd (Global Optimization Toolbox) | fminsearch , ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), particleswarm (Global Optimization Toolbox), simulannealbnd (Global Optimization Toolbox) |
Только границы | linprog | quadprog | lsqcurvefit , lsqnonlin , lsqnonneg , lsqlin | fgoalattain , fminbnd , fmincon , fminimax , ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), particleswarm (Global Optimization Toolbox), simulannealbnd (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | fminbnd , ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), particleswarm (Global Optimization Toolbox), simulannealbnd (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) |
Линейный | linprog | quadprog | lsqlin , fmincon | fgoalattain , fmincon , fminimax , ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) |
Линейное + целое число | intlinprog | ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) |
Конус второго порядка | coneprog | fgoalattain , fmincon , fminimax , ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | fgoalattain , fmincon , fminimax , ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | fgoalattain , fmincon , fminimax , ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) |
Нелинейный | fgoalattain , fmincon , fminimax , ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | fgoalattain , fmincon , fminimax , ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | fgoalattain , fmincon , fminimax , ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | fgoalattain , fmincon , fminimax , ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) |
Нелинейное + целое число | ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) | ga (Global Optimization Toolbox), surrogateopt (Global Optimization Toolbox) |
Пример: fmincon
Для функций с дополнительными входами Optimize требует, чтобы вы выбрали переменную оптимизации и определили, какие переменные рабочей области содержат фиксированные входные параметры данных. Для примера смотрите Поместите Переменные Оптимизации в Один Вектор и Данные в Другие Переменные, который содержит три входных параметров функции:
Optimize генерирует код только после того, как вы задаете все входные параметры функции.
Оптимизу не удается проанализировать функцию, содержащую varargin
введите или функцию, содержащую ошибку.
Если вы выбираете из файла целевую или нелинейную функцию ограничения, Optimize добавляет расположение файла к пути MATLAB.
Если Optimize имеет ошибку анализа или если несколько локальных функций имеют одинаковое имя, список доступных локальных функций пуст.
fmincon
| intlinprog
| patternsearch
(Global Optimization Toolbox) | surrogateopt
(Global Optimization Toolbox)