Skip to content

18.2.9 割平面法

1. 问题的提法和求解原理

设考虑有界区域 MRn 上的问题

(18.117)f(x)=cTx=min!,cRn,

这里 M 由凸函数 gi(x)(i=1,,m) 以约束形式 gi(x)0 给出. 相应于非线性但凸的目标函数 f(x) 的规划问题就可以转换成这种形式,为此只要把

(18.118)f(x)xn+10,xn+1R

看作另一个约束,并且在约束 g¯i(x)=gi(x)0 之下求解问题:

(18.119)f¯(x)=xn+1=min!,x=(x,xn+1)Rn+1.

这个方法的基本想法是通过极小点 x 邻域中一凸多面体,迭代线性逼近 M ,从而原规划问题转化成一列线性规划问题.

首先, 确定凸多面体

(18.120)P1={xRn:aiTxbi,i=1,,s}.

由线性规划问题

(18.121)f(x)=min!,xP1

相对于 f(x) 确定 P1 的最优极端点 x1 . 如果 x1M ,则就找到原问题的最优解. 否则,确定将点 x1M 分离的一超平面: H1={x:as+1Tx=bs+1,as+1Tx1>bs+1} , 于是新的多面体包含

(18.122)P2={xP1:as+1Txbs+1}.

图 18.13 为割平面法的示意图.

01936af3-1230-7a0e-9a4a-8542777881ce_45_604_1521_434_226_0.jpg

2. 凯利 (Kelley) 方法

不同方法之间的区别在于分离平面的选取. 采用凯利方法, Hk 的选取方法如下: 选择一标号 jk 使得

(18.123)gjk(xk)=max{gi(xk):i=1,,m}.

函数 gjk(x)x=xk 的切平面为

(18.124)T(x)=gjk(xk)+(xxk)Tgjk(xk).

超平面 Hk={xRn:T(x)=0} 把点 xk 与所有满足 gjk(x)0 的点 x 分离开. 于是,对于第 k+1 个线性规划问题,增加一个约束条件 T(x)0 . 序列 {xk} 的每个聚点 x 都是原问题的一个极小点. 实际应用表明,这种方法的收敛速度较低. 此外, 约束的数量总是不断增加.

version 1.24.0