指派模型【数学建模】.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指派模型 宋海洲 一:指派问题 设有n个人被分配去做n件工作,规定每个人只做一件工作,每件工作只由一个人做。已知第i个人做第j件工作的效率(时间或费用)为 ,并假设 。 ?问:应如何分配才能使总效率(总时间或总费用)最高? 引进变量 设 建立模型 分析 这是线性规划模型; 也是整数规划模型;0-1规划模型; 更是运输模型。 共有n*n个变量,实际上只需找n个变量为1即可,因此这是高度退化的线性规划模型。 例1 设有5个人被分配去做5件工作,规定每个人只做一件工作,每件工作只由一个人做。已知第i个人做第j件工作的费用如下表所示。问:应如何分配工作才能使总费用最省? 二:匈牙利法 定义:指派问题的效益矩阵: 效益矩阵的性质 定理1:从效益矩阵C的第k行(或第k列)的每一个元素中减去一个常数a得到的矩阵C’所表示的指派问题具有相同的最优解。( C’称缩减效益矩阵) 定义:如果这些0元素分布在效益矩阵的不同的行和不同的列上,则称这些0元素为独立的0元素。 定理2:若方阵的一部分元素为0,一部分元素不为0,则覆盖方阵内所有0元素的最少直线数,等于矩阵中独立的0元素的最多个数(匈牙利:konig) 积和式 定义: 积和式的性质 按行展开性; 转置不变性; 换行不变性; 倍法变换增倍性; 单行可加性; Laplace法则。 补矩阵 定义: 匈牙利法解指派模型算法 第一步:将原指派问题的效益矩阵C进行变换得矩阵CC,使得CC的各行各列均出现0元素,其方法是: (1)从效益矩阵C的每行元素减去该行最小元素; (2)在从所得的效益矩阵的每列元素减去该列最小元素。 第二步:计算CC的补矩阵D,计算D的积和式per(D)。 判断per(D)是否不等于0,如果per(D)不等于0,转第五步; 如果per(D)等于0,转第三步。 第三步: (1)在CC中找0元素最少的一排(行或列),选中其中一个0,记为0,将该0所在的行及列划去。 (2)对上述划去一行及一列的矩阵,重复(1)的做法。 ……. 一共得到m个0 。(m<n) 记下这m个0 所在的行号i1,i2,…,im及列号j1,j2,…,jm. (则CC所有的0或0必在i1,i2,…,im行中或在j1,j2,…,jm中) (3)①:在 CC中找出不在i1,i2,…,im行的0,记下他们的列号r1,r2,…;并将这些列划竖线; ②:在划去竖线的CC中找出不含0的列的0,记下他们的行号s1,s2,…;并将这些列划横线; 重复① ②,则这些直线构成覆盖方阵CC内所有零元素的最少直线。 第四步:调整CC ,使之增加一些0,为此按如下方法进行: (1)在没有直线覆盖的元素中,找出最小元素x; (2)在未划线的行减去最小元素x; (3)在划线的列加上最小元素x; 得到新的CC,返回第二步。 第五步: (1)在CC中找0元素最少的一排(行或列),选中其中一个0,记为0,将该0所在的行及列划去。 (2)对上述划去一行及一列的矩阵,重复(1)的做法。 ……. 一共得到n个0 。 (3)将n个0 所在位置对应的变量赋“1”,其他变量赋“0”,得到最优解。 例2:用匈牙利法求解例1 第一步:将原指派问题的效益矩阵C进行变换 第二步:计算CC的补矩阵D,计算D的积和式per(D)。 第三步: (1)在CC中找0元素最少的一排(行或列),选中其中一个0,记为0,将该0所在的行及列划去。 (2)对上述划去一行及一列的矩阵,重复(1)的做法。 …….。一共得到4个0 。(4<n=5) 记下这4个0 所在的行号1,2,3,5。 (3)在 CC中找出不在1,2,3,5行的0(不是0 )的列号2,并将第2列划竖线,在CC划去竖线后剩下的0划横线;则这些直线构成覆盖方阵CC内所有零元素的最少直线:(下一页) 第四步:调整CC ,使之增加一些0,为此按如下方法进行: (1)在没有直线覆盖的元素中,找出最小元素x=1; (2)在未划线的行减去最小元素x; (3)在划线的列加上最小元素x; 得到新的CC,返回第二步。 返回第二步:计算CC的补矩阵D,计算D的积和式per(D)=0。再进行第三步得: 返回第四步:调整CC ,使之增加一些0,为此按如下方法进行: (1)在没有直线覆盖的元素中,找出最小元素x=1; (2)在未划线的行减去最小元素x; (3)在划线的列加上最小元素x; 得到新的CC, 返回第二步,此时per(D)~=0,转第五步得: 三:极大指派问题 模型: 令Cij’=maxCij-Cij,则模型等价为: 四:不平衡指派问题 令 令 模型转化为: * *

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档