运筹学指派问题课件

上传人:29 文档编号:242523318 上传时间:2024-08-26 格式:PPT 页数:19 大小:182.86KB
返回 下载 相关 举报
运筹学指派问题课件_第1页
第1页 / 共19页
运筹学指派问题课件_第2页
第2页 / 共19页
运筹学指派问题课件_第3页
第3页 / 共19页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第五节 指派问题(Assignment Problem),1.,标准指派问题的提法及模型,指派问题的标准形式是:有n个人和n件事,已知第i个人做第j件事的费用为c,ij,(i,j=1,2,n),要求确定人和事之间的一一对应的指派方案,使完成这n件事的总费用最小。,数学模型为:,若指派第i个人做第j件事,若不指派第i个人做第j件事,(i,j=1,2, n),设n,2,个0-1变量,第五节 指派问题(Assignment Problem),1,其中矩阵C称为是,效率矩阵或系数矩阵,。,其解的形式可用0-1矩阵的形式来描述,即 (x,ij,),n,n,。,标准的指派问题是一类特殊的整数规划问题,又是特殊的0-1规划问题和特殊的运输问题。1955年W. W. Kuhn利用匈牙利数学家D. Konig关于矩阵中独立零元素的定理, 提出了解指派问题的一种算法, 习惯上称之为匈牙利解法。,2. 匈牙利解法,匈牙利解法的关键是指派问题最优解的以下性质:,若从指派问题的系数矩阵C=(c,ij,)的某行(或某列)各元素分别减去一个常数k,得到一个新的矩阵C=(c,ij,),则以C和C为系数矩阵的两个指派问题有相同的最优解。,(这种变化不影响约束方程组,而只是使目标函数值减少了常数k,所以,最优解并不改变。),对于指派问题,由于系数矩阵均非负,故若能在在系数矩阵中找到n个位于不同行和不同列的零元素(,独立的0元素,),则对应的指派方案总费用为零,从而一定是最优的。,作变换,其不变性是最优解,其中矩阵C称为是效率矩阵或系数矩阵。作变换,其不变性是最优解,2,匈牙利法,的步骤如下:,步1:变换系数矩阵。对系数矩阵中的每行元素分别减去该行的最小元素;再对系数矩阵中的每列元素分别减去该列中的最小元素。若某行或某列已有0元素,就不必再减了(不能出现负元素)。,匈牙利法的步骤如下:,3,步2:在变换后的系数矩阵中确定独立0元素(试指派)。若独立0元素已有n个,则已得出最优解;若独立0元素的个数少于n个,转步3。,确定独立0元素的方法:当n较小时,可用观察法、或试探法;当n较大时,可按下列顺序进行,从只有一个0元素的行(列)开始,给这个0元素加圈,记作,,然后划去所在的列(行)的其它0元素,记作,。,给只有一个0元素的列(行)的0加圈,记作,,然后划去所在行的0元素,记作,。,反复进行,直到系数矩阵中的所有0元素都被圈去或划去为止。,如遇到行或列中0元素都不只一个(存在0元素的闭回路),可任选其中一个0元素加圈,同时划去同行和同列中的其它0元素。被划圈的0元素即是独立的0元素。,步2:在变换后的系数矩阵中确定独立0元素(试指,4,步3:作最少数目的直线,覆盖所有0元素(目的是确定系数矩阵的下一个变换),可按下述方法进行,1) 对没有,的行打“”号;,2) 在已打“”号的行中,对, 所在列打,“”,3)在已打,“”号的列中,对所在的行打“”号;,4)重复2)3),直到再也找不到可以打“”号的行或列为止;,5)对没有打“”的行划一横线,对打“”的列划一纵线,这样就得到覆盖所有0元素的最少直线数。,步3:作最少数目的直线,覆盖所有0元素(目的是确定系数矩阵的,5,步4:继续变换系数矩阵,目的是增加独立0元素的个数。方法是在未被直线覆盖的元素中找出一个最小元素,然后在打“”行各元素中都减去这一元素,而在打“”列的各元素都加上这一最小元素,以保持原来0元素不变(为了消除负元素)。得到新的系数矩阵,返回步2。,以例说明匈牙利法的应用。,例1,:,求解效率矩阵为如下的指派问题的最优指派方案。,步4:继续变换系数矩阵,目的是增加独立0元素,6,解:第一步:系数矩阵的变换(目的是得到某行或列均有0元素),第二步:确定独立0元素,元素的个数m=4,而n=5,进行第三步。,解:第一步:系数矩阵的变换(目的是得到某行或列均有0元素)第,7,第三步:作最少的直线覆盖所有的0元素,,目的是确定系数矩阵的下一个变换。,第四步:对上述矩阵进行变换,目的是增加独立0元素的个数。,方法是在未被直线覆盖的元素中找出一个最小元素,然后在打“”行各元素中都减去这一元素,而在打“”列的各元素都加上这一最小元素,以保持原来0元素不变(消除负元素)。得到新的系数矩阵。(它的最优解和原问题相同,为什么?),第三步:作最少的直线覆盖所有的0元素,目的是确定系数矩阵的下,8,由解矩阵可得指派方案和最优值为32。,由解矩阵可得指派方案和最优值为32。,9,例2 某大型工程有五个工程项目,决定向社会公开招标,有五家建筑能力相当的建筑公司分别获得中标承建。已知建筑公司A,i,(I=1,2,3,4,5)的报价c,ij,(百万元)见表,问该部门应该怎样分配建造任务,才能使总的建造费用最小?,例2 某大型工程有五个工程项目,决定向社会,10,运筹学指派问题课件,11,解:第一步:系数矩阵的变换(目的是得到某行或列均有0元素),第二步:确定独立0元素, 即加圈,元素的个数m=4,而n=5,进行第三步。,解:第一步:系数矩阵的变换(目的是得到某行或列均有0元素)第,12,第三步:作最少的直线覆盖所有的0元素,,目的是确定系数矩阵的下一个变换。,第四步:对上述矩阵进行变换,目的是增加独立0元素个数。,方法是在未被直线覆盖的元素中找出一个最小元素,然后在打“”行各元素中都减去这一元素,而在打“”列的各元素都加上这一最小元素,以保持原来0元素不变(消除负元素)。得到新的系数矩阵。(它的最优解和原问题相同,为什么?因为仅在目标函数系数中进行操作),第三步:作最少的直线覆盖所有的0元素,目的是确定系数矩阵的下,13,运筹学指派问题课件,14,此矩阵中已有5个独立的0元素,故可得指派问题的最优指派方案为:,也就是说,最优指派方案为:让A1承建B3, A2承建B2,A3承建B1,A4承建B4,A5承建B5。这样安排建造费用为最小,即,7+9+6+6+6=34(百万元),此矩阵中已有5个独立的0元素,故可得指派问题的最优指派方案为,15,3. 一般的指派问题,在实际应用中,常会遇到各种非标准形式的指派问题。通常的处理方法是先将它们转化为标准形式,然后用匈牙利解法求解。,最大化指派问题,设最大化指派问题系数矩阵C中最大元素为m。令矩阵B=(b,ij,)=(m-c,ij,), 则以B为系数矩阵的最小化指派问题和以C为系数矩阵的原最大化指派问题有相同的最优解。,人数和事数不等的指派问题,若人少事多,则添上一些虚拟的“人”。这些虚拟的人作各事的费用系数可取0,理解为这些费用实际上不会发生。若人多事少,则添上一些虚拟的“事”。这些虚拟的事被各人做的费用系数同样也取0。,一个人可做几件事的指派问题,若某个人可做几件事,则可将该人看做相同的几个人来接受指派。这几个人作同一件事的费用系数当然都一样。,某事一定不能由某人作的指派问题,若某事一定不能由某个人做,则可将相应的费用系数取做足够大的数M。,3. 一般的指派问题,16,例3:对于例2的指派问题,为了保证工程质量,经研究决定,舍弃建筑公司A4和A5,而让技术力量较强的建设公司A1,A2,A3参加招标承建,根据实际情况,可允许每家建设公司承建一项或二项工程。求使总费用最少的指派方案。,解:由于每家建筑公司最多可以承建两项,因此可把每家建筑公司看成两家建筑公司,其系数矩阵为,例3:对于例2的指派问题,为了保证工程质量,,17,上面的系数矩阵有6行5列,为了使“人”和“事”的数目相同,引入一件虚拟的事B6,使之成为标准指派问题的系数矩阵:,上面的系数矩阵有6行5列,为了使“人”和“事”的数目相同,引,18,然后,用匈牙利解法求解。可得费用最省为4+7+9+8+7=35(百万元),然后,用匈牙利解法求解。可得费用最省为4+7+9+8+7=3,19,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!