本文为阅读笔记,仅供学习交流使用!!!
上一篇讲了等式约束和不等式约束的二次规划解法,其中不等式约束的解法使用的是活动集方法。然而在活动集方法中需要识别活动约束,如果约束太多,则计算量相当大。而且活动集方法的编程也不简单。为了解决活动及方法的这些问题,可以使用对偶方法来识别非活动约束,从而把非活动集剔除。为了使这种解法更容易编程实现,使用Hildreth算法来求解对偶二次规划问题。这种解法是根据逐元素搜索得到的,因此不包含矩阵求逆运算。如果约束是线性独立的,而且独立约束个数小于或等于目标变量个数,那么算法是收敛的。然而,如果违反了一项或两项以上条件,目标变量将不会收敛到固定值。迭代将在迭代器到达最大值时终止,算法将给出具有约束的折衷近似最优解。这是该算法在实时应用中的关键优势之一,因为该算法从病态约束问题中自动恢复的能力对于系统运行的安全性至关重要。
一、对偶法
从原始问题转化成对偶问题的推导过程如下。
原不等式约束二次规划问题为: