Оптимизируйте или решите уравнения в Live Editor
Оптимизировать задача позволяет вам в интерактивном режиме оптимизировать линейные и нелинейные целевые функции, удовлетворяющие ограничениям различных типов и решить нелинейные системы уравнений. Задача автоматически генерирует код MATLAB® для вашего live скрипта.
Используя эту задачу, вы можете:
Выберите решатель на основе характеристик вашей проблемы. Если у вас есть Global Optimization Toolbox, можно принять решение использовать его решатели также.
Задайте цель и ограничительные функции, или путем записи функций или просмотра функции.
Задайте опции решателя.
Запустите оптимизацию.
Для предложений о том, как использовать, Оптимизируйте, смотрите, что Использование Оптимизирует Live Editor Тэска Эффективели. В настоящее время вы не можете использовать fseminf
, GlobalSearch
, или MultiStart
решатели с Оптимизируют.
Для получения общей информации о задачах Live Editor, смотрите, Добавляют Интерактивные Задачи к Live Script.
Чтобы добавить Оптимизировать задачу в live скрипт в редакторе MATLAB, на вкладке Live Editor Insert, выбирают 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) | ga (Global Optimization Toolbox), gamultiobj (Global Optimization Toolbox), paretosearch (Global Optimization Toolbox), patternsearch (Global Optimization Toolbox) |
Линейный + целое число | intlinprog | ga (Global Optimization Toolbox) | ga (Global Optimization Toolbox) | ga (Global Optimization Toolbox) | ga (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
Для функций с дополнительными входными параметрами Оптимизируйте, требует, чтобы вы выбрали переменную оптимизации и задали, какие переменные рабочей области содержат фиксированные вводы данных. Например, смотрите Переменные Оптимизации Места в Одном Векторе и Данные в Других Переменных, которые содержат три входных параметра функции:
Оптимизируйте генерирует код только после того, как вы задаете все входные параметры функции.
Оптимизируйте не может проанализировать функцию, содержащую varargin
введите или функция, которая содержит ошибку.
Если вы выбираете объективную или нелинейную ограничительную функцию из файла, Оптимизируете, добавляет расположение файла к вашему пути MATLAB.
Если Оптимизируют, имеет ошибку анализа или если несколько локальных функций имеют то же имя, список доступных локальных функций пуст.
fmincon
| intlinprog
| patternsearch
(Global Optimization Toolbox) | surrogateopt
(Global Optimization Toolbox)