1、13第 2 章 线性规划2.1 线性规划的基本定理2.1.1 线性规划发展简史 19 世纪末,康特罗维奇和 F. L. Hitchcock 等研究运输问题,但其工作长期未被人们所知。由于战争的需要,T. C. Koopmans 重新独立研究了运输问题。 1947 年,G. B. Dantzig 发表单纯形法,应用于与国防有关的问题。该法实用而有效。单纯形法被认为是 20 世纪 10 大算法之一(其中还有快速 Fourier 变换算法等) 。 但 1972 年,V. Kell 和 G. Minty 给出病态例子,用单纯形法求解可能要检查遍所有的顶点才能得到最优解,所用时间为 . 故单纯形法为指数
2、时间算法。)2(nO 1979 年,前苏联数学家提出了一种求解 LP 的椭球算法,计算复杂性为( 为输入长度)。该算法在理论上很重要,但计算效率远不如单纯形法有效。26LnO 能否找到有效的多项式时间算法?在此背景下,1984 年,在美国贝尔实验室工作的印度数学家 Karmarkar 给出了一个求解线性规划的新的多项式时间算法,计算复杂性为。通过例题试算,收敛到较好效果,人们希望借助这种算法解决一些领域中的大)(23.5规模问题的计算。 对于现实生活中的大多数实际问题,单纯形法仍然有效. 基于单纯形法可以方便地讨论线性规划的对偶理论,而基于对偶理论可以设计求解 LP 的对偶单纯形法和原始对偶算
3、法及其它算法,因此单纯形法是目前应用最广泛的算法之一。 LP 之所以重要有以下方面的原因: 理论算法发展较完善 现实生活中许多问题可用 LP 近似建模 在非线性规划的求解中,将问题局部线性化处理2.1.2 标准形式与基本定理LP 标准形: nxcxc21mins.t. mibaaiii ,1 , jj , ,0LP 向量形式: xcTins.t. A其中 .mnnmRbR ,14约定: 为决策变量, 为费用(价格)系数, 为目标函数, 为技术系数,jxjcxcT ija为右端项.ib各种形式的线性规划都可以化为标准形:(i) cxmax)in(ii) (引入松弛变量)iiii ba21 0 ,
4、21 iiniii xbxa(iii) (引入剩余变量)iiniix21 ,21iiniii(iv) 无非负限制,令jx ,0 , jjjj yy(v) ,令 (平移变换)0(jjhjjjhx例 2121min as.t. 0 633x,,47421x,令01x 0 , , 222yy标准形: in2ys.t. 631, x472, x1y,00 , ,0 , 4322 x图解法例 15maxs.t. 824132x0 ,21有唯一最优解 。),(例 21maxs.t. 84132x0 ,21有无穷个最优解。例 max15s.t. 12x0,21此问题无上界,从而无有限最优解例 minxs.t
5、. 21 0 ,21x问题无可行解,从而无最优解。由以上几个例子可以看出以下几个结论:(i) 可行域为空集,原问题无可行解;(不可行,无最优解 )(ii) 目标函数可行域上无界;(可行,无有限最优解)(iii) 有唯一最优解; (有最优解,可在顶点达到)(iv) 有无穷多最优解;(有最优解,可在顶点达到)猜想:求解一个 LP 问题可能有三种情况:不可行、无界和有最优解;线性规划若有最优解,则一定可以在可行域的某个“顶点”达到。线性规划的基本定理设可行域的极点为 ,极方向为 .根据多面集的表示定理,任何可)()1(,kx )()1(,ld行点可表示为: ljjkj dx1)(1)(kj1kj ,
6、2,0lj将 x 代入 LP 标准型 , 得到以 为变量的等价 LP:j,ljjkjjcdc1)(1)(mins.t. kj1kj ,2,0lj(i) 可任意大, 因此若对某个 j 有 ,则 随 的增大无限减小, j 0)(jcdjc)(j目标函数值趋向 . 对于这种情形, 称该问题是无界的, 或不存在有限最优解.(ii) 如果对于所有的 j 有 ,这时为极小化目标函数,令 , 0)(jcd ljj2,10LP 简化为16kjjcx1)(mins.t. , kj1 kj ,21,0令 , 显然当 及 时, 目标函数取极小值. 此时必有)()(injkjpcxppjj,0)(1)()(1)(1)
7、( pkjjpkjjljjjj cxcd因此极点 是原 LP 问题的最优解 .)(px定理(基于标准型的线性规划基本定理): 设线性规划问题 xcT mins.t. , bA0的可行域非空,则有下列结论:(1) LP 存在有限最优解的充要条件是所有 .0)(jcd(2) 若 LP 存在有限最优解, 则目标函数的最优值可在某个极点上达到. 2.1.3 极点的代数特征设 , ,其中 为 阶可逆矩阵.mArank)(,NBm记 ,则 ,得 .NBx bNxxbB NBxb1令 ,得001NB称其为(LP)的基本解,对应的矩阵 称为基矩阵,简称基。 的各分量称为基变量,Bx的各分量称为非基变量。Nx注
8、:基本解的个数最多为: 个.mnC例 821x0 ,21引入松弛变量 ,得43821x40 ,117则 4321,012pA(最多有 个基,而 线性相关,故共有 5 个基)64C(i)令 ,则1,21pB24801bx得 T),24()(ii)令 ,则141pB;Txbx)2,08(2)22 (iii) 令 ,则1,33p;TBxbx)0,42(4)13(iv) 令 ,则1,24p;TBxbx )2,04(2)4 (v) 令 ,则10,35p;TBxbx)2,80(28)55若 ,称其为(LP)的基本可行解,对应的矩阵 称为可行基矩阵,01N B简称可行基。5 个基本解,除 外,都是基本可行解
9、。)4(x称 为与基本可行解 (与基 )对应的单纯形乘子。1BcwxB对于 LP,可行域的基本可行解与极点是等价的。引理:设 为 的极点的充要条件是 中与 的所有正分量对应的列线性无关。SxAx定理:在(LP)的标准形中,若 ,则 的极点集mrank)(0 ,|xbARSn与(LP)的基本可行解集相同。可行域的极点与基本可行解是一一对应的:(LP)的最优解可在某极点达到 (LP)的最优解可在某基本可行解处达到若 ,则 有极点若 ,则 有基本可行解SS182.2 单纯形算法2.2.1 基本原理定理: 若(LP)的可行域非空,即 ,且 ,则SmArank)(i) (LP)有基本可行解;(ii) (
10、LP)存在有限最优解的充分必要条件是(LP) 的价格系数与可行集的所有极方向的夹角小于 90 度,即 对 的所有极方向成立;0)(jcd(iii) 若(LP)有有限最优解,则其最优值可在某个基本可行解上达到。线性规划解的代数特征的一个重要应用就是单纯形算法的提出。单纯形法的基本思路:用迭代法从一个基本可行解(极点) 转换到另一个基本可行解(另一极点),每一步转换只将一个非基变量 (指一个分量)变为基变量,称为进基,同时将一个基变量变为非基变量,称为离基。进基变量和出基变量的确定原则:应使新的基本解可行,同时目标函数值有一定的下降。实现该思路的算法要解决以下问题:(1) 选取初始基本可行解( 极
11、点);(2) 判断当前基本可行解是否是最优解,或判断问题无界;(3) 确定进基和离基变量。定理(判定定理):设 为(LP)的一基本可行解,对应基为 。xB(1) (最优判别)若 ,即01cABnipi ,1 ,则 为(LP)的最优基本可行解;x(2) (无界判别)若存在 使 ,且 ,则(LP)无有限最优解,k1kBc0kpB即极小化问题无下界。2.2.2 算法步骤与单纯形表极小化问题的计算步骤: 首先给定一个初始基本可行解,设初始基为 B.(l)计算 ,令 ,计算目标函数值 .bBx10NxBxcf(2)求单纯形乘子 对于所有非基变量,计算判别数 令1cw jjcwpzmaxjkzcz若 ,
12、则对于所有非基变量 ,对应基变量的判别数总是零,停止计算,0kcz 0j现行基本可行解是最优解否则,进行下一步(3)计算 ,若 ,则停止计算,问题不存在有限最优解否则,进行步kkpBy10ky骤(4). 19(4)确定下标 r,使 .0|minikirkyby为离基变址, 为进基变量. 用 替换 ,得到新的基矩阵 B,返回步骤(1).rBxxprB用单纯形方法求解 LP 问题的过程,实际上就是解线性方程组只是在每次迭代中,要按一定规则选择自由未知量,以便能够得到改进的基本可行解这个求解过程可以通过变换 单纯形表 来实现线性规划标准型等价于如下形式 0, )2( 1 s.tminNBxbcf(2
13、)式两端左乘 ,得到1B)3( 11即把基变量的系数矩阵化为单位矩阵.再用 左乘(3)式两端,然后加到(1)式,得到Bc )4( )(011bBcxNBcxf 等价问题: 0, )( s.tmin 11NBBNxbcxcff单纯形表: fBNx右端Bx0 mI1bB1 f1 0 Bcc上半部包含 m 个行,其中 有 个列,对应非基变量 是 m 维列向量N1n1.Tb),(21令非基变量 , 则基变量 0NxbxB1下半部只有 1 行 , 各分量是对应非基变量的判别数.mnnNczcz,1是在现行基本可行解处的目标函数值bBc201Bx rBx mBx jx kx11 0 0 jy1 y1 1b
14、rBx0 1 0 rj rk rmB0 0 1 mjy mky mbf0 0 0 jcz cz cB例: 求解 LP 问题 321 axxzs.t. 72331x408321,x引入松弛变量 , 转化为标准型:654 321- minxzs.t. 734321x12 5208631x,1x选择初始的可行基指标集 , 依次得到的可行基指标集为 , 6540B 6241B.6,21B原问题的最优解为 , 目标函数最大值为 11.*x212.2.3 启动机制1.两阶段法标准形式的线性规划问题:(5)0 .stmin xbAc若 A 中含有 m 阶单位矩阵,则初始基本可行解立即得到若 A 中不包含 m
15、 阶单位矩阵,就需要用某种方法求出一个基本可行解两阶段法的第一阶段提供了求初始基本可行解的方法 为使约束方程的系数矩阵中含有 m 阶单位矩阵,引入非负人工变量:(6)bxa 即(7)xIAam),(显然, 是(7)式的一个基本可行解.ba0若从(7)式已知的基本可行解出发,能求出一个使 的基本可行解,就可得到0ax(5)式的一个基本可行解两阶段法的第一阶段,是用单纯形方法消去人工变量,即把人工变量都变换成非基变量,求出原来问题的一个基本可行解消去人工变量的一种方法是解下列第一阶段问题:(8)0, .st min TaxbAe设线性规划(8)的最优基本可行解是 ,必有三种情形之一:Tax),(1
16、) ,这时线性规划(5)无可行解0ax因为如果(5)存在可行解 ,则 是(8)的可行解在此点,问题(8)目x0a标函数值 fe而 是目标函数的最优值,矛盾aTxe22(2) 且 的分量都是非基变量这时 m 个基变量都是原来的变量,又知0axa是(8)的基本可行解,因此 是(5)的一个基本可行解.a x(3) 且 的某些分量是基变量0axa这时,可用主元消去法,把原来变量中的某些非基变量引进基,替换出基变量中的人工变量,再开始两阶段法的第二阶段两阶段法的第二阶段,就是从得到的基本可行解出发,用单纯形方法求线性规划 (5)的最优解例: 用两阶段法求下列问题的最优解:(9)0, 31 2.st ma
17、x 21x先引进松弛变量 把问题化成标准形式,为使标准形式中约束方程的系数矩阵包543含 3 阶单位矩阵,还要引进人工变量 76,x先解一阶段问题: 7,21 ,0 3 1 2 .st min 51426376jxxj1x23456x761 1 -1 0 0 1 0 271 -1 0 -1 0 0 1 15x1 0 0 0 1 0 0 32 0 -1 -1 0 0 0 312x34x56x76x0 2 -1 1 0 1 -1 111 -1 0 -1 0 0 1 150 1 0 1 1 0 -1 20 2 -1 1 0 0 -2 1231x23x45x67x20 1 -1/2 1/2 0 1/2
18、 -1/2 1/211 0 -1/2 -1/2 0 1/2 1/2 3/25x0 0 1/2 1/2 1 -1/2 -1/2 3/20 0 0 0 0 -1 -1 0在一阶段问题的最优解中,人工变量都是非基变量,得到初始基本可行解:.)23,1(),(54321xx修改最后的单纯形表去掉人工变量 和 下面的列,把最后的判别数行按原来问题6x7进行修正开始第二阶段迭代,即极大化目标函数 21xf1x23452x0 1 -1/2 1/2 0 1/211 0 -1/2 -1/2 0 3/250 0 1/2 1/2 1 3/20 0 -1/2 -3/2 0 5/21x2x3x4x5x4x0 2 -1
19、1 0 111 1 -1 0 0 250 -1 1 0 1 10 3 -2 0 0 41x2x3x4x5x4x0 1 0 1 1 211 0 0 0 1 330 -1 1 0 1 10 1 0 0 2 6得到线性规划(9)的最优解: ),3(,(21x目标函数最优值 6maxf2. 大 M 法基本思想:在约束中增加人工变量 ,同时修改目标函数,加上罚项 在极小a aTxMe化目标函数的过程中,由于大 M 的存在,将迫使人工变量离基线性规划问题(5)引入人工变量后构造新的线性规划问题:24(10)0, . minaTxbAtsMec用单纯形方法求解线性规划(10 ),结果必为下列几种情形之一:(
20、l) 达到线性规划(10)的最优解,且 此时,得到的 x 即为问题(5)的最优0ax解(2)达到线性规划(10)的最优解,且 . 这时,线性规划(5)无可行解aTe如果(5)有可行解,比如说 ,则 , 是(10)的可行解(10)在这一点xx的目标函数值 cMecZT0设(10)的最优解是 , 则最优值axaTxec由于 M 是很大的正数, ,因此 可以很大 ,从而可推知 ,这与 为最0aTe Z优值矛盾(3)规划(10)不存在有限最优值,在单纯形表中,mxjjkczcz0,ay这时,线性规划(5)无界(4)规划(10)不存在有限最优值,在单纯形表中,xjjkczcz 0ky有些人工变量不等于零
21、,即 这时,线性规划(5)无可行解aTe例:用大 M 法求解下列问题: 0, 1234 . min3112xtsx引进松弛变量 和人工变量 ,用单纯形方法解下列问题:5476,x7,21 ,0 1 342 .st )( min 731657321jxx-Mj251x23x45x67x41 -2 1 1 0 0 0 1162 1 -4 0 -1 1 0 37x1 0 -2 0 0 0 1 13M36M0 0 0 M41x23x45x67x40 -2 3 1 0 0 -1 1060 1 0 0 -1 1 -2 11x1 0 -2 0 0 0 1 10 M1 0 M0 3M1x23x45x67x40
22、 0 3 1 -2 2 -5 1220 1 0 0 -1 1 -2 11x1 0 -2 0 0 0 1 10 0 1 0 -1 M212x34x56x7x3x0 0 1 1/3 -2/3 2/3 -5/3 420 1 0 0 -1 1 -2 111 0 0 2/3 -4/3 4/3 -7/3 90 0 0 -1/3 -1/3 M3/3/2-2人工变量 , 原来问题的最优解6x7 )4,19(,(321x目标函数最优值 minf* 单纯形法的改进与推广(自学)退化情形的处理修正单纯形法262.3 线性规划的内点算法2.3.1 Karmarkar 算法线性规划的可行域是多面体,在最优解存在时目标函
23、数的最优值必能在某顶点(极点)取到给定初始可行解后,沿着什么样的路径到达最优解集是各种求解 LP 算法所关心的主要问题单纯形算法沿着多面体的边移动,从一个顶点到达另一个对目标函数有改进的顶点;-椭球算法是一种外点法,从多面体的外部不断地逼近,最后找到它的一个内点-Karmarkar 投影尺度算法是一种内点算法,由初始可行解出发穿越可行域的内部到达最优解1.Karmarkar 投影尺度算法的基本思想Karmarkar 注意到两个基本的事实:(l)如果一个内点居于多面体中心,那么目标函数的最速下降(投影)方向是比较好的可行方向;(2)在不改变问题基本特性条件下,存在一个适当的变换,能将可行域中给定
24、内点置于变换后可行域的中心。根据这两个基本事实,Karmarkar 构造了一个求解 LP 问题的投影尺度算法Karmarkar 投影尺度算法的基本思想:(1) 选定一个内点解作为迭代过程初始点,利用可行域投影尺度变换,将当前内点解置于变换后的可行域中心;(2) 在变换后的可行域中沿着目标函数最速下降方向的正交投影移动,获得新的可行内点.(3)通过投影尺度逆变换将新的可行内点映射到原来的可行域,作为新的迭代点重复这一过程直至求出满足一定精度的近优解2.Karmarkar 标准形(1)0 1 s.tminxeAcTA 是 的满秩矩阵, 是分量均为 1 的向量nmTe)1,(称 LP 问题(1)为
25、Karmarkar 标准形如果问题(1)的可行解 x 的每个分量都大于零,那么称 x 为一个内点解Karmarkar 两个基本假设:假设 A: 是一个内点解,即 ;Tnnex)/1,/()0( 0/)0( Aen假设 B: Karmarkar 标准形(1)的最优值为零3单纯形Karmarkar 标准形(1)的后两个约束在 n 维空间中定义了一个多面体 0,1|xeST27称为 维单纯形1nS 的内部记为 ,其顶点为单位向量 ),1()0,1,0(nieTi 中心点为 ne/单纯形 S 外接球半径: nR/)1(内切球半径: )(r外接球与内切球半径之比: 1/nrR4单纯形 S 的投影尺度变换
26、假设 ,即 , ,矩阵deT0dnddiagD 0)(21考虑一种特殊的投影尺度变换:(2)xDeTyTd1)(变换(2)是一个线性分式变换,具有下列性质:(l) 是单纯形 S 上的一一对应,其逆变换也是一个线性分式变换dT(3)yexTd)(1(2) 不改变单纯形上点与点之间的拓扑关系,即该变换将单纯形 S 的顶点、棱、面d等低维单纯形分别变换成相应的顶点、棱、面等低维单纯形;28(3)约束 在变换(3)下等价于 ;0Ax0ADy(4)点 d 的像是单纯形 S 的中心 .ne/5向量的正交投影设 B 是 矩阵, ,由 m 个行向量生成的空间记为 ,该空间的nmBrak)( )(TBR正交补空
27、间 就是 B 的零空间 0|xNn 维欧氏空间等于 与 的直和,对于 ,存在惟一的 ,)(TR(n)(1Tx,使得 ,向量 和 分别称为 在 和 上的正交投)(2Nx21x12)(TBR(N影记 上正交投影算子矩阵为 ,则正交投影向量TBBP(4)xPIxBB)( ,21可以证明,在 成立时,正交投影算子矩阵 由下式确定 mrank)((5)T16. Karmarhar 投影尺度算法Karmarkar 标准形(1)的可行域是一个多面体,即约束矩阵 A 的零空间和 中的 n-1 维单纯形 的交集0|)(AxNR0,|xeRxSTn给定一个可行点 ,若 ,则由式(3)定义的线性分式变换 可以Sd0
28、 )(1yTd将 Karmarkar 标准形(1)等价地转化成如下形式的最优化问题:(6)0 1 s.tminyeADycTT单纯形 S 的中心点 是最优化问题(6)的可行内点ne/根据 Karmarkar 假设 B,并且注意到分母 ,(6)等价于一个新的 KarmarkareT标准形:(7)0 1 s.tminyeADcT新的 Karmarkar 标准形(7)仍然满足 Karmarkar 假设 A 和假设 B.对于新的 Karmarkar 标准形(7),可以从中心点 出发,沿着目标函数的下降方n/向移动为了保证移动后得到的新点仍是可行内点,移动方向应取为目标函数的最速下降方向在矩阵 的零空间
29、 上的正交投影,即DcTeAB)(BN29(8)DcBIDcPIdTBy )()( 1 新的可行内点定义为(9)ydrne)(是 S 的内切球半径,参数 . nr)1/( )1,0(Karmarkar 投影尺度算法的基本原理:(1)通过投影尺度变换 ,可将新的可行内点 映射到原来可行域,对)(1yTxd)(y应着 ;)(x(2)然后,根据 确定新的投影尺度变换 ,将可行内点)( )(xT重新映射到单纯形 S 的中心点 ,由此获得形如(7)的新问题)()(1yTdne/重复以上过程直至求出满意的解 Karmarkar 投影尺度算法步骤:步骤 1:初始化置 , ;参数 ,L 是充分大的正整数0kn
30、ex/)( )1,0(步骤 2:最优性检验若 ,则算法停止,得到近优解 ;否则转步骤 3. )0()(cTLT)(kx步骤 3:第 次迭代1k令 )()(xdiagDTkkeADB)( cDBIcPI kTkkyk )(1)( )() ydrne11)(1kTkDex置 ,转步骤 2. kKarmarkar 投影尺度算法的计算复杂性:定理:对于 Karmarkar 标准形问题(1),在 Karmarkar 假设成立时,若选取步长 ,则 Karmarkar 投影尺度算法经过 次迭代后停止。3/1)(nLO7一般 LP 问题转化为 Karmarkar 标准形求解任意一个 LP 问题等价于求解某种形
31、式的 Karmarkar 标准形任意一个 LP 问题都可以等价地转化为一个标准形式的 LP 问题(10)0, s.t minxbAcTKarmarkar 标准形不过是(10)的一种特例对于标准形式(10),利用线性规划的最优性条件,可以将(10)等价地转化为求解某个线性系统:30(11)0,xbA分别是与 A,b,c 有关的矩阵和向量b,定理(标准形 LP 的最优性条件):对于标准形式的 LP 问题 ,0,|minxbAcT其中 , , ,则 是该问题的最优解,当且仅当存在向量nmRnRnx, ,使得wr 0, wbxcrAT最优性条件将求解 LP 问题转化为求解代数方程组问题,该代数方程组构
32、成的线性系统有 个变量, 个方程,以及 x 和 r 非负性条件。nm1n令 , , ,)0,(211wmnRrx22110nmRcb)2()1(00mnTTnbcIAA就可构造出(11)式: 021cbrwxbcIATTn利用伪变量技巧,可将(11)转化为一个 LP 问题 0 , )(s.t mi xbeA若记 , ,则问题(11)12)12()()(, mnmnRyRbeA 0c等价于标准形式的线性规划(12)0 , s.tiybAcT问题(12)满足如下性质:(1) 是问题(12)的一个可行内点解;ey(2) 若该问题最优值为零,则得到线性系统(11)的一个可行解,由此可获得原来的线性规划
33、问题的最优解;(3)若该问题最优值大于零,则线性系统(11)无解原线性规划问题(10)无可行解或者无下界.31对于(12)中的变量 y,考虑如下形式的投影变换: 1 ,1 21yezyezTT和 y 的维数均为 k( )1z2mn若记 ,则(12)等价于 Karmarkar 标准形:)(21),TRz(13)0 ,1 )(s.t, i yebAcT对问题(13)有如下结论:(1) 是一个可行内点解;)1(ke/y(2) 若最优值为零,则得到线性系统(11)的一个可行解,由此能获得原 LP 问题(10)的最优解;(3) 若最优值大于零,则原 LP 问题(10)无可行解或者无下界例:用 Karma
34、rkar 投影尺度算法求解线性规划: 0, 625 s.tmin311x引进松弛变量 转化为(LP)标准形式,其中54,x, , 1021A6bTc生成 Karmarkar 标准形(13): 0 ,1 )(s.t, min yebAT约束矩阵为=16915TebA 1000525 5TTeecbcIbA目标函数的梯度向量为 , 记号的右下标表示向量维数.)(),14算法初始点 ,步长因子 ,精度参数 L=25/16)0(ey3/初始点 Karmarkar 标准形的目标函数值为 0.0625. 经过 97 次迭代后,得到 LP 问题标准形式的近优解: )1 ,08574. ,108574. ,0
35、4287.( 8Tx32此时 Karmarkar 标准形目标函数值为 .9103.2原 LP 问题目标函数值为-5.2.3.2 内点法运用 Karmarkar 投影尺度算法, 需要把一般 LP 问题的求解转化为解 Karmarkar 标准形,计算比较复杂。Karmarkar 等人在此基础上, 1989 年又给出一个内点法,称为对偶仿射尺度算法。采用这种方法,不必把 LP 问题转化为 Karmarkar 标准问题,而是通过求解标准 LP 问题的对偶形式来求解原问题。虽然计算过程简明,并且具有收敛性,但还不知道此算法是否具有多项式时间复杂性。1计算公式的推导考虑线性规划问题(14)bAxcT s.
36、tmaA 是 矩阵, 。先假设存在内点 ,并假设问题是有界的。nm)0(算法的基本思想:从内点 出发,沿 可行方向 求出使目标函数值上升的后继点,再从得到的内点出发,)0(x沿另一个可行方向求使目标函数值上升的内点。重复以上步骤,产生一个由内点组成的序列 ,使得)(kx)1(TkTc当满足终止准则时,则停止迭代。该方法的关键是选择使目标函数值上升的可行方向。首先引进松弛变量,把线性规划(14)写成(15)0 s.t max vbAcT在第 k 次迭代,定义 为非负松弛变量构成的 m 维向量,使得)(kv)()(kkx再定义对角矩阵 )()(1,kmkkvdiagD作仿射变换,令 vwk把线性规
37、划(15)改写成330 s.t max 1wbDAckT在变换的空间中,选择搜索方向 wxdd 作为可行方向,它必是下列齐次方程的一个解(16)0wxkAD对于(16)式的任一解,有 )(xkTd由此得到(17)wkTkxd12)每次迭代中,目标函数在 方向的方向导数是(18)xTc把(17)式代入(18)式,则有 wTkTkwkTkTxT dcADdADdc )()( 1212 选择 ,使得 最大,则w(19)ckTkw12)(由(19)式确定 后,可得出(16)式的一个解,其中wdAdkTx12)(同时,对 作逆仿射变换,可得到 xkTwkv dcD121)(搜索方向确定后,还需确定沿此方
38、向移动的步长。设后继点 xkkx)()1(步长 的取值应保证 为可行域的内点,即满足)1(kxbdAxk)()(k)v令 ,1,0)(|min)( midvivik取 ,其中 。这样即可从 出发沿方向 求得使目标函数值上升的内点,)(kxxd34。)1(kx2 计算步骤(1) 给定初始内点 ,参数 ,容许限 置 k=0。)0(x)1,(0(2) 计算 。)(kkAbv(3) 置对角矩阵 )()(1,kmkkvdiagD(4) 计算 cdkTx12)((5) 令 。vA(6) 令 ,1,0)(|min)(idivik(7) 置 xkkx)()1((8) 若 ,则停止计算, 为近似解。|/| )(
39、kTTTcc )1(kx(9) 置 ,返回步骤(2) 。3 找初始内点的方法首先从原点出发,沿目标函数的梯度方向 c 取一点,令Abx/)0(如果 ,则 作为初始内点,否则,解下列一阶段线性规划问题:)0()0(Axbv(20)exMcaT s.tm其中 M 是大的正数,e 是分量全是 1 的 m 维列向量, 是人工变量。a根据 的定义,如果令)0(v ,1|in)0()0(ivxa则有 bexAa)0()(因此 必为线性规划(20)的可行域的内点。这样,可从此内点出发,用本节提),(0(ax供的方法来求解问题(20) 。如果在第 k 次迭代得出 ,则停止一阶段问题(20)的迭代,取 作为线性
40、规0)(kax )(kx划(14)的初始内点。如果线性规划(20)达到最优时有 ,则问题(14)是不可行的。)(ka4 一般线性规划问题的处理35考虑标准形式的线性规划问题(21)0 s.t minycAbT其中 A 是 矩阵, , 。原问题(21)的对偶问题为n mRb,n(22)bAxcT s.ta其中 。nRx线性规划(22)与线性规划(14)相同,因此可以用前面介绍的内点法求解。设算法产生由内点组成的序列 , 有了 就能按下式计算相应的向量)()2(1,t )(tx:)(ty cADykTkt 122)( )(其中)()(1,kmkkvdiagD )()(ttxb习题1 将优化问题 i
41、n|s.t23yzx化为线性规划标准型。2 给定一个线性规划问题 123 a5.t8,0(1) 写出该问题的标准形式;(2) 通过考察基本可行解的方法,求出该问题的最优解和最优值. 3 分别用两阶段法和大 M 法求 LP 问题:36123 mins.t5 4,0x4 两个工厂 和 生产单一产品,工厂 每年的生产能力为 20 万单位,工厂 每年的1P21P2P生产能力为 6 万单位。假定两个工厂的生产成本相同、两个仓库 和 的装卸成本相同。1W23 个市场区域 、 和 的需求量分别为 5 万、10 万、5 万单位。1C23单位配送成本1P21C23C1W0 4 3 4 525 2 2 1 2只考虑配送成本。试建立线性规划模型,求解最优的配送方案,即哪家工厂应向哪家仓库配送多少产品?哪家仓库应向哪个市场配送多少产品,总的配送成本最低?提示:定义决策变量:为从工厂 i 流向仓库 j 的产品数量ijx:为从仓库 j 流向市场 k 的产品数量jky5 写出如下线性规划问题 0, 725483s.t69min1x的 Karmarkar 标准形。6 用对偶仿射尺度算法计算习题 4 中的物流配送优化问题。 (可以猜一个初始内点)