49
3.1 整整整整整整整整 Mathematical Model of IP 3.2 整整整整整整整 Solving Integer Programming 3.3 0 1 整整整整整 Solving Binary Integer Programming 整3整 整 整 整 整 Integer Programming

3.1 整数规划数学模型 Mathematical Model of IP 3.2 整数规划的求解 Solving Integer Programming

  • Upload
    jarah

  • View
    244

  • Download
    0

Embed Size (px)

DESCRIPTION

第 3 章 整 数 规 划 Integer Programming. 3.1 整数规划数学模型 Mathematical Model of IP 3.2 整数规划的求解 Solving Integer Programming 3.3 0 - 1 规划的求解 Solving Binary Integer Programming. 3.1 整数规划的数学模型. 线性规划的决策变量取值可以是任意非负实数,但许多实际问题中,只有当决策变量的取值为整数时才有意义。 例如,产品的件数、机器的台数、装货的车数、完成工作的人数等,分数或小数解显然是不合理的。 - PowerPoint PPT Presentation

Citation preview

Page 1: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

3.1 整数规划数学模型 Mathematical Model of IP3.2 整数规划的求解 Solving Integer Programming 3.3 0 - 1 规划的求解 Solving Binary Integer Programming

第 3 章 整 数 规 划Integer Programming

Page 2: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划2

线性规划的决策变量取值可以是任意非负实数,但许多实际问题中,只有当决策变量的取值为整数时才有意义。 例如,产品的件数、机器的台数、装货的车数、完成

工作的人数等,分数或小数解显然是不合理的。

对某一个项目要不要投资的决策问题,可选用一个逻辑变量 x ,当 x=1 表示投资, x=0 表示不投资。

3.1 整数规划的数学模型

纯整数规划 (IP) : xj 全部取整数 混合整数规划 (MIP) : xj 部分取整数 0-1 整数规划 (BIP) :整数变量只能取 0 或 1

分类

Page 3: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划3

【例 3-1 】某人有一背包可以装 10 公斤重、 0.025m3 的物品。他准备用来装甲、乙两种物品,每件物品的重量、体积和价值如表 3-1 所示。问两种物品各装多少件,才能使所装物品的总价值最大? 表 3-1

【解】设甲、乙两种物品各装 x1 、 x2 件,则数学模型为:

且为整数,0,

255.22

108.02.1

34max

21

21

21

21

xx

xx

xx

xxZ

(3-1)

物品 重量(公斤 / 件) 体积( m3/ 件) 价值 ( 元 / 件 )

甲乙

1.20.8

0.0020.0025

43

3.1 整数规划的数学模型

Page 4: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划4

【补充例】投资决策问题。某公司有 5 个项目被列入投资计划,各项目的投资额和期望的投资收益如下表

3.1 整数规划的数学模型

该公司只有 600 万元资金可用于投资,由于技术上的原因,投资受到以下约束:( 1 )在项目 1 、 2 和 3 中必须且只有一项被选中;( 2 )项目 3 和项目 4 最多只能选中一项;( 3 )项目 5 被选中的前提是项目 1 必须被选中。如何在上述条件下选择一个最好的投资方案,使投资收益最大?

项目 投资额(万元) 投资收益(万元)

1 210 160

2 300 210

3 150 60

4 130 80

5 260 180

Page 5: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划5

【解】设 xj 为选择第 j ( j=1,2,3,4,5) 个项目的决策

)5,4,3,2,110

11

600260130150300210

1808060210160max

15

43

321

54321

54321

jxxxxx

xxxxxxxx

xxxxxz

j (或

)5,4,3,2,10

1

jj

jx j (

没有选中项目

选中项目设

3.1 整数规划的数学模型

Page 6: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划6

【例 3-2 】在例 3-1 中,假设此人还有一只旅行箱,最大载重量为 12 公斤,其体积是 0.02m3 。背包和旅行箱只能选择其一,建立下列几种情形的数学模型,使所装物品价值最大。 ( 1 )所装物品不变; ( 2 )如果选择旅行箱,则只能装载丙和丁两种物品,每件物品的重量、体积和价值如下表所示

3.1 整数规划的数学模型

物品 重量(公斤 / 件) 体积( m3/ 件) 价值 ( 元 / 件 )丙丁

1.80.6

0.00150.002

43

Page 7: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划7

【解】( 1 )引入 0 - 1 变量 yj ,令

)2,1(0,1

j

jj

y j 种方式装载时不采用第,种方式装载时采用第

j=1,2 分别是采用背包及旅行箱装载。

3.1 整数规划的数学模型

)2,1(10)2,1(,0

120255.2212108.02.1

34max

21

2121

2121

21

jyix

yyyyxxyyxx

xxZ

j

i

或且取整数

(3-2)

此问题也可以建立两个整数规划模型。

Page 8: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划8

)2,1(10

)2,1(,01

)33(2025.1)33(126.08.1

)33(255.22)33(108.02.1

34max

21

121

121

221

221

21

iy

jxyy

dMyxxbMyxx

cMyxxaMyxx

xxZ

i

j

或且取整数

( 2 )由于不同载体所装物品不一样,数学模型为

3.1 整数规划的数学模型

其中 M 为充分大的正数。当使用背包时 ( y1=1, y2=0 ) ,式 (b) 和 (d) 是多余的;当使用旅行箱时 ( y1=0, y2=1 ) ,式 (a) 和 (c) 是多余的。

背包约束

旅行箱约束

Page 9: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划9

( 1 )右端常数是 k 个值中的一个时,类似式 (3-2) 的约束条件为

1111

k

ii

k

iii

n

jjij yybxa ,

3.1 整数规划的数学模型

同样可以讨论对于有 m 个条件互相排斥、有 m(≤ m 、≥ m )个条件起作用的情形。

Page 10: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划10

( 2 )对于 m 个(组)条件中有 k (≤ m )个(组)起作用时,类似式 (3-3) 的约束条件写成

这里 yi=1 表示第 i 组约束不起作用(如 y1=1 式 (3-3b) 、(3-3d) 不起作用), yi=0 表示第 i 个约束起作用。当约束条件是“≥”符号时右端常数项应为

i ib My

3.1 整数规划的数学模型

m

ii

n

jiijij kmyMybxa

11

,

Page 11: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划11

【例 3-3 】试引入 0 - 1 变量将下列各题分别表达为一般线性约束条件

( 1 ) x1+x2≤6 或 4x1+6x2≥10 或 2x1+4x2≤20

( 2 )若 x1≤5 ,则 x2≥0 ,否则 x2≤8

( 3 ) x2 取值 0 , 1 , 3 , 5 , 7【解】 ( 1 ) 3 个约束只有 1 个起作用

1 2 1

1 2 2

1 2 3

1 2 3

6

4 6 10

2 4 20

2

0 1 1,2,3j

x x y M

x x y M

x x y M

y y y

y j

或,

3,2,110

1

)1(2042

)1(1064

)1(6

321

321

221

121

jy

yyy

Myxx

Myxx

Myxx

j ,或

3.1 整数规划的数学模型

如果要求至少一个条件满足,模型如何改变?

Page 12: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划12

( 3 )右端常数是 5 个值中的 1 个

( 2 )两组约束只有一组起作用

3.1 整数规划的数学模型

(1)

(2)

(3)

(4)

Page 13: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划13

【例 3-4】企业计划生产 4000 件某种产品,该产品可自己加工、外协加工任意一种形式生产。已知每种生产的固定费用、生产该产品的单件成本以及每种生产形式的最大加工数量(件)限制如表 3 - 2 所示,怎样安排产品的加工使总成本最小。

表 3 - 2

固定成本(元)

变动成本(元/件)

最大加工数(件)

本企业加工 500 8 1500

外协加工Ⅰ 800 5 2000

外协加工Ⅱ 600 7 不限

3.1 整数规划的数学模型

Page 14: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划14

【解】设 xj 为采用第 j ( j=1,2,3 )种方式生产的产品数量,生产费用为

3.1 整数规划的数学模型

其中 kj 是固定成本, cj 是可变成本。设 0 - 1 变量 yj

)0(0

)0()(

j

jjjj

jj x

xxckxC

)3,2,1()00

)01

jxj

xjy

j

jj 种加工方式(不采用第

(种加工方式采用第

Page 15: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划15

)7600()5800()8500(min 332211 xyxyxyZ

)3,2,1(01

)3,2,1(0

2000

1500

4000

)3,2,1(

2

1

321

jy

jx

x

x

xxx

jMyx

j

j

jj

( 3-4 )

用 WinQSB软件求解得到:X= (0 , 2000 , 2000)T , Y= (0 , 1 , 1)T , Z=2540

0

3.1 整数规划的数学模型

配合目标,使得只有选用第 j 种加工方式才产生相应成本,不选用第 j 种加工方式就没有成本。

Page 16: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划16

整数规划的一般形式:

),,2,1(

),,2,1(0

),,2,1(),(

..

min)max(

1

1

njx

njx

mibxa

ts

xcz

j

j

n

jijij

n

jjj

称线性规划模型

(Ⅰ)

(Ⅱ)(LP)

为(Ⅰ)的松弛问题。

),,2,1(0

),,2,1(),(

min)max(

1

1

njx

mibxa

xcz

j

n

jjij

n

jjj

每一个整数规划都对应一个松弛问题,整数规划比它的松弛问题约束得更紧。

部分或全部取整

3.1 整数规划的数学模型

Page 17: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划19

1. 整数规划模型的特征2. 什么是纯(混合)整数规划3. 0 - 1 规划模型的应用

下一节:纯整数规划的求解

3.1 整数规划的数学模型

本节学习要点

Page 18: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划20

整数规划解的特点 整数规划(Ⅰ)的可行解集是其松弛问题(Ⅱ)的可

行解集的子集。线性规划问题的可行解集是一个凸集(稠密的),但整数规划的可行解集不是凸集(离散型)。

如果松弛问题(Ⅱ)的最优解是整数解,则一定是整数规划(Ⅰ)的最优解。

整数规划(Ⅰ)的最优值不会优于松弛问题(Ⅱ)的最优值。

3.2 整数规划的求解

Page 19: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划21

3.2 整数规划的求解

且均取整数,0,

255.22

108.02.1

34max

21

21

21

21

xx

xx

xx

xxZ

点 B 为最优解 X= (3.57 , 7.14) Z= 35.7

用图解法求解例 3-1的松弛问题

整数规划问题的可行解集是图中可行域内的整数点。

8.33

10

108.02.1 21 xx

255.22 21 xx

松弛问题的最优解 X=(3.57, 7.14), z=35.7

x1

x2

o

A

C10

B

图图 3-13-1

Page 20: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划22

松弛问题的最优解 X= (3.57 , 7.14) , Z= 35.7

“四舍五入”得 X=(4,7) 不是可行解; 用“取整”法来解时, X=(3,7)虽属可行解,但代入目标函数得 Z=33, 并非最优。 该整数规划问题的最优解是 X=(5,5) ,最优值是 Z=3

5

即甲、乙两种物品各装 5 件,总价值 35 元。 由图 3 - 1知,点( 5 , 5 )不是 LP 可行域的顶点,直接用图解法或单纯形法都无法求出整数规划问题的最优解,因此求解整数规划问题的最优解需要采用其它特殊方法。

3.2 整数规划的求解

8.33

10

108.02.1 21 xx

255.22 21 xx

松弛问题的最优解 X=(3.57, 7.14), z=35.7

x1

x2

o

A

C10

B

图图 3-13-1

Page 21: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划23

【例 3-5 】用分支定界法求解例 3-1

【解】先求对应的松弛问题

0,

255.22

108.02.1

:

34max

21

21

21

0

21

xx

xx

xx

LP

xxZ

用图解法得到最优解 X=( 3.57,7.14 ) , Z0=35.7

且均取整数,0,

255.22

108.02.1

34max

21

21

21

21

xx

xx

xx

xxZ

3.2.1 分支定界法

Page 22: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划24

8.33

10

108.02.1 21 xx

255.22 21 xx

松弛问题 LP0 的最优解 X=(3.57, 7.14), Z0=35.7

x1

x2

o

A

B

C10

3.2.1 分支定界法

Page 23: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

10

10

x1

x2

0

A

B

C

0,3

255.22108.02.1

:

34max

21

1

21

21

1

21

xxx

xxxx

LP

xxZ

LP1

LP2

3 4

LP1:X=(3, 7.6), Z1=34.8

0,4

255.22108.02.1

:

34max

21

1

21

21

2

21

xxx

xxxx

LP

xxZ

得到两个线性规划及增加约束 43 11 xx①

LP2:X=(4, 6.5), Z2=35.5

Page 24: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

10

10

x10

A

C

LP1

3 4

LP1:X=(3, 7.6), Z1=34.8

x1

B

0,64

255.22108.02.1

:

34max

21

21

21

21

3

21

xxxx

xxxx

LP

xxZ

3222

2

776 LPxxxLP不可行,得到,显然及进行分枝,增加约束选择目标值最大的分支

6

7

LP3:X=(4.33, 6), Z3=35.33

LP2LP3

Page 25: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

x1x1

0,464

255.22108.02.1

:

34max

21

121

21

21

4

21

xxxxx

xxxx

LP

xxZ

,,

:及,得到线性规划及

进行分枝,增加约束,选择由于

5411

313

54 LPLPxx

LPZZ

0,65

255.22108.02.1

:

34max

21

21

21

21

5

21

xxxx

xxxx

LP

xxZ

10

10

x10

A

C

LP1

3 4

LP1:X=(3, 7.6), Z1=34.8

x1

B

6

7

LP2LP3

LP5

LP4:X=(4, 6), Z4=34

LP5:X=(5, 5), Z5=35

此为原 IP 最优解

5

的可行域是一条线段4LP

Page 26: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划28

尽管 LP1 的解中 x2 不为整数,但 Z5 Z≧ 1 ,因此LP5 的最优解就是原整数规划的最优解。若 Z5≦Z1 ,则要对 LP1进行分支。

3.2.1 分支定界法

Page 27: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划29

上述分枝过程可用下图表示

LP0: X=(3.57, 7.14),Z0=35.7

LP1: X=(3, 7.6) Z1=34.8

LP2: X=(4, 6.5) Z2=35.5

x1≤3 x1≥4

LP3: X=(4.33, 6) Z3=35.33

x2≤6

LP4: X=(4, 6) Z4=34

LP5: X=(5, 5) Z5=35

x1≤4 x1≥5

无可行解

x2≥7

最优解

3.2.1 分支定界法

Page 28: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划30

分支定界法的步骤:

1. 求整数规划的松弛问题最优解;2.  若松弛问题的最优解满足整数要求,得到整数规划

的最优解,否则转下一步;

3.2.1 分支定界法

3. 任意选一个非整数解的变量 xi ,在松弛问题中加上约束 xi≤[xi] 及 xi≥[xi]+1 组成两个新的松弛问题,称为分支。新的松弛问题具有特征:当原问题是求最大值时,目标值是分支问题的上界;当原问题是求最小值时,目标值是分支问题的下界;

Page 29: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划31

4.  检查所有分支的解及目标函数值,若某分支的解是整数并且目标函数值大于( max )等于其它分支的目标值,则将其它分支剪去不再计算 , 若还存在非整数解并且目标值大于( max )整数解的目标值,需要继续分支,再检查,直到得到最优解。

分支原则:始终选 Z 值大的,且 xi 中有分数的 LP进行分支。定界原则:满足取整要求,且目标函数值较已定的 “

界”更优,则用该目标函数值替换,重新定界。

3.2.1 分支定界法

说明: 分支定界法适用于求解纯整数规划和混合整数规划

Page 30: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划32

设纯整数规划

),,2,10

max

1

1

njx

bxa

xcZ

j

i

n

jjij

n

jjj

且为整数(

松弛问题的最优解T

mT bbbbBbbBX ),,,()0,( 21

11 =

3.2.2 割平面法

),,2,10

max

1

1

njx

bxa

xcZ

j

i

n

jjij

n

jjj

设 xi= 不为整数, 为非基变量kk

kikii xxabx ib

Page 31: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划33

将 分离成一个整数与一个非负真分数之和:iki ab及

10,10,,][ ikiikikikiii fffaafbb

则有 kk

ikkk

ijiii xfxafbx ][][

kk

ikikk

ijii xffxabx ][][

等式两边都为整数 , 并且有

1 ikk

iki fxff

3.2.2 割平面法

Page 32: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划34

加入松弛变量 si得

ikk

iki fxfs

此式称为以 xi 行为源行(来源行)的割平面方程,或分数切割式,或 R.E.Gomory(高莫雷 ) 约束方程。 将 Gomory 约束加入到松弛问题的最优表中,用对偶单纯形法计算,若最优解中还有非整数解,再继续切割,直到全部变量为整数。

0 kk

iki xff则

3.2.2 割平面法

Page 33: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划35

32

431

332

2

34

461

365

1

xxx

xxx例如,

3

11)

6

51(

6

5431 xxxx1 行:

移项: 4341 6

5

6

5

3

11 xxxx

06

5

6

5

3

143 xx

加入松弛变量 s1得割平面方程 31

1465

365 sxx

同理,对于 x2 行有:

32

2431

331 sxx

3.2.2 割平面法

Page 34: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划36

【例 3-6】 用割平面法求解下列 IP 问题

且为整数0,

102

3046

34max

21

21

21

21

xx

xx

xx

xxZ

【解】 对应的松弛问题是

0,

102

3046

34max

21

21

21

21

xx

xx

xx

xxZ

3.2.2 割平面法

Page 35: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划37

加入松弛变量 x3 及 x4后,用单纯形法求解,得到最优表 3-3 。

最优解 X(0)= (5/2 , 15/4), 不是 IP 的最优解。选择表中的第一行 ( 也可以选第二行 ) 为源行

Cj 4 3 0 0b

CB XB x1 x2 x3 x4

43

x1

x2

10

01

1/4- 1/8

- 1/23/4

5/215/4

λj 0 0 - 5/8 - 1/4

表 3-3

3.2.2 割平面法

2

5

2

1

4

1431 xxx

Page 36: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划38

分离系数后改写成

2

12)

2

11(

4

1431 xxx

02

1

4

1

2

12 4341 xxxx

加入松弛变量 x5得到高莫雷约束方程

22 543 xxx

将此式作为约束条件添加到表 3 - 3 中,用对偶单纯形法计算,如表 3 - 4 所示

3.2.2 割平面法

2

5

2

1

4

1431 xxx

Page 37: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划39

Cj 4 3 0 0 0b

CB XB x1 x2 x3 x4 x5

430

x1

x2

x5

100

010

1/4- 1/8- 1

- 1/23/4

- 2

001

5/215/4- 2

λj 0 0 - 5/8 - 1/4 0

430

x1

x2

x4

100

010

1/2- 1/2

1/2

001

- 1/43/8

- 1/2

331

λj 0 0 - 1/2 0 - 1/8最优解 X(1)= (3 , 3) ,最优值 Z= 21 。

表 3 - 4

3.2.2 割平面法

Page 38: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划40

x2

x1

A

C

B

x1+2x2=10

0

D

C

6x1+4x2=30

E

x1+x2≤6

几何意义

由约束条件得: x3=30-6x1-4x2 , x4=10-x1-2x2

代入割平面方程 -x3-2x4≤-2 ,得 x1+x2≤6

说明:利用割平面法求解整数规划问题时 , 若从最优单纯形表中选择具有最大小(分)数部分的非整分量所在行构造割平面方程,往往可以提高“切割”效率,减少“切割”次数。

3.2.2 割平面法

不含任何整数解

Page 39: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划41

5

x1

5x1+9x2≤45

x2

x1+x2≤6

6 9

6

0

思考: 对于两个变量的纯整数规划问题是否可采用图解法。

最优解 x1=0, x2=5

且为整数0

4595

6

85

21

21

21

21

xx

xx

xx

xxz

,

max

3.2.3 整数规划的图解法

Page 40: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划42

步骤:1. 作出松弛问题的可行域。2. 在可行域内作出所有的整数网格。3. 作目标函数等值线,将等值线平行移动,最后接触到

的网格点(或平行移动到松弛问题的最优解点再往回移,首先接触到的网格点),就是整数规划的最优解。

3.2.3 整数规划的图解法

Page 41: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划43

1. 理解分支与定界的含义2. 选择合适的“ 枝”生“ 枝”3. 掌握何时停止生“枝”4. 领会割平面法的基本原理5. 分离源行,求出 Gomory 约束6. 在最优表中增加 Gomory 约束,用对偶单纯形法迭代

下一节: 0 - 1 规划的求解

3.2 整数规划的求解

本节学习要点

Page 42: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划44

3.3.1 求解 0 - 1 整数规划的隐枚举法隐枚举法的步骤: 1. 找出任意一可行解,目标函数值为 Z0

2.  原问题求最大值时,则增加一个约束 1 1 2 2 0 (*)n nc x c x c x Z

作为过滤条件。当求最小值时,上式改为小于等于约束。3. 列出所有可能解,对每个可能解先检验是否满足过滤条件,

若满足再检验其它约束,若不满足约束,则不可行,若所有约束都满足,且目标值超过 Z0 , 则应更换过滤条件。

4. 目标函数值最大(最小)的解就是最优解。

3.3 0 - 1 规划的求解

Page 43: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划45

【例 3-7】用隐枚举法求解下列 BIP 问题

4,3,2,110

10542

32

4653

10324

5326max

4321

4321

4321

4321

4321

jx

xxxx

xxxx

xxxx

xxxx

xxxxZ

j ,或

3.3 0 - 1 规划的求解

(1)

(2)

(3)

(4)

Page 44: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划46

j X(1)

(2)

(3)

(4)

Zj j X(1)

(2)

(3)

(4)

Zj

1 (0,0,0,0)       9 (1,0,0,0)    

2 (0,0,0,1) 10 (1,0,0,1)

3 (0,0,1,0)       11 (1,0,1,0)

4 (0,0,1,1) 12 (1,0,1,1)

5 (0,1,0,0)     13 (1,1,0,0)

6 (0,1,0,1)     14 (1,1,0,1)

7 (0,1,1,0)     15 (1,1,1,0)  

8 (0,1,1,1) 16 (1,1,1,1)

表 3 - 5

最优解: X= (1, 0, 1, 1)T ,最优值 Z= 14

3.3 0 - 1 规划的求解

√ ×

√√

z 5≧3

√ √√

√ 2

7

5

√×

10

6

√ √ √ × 16

√ √ √ √ z≧11

9

√ √ √ √ z≧14

8

13

11

8z≥8

Page 45: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划59

长江综合商场有 5000m2营业面积招租,拟吸引以下 5 类商店入租。已知各类商店开设一个店铺占用的面积,在该商场内最多与最少开设的个数,以及每类商店开设不同个数时每个商店的每月预计利润见表。商场除按租用面积每月收取 100 元 /m2租金外,还按利润的 10%按月收取屋业管理费。问该商场应招租上述各类商店各多少个,使预期收入为最大?

代号 商店类别

一个铺面面积 (m2)

开设数 开设不同数时一个店铺利润 ( 万元 )

最少 最多 1 2 3

1 服装 250 1 3 9 8 7

2 鞋帽 350 1 2 10 9 -

3 百货 600 1 3 27 20 20

4 书店 300 0 2 16 10 -

5 餐饮 400 1 3 17 15 12

思 考 商 场 招 租

Page 46: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划60

)3,2,1;5,4,3,2,10

1

jiji

xij (否则

个类商店建

代号 商店类别

开设不同个数店铺

1 2 3

1 服装 x11 x12 x13

2 鞋帽 x21 x22 x23

3 百货 x31 x32 x33

4 书店 x41 x42 x43

5 餐饮 x51 x52 x53

思 考 商 场 招 租

Page 47: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

maxZ=100(250y1+350y2+600y3+300y4+400y5)+10%(9x11+8×2x12

+7×3x13+10x21+9×2x22+…+12 ×3x53)

x11+2x12+3x13=y1

x21+2x22+3x23=y2

x31+2x32+3x33=y3

x41+2x42+3x43=y4

x51+2x52+3x53=y5

x11+x12+x13=1

x21+x22+x23=1

x31+x32+x33=1

x41+x42+x43≤1

x51+x52+x53=1

x23=0

x43=0

250y1+350y2+600y3+300y4+400y5≤5000

xij=0 或 1 ( i=1,2,3,4,5; j=1,2,3), yi≥0 (i=1,… , 5 )

Page 48: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划62

用 LINDO软件计算,得最优解 x12=x22=x33=x42=x53=1 ,其余 xij=0

最优值 Z=63 (万元)

最优方案: 招租服装店 2 个,鞋帽店 2 个,百货店 3 个,书店 2

个,餐饮店 3 个,预期收入最大,为 63 万元

思 考 商场招租

Page 49: 3.1  整数规划数学模型    Mathematical Model of IP 3.2  整数规划的求解 Solving  Integer Programming

第 3 章整数规划63

1. 用隐枚举法求 0-1 规划的最优解2. 用分枝-隐枚举法求解 0-1 规划的最优解

The End of Chapter 3

3.3 0 - 1 规划的求解

本节学习要点