整数规划的数学模型分枝定界法割平面法
整数规划算法

⑵
先求(LP3),如图所示。 此时D 在点取得最优解。
x2
A 3 B C
⑴
(18/11,40/11)
D ⑶
即 x1=12/5≈2.4, x2 =3,
Z(3)=-87/5≈-17.4<Z≈-19.8
但x1=12/5不是整数,可继 续分枝。即 3≤x1≤2。
(三)、整数规划与线性规划的关系
从数学模型上看整数规划似乎是线 性规划的一种特殊形式,求解只需在线 性规划的基础上,通过舍入取整,寻求 满足整数要求的解即可。但实际上两者 却有很大的不同,通过舍入得到的解 (整数)也不一定就是最优解,有时甚 至不能保证所得倒的解是整数可行解。 举例说明。
例:设整数规划问题如下
用 图 解法求出最优解 x1=3/2, x2 = 10/3 且有Z = 29/6
x2
3
⑴
⑵
(3/2,10/3)
现求整数解(最优解): 如用“舍入取整法”可得 到4个点即(1,3) (2, 3)(1,4)(2,4)。显然, 它们都不可能是整数规划 的最优解。
3
x1
按整数规划约束条件,其可行解肯定在线性规划问题 的可行域内且为整数点。故整数规划问题的可行解集 是一个有限集,如图所示。
各分枝的目标函数值中,若有小于Z 者,则剪掉此 枝,表明此子问题已经探清,不必再分枝了;否则继续 分枝。
如此反复进行,直到得到Z=Z*=Z 为止,即得最优解 X* 。
(二)、例题 例一:用分枝定界法求解整数规划问题(用图解法计算) min Z x1 5 x2 x1 x2 2 5 x 6 x 30 记为(IP) 1 2 x 4 1 x1 , x2 0且全为整数 解:首先去掉整数约束,变成一般线性规划问题 min Z x1 5 x2 x1 x2 2 5 x 6 x 30 记为(LP) 1 2 x 4 1 x1 , x2 0
整数规划

比如下面的例子:
例1.某厂拟用集装箱托运甲乙两种货物,每箱 的体积、重量、可获利润以及托运所受限制如 下表:
货物 体积(每 箱M3) 5 甲 4 乙 托运限制 24 重量(每箱 50kg) 2 5 13 利润(每 箱百元) 20 10
问两种货物各托运多少箱,可使利润最大?
为了满足整数解得要求,初看,似乎只要把已得到的分 数或小数, “舍入化整”就可以了。但是,这常常是不行的, 因为化整后,不一定是可行解,或者虽是可行解,但不一定 是最优解。
整数规划
§1 整数规划及其解法 §2 0-1型整数规划 §3 指派问题
整数规划
1、理解整数规划、0-1规划和指派问题的数学 模型 2、理解整数规划模型的类型 3、理解整数规划的求解方法:分支定界法和割 平面法、0-1规划的隐枚举法和指派问题的 匈牙利法的思想和步骤
求解方法
1、分支定界法 2、割平面法
a x
i 1 ij
n
j
bi yi M (i 1,, m)
y1 + y2 + „ + ym = m –1, yi = 0 或 1 (i=1,„,m)
3、关于固定费用问题
• 在讨论线性规划时,有些问题是要求使 成本最少的方案,那时总设固定成本为 常数,并在线性规划的模型中不必明显 列出。但有些固定成本的问题不能用一 般线性规划来描述,但可改为混合整数 规划来解决。
aj
值最大?
解:设 x j 为决策变量,且 x j 满足如下限制
xj {
1,携带第j件物品 0,不携带第j件物品
,j 1,2, n
则问题的数学模型为
x c j x j max
j 1
n
第五章整数规划

第五章 整数规划主要内容:1、分枝定界法; 2、割平面法; 3、0-1型整数规划; 4、指派问题。
重点与难点:分枝定界法和割平面法的原理、求解方法,0-1型规划模型的建立及求解步骤,用匈牙利法求解指派问题的方法和技巧。
要 求:理解本章内容,熟练掌握求解整数规划的方法和步骤,能够运用这些方法解决实际问题。
§1 问题的提出要求变量取为整数的线性规划问题,称为整数规则问题(简称IP )。
如果所有的变量都要求为(非负)整数,称之为纯整数规划或全整数规划;如果仅一部分变量要求为整数,称为混合整数规划。
例1 求解下列整数规划问题211020m ax x x z +=⎪⎪⎩⎪⎪⎨⎧≥≤+≤+为整数21212121,0,13522445x x x x x x x x 如果不考虑整数约束,就是一个线性规划问题(称这样的问题为原问题相应的线性规划问题),很容易求得最优解为:96m ax ,0,8.421===z x x 。
用图解法将结果表示于图中画“+”号的点都是可行的整数解,为满足要求,将等值线向原点方向移动,当第一次遇到“+”号点(1,421==x x )时得最优解为1,421==x x ,最优值为z=90。
由上例可看出,用枚举法是容易想到的,但常常得到最优解比较困难,尤其是遇到变量的取值更多时,就更困难了。
下面介绍几种常用解法。
§2 分枝定界法分枝定界法可用于解纯整数或混合的整数规划问题。
基本思路:设有最大化的整数规划问题A ,与之相应的线性规划问题B ,从解B 开始,若其最优解不符合A 的整数条件,那么B 的最优值必是A 的最优值*z的上界,记为z ;而A 的任意可行解的目标函数值是*z的一个下界z ,采取将B 的可行域分枝的方法,逐步减少z 和增大z ,最终求得*z 。
现举例说明: 例2 求解A219040m ax x x z +=⎪⎪⎩⎪⎪⎨⎧≥≤+≤+为整数21212121,0,702075679x x x x x x x x 解:先不考虑条件⑤,即解相应的线性规划B (①--④),得最优解=1x 4.81, =2x 1.82,①② ③ ④ ⑤=0z 356(见下图)。
运筹学第5章:整数规划

则问题可表示为:
max z c j x j
j 1 n
n a j x j B j 1 x1 x2 0 s.t. x3 x4 1 x x x 2 7 5 6 x j 0或1 j 1,2, , n 【例5-3】工厂A1和A2生产某种物资,由于该种物资供不应 求,故需要再建一家工厂,相应的建厂方案有A3和A4两个。这 种物资的需求地有B1、B2、B3、B4四个。各工厂年生产能力、各 地年需求量、各厂至各需求地的单位物资运费cij(j=1,2,3,4) 见表5-2。
三、割平面法的算法步骤
步骤1:将约束条件系数及右端项化为整数,用单纯形法求 解整数规划问题(ILP)的松弛问题(LP)。设得到最优基B,相应 的基最优解为X*。 步骤2:判别X*的所有分量是否全为整数?如是,则X*即为 (ILP)的最优解,算法终止;若否,则取X*中分数最大的分 量 x * ,引入割平面(5.7)。
表5-2
Ai cij A1 A2 Bj B1 2 8 B2 9 3 B3 3 5 B4 4 7 生产能力 (千吨/年) 400 600
A3
A4 需求量(千吨/年)
7
4 350
6
5 400
1
2 30025 150200200工厂A3或A4开工后,每年的生产费用估计分别为1200万元或 1500万元。现要决定应该建设工厂A3还是A4,才能使今后每年 的总费用(即全部物资运费和新工厂生产费用之和)最少。
一般来说,整数线性规划可分为以下几种类型:
1. 纯整数线性规划(Pure Integer Linear Programming): 指全部决策变量都必须取整数值的整数线性规划,也称为全整 数规划。 2. 混合整数线性规划(Mixed Integer Linear Programming):指决策变量中一部分必须取整数值,而另一部 分可以不取整数值的整数线性规划。 3. 0-1整数线性规划(Zero-one Integer Linear Programming):指决策变量只能取0或1两个值的整数线性规划。
整数规划的数学模型分枝定界法割平面法型整数规

将 L0 分解为 L1 和 L2,其中: L1={L0, x2 7} L2={L0, x2 8}
2018/9/17
求解练习题
L1 求解单纯形表 cj 2 5 4 0 0 CB XB x1 x2 x3 x4 x7 4 x3 1/2 0 1 1 -1/2 5 x2 1/2 1 0 0 1/2 0 x6 3/2 0 0 -5 5/2 0 x7 0 1 0 0 0 σ 基变量系数向量单位化 cj 2 5 4 0 0 CB XB x1 x2 x3 x4 x7 4 x3 1/2 0 1 1 -1/2 5 x2 1/2 1 0 0 1/2 0 x6 3/2 0 0 -5 5/2 0 x7 -1/2 0 0 0 -1/2 -5/2 0 0 -4 -1/2 σ
……...
am1 x1+ am2 x2 +…+ amn xn (=,) bm x1~n 0 且取整数 纯整数规划: 所有变量都有取整约束 混合整数规划: 只有部分变量有取整约束
2018/9/17
分枝定界法
1.分枝定界法的基本思路 2.第65页例5-1
3.练习题
2018/9/17
分枝定界法的基本思路
2018/9/17
用割平面法解例
x2 +3/4 x3 +1/4 x4 =7/4 现将各系数分成整数和非负真分数两部分,从而可得: (1+0)x2+(0+3/4) x3+(0+1/4) x4 =(1+3/4) 将整数部分的变量移至等式右端有: 3/4 x3 +1/4 x4 =3/4+(1- x2 ) 非负整数解(1- x2)为整数,左端非负故有: 3/4 x3 +1/4 x4 =3/4+非负整数 从而: 3/4 x3 +1/4 x4 3/4 或 x2 1 以 x2 1为割平面可使可行域减少一个包括A点在内的三角形。 2018/9/17
整数规划 割平面法 分枝定界法

用图解法求得可行域D及最优解点A,见下图:
x2
A(3/4,7/4) 由标准化的约束方程组可得
-x1+x2=1
1
D B(1,1)
x3 =1+x1-x2 x4=4 -3x1-x2 代入切割方程 得
-1 0
3x1+x2=4
3(1+x1-x2)+(4-3x1-x2)≥3
下面以实例来说明算法的步骤。
例2 求解下面整数规划
x2
maxZ=40x1+90x2
⑴8
9x1+ 7x2≤56 7x1+20x2≤70 xx11,,xx22≥0整数
⑵
⑶ ⑷
4
⑸
解:先不考虑条件⑸,求解相 0
应的线性规划问题L,得最优解
x1=4.81,x2=1.82,Z0=356(见图) 该解不是整数解。选择其中一个
整个分枝定界过程如下图所示:
问题L
Z0=356 x1=4.81x2=1.82
Z 0,Z 356
x1≤4
问题L1 Z1=349 x1=4.00,x2=2.10
x2≤2 问题L3 Z3=340 x1=4.00 x2=2.00
Z※=340
x2≥3
问题L4 Z4=327 x1=1.42 x2=3.00
×
x1≥5
运筹学
整数线性规划
§1 整数规划问题
在前面的线性规划问题中,它的解都假设为可以取连续数值。 但是在许多实际问题中,决策变量仅仅取整数值时才有意义,比如 变量表示的是工人的人数、机器的台数、货物的箱数、装货的车皮 数等等。为了满足整数解的要求,比较自然的简便方法似乎就是把 用线性规划方法所求得的非整数解进行“四舍五入”取整或“舍尾 取整”处理。当然,这样做有时确实也是有效的,可以取得与整数 最优解相近的可行整数解,因此它是实际工作中经常采用的方法。 但是实际问题中并不都是如此,有时这样处理得到的解可能不是原 问题的可行解,有的虽是原问题的可行解,但却不是整数最优解。 (详见后面例1)。因而有必要专门研究只取整数解的线性规划的 解法问题。
求解整数规划常用的方法有分枝定界法和割平面法。这两种

1
3
2 ◎0
◎0 6 2 1 √ 0 5 1 0
0
5
3
1
√
0
4
2
0
0 ◎0 0 1
1 0 0 1
1
3
2 ◎0
2
3
2
0
√
做最少直线
(4) 在未被直线覆盖的部分中找出最小元素, 然后在打√行各元素中都减去这最小元素,而在打√ 列的各元素都加上这最小元素。这样得到新的系数 矩阵(它的最优解和原问题相同)。
很多0元素的新系数矩阵 c ij ,而最优解保持不变。
匈牙利法是针对目标要求极小化问题提出的 基本原理:为了实现目标极小,在系数矩阵
元素cij≥0条件下,如果能使矩阵具有一组处于 不同行不同列的零元素cij’=0,画上圈符号 “◎”,表示对应该元素的决策变量xij=1,未画 圈元素对应的决策变量xij=0,那么目标的数值
非平衡的指派问题,设两项虚任务,其收益为0, 化为平衡指派问题。
ABCDE F
1
3
5
4
5
0
0
2
6
7
6
8
0
0
3
8
9
8 10 0
0
4 10 10 9 11
0
0
5 12 11 10 12 0
0
6 13 12 11 13 0
0
求最大值问题转化为求最小值问题,利用下式
mZ a x m iZ n
nn
即
minZ
0 4 0 0
◎0
3
1
0
2 ◎0 0 2
2
2
1 ◎0
0 4 ◎0 0
1整数规划的基本特点§2分枝定界法§3割平面法§4分配问题及其解法

将松弛变量加到G1中得到LP问题G2:
G2: max z 3x1 2 x 2 2 x1 3x 2 x3 14 2 x1 x 2 x 4 9 1 1 1 s.t. x3 x 4 x5 2 2 2 1 1 x5 x 6 2 2 x j 0( j 1,,6)
第一步:把问题中所有约束条件的系数均化 为整数,若不考虑变量的整数约束,可写出一般 的线性规划问题G0:
G 0: max z 3 x1 2 x 2 2 x1 3 x 2 14 s.t. 2 x1 x 2 9 x1 , x 2 0
用单纯形法求得上述问题的最终单纯形表如下:
第5章 整数规划
§1 §2 §3 §4 §5 整数规划的基本特点 分枝定界法 割平面法 分配问题及其解法 整数规划的应用举例
§3 割平面法
• 这是求解整数规划问题最早提出的一种方法, 1958年由Gomory提出。 • 他的基本思想是在整数规划问题的松弛问题中 依次引进线性约束条件,是可行域逐步缩小。 但每次切割只割去问题的部分非整数解,直到 使问题的目标函数值达到最优的整数点成为缩 小后可行域的一个顶点,这样即可用线性规划 问题的方法找出这个最优解。 • 具体步骤如下:
迭代 基变 次数 量 CB x2 x1 2 3 Cj-Zj
x1 3 0 1 0
x2 2 1 0 0
x3 0 1/2 -1/4 -1/4
x4 0 -1/2 3/4 -5/4 b 5/2 13/4
比值 bi/aij
第二步:找出非整数解变量中分数部分最大的一个基变量, 并写下这一行的约束 1 1 1 x3 x4 2 2 2 2 将上式中所有常数写成整数与一个正分数值之和得 x2 1 1 1 x2 (0 ) x3 (1 ) x4 (2 ) 2 2 2 分数项移到等式右端,整数项移到等式左端得到 1 1 1 x2 x4 2 x3 x4 2 2 2 右端也必须取整数值,又因x2 , x4 0,因此有 1 1 1 x3 x4 0 2 2 2 加上松弛变量后得Gomory约束 1 1 1 x3 x4 x5 0 2 2 2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用分枝定界法解例5-1
x2
5
9x1+7x2=56
4
3
2
7x1+20x2=70
1
0 1 2 3 4 5 6 7 8 9 10 x1
L0 : x* = (4.81, 1.82), Z* =356 2020/7/7
用分枝定界法解例5-1
2.将L0分解为L1和L2
L1 :max z = 40x1 + 90x2
例5-1求解过程示意图
L0 (4.81,1.82)
356
L1 (4,2.1)
349
L3 (4,2)
340
2020/7/7
L4 (1.42,3)
327
L2 (5,1.57)
341
L5 (5.44,1)
308
L6 无可行解
练习题
max z = 2x1 + 5x2 + 4x3
x1 + x2 + x3 12
2020/7/7
用分枝定界法解例5-1
3.分解L1形成L3、L4,其中: L3 = {L1, x22} L4 = {L1, x23} L3 : X* = (4, 2), Z* = 340 L4 : X* = (1.42, 3), Z* = 327
(1)取下界min=340(L3); (2)舍弃L4
整数规划的数学模型
max(min)(c1 x1+ c2 x2 +…+ cn xn ) a11 x1+ a12 x2 +…+ a1n xn (=,) b1 a21 x1+ a22 x2 +…+ a2n xn (=,) b2
……...
am1 x1+ am2 x2 +…+ amn xn (=,) bm x1~n 0 且取整数 纯整数规划: 所有变量都有取整约束 混合整数规划: 只有部分变量有取整约束
0 0
1 0 0
0 x6
0 0 0 1
b
9/2 15/2
7/2 7
0 x6 b
0
9/2
0
15/2
0
7/2
1
-1/2
0
求解练习题
线性规划 L1 的最终单纯形表
cj
254000 0
CB XB x1 x2 x3 x4 x5 x6
x7
b
4 x3 1 0 1 1 0 0 -1 5
5 x2 0 1 0 0 0 0
求解练习题
线性规划 L0 的最终单纯形表
cj CB XB
2540
x1
x2 x3
x4
00
x5
x6 b
4 x3 1/2 0 5 x2 1/2 1 0 x6 3/2 0
1 1 -1/2 0 9/2 0 0 1/2 0 15/2 0 -5 5/2 1 7/2
σ
-5/2 0 0 -4 -1/2 0
2020/7/7
17
0 x6 -1 0 0 -5 0 1 5
1
0 x5 1 0 0 0 1 0 -2 1
σ
-2 0 0 -4 0 0 -1
L1 有整数最优解 X* =(0,7,5),Z*=55
2020/7/7
第65页例5-1
2020/7/7
max z = 40x1 + 90x2 9x1 + 7x2 56 7x1 +20x2 70 x1,x2 Βιβλιοθήκη 0且取整用分枝定界法解例5-1
1.求解相应的线性规划L0 max z = 40x1 + 90x2 9x1 + 7x2 56 7x1 +20x2 70 x1,x2 0
求解练习题
将 L0 分解为 L1 和 L2,其中: L1={L0, x2 7} L2={L0, x2 8}
2020/7/7
求解练习题
L1 求解单纯形表
cj
25400
CB XB
4
x3
5
x2
0
x6
0
x7
σ
x1
x2
x3
x4
x7
1/2 0 1 1 -1/2
1/2 1 0 0 1/2
3/2 0 0 -5 5/2
2020/7/7
用分枝定界法解例5-1
4.分解L2形成L5、L6,其中: L5 = {L2, x21} L6 = {L2, x22} L5 : X* = (5.44, 1), Z* = 308 L6 : 无可行解
(1)舍弃L5、L6; (2)得最优解X* = (4, 2), Z* = 340。
2020/7/7
01000
基变量系数向量单位化
cj CB XB
4
x3
5
x2
0
x6
0
x7
σ
2
x1 x7 1/2 1/2 3/2 -1/2 -5/2
5400
x2
x3
x4
0 1 1 -1/2 1 0 0 1/2 0 0 -5 5/2 0 0 0 -1/2 0 0 -4 -1/2
2020/7/7
0 x5
0 0
1 0
0 x5
2020/7/7
分枝定界法
1.分枝定界法的基本思路 2.第65页例5-1 3.练习题
2020/7/7
分枝定界法的基本思路
利用连续的(线性规划)模型来求解非连续的(整数规划)问题。假设 x r
是一个有取整约束的变量而它的最优连续值
x
r
是非整数,那么下列区间
[xr ]
xr
[xr ]
1 不可能包含任何整数解,这里[ x r
]表示
x
r
的取整值。因此,
xr 的可行整数值必然满足此二条件之一:xr [xr]或 xr [xr] 1。
2020/7/7
分枝定界法的基本思路
把这两个约束条件分别加到原来的解空间上,便产生了两个互斥的子问题。这便是 分枝的含义。由于分枝过程是通过增加约束条件来实现的,因此每一问题的子问题都不 会有比其自身还大(目标函数求极大值)的最优目标值。当所有子问题的解均为非整数 可行解时,应首先选择具有最大最优目标值的子问题来分枝;当得到第一个整数可行解 时,它的相应目标值可作为该整数规划最优值的下界,舍掉所有最优值不大于该下界的 子问题。按最优值的大小顺序对保留下来的子问题进行分枝,如果出现具有更大目标值 的整数可行解,将下界更新为此整数可行解的目标值并进一步剪枝。从复这一过程,最 终保留下来的整数可行解即为整数规划的最优解。
9x1 + 7x2 56
7x1 +20x2 70
x1
4
x1,x2 0
L2 :max z = 40x1 +
90x2
9x1 + 7x2 56
7x1 +20x2 70
x1
5
x1,x2 0
L1 :X* = (4, 2.10), Z* = 349 L2 :X* = (5, 1.57), Z* = 341
x1 + 2x2
15
4x1
+ 5x3 26
x1~3 0且取整
2020/7/7
求解练习题
2020/7/7
首先求解线性规划L0 :
max z = 2x1 + 5x2 + 4x3
x1 + x2 + x3 + x 4 = 12
x1 + 2x2 + x5 = 15
4x1
+5x3 + x6 = 26
x1~6 0