运筹学 第五章 整数规划

合集下载

运筹学 第05章 整数规划与分配问题

运筹学 第05章 整数规划与分配问题

1
整数规划问题的提出
0 xj 1 表示项目j不被选中 表示项目j被选中 ( j 1,2,3,4,5)
解:决策变量:设
目标函数:期望收益最大
max z 10 x1 8 x 2 7 x3 6 x 4 9 x5
约束条件:投资额限制条件 6x1+4x2+2x3+4x4+5x515 项目A、C、E之间必须且只需选择一项:x1+x3+x5=1 项目B、D之间必须且只需选择一项:x2+x4=1 项目C的实施要以项目D的实施为前提条件: x3 x4 归纳起来,其数学模型为:
n
(i 1,2, , m) ( j 1,2, , n)
2
整数规划问题的分类
根据变量取整数的情况,将整数规划分为:
(1)纯整数规划,所有变量都取整数.
(2)混合整数规划,一部分变量取整数,一部分变量取实数 (3)0-1整数规划 ,所有变量均取0或1
2
整数规划问题的求解思考
1
整数规划问题与其松弛问题
2
匈牙利法
例:用匈牙利法求解下列指派问题,已知效率矩阵分别如下:
任务 A 2 10 9 7 B 15 4 14 8 C 13 14 16 11 D 4 15 13 9
人员
甲 乙 丙 丁
2
匈牙利法
2 10 9 7
15 4 14 8
13 14 16 11
4 15 13 9
例:其中(2,2)(3,1)点为最大值,Z=4。常用的求解整数规划的方法有: 割平面法和
分支定界法,对于0-1规划问题采用隐枚举法和匈牙利法。
3
分派问题与匈牙利法
1

运筹学课件第五章 整数规划

运筹学课件第五章 整数规划

第一节 整数规划的数学模型
解的特点: 整数规划
松弛问题
max c x Ax b s .t . x 0, x为整数

max c x Ax b s .t . x 0

1、整数规划可行域是松弛问题可行域的子集
2、整数规划最优值小于等于松弛问题的最优值
第一节 整数规划的数学模型
P1 P2
P4
以上描述了目前解整数规划问题的一种思路。
第二节 分支定界法
思路:切割可行域,去掉非整数点。 解题步骤: 1、不考虑整数约束,解相应松弛问题。 2、检查是否符合整数要求,是,则得最优解,完毕。 否则,转下步。 3、任取一个非整数变量xi=bi,构造两个新的约束条 件:xi ≤[bi],xi≥[bi]+1,分别加入到上一个LP问 题,形成两个新的分枝问题。 4、不考虑整数要求,解分枝问题。若整数解的Z值 大于所有分枝末梢的Z值,则得最优解。否则, 取Z值最大的非整数解,继续分解,Go to 3。
序号 1 2 3 4 5 6 7
物品
重量 系数
食品
5 20
氧气
5 15
冰镐
2 18
绳索
6 14
帐篷
12 8
相机
2 4
设备
4 10
第三节
0-1型整数规划
解:令xi=1表示登山队员携带物品i,xi=0表示登 山队员不携带物品i,则得: Max Z=20x1+15x2+18x3+14x4+8x5+4x6+10x7
第三节
(x1,x2,x3) z值
0-1型整数规划
1 2 3 4 过滤条件
(0,0,0)

运筹学第五章整数规划

运筹学第五章整数规划

分解 ai0 , j和 bi0 成最大整数与正分数之和:
浙江理工大学 经济管理学院
管理运筹学
wxj
Page:21
xi0 ai0 , j x j bi0 xi0 ( Ni0 , j f i0 , j )x j Ni0 f i0 xi0 Ni0 , j x j Ni0 f i0 f i0 , j x j
S1
x2 2
B: x1=2,x2=23/9 Z=41/9
x2 3
D: S12 x1=33/14,x2=2 Z=61/14
S11
无可行解
浙江理工大学 经济管理学院
管理运筹学
wxj
Page:15
对S12分枝:
构造约束:
x1 3
X
2 5
4

x1 2
3
3 10 A( , ) 2 3
形成分枝问题S121 和S122,得解E和F
形成松弛问题2
浙江理工大学 经济管理学院
管理运筹学
wxj
Page:24
CB XB 3 x1 -1 0 0 x2 x4 x6
3 -1 0 0 x1 x2 x3 x4 1 0 1/7 0 0 0 0 0 1 -2/7 0
0 x5 2/7 3/7
0 x6 0 0 0 1 0
b 13/7 9/7 31/7 -6/7
首先不考虑变量的整数约束,求解相应的线性规划问题:
z0
Max z = CX AX = b X0
D
C
下界
O Ir
Max z = CX AX = b xr Ir X0 Max z = CX AX = b xr Ir+1 X0

西北农林科技大学运筹学课件第五章 整数规划

西北农林科技大学运筹学课件第五章 整数规划

6 2 1 x x 7 3 7 5 7 6 2 1 x x x 6 7 3 7 5 7
二、解纯整数规划的割平面法
Cj 3 -1 0 0 0 0
第五章
CB
3 -1 0
XB
x1 x2 x4
b
13/7 9/7 31/7
x1
1 0 0
x2
0 1 0
x3
1/7
x4
0
x5
2/7 3/7 22/7
三、 分枝定界法
求解步骤:
第五章
1)设有最大整数规划问题A ,相应的松弛问题为B 。以Zb 表示问题A的目标函数的初始界。(下界) 2)解 B a) B没有可行解,则A也没有可行解. b) B有最优解且为整数解,则A的最优解即得。 c) B有最优解但非整数解,B的最优值 Za为z*的上界
3)分枝 : 在B的最优解中取xi(=bi) bi不为整数。
原问题的最优解z * :
x1 4 x1 5
0 z * 356
1 ) x1非整数,在原约束问题中分别添加两个子约束:
三、 分枝定界法
得到两个子问题:B1 ; B2
第五章
同样不考虑整数条件其最优解为: B1 B2 z1 349 x1 4.00 x2 2.10 z 341 x1 5.00 x2 1.57
-1/2 1/4 -1/4
x5 0 0
0 1 0
x6 1 -5/4
-11/2 -3/4 -17/4
x5 7/4 σj=cj-zj
增加约束条件:
3 1 1 x x 4 4 4 6 4
3 1 1 x x x 7 4 4 4 6 4
二、解纯整数规划的割平面法

运筹学 第五章整数规划

运筹学 第五章整数规划
i 1
n xij ai s.t j 1
i 1,2, m
xij 0 yi 0,1
混合型整数规划
总结
整数规划的可行域包含在其对应的一般线性规划可
行域之内; 整数规划的最优解可能不是其对应的一般线性规划 的顶点; 整数规划的最优解不会优于其对应的线性规划的最
(0)
(4)修改上、下界:按照以下两点规则进行。 ①在各分枝问题中,找出目标函数值最小者作为新的下界; ②从已符合整数条件的分枝中,找出目标函数值最小者作为 新的上界。 (5)比较与剪枝 : 各分枝的目标函数值中,若有大于 者,则剪掉此枝,表 明此子问题已经探清,不必再分枝了;否则继续分枝。 如此反复进行,直到得到 即得最优解 X* 。 为止,
f
n
rj
x j fr
a rj
的小数部分
br 的小数部分
(3)将所得的割平面方程作为一个新的约束条件置于最优单 纯形表中(同时增加一个单位列向量),用单纯形法求出新的 最优解,返回1。
m ax Z x 2
例:用割平面法求解整数规划问题
3 x1 2 x 2 6 3 x1 2 x 2 0 x , x 0且为整数 1 2
子问题 L1 : 剪枝 1 、L1无最优解, 2、最优解 X *1 ( x *11 ,x *12 ,, x *1n ), 最优值 z1 (1) X *1 为整数解 , z1为下界 关闭
子问题 L2 :
(2) X *1 中至少有一个是分数: 继续分枝
割平面法 割平面法的基本思想:
若整数规划IP的松弛规划L0的最优解不是整数解,对L0增 加一个约束条件,得线性规划 L1 ,此过程缩小了松弛规划的 可行解域,在切去松弛规划的最优解的同时,保留松弛规划 的任一整数解,因此整数规划IP的解均在L1中,若L1的最优解

运筹学第五章 整数规划ppt课件

运筹学第五章  整数规划ppt课件
,求解过程停止。 3.B有最优解,但不符合A的整数条件,记其目标函数值为z1。
第二步:确定A的最优目标函数值z*的上下界,其上界即为 z ,再用观察法
找到A的一个整数可行解,求其目标函数值作为z*的下界,记为z。
第三步:判断 z 是否等于z 。若相等,则整数规划最优解即为其目标函
数值等于z的A的那个整数可行解;否则进行第四步。
2020/3/2
11
•割平面法,即通过添加约束条件,逐步切割可行区域的 边角余料,让其整数解逐步的露到边界或顶点上来,只要 整数解能曝露到顶点上来,则就可以利用单纯形法求出来。
•关键是通过添加什么样的约束条件,既能让整数解往边 界露,同时又不要切去整数解,这个条件就是Gomory约束 条件。 •Gomory约束只是割去线性规划可行域的一部分,保留了 全部整数解。
2020/3/2
7
7
第二节 割平面法
2x1 2x2 11
13/4,5/2
松弛问题 x1+x2≤5 第二次切割
2020/3/2
第一次切割 4,1
8
设纯整数规划
n
m a x Z c j x j j 1

s
.t
.

n j 1
aij x j

bi

x
j

0且




j

1,L
引入约束 xi ≤ M yi ,i =1,2,3,M充分大,以保证yi=0 xi=0 这样我们可建立如下的数学模型:
Max z = 4x1 + 5x2 + 6x3 - 100y1 - 150y2 - 200y3 s.t. 2x1 + 4x2 + 8x3 ≤ 500

运筹学 第四版 第五章 整数规划

运筹学 第四版 第五章 整数规划

货物/箱 甲 乙
托运限制/集 装箱
体积/米3 5 4
24
重量/百斤 2 5
13
利润/百元 20 10
表 3.1
货物/箱 甲 乙
托运限制/集 装箱
体积/米3 5 4
24
重量/百斤 2 5
13
利润/百元 20 10
解 设 x1,分x2 别为甲、乙两种货物的托运箱数.则这是一个
纯整数规划问题 .其数学模型为:
(pzreorgor-aomnme iinngte)ger linear
若不考虑整数条件,由余下的目标函数和约束条件构成
的规划问题称为该整数规划问题的松弛问题(slack
problem)
n
max Z (或 min Z ) c j x j j 1
整数线性规划数学
n
st. j1 aij x j
max Z 20 x1 10 x2
5x1 4x2 24 s.t 2x1 5x2 13
x1, x2 0, 整数
(1)
若暂且不考虑 x1, x取2 整数这一条件.则(1)就变为下列 线性规划 :
max Z 20 x1 10 x2
s.t
52xx11
4x2 5x2
24 13
x1, x2 0
目前,常用的求解整数规划的方法有: 分支定界法和割平面法; 对于特别的0-1规划问题采用隐枚举法和匈牙利法。
§2 解纯整数规划的割平面法
考虑纯整数规划问题
n
max Z cjxj j 1
n
aijxj bis.tj 1xj0
xj取整数
i 1, 2....m
j 1, 2...n j 1, 2,..n
n
max Z (或 min Z ) c j x j j 1

《运筹学》第5章 整数规划(割平面法)

《运筹学》第5章 整数规划(割平面法)

第5章整数规划(割平面法)求解整数规划问题:Max Z=3x1+2x22x1+3x2≤144x1+2x2≤18x1,x2≥0,且为整数解:首先,将原问题的数学模型标准化,这里标准化有两层含义:(1)将不等式转化为等式约束,(2)将整数规划中所有非整数系数全部转化为整数,以便于构造切割平面。

从而有:Max Z=3x1+2x22x1+3x2+x3=142x1+x2+x4=9x1,x2≥0,且为整数利用单纯形法求解,得到最优单纯形表,见表1:表1最优解为:x1=13/4, x2=5/2, Z=59/4根据上表,写出非整数规划的约束方程,如:x2+1/2x3-1/2x4=5/2 (1)将该方程中所有变量的系数及右端常数项均改写成“整数与非负真分数之和”的形式,即:(1+0)x2+(0+1/2)x3+(-1+1/2)x4=2+1/2把整数及带有整数系数的变量移到方程左边,分数及带有分数系数的变量称到方程右边,得:x2 - x4-2 =1/2-(1/2x3+1/2x4) (2)由于原数学模型已经“标准化”,因此,在整数最优解中,x2和x4也必须取整数值,所以(2)式左端必为整数或零,因而其右端也必须是整数。

又因为x3,x4 0,所以必有:1/2-(1/2x3+1/2x4)<1由于(2)式右端必为整数,于是有:1/2-(1/2x3+1/2x4)≤0 (3)或x3+x4≥1 (4)这就是考虑整数约束的一个割平面约束方程,它是用非基变量表示的,如果用基变量来表示割平面约束方程,则有:2x1+2x2≤11 (5)从图1中可以看出,(5)式所表示的割平面约束仅割去线性规划可行域中不包含整数可行解的部分区域,使点E(3.5,2)成为可行域的一个极点。

图1在(3)式中加入松弛变量x5,得:-1/2x3-1/2x4+x5=-1/2 (6)将(6)式增添到问题的约束条件中,得到新的整数规划问题:Max Z=3x1+2x22x1+3x2+x3=142x1+x2+x4=9-1/2x3-1/2x4+x5=-1/2x i≥0,且为整数,i=1,2,…,5该问题的求解可以在表1中加入(6)式,然后运用对偶单纯形法求出最优解。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重要 20 15 18 14 8 系数
4 10
5
解:如果令xi=1表示登山队员携带物品i, xi=0表示登山队员不携带物品i,则问题表 示成0-1规划: Max Z= 20x1+15x2 +18x3 +14x4
+8x5 +4x6 +10x7 s.t. 5x1 + 5x2 +2x3 +6x4 +12x5 +2x6 +4x7
25 xi=1或xi=0 i=1,2,….7
6
例 背包问题( Knapsack Problem)
一个旅行者,为了准备旅行的必须用品,要 在背包内装一些最有用的东西,但有个限 制,最多只能装b公斤的物品,而每件物品只 能整个携带,这样旅行者给每件物品规定 了一个“价值”以表示其有用的程度,如 果共有n件物品,第j件物品aj公斤,其价值为 cj.问题变成:在携带的物品总重量不超过b 公斤条件下,携带哪些物品,可使总价值最 大?
f(x) a (a>0)
此时 f(x) a
(5)
f(x) -a
(6)
是矛盾约束。
15
f(x) a
(5)
f(x) -a
(6)
引入一个整数变量来处理
-f(x)+a M(1-y)
f(x)+a My
M是足够大整数,y 是0-1变量
注意:对 |f(x)| a (a>0) 不必引入0-1变 量,因为f(x) a和f(x) -a并不矛盾。
xj 0 且部分或全部是整数
12
特殊约束的处理(IP的应用)
➢互斥约束 ▪矛盾约束 在建立数学模型时,有时会遇到相 互矛盾的约束,模型只要求其中的 一个约束起作用。
13
例:下面两个约束相互矛盾
f(x)-5 0
(1)
f(x) 0
(2)
引入一个整数变量来处理
-f(x)+5 M(1-y) (3)
g (x) My
22
f (x) -M(1-y) (*)
g (x) My
如果f (x)<0成立,则y不能为1,否则与(*)矛 盾; 所以 y=0, g (x) 0 成立。 如果 f (x) 0(即f (x)<0不成立) 则y的取值已无关紧要,因为y取任何值(*)总 成立,所以y的取值不由(*)控制,因此g (x) 的取值不受任何限制。
7
解:如果令xj=1表示携带物品j,xj=0表 示不携带物品j,则问题表示成0-1规划:
Max Z = Σcjxj s.t. Σajxj b xj=0 或1
8
例 用集装箱托运货物 货物 m3/箱 百斤/箱 百元/箱
问:甲乙货物托运多少 箱,使总利润最大?

5
2
20
乙4
5
10
限制 24
13
分析:设x1为甲货物托运箱数,x2为乙货物托运箱数。
(4,1)
0
1
2
3
4 4.8 x1

∴ x1* = 4 x2* = 1 zI* = 90
10
一般,整数规划的最优解不会优于相应 线性规划的最优解。 对于max问题, zI* ≤ zl* 对于min问题, zI* ≥ zl*
11
数学模型
整数规划(IP)的一般数学模型: Max Z = Σcjxj s.t. Σaijxj bi(i=1,2,…m)
20
➢逻辑关系约束
比较典型的逻辑关系是 if-then关系,也 称if-then约束,这类逻辑关系一般涉及 两个约束,如果第一个约束成立,则第 二个约束也必须成立,否则,如果第一 个约束不成立,则第二个约束也可以不 成立。可以描述如下:
21
如果f (x)<0成立,则g (x) 0必须成立; 如果f (x)<0不成立,则对g (x)无限制。 引入0-1变量: f (x) -M(1-y) (*)
16
例:两个约束条件 2x1+3x2 8 x1+ x2 2
只能有一个成立,试用0-1变量来表示这 个要求。 解:引入0-1变量y和足够大的正数M, 则
17
2x1+3x2 8 8-2x1-3x2 M(1-y) x1+ x2 2
x1+ x2 - 2 My 当y=0, x1+ x2 2 成立, 而 2x1+3x2 8-M 自然成立,从而是多余的; 当y=1, 2x1+3x2 8 成立, 而 x1+ x2 2+M 自然成立,从而是多余的。
第五章 整数规划
1
整数规划是一类要求变量取整数值 的数学规划,可分成线性和非线性两类 (本章讨论线性)。
根据变量的取值性质,又可以分为 纯 整 数 规 划 , 混 合 整 数 规 划 , 0-1 整 数 规划等。
2
整数规划是数学规划中一个较 弱的分支,目前只能解中等规模的线 性整数规划问题,而非线性整数规划 问题,还没有好的办法。
f(x) My
(4)
M是足够大的整数,y 是0-1变量
14
f(x)-5 0
(1) -f(x)+5 M(1-y) (3)
f(x) 0
(2)
f(x) My
(4)
当y=1时,(1)(3)无差别,(4)式显然成立;
当y=0时,(2)(4)无差别,(3)式显然成立。
以上方法可以处理绝对值形要携带的物品有:食品,氧气, 冰镐,绳索,帐篷,照相机和通 讯设备,每种物品的重要性系数 和重量如下,假定登山队员可携 带最大重量为25公斤。问:如何 装备?
4
序号 1 2 3 4 5 6 7
物品 食品 氧气 冰镐 绳索 帐篷 相机 设备
重量 5 5 2 6 12 2 4
18
▪多中选一的约束
例如:模型希望在下列n个约束中,只能 有一个约束有效, fi(x) 0 i=1,2,….n. 引入 n个0-1变量yi , i=1,2,…n,则上式可改 写为:
fi(x) M(1-yi) y1+ y2 + … + yn=1
19
如果希望有k个约束有效,则: fi(x) M(1-yi), y1+ y2 + … + yn= k 如果希望至多有k个约束成立,则: fi(x) M(1-yi), y1+ y2 + … + yn k 如果希望至少有k个约束成立,则: fi(x) M(1-yi), y1+ y2 + … + yn k
则 max z = 20x1 + 10x2
5x1 + 4x2 ≤ 24

2x1 + 5x2 ≤ 13

x1,x2 ≥ 0
x1,x2取整数
9
图解法:
② x2
2.6 2
1
max z = 20x1 + 10x2
5x1 + 4x2 ≤ 24

2x1 + 5x2 ≤ 13

x1,x2 ≥ 0
x1,x2取整数
相关文档
最新文档