求解线性双层规划的割平面算法
11二次规划与割平面法
第十一章 二次规划与割平面法本章主要内容:等式约束二次规划问题的起作用集方法 Wolfe 算法 Lemke 算法 割平面法教学目的及要求:了解等式约束二次规划问题的起作用集方法、Wolfe 算法、Lemke 算法、割平面法。
教学重点:等式约束二次规划问题的起作用集方法. 教学难点:等式约束二次规划问题的起作用集方法. 教学方法:启发式.教学手段:多媒体演示、演讲与板书相结合. 教学时间:2学时. 教学内容:§11.1 等式约束二次规划问题等式约束二次规划问题可表为1min ();2,T Tf x x Qx c x Ax b ⎧=+⎪⎨⎪=⎩s.t. (11.1.1) 其中n n Q R ⨯∈且对称,,,n m m n c R b R A R ⨯∈∈∈且不妨设rank A m n =<.下面介绍求解问题(11.1.1)的两种方法. 一、直接消去法求解问题(11.1.1)最简单又最直接的方法就是利用约束来消去部分变量,从而把问题转化成无约束问题,这一方法称为直接消去法.将A 分解为(,)A B N =,其中B 为基矩阵,相应地,将,,x c Q 作如下分块11122122,,B B N N x c Q Q x c Q x c Q Q ⎛⎫⎛⎫⎛⎫=== ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭,其中11m m Q R ⨯∈.这样,问题(11.1.1)的约束条件变成B N Bx Nx b +=,即得11B N x B b B Nx --=-,代入()f x 中就得到与问题(11.1.1)等价的无约束问题21ˆˆmin ()2T T N N N N N x x Q x c x ϕ=+,(11.1.2) 其中1111222211211ˆ()()T T T T Q Q Q B N N B Q N B Q B N ----=--+, 1112111ˆ()(())T T T T N N B cc N B c Q N B Q B b ---=-+-. 如果2ˆQ 正定,则问题(11.1.1)的最优解显然为12ˆˆN N x Q c -=-,这时,问题(11.1.1)的最优解为1112ˆˆ0B N N x B b B N x Q cx I ---⎛⎫⎛⎫⎛⎫==+ ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭, 记点x 处的Lagrange 乘子为v ,则有()T A v f x Qx c =∇=+,故知11112()()TB NB v B Q xQ x c-=++. 如果2ˆQ 半正定且问题(11.1.2)无下界,或2ˆQ 有负特征值,则不难证明问题(11.1.1)不存在有限解.例1 求解二次规划问题222123123123min ();24,2.f x x x x x x x x x x ⎧=++⎪+-=⎨⎪-+=-⎩s.t. (11.1.3) 解 将约束写成12312324,2.x x x x x x +=+⎧⎨-=--⎩ 用高斯消元法求得132312,233x x x x =-=+, (11.1.4)代入()f x 中可得等价的无约束问题2333148min ()493x x x ϕ=++, 其中228ˆ9Q ⎛⎫= ⎪⎝⎭显然正定,故令3()0x ϕ∇=,求得367x =-,代入(11.1.4)式中得12210,77x x ==.因此,问题(11.1.3)有唯一的最优解1232106(,,)(,,)777T T x x x x ==-.再利用T A v Qx c =+即12112002/72102010/7110026/7v v ⎛⎫⎛⎫⎛⎫⎛⎫ ⎪ ⎪⎪-= ⎪ ⎪ ⎪⎪⎝⎭ ⎪ ⎪⎪--⎝⎭⎝⎭⎝⎭, 可求得1284,77v v ==-.直接消去法思想简单明了,使用方便.不足之处是B 可能接近一个奇异方阵,从而引起最优解x 的数值不稳定. 二、Lagrange 乘子法求解问题(11.1.1)的另一种方法是Lagrange 乘子法.问题(11.1.1)的Lagrange 函数为1(,)()2TT T L x v x Qx c x v Ax b =+--. 令(,)0,(,)0x v L x v L x v ∇=∇=,得到K-T 条件0,0T Qx c A v Ax b +-=-=,写成矩阵形式,有0T x c Q A v b A ⎛⎫-⎛⎫⎛⎫=- ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭, (11.1.5)其系数矩阵称为Lagrange 矩阵,它是对称的但不一定正定. 若上述Lagrange 矩阵可逆,则可表为10T TH R Q A R G A --⎛⎫-⎛⎫= ⎪ ⎪--⎝⎭⎝⎭, (11.1.6) 从而,由(11.1.5)式可得问题(11.1.1)的最优解,.Tx Hc Rb v R c Gb =-+⎧⎨=-⎩(11.1.7) 当1Q -存在时,由(11.1.6)式可得H 、R 、G 的表达式为11111()T T H Q Q A AQ A AQ -----=-,111()T T R Q A AQ A ---=,11()T G AQ A --=-.下面给出x 和v 的另一种表达式.设0x 是问题(11.1.1)的任一可行解,即0Ax b =,在点0x 处目标函数的梯度00()f x Qx c ∇=+,则(11.1.7)式可改写为000(),().Tx x H f x v R f x =-∇⎧⎪⎨=∇⎪⎩(11.1.8) 例2 用Lagrange 乘子法求解问题222123312123123min 22;4,2 2.x x x x x x x x x x x x ⎧+++-⎪++=⎨⎪-+=⎩s.t. (11.1.9) 解 易知22001114240,0,,21120021Q c A b -⎛⎫⎛⎫⎛⎫⎛⎫ ⎪ ⎪=-=== ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭ ⎪ ⎪⎝⎭⎝⎭.显然,Q 可逆且111/201/21/20001/2Q -⎛⎫⎪= ⎪ ⎪⎝⎭,因此按上述,,H R G 的表达式可得51/21/43/43/43/4344421/41/83/8,7/41,511111133/43/89/81/41/42H R G ⎛⎫-⎛⎫⎛⎫- ⎪ ⎪ ⎪=-=-=-⎪ ⎪ ⎪ ⎪ ⎪ ⎪--- ⎪⎝⎭⎝⎭⎝⎭, 从而,问题(11.1.9)的最优解为21433(,,)112222Tx Hc Rb =-+=.§11.2 起作用集方法考虑具有不等式约束的二次凸规划问题1min ();2,T T f x x Qx c x Ax b ⎧=+⎪⎨⎪≥⎩s.t. (11.2.1) 其中n n Q R ⨯∈且对称正定,,,n m m n c R b R A R ⨯∈∈∈且不妨设rank A m =.运用起作用集方法的关键是,在每次迭代中,都以已知的可行点为起点,把在该点起作用的约束作为等式约束,而把在该点不起作用的约束暂时去掉不考虑,在新的约束条件下极小化目标函数,求得新的比较好的可行点后,再重复以上步骤.这样,可把问题转化为有限个仅带等式约束的二次凸规划来求解.具体分析如下:设在第k 次迭代中,已知可行点k x ,在该点起作用的约束指标集用k I 表示.这时需要求解等式约束问题min ();,,Ti i k f x a x b i I ⎧⎨=∈⎩s.t. (11.2.2) 其中i a 是矩阵T A 的第i 列元素构成的n 维向量.为方便起见,现将坐标原点移至k x 处,令k k d x x =-,则1()()()()2T T k k k k k k f x d x Q d x c d x =++++ 1122T T T T T k k k k k k k k d Qd d Qx x Qx c d c x =++++ 1()()2T T k k k k k d Qd f x d f x =+∇+. 于是,问题(11.2.2)转化为求校正量k d 的问题1min ();20,,T T k k k k T i k k d Qd f x d a d i I ⎧+∇⎪⎨⎪=∈⎩s.t. (11.2.3) 用11.1节解等式约束的二次规划问题的方法求解问题(11.2.3),其最优解仍记为k d .根据不同情形,采用下列相应的步骤:(1)若k k x d +是可行点且0k d ≠,则在第1k +次迭代中,取迭代点为1k k k x x d +=+.(2)若k k x d +不是可行点,则取搜索方向为k d ,并令1k k k k x x d λ+=+,其中k λ为步长.按保持可行性的要求,步长k λ的取值应使得对于任意k i I ∉都有()T i k k k i a x d b λ+≥. (11.2.4)由于k x 是可行点,T i k i a x b ≥,因此当0T i k a d ≥时,对任意的非负数k λ,(11.2.4)式总成立;在第1k +次迭代中,取迭代点为1k k k x x d +=+.当0T i k a d <时,只要取正数min ,0TTi i k k k i k T i k b a x i I a d a d λ⎧⎫-⎪⎪≤∉<⎨⎬⎪⎪⎩⎭,则对于每个k i I ∉,(11.2.4)式总成立.为了在第k 次迭代中得到较好的可行点,应进一步取min{1,}k k λλ=,其中k λ为上式的右端项.若存在k p I ∉使得1T p p kk T p kb a x a d λ-=<,则在点1k x +处有1()T T p k p k k k p a x a x d b λ+=+=.这说明,在点1k x +处,T p p a d b ≥为起作用约束.因此,应把指标p 加入点1k x +处的有效约束指标集1k I +中,即令{}1k k I I p += .(3)若0k d =,则k x 为问题(11.2.2)的最优解.下面,进一步判断k x 是否为问题(11.2.1)的最优解.为此,需用公式(11.1.8)计算出所有起作用约束的Lagrange 乘子(),k i k v i I ∈.若()0,k i k v i I ≥∈,则k x 是问题(11.2.1)的K-T 点,又由于问题(121.2.1)是凸规划,因此k x 就是其最优解;若存在k q I ∈,使得()0k q v <,则k x 不可能是问题(11.2.1)的最优解.因为可以验证,当()0k q v <时,在点k x 处存在可行下降方向.因此,取()()min{|}k k r i k v v i I =∈,并令{}1\k k I I r +=,再解问题(11.2.3). 算法11-1(起作用集法)Step1 选取初始数据.给定初始可行点1x ,相应的起作用约束指标集为1I ,令1k =.Step2 求解等式约束问题.求解问题(11.2.3),设其最优解为k d .若0k d =,则转Step4 ;否则,令1min{1,},k k k k k k x x d λλλ+==+,计算1()k f x +∇,转Step3.Step3 修改起作用约束指标集.若1k λ<,则令{}1,:1k k I I p k k +==+ ,返回Step2;若1k λ=,则令:1k k =+,转Step4.Step4 检查是否满足终止准则.用公式(11.1.8)计算出所有起作用约束对应的Lagrange 乘子(),k i k v i I ∈,记()()m in {|}k k r i k v v i I =∈.若()0k rv ≥,则迭代终止,k x 为约束问题(11.2.1)的最优解;否则,从k I 中删除指标r ,返回Step2.§11.3 Wolfe 算法考虑二次凸规划问题1min ();2,0,T Tf x x Qx c x Ax b x ⎧=+⎪⎪=⎨⎪≥⎪⎩s.t. (11.3.1) 其中Q 为n 阶半正定矩阵,,,n m m n c R b R A R ⨯∈∈∈且不妨设rank A m =.易知,问题(11.3.1)的形式并不失一般性.首先研究一下问题(11.3.1)的最优性条件.问题(11.3.1)的最优解x 为K-T 点,即存在,v u 使得,,0,0,0.T TQx A v u c Ax b u x u x ⎧--=-⎪=⎪⎨=⎪⎪≥≥⎩(11.3.2) 若把(11.3.2)式中的非线性部分T u x 作为目标函数,(11.3.2)式中的线性部分作为约束条件,则可得到具有线性约束的非线性最优化问题min ;,,0,0.T T u x Qx A v u c Ax b u x ⎧⎪--=-⎪⎨=⎪⎪≥≥⎩s.t. (11.3.3) 设x y v u ⎛⎫ ⎪= ⎪ ⎪⎝⎭是问题(11.3.3)的最优解,若满足0T u x =,则其中的x 必为问题(11.3.1)的最优解.因此,问题归结为求问题(11.3.3)的最优解.为了使所有变量都具有非负限制,令v v v +-=-,则问题(11.3.3)中的前两个约束条件成为000T Tn x A v b I Q v c AA u +-⎛⎫ ⎪⎛⎫⎛⎫ ⎪= ⎪ ⎪ ⎪---⎝⎭⎝⎭ ⎪⎝⎭, (11.3.4) 后两个约束条件成为0,0,0,0x v v u +-≥≥≥≥. (11.3.5)要求问题(11.3.3)的最优解,我们将先求(11.3.4)满足式(11.3.5)的基本解,为此特引入人工变量y .具体步骤如下:(1)先用单纯形法的第一阶段法求得满足,0Ax b x =≥的解,记所得解的基变量为B x ,非基变量为0N x =.(2)确定对角阵()j ij E δ=∆,其中j ∆为1或1-,ij δ满足1,,0,.ij i j i j δ=⎧=⎨≠⎩其意义是:在(11.3.4)式中引入人工变量y 后得到0000T Tn x vA b v I Q E c AA u y +-⎛⎫⎪ ⎪⎛⎫⎛⎫⎪= ⎪ ⎪--- ⎪⎝⎭⎝⎭ ⎪ ⎪⎝⎭, (11.3.6)且当x 用(1)中求得的解代入时,若0v v u +-===,则必有0y ≥.记(1)中A 的分解为(,)A B N =,其中B 为可行基.相应地,将Q 分解为(,)B N Q Q Q =,则E 应满足B B Q x Ey c +=-, (11.3.7)且其中的人工变量12(,,,)T n y y y y = 非负.记B Q 中的列向量依次为12,,,m q q q ,则(11.3.7)式等价于(),1,2,,T j j j j B y c q x j n ∆=-+= . 因此,E 中j ∆的选取规则为1,0,1,0.Tj j B j Tj j B c q x c q x ⎧-+>⎪∆=⎨+≤⎪⎩ (3)在约束(11.3.6)式和约束0,0,0,0,0,0T x v v u y u x +-≥≥≥≥≥= (11.3.8)下极小化线性目标函数1ni i y =∑.对于上述线性规划问题,可采用单纯形法求解.但必须注意,进行旋转变换时,要求0T u x =,即当某个0j x >时,j u 不允许进入基变量.旋转变换直到10nii y==∑时结束,此时得到的x 即为二次凸规划问题(11.3.1)的最优解.例3 用Wolfe 算法求解二次凸规划问题21211231241234min ()2;236,24,,,,0.f x x x x x x x x x x x x x x ⎧=--+⎪++=⎪⎨++=⎪⎪≥⎩s.t. (11.3.9) 解 易知200020000123106,,,000002220400000Q c A b -⎛⎫⎛⎫ ⎪ ⎪-⎛⎫⎛⎫⎪ ⎪==== ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭ ⎪ ⎪⎝⎭⎝⎭. 首先确定满足,0Ax b x =≥的一个解,显然可取(3/2,1,0,0)T x =,确定()j ij E δ=∆.由于22011003/21000100000B B c Q x -⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪--⎡⎤ ⎪⎪ ⎪+=+=⎢⎥ ⎪ ⎪ ⎪⎣⎦ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭, 故12341,1∆=-∆=∆=∆=,因此1000010000100001E -⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦. 下面,要利用单纯形法在约束(11.3.6)和(11.3.8)下极小化目标函数41i i z y ==∑.表11.3.1中给出了初始数据,为了得到初始单纯形表,表11.3.1的最后一行对应于目标函数z 中变量系数的反号.表11.3.1 例3的初始数据表经过初等行变换,得到以121234,,,,,x x y y y y 为基变量的初始单纯形表11.3.2.表11.3.2 例3的第一轮迭代后的初始单纯形表由于1v -对应的检验数2最大,故以1v -为进基变量,显然,3y 为离基变量,进行{5,7}旋转变换,得单纯形表11.3.3.表11.3.3 例3的第二轮迭代后的单纯形表现在是4x 对应的检验数最大,故以4x 进入基变量取代1y ,进行{3,4}旋转变换,得单纯形表11.3.4.表11.3.4 例3的第三轮迭代后的单纯形表在表11.3.4中,按Dantzig 规则(见算法4-1),下一步应让3u 进入基变量取代2y ,由于30x =,不违反约束330T u x u x ==,故可以进基.进行相应的旋转变换后,得单纯形表11.3.5.表11.3.5 例3的第三轮迭代后的单纯形表从表11.3.5右下角的数值知,此时目标函数410i i z y ===∑,因此,所求的二次凸规划问题(11.3.9)的最优解为(2/3,14/9,0,10/9)T x =.定理11.3.1 若问题(11.3.1)中二次目标函数的Hesse 阵Q 是正定的,则用Wolfe 算法必可求得其最优解,即在条件0T u x =下用单纯形法求解问题1min (11.3.6),(11.3.8)n i i y =⎧⎫⎨⎬⎩⎭∑式式时,必能使1ni i y =∑达到零值.一般来说,当Q 是半正定阵时,Wolfe 算法有失败的可能.这时,可将主对角线上的元素作微小扰动,以Q I ε+(0ε>很小)取代Q 后,再利用Wolfe 算法.§11.4 Lemke 算法考虑二次规划问题1min ();2,0,T Tf x x Qx c x Ax b x ⎧=+⎪⎪≥⎨⎪≥⎪⎩s.t. (11.4.1) 其中n n Q R ⨯∈且对称,,,n m m n c R b R A R ⨯∈∈∈,不妨设rank A m =.引入乘子u 和v ,定义Lagrange 函数(,,)()()T T L x u v f x u Ax b v x =---.再引入松弛变量(向量)0y ≥,使Ax y b -=.这样,问题(11.4.1)的K-T 条件为,,0,0,0,0,0,0,T TT Qx A u v c y Ax b v x y u u v x y ⎧--=-⎪-=-⎪⎪=⎨⎪=⎪⎪≥≥≥≥⎩ (11.4.2) 用矩阵形式表为ˆ,0,0,w Mz bw z ⎧-=⎪⎨≥≥⎪⎩ (11.4.3) 及0T w z =, (11.4.4)其中ˆ,,,0T v x c Q A w z M b y u b A⎛⎫-⎛⎫⎛⎫⎛⎫==== ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭⎝⎭.,w z 和ˆb均为m n +维向量,M 为m n +阶矩阵.求满足(11.4.3)式和(11.4.4)式的解w z ⎛⎫⎪⎝⎭的问题称为线性互补问题,(11.4.4)式称为互补条件.显然,(11.4.4)式等价于0,1,2,,j j w z j m n ==+ . (11.4.4a )设w z ⎛⎫⎪⎝⎭是线性互补问题的一个解,则由(11.4.4a )式知,其2()m n +个分量中至少有m n +个分量等于0,而且每个互补变量对(,)j j w z 中至少有一个变量取零值.因此,下面给出互补基本可行解的概念.定义 设w z ⎛⎫⎪⎝⎭是问题(11.4.3)的一个基本可行解,且每个互补变量对(,)(1,2,,)j j w z j m n =+ 中只有一个变量是基变量,则称w z ⎛⎫⎪⎝⎭是线性互补问题(11.4.3)和(11.4.4a )的一个互补基本可行解,简称CBF 解.这样,求二次规划K-T 点的问题就转化为求线性互补问题的CBF 解.下面,介绍求CBF 解的Lemke 算法.分两种情况讨论:(1)若ˆ0b ≥,则ˆ0w b z ⎛⎫⎛⎫= ⎪ ⎪ ⎪⎝⎭⎝⎭就是一个CBF 解; (2)若ˆ0b ≥/,则引入人工变量0z ,使(11.4.3)式变成00ˆ,0,0,0,1,2,,,j j w Mz z e bz w z j m n ⎧--=⎪⎨≥≥≥=+⎪⎩ (11.4.5)其中(1,1,,1)T m n e R +=∈ .显然,若0w z z ⎛⎫ ⎪⎪ ⎪⎝⎭是线性互补问题(11.4.4a )和(11.4.5)的可行解且00z =,则w z ⎛⎫⎪⎝⎭就是所求的CBF 解.为叙述方便起见,我们先引入准互补基本可行解的概念.定义 设0w z z ⎛⎫ ⎪⎪ ⎪⎝⎭是线性互补问题(11.4.4a )和(11.4.5)的可行解且满足:(1)0w z z ⎛⎫ ⎪⎪ ⎪⎝⎭是(11.4.5)的基本可行解;(2)存在{1,2,,}s m n ∈+ ,使得s w 和s z 都不是基变量;(3)每个互补变量对(,)(1,2,,,)j j w z j m n j s =+≠ 中恰有一个变量是基变量且0z 是基变量.则称0w z z ⎛⎫ ⎪⎪ ⎪⎝⎭是线性互补问题(11.4.4a )和(11.4.5)的准互补基本可行解,简称ACBF解.下面,用单纯形法求ACBF 解. 首先,若令0ˆˆmax{|1,2,,}0j s z b j m n b =-=+=-> , ˆˆ0,0sz w b b e ==-≥, 则0w z z ⎛⎫⎪⎪ ⎪⎝⎭是一个ACBF 解,其中()j w j s ≠和0z 是基变量,其余变量为非基变量. 以上述0w z z ⎛⎫ ⎪⎪ ⎪⎝⎭为初始解,用单纯形法求新的ACBF 解,力图通过这种方法迫使0z 变成非基变量.为保证可行性,选择主元时要求遵守下面两条规则:(1)按照单纯形法中的Dantzig 规则确定离基变量(见算法4-1); (2)若j w (或j z )离基,则j z (或j w )进基.这样将实现从一个ACBF 解到另一个ACBF 解的转换,直至得到一个CBF 解即0z 变成非基变量,或者得出由约束(11.4.4a )和(11.4.5)所定义的可行域无界的结论.下面,给出求CBF 解的Lemke 算法的具体步骤. 算法11-2(Lemke 算法)Step1 若ˆ0b ≥,则停止计算,ˆ0w b z ⎛⎫⎛⎫= ⎪ ⎪ ⎪⎝⎭⎝⎭是CBF 解;否则,用表格形式表示出(11.4.5)式中的第一个约束.记ˆˆmax{|1,2,,}s jb b j m n -=-=+ , 取第s 行为主行,0z 对应的列为主列,将0z 换入基变量取代s w ,对初始表进行旋转变换后得新表,并令s s y z =,转Step2.Step2 设现行表中变量s y 即变量s z 下面的列为s d ,若0s d ≤,则停止计算,得到问题(11.4.5)的可行域的极方向;否则,按Dantzig 规则确定指标r ,使()()()min 0,1,2,,j s r j s s r j p p d j m n d d ⎧⎫⎪⎪=>=+⎨⎬⎪⎪⎩⎭, 其中j p 为当前表格中右端第j 个元素,即第j 个基变量的当前值,()s j d 为向量s d 的第j 个分量.若第r 行对应的基变量为0z ,则转Step4;否则,转Step3.Step3 这时第r 行的基变量为l w 或()l z l s ≠,将该基变量作为离基变量,sy 作为进基变量,进行旋转变换后得新表。
运筹学3.2 割平面算法
∵ 最后真正求解的简单问题一般是原问题某种形式的LP 或纯整数规划松弛
∴ 亦可看成是一种松弛算法
通常的分解算法与松弛技术的结合 .
XJTU
第三章 整数线性规划
OR
Lagrangian 松弛法 :
将约束分为简单约束和复杂约束,
再利用Lagrangian 松弛消去复杂约束 .
利用Lagrangian 乘子将复杂约束“转入”目标
பைடு நூலகம்j S
0 g 1
∵要求 x B l , x j 均取整值 ∴ 上式左边必为整数
XJTU
第三章 整数线性规划
OR
hxBl haljxj hbl jS
诱导方程两边同乘以[h] : hxBl haljxjhbl
从中减去前一不等式
jS
h a lj h a lj xjhb l h b l (一般) Gomory 割平面
可行解为 x 0 :
x0
基 BAB 1,L,ABm
基 变 量 xB1,L,xBm
下标集合记为 S ,
而非基变量下标集为 S
迭代终止时目标函数、各个约束条件对应的典式分别为 :
x0
z jxj z0
jS
xB0 z, a0j j
b0 z0
xB0 a0jxj b0
jS
xBi aijxj bi, i 1,L ,m jS
XJTU
第三章 整数线性规划
导出有效不等式的方法 :
取整方法
合并方法
同余方法
超加函数法
OR
§ 3.3 分解算法
XJTU
第三章 整数线性规划
OR
思想 : 通过对原问题作适当的转换或变形, 以便化简、甚至
消去问题的某些复杂约束和(或)复杂变量, 从而将原 复杂问题的求解变为对另一个或一系列相对简单问题 的求解 .
5-2割平面法
1 x2 1 0 1 0 0 1/4
0 x3 1 0 0 1 -1 -1/3
-2 0 0 0 -1/3 -1/6
3 割平面法小结
1)令xi是线性规划最优解中为分数值的一个基变量
xi aik xk bi
k
2)将bi和a ik都分解成整数部分N和非负真分数f之和
bi Ni fi , 其中0<fi 1 aik Nik fik , 其中0 fik 1
筹
学
0
x1
图2 1
2 割平面法算例
例1 求解
m a x z x1 x 2
x1 x 2 1
3
x1 x1
,x
x
2
2
0
4
x 1 , x 2 整 数
最优解为:x1
3 4
,
x2
7 4
, max
z
10 4
表1
CB
初始计算 0
表
0
最终计算 1
表
Cj
1
XB b x1
x3 1 -1
x4 4 3
西安邮电大学 现代邮政学院
Xi'an post and telecommunications university modern post College
第五章 割平面法
主讲教师 武小平
主要内容
1 割平面法及其原理
2 割平面法算例
运
筹
3 割平面法小结
学
1 割平面法及其原理
割平面法添加能割去非整数解的线性约束条件,使
01
x1 3/4 1 x2 7/4 0
-5/2 0
100 x2 x3 x4 110 101 100 0 -1/4 1/4 1 3/4 1/4 1 -1/2 -1/2
基于凹性割的线性双层规划全局优化算法
基于凹性割的线性双层规划全局优化算法赵茂先;宋爱美;王向荣【摘要】A concavity cut is defined by discussing the duality gap of the lower problem of the linear bilevel programming. Based on the feature of the concavity cut, a cutting plane algorithm for solving linear bilevel programming is given. Based on the result that a global optimal solution to linear bilevel programming occurs at an extreme point of its constraint region, the proposed algorithm can obtain a global optimal solution. Finally, a example is given to demonstrate the effectiveness of the algorithm.%通过对线性双层规划下层问题对偶间隙的讨论,定义了一种凹性割,利用该凹性割的性质,给出了一个求解线性双层规划的割平面算法.由于线性双层规划全局最优解可在其约束域的极点上达到,提出的算法能求得问题的全局最优解,并通过一个算例说明了算法的有效性.【期刊名称】《运筹与管理》【年(卷),期】2012(021)001【总页数】5页(P48-52)【关键词】运筹学;割平面算法;凹性割;线性双层规划【作者】赵茂先;宋爱美;王向荣【作者单位】山东科技大学信息科学与工程学院,山东青岛266510;山东科技大学信息科学与工程学院,山东青岛266510;山东科技大学信息科学与工程学院,山东青岛266510【正文语种】中文【中图分类】O221.10 引言在许多系统优化问题中,如城市交通[1]、污染控制[2]和价格制定[3]等实际问题中,系统可能涉及到不止一个决策者,并且不同的决策者具有各自的决策变量和目标函数。
割平面法
§3割平面法割平面法也是求解整数规划问题常用方法之一。
3.1基本思路用割平面法求解整数规划的基本思路是:先不考虑整数约束条件,求松弛问题的最优解,如果获得整数最优解,即为所求,运算停止。
如果所得到最优解不满足整数约束条件,则在此非整数解的基础上增加新的约束条件重新求解。
这个新增加的约束条件的作用就是去切割相应松弛问题的可行域,即割去松弛问题的部分非整数解(包括原已得到的非整数最优解)。
而把所有的整数解都保留下来,故称新增加的约束条件为割平面。
当经过多次切割后,就会使被切割后保留下来的可行域上有一个坐标均为整数的顶点,它恰好就是所求问题的整数最优解。
即切割后所对应的松弛问题,与原整数规划问题具有相同的最优解。
下面以全整数规划问题的割平面法为例,介绍割平面的求解过程。
3.2求解步骤与举例割平面法的具体求解步骤如下:1.对于所求的整数规划问题(4.2),先不考虑整数约束条件,求解相应的松弛问题(4.6)2.如果该问题无可行解或已取得整数最优解,则运算停止;前者表示原问题也无可行解,后者表示已求得整数最优解。
如果有一个或更多个变量取值不满足整数条件,则选择某个变量建立割平面。
3.增加为割平面的新约束条件,用前面介绍的灵敏分析的方法继续求解,返回1。
下面介绍割平面的建立方法及其求解过程。
例1 求解下列整数规划问题(4.7)解引入松弛变量,写成标准形式:(4.8)对上述模型不考虑整数条件,用单纯形法求解相应松弛问题的最终单纯形表为(表4-2)表4-215/38/3-13/3显然,为非整数解。
为求得整数解,我们想办法在原约束条件的基础下引入一个新的约束条件,以保证一个或几个变量取值为整数。
为此,在表4-2中任选一个取值非整数的变量,如,写出用基变量表示基变量的表达式:(4.9)将上式的所有变量的系数及右端常数均改写成一个整数与一个非负真分数之和的形式。
据此,(4.9)式可以改写成若将带有整数系数的变量整数项留在方程的左边,其余移到方程的右边,则有, (4.10) 由于要求变量取值为正整数,方程(4.10)的左边必为整数。
割平面法的基本思想
割平面法的基本思想割平面法主要用于求解整数规划问题的方法。
1958年由美国格莫理提出。
基本思路是:先不考虑整数性约束,求解相应的线性规划问题。
若线性规划问题的最优解恰好是整数解,则此解即为整数规划问题的最优解。
否则,就增加一个新的约束条件,称为割平面。
割平面必须具有两条性质:(1)从线性规划问题的可行域中至少割掉目前的非整数最优解;(2)不割掉任何整数可行域,然后在缩小的可行域上继续解线性规划问题。
重复以上做法,经有限次切割后,必可在缩小的可行域的一个整数极点上达到整数规划问题的最优解。
混合整数线性规划(MILP)的割平面法通过将整数问题线性松弛为非整数线性问题,并对其进行求解,来求解MILP 问题。
线性规划理论说明,在温和的假定下(如果线性规划存在最优解,并且可行域不包含一条线),总存在一个极值点或顶点是最优的。
检验所获的最优解是否为整数解。
如否,则必然存在一线性不等式将最优点和真可行集的凸包分离。
找到这样的不等式是分离问题,而这样的不等式就是切割。
切割可以被加入到被松弛的线性规划中,使得当前的非整数解对松弛不再可行。
该过程不断重复,直到找到最优整数解。
用于普遍的凸连续优化和变体的割平面法有不同的名称:Kelley 法,Kelley-Cheney-Goldstein 法和捆绑法。
它们常用于不可微的凸最小化问题。
对于这类问题,通常的可微优化的梯度法无法使用,而使用这些方法可以高效地得到凸目标函数及其次梯度。
这种情况最常出现在双拉格朗日函数的凹优化中。
另一种常见情形是Dantzig-Wolfe分解应用于结构优化问题中,这类问题通常有含有指数级变量的表达式。
通过延迟列生成法按需生成这些变量等同于在对应的对偶问题上切割平面。
图1.割平面法例,如上图1,单位立方体与切割平面。
在三节点的旅行推销员问题中,该(弱)不等式表明每次旅行必须连接至少两个点。
2Gomory 切割切割平面法由Ralph Gomory 在19 世纪50 年代提出,用于解决整数规划和混合整数规划问题。
求解线性二层规划的割平面法
i o s a tea , ss daet xrme on t e te ut g l tc nt n gi u e ajcn t s r r n i e e itogth tn a d s s c t gpa g rh l n p c i p n a d g a ui n l t osv
X i iC eg ag n L un rn , v ig n u n , hn n j , i ago g L nt g L x Y i G T i
( co l f a e t s n o u t nl c n eXi ga nv r t, i ga u a 1 5 C ia) S h o o t mai dC mp t oa S i c, a t U ies X a t H nn4 0 , hn M h ca a i e n n i y n n 1 1
l o h ag rtm . i K e wo d y r s:l e i v l r g a i a b l e o r mm ig; xt mep it c tigp a eag rtm nr e p n e r e on ; utn ln o h l i
1 背 景 知 识
层 规划应 用割平 面算 法的很 少 ,且 只求 解下层 含有
为 的决 策 问题 。 在多层 规划 问题 中 ,二 层规划 最为 常见 ,且任何
第七章3-割平面法
第三节 割平面法
CB 1 1 0
Cj→ XB X1 X2 X3 Cj-Zj
b 1 1 1
1 x1 1 0 0 0
1 x2 0 1 0 0
0 x3 0 0 1 0
0 x4 1/3 0 -1 -1/3
0 x5 1/12 1/4 -1/3 -1/6
第三节 割平面法
切割示意图如下: x2
x2 由 于 ( x 1, x 2) 的 值 已 都 是 整 数 , 解 题 已 完 成 。
第三节 割平面法
割平面算法 这个方法的基础仍然是用解线性规划的方法去解 整数规划问题。 首先不考虑变量x 是整数这一条件, 整数规划问题 。 首先不考虑变量 i 是整数这一条件 , 但增加线性约束条件(用几何术语称为割平面) 但增加线性约束条件( 用几何术语称为割平面 )从原 可行域中切割掉一部分,这部分只包含非整数解,但 可行域中切割掉一部分, 这部分只包含非整数解, 没有切割掉任何整数可行解。 没有切割掉任何整数可行解 。这个方法就是怎样找到 适当的割平面(不见得一次就找到) 适当的割平面 (不见得一次就找到) ,使切割后最终 得到这样的可行域,它的一个有整数坐标的极点( 得到这样的可行域 ,它的一个有整数坐标的极点( 顶 恰好是问题的最优解。 点)恰好是问题的最优解。
f i − ∑ f ik x k ≤ 0
k
第三节 割平面法
这就是一个切割方程。 这就是一个切割方程。 由以上三式可知: 由以上三式可知: ( 1) 切割方程真正进行了切割 , 至少把非整数 ) 切割方程真正进行了切割, 最优解这一点割掉了。 最优解这一点割掉了。 ( 2) 没有割掉整数解 , 这是因为相应的线性规 ) 没有割掉整数解, 划的任意整数可行解都满足切割方程的缘故。 划的任意整数可行解都满足切割方程的缘故。
5.3 割平面法
它就是图5-5中域 它就是图 中域 R的顶点 ,但不 的顶点A, 的顶点 合于整数条件。 合于整数条件。
现设想,如能找到像CD那样的直线去切割域R(图5-6), 现设想,如能找到像CD那样的直线去切割域 图 6), 那样的直线去切割域R( 去掉三角形域ACD,那么具有整数坐标的C (1,1)就 去掉三角形域ACD,那么具有整数坐标的C点(1,1)就 是域R′的一个极点 的一个极点, 是域R′的一个极点, 如在域R′上求解 上求解① 如在域 上求解①~④, 而得到的最优解又恰巧在C点 而得到的最优解又恰巧在 点, 就得到原问题的整数解, 就得到原问题的整数解, 所以解法的关键 关键: 所以解法的关键 就是怎样构造一个这样的 割平面” , “割平面”CD, 它就是一个新的约束。 它就是一个新的约束。 尽管它可能不是唯一的, 尽管它可能不是唯一的, 也可能不是一步能求到的。 也可能不是一步能求到的。 下面给出本例完整的求解过程: 下面给出本例完整的求解过程:
割平面法的计算步骤: 割平面法的计算步骤: 对应的松弛问题( 1、用单纯形法求解( IP )对应的松弛问题( LP ): 用单纯形法求解( 没有可行解, 也没有可行解, ⑴. 若( LP )没有可行解,则( IP )也没有可行解, 停止计算。 停止计算。 有最优解,并符合( 的整数条件, ⑵. 若( LP )有最优解,并符合( IP )的整数条件, 的最优解即为( 的最优解, 则( LP )的最优解即为( IP )的最优解, 停止计算。 停止计算。 有最优解,但不符合( 的整数条件, ⑶.若( LP )有最优解,但不符合( IP )的整数条件, 转入下一步。 转入下一步。
在原问题的前两个不等式中增加非负松弛变量x 在原问题的前两个不等式中增加非负松弛变量 3、 x4,使两式变成等式约束: 使两式变成等式约束: -x1+x2+x3 =1 ⑥ 3x1+x2 +x4=4 ⑦ 不考虑条件⑤ 用单纯形表解题,见表5-2。 不考虑条件⑤,用单纯形表解题,见表 。
割平面算法简介
割平面法在纯整数规划中的应用1、摘要:割平面法是整数规划问题中常用的一种重要方法。
割平面法解整数规划问题的基本思路是:首先根据单纯形法,画出单纯形表格,利用迭代法求出不考虑整数约束条件时的松弛问题的最优解,如果得到的解是整数则即为问题的整数解,运算停止。
但是在大多数情况下得到的解不完全是整数,其中会出现非整数的形式,也就是这个松弛问题的最优解中存在某个或者某几个基变量为非整数的形式,这就需要进一步的运算:从最优表格中提取出关于非整数基变量的约束等式,再从这个约束等式出发构造出一个割平面方程添加到原来的约束条件中去,再进行单纯形表格的迭代运算,求出最优解,如果得到的最优解是整数则即为所要求的问题的最优解,运算停止。
如果得到的解仍然不完全是整数,就需要继续进行运算,重复以上步骤,一直求解出满足条件的最优解则运算停止。
这就是割平面法的整数求解的一般步骤。
Cutting plane method which is used in an integer programming problem is a kind of important method. Cutting plane method solution in integer programming problem is the basic train of thought: first according to the simplex method, draw the simplex form, using iterative algorithm to find the integer constraint conditions do not consider the relaxation of the optimal solution of the problem, given the solution is for the problem that is the integer solutions, stop operations. But in most cases thesolution doesn't get completely integer, which could not be the integer form, also is the relaxation of the optimum solution of the existence of a or certain base the variable is not the integer form, this needs further operation: the optimal form from the extract about the base variables the constraint equation integer variables, and again from the constraint equation is constructed on a cutting plane equation added to the original conditions to, and then to simplex form iterative operation, to work out the optimal solution, if we get the optimal solution is required for the integer is the problem of optimal solution, stop operations. If the solution have still not quite integer, it needs to continue operations, repeat the above steps, has been worked out to meet the conditions of the optimal solution is to stop operations. This is cutting plane method of solving the integral general steps.1、整数规划的简要介绍整数规划是指在一类问题中要求其解的全部或者一部分变量为整数的数学规划。
求解线性双层规划的割平面算法
割平面法
第四章 整数规划
§3 割平面法
割平面法是1958年美国学者R.E.Gomory提出的求解纯整数规 纯 划的一种比较简便的方法,其基本思想是:先不考虑变量的整数限 制求解线性规划,如果得到的解不是整数解,则不断增加适当的约 束,割掉原可行域不含整数解的一部分,最终得到一个具有若干整 数顶点的可行域,而这些顶点中恰有一个顶点是原问题的整数解。 割平面法的基本步骤: 步骤1 不考虑变量的整数限制,求解相应的线性规划问题,如 果该问题无解,或最优解已是整数解,则停止计算,否则转下一步。 步骤2 对上述线性规划的可行域进行“切割”,去掉不含整数 解的一部分可行域,即增加适当的线性约束,然后转步骤1。
C CB 0 0 XB X3 X4 B-1b 1 4 0
1 X1 -1 3 1
1 X2 1 1 1
0 X3 1 0 0
0 X4 0 1 0
σ … …
1 1 X1 X2
…
3/4 7/4
…
1 0 0
…
0 1 0
…
-1/4 3/4 -1/2
…
1/4 1/4 -1/2
σ
表中x1=3/4,不是整数,将表中第一行还原成方程,即 x1-1/4x3+1/4x4=3/4 因为3/4=0+3/4,-1/4=-1+3/4,1/4=0+1/4 所以有 x1-x3=3/4-3/4x3-1/4x4 因而有切割方程: 3/4x3+1/4x4 ≥ 3/4 即 3x3+x4 ≥3 引入松弛变量x5,得方程 -3x3-x4+x5=-3 将新约束方程加到原最优表下面(切割),求得新的最优解如下 :
C CB 1 1 0 XB X1 X2 X5 B-1b 3/4 7/4 -3
线性半向量二层规划问题的割平面方法
应用数学MATHEMATICA APPLICATA2022,35(3):716-721线性半向量二层规划问题的割平面方法袁梓翠1,吕一兵1,万仲平2(1.长江大学信息与数学学院,湖北荆州434023;2.武汉大学数学与统计学院,湖北武汉430072)摘要:本文研究线性半向量二层规划问题的割平面方法.首先基于线性多目标规划的加权标量化方法以及下层问题的K-K-T最优性条件,将线性半向量二层规划问题转化为相应的单层规划问题;然后通过分析所构造单层规划问题最优解的特征,同时基于割平面思想,设计一种求解线性半向量二层规划问题全局最优解的算法;最后,利用算例验证所设计割平面算法的可行、有效性.关键词:线性半向量二层规划;加权标量化;最优性条件;割平面;全局最优解中图分类号:O221.1AMS(2010)主题分类:90C25;90C30文标识码:A文章编号:1001-9847(2022)03-0716-061.引言二层规划是一类具有递阶结构的优化问题.由于能够恰当描述实际问题中的层次关系,二层规划展现出了广泛的应用前景,同时各种二层规划问题也越来越引起研究者的关注.半向量二层规划是上层为单目标,下层为多目标的一类二层规划问题[1].由于半向量二层规划可以较为全面地反映决策者的意愿,因此越来越引起研究者的关注.在半向量二层规划问题的最优性条件方面,LIU和WAN[2]利用标量化方法将悲观半向量二层规划问题转化为一个非光滑单层约束优化问题,同时基于Mordukhovich广义微分,研究了悲观半向量二层规划问题的最优性条件;Dempe[3]等基于非光滑优化问题的最优性条件,得出了半向量二层规划问题的一阶最优性必要条件.在半向量二层规划问题的算法设计方面,基于线性多目标规划的边缘罚函数方法,任爱红[4]等将一类半向量二层规划问题转化为带互补约束的单层优化问题,并在偏静态条件下构造了半向量二层规划的精确罚问题,并给出了罚函数算法;刘君娥[5]等利用线性规划的对偶理论,将乐观线性半向量二层优化问题转化为不可微单层优化问题,通过构建单层问题的松弛问题得到原线性半向量二层规划问题最优值的一个下界;吕一兵等[6]以下层互补约束为罚项,构造了线性半向量二层规划问题的罚问题.通过分析罚问题最优解的特征,设计了一种求解其全局最优解的极点搜索算法;另外,吕一兵等[7]以下层问题最优性条件代替下层问题,进而构造了半向量二层规划问题的罚问题,并设计出相应的罚函数算法.值得指出的是,目前有关半向量二层规划问题的算法研究更多的局限于得到问题的局部最优解.在笔者前期相关研究工作中[6],设计了线性半向量二层规划问题全局最优解的极点搜索方法,但是该极点搜索方法需要得到约束域(多面体)的全部顶点.不同于文[6]中的极点搜索方法,本文将设计线性半向量二层规划问题的割平面方法,以得到问题的全局最优解.本文所∗收稿日期:2021-09-12基金项目:国家自然科学基金(11771058,11871383);湖北省杰出青年基金(2019CFA088)通讯作者:吕一兵,男,汉族,湖北人,教授,研究方向:最优化理论与方法.第3期袁梓翠等:线性半向量二层规划问题的割平面方法717设计的割平面方法的思路为,首先利用加权法将下层向量优化问题转化为单目标优化问题,同时基于下层问题的K-K-T 最优性条件,将原问题转化为相应的单层规划问题;然后通过分析所构造单层规划问题最优解的特征,同时基于割平面思想,设计了一种求解线性半向量二层规划问题全局最优解的算法;最后利用算例对所设计算法的可行性进行分析.值得指出的是,由于所设计的割平面算法只需求解一系列线性规划问题,因此具有较好的应用前景.2.线性半向量二层规划数学模型与预备知识本文所考虑的线性半向量二层规划问题,可以表述为, min x ≥0F (x,y )=c T 1x +c T 2y s .t .min y ≥0f (x,y )=Dy,s .t .Ax +By ≤b,(2.1)其中,x ∈R n ,y ∈R m ,A ∈R p ×n ,B ∈R p ×m ,c 1∈R n ,c 2∈R m ,D ∈R l ×m ,b ∈R p .记z ={(x,y )|Ax +By ≤b,x ≥0,y ≥0}为上述问题的约束域,T ={x ∈R n |∃y ∈R m ,Ax +By ≤b,x ≥0,y ≥0}为约束域z 在上层决策空间的投影.对于给定的x ∈T ,z (x )={y |(x,y )∈z }为下层问题的可行集.记P (x )为如下下层问题, min y ≥0f (x,y )=Dy s .t .Ax +By ≤b,(2.2)的若有效解集.由上述记号,问题(2.1)的可行集可以表述为:IR ={(x,y )|(x,y )∈z,y ∈P (x )}.定义2.1(x ∗,y ∗)∈IR 为问题(2.1)的全局最优解,如果对任意的(x,y )∈IR,有F (x ∗,y ∗)≤F (x,y ).为了保证问题(2.1)存在最优解,在接下来的内容中,假设如下条件成立:(H 1)z 为非空紧集,且P (x )=∅.对于给定的上层决策变量x ∈T ,下层问题(2.2)为线性多目标规划问题.由多目标规划的相关理论[8,9],y 为问题(2.2)的若有效解,当且仅当存在λ∈Ω={λ∈R l ,l ∑i =1λi =1,λ≥0},使得y 为如下问题(2.3)的最优解, min y ≥0λT Dys .t .Ax +By ≤b,(2.3)其中λ为给定的下层目标函数权重系数,反映了上层决策者对下层各目标的偏好.值得指出的是,半向量二层规划问题(2.1)本质上属于下层有不唯一最优解的二层规划问题.对于该类二层规划问题,其最优解定义一般有“乐观最优解”和“悲观最优解”.在上述问题(2.3)中,λ反映了上层决策者对下层各目标的偏好,即上层决策者可以影响或支配下层决策者.这就意味着,本文主要考虑问题(2.1)的“乐观最优解”.问题(2.3)为单目标优化问题.关于线性多目标规划问题(2.2)的弱有效解集与单目标规划问题(2.3)的最优解集之间的关系,有如下结果:命题2.1[8]对于给定的(x,λ)∈T ×Ω,ψ(x,λ)为问题(2.3)的最优解集,则有P (x )=ψ(x,λ):=∪{ψ(x,λ)|λ∈Ω}.基于上述命题2.1,可以将问题(2.1)转化为如下问题(2.4), min x ≥0F (x,y )=c T 1x +c T 2y s .t .min y ≥0λT Dy,s .t .Ax +By ≤b,(2.4)其中,λ∈Ω为给定的下层目标函数权重系数.718应用数学2022对于上述问题(2.4),基于下层问题的K-K-T 最优性条件,可以将问题(2.4)转化为如下非凸、不可微优化问题, min c T 1x +c T 2ys .t .Ax +By ≤b,D T λ+B T u −v =0,u T (b −Ax −By )+v T y =0,x,y,u,v ≥0.(2.5)其中u ∈R p ,v ∈R m 为相应的Lagrange 乘子,λ为给定的下层目标函数的权重系数.记S ={(u,v )|D T λ+B T u −v =0,u ≥0,v ≥0}为相应的Lagrange 乘子集,S v 表示S 的顶点集.由文[10]可知,若(¯x ,¯y )为问题(2.1)的最优解,则必存在(¯u ,¯v )∈S v ,使得¯u T (b −A ¯x −B ¯y )+¯v T ¯y =0.在下面的内容中,将着重分析上述单层规划问题(2.5)最优解的相关特征,同时基于割平面思想,设计一种求解线性半向量二层规划问题全局最优解的割平面算法.3.理论与算法对于给定的(¯u ,¯v )∈S v ,记z (¯u ,¯v )={(x,y )∈z |¯u T (b −Ax −By )+¯v T y =0},有如下结果.定理3.1假设条件(H 1)满足,则有:1)z (¯u ,¯v )是非空紧凸集且是z 的一个面;2)z (¯u ,¯v )⊂IR.证1)由假设条件(H 1)可知,IR 非空.则存在(¯x ,¯y )∈IR 且满足¯u T (b −A ¯x −B ¯y )+¯v T ¯y =0,即(¯x ,¯y )∈z (¯u ,¯v ).又由z (¯u ,¯v )的定义可知z (¯u ,¯v )为非空紧集.下证z (¯u ,¯v )是z 的一个面,即证z (¯u ,¯v )是z 的弱拟凸子集.事实上,对于任意的(x 1,y 1)∈z,(x 2,y 2)∈z ,(x 1,y 1)=(x 2,y 2),0<µ<1,记(x,y )=µ(x 1,y 1)+(1−µ)(x 2,y 2).若(x,y )∈z (¯u ,¯v ),则有(¯u )T [b −A (µx 1+(1−µ)x 2)−B (µy 1+(1−µ)y 2)]+(¯v )T [µy 1+(1−µ)y 2]=0.又因为(x 1,y 1)∈z,(x 2,y 2)∈z 且(¯u ,¯v )≥0,所以上式可以化为,(¯u )T (b −Ax 1−By 1)+¯v T y 1=(¯u )T (b −Ax 2−By 2)+¯v T y 2=0.因此,(x 1,y 1)∈z (¯u ,¯v ),(x 2,y 2)∈z (¯u ,¯v ),即z (¯u ,¯v )是z 的弱拟凸子集,从而是z 的一个面.2)对于任意的(x,y )∈z (¯u ,¯v ),有(x,y )∈z 且¯u T (b −Ax −By )+¯v T y =0.又因为(¯u ,¯v )∈S v ⊂S ,故(x,y,¯u ,¯v )为问题(2.5)的可行解,即(x,y )∈IR.这就表明z (¯u ,¯v )⊂IR.由上述定理3.1,显然有如下结果.推论3.1z (¯u ,¯v )的顶点也是z 的顶点.定理3.2假设(¯x ,¯y )是约束域z 的一个顶点,记L (¯x ,¯y )为从(¯x ,¯y )引出的任一个z 的面.若(¯x ,¯y )/∈IR,则对于任意的(x,y )∈int L (¯x ,¯y ),有(x,y )/∈IR.证利用反证法.假设(¯x ,¯y )/∈IR,且对任意的(x,y )∈int L (¯x ,¯y ),有(x,y )∈IR.根据定理3.1可知存在(¯u ,¯v )∈S v ,使得z (¯u ,¯v )是z 的一个面,且有(x,y )∈z (¯u ,¯v )⊂IR.由于z 为一个多面体且(x,y )∈int L (¯x ,¯y ),则通过(x,y )的面只有一个,从而L (¯x ,¯y )就是z (¯u ,¯v ).又由于z (¯u ,¯v )⊂IR,且(¯x ,¯y )∈L (¯x ,¯y ),故(¯x ,¯y )∈IR.这与假设条件矛盾,定理得证.由上述定理3.2可知,对于z 的任意一个顶点(¯x ,¯y ),只能是如下三种情形之一:(i)从顶点(¯x ,¯y )引出的任一个z 的面都是问题(2.1)的可行集IR 的一个子集,此时(¯x ,¯y )∈IR;(ii)从顶点(¯x ,¯y )引出的z 的面中,有一部分是问题(2.1)的可行集IR 的子集;另一部分的任意点都不是问题(2.1)的可行点,此时也有(¯x ,¯y )∈IR;(iii)从顶点(¯x ,¯y )引出的任意一个面上的点都不是问题(2.1)的可行点,此时(¯x ,¯y )/∈IR.据此,假设(x 0,y 0)为z 的一个顶点且(x 0,y 0)/∈IR,则(x 0,y 0)在z 中至多有m +n 个相邻的顶点,不妨记为{(x 1,y 1),(x 2,y 2),...,(x m +n ,y m +n )}.令Q =[(x 1,y 1)−(x 0,y 0),(x 2,y 2)−(x 0,y 0),...,(x m +n ,y m +n )−(x 0,y 0)]为一个m +n 阶方阵,e =(1,1,...,1)为一个m +n 阶的向第3期袁梓翠等:线性半向量二层规划问题的割平面方法719量.由于{(x 1,y 1),(x 2,y 2),...,(x m +n ,y m +n )}线性无关,故等式eQ −1[(x,y )−(x 0,y 0)]=1有意义且该等式过每一个(x 0,y 0)相邻的顶点.称超平面eQ −1[(x,y )−(x 0,y 0)]=1为顶点(x 0,y 0)对应的割平面,相应的割为:eQ −1[(x,y )−(x 0,y 0)]≥1.为叙述的方便,记z ∗={(x,y )∈z |eQ −1[(x,y )−(x 0,y 0)]≥1},¯z ={(x,y )∈z |eQ −1[(x,y )−(x 0,y 0)]<1}.则有如下定理:定理3.3假设约束域z 是非退化的,则:1)z ∗非退化且z ∗∪¯z =z,z ∗∩¯z =∅;2)(x 0,y 0)/∈z ∗;3)对任意(x,y )∈¯z ,有(x,y )/∈IR.证由顶点(x 0,y 0)及其割平面的定义可知1)、2)显然成立.下证3)成立.假设存在(x,y )∈¯z ,有(x,y )∈IR,则点(x,y )属于z 的某个面.又由¯z 的定义可知(x,y )必定是(x 0,y 0)引出的某个面上的内点,这与定理3.2矛盾.即(x,y )/∈IR.综上所述,可设计如下求解线性半向量二层规划问题的割平面算法.割平面算法:步0令z 0=z,k =0,同时给定下层目标函数的某个权重系数λ∈Ω.步1求线性规划问题:min {c T 1x +c T 2y :(x,y )∈z k },得z k 上的一个顶点,记为(x k ,y k ).步2对给定的x k ,求解线性规划问题:min {λT Dy :y ∈z (x k )}得最优解¯y .若y k =¯y ,则(x k ,y k )为问题(2.1)的全局最优解;否则,(x k ,y k )/∈IR,转步3.步3寻找(x k ,y k )在z k 中的所有相邻顶点,记为{(x l 1,y l 1),(x l 2,y l 2),...,(x l (m +n ),y l (m +n ))},转步4.步4构建m +n 阶方阵Q =[(x l 1,y l 1)−(x k ,y k ),(x l 2,y l 2)−(x k ,y k ),...,(x l (m +n ),y l (m +n ))−(x k ,y k )],并求其逆矩阵Q −1,转步5.步5令z k +1={(x,y )∈z k |eQ −1[(x,y )−(x k ,y k )]≥1},其中e =(1,1,...,1),令k =k +1,转步1.在上述算法中,引入顶点对应的割平面,每次割去z 中都不含问题(2.1)可行解的部分,而剩下的部分z 1是非退化的多面体;再从新的约束域出发,在z 1中重复以上步骤.每重复一次都将割去z 的一个顶点,由于z 的顶点个数是有限的,因此经过有限次循环后可以找到一个顶点是原问题的全局最优解.4.算例为验证所设计算法的可行性,利用上述算法求解如下线性半向量二层规划问题[6],其中x ∈R ,y ∈R 2.min x ≥0x +2y 1+y 2s .t .min y ≥0(y 1−2y 2,−y 1+y 2)T s .t .x +y 1≥1,x +y 1≤3,x +y 1+y 2≤5.取上述下层多目标规划问题的权重系数λ=(13,23)T ,并将其代入下层多目标规划问题中,可得 min x ≥0x +2y 1+y 2s .t .min y ≥013(y 1−2y 2)+23(−y 1+y 2)s .t .x +y 1≥1,x +y 1≤3,x +y 1+2y 2≤5.循环1步1求解上层问题得到最优解(x 0,y 01,y 02)=(1,0,0).步2对于给定的x =x 0=1,求解下层问题得到最优解(¯y 1,¯y 2)=(2,0).由于(y 01,y 02)=(¯y 1,¯y 2),故(x 0,y 01,y 02)/∈IR,转步3.720应用数学2022步3求(x0,y01,y02)的相邻顶点,可得{(3,0,0),(0,1,0),(1,0,2)}.步4构造Q=[(3,0,0)T−(1,0,0)T,(0,1,0)T−(1,0,0)T,(1,0,2)T−(1,0,0)T]=2−10010002并求得Q−1=12120100012.步5令z1={(x,y1,y2)∈z|x+3y1+y2−3≥0},转步1.循环2步1求解问题min{x+2y1+y2|(x,y1,y2)∈z1}得到最优解(x1,y11,y12)=(0,1,0).步2对于给定的x=x1=0,求解问题min{13(y1−2y2)+23(−y1+y2)|(y1,y2)∈z1}得到最优解(¯y1,¯y2)=(3,0).由于(y11,y12)=(¯y1,¯y2),故(x1,y11,y12)/∈IR,转步3.步3求(x1,y11,y12)在z1中的所有相邻顶点,得到{(3,0,0),(0,1,2),(0,3,0)}.步4构造Q=[(3,0,0)T−(0,1,0)T,(0,3,0)T−(0,1,0)T,(0,1,2)T−(0,1,0)T]=300−120002并求得Q−1=130016120012.步5令z2={(x,y1,y2)∈z1|x+y1+y2−3≥0},转步1.循环3步1求解问题min{x+2y1+y2|(x,y1,y2)∈z2}得到最优解(x2,y21,y22)=(1,0,2).步2对于给定的x=x2=1,求解问题min{13(y1−2y2)+23(−y1+y2)|(y1,y2)∈z2}得到最优解(¯y1,¯y2)=(2,0).由于(y21,y22)=(¯y1,¯y2),故(x2,y21,y22)/∈IR,转步3.步3求(x2,y21,y22)在z2中的所有相邻顶点,得到{(3,0,1),(0,1,2),(3,0,0)}.步4构造Q=[(3,0,1)T−(1,0,2)T,(3,0,0)T−(1,0,2)T,(0,1,2)T−(1,0,2)T]=22−1001−1−20并求得Q−1=110−12−12−1010.步5令z3={(x,y1,y2)∈z2|x+3y1−3≥0},转步1.循环4步1求解问题min{x+2y1+y2|(x,y1,y2)∈z3}得到最优解(x3,y31,y32)=(3,0,0).步2对于给定的x=x3=3,求解问题min{13(y1−2y2)+23(−y1+y2)|(y1,y2)∈z3}得到最优解(¯y1,¯y2)=(0,0).由于(y31,y32)=(0,0)=(¯y1,¯y2),故(x3,y31,y32)∈IR且为原问题的全局最优解,算法终止.在文[6]中,当下层问题的权重系数取λ=(13,23)T,上述线性半向量二层规划问题的全局最优解为(x∗,y∗1,y∗2)=(3,0,0),与本文得到的全局最优解一致.这也表明本文设计的线性半向量二层规划问题的全局最优解算法是可行、有效的.5.小结本文研究了线性半向量二层规划问题全局最优解的求解问题.基于线性半向量二层规划问题的最优解可在其约束域的顶点处取得这一特征,通过构造割平面,设计了求解其全局最优解的割平面方法.由于所提出算法只需求解一系列线性规划问题,因此具有较好的应用前景.值得指出的是,本文所设计的割平面算法中,割平面的构造依赖于相邻顶点的获取,因此如能将高效的多面体相邻顶点的获取方法与本文所设计的割平面方法相结合,有望极大提升割平面算法的计算效率.第3期袁梓翠等:线性半向量二层规划问题的割平面方法721参考文献:[1]BONNEL H.Optimality conditions for the semivectorial bilevel optimization problem[J].PacificJournal of Optimization,2006,2:447-467.[2]LIU B B.Optimality conditions for pessimistic semivectorial bilevel programming problems[J].Jour-nal of Inequalities and Applications,2014,2014(1):1-26.[3]STEPHAN D,PATRICK M.Semivectorial bilevel programming versus scalar bilevel programming[J].Optimization,2020,69(4):657-679.[4]任爱红,王宇平.求解半向量双层规划问题的精确罚函数法[J].系统工程理论与实践,2014,34(4):910-916.[5]刘君娥,郑跃,万仲平等.一种求解半向量二层规划问题下界的算法[J].数学的实践与认识,2015,45(3):124-128.[6]吕一兵,万仲平.线性半向量二层规划问题的全局优化方法[J].运筹学学报,2015,19(2):29-36.[7]吕一兵,万仲平.一类半向量二层规划问题的精确罚函数方法[J].系统科学与数学,2016,36(6):800-809.[8]LV Y B.An exact penalty function approach for solving the linear bilevel multiobjective programmingproblem[J].Filomat,2015,29(4):773-779.[9]林锉云,董加礼.多目标优化的方法与理论[M].长春:吉林教育出版社,1992.[10]滕春贤,李智慧.二层规划的理论与应用[M].北京:科学出版社,2002.A Cutting Plane Method for the Linear Semivectorial BilevelProgramming ProblemYUAN Zicui1,LV Yibing1,WAN Zhongping2(1.School of Information and Mathematics,Yangtze University,Jingzhou434023,China;2.School of Mathematics and Statistics,Wuhan University,Wuhan430072,China)Abstract:In this paper,a cutting plane approach for the linear semivectorial bilevel programming problem is proposed.Firstly,based on the weight method for the linear multiobjective programming and the K-K-T optimality conditions of the lower level problem,we transform the linear semivectorial bilevel programming into the corresponding single level programming problem.Then,based on exploring the characters of the optimal solutions of the single level programming problem and the cutting planes method,we propose a cutting plane algorithm for the global optimal solution of the linear semivectorial bilevel programming problem.Finally,we present some numerical results to illustrate the algorithm.Key words:Linear semivectorial bilevel programming;Weighted scalarization;Optimality condi-tion;Cutting plane;Global optimal solution。
割平面法的解题步骤__补充说明
割平面法的解题步骤补充说明1. 引言1.1 概述:本文将介绍割平面法的解题步骤。
割平面法是一种常用的解决几何、优化和约束问题的数学工具。
通过确定割平面方程、求解割线与图形交点坐标以及确定割线与图形交点个数及位置关系,可以有效地求解各种复杂问题。
1.2 文章结构:本文主要分为四个部分:引言、割平面法的解题步骤、实例分析和结论。
在引言中,将简要介绍本文主题并提供一个概览。
然后,在割平面法的解题步骤部分,我们将详细讨论该方法的具体步骤。
接着,在实例分析部分,我们将通过三个不同领域的实例来展示割平面法在实际问题中的应用。
最后,在结论中,我们将总结该方法的优势和局限性,并对未来研究进行展望。
1.3 目的:本文旨在帮助读者了解割平面法并掌握其解题步骤。
通过阅读本文,读者将了解如何使用割平面法来解决各种几何、优化和约束问题,并对该方法在未来研究中的潜力和局限性有更深入的了解。
2. 割平面法的解题步骤:2.1 理解割平面法:割平面法是一种通过不断添加割平面(即直线或超平面)来逼近解集的方法。
它常用于几何问题中,以及某些最优化问题和约束条件下的求解过程中。
该方法通过将多个割线与待求图形进行交点计算,进而获得关于交点位置和数量的信息。
2.2 准备工作:在使用割平面法之前,我们需要先明确待求图形的性质和要求。
具体而言,在开始解题之前,我们应该详细了解如下内容:- 待求图形的类型和特征:对于几何问题,需要明确图形的类型(例如圆、矩形等)以及边界条件或限制。
- 目标函数或约束函数:对于最优化问题和带有约束条件的问题,需要定义目标函数和约束函数,并了解这些函数与待求图形之间的关系。
- 约束条件:如果存在限制条件,则需要明确这些约束对应的方程式或不等式。
2.3 步骤一:确定割平面方程:通过观察待求图形及其特征,并结合已知信息,我们可以推导出一条直线或超平面的方程。
这个割线将帮助我们定位图形的交点,从而逐步逼近解集。
为了确定割平面方程,我们可以采取不同的方法。
运筹学3.2 割平面算法-PPT文档资料
割平面法为一种松弛方法 !
关键 : 如何生成割平面, 不同的构造方法将产生不同的算法 .
XJTU
第三章 整数线性规划
OR
Gomory 分数割平面算法
可行解为 x 0 : 设用单纯形法求解( IP )的松弛问题( P 0 )所得的最优基本
x
0
基 B A , ,A B B 1 m
基 变 量 x , ,x B B 1 m
b b f , 0 f 1 , a a f , 0 aj 1 , S l l l l l j l j l j l j
由变量的非负性 生成方程变为 : 左边取值必为整数值
ax a x
j S lj j j S
S 2 : 任选 x 0 的一个非整数值分量 b ) , 按上述方式 l (0l m
构造割平面方程 fljxj s fl .
j S
S 3 : 将此割平面方程加到松弛问题( P 0 )得新的松弛问题.
用对偶单纯形法求解这个新的松弛问题. 若其最优解为 整数向量, 则STOP, 它亦为( IP )的最优解. 否则, 用这个最优解代替 x 0 , 转S 2 .
lj j
j b x B lj x l a l
j S
j x a b B ljx l l
j S
从诱导方程中减去该不等式
XJTU
j S l j l j
第三章 整数线性规划
j l l
OR
a b b a x
§ 3.2
割平面算法
XJTU
第三章 整数线性规划
OR
1958 R.E.Gomory 提出割平面(cutting plane)的概念
§3.2Gomory割平面法
§3.2Gomory割平⾯法§3.2 G o m o r y 割平⾯法1、G o m o r y 割平⾯法的基本思想≥=为整数向量x x bAx t s xc T 0..min (P ) ≥=0..min x b Ax t s x c T (P 0)称(P 0)为(P )的松弛问题。
记(P )和(P 0)的可⾏区域分别为D 和D 0 , 则(1)0D D ?;(2)若(P 0)⽆可⾏解,则(P )⽆可⾏解;(3)(P 0)的最优值是(P )的最优值的⼀个下界;(4)若(P 0)的最优解 0x 是整数向量,则 0x 是(P )的最优解。
基本思想:(1)⽤单纯形法求解松弛问题(P 0),若(P 0)的最优解 0x 是整数向量,则 0x 是(P )的最优解。
计算结束。
(2) 若(P 0)的最优解 0x 不是整数向量,则对松弛问题(P 0)增加⼀个线性约束条件(称它为割平⾯条件),新增加的约束条件将(P 0)的⾏区域D 0割掉⼀块,且这个⾮整数向量 0x 恰在被割掉的区域内,⽽原问题(P )的任何⼀个可⾏解(格点)都没有被割去。
记增加了割平⾯的问题为(P 1),称(P 1)为(P 0)的改进的松弛问题。
(3)⽤对偶单纯形法求解(P 1),若(P 1)的最优解 1x 是整数向量,则 1x是(P )的最优解。
计算结束。
否则转(2)割平⾯的⽣成:对给定的(P ),⽤单纯形法求解它的松弛问题(P 0),得到(P 0)的最优基本可⾏解 0x ,设它对应的基为 ),,(1m B B A A B Λ=, m B B x x ,,1Λ为 0x 的基变量,记基变量的下标集合为 S ,⾮基变量的下标集合为 S 。
则松弛问题(P 0)的最优单纯形表为∑∈=+Sj j j z x z 0ξm i b x a x Sj i j ij B i ,,1,Λ==+∑∈(3.2.1)为了使符号简便,令000,,0z b a z x j j B ===ξ。
现代化方法讲座第3讲
现 代 优 化 方 法 讲 座
2.6双层规划的应用
(1)交通
已有大量文献将双层规划应用于交通领域。 ☆ 网络设计问题(Network Design Problem)。
网络规划者决定投资费用 目的使网络中系统费用最小
相互作用 相互作用
用户选择出行路径 目的使自己的出行费用最小
投资费 用 运行费 用 取决于 交通流 量
种形式,如下:
① 离散形式的上层决策变量----离散网络设计问题DNDP (Discrete Network Design Problem)。 ② 连续形式的上层决策变量----连续网络设计问题CNDP (Continuous Network Design Problem)。
2.7 双层规划在城市交通网络平衡设计问题中的应用 2.7.3固定需求条件下的城市交通连续平衡网络设计问题 城市交通连续平衡网络设计问题,就是在网络用户的路 径选择行为符合用户平衡配流准则的前提条件下,通过改进
p1
1 O 2 3 D
c5 ( f 5 ) 10 f 5
此时,网络中又出现了第 三条路径,通过节点1、5 、4(用1→5→4表示)
4
这个新网络的UE解是 p1 p2 p3 2
p2
f1 2, f2 4, f3 4, f4 2, f5 2 Ttotal 552 498 可见增加网络固定设施通行能力后,
现 代 优 化 方 法 讲 座
2.6双层规划应用(续)
☆ 供应链管理。供应链管理的重要性得到认可。过去,厂
商与其供应商持敌对态度,都想从对方那里获得利润,导致 产品开发周期过长、产品质量无法提高、成本居高不下等问 题。如何使厂商与供应商紧密合作,达到双赢的目的,成为
割平面算法简介
割平面法在纯整数规划中的应用1、摘要:割平面法是整数规划问题中常用的一种重要方法。
割平面法解整数规划问题的基本思路是:首先根据单纯形法,画出单纯形表格,利用迭代法求出不考虑整数约束条件时的松弛问题的最优解,如果得到的解是整数则即为问题的整数解,运算停止。
但是在大多数情况下得到的解不完全是整数,其中会出现非整数的形式,也就是这个松弛问题的最优解中存在某个或者某几个基变量为非整数的形式,这就需要进一步的运算:从最优表格中提取出关于非整数基变量的约束等式,再从这个约束等式出发构造出一个割平面方程添加到原来的约束条件中去,再进行单纯形表格的迭代运算,求出最优解,如果得到的最优解是整数则即为所要求的问题的最优解,运算停止。
如果得到的解仍然不完全是整数,就需要继续进行运算,重复以上步骤,一直求解出满足条件的最优解则运算停止。
这就是割平面法的整数求解的一般步骤。
Cutting plane method which is used in an integer programming problem is a kind of important method. Cutting plane method solution in integer programming problem is the basic train of thought: first according to the simplex method, draw the simplex form, using iterative algorithm to find the integer constraint conditions do not consider the relaxation of the optimal solution of the problem, given the solution is for the problem that is the integer solutions, stop operations. But in most cases thesolution doesn't get completely integer, which could not be the integer form, also is the relaxation of the optimum solution of the existence of a or certain base the variable is not the integer form, this needs further operation: the optimal form from the extract about the base variables the constraint equation integer variables, and again from the constraint equation is constructed on a cutting plane equation added to the original conditions to, and then to simplex form iterative operation, to work out the optimal solution, if we get the optimal solution is required for the integer is the problem of optimal solution, stop operations. If the solution have still not quite integer, it needs to continue operations, repeat the above steps, has been worked out to meet the conditions of the optimal solution is to stop operations. This is cutting plane method of solving the integral general steps.1、整数规划的简要介绍整数规划是指在一类问题中要求其解的全部或者一部分变量为整数的数学规划。