В основанной на проблеме оптимизации вы создаете переменные оптимизации, выражения в этих переменных, которые представляют цель и ограничения или которые представляют уравнения, и решаете задачу используя solve
. Для основанных на проблеме шагов, которые необходимо предпринять для задач оптимизации, смотрите Рабочий процесс оптимизации на основе задач. Для решения уравнения смотрите Основанный на проблеме Рабочий процесс для Решения Уравнений.
Прежде чем вы начнете решать задачу оптимизации, необходимо выбрать соответствующий подход: основанный на проблеме или основанный на решателе. Для получения дополнительной информации смотрите Первый выбор Основанный на проблеме или Основанный на решателе подход.
Примечание: Если у вас есть нелинейная функция, которая не состоит из полиномов, рациональных выражений и элементарных функций, таких как exp
, затем преобразуйте функцию в выражение оптимизации при помощи fcn2optimexpr
. Смотрите Преобразование нелинейной функции в выражение оптимизации и Поддерживаемые Операции над Переменными Оптимизации и Выражениями.
Пример основной нелинейной оптимизации см. в разделе «Решение ограниченной нелинейной задачи, основанной на проблеме». Для базового примера смешано-целочисленного линейного программирования смотрите Смешано-Целочисленные Линейные Основы Программирования: Основанные на Проблеме. Для базового примера решения уравнения см. Решение нелинейной системы уравнений, основанная на проблеме.
EquationProblem | Система нелинейных уравнений |
OptimizationConstraint | Ограничения оптимизации |
OptimizationEquality | Ограничения равенства |
OptimizationExpression | Арифметическое или функциональное выражение в терминах переменных оптимизации |
OptimizationInequality | Ограничения неравенства |
OptimizationProblem | Задача оптимизации |
OptimizationVariable | Переменная для оптимизации |
Рабочий процесс оптимизации на основе проблем
Основанные на проблеме шаги для решения задач оптимизации.
Основанный на проблеме рабочий процесс для решения уравнений
Основанные на проблеме шаги для решения уравнений.
Выражения определяют и цель, и ограничения.
Передайте дополнительные параметры в основанном на проблеме подходе
Передайте дополнительные параметры, данные или фиксированные переменные в основанном на проблеме подходе.
Напишите целевую функцию для основанных на проблеме наименьших квадратов
Синтаксические правила для основанных на проблеме наименьших квадратов.
Запишите ограничения для основанного на проблеме конусного программирования
Требования к solve
использовать coneprog
для решения задачи.
Именованный индекс для переменных оптимизации
Как создать и работать с именованными индексами для переменных.
Просмотр или изменение задач оптимизации
Показывает, как просмотреть или изменить элементы задачи, такие как переменные и ограничения.
Исследуйте решение оптимизации
Как оценить решение и его качество.
Установите опции оптимизации
Выходная функция для основанной на проблеме оптимизации
Показывает, как использовать выходную функцию в основанном на проблеме подходе для записи истории итерации и для создания пользовательского графика.
Создайте эффективные задачи оптимизации
Советы для получения более быстрого или более точного решения, когда существуют целочисленные ограничения, и для избежания циклов в создании задачи.
Отделите модель оптимизации от данных
Чтобы создать многоразовые, масштабируемые задачи, отделите модель от данных.
Переменные с запрещенными повторяющимися именами
Решение задачи двух переменных оптимизации с одинаковым именем.
Создайте начальную точку для оптимизации с именованными индексными переменными
В этом примере показано, как создать начальные точки для solve
когда вы назовете индексные переменные при помощи findindex
функция.
Выражение содержит Inf или NaN
Выражения оптимизации, содержащие Inf
или NaN
не может отображаться, и может привести к неожиданным результатам.
Экономьте время, когда ваши целевые и нелинейные функции ограничений разделяют общие расчеты в основанном на проблеме подходе.
Эффект автоматической дифференциации в основанной на проблеме оптимизации
Автоматическая дифференциация уменьшает количество вычислений функции для решения задачи.
Поставка производных в основанном на проблеме рабочем процессе
Как включить информацию о производной в основанную на проблеме оптимизацию, когда автоматические производные не применяются.
Получите сведения о сгенерированной функции
Как найти значения дополнительных параметров в нелинейных функциях, созданных prob2struct
.
Выходная функция для основанной на проблеме оптимизации
Показывает, как использовать выходную функцию в основанном на проблеме подходе для записи истории итерации и для создания пользовательского графика.
Что такое параллельные вычисления в Optimization Toolbox?
Используйте несколько процессоров для оптимизации.
Использование параллельных вычислений в Optimization Toolbox
Выполните оценку градиента параллельно.
Минимизация дорогостоящей задачи оптимизации с помощью Parallel Computing Toolbox™
Пример, показывающий эффективность параллельных вычислений в двух решателях: fmincon
и ga
.
Повышение эффективности при параллельных вычислениях
Исследуйте факторы для ускорения оптимизации.
Основанные на проблеме алгоритмы оптимизации
Как оптимизационные функции и объекты решают задачи оптимизации.
Фон автоматической дифференциации
Узнайте, как работает автоматическая дифференциация.
Поддерживаемые операции с переменными оптимизации и выражениями
Приводит список всех доступных математических операций и операций индексации для переменных оптимизации и выражений.