运筹学讲义-整数规划
《运筹学》之整数规划
…
Bn
…
X1n
…
X2n
……
…
Xnn
指派问题:分配要求
分配 B1 B2 … Bn 工作数
A1
X11
X12
… X1n
∑X1j
A2
X21
X22
… X2n
∑X2j
…
…
…
……
…
An 人数 要求
Xn1 ∑Xi1 1
Xn2 ∑Xi2 1
… Xnn … ∑Xin …1
∑Xnj
要求 1 1
… 1
指派问题:模型
n n
X1 1
P1:(1,9/10 X2 2 X2 3 P12: (0,3) Z=9
原问题的最优解(1,2) Z=10。
指派问题
设有n 个人A1, A2, …An,要分派去做n件事B1, B2… Bn,要求每一件事都 必须有一个人去做,而 且不同的事由不同的人去做.已知每个人Ai做每 件事Bj的效率(如劳动工时或成本,或创造的价值 等)为Cij,问应如何进行指派(哪个人做哪件事),才 能使 工作效益最好(如工时最少,或成本最低,或 创造的价值最大)?
乙
19 23 22 18
丙
26 17 16 19
丁
19 21 23 17
指派问题:思考问题
1、人数比工作数多怎么处理? 2、人数比工作数少,模型会怎
样变化? 3、计算机求解方法?
特殊约束的处理
➢互斥约束 ➢矛盾约束 在建立数学模型时,有时会遇到相 互矛盾的约束,模型只要求其中的 一个约束起作用。
12 8
x5
6 相机
2 4
x6
7 设备
4 10
x7
运筹学课件第五章 整数规划
第一节 整数规划的数学模型
解的特点: 整数规划
松弛问题
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)
运筹学整数规划
运筹学整数规划运筹学是研究在资源有限的条件下,如何进行决策和优化的一门学科。
整数规划是运筹学中的一个重要分支,它解决的是决策变量必须为整数的问题。
整数规划在实际问题中具有广泛的应用,如生产计划、设备配置、选址问题等。
整数规划问题的数学模型可以表示为:max/min c^T xs.t. Ax ≤ bx ≥ 0x ∈ Z其中,c是目标函数的系数矩阵,x是决策变量的向量,A是约束条件的系数矩阵,b是约束条件的向量,Z表示整数集合。
整数规划问题与线性规划问题相似,但整数规划问题的约束条件多了一个整数限制,使得问题的解空间变得更为复杂。
由于整数规划问题的NP-hard性质,求解整数规划问题是一项困难的任务。
求解整数规划问题的常用方法有分支定界法、割平面法和启发式算法等。
分支定界法是一种穷举搜索的方法,它通过将整数规划问题不断分割成更小的子问题,从而逐步搜索解空间,直到找到最优解。
分支定界法对于规模较小的问题比较有效,但对于大规模复杂问题,效率较低。
割平面法是一种通过添加新的约束条件来减少解空间的方法。
它利用线性松弛问题(将整数约束条件放宽为线性约束条件)的解来构造有效的割平面,从而逐步缩小解空间,找到最优解。
割平面法通常比分支定界法更有效,但对于某些问题,可能需要添加大量的割平面才能收敛到最优解。
启发式算法是一种基于经验和启发式搜索的方法。
它通过设置初始解、搜索策略和邻域搜索等步骤,来快速找到近似最优解。
常见的启发式算法有遗传算法、模拟退火算法和禁忌搜索算法等。
启发式算法虽然不能保证找到全局最优解,但能够在可接受的时间内找到较优解。
综上所述,整数规划作为运筹学中的重要分支,解决的是决策变量必须为整数的问题。
整数规划问题具有广泛的应用,但由于其NP-hard性质,求解过程较为困难。
常用的求解方法包括分支定界法、割平面法和启发式算法等。
这些方法各有优劣,根据具体问题的特点选择合适的方法进行求解。
管理运筹学讲义:整数规划
福建师范大学经济学院
第一节
• 步骤:
整数规划问题
二、 整数规划的图解法
在线性规划的可行域内列出所有决策变量可能取的整数值, 求出这些变量所有可行的整数解, 比较它们相应的目标函数值,最优的目标函数值所对应的 解就是整数规划的最优解。 x2
• 实用性:
只有两个决策变量, 可行的整数解较少。
x2
5
4
3 2 1
•
• • •
1
• • •
2
x2=3
• •
3
•
4
5x1 +7 x2 =35 2x1 + x2 =9
x2 =2
x1
10
福建师范大学经济学院
第二节
分枝定界法
• 求解相应的线性规划的最优解
问题4相应的线性规划的最优解: x1=3,x2 =2,Z4=28 问题5相应的线性规划的最优解:x1=14/5,x2 =3,Z5=159/5
11
福建师范大学经济学院
第二节
问题6:maxZ= 6x1 +5 x2 2x1 + x2 ≤9 5x1 +7 x2 ≤35 x1≤3 x2 ≥3 x1≤2 x1, x2 ≥0 x1, x2取整数
分枝定界法
问题7: maxZ= 6x1 +5 x2 2x1 + x2 ≤9 5x1 +7 x2 ≤35 x1 ≤3 x2 ≥3 x1 ≥ 3 x1, x2 ≥0 x1, x2取整数
第6章
整数规划
• 线性规划的决策变量取值可以是任意非负实数,但许多
实际问题中,只有当决策变量的取值为整数时才有意义。
例如,产品的件数、机器的台数、装货的车数、完成工作的人 数等,分数或小数解显然是不合理的。
运筹学概论 第5章 整数规划
匈牙利法解题步骤如下:
于是建立下列模型:
xi=0或1, i=1,2,…,8
课堂练习
• 某钻井队要从10个可供选择的井位中确定5个钻 井探油,使总的钻探费用最少。若10个井位的代 号为s1-s10,相应的钻探费用为c1-c10,并且 井位选择应满足以下条件:
• 1) s1,s4,s5,s10井位中最多选择两个。 • 2) s2,s8,s9井位中最少选择一个 • 3) 如s3和s5都选择,则s8不选择 • 4) s6号和s7井位至少有一个不选择 • 建立该问题的数学模型。
第5章 整数规划
第一节 整数规划的数学模型及解的特点
在求解线性规划问题时,得到的最优解可能 是分数或小数,但许多实际问题要求得到的解为 整数才行。这种要求线性规划有整数解的问题,称
为整数规划(Integer Programming)或简称IP。
整数规划的数学模型
n
max(minf)(x) cjxj
指派问题的每个可行解,可用矩阵表示如下:
x11
X
(xi j )nn
x21
xn1
x12 x22 xn2
x1n
x2n
xnn
矩阵X中,每行各元素中只有1个元素为1,其余各 元素等0;每列各元素中也只有1个元素为1,其余各元 素等0 。
指派问题有n!个可行解。
例1 有一份中文说明书,需译成英、日、德、俄 四种文字。分别记作E、J、G、R。现有甲、乙、丙、 丁四人,他们将中文说明书翻译成不同语种的说明书 所需时间如下表。问应指派何人去完成何工作,使所 需总时间最少?
管理运筹学讲义整数规划
管理运筹学讲义整数规划整数规划是管理运筹学中一种重要的优化技术,它在实际问题中具有广泛的应用。
本文将介绍整数规划的基本概念、建模方法以及解决算法,并通过实例展示其在实际问题中的应用。
一、整数规划的基本概念整数规划是线性规划的一种扩展形式,其决策变量被限制为整数。
在实际问题中,往往存在某些变量只能取整数值的约束条件,这时就需要使用整数规划方法进行求解。
与线性规划相比,整数规划的求解难度更大,但可以提供更精确的结果。
二、整数规划的建模方法在进行整数规划建模时,需要确定决策变量、目标函数和约束条件。
1. 决策变量决策变量是问题中需要优化的变量,其取值决定了问题的解。
在整数规划中,决策变量通常表示为整数。
2. 目标函数目标函数是整数规划问题中需要最小化或最大化的目标。
它可以是线性函数或非线性函数,但在整数规划中,通常只考虑线性目标函数。
3. 约束条件约束条件是问题的限制条件,限制了决策变量的取值范围。
在整数规划中,约束条件可以是线性等式或线性不等式。
三、整数规划的解决算法解决整数规划问题的常见算法包括割平面法、分支定界法和动态规划法等。
这些算法通过不断对问题进行优化,逐步逼近最优解。
1. 割平面法割平面法是一种通过添加额外的约束条件来逼近最优解的方法。
它首先求解一个松弛问题,然后根据松弛问题的解加入新的约束条件,直到找到最优解。
2. 分支定界法分支定界法是一种将整数规划问题划分为多个子问题,并对每个子问题进行求解的方法。
它通过不断分支和剪枝来找到最优解。
3. 动态规划法动态规划法是一种通过将问题分解为多个子问题,并通过求解子问题的最优解来求解原始问题的方法。
它采用自底向上的求解方式,将所有可能的决策情况进行组合,得到最优解。
四、整数规划在实际问题中的应用整数规划在实际问题中有着广泛的应用。
以下是一个应用整数规划解决的实际问题示例:某公司生产两种产品A和B,每天的生产时间为8小时。
产品A每单位利润为100元,产品B每单位利润为150元。
运筹学 第五章 整数规划
M是足够大的整数,y 是0-1变量
14
f(x)-5 0
f(x) 0
(1)
(2)
-f(x)+5 M(1-y)
f(x) My
(3)
(4)
当y=1时,(1)(3)无差别,(4)式显然成立;
当y=0时,(2)(4)无差别,(3)式显然成立。
以上方法可以处理绝对值形式的约束
f(x) a (a>0)
31
5.1 分枝定界法 (Branch and Bound Method)
原问题的松驰问题: 任何整数规划(IP),凡放弃某些约束 条件(如整数要求)后,所得到的问题 (P) 都称为(IP)的松驰问题。 最通常的松驰问题是放弃变量的整数性 要求后,(P)为线性规划问题。
32
去掉整数约束,用单纯形法 IP LP
23
解法概述
当人们开始接触整数规划问题时,常会有 如下两种初始想法: 因为可行方案数目有限,因此经过穷举 法一一比较后,总能求出最好方案,例如, 背包问题充其量有2n种方式,实际上这种 方法是不可行。
设想计算机每秒能比较1000000个方式,那 么比较完260种方式,大约需要360世纪。
24
先放弃变量的整数性要求,解一个 线性规划问题,然后用“四舍五入” 法取整数解,这种方法,只有在变量 的取值很大时,才有成功的可能性, 而当变量的取值较小时,特别是0-1规 划时,往往不能成功。
Yes xI* = xl*
xl*
判别是否整数解
No 去掉非整数域 多个LP ……
33
分枝定界法步骤
一般求解对应的松驰问题,可能会出现 下面几种情况:
若所得的最优解的各分量恰好是整数, 则这个解也是原整数规划的最优解,计 算结束。
运筹学——第8章_整数规划
管
理
运
筹
学
14
§3 整数规划的应用
四、分布系统设计 例7.某企业在 A1 地已有一个工厂,其产品的生产能力为 30 千箱,为了 扩大生产,打算在 A2,A3,A4,A5地中再选择几个地方建厂。已知在 A2 , A3,A4,A5地建厂的固定成本分别为175千元、300千元、375千 元、500千元,另外, A1产量及A2,A3,A4,A5建成厂的产量,那时 销地的销量以及产地到销地的单位运价(每千箱运费)如下表所示。
性质1:任何求最大目标函数值的纯整数规划或混合整数规划的最大目
标函数值小于或等于相应的线性规划的最大目标函数值;任何求最小目
标函数值的纯整数规划或混合整数规划的最小目标函数值大于或等于相
应的线性规划的最小目标函数值。
管 理 运 筹 学
4
§2 整数规划的计算机求解
例2: Max z = 3x1 + x2 + 3x3 s.t. -x1 + 2x2 + x3 ≤ 4 4x2 -3x3 ≤2 x1 -3x2 + 2x3 ≤3 x1,x2,x3 ≥ 0 为整数 例3: Max z = 3x1 + x2 + 3x3 s.t. -x1 + 2x2 + x3 ≤ 4 4x2 -3x3 ≤2 x1 -3x2 + 2x3 ≤3 x3 ≤1 x1,x2,x3 ≥ 0 x1,x3 为整数 x3 为 0-1变量
资源 金属板(吨) 劳动力(人月) 机器设备(台月)
管
小号容器 2 2 1
理 运 筹
中号容器 4 3 2
学
大号容器 8 4 3
9
§3 整数规划的应用
解:这是一个整数规划的问题。 设x1,x2, x3 分别为小号容器、中号容器和大号容器的生产数量。各 种容器的固定费用只有在生产该种容器时才投入,为了说明固定费用的这 种性质,设 yi = 1(当生产第 i种容器, 即 xi > 0 时) 或0(当不生产第 i种容 器即 xi = 0 时)。 引入约束 xi ≤ M yi ,i =1,2,3,M充分大,以保证当 yi = 0 时,xi
管理运筹学讲义 第4章-整数规划(4学时)
• 要求部分或全部决策变量是整数的线性规划问题,则称 为整数规划(Integer Programming)。
当要求全部决策变量的取值都为非负整数的,则称为纯整数规 划或全整数规划(Pure IP) ; 仅要求部分决策变量的取值为整数,而另一部分不一定要求取 整数,则称为混合整数规划(Mixed IP)
cj CB
2 3 λj 3 2 0 0
XB x2 x1
x1
0 1 0
x2
1 0 0
x3
1/2 -1/4 -1/4
x4
-1/2 3/4 -5/4
b
5/2 13/4
最优解X=(13/4,5/2,0,0)T,x1 、x2不满足整数要求,选择x2行进行分割: 5 1 1 2 2 3 2 4 2 1 1 1 2 4 2 3 2 4 2
10 OM:SM
第一节 整数规划问题引言
三、 整数规划解的特点
3、完全枚举法
从图4-2可知,整数规划问题的可行解集是相应的线性规划 问题的可行域内的整数格子点,它是一个有限集。显然,我们 还有另一种方法,即将所有的可行解依次代入目标函数,比较 所得的目标函数的大小,从而得到最优解。这个方法称为完全 枚举法。如上例有整数可行解有7个,所以得到最优解( 0, 2),最优值为10。 对于决策变量较少,可行的整数解又较少时,这种穷举法 有时是可行的,并且也是有效的。但对于大型的整数规划问题, 可行的整数解数量很多,用穷举法求解是不可能的。因此,如 何巧妙构造枚举过程是必须研究的问题,目前用得较多的是将 完全枚举法变成部分枚举法。常用的求解整数规划的方法有分 枝定界法和割平面法,对于特别的0-1规划问题的求解,可以采 用隐枚举法和匈牙利法。下面分别介绍。
运筹学-第三章-整数规划
于是,对原问题增加两个新约束条件,将原问题分为两个 子问题,即有
max z 40x1 90x2
max z 40x1 90x2
9x1 7x2 56
s.t
7 x1
20 x2
70
x1 4
x1, x2 0
(LP1)
9x1 7x2 56
和
s.t
7
x1
20
x2
70
(LP2)
x1 5
表 3.1
货物 体积(米 3/箱) 重量(百公斤/箱) 利润(百元/箱)
甲
5
2
20
乙
4
5
10
托运限制 24 米 3
13 百公斤
解: 设x1,x2 分别为甲、乙两种货物的托运箱数,则数 学模型可以表示为:
max z 20x1 10x2
5x1 4x2 24 2x1 5x2 13 x1, x2 0, x1, x2整数
其中,目标函数表示追求最大的卫星实验价值;第1,2个约
束条件表示体积和重量的限制;第3-5个约束条件表示特定的卫
星装载要求,该问题的决策变量是0-1整数变量。
3.2.3隐枚举法 从上面两个例子可以看出,此类型问题是整数规划中的特
殊情形,其中决策变量 xi 的取值只能为0或1,此时变量 xi 称 为0-1变量,这类问题被称为0-1整数规划。对于 xi 的取值的 0-1约束,可以转化成下述整数约束条件:xi 1, xi 0, xi Z
目前对于整数规划问题的求解主要有两种方法:分支 定解法和割平面法。本章仅介绍分枝定界法,该方法在上 世纪60年代由Land Doig和Dakin等人提出,其具有灵活 且便于计算机求解的优点,所以现在已成为解决整数规划 问题的重要方法。下面通过例子说明分支定界方法的算法 思想和步骤。
运筹学之整数规划
f 130
* 1
f 2* 135
B1 的解 X1* (5,4)T 是整数最优解,它当然也是问题 A0 问题
* * 的整数可行解,故 A0 的整数最优解 Z f1 130.
即此时可将 Z 修改为:
Z f1* 130
同时问题 B1 也被查清, 成为“树叶”。
题 A0 的最优目标函数值决不会比它小,故可令 Z =0.
3. 增加约束条件将原问题分枝 当问题 A0 的最优解 X 0* 不满足整数条件时,在 X 0* 中任选一个
不符合整数条件的变量.如本例选 x1 5.6,
显然问题 A0 的
整数最优解只能是 x1 5 或 x1 6 ,而绝不会在5与6之间.
规划.
问题 A1
max Z 20x1 10x2
问题 A2
max Z 20x1 10x2
5 x1 8 x2 60 x1 8 s.t x2 4 x1 5 x1 , x2 0, 取整数
5 x1 8 x2 60 x1 8 s.t x2 4 x1 6 x1 , x2 0, 取整数
用 图 解法求出最优解 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
按整数规划约束条件,其可行解肯定在线性规划问题 的可行域内且为整数点。故整数规划问题的可行解集 是一个有限集,如图所示。
第六章 整数规划(运筹学讲义)
无解 ×
分枝与定界(5)
考察B1 、B3,因规划B3 的z值优于规划B1 的z值,故先分 解规划B3。仿上,R3分解成R5与R6。规划B3 分解成规划B5 与规划B6 : B3
B5
max z= x1+2x2 s.t. 2x1+5x2≤15 2x1-2x2≤5 x2 ≥2 X* ( 2, 2)T x1 ≤2 x2 ≤2 z* 6 x1, x2≥0且为整数
§4 Assignment Problems 指派问题
求整数解的线性规划问题,不是用四舍五入法或去尾法 对线性规划的非整数解加以处理都能解决的,而要用 整数规划的方法加以解决。
在整数规划中,如果所有的变量都为整数,则称为纯 整数规划问题;如果有一部分变量为整数,另一部分 变量可以不取整数,则称之为混合整数规划问题。在 整数规划中,如果变量的取值只限于0和1,这样的变 量我们称之为0-1变量。在纯整数规划和混合整数规 划问题中,如果所有的变量都为0-1变量,则称之为 0-1规划。
R0
▽z
2.5
2x1-5x2=5
z0
z 6
11 14
分枝与定界(2)
考察X的某一分量,不妨选x2 ,因为1<x2<2,为了使x2整数 化,剔除1<x2<2对应的可行域。为此,增加约束条件x2≤1及 x2≥2,于是可行域R0可分解成两个小可行域R1和R2.原规划 B0分解成子(subproblem)规划B1与规划B2,求解得: x2≤1
B0
max z =x1+2x2 s.t. 2x1+5x2 ≤ 15 2x1-2x2 ≤5 x1 , x2≥0
x2为整数的限制条件,得规 划B0对应的最优解与最优 值如下,而 X=(0,0)为A0 3 的可行解 B0 13 3 T 11 X (3 ,1 ) , z 6 14 7 14
《运筹学》整数规划
x11 x12 x13 x14 1
x x
21 31
x22 x32
x23 x33
x24 x34
1 1
x41 x42 x43 x44 1
整数规划的特点及应用
每项工作只能安排一人,约束条件为:
x11 x21 x31 x41 1
解:这是一个物资运输问题,特点是事先不能确定应该建A3 还是A4中哪一个,因而不知道新厂投产后的实际生产物资。 为此,引入0-1变量:
1 若建工厂 yi 0 若不建工厂 (i 1,2)
再设xij为由Ai运往Bj的物资数量,单位为千吨;z表示 总费用,单位万元。 则该规划问题的数学模型可以表示为:
整数规划的特点及应用
44
minz
c xij ij [1200y1 1500y2 ]
i1 j1
x11 x21 x31 x41 350
x12
x22
x32
x42
400
x13
x23
x33
x43
300
x14 x24 x34 x44 150
s.t
x11 x21
x12 x22
B1
B2
B3
B4
年生产能力
A1
2
9
3
4
400
A2
8
3
5
7
600
A3
7
6
1
2
200
A4
4
5
2
5
200
年需求量
350
400
300
150
工厂A3或A4开工后,每年的生产费用估计分别为1200万或1500万 元。现要决定应该建设工厂A3还是A4,才能使今后每年的总费用 最少。
运筹学第10讲:整数规划(一)
x14-80y4<=0
x14-0.01y4>=0
x24-x14<=15
x34-x24<=15
x44-x34<=15 x54-x44<=15
取L=0.01,M=10000
x16-60y16>=0 x26-60y26>=0
最优值: Z*=1752.19
x36-60y36>=0 x46-60y46>=0
最优解:
x34+320y5+x36+x37-120y1-28y2-0.25x24-1.2x26-1.15x27=150
x44+x46+x47-140y1-28y2-65y3-0.25x34-1.2x36-1.15x37=0
x54+x56+x57-140y1-28y2-65y3-0.25x44-180y5-1.2x46-1.15x47=0
x6 + x7 + x8 ≥ 1 x1 + x4 + x6 ≤ 2 x2 + x8 ≤ 1 ∑xi = 5 xi=0或1, i =1,2,…,8
最优值: 9.32 最优解:
x2 = x3= x4=
x5= x6=1
其余xi = 0.
例2
混合整数规划问题
工厂A1 和 A2生产某种物资。由于该物资供不应求,故需再建一家工厂。
工厂A3 或 A4开工后,每年的生产费用估计分别为1200万元或1500万元。 现要决定应该建设工厂A3 还是 A4,才能使今后每年的总费用(即全部物 资运费和新工厂生产费用之和)最少。
运筹学
二、Ip问题的求解
第10讲:整数规划(一)
例:max
第五章 整数规划(运筹学教程)
什么叫0-1规划
• 0-1型整数规划是整数规划中的特殊情况, 它的变量xi仅取0或1,这时xi称为0-1变量 或二进制变量(binary), • xi仅取0或1这个条件可由下述约束条件所 取代: xi≤1, xi ≥0, Xi整数。 • 但是,0-1变量还有许多其它作用。 • 下面举例说明。
4.1 引入0-1变量的实际问题
定界
0≤ Z≤349
定界 340≤ Z≤341
Z3=340
Z4=327
B5(x2≤1)最优解 X1=5,x2=1.57 Z2=308 B6(x2≥2) 无可行解
定界 340≤ Z≤340
§3 割平面法
• 1、分枝定界法本质上是一种对线性规划可行域的 分割方法,只是分割方式比较单一和规范。每次从 对应线性规划的最优解出发,选定某个取非整数值 的变量,挖掉其中的小数部分,将原可行域一分为 二。如此反复进行,直到发现最优整数解为止。 • 2、割平面法的思路也是采用求解对应线性规划的 方法去解整数规划的问题。通过增加适当的约束条 件,从原可行域中切割掉不含整数解的部分。但其 切割方式灵活多样,每次切割可以切一刀,也可以 同时切几刀。旨在造成一个具有整数坐标的顶点, 恰好对应着原问题的最优解
B5, B6
图5-4
B1(x1≤4)最优解
X1=4,x2=2.1 Z1=349 B3(x2≤2)最优解 X1=4,x2=2
B最优解
定界 0≤ Z≤356
X1=4.81,x2=1.82
Z0=356
B2(x1≥5)最优解
X1=5,x2=1.57 Z2=341 B4(x2≥3)最优解 X1=1.42,x2=3
最优解 X1=4,x2=2:整数可行解 Z3=340 最优解 X1=1.42,x2=3
运筹学-第5章整数规划
按规定,服务员连续工作8小 时(4个时段)为一班。如何安排 服务员的工作时间,使服务员 总数最少?
解:设第j 时段开始时上班的服 s.t. 务员人数为xj 第 j 时段来上班的服务员将在 第j +3 时段结束时下班,故决策 变量有x1, x2, x3, x4, x5 。
9
三、项目投资选择
选中第j个项目投资
不 选中第j个项目投资
max Z 160x1 210x2 60x3 80x4 180x5 210x1 300x2 150x3 130x4 260x5 600 x1 x2 x3 1 x3 x 4 1 x x 1 5 x1 , x2 , x3 , x4 , x5 0或1
用最小?
解: 假设 yi =1,选择第 i 址建厂,
min Z
yF
i 1 i
m
i
cij xij
i 1 j 1
m
n
n yi =0,不选择第 i 址建厂; xij yi ai j 1 计划从厂址i 至市场 j 的运输 m 量为xij (连续型决策变量)。 s.t. xij b j i 1 xij 0 yi 0,1 F
17
OR:SM
分枝定界法基本步骤
• 不考虑整数限制,先求出相应松驰问题的最优解。 若求得的最优解符合整数要求,则是原IP的最优解。 • 若不满足整数条件,则任选一个不满足整数条件的变量来构造 新的约束,在原可行域中剔除部分非整数解。
依次在缩小的可行域中求解新构造的线性规划的最优解,直 到获得原整数规划的最优解。
例如,产品的件数、机器的台数、装货的车数、完成工作的人 数等,分数或小数解显然是不合理的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3 ( 0) 1 0*
2 3 ( 0) 1
( 0) 2 2 2
0 * 1 0 * 2
划线后会出现两种情况: (1) 标记( )的零少于m个,但划有 m 条直线,说明矩阵中已存在 m 个不 同行不同列的零,但打破僵局时选 择不合理,没能找到。回到 b 重新 标记; (2) 少于m条直线,到第三步;
情况 2, 4, 5 找到最优解 情况 3 在缩减的域上继续分枝定界法 情况 6 问题 1 的整数解作为界被保留,用于以后与问题 2 的后 续分枝所得到的整数解进行比较,结论如情况 4
4
4.2.2 分枝定界法举例
例4.1.1
max f ( x ) 6 x1 4 x2 2 x1 4 x2 13 2 x1 x2 7 x , x 0 且为整数 1 2
3、求解分枝的松弛问题 — 定界过程
– 设两个分枝的松弛问题分别为问题 1 和问题 2 ,它 们的最优解有如下情况 3
表4.2.1 分枝问题解可能出现的情况
序号 1 2 3 4 5 6 问题 1 无可行解 无可行解 无可行解 整数解 整数解,目标函 数优于问题 2 整数解 非整数解,目标 问 题 1 停 止 分 枝 ( 剪 函数优于问题 1 枝 ), 其 整 数 解 为 界 , 对问题 2 继续分枝 问题 2 无可行解 整数解 非整数解 整数解 非整数解 说 明 整数规划无可行解 此整数解即最优解 对问题 2 继续分枝 较优的一个为最优解 问题 1 的解即最优解
n
max(min) f ( x ) c j x j
j 1
s.t.
n i 1,2,, m aij x j ( , )bi , j 1 x j 0 且为整数 , j 1,2,, n
2
4.2 整数规划的分枝定解法
4.2.1 思路与解题步骤 • 只解松弛问题
2 2 0* ( 0) ( 0) 1 2 1
2 2 0 0
( 0) 1 2 1
0 * 0 0 1
4 (0) 2 0*
0 * 行 4 逐 0 * 列 ( 0) 0 标 2 记 0* 1
0* 最 0* 优 ( 0) 解 1
第二步:检查覆盖所有零元素的直线是否为m条
划线规则
1、逐行检查,若该行只有一个未标记的零,对其加( )标记,将 ( )标记元素同行同列上其它的零打上*标记。若该行有二个以上 未标记的零,暂不标记,转下一行检查,直到所有行检查完;
10
清华算法的步骤:例4.6.1
2、逐列检查,若该列只有一个未标记的零,对其加( )标记,将( )标 记元素同行同列上其它的零打上*标记。若该列有二个以上未标记的 零,暂不标记,转下一列检查,直到所有列检查完;来自打破僵局时选择不当的结果:
打 打 破 破 僵 僵 局 局
(0 ) (0 ) 0
0* 0* (0) 0 4 4 2 2
1 1 1 0* 0* 0 0* 0* 0
00 ** 0 3 3 00 3 0* 0 ((0) 555 0 ) 0 5 0 * 666 0* 6 22 2
15
结果仅出现 3 个标记 ( ),但却划出 4 条线, 说明什么?!
线性规划有关的英文词汇
• • • • • • • • • • • • • Operational/operations research 运筹学 Linear programming 线性规划 Feasible domain 可行域 Convex set 凸集 Basic feasible solutions 基础可行解 Simplex algorithm 单纯型法 Pivot 主元 Pivoting 主元变换 Revised, dual simplex algorithm 修正、对偶单纯型法 Relative cost 相对成本(机会成本) Shadow price 影子价格 Slack, Surplus, Artificial variable 松弛,剩余,人工变量 Unbounded, Infeasible, Degenerate solution 无界解, 无可行解, 退化解 Duality 对偶性 Primal, dual problem 原问题,对偶问题 Complementary slackness 互补松弛 Sensitivity analysis 灵敏度分析 Ttransportation problem 运输问题 Assignment problem 任务分配(指派) 问题 Bipartite matching 两部图匹配 Hungarian method 匈牙利算法
3 (0) 1 0*
逐 行 检 查
2 3 0 1
0 2 2 2
0 3 1 (0) 1 0 2 0*
逐 列 检 查
2 3 (0) 1
(0) 2 2 2
0 * 1 0 * 2
3、重复1、2后,可能出现三种情况; a. 每行都有一个 (0),显然已找到最优解,令对应(0)位置的 xij=1; b. 仍有零元素未标记,此时,一定存在某些行和列同时有多个零, 称为僵局状态,因为无法采用 1. 2 中的方法继续标记。 4、打破僵局。令未标记零对应的同行同列上其它未标记零的个数为 该零的指数,选指数最小的先标记 ( );采用这种方法直至所有零都 被标记,或出现 情况 a,或 情况 c 。 11
12
清华算法的步骤:例4.6.1
第三步:进一步变换;
在未划线的元素中找最小者,设为
对未被直线覆盖的各元素减去
对两条直线交叉点覆盖的元素加上 只有一条直线覆盖的元素保持不变 以上步骤实际上仍是利用 定理 1
3 ( 0) 1 0*
2 3 ( 0) 1
{aij}mm 称为效率矩阵
1 当第i个工人分配去做第j项任务 xij 0 当第i个工人未分配去做第j项任务 i , j 1,2,, m 运输问题是任务分配问题的松弛问题
任务分配问题不但是整数规划,而且是01规划 任务分配问题有2m个约束条件,但有且只有m个非零解, 是自然高度退化的 任务分配是两部图的匹配问题,有著名的匈牙利算法 下面介绍一种适合手算的算法(出自清华教科书)
6
4.6 任务分配问题
例4.6.1 有四个熟练工人,他们都是多面手,有四项任务要他 们完成。若规定每人必须完成且只完成一项任务,而每人 完成每项任务的工时耗费如表4.6.1,问如何分配任务使完 成四项任务的总工时耗费最少?
任务 工时 人员 甲 乙 丙 丁 任务 10 5 5 2 1 9 8 4 3 1 7 7 6 4 1 8 7 5 5 1 1 1 1 1 A B C D 人员
清华算法的步骤:例4.6.1
c. 所有零都已标记,但标有( )的零的个数少于m;
开始划线过程:
对没有标记 ( ) 的行打
对打 行上所有其它零元素对应的列打 再对打 列上有 ( ) 标记的零元素对应的行打 重复 ,直至无法继续 对没有打 的行划横线,对所有打 的列划垂线
答:最优分配方案为 x13= x21= x34 = x42 =1,其余为0, 即甲C,乙A,丙D,丁B,OBJ=20
14
4.6.2 关于清华算法的适用条件 • 要求所有aij 0
– 若某些 aij <0 ,则利用定理 1 进行变换,使所有 bij 0
• 目标函数为min型
– 对于max型目标函数,将效率矩阵中所有 aij 反号,则等 效于求min型问题;再利用定理 1 进行变换,使所有 bij 0,则可采用清华算法
8
4.6.1 清华算法
定理 1 如果从效率矩阵{aij}mm中每行元素分别减去一个常数 ui, 从每列元素分别减去一个常数 vj ,所得新的效率矩阵{bij}mm 的任务分配问题的最优解等价于原问题的最优解。
证明:略
定理 2 若方阵中一部分元素为零,一部分元素非零,则覆盖方 阵内所有零元素的最少直线数等于位于不同行、不同列的零 元素的最多个数。
表4.2.3 分枝问题的松弛解
问题 I x1 x2 f(x) 2 9/4 21 问题 II 3 1 22
问题II的解即原整数问题的最优解
可能存在两个分枝都是非整数解的情况,则需要两边同时继续 分枝,直到有整数解出现,就可以进行定界过程 当有很多变量有整数约束时,分枝即广又深,在最坏情况下相 当于组合所有可能的整数解 一般整数规划问题属于一类未解决的难题,NP-complete,只有 少数特殊问题有好的算法,如任务分配问题、匹配问题
解:松弛问题的最优解为 x1=2.5, x2=2, OBJ=23
由 x1=2.5 得到两个分枝如下:
max f ( x ) 6 x1 4 x2 max f ( x ) 6 x1 4 x2 2 x1 4 x2 13 2 x1 4 x2 13 2 x1 x2 7 2 x1 x2 7 问题II 问题I x1 3 x1 2 x1 , x2 0 且为整数 x1 , x2 0 且为整数 5
min f ( x ) aij xij
i 1 j 1
m
m
m x 1 i 1,2,, m ij j 1 m x 1 j 1,2,, m ij i 1 xij 0,1
7
任务分配问题的数学模型
模型中:xij 为第 i 个工人分配去做第 j 项任务; aij 为第 i 个工人为完成第 j 项任务时的工时消耗;
– 行变换:找出每行最小元素,从该行各元素中减去之 – 列变换:找出每列最小元素,从该列各元素中减去之