Квадратичное программирование
Решатель для квадратичных целевых функций с линейными ограничениями.
quadprog находит минимум для проблемы заданным
H, A и Aeq являются матрицами, и f, b, beq, lb, ub, и x является векторами.
Можно передать f, lb и ub как векторы или матрицы; смотрите Матричные аргументы.
quadprog
применяется только к основанному на решателе подходу. Для обсуждения двух подходов оптимизации смотрите, Сначала Выбирают Problem-Based or Solver-Based Approach.
x = quadprog(H,f)
x = quadprog(H,f,A,b)
x = quadprog(H,f,A,b,Aeq,beq)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)
x = quadprog(problem)
[x,fval]
= quadprog(___)
[x,fval,exitflag,output]
= quadprog(___)
[x,fval,exitflag,output,lambda]
= quadprog(___)
решает предыдущую проблему, подвергающуюся дополнительным ограничениям x
= quadprog(H
,f
,A
,b
,Aeq
,beq
,lb
,ub
) lb
≤ x ≤
ub
. Входные параметры lb
и ub
являются векторами, удваивается, и ограничения содержат для каждого компонента x
. Если никакие равенства не существуют, устанавливают Aeq = []
и beq = []
.
Если заданные входные границы для проблемы противоречивы, выводом x
является x0
, и выводом fval
является []
.
quadprog
сбрасывает компоненты x0
, которые нарушают границы lb
≤ x ≤
ub
к внутренней части поля, заданного границами. quadprog
не изменяет компоненты, которые уважают границы.
возвращает минимум для x
= quadprog(problem
)problem
, где problem
является структурой, описанной в Описании. Создайте problem
путем экспорта проблемы с помощью приложения Оптимизации; смотрите Экспорт Вашей работы. Также создайте структуру problem
из объекта OptimizationProblem
при помощи prob2struct
.
Можно использовать приложение Оптимизации для квадратичного программирования. Введите optimtool
в командной строке MATLAB® и выберите решатель quadprog - Quadratic programming
. Для получения дополнительной информации см. Приложение Оптимизации.
Можно решить проблемы квадратичного программирования с помощью Основанного на проблеме Setup Оптимизации. Для примеров смотрите Квадратичное программирование.
[1] Коулман, T. F. и И. Ли. “Отражающий Метод Ньютона для Минимизации Квадратичной Функции Согласно Границам на Некоторых Переменных”. SIAM Journal на Оптимизации. Издание 6, Номер 4, 1996, стр 1040–1058.
[2] Жабры, P. E. В. Мюррей и М. Х. Райт. Практическая оптимизация. Лондон: Academic Press, 1981.
[3] Гулд, N. и П. Л. Тойнт. “Предварительно обрабатывая для квадратичного программирования”. Математическое программирование. Серии B, Издание 100, 2004, стр 95–132.
linprog
| lsqlin
| optimoptions
| prob2struct