运筹学-指派问题课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《运筹学-指派问题课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运筹学 指派 问题 课件
- 资源描述:
-
1、第四节第四节 指指 派派 问问 题题 assignment problem 在生活中经常遇到这样的问题,某在生活中经常遇到这样的问题,某单位需完成单位需完成n n项任务,恰好有项任务,恰好有n n个人可承个人可承担这些任务。由于每人的专长不同,各担这些任务。由于每人的专长不同,各人完成任务不同人完成任务不同(或所费时间或所费时间),效率也,效率也不同。于是产生应指派哪个人去完成哪不同。于是产生应指派哪个人去完成哪项任务,使完成项任务,使完成n n项任务的总效率最高项任务的总效率最高(或所需总时间最小或所需总时间最小)。这类问题称为指。这类问题称为指派问题或分派问题。派问题或分派问题。例例1 1
2、 有一份中文说明书,需译成英、日、德、有一份中文说明书,需译成英、日、德、俄四种文字。分别记作俄四种文字。分别记作E E、J J、G G、R R。现有甲、乙、。现有甲、乙、丙、丁四人。他们将中文说明书翻译成不同语种丙、丁四人。他们将中文说明书翻译成不同语种的说明书所需时间如表的说明书所需时间如表1 1所示。问应指派何人去所示。问应指派何人去完成何工作,使所需总时间最少完成何工作,使所需总时间最少?表1任务人员 E J G R 甲 乙 丙 丁 2 10 9 7 15 4 14 8 13 14 16 11 4 15 13 9 耗时 类似有:有类似有:有n n项加工任务,怎样指派到项加工任务,怎样指
3、派到n n台机床上分别完成的问题;有台机床上分别完成的问题;有n n条航线,怎样条航线,怎样指定指定n n艘船去航行问题艘船去航行问题。对应每个指派问。对应每个指派问题,需有类似表题,需有类似表1 1那样的数表,称为效率矩阵那样的数表,称为效率矩阵或,其元素或,其元素c cijij0(i,j=1,20(i,j=1,2,n n)表示指派表示指派第第i i人去完成第人去完成第j j项任务时的效率项任务时的效率(或时间、成或时间、成本等本等)。解题时需引入变量。解题时需引入变量x xijij;其取值只能;其取值只能是是1 1或或0 0。并令。并令 项任务人去完成第当不指派第项任务人去完成第当指派第j
4、ijixij,0,1当问题要求极小化时数学模型是:当问题要求极小化时数学模型是:1111min1,1,2,1,1,2,10nnijijijnijinijjijzc xxjnxinx目目标标函函数数约约束束条条件件或或()表 示 每 人 仅 做 一 件 事 情(表示一项工作只能由一个人完成)(xij)是nn矩阵,对应于效率矩阵(cij).111111jniijinnnjnnxxxxxxxxx11,1,2,nijixjn表明各行之和为1。11,1,2,nijjxin表明各列之和为1。满足约束条件的可行解xij构成的可行解矩阵,矩阵中有n个为1,其余都为0,而且这这n个个1必位于矩阵的不必位于矩阵的
5、不同行不同列上。同行不同列上。对应于可行解xij的目标值是这n个cij之和.可行解矩阵可行解矩阵工作工作人人显然,解矩阵(xij)中各行各列的元素之和都是1,但这不是最优。如例1的一个可行解矩阵01000010()10000001ijx E J G R 指派问题是0-1规划的特例,当然可用整数线性规划、0-1规划的解法去求解,但可以利用指派问题的特点设计更简便的解法,下面介绍匈牙利法。定理定理1 设()ijn nBb是效率矩阵,若可行解x*的n个1(在解矩阵的不同行不同列上)对应的n个bij都为0,则x*是最优解.(显然z(x*)=0)因此需对效率矩阵作变换,使变换后效率矩阵()ijn nb含
6、有含有n个不同行不同列个个不同行不同列个0.由此求得最优解矩阵的n个1是对应于效率矩阵的这n个0.如效率矩阵为0*14939200*23230*38012140*令,10000010()01000001ijx则xij是最优解11minnnijijijzb x定理定理2 2 设给定了以C=(cij)为效率矩阵指派问题G,现将C的元素cij 改变为则以B=()为效率矩阵指派问题G与G有相同的最优解。指派问题的最优解有这样性质,若从效率矩阵(cij)的一行(列)各元素中分别减去该行(列)的最小元素,得到新矩阵(bij),那么以(bij)为效率矩阵求得的最优解和用原效率矩阵求得的最优解相同。即,iji
7、jijijbc与为常数ijb证:首先效率矩阵的这种变化只是目标值在变换,并不影响约束方程组,其次用z和 z分别记问题G与G的目标函数值,则()ijijijijijijijijijiijjijijijjiijijzb xcxc xxxz即z和 z只相差一个常数,故它们有相同的最优解.利用这个性质,可使原效率矩阵变换变换为含有很多0元素的新效率矩阵,而最优解保持不变,在效率矩阵(bij)中,我们关心位于不同行不同列的0元素,以下简称为独立的0元素。若能在效率矩阵(bij)中找出n个独立的0元素;则令解矩阵(xij)中对应这n个独立的0元素的元素取值为1,其他元素取值为0。将其代入目标函数中得到 ,
8、它一定是最小。这就是以(bij)为效率矩阵的指派问题的最优解。也就得到了原问题的最优解。0ijijijzb x 以下用例1来说明指派问题的解法。第一步:使指派问题的效率矩阵经变换,在各行各列中都出现0元素。(1)从效率矩阵的每行元素减去该行的最小元素;(2)再从所得效率矩阵的每列元素中减去该列的最小元素。若某行(列)已有0元素,那就不必再减了。例1的计算为min215134210414154()9141613978119701311201370*60101160*69()05740*5320142010*042minijijcb行例如列行列都有零元素最优解为最优解为00010100()1000
9、0010ijx定理定理3 若矩阵C可分成”0”与非”0”两部分,则覆盖”0”元素的最少直线最少直线等于位于不同行不同列的”0”元素的最大个数最大个数.如50*202230*000*105729800*406365覆盖”0”元素的最少直线为4条,位于不同行不同列的”0”元素的最大个数也为4.01370606905320100()ijb再如例1直线数位于不同行不同列的”0”元素的最大个数也为4.第二步第二步:做能覆盖所有零元素的最少数目的直线集合。此时,若直线数等于 n ,则已可得出最优解。否则,转第三步。第三步第三步:变换效率矩阵,使未被直线覆盖的元素中出现零元素。回到第二步。在未被直线覆盖的元
10、素中总有一个最小元素。对未被直线覆盖的元素所在的行(或行)中各元素都减去这一最小元素,这样,在未被直线覆盖的元素中势必会出现零元素,但同时却又使已被直线覆盖的元素中出现负元素。为了消除负元素,只要对它们所在的列(或行)中各元素都加上这一最小元素(可以看作减去这一最小元素的相反数)即可。50*202230*000*105729800*406365如-2-250*202230*00283509800*424143+270*202430*0008350*11800*40*4143第四步:进行指派,寻求最优解。需找出n个独立的0元素。若能找出,就以这些独立0元素对应解矩阵(xij)中的元素为1,其余为
11、0,这就得到最优解。当n较小时,可用观察法去找出n个独立0元素。若n较大时,就必须按一定的步骤去找,常用的步骤为:(1)从只有一个0元素的行(列)开始,给这个0元素加圈,记作。这表示对这行所代表的人只有一种任务可指派。然后划去所在列(行)的其他0元素,记作。这表示这列所代表的任务已指派完,不必再考虑别人了。如此反复进行,直到所有0元素都被圈出和划掉为止。(2)若遇到同行(列)的0元素至少有两个(表示可以从两项任务中指派其一),可以任选一行(列)中某一个0元素,再划去同行(列)的其他0元素。现用例1的(bij)矩阵,按上述步骤进行运算。先给b22加圈,然后给b31加圈,划掉b11,b41;给b4
12、3加圈,划掉b44,最后给b14加圈,得到 01370606905320100()ijb137669532101370*60*690*532010*0所以得最优解为00010100()10000010ijx这表示:指定甲译出俄文,乙译出日文,丙译出英文,丁译出德文。所需总时间最少31224314028minminijijijijijijzb xzc xcccc E J GR甲乙丙丁(小时)2151341041415()914161378119ijc例例2 某商业公司设计开办五家新闻商店 。为了尽早建成营业,商业公司通知了 五个建筑公司,以便让每家新商店由一个建筑公司承建。建筑公司 对新商店 的
13、建造费用的投标为 均见表。商业公司应当对五家建筑公司 怎样分配建造任务,才能使总建造费用最少?54321,BBBBB54321,AAAAAiAjBijc2A3A4A5A 487151279171410691287671461069121061B2B3B4B5B1AijcjBiA解:这是一个标准的指派问题。若设0-1变量 则问题的数学模型为 )5,4,3,2,1,(,0,1jiBABAxjijiij时不承建当时承建当5,4,3,2,11015,4,3,2,11.61084min515155541211ixxjxtsxxxxzijjijiij或(一个商店只能由一个公司承建)(一个公司只能建造一个商
展开阅读全文