Optimize

Оптимизируйте или решите уравнения в Live Editor

Описание

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

Используя эту задачу, вы можете:

  • Выберите решатель на основе характеристик вашей задачи. Если у вас есть Global Optimization Toolbox, можно также принять решение использовать его решатели.

  • Задайте функции цели и ограничения либо путем написания функций, либо путем просмотра функций.

  • Задайте опции решателя.

  • Запустите оптимизацию.

Для получения информации о том, как использовать Optimize, смотрите Использование Optimize Live Editor Effective. В настоящее время вы не можете использовать fseminf, GlobalSearch, или MultiStart решатели с Optimize.

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

Optimize task in Live Editor

Откройте задачу

Чтобы добавить задачу Оптимизации к live скрипту в РЕДАКТОРА MATLAB, на вкладке Insert Live Editor, выберите Task > Optimize.

Insert an Optimize Live Editor task

Кроме того, в код блоке скрипта введите соответствующее ключевое слово, например optim или fmincon. Выберите Optimize из предложенных завершений команды.

Choosing Optimize from command completion suggestions

Параметры

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

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

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

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

Тип ограниченияТип цели
ЛинейныйКвадратныйНаименьшие квадратыНелинейныйНегладкий
ДобровольныйРешение тривиальноquadproglsqcurvefit, lsqnonlin, lsqnonneg, lsqlinfgoalattain, 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)
Только границыlinprogquadproglsqcurvefit, lsqnonlin, lsqnonneg, lsqlinfgoalattain, 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)
Линейныйlinprogquadproglsqlin, fminconfgoalattain, 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)
Линейное + целое числоintlinprogga (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)
Конус второго порядкаconeprogfgoalattain, 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 требует, чтобы вы выбрали переменную оптимизации и определили, какие переменные рабочей области содержат фиксированные входные параметры данных. Для примера смотрите Поместите Переменные Оптимизации в Один Вектор и Данные в Другие Переменные, который содержит три входных параметров функции:

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

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

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

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

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

Введенный в R2020b