Решите проблему квадратичного программирования с помощью алгоритма KWIK
[x,status]
= mpcqpsolver(Linv,f,A,b,Aeq,beq,iA0,options)
[x,status,iA,lambda]
= mpcqpsolver(Linv,f,A,b,Aeq,beq,iA0,options)
Алгоритм KWIK требует, чтобы матрица Гессиана, H, была положительна определенный. При вычислении Linv
используйте:
[L, p] = chol(H,'lower');
Если p = 0, то H положителен определенный. В противном случае p является положительным целым числом.
mpcqpsolver
обеспечивает доступ к решателю QP, используемому программным обеспечением Model Predictive Control Toolbox™. Используйте эту команду, чтобы решить проблемы QP в ваших собственных приложениях MPC. Для примера пользовательского приложения MPC с помощью mpcqpsolver
смотрите, Решают Пользовательскую проблему Квадратичного программирования MPC и Генерируют Код.
mpcqpsolver
решает проблему QP с помощью активного метода установки, алгоритма KWIK, на основе [1]. Для получения дополнительной информации см. Решатель QP.
Алгоритм KWIK задает ограничения неравенства как вместо , как в команде quadprog
.
[1] Шмид, C. и Л. Т. Биглер. "Методы квадратичного программирования для уменьшаемого Гессиана SQP". Computers & Chemical Engineering. Издание 18, № 9, 1994, стр 817–832.