Квадратичное программирование и конусное программирование

Решите задачи с квадратичными целями и линейными ограничениями или с коническими ограничениями

Прежде чем вы начнете решать задачу оптимизации, необходимо выбрать соответствующий подход: основанный на проблеме или основанный на решателе. Для получения дополнительной информации смотрите Первый выбор Основанный на проблеме или Основанный на решателе подход.

Для основанного на проблеме подхода создайте переменные задачи, а затем представьте целевую функцию и ограничения с точки зрения этих символьных переменных. Для выполнения основанных на проблеме шагов смотрите Рабочий процесс оптимизации на основе задач. Чтобы решить полученную задачу, используйте solve.

Для шагов, основанных на решателе, включая определение целевой функции и ограничений, и выбор соответствующего решателя, см. «Настройка задачи оптимизации на основе решателя». Чтобы решить полученную задачу, используйте quadprog или coneprog.

Функции

расширить все

evaluateВычислите выражение оптимизации
infeasibilityНарушение ограничений в точке
optimproblemСоздайте задачу оптимизации
optimvarСоздайте переменные оптимизации
solveРешите задачу оптимизации или уравнения
coneprogРешатель второго порядка конического программирования
optimwarmstartСоздайте теплый стартовый объект
quadprogКвадратичное программирование
secondorderconeСоздайте ограничение конуса второго порядка

Задачи Live Editor

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

Объекты

SecondOrderConeConstraintОбъект ограничения конуса второго порядка

Темы

Основанное на проблеме квадратичное программирование

Квадратичное программирование с связанными ограничениями: основанное на проблеме

Показывает, как решить основанную на проблеме квадратичную задачу программирования с связанными ограничениями с помощью различных алгоритмов.

Большая разреженная квадратичная программа, основанная на проблеме

Показывает, как решить большую разреженную квадратичную программу с помощью основанного на проблеме подхода.

Ограниченное квадратичное программирование, основанное на проблеме

Пример, показывающий крупномасштабное основанное на проблеме квадратичное программирование.

Квадратичное программирование для оптимизации портфеля, основанное на проблеме

Пример, показывающий основанное на проблеме квадратичное программирование на базовой модели портфеля.

Квадратичное программирование на основе решателя

Квадратичная минимизация со связанными ограничениями

Пример квадратичного программирования с ограничениями и различными опциями.

Квадратичное программирование с многими линейными ограничениями

Этот пример показывает преимущество алгоритма активного набора для задач с многими линейными ограничениями.

Квадпрог теплого старта

Показывает, что теплый старт может быть эффективным в большой квадратичной программе.

Лучшие практики теплого старта

Описывает, как лучше всего использовать теплый старт для ускорения повторных решений.

Квадратичная минимизация с плотным структурированным Гессианом

Пример, показывающий, как сохранить память в структурированной квадратичной программе.

Большая разреженная квадратичная программа с алгоритмом внутренней точки

Пример, показывающий, как сохранить память в квадратичной программе с помощью разреженной квадратичной матрицы.

Ограниченное квадратичное программирование, основанное на решателе

Пример, показывающий основанное на решателе крупномасштабное квадратичное программирование.

Квадратичное программирование для задач оптимизации портфеля, основанное на решателе

Пример, показывающий квадратичное программирование на основе решателя на базовой модели портфеля.

Основанное на проблеме программирование конуса второго порядка

Минимизируйте энергию кусочно-линейной системы масса-пружина с помощью конусного программирования, основанного на проблеме

Представляет основанный на проблеме пример программирования конуса.

Сравнение скоростей алгоритмов coneprog

В этом разделе приводится время выполнения для последовательности задач программирования конусов с использованием различных LinearSolver параметры опции.

Запишите ограничения для основанного на проблеме конусного программирования

Требования к solve использовать coneprog для решения задачи.

Программирование конуса второго порядка на основе решателя

Минимизируйте энергию кусочно-линейной системы масса-пружина с помощью конического программирования, основанного на решателе

Решите механическую задачу масса-пружина, используя конусное программирование.

Преобразуйте квадратичные ограничения в ограничения конуса второго порядка

Преобразуйте квадратичные ограничения в coneprog форма.

Преобразуйте квадратичную задачу программирования в программу конуса второго порядка

Преобразуйте квадратичную задачу программирования в задачу конуса второго порядка.

Генерация кода

Генерация кода для квадратурного фона

Необходимые условия для генерации кода С для квадратичной оптимизации.

Сгенерируйте код для quadprog

Изучение основ генерации кода для quadprog решатель оптимизации.

Лучшие практики теплого старта

Описывает, как лучше всего использовать теплый старт для ускорения повторных решений.

Генерация кода оптимизации для приложений реального времени

Исследуйте методы обработки требований в реальном времени в сгенерированном коде.

Основанные на проблеме алгоритмы

Основанные на проблеме алгоритмы оптимизации

Как оптимизационные функции и объекты решают задачи оптимизации.

Запишите ограничения для основанного на проблеме конусного программирования

Требования к solve использовать coneprog для решения задачи.

Поддерживаемые операции с переменными оптимизации и выражениями

Приводит список всех доступных математических операций и операций индексации для переменных оптимизации и выражений.

Алгоритмы и опции

Квадратичные алгоритмы программирования

Минимизация квадратичной целевой функции в n размерностях с только линейными и связанными ограничениями.

Алгоритм программирования конуса второго порядка

Описание базового алгоритма.

Ссылка на опции оптимизации

Исследуйте опции оптимизации.