Skip to content

18.2.3 二次优化问题的解法

18.2.3.1 沃尔夫方法

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

沃尔夫 (Wolfe) 方法用于求解如下特殊类型的二次问题:

(18.56)f(x)=xTCx+pTx=min!, 约束为 Ax=b,x0.

假定 C 是正定的. 基本思想是确定与问题 (18.56) 相关的库恩-塔克条件组成的系统

(18.57a)Ax=b(18.57b)2Cxv+ATu=p,(18.57c)x0,v0(18.58)xTv=0

的解 (x,u,v) . 关系式(18.57a,18.57b,18.57c)表示一个线性方程组,共有 m+n 个方程和 2n+m 个变量. 由于 (18.58),必然有 xi=0 或者 vi=0(i=1,,n) . 因此 (18.57a,18.57b,18.57c) 和 (18.58) 的每个解至多有 n+m 个非零分量. 从而它必定是(18.57a,18.57b,18.57c)的基本解.

2. 求解过程

首先,我们确定系统 Ax=b 的一个可行基本解 (顶点) x . 属于 x 的基变量的指标构成集合 IB . 为了找出系统(18.57a,18.57b,18.57c)的同时也满足(18.58)的解, 我们把问题表达成:

(18.59)μ=min!(μR);(18.60a)Ax=b,(18.60b)2Cxv+ATuμq=p,q=2Cx¯+p,(18.60c)x0,v0,μ0(18.61)xTv=0.

如果 (x,v,u,μ) 是这个问题同时满足(19.57a,19.57b,19.57c)和(18.58)的解,那么 μ=0 . 向量 (x,v,u,μ)=(x,0,0,1) 是系统(18.60a,18.60b,18.60c)的已知可行解, 并且它也满足 (18.61). 与此基本解相关的基由系数矩阵

(18.62)(A0002CIATq)

(这里 I,0,0 分别表示相应维数的单位矩阵、零矩阵、零向量) 的某些列构成:

a) m 个列属于 xi,iIB ,

**b) nm 个列属于 vi,iIB ,

c) 所有 m 个列都属于 ui ,

d) 先删最后一列, 然后删去 b) 或 c) 中一适当的列.

如果 q=0 ,则根据 d) 互换是不可能的. 于是, x 已经是解了. 现在第 1 张单纯形表就可以构建出来了. 目标函数的极小将通过单纯形法求解, 不过这里要加上一个附加的规则,即保证满足关系 xTv=0 : 变量 xivi(i=1,,n) 必须不能同时是基变量.

在系数矩阵 C 正定的情形下,考虑到此附加规则,单纯形法提供问题 (18.59), (18.60a,18.60b,18.60c),(18.61) 的一个满足 μ=0 的解. 在 C 为正半定矩阵情形下,由于限制了主元的选择,有可能发生: 尽管 μ>0 ,在无强加的附加规则下,不可能再有交换步骤. 在这种情形下, μ 再也无法进一步减少了.

f(x)=x12+4x2210x132x2=min!,x1+2x2+x3=7,2x1+x2+x4=8.A=(12102101),b=(78),C=(1000040000000000),p=(103200).

在这种情形下, C 是半正定的. Ax=b 的一个可行基本解是 x=(0,0,7,8)T , q=2Cx+p=(10,32,0,0)T . 基向量的选择是: a) (A2C) 的第 3,4 列; b) (0I) 的第 1,2 列; c) (0AT) 的列; d) 列 (0q) 代替 (0I) 的第 1 列. 基矩阵由这些列构成, 并计算基矩阵逆 (参见第 1179 页 18.1). 用基矩阵逆乘矩阵 (18.62) 和向量 (0p) ,就得到第 1 个单纯形表 (表 18.9).

表 18.9

x1

x2

v1

v3

U4

x3

1

2

0

0

0

7

x4

2

1

0

0

0

8

v2

64 10

-8

3210

1210

5410

0

u1

0

0

0

-1

0

0

u2

0

0

0

0

-1

0

μ

2 10

0

1 10

1 10

210

1

210

0

110

110

210

-1

根据互补约束,只有 x1 可以与 v2 交换. 如此几步之后,我们就得到解 x=(2,5/2 , 0,3/2)T.2Cxv+ATuμq=p 的后两个方程是: v3=u1,v4=u2 . 因此, 除去变量 u1,u2 之后,问题的维数可以降低.

18.2.3.2 希尔德雷思-戴索普 (Hildreth-d'Esopo) 方法

1. 原理

严格凸优化问题

(18.63)f(x)=xTCx+pTx=min!,Axb

的对偶问题 (参见第 1202 页 1.) 是

(18.64a)ψ(u)=uTEu+hTu=min!,u0,其中(18.64b)E=14AC1AT,h=12AC1p+b.

矩阵 E 是正定的,并有正对角元 eii(i=1,,m) . 变量 xu 满足如下关系:

(18.65)x=12C1(ATu+p).

2. 迭代求解

对偶问题 (18.64a) 仅包含约束条件 u0 ,可以通过如下简单的迭代方法求解:

a) 代入 u10 (例如, u1=0 ), k=1 .

b) 根据下列公式计算 uik+1,i=1,,m :

(18.66a)wik+1=1eii(j=1i1eijujk+1+hi2+j=i+1meijujk),(18.66b)uik+1=max{0,wik+1}.

c) 重复步骤 b),用 k+1 代替 k ,直至停止规则满足,例如 |ψ(uk+1)ψ(uk)|< ε,ε>0 .

假定存在 x 使得 Ax<b ,则序列 {ψ(uk)} 收敛于极小值 ψmin ,而由 (18.65) 给出的序列 {xk} 收敛于原问题的解 x . 序列 {uk} 并不总是收敛的.

version 1.24.0