数据模型及决策考试复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据模型及决策考试各类题型复习资料
(仅限参考)
一、建立线性数据模型
1、设某厂有甲、乙、丙、丁四台机床,生产A 、B 、C 、D 、E 、F 六种产品,每种产品都要经过两种机床加工。
根据机床性能和以前的生产情况,知道制造每一单位产品机床所需工作时数,每台机床最大工作能力及每种产品的单价如表所示。
问在机床能力许可的条件下,每种产品各应生产多少,才能使这个工厂的生产总值达到最大?
解:设用x 1,x 2,…,x 6分别表示A ,B,…,F 六种产品的生产件数,则得到如下的线性规划模型:
max z=0.4x 1+0.28x 2+0.32x 3+0.72x 4+0.64x 5+0.6x 6
S.t. 0.01x 1+0.01x 2+0.01x 3+0.03x 4+0.03x 5+0.03x 6≤850 0.02x 1 +0.05x 4 ≤700 0.02x 2 +0.05x 5 ≤100 0.03x 3 +0.08x 6≤900
x j ≥0 , j=1,2, … ,6
2、某饲料公司用甲、乙两种原料配制饲料,甲乙两种原料的营养成份及配合饲料中所含各营养成份最低量由表1给出。
已知单位甲、乙原料的价格分别为10元和20元,求满足营养需要的饲料最小成本配方。
甲原料x 1
乙原料x 2
(营养成分单位/原料单位)(营养成分单位/原料
单位)钙1110蛋白质3115热量
1615
营养成分配合饲料的最
低含量
表1 甲、乙两原料营养成份含量及最低需要量
解:设配合饲料中,用甲x1单位,用乙x2单位,则配合饲料的原料成本函数,即决策的目标函数为Z=10x1+20x2。
考虑三种营养含量限制条件后,可得这一问题的线性规划模型如下:Min Z=10x1+20x2
x1+x2≥10
3x1+x2≥15
x1+6x2≥15
x1≥0 , x2≥0
3、某农户计划用12公顷耕地生产玉米,大豆和地瓜,可投入48个劳动日,资金360元。
生产玉米1公顷,需6个劳动日,资金36元,可获净收入200元;生产1公顷大豆,需6个劳动日,资金24元,可获净收入150元;生产1公顷地瓜需2个劳动日,资金18元,可获净收入1200元,问怎样安排才能使总的净收入最高。
解:设种玉米,大豆和地瓜的数量分别为x1、x2和x3公顷,根据问题建立线性规划问题模型如下:
Max Z=200 x1+150 x2+100 x3
x1+x2+x3≤12 (1)
6x1+6x2+2x3≤48 (2)
36x1+24x2+18x3≤360 (3)
x1≥0,x2≥0,x3≥0
4、某农户有耕地20公顷,可采用甲乙两种种植方式。
甲种植方式每公顷需投资280元,每公顷投工6个,可获收入1000元,乙方式每公顷需投资150元,劳动15个工日,可获收入1200元,该户共有可用资金4200元、240个劳动工日。
问如何安排甲乙两种方式的生产,可使总收入最大?
解:设甲方式种x1公顷,乙方式种x2公顷,总收入为Z,则有:
Max Z=1000x1+1200x2
280x1+150x2≤4200
6x1+15x2≤240
x1+x2≤20
x1≥0,x2≥0
5、生产计划问题:某厂计划内将安排生产I,II两种产品,已知生产单位重量的产品所需的设备为A及B、C两种原料的消耗如表1所示:
表5.1 生产设备和原料消耗表
生产单位重量的产品I 可获利2万,生产单位重量的产品II 可获利5万。
问:如何安排生产可使工厂获得的利润最多? 模型建立:
第一步,确定决策变量:要求的未知变量是I,II 两种产品的产量,用1x ,2x 分别表示它们;
第二步,确定目标函数:本问题的目标是使工厂获得的利润1225Z x x =+最大; 第三步,确定约束条件:在这个问题中,约束条件是设备及材料的限制,
设备A :1228x x +≤ 材料A :1624x ≤ 材料B :2515x ≤
则这一问题的线性规划模型为:
12max 25Z x x =+
s.t. ⎪⎪⎩⎪⎪⎨⎧≥≤≤≤+0
,15524682212121x x x x x x
6、合理下料问题:某厂生产过程中需要用长度分别为3.1米、2.5米和1.7米的同种棒料毛坯分别为200、100和300根,而现在只有一种长度为9米的原料,问应如何下料才能使废料最少?
解 解决下料问题的关键在于找出所有可能的下料方法(如果不能穷尽所有的方法,也应尽量多收集各种可能的下料方法),然后对这些方案进行最佳结合。
对给定的9米长的棒料进行分割,可以有9种切割方法,见表5.2所示。
表5.2 毛坯切割方案表
设用第i 种方法下料的总根数为i x ,则用掉的总根数为129x x x +++
废料总长度为:
123567890.3 1.10.90.8 1.50.6 1.40.5x x x x x x x x +++++++
约束条件为所需的零件毛坯数量:
1234522200x x x x x ++++= 134678232100x x x x x x +++++= 24578923235300x x x x x x +++++=
由此可得该问题的线性规划模型如下:
12356789min 0.3 1.10.90.8 1.50.6 1.40.5Z x x x x x x x x =+++++++
12345
134678
2457891292220023210023235300,,,0
x x x x x x x x x x x x x x x x x x x x ++++=⎧⎪+++++=⎪⎨
+++++=⎪⎪≥⎩ 由于用掉的总料长度为200 3.1100 2.5300 1.71380⨯+⨯+⨯=,则有废料长度=9⨯用料根数-1380。
7、合理配料问题:根据对77种食物所含的九种营养物:热量(糖与脂肪)、蛋白质、钙、铁、维生素A 、维生素BI 、维生素B2、草酸与维生素C 的成份及食物的市场价格调查,按照医生所提出的对每个人每天所需的营养要求,可得表 5.3
表5.3 食物营养成分表
问怎样采购食物才能在保证营养要求的前提下花费最省?这就是营养问题或饮食问题,配料问题就是由此而推广来的。
设每天购买甲,乙,丙,丁四种食物的数量分别为1234,,,x x x x ,即可列出如下的线性规划模型:
1234min 0.80.50.9 1.5Z x x x x =+++(总花费最省)
123412
3412
41234100015001750325040000.60.270.680.31..17.57.53030,,,0
x x x x x x x x s t x x x x x x x +++≥⎧⎪+++≥⎪⎨
++≥⎪⎪≥⎩ 二、运输问题
例题 某公司经销甲产品。
它下设三个加工厂。
每日的产量分别是:A 1为7吨,A 2为4吨,A 3为9吨。
该公司把这些产品分别运往四个销售点。
各销售点每日销量为:B 1为3吨,B 2为6吨,B 3为5吨,B 4为6吨。
已知从各工厂到各销售点的单位产品的运价为表5-3所示。
问该公司应如何调运产品,在满足各销售点的需要量的前提下,使总运费为最少。
销售点 加工厂
B 1 B 2 B 3 B 4 产 量 A 1 3 11 3 10 7 A 2 1 9 2 8 4 A 3 7 4 10 5 9 销 量
3
6
5
6
表 5-3 单位运价表
1. 启动程序,点击开始→程序→WinQSB → Network Modeling ,屏幕显示如图5-11所示的网络模型工作界面。
图5-11 网络模型的工作界面
2. 建立新问题或打开磁盘中已有的文件,按点击File →New Problem 或直接点击工具栏的按钮
建立新问题,屏幕上出现如图5-12所示的问题选项输入界面。
图5-12建立新运输问题
此处问题类型(Problem Type)共有7种:
⑴Network Flow 网络流问题
⑵Transportation Problem 运输问题
⑶Assignment Problem 指派问题
⑷Shortest Path Problem 最短路问题
⑸Maximal Flow Problem 最大流问题
⑹Minimal Spanning Tree 最小支撑树问题
⑺Travel Salesman Problem 旅行销售员问题(中国邮递员问题)
输入运输问题在此处应当选⑵Transportation Problem。
本例中有三个生产点(Number of Sources)和四个销售点(Number of Destinations),也在此处输入。
本例为求最小运费,所以在Objective Criterion(目标函数标准)中选择Minimization。
此外,数据输入格式Data Entry Format可以选择电子表格模式(Spreadsheet Matrix Form)与图形模式(Graphic Model Form)。
3. 输入数据。
在选择数据输入格式时,选择Spreadsheet Matrix Form则以电子表格矩阵形式输入单位运价系数矩阵和各地产量与销量,是固定格式,如表5-4所示。
表5-4电子表格矩阵形式输入数据
数据输入方法与其它规划问题输入数据时相同,请参看实验二的相应内容。
另外,数据输入后,如果需要修改、增减等处理,也可以实现,同样请参看实验二中的相关内容。
4. 求解模型。
点击菜单栏Solve and Analyze,下拉菜单有四个选项:
①直接求解(Solve the Problem)、
②用网络图形式求解并显示求解步骤(Solve and Display Steps-Network)、
③用表上作业法求解并显示求解步骤(Solve and Display Steps-Tableau)
④选择求初始解的方法(Select Initial Solution Method)。
本例可以先选择求初始解的方法,具体过程参看 5.4.2相关内容。
可以选择伏格尔法
(Vogel’s Approximation Method)来求解初始解。
点击OK后,即可进入下面的计算过程。
以下可以选择①、②、③三种方法来求解这个运输问题的最优解。
(1)直接求最优解。
选择Solve the Problem或直接点击工具栏上的,系统直接显示求解的综合报告如表5-5所示,表中的各项含义见常见术语表5-9。
表5-5 最优解综合报告表
本例得到最小运费支出为85,运输方案见表5-5。
(2)用网络图形式求解并显示求解步骤。
用网络图形式分步求解可以明确每一步的优化结果。
选择Solve and Analyze→Solve and Display Steps-Network,系统显示网络图形解题第一步的求解结果,如图5-13所示。
图5-13Graphic Solution—Iteration 1
继续选择Iteration→Next Iteration或点击工具栏,得到第二步的求解结果,如图5-14所示。
图5-14Graphic Solution—Iteration 2
虽然只进行了两步运算,但由于选择了伏格尔法寻找初始解,第二步显示的结果已是最终结果(Final)了,再次选择Iteration→Next Iteration或点击工具栏,即可得到表格式的求解结果,如表5-3所示。
(3)用表上作业法求解并显示求解步骤。
点击Solve and Analyze→Solve and Display Steps-Tableau,软件将用表上作业法求解问题。
第一步得到如图5-15的结果。
图5-15Transportation Tableau —Iteration 1
这里得到了一个目标函数值86,即运费,但它还不是最小运费,图5-15中显示了对
运量的调整,即将Source 2运到Destination 3的运量1转运到Destination 1,其周边运量也相应调整,运费还能下降。
继续选择Iteration→Next Iteration或点击工具栏,得到第二步的求解结果,如图5-16所示。
图5-16Transportation Tableau —Iteration 2
第二步显示的结果已是最终结果(Final)了,再次选择Iteration→Next Iteration或点击工具栏,即可得到表格式的求解结果,如表5-5所示。
至此,本运输问题求解完毕,最小运费为85。
1.用WinQSB软件求解下列运输问题的最优解:
①
销售点
B1B2B3B4产量
加工厂
A1 3 7 6 4 5
A2 2 4 3 2 2
A3 4 3 8 5 3 销量 3 3 2 2
销售点
B1B2B3B4B5 产量加工厂
A110 20 5 9 10 5 A2 2 10 8 30 6 6 A3 1 20 7 10 4 2 A4 8 6 3 7 5 9
销量 4 4 6 2 4
※运输问题的解法表上作业法
一、解题步骤
第1步:用西北角法或最小元素法确定初始基本可行解。
第2步:位势法求非基变量的检验数(解的最优性检验),若最优准则σij≥0,则当前解最优,计算停止,否则转第3步。
第3步:取一个检验数最小的非基变量做进基变量。
第4步:用闭回路法调整当前基本可行解,转第2步
1. 确定初始基本可行解(初始调运方案)
例某公司生产糖果,它有三个加工厂A1,A2,A3,每月产量分别为7t,6t,5t,6t。
已知从第i个加工厂到第j个销售店的每吨糖果的运价Cij见表,试设计在满足各销售店需求量的前提下,各加工厂到各销售店的每月调运方案,使总的运费最小。
运价表
A 西北角法
B 最小元素法
2.解的最优性判别(位势法,也称对偶变量法)
3.用闭回路法调整当前基可行解
二、表上作业法计算中的几个问题
1、某个基本可行解有几个非基变量的检验数为负
若运输问题的某个基可行解有几个非基变量的检验数均为负,在继续进行迭代时,取它们中的任一变量均可使目标函数值得到改善,但通常取σij<0中最小者对应的变量为换入变量。
2、无穷多个最优解
当迭代到运输问题的最优解时,如果有某非基变量的检验数=0,则说明该运输问题有无穷多最优解。
(如上例,为得到另一个最优解,只需让σij=0的非基变量进基)
3、退化问题
当运输问题某部分产地的产量和与另一部分销地的销量和相等时,在迭代过程中有可能在某个格填入一个运量时需同时划去运输表的一行和一列,这时就出现了退化。
在运输问题中,退化解是时常发生的,为了使表上作业法的迭代工作进行下去,退化解应在同时划去的一行或一列中的某个空格中填入数字0,表示这个格中的变量是取值为0的基变量,使迭代过程中基可行解的分量恰好为m+n-1个。
b.在用闭回路法调整当前基本可行解时,调整量θ的取值应为θ=min{x ij/( i,j )为闭回路上所有偶数号格点}。
这时可能出现有两个(或以上)偶数号格点的xij都相等且都为极小值,只能取其中一个为离基格,其余的仍作为基格,而在作运输量调整时,运输量与θ相等的那些偶数号格点的x ij都将调整为0,因此得到的也是一个退化了的基可行解。
三、总销量大于总产量
例1 某市有三个造纸厂A1,A2,A3,其纸产量分别为8,5,9个单位,有4个集中用户B1,B2,B3,B4,其需用量为4,3,5,6个单位,由各厂到各用户的单位运价如表所示,试确
定总运费最小的调运方案。
例2 较为复杂的产销不平衡问题
设有三个化肥厂供应四个地区的农用化肥,假设每个地区使用各厂的化肥效果相同,各化肥厂的年产量,各地区的需求量以及它们之间的单位运价如表,求总运费最少的化肥调运方案。
分析:
(1)这是一个产销不平衡的运输问题,总产量为160万吨,四个地区的最低需求为110万吨,最高需求为无限.
根据现有产量及Ⅰ,Ⅱ,Ⅲ地区的最低需求,第Iv个地区每年最多能分配到(50+60+50)-(30+70+0)=60万吨,这样四个地区的最高需求为50+70+30+60=210万吨,大于总产量.
(2)为了求得平衡,在产销平衡表中增加一个假想的化肥厂D,其年产量为210-160=50万吨.
(3)由于各地区的需要量包含两部分,最低需求和额外需求。
如地区Ⅰ,其中30万吨是最低需求,故不能由假想化肥厂D供给,令相应运价为M(任意大正数).而另一部分20万吨满足或不满足均可以,因此可以由假想化肥厂D供给,按前面讲的,令相应运价为0。
这样,凡是需求分两种情况的地区,实际上可按照两个地区看待.这样可以写出这个问题的产销平衡表(表3—26)和单位运价表(表3—27).
产销平衡表
单位运价表
两个表也可以合在一起写。
根据表上作业法计算,可以求得这个问题的最优方案如下:
应用举例
例1 某厂按合同规定须于当年每个季度末分别提供10,15,25,20台同一规格的柴油机.已知该厂各季度的生产能力及生产每台柴油机的成本如表所示.又如果生产出来的柴油机当季不交货的,每台每积压一个季度需储存、维护等费用0.15万元.要求在完成合同的情况下,做出使该厂全年生产(包括储存、维护)费用最小的决策.
解: 由于每个季度生产出来的柴油机不一定当季交货,所以设xij为第i季度生产的用于第j 季度交货的柴油机数.
根据合同要求,必须满足:
又每季度生产的用于当季和以后各季交货的柴油机数不可能超过该季度的生产能力,故又有:
第i季度生产的用于j季度交货的每台柴油机的实际成本Cij应该是该季度单位成本加上储存、维护等费用.Cij的具体数值见表
设用a i表示该厂第i季度的生产能力,bj表示第j季度的合同供应量,则问题可写成:
因为当j<i时,xij=0
所以当j<i时,取Cij=M,M为一个充分大的正数。
此外,由于是产量大于销量的不平衡问题,∴加上一个假想的需求D,就可以把问题变成产销平衡的运输模型,并写出产销平衡表和单位运价表(合在一起,如下)
经用表上作业法求解,可得多个最优方案,表3—32中列出最优方案之一.即第1季度生产25台,10台当季交货,15台Ⅱ季度交货;Ⅱ季度生产5台.用于Ⅲ季度交货;Ⅲ季度生产30台,其中20台于当季交货,10台于Ⅳ季度交货Ⅳ季度生产10台,于当季交货.按此方案生产,该厂总的生产(包括储存、维护)的费用为773万元.
例2 某航运公司承担六个港口城市A、B、C、D、E、F的四条固定航线的物资运输任务.已知(1)各条航线的起点、终点城市及每天航班数.(2)假定各条航线使用相同型号的船只,又已知各城市间的航程天数.(3)又知每条船只每次装卸货的时间各需1天。
问该航运公司至少应配备多少条船,才能满足所有航线的运输需求?
每天航班数表
各城市之间的航程天数
解:该公司所需配备船只分两部分:(1)载货航程需要的周转船只数。
例如航线l,在港口E装货1天,E—D航程l 7天,在D卸货1天,总计19天.每天3航班,故该航线周转船只需57条.各条航线周转所需船只数见表.以上累计共需周转船只数91条.
(2)各港口间调度所需船只数.有些港口每天到达船数多于需要船数.例如港口D,每天到达3条,需求1条;而有些港口到达数少于需求数,例如港口B.各港口每天余缺船只数的计算见表.
为使配备船只数最少,应做到周转的空船数为最少.因此建立以下运输问题,其产销平衡表见表.
单位运价表应为相应各港口之间的船只航程天数,见表
用表上作业法求出空船的最优调度方案见表
另一最优解为x CA=1,x CE=1,x DB=1,x DE=1,x FE=1
按这两个方案掉运船只,解得Z=40,说明各港口之间调度所需船只至少为40艘。
综合以上两方面的要求,在不考虑维修、储备等情况下,该公司至少配备131条船,才能满足4条航线正常运输的需要。
练习题:
1、求解下表所示的运输问题,分别用最小元素法、西北角法和伏格尔法给出初始基可
B1B2B3B4供应量
A1(10)(6)(7)(12) 4
A2(16)(10)(5)(9)9
A3(5)(4)(10)(10) 5
需要量 5 3 4 6 18
2、由产地发向销地的单位费用如下表,产地允许存贮,销地允许缺货,存
B1B2供应量存贮费/件
A18 5 400 3
A2 6 9 300 4
需要量200 350
缺货费/件 2 5
3
A B 供应量
X 100(6)(4)100
Y 30(5)50(8)80
Z (2)60(7)60
需要量130 110 240
(1)若要总运费最少,该方案是否为最优方案?
(2)若产地Z的供应量改为100,求最优方案。
(1)求最优运输方案,该最优方案有何特征?
(2)当A1的供应量和B3的需求量各增加2时,结果又怎样?
5、某玩具公司分别生产三种新型玩具,每月可供量分别为1000、2000、2000件,它们分别被送到甲、乙、丙三个百货商店销售。
已知每月百货商店各类玩具预期销售量均为1500件,由于经营方面原因,各商店销售不同玩具的盈利额不同,见下表。
又知丙百货商店要求至少供应C玩具1000件,而拒绝进A玩具。
求满足上述条件下使总盈利额最大的供销分配方案。
甲乙丙可供量
A 5 4 -1000
B 16 8 9 2000
C 12 10 11 2000
6、目前,城市大学能存贮200个文件在硬盘上,100个文件在计算机存贮器上,300个文件在磁带上。
用户想存贮300个字处理文件,100个源程序文件,100个数据文件。
每月,一个典型的字处理文件被访问8次,一个典型的源程序文件被访问4次,一个典型的数据文件被访问2次。
当某文件被访问时,重新找到该文件所需的时间取决于文件类型和存贮介质,如下表。
时间(分钟)处理文件源程序文件数据文件
硬盘 5 4 4
存贮器 2 1 1
磁带10 8 6
如果目标是极小化每月用户访问所需文件所花的时间,请构造一个运输问题的模型来决定文件应该怎么存放并求解。
7、已知下列五名运动员各种姿势的游泳成绩(各为50米)如表5-2:试用运输问题的方法来决定如何从中选拔一个参加200混合泳的接力队,使预期比赛成绩为最好。
(1)写出a,b,c,d,e的值,并求出最优运输方案;
(2)A3到B1的单位运费满足什么条件时,表中运输方案为最优方案。
9、甲、乙两个煤矿分别生产煤500万吨,供应A、B、C三个电厂发电需要,各电厂用量分别为300、300、400万吨。
已知煤矿之间、煤矿与电厂之间以及各电厂之间相互距离(单位:公里)如下列三个表所示。
又煤可以直接运达,也可经转运抵达,试确定从煤矿到各电厂间煤的最优调运方案(最小总吨公里数)。
从到甲乙从到 A B C 从到 A B C
甲0 120 甲150 120 80 A 0 70 100
乙100 0 乙60 160 40 B 50 0 120
C 100 150 0
三、指派问题
例题有一份中文说明书,需译成英、日、德、俄四种文字。
分别记作E、J、G、R。
现有甲、乙、丙、丁四人。
他们将中文说明书翻译成不同语种的说明书所需时间如表5-6所示。
问应指派何人去完成何工作,使所需总时间为最少?
任务
E J G R
人员
甲 2 15 13 4
乙10 4 14 15
丙9 14 16 13
丁7 8 11 9
表5-6
1. 启动程序,点击开始→程序→WinQSB→Network Modeling,屏幕显示如图5-11所示的网络模型工作界面。
2. 建立新问题或打开磁盘中已有的文件,按点击File→New Problem或直接点击工具栏的按钮建立新问题,屏幕上出现如图5-17所示的问题选项输入界面。
图5-17建立新指派问题
输入指派问题在此处应当选Assignment Problem。
本例中有四项任务(Number of Objects)和四个翻译(Number of Assignments),也在此处输入。
本例为求最少翻译时间,所以在Objective Criterion(目标函数标准)中选择Minimization。
此外,数据输入格式Data Entry Format可以选择电子表格模式(Spreadsheet Matrix Form)与图形模式(Graphic Model Form)。
3. 输入数据。
在选择数据输入格式时,选择Spreadsheet Matrix Form则以电子表格矩阵形式输入各人翻译成不同语种的说明书所需的时间,如表5-7所示。
表5-7电子表格形式输入指派问题数据
4. 求解模型。
点击菜单栏Solve and Analyze,下拉菜单有四个选项:
①直接求解(Solve the Problem)、
②用网络图形式求解并显示求解步骤(Solve and Display Steps-Network)、
③用表上作业法求解并显示求解步骤(Solve and Display Steps-Tableau)
④选择求初始解的方法(Select Initial Solution Method)。
以下可以选择①、②、③三种方法来求解这个运输问题的最优解。
(1)直接求最优解。
选择Solve the Problem或直接点击工具栏上的,系统直接显示求解的综合报告如表5-8所示,表中的各项含义见常见术语表5-9。
表5-8 指派问题最优解综合报告表
本例得到最少花费时间为28,具体指派方案见表5-8。
(2)用网络图形式求解并显示求解步骤。
用网络图形式分步求解可以明确每一步的优化结果。
选择Solve and Analyze Solve and Display Steps-Network,系统显示网络图形解题第一步的求解结果,如图5-18所示。
图5-18Graphic Solution—Iteration 1
继续选择Iteration→Next Iteration或点击工具栏,得到第二步的求解结果,如图5-19所示。
图5-19Graphic Solution—Iteration 2
此时,第二步显示的结果已是最终结果(Final)了,再次选择Iteration→Next Iteration 或点击工具栏,即可得到表格式的求解结果,如表5-8所示。
(3)用表上作业法求解并显示求解步骤。
具体方法与运输例题基本一致,此处略。
2.用WinQSB软件求解下列指派问题:
①四个工人指派四项工作,下表为每人做各项工作所消耗的时间,问应如何分配,
才能使总的消耗时间为最少。
工种
A B C D
工人
甲15 18 21 24
乙19 23 22 18
丙26 17 16 19
丁19 21 23 17
② 有5人去做5项工作,每人做各项工作的能力评分见下表。
应如何分派,才能使总的得分为最大?
※ 指派问题的匈牙利解法
1、把各行元素分别减去本行元素的最小值;然后在此基础上再把每列元素减去本列中的最小值。
⎪⎪⎪⎪⎪⎪
⎭
⎫ ⎝⎛⇒⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛0 4 3 2 04 0 5 0 01 2 3 2 03 7 7 1 08 11 0 3 06 10 12 9 610
6 14
7 67
8 12
9 610
14 17 9 712 15
7 8 4
此时每行及每列中肯定都有0元素了。
2、 确定独立零元素,并作标记。
(1)、首先逐行判断是否有含有独立0元素的行,如果有,则按行继续处理;如没有,则要逐列判断是否有含有独立0元素的列,若有,则按列继续处理。
若既没有含有独立0元素的行,也没有含有独立0元素的列,则仍然按行继续处理。
(2)在按行处理时,若某行有独立0元素,把该0元素标记为a ,把该0所在的列中的其余0元素标记为b ;否则,暂时越过本行,处理后面的行。
把所有含有独立0元素的行处理完毕后,再回来处理含有2个以及2个以上的0元素的行:任选一个0做a 标记,再把该0所在行中的其余0元素及所在列中的其余0元素都标记为b 。
(3)在按列处理时,若某列有独立0元素,把该0元素标记为a ,把该0所在的行中的其余0元素标记为b ;否则,暂时越过本列,处理后面的列。
把所有含有独立0元素的列处理完毕后,再回来处理含有2个以及2个以上的0元素的列:任选一个0做a 标记,再把该0所在列中的其余0元素及所在行中的其余0元素都标记为b 。
(4)、重复上述过程,即得到独立零元素(标记a 的“0”)
⎪
⎪⎪⎪⎪⎪
⎭⎫ ⎝⎛a b b a b b a 0
4 3 2 04 0
5 0 01 2 3 2 03
7 7 1 08 11 0 3 0a b 3、 若独立零元素等于矩阵阶数,则已经得到最优解,若小于矩阵阶数,则继续以下步骤:
(1)、对没有标记a 的行作标记c
(2)、在已作标记c 的行中,对标记b 所在列作标记c (3)、在已作标记c 的列中,对标记a 所在的行作标记c (4)、对没有标记c 的行划线,对有标记c 的列划线
4、 在未被直线覆盖的所有元素中找出一个最小元素(Xmin ),未被直线覆盖的行(或列)
中所有元素都减去这个数。
(注:若未被直线覆盖部分是行数<列数,则是按行减,反之则按列)。
⎪⎪⎪
⎪⎪⎪
⎭
⎫
⎝⎛--04320405000121126601811030
5、 这样必然出现负元素,所以对负元素所在列(或行)中各元素都加上这一最小元素(Xmin )
以消除负数。
这样,再返回步骤2,确定独立零元素个数。
重复上述操作,直到找出最优解。
特殊问题:
1、 若人数和工作数不等,则用“0”来补全空位
2、 若一个人可作几件事,则可化为相同的“几个人”来接受指派,费用系数相同。
练习题:
1、用匈牙利法求解如下效率矩阵的指派问题
7 9 10 12 13 12 16 17 15 16 14 15 11 12 15 16
2、分配甲、乙、丙、丁四人去完成五项任务。
每人完成各项任务时间如下表所示。
由于任务数多于人数,故规定其中有一个人可兼完成两项任务,其余三人每人完成一项。
试确定
⎪⎪⎪⎪
⎪⎪⎪⎭
⎫ ⎝⎛0 4 3 2 14 0 5 0 1 0 1 2 1 02 6 6 0 0
8 11 0 3 0/ / / \/
⎪⎪
⎪⎪⎪⎪⎭⎫ ⎝⎛04320405001232037710811030 /
/ / /
/
\/
\/
总花费时间为最少的指派方案。
人任务 A B C D E
甲25 29 31 42 37
乙39 38 26 20 33
丙34 27 28 40 32
丁24 42 36 23 45
3、已知下列五人各种姿势的游泳成绩(各为50米),试问如何进行指派,从中选拔一个参加200米混合泳的接力队,使预期比赛成绩为最好。
赵钱张王周
仰泳37.7 32.9 33.8 37.0 35.4
蛙泳43.4 33.1 42.2 34.7 41.8
蝶泳33.3 28.5 38.9 30.4 33.6
自由泳29.2 26.4 29.6 28.5 31.1
四、最大流问题
例题:设容量网络D具有二个供应量皆为20(吨)的发点s1与s2,具有二个需求量分别为15、20的收点n1与n2。
其上的容量函数如图7所示;试求D的最大流网络。
图7 具有二个发点和二个收点容量网络D
解:(1)增设一个总发点s,并置c s,s1=20,c s,s2=20;同时增设一个总收点n,并置c n1,n=15,C n2,n=20。
把D化为一个只有一个发点和一个收点的标准容量网络D1,如图8所示。