指派模型【数学建模】
- 格式:doc
- 大小:26.00 KB
- 文档页数:2
关于运输问题与指派问题的建模及其求解【精选文档】(文档可以直接使用,也可根据实际需要修改使用,可编辑推荐下载)关于运输问题与指派问题的建模及其求解考生名单:石琦、程培培、曾凯、桑佳丽、王菁、薛苗苗、郝园、付长宇、孙丽媛、杜晓宇问题:某公司决定使用三个有生产余力的工厂进行四种新产品的生产。
下面表中给出了每种产品在不同工厂中的单位成本,以及各工厂每天生产的每种产品的数量,每种产品每天的需求量。
每家工厂都可以制造这些产品,除了工厂2不能生产产品3以外。
现在需要决定的是在哪个工厂生产哪种产品,可使总成本最小。
产品生产的有关数据(1)如果允许产品的生产分解,请建模并求解。
(2)如果不允许产品的生产分解,请建模并求解。
分析:(1)如果允许产品的生产分解,可以将生产产品问题看作运输问题来求解。
三个工厂1、2、3的总产量为78+70+40=188;四种产品1、2、3、4的总需求量为:25+35+30+40=115.由于总产量大于总需求量,所以该问题是一个供大于求的运输问题。
①决策变量设x ij为工厂i生产产品j的数量(i=1,2,3; j=1,2,3,4)。
②目标函数本问题的目标函数是使得总成本最小。
即Min z=41x11+27x12+28x13+24x14+40x21+29x22 +23x24+38x31+30x32+27x33+22x34③约束条件根据上表可以写出此问题的约束条件ⅰ各厂产量(生产能力)限制工厂1:x11+x12+x13+x14≤78工厂2:x21+x22+x23+x24≤70工厂3:x31+x32+x33+x34≤40ⅱ各种产品需求量的约束产品1:x11+x21+x31=25产品2:x12+x22+x32=35产品3:x13+x23+x33=30产品4:x14+x24+x34=40ⅲ由于工厂2不能生产产品3,所以x23=0ⅳ非负:x ij≥0;(i=1,2,3; j=1,2,3,4)。
所以该供大于求的运输问题的线性规划模型如下:Min z=41x11+27x12+28x13+24x14+ 40x21+29x22 +23x24+38x31+30x32+27x33+22x34s.t.{x11+x12+x13+x14≤78 x21+x22+x23+x24≤70 x31+x32+x33+x34≤40 x11+x21+x31=25 x12+x22+x32=35 x13+x23+x33=30 x14+x24+x34=40 x23=0x ij≥0;(i=1,2,3; j=1,2,3,4)(2)如果不允许产品的生产分解,可以将该问题视为指派工厂生产产品问题,工厂可以看作指派问题中的人,产品则可以看作需要完成的工作(任务)。
(四)指派问题的Excel建模求解
实验目的:掌握在Excel中建立指派问题模型和求解的方法
实验内容:
利用Excel“规划求解”求解下述运输问题。
(如果“工具”菜单没有显示“规划求解”子菜单,可到“加载宏”下加载。
在本实验室选择安装路径:D:\tool_bak\office2003\PRO11.MSI )
内容:求解教材P110页的例2(具体题目如下):
有一份中文说明书,需译成英、日、德、俄四种文字。
现有甲、乙、丙、丁四人。
他们将中文说明书翻译成不同语种的说明书所需时间如表1所示。
问应指派何人去完成何工作,使所需总时间为最少?
实验步骤
第一步建模依次在相应的单元格内输入数据和公式,建模如图1
注:Sumproduct()函数:在给定的几组数组中,将数组间对应的元素相乘,并返回乘积之和。
图1指派问题的Excel模型
第二步设置规划求解参数如图2和图3,其中,“选项”中选取“假定非负”和“采用线性模型”,其它采用默认选项,如图
图2 规划求解参数设置
(注:“二进制”的输入在下图中选择“bin”即可)
图3 选项设置
第三步求解设置完毕后,单击图2中“求解”按钮,出现如图4规划求解结果对话框
图4 规划求解结果对话框
如图4所示,共提供3类报告,选择你想要的报告,单击确定按钮,完成运算,最后计算结果如图5
图5 计算结果。
第五章 整数规划§1 整数规划的数学模型及特点要求一部分或全部决策变量必须取整数值得规划问题称为整数规划。
其模型为:Max(或min)z=∑=nj jj xc 1s.t ⎪⎪⎩⎪⎪⎨⎧=≥=≥=≤∑=nj nj i ij ij xx x n j x m i b x a ,,,2,10,2,1),(211若要求决策变量只能取值0或1的整数规划称为0-1型整数线性规划。
§5 指 派 问 题 一. 指派问题的标准形式及数学模型在现实生活中,有各种性质的指派问题。
例如,有若干项工作需要分配给若干人(或部门)来完成;有若干项合同需要选择若干个投标者来承包;有若干班级需要安排在各教室上课等等。
诸如此类的问题,它们的基本要求是在满足特定的指派要求条件下,使指派方案的总体效果最佳。
由于指派问题的多样性,有必要定义指派问题的标准形式。
指派问题的标准形式(以人和事为例)是:有n 个人和n 件事,已知第i 个人作第j 件事的费用为),2,1,(n j i c ij =,要求确定人和事之间的一一对应的指派方案,是完成这n 件事的总费用最少。
为了建立标准指派问题的数学模型,引入2n 个0-1变量:⎩⎨⎧=10ij x这样,问题的数学模型可写成 ∑∑===ni nj ij ijx cz 11min (5.1)s.t ⎪⎪⎪⎩⎪⎪⎪⎨⎧======∑∑==n j i x n i x n j x ij n j ij ni ij ,2,1,1,0,2,11,2,1111 (5.3)其中,(5.1)表示每件事必优且只有一个人去做,(5.2)表示每个人必做且只做一件事。
注:○1 指派问题是产量(i a )、销量(j b )相等,且i a =j b =1,i ,j=1,2,…n 的运输中部分或全部取整数 若指派第i 人作第j 件事若不指派第i 人作第j 事i ,j=1,2,…n(5.2)(5.4)问题。
○2 有时也称ijc 为第i 个人完成第j 件工作所需的资源数,称之为效率系数(或价值系数)。
指派模型 宋海洲 一:指派问题 设有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,则模型等价为: 四:不平衡指派问题 令
令 模型转化为: * * 工作 人 a b c d e 甲 乙 丙 丁 戊
7 9 8 7 4 5 12 5 3 6 9 7 4 6 7 8 11 6 9 5 11 9 8 6 11