运筹学-整数规划与分配问题PPT
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
但 z=13 不是最优。实际问题的
最优解为(4 , 1)这时 z*= 14。
逻辑(0-1)变量在建立数学模型中的作用
1. m 个约束条件中只有 k 个起作用
设 m 个约束条件可以表示为:
n
aijxj bi (i1, ,m)
j1
定义逻辑变量
1,假定第 i 个约束条件不起作用 yi 0,假定第 i 个约束条件起作用
第四章 整数规划与分配问题
整数规划的特点及作用 分配问题与匈牙利法 分枝定界法 割平面法 应用举例
1 整数规划的特点及应用
在实际问题中,全部或部分变量取值必须是整数。比如人 或机器是不可分割的,选择地点可以设置逻辑变量等。
在一个线性规划问题中要求全部变量取整数值的,称纯整
数线性规划或简称纯整数规划;只要求一部分变量取整 数值的,称为混合整数规划。
如果完成任务的效率表现为资源消耗,考虑的是如何分配 任务使得目标极小化;如果完成任务的效率表现为生产效 率的高低,则考虑的是如何分配使得目标函数极大化。
在分配问题中,利用不同资源完成不同计划活动的效率常
用表格形式表示为效率表,表格中数字组成效率矩阵。
例2. 有一份说明书,要分别翻译成英、日、德、俄 四种文字,交甲、乙、丙、丁四个人去完成。因各人专长 不同,使这四个人分别完成四项任务总的时间为最小。效 率表如下:
又设 M 为任意大的正数,则约束条件可以改写为:
n
aijxj
bi Myi
j1
y1 y2 ym mk
2. 约束条件的右端项可能是 r 个值中的某一个
n
即
aijxj b1或b2或或br
j1
定义逻辑变量:
yi 10, ,假 其定 它约束右端项b为 i
此时约束条件可以改写为:
n
aij x j
效率矩阵用[aij] 表示,为
2 10 9 7
[aij
]
15 143
4 14 15
14 16 13
8 191
定义逻辑变量
1,分配 i 个第人去完 j 项 成任 第务 xij0,不分i 配 个第 人去完 j 项 成任 第务
(i1,,m;j1,,m)
则分配问题的数学模型写为:
mm
min z
a ij x ij
2x1 3x2 14
x1 0.5x2 4.5
解:如果不考虑整x1数, x2约束0,(且松均弛取 问题整)数用值图解法
得
最优解为(3.25 , 2.5)。
考虑到整数约束,用凑整法求
解时,比较四个点(4 , 3),(4 , 2),
(3 , 3),(3 , 2),前三个都不是可
行解,第四个虽然是可行解,
min
2 10 9 7 2 0 8 7 5
15 4 14 8 4 11 0 10 4
13 14 16 1111 2 3 5 0
4
15 13
9 4
r
bi yi
j1
i1
y1 y2 yr 1
3. 两组条件满足其中一组 若 x1≤4,则 x2≥1(第一组条件);否则当 x1>4 时,
x2≤3(第二组条件).
定义逻辑变量:
yi 10, ,第 第 ii组 组条 条件 件不 起( 起 作 i作 用 1,2) 用
又设 M 为任意大正数,则问题可表达为:
对整数规划问题求解,有人认为可以不考虑对变量的整数 约束,作为一般线性规划问题求解,当解为非整数时,用 四舍五入或凑整方法寻找最优解。
当变量取值较小时,得到的解可能与实际整数最优解差别 很大。
若问题中整数变量的数目很大,则凑整方法的组合数目很 多。
例1. 求下述整数规划问题的最优解
maxz 3x1 2x2
AB 甲3 5 乙4 2
AB 甲0 2 乙2 0
AB 甲0 3 乙1 0
定理2 若矩阵 A 的元素可分成“ 0 ”与非“ 0 ”两部 分,则覆盖“ 0 ”元素的最少直线数等于位于不同行不同 列的“ 0 ”元素的最大个数。
结合例2 说明匈牙利法的计算步骤
第一步:找出效率矩阵每行的最小元素,并分别
从每行中减去。
被称为匈牙利法,原理是如果效率矩阵所有元素aij>=0,
而其中存在一组位于不同行不同列的零元素,则只要令对
应于这些零元素位置的xij=1即为最优解。
0 14 9 3
9
20
0
2
3
23 0 3 8
0
12 14
0
定理1 如果从分配问题效率矩阵 [aij] 的每一行元素中 分别减去(或加上)一个常数 ui (被称为该行的位势),从 每一列分别减去(或加上)一个常数 vj(被称为该列的位 势),得到一个新的效率矩阵 [bij],若其中 bij = aij-ui-vj, 则 [bij] 的最优解等价于 [aij] 的最优解。
i1 j1
m
x ij 1
(i 1, , m )
j1
m
x ij 1
( j 或
1
(i 1, , m ; j 1, , m )
二、匈牙利法
用表上作业法来求解分配问题时,单位运价表即效率表, 产销平衡表中产量和销量都设为 1 即可。
匈牙利数学家克尼格( Konig )求解分配问题的计算方法
x1 4 y1M
x2 x1
1 4
y1M y2M
x
2
3
y2M
y 1 y 2 1
需注意,当约束 为大于时,右端 项中用减号。
4. 用以表示含固定费用的函数
用 xj 代表产品 j 的生产数量,其生产费用函数表示为
Cj(xj) 0 Kj cjxj
(xj 0) (xj 0)
其中 Kj 是同产量无关的生产准备费用,问题的目标是使 所有产品的总生产费用为最小,即
n
maxz Cj(xj) j1
定义逻辑变量(表示是否生产产品 j )
yj
1,xj 0,xj
0 0
又设 M 为任意大正数,为了表示上述定义,引入约束:
xj Myj
显然,当 xj> 0 时,yj=1。
将目标函数与约束条件合起来考虑有:
n
min z c j x j K j y j
j 1
0 x j My j
y
j
0
或
1
由此看出,当 xj = 0 时,为使 z 极小化,应有 yj = 0
2 分配问题与匈牙利法
一、问题的提出与数学模型
分配问题也称指派问题(assignment problem),是一
种特殊的整数规划问题。假定有 m 项任务分配给 m 个人 去完成,并指定每人完成其中一项,每项只交给其中一个 人去完成,应如何分配使总的效率为最高。