运筹学 第四章(整数规划)

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

-1 -3 0 4 3 11 0 2 10 7 0 3 6 2 0 1 8 0 4 0 3 6
8 3 1 4 0
0 0 0 0 0
3 1 2 0 2
0 11 8 7 7 3 3 2 1 5 0 4 3 4 0 0 0 0 0 1
2. 分支定界法
首先,不考虑变量的整数约束,求解松弛问题线性规 划的最优解。如果线性规划的最优解恰好是整数解,则这 个解就是整数规划的最优解。 如果线性规划的最优解中至少有一个变量不是整数, 把线性规划的可行域切割成两部分,分别求解两个线性规 划的最优解。 如果这两个线性规划的最优解还不是整数解,分别把 每一个可行域再进行分割。这个过程,叫做“分支”。 分支过程得到的整数解中,目标函数值最优的一个叫 做整数规划目标函数值的“界”。分支过程中非整数的线 性规划的最优解,如果目标函数值劣于或等于这个“界”, 19 就停止继续分支。这个过程,叫做“定界”。
A(2.6, 3.8) B(5, 3)
0
1
2
3
4
源自文库
5
6
7
8
6
4 3 2 1
A(2.6, 3.8)
B(5, 3)
线性规划的最优解A(x1, x2)=(2.6, 3.8)不是整数解,目 标函数值为z=17.8。整数规划的最优解B(x1, x2)=(5,3)目 标函数值为z=17。线性规划最优解A(2.6, 3.8)四舍五入得 到的解为(3,4),不是可行解;舍去尾数取整的解为(2,3), 目标函数值z=14。 因此整数规划的最优解一般不能由线性规划的最优 7 解通过简单的取整得到。
运 筹 学
第四章 整数规划与分配问题
4.1 整数规划的特点及作用 4.2分配问题与匈牙利法 4.3分支定界法
4.4割平面法
4.50-1整数规划及隐枚举法
2
本章学习要求
熟悉分支定界法和割平面法的原理及其应用 掌握求解0-1规划问题的隐枚举法
掌握求解分配问题的匈牙利法
3
4.1整数规划的特点及作用
11
竖线划去0元素,通常从0元素最多的行或列划起,如果线条数m=n,
素Cik,对未被直线覆盖的元素减去该元素,被覆盖一次的元素不变,
3.实例
4 7 6 6 6 8 7 9 17 9 12 7 14 9 12 15 12-4 14 10-7 8 7 -6 6 10-6 10 6 -6
xij = 0
n i 1
1
分配第i 个人去做第j 件工作 相反
n j 1
( i,j=1.2. …n )
min Z cij xij xij 1 (i 1.2..n) jn 1 xij 1 ( j 1.2..n) i 1 xij 0或1( i, j 1.2..n)
四种文字,分别记作A、B、C、D。现有甲、乙 、丙、丁四人,他们将中文说明书译成不同语种
的说明书所需时间如下表所示,问如何分派任务
,可使总时间最少?
任务 人员
A 6 4 3 5
B 7 5 1 9
C 11 9 10 8
D 2 8 4 2
13
甲 乙 丙 丁
4.非标准分配问题
① 最大化分配问题:可化为极小化分配问题形式再求解,即
0 0 0 1 0
2 0 1 0 1
0 10 7 3 6 3 6 1 0 3
8 3 1 5 0
所以最优解为: 0 0 1 0 0
0 1 0 0 0
1 0 0 0 0
0 0 0 1 0
Z=7+9+6+6+6=34万元
12
有一份中文说明书,需译成英、日、德、俄
步骤: 1. 解整数规划问题(ILP)的松弛问题,结果可能有三种: 松弛问题没有可行解,ILP也没有可行解,停止计算。 松弛问题有最优解,并符合ILP的整数条件,则此最优 解即为ILP的最优解,停止计算。 松弛问题有最优解,但不符合ILP的整数条件,记它的 目标函数值为 Z ; 2. 用观察法找问题ILP的一个整数可行解,求得其目标函 数值,并记作 Z,以Z*表示ILP的最优目标函数值,则
21
分支定界解法的基本步骤
通常,分支定界法按照下面的基本步骤求解一个具体的整数规划问题: Step 1 求解原整数规划问题的松弛问题: 若松弛问题没可行解,原问题也没有可行解,则停止。 若松弛问题有最优解,且满足原问题中的取整要求,则该最优解即为原整数规划问题最优解。 若松弛问题有最优解,但不满足原问题中的取整要求,则转下一步对松弛问题进行分支。 Step 2 分枝:任选一个不符合取整要求的变量 x j ,其值为 b j ,构造两个约束条件 x j [b j ] 与
n
10
2.匈牙利法步骤
① 化分配问题为极小化问题,对各行或各列减去该行或该列的最 小元素,使价值系数矩阵中的行或列元素都有零元素出现为止。
② 为变换后的价值系数矩阵确定独立零元素,即用最少的横线或
则已能找到最优解,否则转第4步。 ③ 找最优解,即找n个不同行不同列的0元素,从行或列最少的0元 素开始寻找,把该行或列的一个0元素变为1,其余为0,形成单位 阵的一行或一列,最后形成一个单位阵,其中为1的元素对应其行 任务由列人做。 ④ 价值系数矩阵变换,在未被直线覆盖的元素中找出一个最小元 被覆盖两次的元素加上该元素。得到新的价值矩阵,返回2步。
max Z 4 x1 3 x2 1.2 x1 0.8 x2 10 2 x1 2.5 x2 25 LP1 : x1 3 x1 , x2 0 max Z 4 x1 3 x2
LP1
A
LP1:X=(3,7.6),Z1=34.8
B
LP2:X=(4,6.5),Z2=35.5 1.2 x 0.8 x 10 1 2
14
4.3 分支定界法
整数规划的松弛问题
图解法
分支定界法
15
整数规划松弛问题
• 不考虑整数条件,由余下的目标函数和约束条件构成的规划 问题称为该整数规划问题的松弛问题。 • 若松弛问题是个线性规划,则该整数规划为整数线性规划。 整数线性规划与其松弛问题,从解的特点上来说,两者之间 既有密切的联系又有本质的区别。 • 松弛问题作为一个线性规划问题,可行解集合为凸集,任意 两个可行解的凸组合仍为可行解。 • 但对整数规划问题,任意两个可行解的凸组合不一定仍为可 行解。整数规划问题的可行解一定是其松弛问题的可行解 (反之不一定),因而,前者最优目标函数值不会优于后者。 • 一般情况下,对松弛问题的最优解分量简单取整所得到的解 不一定是整数问题的最优解,甚至也不一定是整数规划的可 行解。
用价值系数中最大者减去各价值系数取得一新的价值系数矩阵。
② 人数和任务数不等的分配问题:
人数>任务数时,需添上虚拟“人”,价值系数为0;
人数<任务数时,需添上虚拟“任务”,价值系数为0;
③ 一个人可做n件任务的指派问题,把该人做相同的n个人指
派;
④ 某事一定不能由某人做的指派问题,价值系数定为M; ⑤ 某事一定要由某人做的指派问题,把该任务对应的其他人 的价值系数定位M.
1. 图解法
max Z 4 x1 3x 2 1.2 x1 0.8 x 2 10 2 x1 2.5 x 2 25 x , x 0, 且均取整数 1 2
1. 图解法
用图解法求得点B为最优解:X=(3.57,7.14),Z=35.7。 由于x1,x2必须取整数值,实际上整数规划问题的可行解集 只是图中可行域内的那些整数点。用凑整法来解时需要比 较四种组合,但(4,7)、(4,8)(3,8)都不是可行 解,(3,7)虽属可行解,但代入目标函数得Z=33,并非最 优。实际上问题的最优解是(5,5),Z=35。即两种物品 各装5件,总价值35元。 由上图知,点(5,5)不是可行域的顶点, 直接用图解法或单纯形法都无法求出整数规划 问题的最优解,因此求解整数规划问题的最优 解需要采用其它特殊方法。
LP2
C o 3 4 10
2 x1 2.5 x2 25 LP 2 : x1 4 x1 , x2 0
x1
x2 ① ② 10
选择目标值最大的分枝LP 2进行分枝,增加约束 x2 6及x2 7,显然x2 7不可行,得到线性规划
LP1:X=(3,7.6),Z1=34.8
A
max Z 4 x1 3 x2 1.2 x1 0.8 x2 10 2 x1 2.5 x2 25 LP 3 : x1 4,x2 6 x1 , x2 0

【例4.1 】用分枝定界法求解
max Z 4 x1 3x 2 1.2 x1 0.8 x 2 10 2 x1 2.5 x 2 25 x , x 0, 且均取整数 1 2
【解】先求对应的松弛问题(记为LP0):
max Z 4 x1 3x 2 1.2 x1 0.8 x 2 10 LP 0 : 2 x1 2.5 x 2 25 x1 , x 2 0
Z Z* Z
分支,如松弛问题有一个最优解xj为非整数值bj,则可 以构造两个分支。 xj≤[bj] xj≥[bj]+1
20
将这两个约束条件分别加入问题( ILP ) ,形成两个子 问题( ILP1)和( ILP2 ) ,再解这两个问题的松弛问题( LP1)和( LP2) 。 3.修改上、下界:按照以下两点规则进行。 ⑴.在各分枝问题中,找出目标函数值最大者作为新的 上界; ⑵.从已符合整数条件的分枝中,找出目标函数值最大 者作为新的下界。 4.比较与剪枝 : 各分枝的目标函数值中,若有小于 Z 者,则剪掉此枝, 表明此子问题已经探清,不必再分枝了;否则继续分枝。 如此反复进行,直到得到Z=Z*= Z 为止, 即得最优解 X* 。
0
1
2
3
4
5
6
7
8
3.整数线性规划(ILP)解的特点
ILP是其中LP的一个子问题,所有解
也是LP的可行解,所以如果LP的最优解 满足ILP的整数条件,则已得最优解。
8
4.2 分配问题与匈牙利法
标准分配问题
匈牙利法步骤
实例
非标准分配问题
9
1.标准分配问题
有n个任务,由n个人来做,已知第i人做第j件 事的费用为Cij,求最佳任务分配方案,使总费用 最少。 设决策变量
整数规划的类型
整数规划的数学模型实例 整数规划解的特点
4
1.整数线性规划(ILP)的类型
要求一部分或全部决策变量必须取整数值的 规划问题称为整数规划(integer programming, 简记ILP)。


纯ILP: Xj全为整数
混合ILP:部分Xj为整数 0-1 ILP:Xj为0或1


x j [b j ] 1
分别增加到松弛问题中形成分支后继问题,并选择合适的方法求其最优解。 Step 3 定界:若分支后继问题中存在满足原问题中的取整要求的最优解,找出目标函数值为最大者 为整数规划问题最优解目标函数值的下界限 z 。 Step 4 比较与剪枝:各分支后继问题求得满足取整要求的最优解或无可行解或最优目标函数值小于 下界限者 z ,不需要再考虑继续分支。 对于最优目标函数据值大于下界限值 z ,但最优解不满足取整要求的后继问题,优选考虑目标函数 值大的继续分支。 Step 5 若所有分支后继问题都无需继续分支,即得整数规划问题的最优解。
用图解法得到最优解X=(3.57,7.14),Z0=35.7,如下图所示。
23
x2 A
1.2 x1 0.8x2 10
松弛问题LP0的最优解 X=(3.57,7.14),Z0=35.7 B
10
2 x1 2.5x2 25
C
o
8.33
10
x1
x2 ① ② 10
增加约束x1 3及x1 4得到两个线性规划
5
2.整数线性规划(ILP)实例
线性规划模型 max z=x1+4x2 s.t. 14x1+42x2≤196 -x1+ 2x2≤ 5 x1, x2≥0
4 3 2 1
整数规划模型 max z=x1+4x2 s.t. 14x1+42x2≤196 -x1+ 2x2≤ 5 x1, x2≥0 x1,x2 为整数
相关文档
最新文档