Решите задачу квадратичного программирования с помощью алгоритма активного набора
Используя mpcActiveSetSolver
, можно решить задачу квадратичного программирования (QP) с помощью алгоритма активного набора. Эта функция обеспечивает доступ к встроенному активному набору Model Predictive Control Toolbox™ решатель QP.
Используя активный набор решатель может обеспечить быструю и устойчивую эффективность для небольшого и задач оптимизации средней шкалы и в двойной и в одинарной точности.
Этот решатель полезен для:
Усовершенствованные приложения MPC, которые выходят за рамки программного обеспечения Model Predictive Control Toolbox.
Пользовательские приложения QP, включая приложения, которые требуют генерации кода.
В качестве альтернативы можно также получить доступ к встроенной внутренней точке использование решателя QP mpcInteriorPointSolver
.
Алгоритм KWIK требует, чтобы матрица Гессиана H была положительна определенный. При вычислении Linv
, используйте chol
функция.
[L,p] = chol(H,'lower');
Если p
= 0, затем H
положителен определенный. В противном случае, p
положительное целое число.
mpcActiveSetSolver
обеспечивает доступ к активному набору по умолчанию решатель QP, используемый программным обеспечением Model Predictive Control Toolbox. Используйте эту команду, чтобы решить задачи QP в ваших собственных приложениях MPC. Для примера пользовательского использования приложения MPC mpcActiveSetSolver
, смотрите Решают Пользовательскую задачу Квадратичного программирования MPC и Генерируют Код.
mpcActiveSetSolver
решает задачу QP с помощью активного метода установки, алгоритма KWIK, на основе [1]. Для получения дополнительной информации см. Решатели QP.
[1] Шмид, C. и Л.Т. Биглер. "Методы Квадратичного программирования для Уменьшаемого Гессиана SQP". Computers & Chemical Engineering 18, № 9 (сентябрь 1994): 817–32. https://doi.org/10.1016/0098-1354 (94) E0001-4.
mpcActiveSetOptions
| mpcInteriorPointSolver
| quadprog
(Optimization Toolbox)