第27卷 第2期 哈尔滨师范大学自然科学学报 NATURAL SCIENCES JOURNAL OF HARBIN NORMAL UNIVERSITY Vo1.27.No.2 2011 求解凸二次规划的主对偶积极集法 刘 颖,赵 迪 (哈尔滨师范大学) 【摘要】 介绍了求解带有不等式约束凸二次规划的一种主对偶积极集法.通 过凸二次规划KKT条件中的一阶最优性条件和补条件计算出主对偶对( ,s)的 值,若( ,s)不可行则确定新的积极集,算法继续迭代;算法经有限步迭代后,一定 能得到最优解,使算法停止. 关键词:凸二次规划;积极集;主对偶对 法思路,笔者也采用了这种先求部分分量,再求 向量对的想法,考虑带有更一般约束条件Ax≤b 0 引言 二次规划是非线性规划中的一种特殊形式, 由于二次规划比较简单,便于求解,且一些非线 性规划可以转化为一系列二次规划问题,因此二 的凸二次规划问题.可以说此算法是对文献[1] 中算法的延伸和拓展,进而使得算法应用更加广 泛. 次规划算法较早引起了人们的重视.求解一般约 束二次规划问题的算法较多,如积极集法、对偶 方法、Lemke方法和路径跟踪法等等. 1 = + h在这里,笔者提出了一种适用于求解当约束 函数个数等于解的分量个数时的凸二次规划问 题(P)的方法,把它称作主对偶积极集法.这篇 (P) 文章的创作来源于文献[1],文献[1]主要讨论 了求解形如 1 . 其中Q是n×n阶正定阵 =(薹]是n×n阶方 (KKT系统) q( )= s.t. ≤b + d, 、 1/0 凸二次规划问题(P)的相应的KKT系统是 Q +d+As=0 的带有简单盒约束 ≤b凸二次规划的一种不可 行积极集法.首先利用积极集的性质直接得到该 si(a;x-bi)=0, ,2,…,n≤b 问题主对偶对( ,s)的部分分量的值;然后又利 用盒约束的约束特点通过简单计算得到了其余 分量的值;最后验证主对偶对( ,s)是否是KKT 系统的可行点,来判断是否为最优解,如果( ,s) s≥0 其中s∈R 是相应的Lagrange乘子,且称 +d +As=0为一阶最优性条件,称s (0 一b )=0,i =1,2,…, 为补条件.因为(P)是凸二次规划, 所以它的KKT系统的解就是它的最优解.笔者 是不可行点则算法继续迭代.基于文献[1]的算 收稿日期:2011—01—22 第2期 求解凸二次规划的主对偶积极集法 41 都是通过求解此KKT系统来得到问题的最优 解. 该文中主要用到下列符号:., N={1,2, …,n}是指标集;,=Ⅳ\',;I川指集合中元素个数 ; =( l, 2,…, ) ∈R ; ,=( ,) 是指向量 中指标取自J中所有分量 组成的Il,f维向量; Q=(q ) 表示17,阶正定阵;Qu=(q ) J J是 指行指标取自,,列指标取自J的Q中元素组成 的III×I.,I阶矩阵,特别的,当,=J时,Q,,简记 为Q,;A =(0,T) 指A中J∈J行向量组成的l_, l×n矩阵. 2 主对偶积极集法的主要思路和具 体步骤 2.1算法的主要思路 首先,确定初始积极集J={i:a[x=b }和非 积极集,={i:n T ≠b }.显然A =b,,又由KKT 中补条件,易知s的非积极指标下的分量s,=0. 其次,选择 的1.,1个分量{xj: ∈J}使得线 性方程组A =b,对应的系数矩阵 ,7是可逆的. 不妨设J:J,否则可以交换方程组的列使之对 应.于是线性方程组A =b,可以改写为A ,= b J—A Jl。cl,也就奄x J=A 1《、b J-A|Ixl . 再由分块矩阵的性质和KKT系统中的一阶 最优性条件 +d+Ax=0,又分别得到了 和s 的其余分量 ,和s,的值,事实上,因为 +d+ As=0,把它写成分块矩阵的形式就是 (Q )( :)+(兰:)+(三 )( :)=。 即 IQ J J+Q Jlx|+d J+A Jsj+A JIsI 0 QlJxj+QlxI+dl+AIJs J+AIsl=o 因为s,=0, ,=A (bJ—A ,)代入方程组,就 有: I(、Qjl—Q JA lA J| l+A Jsl=一d J—QjA lb| Ql—Q|JA A|I xi+A|Js J=一dl—QlJA tb J 再化回分块矩阵的形式就是: (\JQj, Ql一- QujArf IA Aj1 =ⅣJ,)/(\x..,i, )(\ 进而就可以得到 ,和s,值: ( )=Qj!-QjA r1A j,—.….三二)一 (一-d,j一-QⅣjA4f ' b6j ,I 最后,只需验证( ,s)满足非积极指标下的 约束A ≤b,和积极指标下的s,>10这n个分量 不等式,即可判断 为最优解.如果上面条件成 立, 即为最优解,停止迭代.否则,重新确定积 极集., 循环迭代. 2.2算法的具体步骤 步骤1确定积极集J={ :n T =b },非积 极集,=Ⅳ\ 步骤2计算 ( -dj- QjAfl,b,) 及x J=Ajl b广A Jlxl、) 然后结合分量 ,, ,得到整体向量 的值. 步骤3若A ≤6,且s,>10停止迭代;否则 令J ={i:0iT >b 或s >0},J=J 转步骤1. 在这里值得注意的是,选取初始积极集时必 须保证由它迭代产生的所有A,和 (吕 乏 可 硎 值计算不出来,致使算法在找到最优解之前就中 止了运行,如果出现这种情况,就要重新选取初 始积极集,再执行算法程序,因为共有 个约束 函数,所以初始积极集一共有2 种选择,在这其 中总会有一个初始积极集,能保证由它迭代产生 的所有这些矩阵都是可逆的,进而使算法能顺利 运行,找到最优解. 下面的定理说明,除非算法停止,否则每次 迭代中的积极集都会改变,这样就保证了即使两 次连续迭代中产生同样的主对偶对( ,s),算法 也不会陷入套牢状态,即总会找到最优点使算法 停 3 算法的终止性 定理1 J和', 是算法中两次连续迭代产 生的积极集,则或者当前主对偶对( ,s)满足 KKT系统或者J#J . 证明在这里不妨设定J=J ,来证( ,s) 满足KKT系统. 因为在算法过程中( ,s)的表达式是由一阶 最优性条件和补条件得到的,显然( ,s)也满足 这两个条件,所以只需证明A ≤b和s>10即可. 事实上,因为J:{i:a[x=b },J ={ :0 T >b 或s >0},相应的,={i:a[x≠b },, ={i: 。 ≤b 且S ≤0},所以一方面,由J:J 和, 的 定义可知,V ∈J u, 都一定不存在0 T >b , 42 哈尔滨师范大学自然科学学报 2011年第27卷 即Ax ̄<b.另一方面,由l, 的定义V i∈., ,s >0, 划的最优解,从下面运行结果的表格中可看出。 且已知补条件V i∈N,s (arx—b )=0,则对V i ∈,=, 时si=0,即Vi∈N,s I>0,也就是sI>0. 在应用主对偶积极集法求解这些凸二次规划时, 算法分别经过四至一次迭代就得到了最优解,由 此说明,笔者的算法比文献[1]中算法应用更加 广泛,且算法效率同样较高. 例1 求解约束矩阵A可逆时的凸二次规 划,见表1. 4具体数值例子 最后将主对偶积极集法的具体步骤转换成 了Matlab程序语言,并且用Matlab应用程序求 出了当约束矩阵/l可逆和不可逆时的凸二次规 表1 输入 输出 Q d A b J 最优解 迭代次数 3阶 I 1 2 2 l I1 2 3j I,,2 I 1 1、 4 ,,1 1 1、 厂1 0 0、 j 、 —l (1) 4 l l 2 1 1 l l 1 1 2r,一2 —3 l ,一0.5434、 0.4565 阶 fI I l 2 I l J 6 ,3 一:-l一l 2—3 2 1 I f l 2 l (1) O.4783 l o 3 l 一2/l 1、 1.8043 l 4 6 —5、 2、 ,2 —5 —6 4 /一0.4183、 一2 4 5 3 s7 6 —4 8 —3 3 I 2 5—0.171l 5阶 —7 2 1 3 4 8 2 5 —6 2 4 I 4 6 5 —6 4 7 4 8 一l 一0.4526 0.5845 1.9275 2 5 3 2—1 2 例2 求解约束矩阵A不可逆时的凸二次规划,见表2. 表2 输入 输出 Q d A 6 J 最优解 迭代次数 3阶 f 2 1 —2 I J 一3 I 一f, 2 -4、 5 0、 r,1 5 4、 4 —2 j 1 -7J J 4 6 2 I 6 9 3,J (1) I o.5238 I j o 厂一0.6190、 2 4阶 ,I 316l —243 1—156 3 —47 2 、/ I4 1 1 3] r 厂0.4430、 ( ) lI 1.3238 I 一1.oll4 —o.5243J I 3 ● 5阶 l『 1l 2 3 3 3 l 7 l { 一4 3 —2 —6 4 2 3 4 4 l —4 l l 3 —2 0 4 3 l 2 3 4 5I 1 2 2 2 2 l 、 ,一1、 3 l I 2 一l 5 2 —2 ,,1 4 2 —3 4、 、 ,一79.9750、 一53.350o (4) 7 t0.4375 33.0125 2 / 2 / 5 —4 o 8 —5 514.5250 社,1997. 参 考 文 献 [1] Kuniseh K,Rendl F.An infeasible active set method for quadratic problems with simple bounds[J].Siamj Optim. 14(1):35—52. [3] 陈宝林.最优化理论与算法:第2版[M].北京:清华大学 出版社. [4] 张禾瑞,高等代数[M].北京:高等教育出版社. [5] 刘卫国,陈昭平,张颖.MATLAB程序设计与应用[M].北 京:高等教育出版社. [2] 袁亚湘,孙文瑜.最优化理论与方法[M].北京:科学出版 第2期 求解凸二次规划的主对偶积极集法 43 A Prima1...Dual Active Set Method for Quadratic Problems Liu Ying,Zhao Di (Harbin Normal University) ABSTRACT A Drima1一dual active set method for quadratic problems is presented.A primal—dual pair( ,5) is c0mputed that satisfies the first order optimality condition and the complementarity condition.If( , )is not feaSible。a new active set is determined,and the process is iterated. Sufficient conditions for the iterations t0 stoD in a finite number of steps with an optimal solution are provided. Computational experience indicates this method is practica1. Keywords:Convex quadratic programming;Active set;Primal—dual pair (责任编辑:季春阳) (上接第39页) 出子图连通,即G中任意4个点的导出子图连 通,所以图G是4一点连通图,则由定理3的结 论便得推论.证明结束. 此推论说明了图的连通度较高时,图的关于 完全圈可扩的性质. 参考文献 J A,Murty U S R.Graph Theory with Applications [1] Bondy 『M].New York:Macmillan London and Elsevier,1976. Hendry G R T.Extending cycles in graphs[J].Discrete Math,1990,(85):59—72. 石玉华,曲晓英.强半无爪图的完全圈可扩性[J].山东师 范大学学报:自然科学版,2006,21(2):5—7. Fully Cycle Extensibility of 4一Vertices Connected Graphs Liu Xiaoyan,Gao Guocheng,Shi Zhou (Shandong University of Science and Technology) ABSTRACT In this paper,the fully cycle extensibility of 4一vertices connected graph is studied,and a 4一vertices connected graph whose order isn’t less than 7 is proved to be fully cycle extensible.Then some known results of Hendry and Shi Yuhua are generalized.And an inference is gained. Keywords:Connected;s—vertices connected graph;Fully cycle extensibility (责任编辑:季春阳)