第4章整数规划——指派问题

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

4 指派问题
0 , 不 指 派 第 i小 组 维 修 第 j台 机 床 x ij ( i , j 1, 2 ,3, 4 ) 1, 指 派 第 i 小 组 维 修 第 j 台 机 床 机车 该问题的数学模型为: 1 2 3 4 4 小组 min z cij xij i 1 j 1 1 x11 x12 x13 2 x11 15 x12 2 x21 x22 x23 任务约束 4 x 1, j 1, 2 , 3 , 4 3 x31 x32 x33 ij i 1 4 x41 x42 x43 人员约束 4 x ij 1, i 1, 2 , 3, 4 j 1 x ij 0 或 1 i , j 1 , 2 , 3 , 4
0 , 不 指 派 Ai 承 建 商 店 B j x ij ( i , j 1, 2 ,3, 4 ,5 ) 1, 指 派 Ai 承 建 商 店 B j
4 指派问题
该问题的数学模型为:
商店
min z c ij x ij
i 1 j 1
5
5
建公
B1
x11 x21 x31 x41
c11 c 21 c n1
4 指派问题
分析:指派问题解的特征是它有n个1,其它都是0,且这n个 1位于决策变量矩阵的不同行、不同列,每一种情况为指派问题 的一个可行解,共n!个解。指派问题是:把这n个1放到的n 2个位 置的什么地方可使耗费的总资源最少?(解最优)
【例3】 对于效率矩阵
【例1】 某厂拟派4个维修小组去维修4台机车,他们相应的 完成工作所需时间cij(i,j=1,2, 机车 1 2 3 4 3,4)由右表给出。如何给每个 小组 小组安排工作才能使完成任务 1 2 15 13 4 的总时间最少。 2 10 4 14 15 解: 该指派问题是安排 维修小组去维修机车,其决策 3 9 14 16 13 变量为 4 7 8 11 9
5
A1 A2 A3 A4
A5
x51
x52
x53
x54
x55
显然指派问题与运输问题相类似,该问题的指派平衡表如下:
4 指派问题
商店
建公
B1 4
x11 7 x21 6 8
B2
7 x12
B3
B4 15
x14 14
B5
12 x15 10
任务 1 1 1
A1 A2 A3
x13
9
x22
17
x23
x24
x25
9
n
… … … …
… … … …
4 指派问题
称矩阵C为效率矩阵(在其他问题中,可根据实际意义称为 费用矩阵等),其元素cij体现了第i个人完成第j项工作时的效率, 即
c1n c2 n C [cij ]n n cn 2 cnn 决策变量xij排成的n×n矩阵X称为决策变量矩阵,其中 x11 x12 x1n x x x 22 2n X [ xij ]n n 21 x x x n2 nn n1 c12 c22
4 指派问题
1)对新矩阵中所有不含“*”元素的行打√ ; 2)对打√的行中,所有打×零元素所在的列打√; 3)对所有打√列中标记“*”元素所在行打√; 4)重复上述2),3)步,直到不能进一步打√为止; 5)对未打√的每一行划一直线,对已打√的每一列划一纵线, 即得到覆盖当前0元素的最少直线数。 第四步:对矩阵未被直线覆盖过的元素中找最小元素,将打 √行的各元素减去这个最小元素,将打√列的各元素加上这个最小 元素(以避免打√行中出现负元素),这样就增加了零元素的个 数,返回第二步。 【例5】 求解例1和例2

13 11 2 0 10 11 57 4 4 2 13 7 0 0 6 9 5 32 0 0
0 0 X 1 0
0 0 1 1 0 0 0 0 0 0 1 0

故可得到指派问题的最优解X,这样 安排能使总的维修时间最少,维修时间为 z=4+4+9+11=28(小时)。
x31 x32
12
x33
8
x34
7
x35 10
x44 x45
A4
A5
公司数
6
x41
7
x42
14
x43
6
10
x53
1
1
6
x51
9
x52
12
6
x54 x55
1
1
1
1
1
4 指派问题
4.2 标准指派问题的数学模型 一般地,指派问题的一般提法是:有n项任务,需分配给n个 人员(或设备)去完成,已知每个人员完成某项工作的效率(或 成本等)为cij,如何给每个人员指派一项工作,使得完成任务的 总效率最高(或总成本最少),见下表。 解: 任务 1 … j … n 1 … i … n c11 … c i1 … c n1 … c1 j … cij … cnj … c1 n … cin cnn …
4 x14 x24 x34 x44
4 指派问题
【例2】 某商业 商店 B1 B2 B3 B4 B5 公司计划开办五家新商 建公 店。为了尽早建成营业, A1 4 8 7 15 12 商业公司决定由5家建 A2 7 9 17 14 10 筑公司分别承建。已知 A3 6 9 12 8 7 建筑公司Ai (i=1,2,3,4,5) 对新商店Bj (j=1,2,3,4,5) A4 6 7 14 6 10 的建造费用的报价(万 A5 6 9 12 10 6 元)为cij ,见下表。商 业公司应当对5家建筑公司怎样分派建筑任务,才能使总的建筑 费用最少? 解: 该指派问题是安排建筑公司承建商店,其决策变量为
4 指派问题
指派问题也称分配或配置问题,是资源合理配置或最优匹配 问题。指派问题通常划分为标准和非标准的指派问题。 4.1 指派问题的引入
在现实生活中,有各种性质的指派问题。例如,有若干项工作需要分配 给若干人(或部门)来完成;有若干项合同需要选择若干个投标者来承包; 有若干班级需要安排在若干教室上课等等。诸如此类的问题,它们的基本要 求是在满足特定的指派要求条件下,使指派方案的总体效果最佳。
min z c ij x ij
i 1 j 1 n n
1 第 i人 完 成 第 j工 作 人 设 x ij 0 第 i人 不 完 成 第 j工 作
x ij 1( i 1, , n ) jn1 x ij 1( j 1, , n ) i 1 x ij 0 或 1 ( i , j 1 , , n )
5 2 C 0 4
0 2 0 3 0 0 决策变量矩阵 5 6 7 8 0 0
0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1
X (1)
0 0 1 0
1 0 0 0 0 1 0 0 0 0 1 0
bi yi*
4 指派问题
解:
2 15 13 4 减最小元 10 4 14 15 行 C 9 14 16 13 7 8 11 9 0 6 0 0 0 6 最 小 元 列 减 0 0
B2
x12 x22 x32 x42
B3
x13 x23 x33 x43
B4
x14 x24 x34 x44
B5
x15 x25 x35 x45
x 1, j 1, 2 ,3 , 4 ,5 ij i 1 5 x ij 1, i 1, 2 ,3 , 4 ,5 j 1 x ij 0 或 1 i , j 1 , 2 , 3 , 4 , 5
4 指派问题
匈牙利法求解步骤 第一步:变换效率矩阵,将各行各列都减去当前各行、各列 中最小元素。 第二步:标记新矩阵的独立零元素。 1)行检验 对变换后的效率矩阵进行逐行检验,若某行只有 一个未标记的零元素时,用“*”将该零元素做标记,然后将被 标记的零元素所在的列的其它未标记的零元素用“×”将该零元 素标记。 2)列检验 与行检验过程类似,对进行了行检验的矩阵逐列 进行检验,对每列只有一个未被标记的零元素,用“*”将该零 元素做一标记,然后将该元素所在行的其他未被标记的零元素打 “×”将该零元素标记。重复上述列检验,直到每一列都没有未 被标记的零元素或有两个未被标记的零元素为止。
4 指派问题
这时可能出现以下三种情况: ①每一行均有标记“*”出现,“*”的个数m恰好等于n; ②存在未标记的零元素,但他们所在的行和列中,未标记过 的零元素均至少有两个; ③不存在未被标记过的零元素,“*”的个数m<n。 3)试指派 若情况①出现,则可进行试指派:令“*”记号的决策变量 取值为1,其他决策变量取值均为零,得到一个最优指派方案, 停止计算。 若情况②出现,则对每行、每列的其它未被标记的零元素任 选一个,加上标记“*”,即给该零元素标记“*”,然后给同行、 同列的其它未被标记的零元素加标记“×”,然后再进行行、列 检验,可能出现情况①或③,出现情况①就会得到最优指派,停 止计算。 若情况③出现,则要转入下一步。 第三步:作最少直线覆盖当前所有零元素。
X (2)
都是指派问题的最优解。
4 指派问题
4.3 指派问题的求解 指派问题既是一类特殊的整数规划问题,又是特殊的运输问 题,因此可以用多种相应的解法来求解,然而这些解法都没有充 分利用指派问题的特殊性质,有效地减少计算量,直到1955年库 恩(W. W. Kuhn)提出的匈牙利法才有效地解决了指派问题。 匈牙利法的理论基础 定义2 独立零元素组 在效率矩阵中,有一组在不同行不同 列的零元素,称为独立零元素组,其每个元素称为独立零元素。 5 0 2 0 2 3 0 0 C 【例4】 已知效率矩阵 0 5 6 7 4 8 0 0 求其独立零元素组。
Leabharlann Baidu
5 0 2 0 2 3 0 0 C 0 5 6 7 4 8 0 0 5 0 2 0 2 3 0 0 C 0 5 6 7 4 8 0 0 根据上述对效率矩阵中零元素的分析,将效率矩阵中出现的 独立零元素组中零元素所处的位置,在决策变量矩阵中令相应的 xij =1,其余的xij =0,就可找到指派问题的一个最优解,如例14。
4 指派问题
问题:在有的问题中效率矩阵中独立零元素的个数不够n个, 这样就无法求出最优指派方案,需作进一步的分析,首先给出下 述定理。 定理3 设指派问题的效率矩阵为C=[cij]n×n,若将该矩阵的 某一行(或某一列)的各个元素都减去同一常数k( k可正可负), 得到新的效率矩阵C’=[c’ij]n×n ,则以C’为效率矩阵的新的指派问 题与原指派问题的最优解相同。 推论 若将指派问题的效率矩阵每一行或每一列分别减去各 行或各列的最小元素,则得到新指派问题与原指派问题有相同的 最优解。 定理4 效率矩阵中独立零元素的最多个数等于能覆盖所有零 元素的最少直线数。
4 指派问题
解: 可行解{c12=0, c24 =0, c31 =0, c43 =0}是一个独立零元素组, c12=0, c24 =0, c31 =0, c43 =0分别称 为独立零元素; {c12=0, c23 =0, c31 =0, c44 =0}也 是一个独立零元素组,而{c14=0, c23 =0, c31 =0, c44 =0}就不是独立零元素 组.
4 指派问题
8 7 13 12 0 0 9 17 14 10 行减 0 9 12 8 7 最小元 7 14 6 10 0 9 12 10 6 0 1 0 0 1 0 3 0 0 9 0 8 0 1 7 0 7 1 3 0 0 0 0 列减 1 2 0 1 0 最小元 0 X 2 3 0 0 0 0 1 0 1 0 0 5 0 0 0 4 0 0 1 1 0 2 3 0 4 0 0 4 7 C 6 6 6 4 3 9 8 2 10 7 3 3 6 2 1 1 8 0 4 3 6 4 0 3 0 9 8 0 6 6 2 1 2 1 0 0 5 0 4 2 3 4 0
相关文档
最新文档