optimization: linear programming - zhejiang …...content linear programming (线性规划)...

74
Optimization: Linear programming Hongxin Zhang 2015-04-07

Upload: others

Post on 19-Mar-2020

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

Optimization:

Linear programming

Hongxin Zhang

2015-04-07

Page 2: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

前3次作业的回顾

曲线拟合

PCA

MOG – EM算法

Page 3: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

Content

Linear programming (线性规划)

Non-linear optimization (非线性优化)

Text books

《线性规划》

张建中,许绍吉,科学出版社

《最优化理论与方法》

袁亚湘,孙文瑜,科学出版社

《数学规划》

黄红选,韩继业,清华大学出版社

Page 4: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

一、线性规划

在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效益的问题。

1947年G. B. Dantzig 求解线性规划的单纯形方法

现有的计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性规划的适用领域更为广泛了。

运筹学

数学规划

线性规划(Linear Programming,LP)

$利益驱动$

Page 5: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1. 基本理论

Page 6: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.1 问题定义

(linear programming, LP)

某手游计算机公司开发运营大型手游,有A, B, C三个技术团队 RPG类手游系统

每套开发运营的利润4000万元

需用A、B两个技术团队协作实施

A团队2个月,B团队1个月;

社交类手游 每套开发运营的利润3000万元

需用A, B, C三个技术团队协作实施

每个团队各需1个月

2014~2015年度,A队可工作10个月,B队8个月、C队7个月

问:怎样的开发运营策略能使总利润最大?

Page 7: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.1 问题定义

(linear programming, LP)

设可开发x1个RPG游戏, x2个社交游戏

目标函数

约束条件

2134max xxz

0,

7

8

102

21

2

21

21

xx

x

xx

xx

附加条件:x1和x2是整数

讨论?!?

Page 8: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.1 问题定义

(linear programming, LP)

在一组线性的等式或不等式约束下,求一个线性函数的最小值或最大值。

形式化的定义:

min c1x1+…+ cnxn

s. t.

a11x1+…+ a1nxn ≤b1

am1x1+…+ amnxn ≤bm

x1,…, xn ≥ 0

Page 9: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.1 问题定义

(linear programming, LP)

在一组线性的等式或不等式约束下,求一个线性函数的最小值或最大值。

形式化的定义:

min cTx

s.t. Ax ≤b

x ≥ 0

目标函数

objective function

c: 价值向量,cost vector

A: 约束矩阵,constraint matrix

b: 右端向量,right-hand-side vector

Page 10: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.1 问题定义

(linear programming, LP)

X:满足约束条件,称为可行解或可行点 (feasible point)

D:所有可行点的集合,称为可行区域 (feasible region)

LP问题: D = Ø, 无解或不可行

D ≠ Ø,但目标函数在D上无上界:无界

D ≠ Ø,且目标函数有限的最优解:有最优解

Page 11: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

线性规划的图解法

0 2 4 6 8 100

1

2

3

4

5

6

7

8

9

10

x2=7

2x1+x2=10

x1+x2=8

z=12

(2,6)

2134max xxz

0,

7

8

102

21

2

21

21

xx

x

xx

xx

Page 12: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

线性规划在Matlab中的实现方法

Matlab中规定线性规划的标准形式为:

其中:

c和x为n维列向量,

b为m维列向量,

A为m×n矩阵

http://www.mathworks.cn/cn/help/optim/ug/linprog.html

bAxxc

x

t.s. minT

Page 13: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

线性规划在Matlab中的实现方法

基本函数形式为

linprog(c, A, b)

返回值是向量x的值

调用举例:

[x,fval]=linprog(c, A, b, Aeq, beq, LB, UB, X0, OPTIONS)

fval返回目标函数的值,

Aeq、beq对应等式约束,Aeq X = beq

LB、UB分别是变量X的下界和上界, X0是X的初始值

OPTIONS是控制参数。

Page 14: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

线性规划在Matlab中的实现方法

例: Matlab代码 c=[2,3,-5];

a=[-2,5,-1];

b=-10;

aeq=[1,1,1];

beq=7;

x=linprog(

-c,a,b,aeq,beq,

zeros(3,1))

value=c'*x

321532max xxxz

0,,

1052

7

321

321

321

xxx

xxx

xxx

Page 16: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.2 标准LP问题

从实际中总结出来的LP形式不完全一样: 目标函数是最大值或最小值

约束条件是等式约束或不等式约束

变量有上界或下界或无界

min z = cTx

s.t. Ax = b

x≥0

Page 17: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

标准形式的LP问题

标准化

目标函数的转换 max z min (-z)

约束条件的转换(引入松弛变量)

变量的非负约束

min z = cTx

s.t. Ax = b

x≥0

0

1

1

in

n

j

iinjij

n

j

ijij

x

bxxabxa

jjjjjjlxyylx ,0

jjjjjjvuxvux ,0,0自由变量

Page 18: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

标准形式的LP问题

标准化

目标函数的转换 min |x1| + |x2|?

变量代换

min z = cTx

s.t. Ax = b

x≥0

0,0

jjjxxx 自由变量

j

jj

j

jxxxz

Page 19: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.3 可行区域D

下面讨论可行区域 D={x | Ax = b, x≥0} 的结构

首先讨论集合 K={ x | Ax = b }

0 2 4 6 8 100

1

2

3

4

5

6

7

8

9

10

x2=7

2x1+x2=10

x1+x2=8

z=12

(2,6)

Page 20: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.3.1 仿射集

仿射集:对于集合SEn,如果对任意x, yS, λE1, 都有

λx+(1-λ)yS,

则称S为仿射集

例:

E3中的直线和平面都是仿射集,空集Ø也是仿射集

S是En中的子空间的充要条件是S为包含原点的仿射集

每一非空的仿射集S都平行于唯一的子空间L

集合的平移:S +p={ x + p | x S }

非空仿射集S的维数定义为与它平行的子空间的维数,dim(S)

Page 21: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.3.1 仿射集

维数为0,1和2的仿射集也称为点、直线和平面

En中的n-1维仿射集称为超平面(hyperplane)

给定bE1及非零向量 a En,则集合

H={ x | aTx=b }

是En中的一个超平面,并且En中的任一超平面都能表示成这种形式。

a称为H的法向量

当a固定,b取不同值时,aTx=b表示En中的一族平行的超平面

Page 22: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.3.1 仿射集

一般仿射集的特征:

给定 mxn 实矩阵 A 和 bEm,则 K={xEn | Ax=b} 为 En

中的仿射集,并且En中的任一仿射集均可表成此种形式。

集合 K={ x | Ax = b }为 En 仿射集

若 rank(A) = m,

则 dim(K) = n – m

Page 23: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.3.2 凸集(Convex Set)

对任意的 x, y C,λ(0,1),有

λx+(1-λ)y C,

则C为凸集

En中有限个闭半空间的交是凸集,称为多面凸集,可表示成{x | Ax ≤b }形式

可行区域 D={ x | Ax=b, x≥0 } 为凸集。

凸集 非凸集

Page 24: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.3.2 凸集与界面

凸集C的非空凸子集C’若满足:

如果uC’,且u是C的一个线段的内点,即存在x,yC,使u(x,y),

则可推出x,yC’,就称C’是C的一个界面。

显然C本身也是一个界面。

Page 25: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.3.3 界面、极点与极方向

定理:可行区域 D的子集D’为D的一个界面当且仅当存在指标集合

Q{1,…,n},使得

D’={x|Ax=b,x≥0,且xj=0当jQ}

若dim(D)= n-m, D’为D的界面,且dim(D’)=n-m-k,则|Q|≥k.

凸集C的1维界面称为边(edge), 0维界面称为极点(extreme point)。

若两个极点在同一条边上,称它们是相邻的。

极点的等价定义:xC 为极点, 若 x=λx1+(1-λ)x2, 其中x1, x2 C 且

λ(0, 1),则必有x1 = x2 = x.

直观的说,极点不是C中任一线段的内点。

Page 26: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

极方向

设C≠ Ø为En中的一个凸集,dEn,d≠0。若对任一

xC 及λ>0,均有x+λd C,则称d为C的一个方向。

如果一个方向d不能表成两个方向的正线性组合,

就称d是C的极方向(extreme direction)

d是D={x | Ax=b, x≥0}≠Ø的方向等价于

d满足条件Ad=0, d≥0, d≠0

Page 27: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.4 基本可行解

假定rank(A)=m,则A中必有m个线性无关的列向量——构成满秩方阵B,A中其余各列组成子阵N,即A=(B, N)。相应的x=(xB, xN),则Ax=b可改写成

Ax = BxB+NxN=b.

因为B为满秩,则B-1存在,那么

xB = B-1b-B-1NxN

任给一组值xN,则可得到相应的xB,

(xB, xN)

为Ax=b的一个解。

令xN=0, 则xB=B-1b, x=(B-1b, 0)称为约束方程组的基本解。

min z = cTx

s.t. Ax = b

x≥0

Page 28: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.4 基本可行解

设 rank(A)=m

A中m个线性无关的列向量构成满秩方阵B

A中其余各列组成子阵N

A=(B, N)

x=(xB, xN)

Ax=b 可改写成 BxB + NxN =b

B称为基,B中的m个线性无关的列向量称为基向量,xB的m个分量称为基变量,其余的变量称为非基变量。

基本解不一定满足非负条件,故不一定是可行解。对于非负的基本解,称为基本可行解,此时B称为可行基。

Page 29: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.4 基本可行解

Page 30: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

证明:(充分性)

为基本可行解。线性无关,从而故

为极点矛盾。与

然而则因为

。充分小时容易验证当

,则取

有:则对任一正实数

使得非零反证。若相关,则存在

线性无关。应的列个分量取正值,欲证对的极点,设前为设

xaa

xxxx

xx

xx

yxxyxx

ba

a

y

aax

k

k

j

jjj

k

j

jj

T

k

k

y

D

yx

y

yy

kD

,...,

,2

1

2

1

,,0

,

,

.0

,)0,...0,,...,(

,...,

1

21

21

21

21

1

1

1

1

Page 31: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

证明:(必要性)

为极点。则

。从而线性无关。故为基本可行解,因为

可得,。由,则有时,因为

,使得,及在个分量取正值。假设存为基本可行解,设前设

x

xxxxxaax

0a

bxx

xxx

xxx

2121

1

1

21

2121

21

21

),,...,1(,...,

001

1

10,

kj

xx

AAxxxkj

Dk

jjk

k

j

jjj

jjj

Page 32: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

退化

基本可行解x,若它所有的基变量都取正值,则x为非退化的(non-degenerated); 反之,为退化的。

一个可行基对应一个基本可行解;反之,若一个基本可行解是非退化的,则它也对应着唯一的可行基。

若一个基本可行解是退化的,则它可以由不止一个可行基得到。

对应一个LP问题,如果它的所有基本可行解都是非退化,就说该问题是非退化的,否则为退化的。

Page 33: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

可行区域的极方向

极方向的代数性质: D={x | Ax=b, x≥0}的方向d有k个非零分量,则d为D的极方向的充要条件是d的非零分量对应的列向量组秩为k-1

极方向的几何性质:d为D的极方向的充要条件是d为D的某个半直线界面方向

如果D有极方向,显然D为无界集;反之若D为无界集,则D有方向,且有极方向

Page 34: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1.5 线性规划基本定理

使得

和的充要条件是存在一组则为

所有极方向的所有极点为定理:设

),...,1(),...,1(,,...,

,,...,0,|

1

1

ljkiDx

AD

ji

l

k

dd

xxxbxx

基本定理1(表示定理)

k

i

i

ji

l

j

j

j

k

i

i

i

ljki

1

11

1

,...,1,0;,...,1,0

,

dxx

极点 极方向

Page 35: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

基本定理2

给定LP问题

min z = cTx

s.t. Ax = b

x ≥ 0

(1)若存在有限最优值(即有最优解),则最优值必在可行

区域D的某个极点上达到。

(2)目标函数存在有限最优值的充要条件是对D的所有极方向

dj,均有cdj≥0

Page 36: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

最优值。

上达到点最小值。即证明了在极,即使得目标函数达到=其余的

。于是令则可知目标函数不小于设

或不存在极方向。

就需要所有的要目标函数存在下界,可以任意地大,那么若因为

问题。的和问题转换成关于的则将关于

可表示为则由表示定理可知任意为

所有极方向的所有极点为证明:设

pi

p

pip

j

j

ji

k

i

i

l

j

j

j

k

i

i

i

k

i

i

ji

l

j

j

j

k

i

i

i

l

k

ki

lj

ljki

LPLP

ljki

D

AD

x

xcxcxc

dc

dcxc

x

dxx

xdd

xx0xbxx

0

1},1|min{

,...,1 0

,...,1,0 ;,...,1,0 ;1 s.t.

min

1

,...,1,0 ;,...,1,0

,

,,...,

,,...,,|

1

11

1

11

1

1

Page 37: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

定理的注释与理解

定理说明: 标准LP问题的目标函数的最优值必可在某个基本可行解处达

到。

求解标准LP问题,只需要在基本可行解的集合中进行搜索。

求出并比较所有基本可行解的方法通常不可行。且原因在于当n较大时,基本可行解个数将很大。

通常的方法根据一定的规则在基本可行解的一个子集中计算搜索,这就是单纯形法。

Page 38: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

2. 单纯形方法

(Simplex Method)

Page 39: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

2.1 基本单纯形方法

主要思想:先找一个基本可行解,判断它是否为最优解。若不是,就找一个更好的基本可行解,在进行检验。如此迭代,直至最后找到最优解,或判定无界。

两个主要问题:

寻找初始解

如何判别和迭代(先考虑)

Page 40: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

判别和迭代

假定 rank(A) = m<n, 且假定已找到一个非退化的基本可行解,即找到一个基B。则Ax=b可写成

xB+B-1NxN=B-1b (1)

1

1

1

1

1

1

( , ..., )

( , ..., ) , 1, ...,

( , ..., )

1 2

2

m

T

j j j m j

T

m

B N

B a a

B a a j n

B b b

N B N

N

B

a a

b b

x x b

则 上 式 可 写 成

显 然 , 不 同 的 基 对 应 的 方 程 表 达 式 也 不 同 。

式 称 为 基 的 典 则 方 程 组 , 简 称 典 式 。

Page 41: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

判别和迭代

1

0

0

2 2

2

0 , 2 .0

(3 )

B N

n

B B N N B B j j j

j m

B

N

B

z N c

z

z

x x b

bb x

cx c b c c x c b c a x

x

c x c b

显 然 , 不 同 的 基 对 应 的 方 程 表 达 式 也 不 同 。

式 称 为 基 的 典 则 方 程 组 , 简 称 典 式 。

若 则 式 就 对 应 着 基 本 可 行 解

将 目 标 函 数 也 做 相 应 的 变 换 ,

用 表 示 在 基 本 可 行 解 处 的 目 标 函 数 值 ,

则 有 = ( 即 上 式 的 常 数 项 )

Page 42: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

判别和迭代

1

1 1

, ...

1, ...,

0 .

, 1, ...,

( , ) ( , )

(3) .

m

B j j

j B j j

B B N B N

B

j m

c

c j n

B A B N

z

a a

c a

c a

c c ζ ζ 0 c c

c b ζx

因 为 是 线 性 无 关 向 量 ,

故 当 时

引 入 记 号

或 用 向 量 形 式

则 式 改 写 成

Page 43: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

判别和迭代

0

1

,

m in (4 )

. . , (5 )

.

B

B N

z

L P

z z

s t B N

c b ζx

ζx

x x b

x 0

经过变量变换后, 问题可叙述成

2 .1 : 4 0

2 .2 : 4 0

2 .3 : 4 0

ˆ ˆ,

k k

k k

ζ

ζ

ζ x

ζ a 0

a

x cx c x

定 理 若 ( ) 中 , 则 为 最 优 解 。

定 理 若 ( ) 中 存 在 某 一 分 量 , 且 ,

则 原 问 题 无 解 。

定 理 若 ( ) 中 有 , 且 至少 存 在 一 个 正 分 量 ,

则 能 找 到 基 本 可 行 解 使 得 。

),(),(11

NBNBBNBAB cc0ζζccζ

Page 44: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1

ˆ

m in 0, 1, ..., 0

ˆ .0 0

ˆ (5)

ˆ ˆ ˆ ˆ.( (0 , ..., , 0 ..0 ))

ˆ ˆ0

i r

ik

ik rk

k k

k k

n

B N k j j k k N

j m

b ba i m

a a

N x x

x

a b ax x e e

x

x x b a a b a a b

x x

构 造 ( 更 好 的 基 本 可 行 解 ) 。 令

下 面 将 证 明 是 可 行 解 。 带 入 式 ,

注 意 到

根 据 的 构 造 , 显 然 可 知 。 故 是 可 行 解 。

判别和迭代

Page 45: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

线性无关。故只需要证明

而由于这里

的各分量为是基本解。下面再证明

mrkr

kr

i

rkkk

ikrkrii

aaaaa

xx

kjnmjx

abx

miaabbx

,...,,,,...,

,0ˆ0ˆ

.,,...,1,0ˆ

,...,1,/ˆ

ˆˆ

111

xx

判别和迭代

Page 46: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

1

1,

1

1

1,

1

0 0 0

{ , ... }

1

,

( )

0 , ...

ˆ ˆ( ) .

m

k

m

k i i

i i r

m

k k k k ik i

i

m

rk r ik i i

i i r

rk m

k

m

y

B B a

a a y

a

z z z ζ z

a a

a

a a

a a a a a

a a 0

a a

x ζx

反 证 法 。 若 相 关 , 则 因 为 是 线 性 无 关 的 ,

从 而 必 是 其 余 的 个 向 量 的 线 性 组 合 。

又 故 =

两 式 相 减 得

因 为 , 故 线 性 无 关 , 引 出 矛 盾 。

最 后

线性无关证明mrkr

aaaaa ,...,,,,...,111

相关

Page 47: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

单纯形法的计算步骤

.2 .7

0min .6

, .5

0 .4

},...,1|max{ .3

; .2

; .1

得到新的基,回到代替以

=求最小比

停止,原问题无界。若

及最优值,停止。已找到最优解若

求出对应的典式

找初始的可行基

Brk

ik

ik

i

rk

r

k

B

N

B

k

jk

aa

b

a

b

z

nj

aa

0a

bc0

b

x

xx

进入基。所对应的列向量一般取最大的分量

得较快,则为了使目标函数下降

有不止一个正分量,在迭代过程中,如果

称之为检验向量。

kkζ a

ζ

ζ

Page 48: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

2.2 单纯形表

mnmkmmm

rnrkrmr

nkm

nkmmr

rk

mrkrm

r

k

baaa

baaa

baaa

xxxxxx

B

xx

BB

x

x

,,1,

,,1,

1,1,11,1

11

111

......1...0...0

......0...1...0

......0...0...1

............

*

*

.,...,,,...,ˆ,...,

ˆ

阵为下,典式的系数增广矩在基

为离基变量。称为进基变量,

换基变换

变成另一个基等价地,基

)。值为零(变成非基变量同时使原来的基本变量

,变成取正值的基本变量即使原来的非基变量

——改进的基本可行解的构造方式可知,得到和根据

aaaaaaa

x

xr与xk的地位互换。

第k列通过初等变换变成单位向量er.

riaabbbabb

B

ari

arii

aar

ikrkriirkrr

ik

T

r

ik

T

r

T

i

T

r

T

i

rk

T

r

T

rrk

T

r

,)/(ˆ,/ˆ

ˆ

ˆ

ˆˆ)2

/ˆ,)1

所对应的基本可行解。最后一列正是基

乘以行行减去新的第即第

,)行(对第

除以行第

a

aaaa

aaa

Page 49: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

。式中一同进行初等变换看成一个方程,放在典

=+,或=+

将上式的等价形式

。换成将也要做相应的调整,即换基时,目标函数

0

1

ˆ

zzNBz

BBNz

NNBNNB

NNBB

xζbcxcc

xccbc

mnmkmmmm

rnrkrmrr

nkm

nkm

nkmmr

baaax

baaax

baaax

zz

RHSxxxxxxz

,,1,

,,1,

1,1,11,11

01

11

1000

0100

0010

0001

单纯形表

b0x

ζ0

xx

NI

zz

RHSz

B

N

NB

01

单纯形表可简记为

上述变换又称之为旋转(pivot),类似于解线性方程组的主元消去法.

转轴元 转轴行

转轴列

Page 50: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

2.3 初始解:两阶段法

.0min00

,)1,...,1(

0,

..

min

,,...,

)( ..

min

1

gDDD

DD

Ats

g

xxm

Ats

a

a

a

T

mnna

xxx

1

xx

bxx

1x

x

0x

0bbx

cx

。而显然

,辅助问题的可行域为。设原问题的可行域为其中

考虑如下辅助问题个人工变量引入

设原问题为

Page 51: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

2.3 初始解:两阶段法

题的一个可行解。把它除去后即得到原问。这是自然有

。说明

能:求解,其结果有两种可于是可进行单纯形迭代

,个基本可行解是对于辅助问题来说,一

考虑如下辅助问题个人工变量

,00min)2

.0min)1

.0min0

0,

..

min

,,...,1

a

a

a

a

a

T

mnna

g

Dg

gD

Ats

g

xxm

x

b

0

x

x

x

xx

bxx

1x

x

Page 52: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

2.3 初始解:两阶段法

工变量。去掉该行以及对应的人个元素都为零,则直接行的前若第

。本量消除了人工变量进入基变量,同时从基则非人工变量

为转轴元进行变换,个元素中不为零的元素行的前取第

为人工变量,设基变量

。去基变量中的人工变量否则,进行旋转变换消

本可行解。是非基变量,则解为基若此时所有人工变量都

nr

xx

anr

x

rs

rs

r

.0min0

0,

..

min

,,...,1

gD

Ats

g

xxm

a

a

a

T

mnna

x

xx

bxx

1x

x 得到辅助问题个人工变量

Page 53: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

2.4 初始解:大M法

法求解。,因此总可以用单纯形而新问题有初始解

是新问题的最优解。是原问题的最优解

说取得足够大,那么可以。只要其中

得到新问题如下及足够大的正数引入

设原问题为

b

0

x

1

xx

bxx

1xcx

x

0x

0bbx

cx

0

)1,...,1(

0,

..

min

,

)( ..

min

x

M

Ats

M

ME

Ats

a

a

a

m

a

Page 54: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

2.5 退化与防止循环

若单纯形表中右端向量存在分量为0,即出现退化解的情况下,可能出现循环。为了避免循环,需要再补充一些旋转规则。

字典序方法

Bland规则

Page 55: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

字典序方法

行。的第为其中

后,令进基变量字典序法就是在选定了

记为:

最小的。为该组向量中按字典序则称=均有使得对所有有若一组

按字典序大于等于则称=若对向量

。=非负,记为非负的,称为按字典序并且第一个非零分量是非零向量

iBmiaa

lexa

x

lex

iik

ik

i

rk

r

k

it

ttiiti

1,,,...,1,0min

.min

,,,,

.,,,

,

bppp

xx

xxxxxx

yx0yxyx

0xx

Page 56: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

Bland规则

0minmin

)2

)1

ik

ik

i

rk

r

rk

r

l

kk

aa

b

a

brl

a

bx

x

作为离基变量。即下标最小的那个基变量

达到最小,就选其中个的确定:如果同时有几离基变量

作为进基变量。所对应的非基变量选下标最小的正检验数

Bland规则的优点是简单易行,但缺点是只考虑最小下标,而不考虑目标函数值下降的快慢。故其效率比字典序或原来单纯形法低。

在实际中,退化是常见的,但退化不一定产生循环。事实上,产生循环是较罕见的。

Page 57: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

2.6 修改单纯形法

当LP问题的规模很大时,如何减少存储量和计算时间,就是一个必须加以考虑的问题。在实际中,大多采用修改单纯形法。

Page 58: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

逆矩阵法

的修改单纯形表。

了对应于基为转轴元旋转,就得到以添加一列的修改单纯形表的右边定理:对应基

满意。则计算量显然难以令人从构造如果每一次迭代都必须

的修改单纯形表。最后构造对应于得到新的基量,用最小比确定离基变再求

为进基变量确定非基变量进行迭代计算。由根据这张表和原始数据

表。,该表称为修改单纯形

形表,仅存贮下列数据逆矩阵法对每一张单纯

一般单纯形表为

B

ζB

B

BBxB

xxc

BB

BB

B

z

BNBI

BNBz

RHSz

rk

k

k

rkk

kjjjk

BBo

B

BNB

NB

ˆ

,

,

ˆ,ˆ,

|max

1

1

1

11

11

1

11

11

aa

aa

wa

b

bcc

b

w

b0x

bccc0

xx

Page 59: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

3. 最优性条件

和对偶理论

Page 60: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

对偶性

对于每一个线性规划P,总存在着另一个线性规划D,两者之间存在着密切的联系,人们可以通过求解对偶规划D来获得原规划P的最优解。

Page 61: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

3.1 Karush-Kuhn-Tucker条件 定理

0,0)(

,,

,

,,

min

,,,

**

**

*

xvbxw

0v0w0vwc

0xbx

vw

0x

bx

xc

xxcb

A

A

A

KKTEE

As.t.

LPEEEnmA

nm

nnm

条件得到满足使得下列存在的最优解的充要条件是

问题为则阶矩阵,为设

0)( 0)(

**

**

xcwbxw

0wcw

0xbx

0vwcv

AA

A

A

KTTA

条件的另一种形式),可得消去(利用若将

Page 62: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

3.1 Kuhn Tucker条件

.0)(

,

0

,

,

xcw

cw

0xbx

vx

0v0vwc

0xbx

b

bxbx

A

A

A

A

A

TKA

AA

TKLP

或等价的

条件,可推出相应的改写成只要将

条件问题的对于标准形式的

Page 63: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

3.1 Kuhn Tucker条件

.

,,0,

,

)(),(),()(

0.0 0

0)(

11

1

1

0ζ0

0v

ccwcvcwv

ccwcv

cw

0vwc

0wc

0,0vvwcc0vwc

vxxvxvvx

ζ0b0

b

x

x

vv

TK

NBNB

x

NBN

B

N

B

NB,A

TK

BNNNBB

BNNN

B

NN

B

NBNB

BBNNBB

N

B

的取法,易知而根据

。外,其余条件都已满足条件除了的

如果取本可行解这就是说,若给一个基

,于是有可改写为条件

,可知,且=+由

是什么关系呢?和

,验向量为最优的充要条件是检一个基本可行解

Page 64: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

3.2 对偶理论

对偶问题可被看作是原始问题的“行列转置”

对偶问题是:

其中y1和y2分别表示对应于约束Ax>=b和-Ax<=B的对偶变量组。

令y=y1-y2

0,s.t.min xbAxxcT

0, s.t. min

x

b

bx

A

Axc

T

cy

yAA

y

ybb

TTTT

2

1

2

1 s.t.max

cyA yb TT

s.t. max

Page 65: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

对偶定理

设x和w分别为(P)和(D)的可行解,则有cx≥wb.

设x*和w*分别为(P)和(D)的可行解,则x*和w*分别为(P)和

(D)的最优解的充要条件是cx*=w*b.

推论:若(P)有最优解x*,则(D)有最优解w*,且cx*=w*b;

若(P)无界,则(D)无解。反之亦然。

互补松弛性:设x*和w*分别为(P)和(D)的最优解,则有

w*(Ax*-b)=0, (c-w*A)x*=0。

(互补松弛性),

(对偶可行性)

(原始可行性),

条件

0)( 0)(

,

:

**

**

xcwbxw

0wcw

0xbx

AA

A

A

TK

Page 66: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

对偶定理

从K-T条件与单纯形方法中的最优准则的关系中可以

看出:在单纯形方法中,除了K-T条件的v≥0外,其余

都得到满足。即单纯形法就是保持了原始可行性、互

补松弛性、c-wA-v=0得到满足的条件下逐步改善基本

可行解,使得对偶可行性中的v=c-wA≥0得到满足。

启发:也可以在保证对偶可行性和互补松弛性满足的

条件下,改善解使得原始可行性得到满足。

Page 67: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

3.3 对偶单纯形法

0

..

max)( min)(

x

cwx

wbcx

As.t. bAts

DP

性法。这种方法称为对偶单纯

解。行性时,也就找到最优,即正则解满足原始可增加,直到=函数

目标代到另一个正则解,使从一个正则解开始,迭地,求解原规划目标函数值增加。等价

使得到另一个基本可行解,的一个基本可行解迭代从对偶规划同单纯形法一样,求解

。的正则解是一一对应的的基本可行解和,称为正则基。容易验证此时的基

的正则解。为问题则称

对应的检验向量的一个基本解的正则解:若原问题

的基本可行解。为,则称若

的基本解,为的解为满秩方阵,则,其中=的基本可行解:设

0

)(

)()(

)(

,),(0

)(

)(

)(),(

11

1

1

1

bcxbcwb

x

0cc0ζb

x

wcw

cwcw

BBz

P

DD

PDB

P

NBB

PP

DN

DBBBNBAD

B

NB

N

BB

Page 68: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

3.3 对偶单纯形法

0

..

max)( min)(

x

cwx

wbcx

As.t. bAts

DP

。为转转轴元旋转,返回。以

否则令

停止,原问题无解;。若

否则令

最优解;,停止,已找到原问题。若

,建立单纯形表。。找一个正则基

24

}0|min{

,03

}.,...,1|min{

02

1

1

rk

rj

rj

j

rk

k

r

ir

a

aaa

mibb

B

B

a

bb

Page 69: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

3.4 原始-对偶单纯形法

同时对对偶问题和第一阶段地辅助问题求解。从对偶问题的任意可行解开始,同时在迭代过程中保持对偶可行性和互补松弛性以及x≥0的情况下,通过剔除人工变量使Ax=b成立。

Page 70: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

)。(等价于剔除人工变量

所减少的限定问题的最优值有较对应于的限定问题的最优值将对应于

同时目标函数值有所增加,,使得的另一个基本可行解,找若

且满足互补松弛性)。

的可行解,和分别是和的最优解(因为为问题,则=若

解。的辅助问题的基本可行,则它是,得到最优解求解问题

的限定问题。称为对应于。问题其中

,于是辅助问题为(当

将令,为保持互补松弛性的一个可行解若已知

到辅助问题中引入人工变量后,得在

ww

w0x

wxx0x

x

x

waw

0x

bxx

1x

aw

0cwxw

0xx

bbxx

1x

x

cwx

wbcx

ˆ

)(ˆ)(

)()()(

)()(

)(},...,1,|{

,0

,0

.

min)(

)0

),)(()(

,

)0( .

min

)(

0

..

max)( min)(

DD

DPP

PP

PnjcjQ

Qjx

Qjx

Ats

gP

cx

AD

Ats

g

P

As.t. bAts

DP

a

a

a

jj

a

j

j

a

a

jjj

a

a

a

Page 71: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

。。。的限定问题。如此循环来求解对应于可以使用它来作为初值

可行解,因此的限定问题的一个基本还是对应于满足要求。同时,可以证明

--=

其中+=构造

无解。原问题

,故。由于就是辅助问题的最优解解,于是问题的对偶问题的最优

还是辅助,则说明,都要有的为其最优解。如对于所令

的对偶问题考虑

w

wx

xw

avav

aw

vww

xx

x

v0avv

1v

va

vb

ˆ

ˆˆ

.,...,1,0min

)(

0

,...,1

,0 ..

max)(

)()(

a

j

j

jj

a

a

j

j

njc

P

nj

Qjts

D

DP

Page 72: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

。,返回+=,并且构造-

-=

;否则令,则停止,原问题无解。若

。解为其对偶问题并令其最优题的最优解;否则,求,停止,以及找到原问若它的最优值

的限定问题。求解。令

作为初始解)=时,可取。(当,满足的初始解的形式。找其对偶规划

。变求解的规划为

2,...,1,0min

3

0

,0

,0

.

min

},...,1,|{2

00

0

..

min

1

vwwavav

aw

0v

v

0x

bxx

1x

waw

wccww

x

x

cx

njc

A

g

Qjx

Qjx

Ats

g

njcjQ

A

bAts

j

j

jj

a

j

j

a

a

jj

Page 73: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

3.5 对偶初始解 对偶单纯形法和原始-对偶单纯形法都需要一个对偶可行解。而

且对偶单纯形法还要求是一个基本可行解。

一点均是最优解。半直线界面,其上任意则表示可行区域的一个而

也是基本可行解。此时),令解。否则(

还是一个基本可行为原问题的最优解。若为原问题最优值,。=

。问题无界。当

了)会变的可以任意充分大。(否则充分大,故一定有。由于

且行解。这时原问题一定有可,最优值为。扩充问题有最优解

原问题无解。。扩充问题无解

计算结果有两种可能:

解。-对偶单纯形法开始求用对偶单纯形法或原始正则解。于是可以开始

个,则新单纯形表对应一纯形表。因为为转轴旋转得到新的单以设

扩充问题有可行解)对于充分大的题有可行解问题。(可证明:原问增加约束后,称为扩充

问题)从而这一约束不影响原是一个充分大的参数(否则,增加一个约束

题的一个基本可行解则说明已经找到对偶问此时若

并化为典式。消去法找到一个基问题,总可以使用高斯对应任意一个

},|{

},0|min{0

,000 (ii)

,0 (i)

ˆ0ˆ

,ˆ2

1

0,max

10

001

,

,

.,

,

021

0210212

2102

02

221

21021

,1

1

0

1

1

MMM

MMMM

zzz

zMz

zMMzz

MzzzM

a

Mx

NI

zz

RHSxz

M

MM

Bcw

BLP

o

kmik

n

B

N

nNB

N

BN

xxxx

xxxxxx

xxx

xcxc

xxxx

ζ

10

b00x

ζ

xx

1x

Page 74: Optimization: Linear programming - Zhejiang …...Content Linear programming (线性规划) Non-linear optimization (非线性优化) Text books 《线性规划》 张建中,许绍吉,科学出版社

The End

新浪微博:@浙大张宏鑫

微信公众号: