理工大学2014年数学建模竞赛论文答卷编号(竞赛组委会填写):题目编号:( F )论文题目:工作的安排参赛队员信息(必填):答卷编号(竞赛组委会填写):评阅情况(学校评阅专家填写):评阅1.评阅2.评阅3.工作的安排摘要:工作指派问题是日常生活中常见的一类问题。
本文所要研究就是在效率与成本的背景下,如何安排每个人员的工作分别达到以下三个要求:1、使得总的工作效率最大。
2、使得总的成本最低。
3、兼顾工作效率和成本,优化工作安排方案。
对于问题一,该问题属于工作指派问题,要求使工作效率最大。
为了得到最优的安排方案,我们采用0-1规划模型,引入0-1变量,即其中一人负责某一项工作记作1,否则为0,然后与之对应的效率相乘,然后把所有的工作安排情况这样处理后,再求和作为目标函数。
此外我们对该问题进行了如下约束:因为六个人刚好六份工作,所以每个人只能被安排一份工作,而且每份工作只允许一人来完成。
最后在模型求解中我们应用lingo软件编程使目标函数值最大化,根据此时对应的0-1变量的所有值,最终得到最优安排方案。
对于问题二,要求的方案使工作成本最低。
该问题与问题一相似,只是求解的是目标函数的最小值,为此我们建立了成本最小化模型,该模型同样应用了0-1规划方法,然后用与问题一中相似的方法建立目标函数,然后应用lingo软件编程使目标函数值最小,最终得到使成本最小的相应安排方案。
对于问题三,该问题兼顾效率与成本,属于多目标规划。
首先,数据标准化处理。
给出的效率成本数据属于两个不同性质的指标,两个指标之间存在着不可公度性,而且两项的数值整体大小水平不一样,会有大数起主导作用的影响,如果不对两个指标的数据进行标准化,就会得到错误的结果,为此我们首先采用极值差方法,用matlab编程对两项指标数据进行标准化。
经过极差变换后,两项指标值均在0和1之间。
对于此问题的多目标规划解决,我们采用理想点方法将多目标规划转化为单目标规划,建立了偏离理想点距离模型。
所谓的理想点就是只考虑效率时得到的最大效率值为横坐标,与以只考虑成本时得到的最小成本值为纵坐标组成的点。
然后我们再求出任意工作安排方案对应的效率值与成本值组成的点。
最后求出这两点之间的距离表达式,得到我们要求的目标函数。
最后,在与问题一问题二相同的约束条件下,我们采用lingo编程使目标函数逐渐向理想点逼近(但永远达不到理想点),即:使目标函数达到最小值时,此时对应的工作指派方案在问题三情况下是最佳方案。
关键词:0-1规划;数据标准化;多目标规划;偏离理想点距离模型;lingo一、问题重述已知有6个人,可以做6项工作,每个人做每项工作的效率和所用的成本如表中所示。
表1:每个人做每项工作的效率表2:每个人做每项工作的成本建立数学模型回答下面的问题:1、如何安排每个人的工作,使得总的工作效率最大。
2、如何安排每个人的工作,使得总的成本最低。
3、如何兼顾工作效率和成本,优化工作安排方案。
二、问题分析对于问题一,要安排每个人的工作,使得总的工作效率最大。
因为题目中的效率已经经过量化,所以要想反应效率的高低我们也可以通过数值大小来反应工作安排后的效率高低。
然而每个人的工作安排有很多种情况,为了简化问题,采用0-1规划模型,引入0-1变量,我们把其中一个人负责某项工作记作1,否则记作0,然后我们便可以把每个人工作安排的所有情况的效率与相应的0-1变量乘积的求和,便得到效率目标函数,而且考虑到lingo软件的强大优化求解能力,于是便可以借助lingo编程来求解实现目标函数的最大化,即工作效率综合的最大化,根据此时对应的0-1变量的所有值得到的工作安排方案就是最佳的。
对于问题二,要求安排每个人的工作,使得总的成本最低,该问题与问题一相似,同样可以应用0-1规划模型,求出目标函数表达式然后应用lingo软件编程来求解目标函数的最小值,便可得到最优工作分派方案。
问题三,要兼顾效率与成本这两个指标,即让效率尽量最大的同时让成本也最小,来得到最优的分派方案。
由于两个指标的性质不同,同时整体大小水平不一,所以第一步需要进行数据标准化,标准化方法有很多种,这里我们采用极值差方法对两项指标进行处理,经过极差变换后,两项指标值均在0和1之间。
数据标准化处理处理后,要兼顾效率与成本,则效率和成本就都会偏离问题一、问题二中的最优值,如果所给的工作安排方案能使两者距各自最优值的偏移量最小化则就意味着效率和成本都得到了兼顾,而且相对最优。
为此,我们便引入了理想点法,让任意安排方案得到的效率值与成本值组成的点距离理想点的距离最小化,而得到最小值对应的工作分配方案,此过程的求解我们同样可以借助lingo软件编程来解决,最终能够实现问题三的要求。
三、问题假设1.所有人对每个工作的效率与成本是定值,即不受外界影响;2.所有人都服从相应的安排;3.效率和成本重要程度相同;4.只考虑成本与效率两个指标。
四、符号说明五、模型的建立与求解5.1问题一的模型建立与求解5.1.1模型的建立首先我们根据题目建立效率矩阵),(j i efficient⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=664523242312133321212241452346200153),(j i efficient),(j i efficient 表示第i 人做第j 个工作的效率。
然后我们建立反应第i 人是否负责第j 个工作的0-1变量:),(j i k项工作个人被安排第第项工作个人不被安排第第 10),(j i j i j i k ⎩⎨⎧===由题目可知,六个人负责六项工作,所以每个人只能负责一项工作,而且每个工作只能由一个人来完成。
于是便有下面的约束条件:1,2,3..6;i 1),(61==∑=j j i k且1,2,3..6;j 1),( 61==∑=i j i k则目标函数为总的效率表达式总η如下:∑∑===6161总),(*),(i jj i k j i efficient η 综上便可得到最终效率模型如下:max ∑∑===6161总),(*),(i jj i k j i efficient η ⎪⎪⎪⎩⎪⎪⎪⎨⎧=======∑∑==1,2...6j , 1,2...6i 1,或0),(1,2...6j ,1),(1,2...6i ,1),(.6161j i k j i k j i k t s i j5.1.2 模型求解这是一个0-1优化问题,lingo 软件具有强大的优化问题解决能力,所以我们通过lingo 软件编程求解出最佳分配方案,根据程序运行结果我们最终得到的最优分配方案如下:(lingo 程序见附录,运算结果见附录):表1 最大效率工作分配方案而且此时的最大效率值为26。
5.2问题二的模型建立与求解 5.2.1成本最小化模型的建立由题目中给定的成本数据我们建立成本矩阵),(cos j i t 具体如下:⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=13118105847472549755252441029113571240184),(cos j i t同样有反应第i 人是否做第j 个工作的0-1变量:),(j i k项工作个人被安排第第项工作个人不被安排第第 10),(j i j i j i k ⎩⎨⎧===而且六个人负责六项工作,所以每个人只能负责一项工作,而且每个工作只能由一个人来完成。
于是便有下面的约束条件:1,2,3..6;i 1),(61==∑=j j i k且1,2,3..6;j 1),( 61==∑=i j i k则最终得到只考虑成本总成本的目标函数总cos t 如下:∑∑===6161总),(*),(cos cos i jj i k j i t t于是得到完整的成本最小化模型如下:min ∑∑===6161总),(*),(cos cos i jj i k j i t t ⎪⎪⎪⎩⎪⎪⎪⎨⎧=======∑∑==1,2...6j ,1,2...6i 1或0),(6...2 ,1j 1),(1,2...6i ,1),(..6161j i k j i k j i k t s i j 5.2.2、模型的求解与问题一类似的解法,应用lingo 软件编程求解使目标函数值最小(即:使成本最小)根据程序运行结果(程序及运行结果见附录,),我们得到的最佳分配方案如下:表2 最低成本分配工作方式5.3问题三的模型建立与求解 5.3.1多目标规划模型的建立第一步:进行数据标准化。
由于该问题要求兼顾效率与成本,而这两项指标却不是同性质的,而且成本数据都偏大一些,为了防止成本数据影响最终结果,需要对两项数据进行标准化,标准化方法有很多种,这里我们采用极值差方法对两项指标进行处理。
具体如下:首先对),(j i efficient用极值差方法进行标准化后得),(j i t reefficien :⎪⎪⎭⎫⎝⎛==--=≤≤≤≤≤≤≤≤≤≤≤≤6..3,2,16..3,2,1 )),((min )),((max )),((min ),(),(616161616161j i j i efficient j i efficient j i efficient j i efficient j i t reefficien j i j i j i 通过matlab 编程我们可以得到),(j i t reefficien 矩阵,此时),(j i t reefficien 矩阵的值均在0和1之间,最优值为1,最劣值为0。
然后对),(cos j i t 指标数据矩阵用极值差法标准化后得到),(cos j i t re :⎪⎪⎭⎫⎝⎛==--=≤≤≤≤≤≤≤≤≤≤≤≤6..3,2,16..3,2,1 )),((cos min )),((cos max )),((cos min ),(cos ),(cos 616161616161j i j i t j i t j i t j i t j i t re j i j i j i同样可以用matlab 编程得到),(cos j i t re 矩阵且值均在0和1之间),(j i efficient 和),(cos j i t matlab 标准化程序及结果见附录。
第二步:多目标规划模型的建立由第一问及第二问的基础我们可以得出两个规划目标函数如下: 首先,有总效率的目标函数:∑∑===6161),(*),(i jj i k j i t reefficien x )1( 其中x 表示任意一种工作分配方案得到的效率值。
同时有总成本的目标函数:∑∑===6161),(*),(cos i jj i k j i t re y )2( 其中y 表示任意一种工作分配方案得到的成本值。