LINGO线性规划数学建模论文-工作人员的最优时间分配问题的研究
数学建模中的优秀软件——LINGO

第9卷第3期2007年6月黄山学院学报JOurnal0fHuangshanUniVefsityVo】.9.NO.3Jun.2007数学建模中的优秀软件——LINGO周甄川(黄山学院数学系,安徽黄山245041)摘要:介绍了数学建模的相关概念、数学建模竞赛概况,探讨了LINGo系统的功能与特点,以及它在数学建模中的应用。
关键词:数学模型;数学建模;LlNGo系统中图分类号:TP319:0141.4文献标识码:A文章编号:1672—447x(2007)03—0112—03在对自然科学与社会科学许多课题的研究中,科学工作者常将事物的变化规律用特定的数学表达式的形式加以描述。
将寻求这种确定事物变化规律的过程称为“数学建模”。
而在数学建模以及全国大学生数学建模竞赛中,最常碰到的是一类决策问题,即在一系列限制条件下,寻求使某个或多个指标达到最大或最小,这种决策问题通常称为最优化问题【1】。
最优化理论是近几十年发展和形成的一门新兴的应用性学科。
它主要解决最优生产计划、最优分配、最优设计、最优决策、最佳管理等最优化问题。
主要研究方法是定量化、系统化和模型化方法,特别是运用各种数学模型和技术来解决问题。
它主要由决策变量、目标函数、约束条件三个要素组成。
当遇到的实际问题时即使建立了模型,找到了解的方法,对于较大的计算量也是望而却步,LINGo系列优化软件包就给我们提供了理想的选择。
1什么是数学建模数学建模(MatheImticalModelin曲‘11顾名思义就是建立数学模型以解决实际问题的过程。
它利用数学和计算机对实际问题进行分析研究,抽象出反映事物内在活动规律的数学关系表达式,通过对这些数学关系表达式的求解和反复验证,最终解决实际问题。
数学是所有自然科学的基础,随着计算机软硬件技术的迅速发展,数学建模和与之相伴的计算已逐渐成为工程设计的关键工具,并在人类社会实践活动中的众多领域内发挥着越来越重要的作用。
那么,什么是数学模型?如何建立数学模型?如何用数学模型解决实际问题呢?模型就是对事物的一种抽象。
Lingo软件在求解数学优化问题的使用技巧

Lingo 软件在求解数学优化问题1.某昼夜服务的公交路线每天各时间区段内需司机和乘务人员如下:设司机和乘务人员分别在各时间区段一开始上班,并连续工作八小时,问该公交线路至少配备多少名司机和乘务人员?从第一班开始排,试建立线性模型。
分析与求解:注意在每一时间段里上班的司机和乘务人员中,既包括在该时间段内开始时报到的人员,还包括在上一时间段工作的人员。
因为每一时间段只有四个小时,而每个司乘人员却要连续工作八个小时。
因此每班的人员应理解为该班次相应时间段开始时报到的人员。
设i x 为第i 班应报到的人员(6,,2,1 =i ),则应配备人员总数为:∑==61i i x Z按所需人数最少的要求,可得到线性模型如下:∑==61min i i x Z161223344556112660706050..203060,,,0x x x x x x x x s t x x x x x x x x +≥⎧⎪+≥⎪⎪+≥⎪+≥⎪⎨+≥⎪⎪+≥⎪≥⎪⎪≥⎩ LINGO 程序如下:MODEL:min=x1+x2+x3+x4+x5+x6;x1+x6>=60;x1+x2>=70;x2+x3>=60;x3+x4>=50;x4+x5>=20;x5+x6>=30;x1>=60;END得到的解为:x1=60,x2=10,x3=50,x4=0,x5=30,x6=0;配备的司机和乘务人员最少为150人。
2 某地区有三个农场共用一条灌渠,每个农场的可灌溉地及分配到的最大用水量如下表:各农场均可种植甜菜、棉花和高粱三种作物,各种作物的用水量、净收益及国家规定三个农场达成协议,他们的播种面积与其可灌溉面积相等,而各种农场种何种作物并无限制。
问如何制定各农场种植计划才能在上述限制条件下,使本地区的三个农场的总净收益最大。
设农场1种植的甜菜、棉花和高粱分别为111,,z y x 亩,农场2种植的甜菜、棉花和高粱分别为222,,z y x 亩,农场3种植的甜菜、棉花和高粱分别为333,,z y x 亩。
最新工作人员的优时间分配问题的研究LINGO线规划数学建模

工作人员的优时间分配问题的研究L I N G O 线规划数学建模工作人员的最优时间分配问题的研究【摘要】对于一个事业单位,人力资源部门的合理分配对于一个事业单位的收益是至关重要的。
众所周知,由于每个人的工作效率不尽不同,不同的分配方式所带来的收益也不同。
本文建立了0-1规划模型对最少时间成本下的工作人员分配问题进行了研究。
本问题中首先确定第i人做或者不做第j工作将问题定量化,根据不同的需要建立不同的目标函数。
对于一个项目而言越早完成越好,对人力资源部门来说所花费的人力越少越好。
本文利用运筹管理学的思想建立的0-1规划模型,最后使用Lingo对目标函数求最优解得出最终结果。
关键词:最少时间运筹管理学最优解时间分配 0-1模型 Lingo 线性规划一、问题重述最优人力资源安排问题在企事业单位,人力资源部门经常要根据当前情况把人员分配给即将开始的项目。
一般地,对项目而言,越早完成越好;而对人力资源部门而言,在该项目上所花费的人力越少越好。
现有一个项目,需要把一份中文资料翻译成英语、法语、日语、德语和俄语。
已知A、B、C、D、E、F和G七个人翻译该资料所需要花费的时间如表1所示,且这七个人均表示可参加该项目。
【注意:为了译文的连贯性,不允许两人或两人以上做同一种译文的翻译工作。
一个人在同一时间只能做一种译文的翻译工作。
】表1. 七人五语种翻译用时表(单位:天)试通过建立数学模型(而非枚举法)回答下述问题。
问题1. 应该如何进行人力资源的安排使得该项目尽早完成?问题2. 在问题1中若规定每人最多承担一种译文的翻译工作,试求相应的最优人力资源安排方案。
问题3. 接上级通知,为了保证翻译的质量,需要对翻译之后的译文进行审校且规定同一个语种的审校人和翻译者不能为同一人。
显然,在这种新的要求下,该项目完成当且仅当所有的译文均审校完。
已知这七人均表示可以参加审校工作,他们审校这五种译文的用时如表2所示。
【注意:对于每个语种,只有当该语种的译文完全完成之后才能进行该语种译文的审校工作。
数学建模B题:人员安排问题

数学建模B 题:人员安排问题问题综述:该问题主要是为了求解在客户的要求下公司每天收益的最大化,属于优化问题;我们在对这个问题建模时,主要是基于客户的两个要求来建立的: (1)客户对员工的人数要求; (这个要求是本来题目有的) (2)客户对工期的要求; (这个要求是我们进一步假设的)对于第一个要求我们建立了基本模型,而对于第二个要求,我们在第一个要求的基础上,进一步改进了基本模型,从而建立了某个项目先完工的模型。
具体的解题思路如下图所示:一.模型基本假设:1.假设客户对项目的工期没有限制,项目的工期由公司决定,且四个项目同时开工,同时完工,中间也不停工。
2. 假设所有人员总能在岗位上工作,不考虑由于生病或是其他意外事件而造成人员的缺席。
3.假设四个项目同时需要的最多人数不超过现有公司工作人员的人数,即使超过,也只分配公司现有的工作人员。
4.假设C 、D 两个项目的管理费由公司支付;5.假设所有工作人员都安排完毕,即每个人都有工作。
6.假设同等级别的工作人员的技术水平是相同的,即他们可以接受任意等同的任务。
二.符号说明:i :用i =1,2,3,4分别表示高级工程师,工程师,助理工程师和技术员。
j :用j =1,2,3,4分别表示项目A,B,C 和D 。
ij X :公司分配第i 级别工作人员到第j 个项目上的人数。
例如23X 表示公司分配工程师到项目C 上的人数。
ij a :第i 级别工作人员分配到第j 个项目上的收费。
ij b : 第i 级别工作人员分配到第j 个项目上时公司的开支(包括工资和管理费)。
ij A : 表示到项目j 工作的第i 级别工作人员为公司贡献的纯利润收入。
j : 表示第j 个项目的总工时(即项目j 的总工作量)。
j T : 表示第j 个项目客户所要求的工期(即项目j 所需要的完工时间)。
j M : 表示客户要求第j 个项目一天所必须完成的工作量。
j m : 表示公司分配给第j 个项目的所有工作人员一天能够完成的工作量。
数学建模排班问题讲解学习

数学建模排班问题值班人员安排问题摘要某部队后勤值班室准备聘请4名兼职值班员和2名兼职带班员值班两种职位,相应的报酬也不同。
为使部队的支出最少,现需合理的设计出一张人员的值班时间表,在安排兼职值班员的过程中,需要考虑多方面的的问题与因素.因此,一个合理有效的兼职值班时间表的安排是非常有实际意义的.本次设计在综合了解一定的数学模型、以及LINGO软件中一些知识的基础上,以线性规划理论为基础,对实际例子进行一定的分析后,建立合理的整数规划模型.然后,利用LINGO软件求得结果.给出一个最优化的值班计划,使后勤值班室总支付的报酬为最少.关键词:值班时间表,LINGO软件,模型,报酬一.问题重述某部队后勤值班室准备聘请4名兼职值班员(代号为1,2,3,4)和2名兼职带班员(代号5,6)值班,已知每人从周一到周日每天最多可以安排的值班时间及每人每小时值班的报酬如下表.每人每天可值班的时间和报酬该值班室每天需要值班的时间为早上8:00至晚上22:00,值班时间内须有一名值班员值班.要求兼职值班员每周值班不少于10h,兼职带班员每周值班不少于8h.每名值班员每周值班不超过4次,每次值班不少于2h,每天安排值班的值班员不超过3人,且其中必须有一名兼职带班员值班.试为该值班室安排一张值班人员表,使总支付的报酬为最少.二.模型的假设(1)兼职员在可安排的时间内无特殊情况发生均可按时值班;(2)值班室需要值班的时间稳定不变;(3)值班员的兼职工资稳定不变.三.符号的说明ijx表示第i个值班员在星期j是否值班,如果值班,则ijx=1,否则ijx=0。
ija表示第i个值班员在星期j的值班时间。
ik表示第i个值班员值班一个小时所能够获取的报酬,ijA表示第i个值班员在星期j的值班时间的上限。
四.问题设计本题是在通过安排不同人员的值班时间来是部队支付的报酬最少,在给定的约束条件和每人每天的工作时间和报酬来设计。
由于知道员工每天的工作时间和报酬,这样就可确定目标函数,再通过给定的约束条件来解答,从而得出最优的值班时间表。
线性规划模型在最优决策中的应用研究

线性规划模型在最优决策中的应用研究【摘要】线性规划在生产管理和经营活动中起到重大作用。
在给出线性规划模型的基础上,通过实例,介绍建立线性规划模型的一般方法,并应用软件Mathematica进行求解,进而为决策者提供最优的决策。
【关键词】线性规划;模型;Mathematica;最优决策1.引言在生产管理和经营活动中,会经常遇到两类问题:一类是(资源有限)如何合理的使用现有的劳动力、设备、资金等资源,以得到最大的效益;另一类是(目标一定)为了达到一定的目标,应如何组织生产,或合理安排工艺流程,或调整产品的成分等,以使所消耗的资源(人力、设备台时、资金、原材料等)为最少。
这既是最优决策问题。
如何解决上述问题,线性规划(Linear Programming)给了我们一些方法,线性规划是运筹学的一个分支,它研究的是在线性约束条件下求解线性函数(目标函数)的最优解问题。
线性规划应用越来越广泛,《财富》杂志(Fortune)的一项调查,美国名列前五百名的大公司中,百分八十五均曾应用线性规划的方法来协助公司的营运,由此可见线性规划应用面的宽广与普及。
2.线性规划数学模型及求解方法[1]2.1 线性规划数学模型其中为目标函数,s.t.的右端项为约束条件,表示决策变量的非负约束。
2.2 模型的求解方法能够求解线性规划模型的软件有很多,比如Mathematica,Matlab,Lindo,Maple等,以下问题应用Mathematica求解[2]。
Mathematica是由Wolfram(美国)公司研制开发的,应用比较广泛的,功能比较强大的一款软件,软件中有求解线性规划的函数,在平台中的使用方法如下:ConstrainedMin(或ConstrainedMax)[目标函数,{约束条件},{变量集合}]就可以了。
其中ConstrainedMin求目标函数为min的线性规划问题,ConstrainedMax求目标函数为max的线性规划问题。
工作人员的最优时间分配问题的研究LINGO线性规划数学建模

工作人员的最优时间分配问题的研究【摘要】对于一个事业单位,人力资源部门的合理分配对于一个事业单位的收益是至关重要的。
众所周知,由于每个人的工作效率不尽不同,不同的分配方式所带来的收益也不同。
本文建立了0-1规划模型对最少时间成本下的工作人员分配问题进行了研究。
本问题中首先确定第i人做或者不做第j工作将问题定量化,根据不同的需要建立不同的目标函数。
对于一个工程而言越早完成越好,对人力资源部门来说所花费的人力越少越好。
本文利用运筹管理学的思想建立的0-1规划模型,最后使用Lingo对目标函数求最优解得出最终结果。
关键词:最少时间运筹管理学最优解时间分配 0-1模型 Lingo 线性规划一、问题重述最优人力资源安排问题在企事业单位,人力资源部门经常要根据当前情况把人员分配给即将开始的工程。
一般地,对工程而言,越早完成越好;而对人力资源部门而言,在该工程上所花费的人力越少越好。
现有一个工程,需要把一份中文资料翻译成英语、法语、日语、德语和俄语。
已知A、B、C、D、E、F和G七个人翻译该资料所需要花费的时间如表1所示,且这七个人均表示可参加该工程。
【注意:为了译文的连贯性,不允许两人或两人以上做同一种译文的翻译工作。
一个人在同一时间只能做一种译文的翻译工作。
】试通过建立数学模型(而非枚举法)回答下述问题。
问题1. 应该如何进行人力资源的安排使得该工程尽早完成?问题2. 在问题1中若规定每人最多承担一种译文的翻译工作,试求相应的最优人力资源安排方案。
问题3. 接上级通知,为了保证翻译的质量,需要对翻译之后的译文进行审校且规定同一个语种的审校人和翻译者不能为同一人。
显然,在这种新的要求下,该工程完成当且仅当所有的译文均审校完。
已知这七人均表示可以参加审校工作,他们审校这五种译文的用时如表2所示。
【注意:对于每个语种,只有当该语种的译文完全完成之后才能进行该语种译文的审校工作。
为了译文的连贯性,不允许两人或两人以上做同一种译文的审校工作。
数学建模排班问题

运用运筹学和lingo对值班问题的初步探究作者:张冬梅颜丽金鑫摘要本文主要从运筹学中的对偶问题求解方法、0-1模型以及lingo线性规划问题求解方法,对值班问题进行合理规划,此次建立的模型最大的特点就是不孤道而行,这样在解题过程中实现了互补不足作用,在具体的解题过程中,我们所采用两种解题方法,运筹学与lingo的解题方法,以便最终达到较为完善的方案。
最终求出符合题目要求的解答,经过结果分析与验证,所得结果完全正确。
问题重述某大学有四名大学生与两名研究生,对其进行值班安排,使得每天学生工作总时间14个小时,大学生每周值班时间不少于10小时,研究生每周不少于8小时,每个人每周值班不超过4次,每次不超过2小时,每天至多有三个人值班,并且每天至少有一名研究生。
制定一个合理的值班表,使得支付的薪酬最少。
其他相关数据参考下表:问题分析及符号说明在研究此问题中,若直接采用变量进行求解,但是会涉及到42(6行7列)个变量,运算量较大,不过我们可以观察表格可以得到,有16个变量是一直为零的,我们可以将这些变量进行剔除,余下16个变量,实际解答中虽计算量依旧很大,不过相比之下,简单些许。
此问题的最终目的是制定合理的值班表,使得所支付报酬最小,首先列出目标函数,其次根据已知条件列出线性相关不等式组,其中对于是否会安排学生值班,我们用0-1模型表示。
在模型的求解过程中运用到运筹学中的对偶问题、线性规划、单纯形法来制定可实施性方案,并用matlab及lingo软件进行编程求解。
模型假设1.假设每位同学均能准时到达实验室,并且换班时间忽略不计;2.假设每位同学的可工作时间不具有时刻性,也就是说每天可值班时间可以分配到任意时刻;3.假设每位同学工作时长均为整数。
模型建立目标函数:约束条件:媒介函数(b ij):当=0时,0;当≠0时,1;模型求解法一:运用运筹学中线性规划对偶问题求解方法首先,观察上述约束条件,重要约束条件为前5个,后3个约束条件作为最终解的检验条件,这样易于将两类变量进行分离,又不是合理性,不违背科学性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工作人员的最优时间分配问题的研究【摘要】对于一个事业单位,人力资源部门的合理分配对于一个事业单位的收益是至关重要的。
众所周知,由于每个人的工作效率不尽不同,不同的分配方式所带来的收益也不同。
本文建立了0-1规划模型对最少时间成本下的工作人员分配问题进行了研究。
本问题中首先确定第i人做或者不做第j工作将问题定量化,根据不同的需要建立不同的目标函数。
对于一个项目而言越早完成越好,对人力资源部门来说所花费的人力越少越好。
本文利用运筹管理学的思想建立的0-1规划模型,最后使用Lingo对目标函数求最优解得出最终结果。
关键词:最少时间运筹管理学最优解时间分配 0-1模型 Lingo 线性规划一、问题重述最优人力资源安排问题在企事业单位,人力资源部门经常要根据当前情况把人员分配给即将开始的项目。
一般地,对项目而言,越早完成越好;而对人力资源部门而言,在该项目上所花费的人力越少越好。
现有一个项目,需要把一份中文资料翻译成英语、法语、日语、德语和俄语。
已知A、B、C、D、E、F和G七个人翻译该资料所需要花费的时间如表1所示,且这七个人均表示可参加该项目。
【注意:为了译文的连贯性,不允许两人或两人以上做同一种译文的翻译工作。
一个人在同一时间只能做一种译文的翻译工作。
】试通过建立数学模型(而非枚举法)回答下述问题。
问题1. 应该如何进行人力资源的安排使得该项目尽早完成?问题2. 在问题1中若规定每人最多承担一种译文的翻译工作,试求相应的最优人力资源安排方案。
问题3. 接上级通知,为了保证翻译的质量,需要对翻译之后的译文进行审校且规定同一个语种的审校人和翻译者不能为同一人。
显然,在这种新的要求下,该项目完成当且仅当所有的译文均审校完。
已知这七人均表示可以参加审校工作,他们审校这五种译文的用时如表2所示。
【注意:对于每个语种,只有当该语种的译文完全完成之后才能进行该语种译文的审校工作。
为了译文的连贯性,不允许两人或两人以上做同一种译文的审校工作。
一个人在同一时间只能做一种译文的审校工作。
】问:应该如何进行人力资源的安排使得该项目尽早完成?文的审校工作,试求相应的最优人力资源安排方案。
二、问题假设1.每个人都能在自己的花销时间内完成工作。
2.每个人只能做一个工作,即既不能同时做两个工作,也不能在一个工作做完后再做其他工作。
3.每件工作都必须有人做,且只能由一个人独立完成。
4.各个工作之间没有相互联系。
即一个工作的完成与否,不受另一个工作的制约。
三、符号说明z1:完成翻译工作的总时间z2:完成审查工作的总时间z: 完成所有工作的总时间ti:完成翻译工作的最短时间tj:完成审查工作的最短时间tk: 完成翻译审查工作的最短时间c:第i人做第j件工作的时间ijt1:翻译成英语所需的最短时间t2: 翻译成法语所需的最短时间t3:翻译成日语所需的最短时间t4:翻译成得语所需的最短时间t5:翻译成俄语所需的最短时间t6: 翻译并审校完成英语所需的最短时间t7: 翻译并审校完成法语所需的最短时间t8: 翻译并审校完成日语所需的最短时间t9: 翻译并审校完成德语所需的最短时间t10: 翻译并审校完成俄语所需的最短时间四、问题分析、模型的建立与求解1.问题的分析最少时间(即人力资源成本)是最大利润一个很有参考价值的数据,往往需要利用数学建模的方法对其进行定量的分析,首先确定第i 人做或者不做第j 工作将问题定量化,再以全部的工作时间为目标函数,最后对目标函数求最优解得出最终结果。
2.模型的建立与求解(1)设:10...3,2,112...3,2,1{.1.0===j i x ij j i j i ,件工作人做第第件工作人不做第第翻译成英语所需的最短时间t1=min(1i c *1i x )翻译成法语所需的最短时间t2= min(2i c *2i x )翻译成日语所需的最短时间t3= min(3i c *3i x )翻译成德语所需的最短时间t4= min(4i c *4i x )翻译成俄语所需的最短时间t5= min(5i c *5i x )有目标函数z1=max(t1, t2, t3 ,t4 ,t5)根据运筹管理学的思想,利用lingo 软件知道z1=6天其具体分配方案只需满足日语的翻译者为F ,由于要尽到人力资源分配最优化其他任务取(2)10...3,2,112...3,2,1{.1.0===j i x ij j i j i ,件工作人做第第件工作人不做第第∑∑===7151z i ij j ij x c限定条件为:5...3,2,1151=≤∑=i xj ij,(即每个人只能做一个工作(假设2),可以小于1是因为人比工作多,允许有人空闲)7...3,2,1171i ==∑=j xij,(即每个工作都要有人做,且只能由一个人做(假设3))10or x ij =将上述条件,以及数据写入Lingo 中,编写程序求解。
源程序及输出结果详见附件。
需花费的人力时间为20天(3)审校完成英语所需的最短时间t6=min(6m c *6m x )+t1审校完成法语所需的最短时间t7 = min(7m c *7m x )+t2审校完成日语所需的最短时间t8= min(8m c *8m x )+t3:审校完成德语所需的最短时间t9 = min(9m c *9m x )+t4:审校完成俄语所需的最短时间t10 = min(10m c *10m x )+t5限定条件为m-i<>55...3,2,1151=≤∑=j xj ij,(即每个人只能做一个工作(假设2),可以小于1是因为人比工作多,允许有人空闲)7...3,2,1171i ==∑=i xij,(即每个工作都要有人做,且只能由一个人做(假设3))7...3,2,1151=≤∑=i x j ij ,(即每个人只能做一个工作(假设2),可以小于1是因为人比工作多,允许有人空闲)7...3,2,11106==∑=i xm mj,(即每个工作都要有人做,且只能由一个人做(假设3))10or x ij =完成工作的最早时间zk=max(t6,t7,t8,t9,t10)将上述条件,以及数据写入Lingo 中,编写程序求解。
推荐最快完成方案如下(4)∑∑===7151min(z i ij j ij x c +∑∑==7151m ij j mj x c )限定条件5...3,2,1171=≤∑=i xj ij,m-I<>57...3,2,1171i ==∑=i xij,7...3,2,11106==∑=i xm mj,5...3,2,1151=≤∑=j xj ij,将上述条件,以及数据写入Lingo 中,编写程序求解。
源程序及输出结果详见附件花费总时间为39天,方案如下3.结果分析表1.2 加粗的单元格即为选择做第j 件事的第i 个人现在我们可以看到,最优解基本上是集中于取值较低(即花费时间较少)的人上面,受假设2(每个人只能做一个工作,即既不能同时做两个工作,也不能在一个工作做完后再做其他工作)的约束,每一横行只能选一个格子(即每个人只能做一件工作),可不选。
模型再受到假设3的约束(每件工作都必须有人做,且只能由一个人独立完成)),所以,每一竖行必须且只能选一个格子。
对照约束条件与表1.2,我们发现有些事件取值并非该人最高效事件(如第1人),但为满足约束,所以程序从全局高度对结果进行了取舍。
由表1.2,我们可以推断,在没有计算机辅助,或待求解量较少且对结果要求不高的情况下,可以采取“画格子”的方式粗糙地求解类似问题。
但也可从思维过程看出在计算机辅助的情况下节省了大量的较繁运算。
五、模型的评价优点模型明了简洁,具有相当的可推广性。
缺点模型考虑的影响因素较少。
六、模型的推广与改进在该问题的求解中,考虑的方面较为简略,还有很多因素可以考虑。
例如在可以协作的情况下,各个人做完了分配工作后可以再其他工作的情况下,以及该情形下他们不同的休息时间,各道工作有关联时的情况等因素。
但在单一工作及简单考虑情况下,该模型具有较大的生存空间,只需改动少许数值即可推广应用。
七、参考文献[1] 王泽文乐励华等,数学实验与数学建模,江西,东华理工大学出版社,2011年七月[2]姜启源,谢金星,叶俊. 数学模型[M].北京:高等教育出版社,2003.8[3]百度文库,LINGO线性规划数学建模论文-工作人员的最优时间分配问题的研究,/view/1d3010f8aef8941ea76e053d.html,2013年04月30日八、附件源程序一model:sets:myset/1..7/:y;link(myset,myset):x;endsetsdata:x=2 10 9 7 8 12 515 4 14 8 4 4 1613 14 16 11 15 6 81 15 13 9 8 8 58 7 8 4 6 13 100 0 0 0 0 0 00 0 0 0 0 0 0;enddata@for(myset(i):y(i)=@min(link(i,j):x(i,j)));End结果一Feasible solution found.Total solver iterations: 6Variable ValueY( 1) 2.000000Y( 2) 4.000000Y( 3) 6.000000Y( 4) 1.000000Y( 6) 0.000000 Y( 7) 0.000000 X( 1, 1) 2.000000 X( 1, 2) 10.00000 X( 1, 3) 9.000000 X( 1, 4) 7.000000 X( 1, 5) 8.000000 X( 1, 6) 12.00000 X( 1, 7) 5.000000 X( 2, 1) 15.00000 X( 2, 2) 4.000000 X( 2, 3) 14.00000 X( 2, 4) 8.000000 X( 2, 5) 4.000000 X( 2, 6) 4.000000 X( 2, 7) 16.00000 X( 3, 1) 13.00000 X( 3, 2) 14.00000 X( 3, 3) 16.00000 X( 3, 4) 11.00000 X( 3, 5) 15.00000 X( 3, 6) 6.000000 X( 3, 7) 8.000000 X( 4, 1) 1.000000 X( 4, 2) 15.00000 X( 4, 3) 13.00000 X( 4, 4) 9.000000 X( 4, 5) 8.000000 X( 4, 6) 8.000000 X( 4, 7) 5.000000 X( 5, 1) 8.000000X( 5, 2) 7.000000 X( 5, 3) 8.000000 X( 5, 4) 4.000000 X( 5, 5) 6.000000 X( 5, 6) 13.00000 X( 5, 7) 10.00000 X( 6, 1) 0.000000 X( 6, 2) 0.000000 X( 6, 3) 0.000000 X( 6, 4) 0.000000 X( 6, 5) 0.000000X( 6, 7) 0.000000X( 7, 1) 0.000000X( 7, 2) 0.000000X( 7, 3) 0.000000X( 7, 4) 0.000000X( 7, 5) 0.000000X( 7, 6) 0.000000X( 7, 7) 0.000000Row Slack or Surplus1 0.0000002 0.0000003 0.0000004 0.0000005 0.0000006 0.0000007 0.000000Lingo源程序2:model:sets:si/i1..i7/;sj/j1..j5/;sij(si,sj):cost,volume;endsetsmin = @sum(sij:cost*volume);@for(sij:@bin(x));@for(sj(j):@sum(si(i):volume(i,j))=1);@for(si(i):@sum(sj(j):volume(i,j))<=1);data:cost=2 5 15 1 810 4 14 15 79 14 16 13 87 8 11 9 48 4 15 8 612 4 6 8 135 16 8 5 10;enddataendLingo求解输出结果2:Global optimal solution found.Objective value: 20.00000Extended solver steps: 0Total solver iterations: 9Variable Value Reduced Cost X 0.000000 0.000000COST( I1, J1) 2.000000 0.000000 COST( I1, J2) 5.000000 0.000000 COST( I1, J3) 15.00000 0.000000 COST( I1, J4) 1.000000 0.000000 COST( I1, J5) 8.000000 0.000000 COST( I2, J1) 10.00000 0.000000 COST( I2, J2) 4.000000 0.000000 COST( I2, J3) 14.00000 0.000000 COST( I2, J4) 15.00000 0.000000 COST( I2, J5) 7.000000 0.000000 COST( I3, J1) 9.000000 0.000000 COST( I3, J2) 14.00000 0.000000 COST( I3, J3) 16.00000 0.000000 COST( I3, J4) 13.00000 0.000000 COST( I3, J5) 8.000000 0.000000 COST( I4, J1) 7.000000 0.000000 COST( I4, J2) 8.000000 0.000000 COST( I4, J3) 11.00000 0.000000 COST( I4, J4) 9.000000 0.000000 COST( I4, J5) 4.000000 0.000000 COST( I5, J1) 8.000000 0.000000 COST( I5, J2) 4.000000 0.000000 COST( I5, J3) 15.00000 0.000000 COST( I5, J4) 8.000000 0.000000 COST( I5, J5) 6.000000 0.000000 COST( I6, J1) 12.00000 0.000000 COST( I6, J2) 4.000000 0.000000 COST( I6, J3) 6.000000 0.000000 COST( I6, J4) 8.000000 0.000000 COST( I6, J5) 13.00000 0.000000 COST( I7, J1) 5.000000 0.000000 COST( I7, J2) 16.00000 0.000000 COST( I7, J3) 8.000000 0.000000COST( I7, J5) 10.00000 0.000000 VOLUME( I1, J1) 0.000000 0.000000 VOLUME( I1, J2) 0.000000 4.000000 VOLUME( I1, J3) 0.000000 10.00000 VOLUME( I1, J4) 1.000000 0.000000 VOLUME( I1, J5) 0.000000 7.000000 VOLUME( I2, J1) 0.000000 5.000000 VOLUME( I2, J2) 1.000000 0.000000 VOLUME( I2, J3) 0.000000 6.000000 VOLUME( I2, J4) 0.000000 11.00000 VOLUME( I2, J5) 0.000000 3.000000 VOLUME( I3, J1) 0.000000 4.000000 VOLUME( I3, J2) 0.000000 10.00000 VOLUME( I3, J3) 0.000000 8.000000 VOLUME( I3, J4) 0.000000 9.000000 VOLUME( I3, J5) 0.000000 4.000000 VOLUME( I4, J1) 0.000000 2.000000 VOLUME( I4, J2) 0.000000 4.000000 VOLUME( I4, J3) 0.000000 3.000000 VOLUME( I4, J4) 0.000000 5.000000 VOLUME( I4, J5) 1.000000 0.000000 VOLUME( I5, J1) 0.000000 3.000000 VOLUME( I5, J2) 0.000000 0.000000 VOLUME( I5, J3) 0.000000 7.000000 VOLUME( I5, J4) 0.000000 4.000000 VOLUME( I5, J5) 0.000000 2.000000 VOLUME( I6, J1) 0.000000 9.000000 VOLUME( I6, J2) 0.000000 2.000000 VOLUME( I6, J3) 1.000000 0.000000 VOLUME( I6, J4) 0.000000 6.000000 VOLUME( I6, J5) 0.000000 11.00000 VOLUME( I7, J1) 1.000000 0.000000 VOLUME( I7, J2) 0.000000 12.00000 VOLUME( I7, J3) 0.000000 0.000000 VOLUME( I7, J4) 0.000000 1.000000 VOLUME( I7, J5) 0.000000 6.000000Row Slack or Surplus Dual Price1 20.00000 -1.0000002 0.000000 -5.0000003 0.000000 -4.0000004 0.000000 -8.0000005 0.000000 -4.0000007 0.000000 3.0000008 0.000000 0.0000009 1.000000 0.00000010 0.000000 0.00000011 1.000000 0.00000012 0.000000 2.00000013 0.000000 0.000000 (3)源程序翻译myset/1..7/:y;link(myset,myset):x;endsetsdata:x=2 10 9 7 8 12 515 4 14 8 4 4 1613 14 16 11 15 6 81 15 13 9 8 8 58 7 8 4 6 13 100 0 0 0 0 0 00 0 0 0 0 0 0;enddata@for(myset(i):y(i)=@min(link(i,j):x(i,j)));End结果一Feasible solution found.Total solver iterations: 6Variable Value Y( 1) 2.000000 Y( 2) 4.000000 Y( 3) 6.000000 Y( 4) 1.000000 Y( 5) 4.000000 Y( 6) 0.000000 Y( 7) 0.000000 X( 1, 1) 2.000000 X( 1, 2) 10.00000 X( 1, 3) 9.000000 X( 1, 4) 7.000000 X( 1, 5) 8.000000X( 1, 7) 5.000000 X( 2, 1) 15.00000 X( 2, 2) 4.000000 X( 2, 3) 14.00000 X( 2, 4) 8.000000 X( 2, 5) 4.000000 X( 2, 6) 4.000000 X( 2, 7) 16.00000 X( 3, 1) 13.00000 X( 3, 2) 14.00000 X( 3, 3) 16.00000 X( 3, 4) 11.00000 X( 3, 5) 15.00000 X( 3, 6) 6.000000 X( 3, 7) 8.000000 X( 4, 1) 1.000000 X( 4, 2) 15.00000 X( 4, 3) 13.00000 X( 4, 4) 9.000000 X( 4, 5) 8.000000 X( 4, 6) 8.000000 X( 4, 7) 5.000000 X( 5, 1) 8.000000X( 5, 2) 7.000000 X( 5, 3) 8.000000 X( 5, 4) 4.000000 X( 5, 5) 6.000000 X( 5, 6) 13.00000 X( 5, 7) 10.00000 X( 6, 1) 0.000000 X( 6, 2) 0.000000 X( 6, 3) 0.000000 X( 6, 4) 0.000000 X( 6, 5) 0.000000 X( 6, 6) 0.000000 X( 6, 7) 0.000000 X( 7, 1) 0.000000 X( 7, 2) 0.000000 X( 7, 3) 0.000000 X( 7, 4) 0.000000 X( 7, 5) 0.000000 X( 7, 6) 0.000000Row Slack or Surplus1 0.0000002 0.0000003 0.0000004 0.0000005 0.0000006 0.0000007 0.000000审查部分sets:myset/1..7/:y;link(myset,myset):x;endsetsdata:x=1 10 8 6 6 11 413 4 6 7 3 4 1210 8 10 11 15 6 61 10 9 8 8 7 38 5 6 4 5 10 20 0 0 0 0 0 00 0 0 0 0 0 0;enddata@for(myset(i):y(i)=@min(link(i,j):x(i,j)));End结果Feasible solution found.Total solver iterations: 0Variable ValueY( 1) 1.000000Y( 2) 3.000000Y( 3) 6.000000Y( 4) 1.000000Y( 5) 2.000000Y( 6) 0.000000Y( 7) 0.000000X( 1, 1) 1.000000X( 1, 2) 10.00000X( 1, 3) 8.000000X( 1, 5) 6.000000 X( 1, 6) 11.00000 X( 1, 7) 4.000000 X( 2, 1) 13.00000 X( 2, 2) 4.000000 X( 2, 3) 6.000000 X( 2, 4) 7.000000 X( 2, 5) 3.000000 X( 2, 6) 4.000000 X( 2, 7) 12.00000 X( 3, 1) 10.00000 X( 3, 2) 8.000000 X( 3, 3) 10.00000 X( 3, 4) 11.00000 X( 3, 5) 15.00000 X( 3, 6) 6.000000 X( 3, 7) 6.000000 X( 4, 1) 1.000000 X( 4, 2) 10.00000 X( 4, 3) 9.000000 X( 4, 4) 8.000000 X( 4, 5) 8.000000 X( 4, 6) 7.000000 X( 4, 7) 3.000000 X( 5, 1) 8.000000 X( 5, 2) 5.000000 X( 5, 3) 6.000000 X( 5, 4) 4.000000 X( 5, 5) 5.000000 X( 5, 6) 10.00000 X( 5, 7) 2.000000 X( 6, 1) 0.000000 X( 6, 2) 0.000000 X( 6, 3) 0.000000 X( 6, 4) 0.000000 X( 6, 5) 0.000000 X( 6, 6) 0.000000 X( 6, 7) 0.000000 X( 7, 1) 0.000000 X( 7, 2) 0.000000 X( 7, 3) 0.000000 X( 7, 4) 0.000000 X( 7, 5) 0.000000X( 7, 7) 0.000000Row Slack or Surplus1 0.0000002 0.0000003 0.0000004 0.0000005 0.0000006 0.0000007 0.000000(4)源程序Sets:sm/m6..m10/;si/i1..i7/;sj/j1..j5/;sij(si,sj):cost,volume;sim(si,sm):man,task;endsetsmin = @sum((sij:cost*volume)+(sim:man*task));@for(sij:@bin(x));m-j>5;m-j<5;@for(sj(j):@sum(si(i):volume(i,j))=1);@for(si(i):@sum(sj(j):volume(i,j))<=1);@for(sm(m):@sum(si(i):volume(i,m))=1);@for(si(i):@sum(sm(m):volume(i,m))<=1);data:man=1 13 10 1 810 4 8 10 58 6 10 9 66 7 11 8 46 3 15 8 511 4 6 7 104 12 6 3 2;enddatadata:cost=2 5 15 1 810 4 14 15 79 14 16 13 87 8 11 9 48 4 15 8 612 4 6 8 135 16 8 5 10;enddataendGlobal optimal solution found.Objective value: 39.00000Extended solver steps: 0Total solver iterations: 21Variable Value Reduced Cost X 0.000000 0.000000M 5.000000 0.000000J 0.000000 0.000000COST( I1, J1) 2.000000 0.000000 COST( I1, J2) 5.000000 0.000000 COST( I1, J3) 15.00000 0.000000 COST( I1, J4) 1.000000 0.000000 COST( I1, J5) 8.000000 0.000000 COST( I2, J1) 10.00000 0.000000 COST( I2, J2) 4.000000 0.000000 COST( I2, J3) 14.00000 0.000000 COST( I2, J4) 15.00000 0.000000 COST( I2, J5) 7.000000 0.000000 COST( I3, J1) 9.000000 0.000000 COST( I3, J2) 14.00000 0.000000 COST( I3, J3) 16.00000 0.000000 COST( I3, J4) 13.00000 0.000000 COST( I3, J5) 8.000000 0.000000 COST( I4, J1) 7.000000 0.000000 COST( I4, J2) 8.000000 0.000000 COST( I4, J3) 11.00000 0.000000 COST( I4, J4) 9.000000 0.000000 COST( I4, J5) 4.000000 0.000000 COST( I5, J1) 8.000000 0.000000 COST( I5, J2) 4.000000 0.000000COST( I5, J4) 8.000000 0.000000 COST( I5, J5) 6.000000 0.000000 COST( I6, J1) 12.00000 0.000000 COST( I6, J2) 4.000000 0.000000 COST( I6, J3) 6.000000 0.000000 COST( I6, J4) 8.000000 0.000000 COST( I6, J5) 13.00000 0.000000 COST( I7, J1) 5.000000 0.000000 COST( I7, J2) 16.00000 0.000000 COST( I7, J3) 8.000000 0.000000 COST( I7, J4) 5.000000 0.000000 COST( I7, J5) 10.00000 0.000000 VOLUME( I1, J1) 0.000000 0.000000 VOLUME( I1, J2) 0.000000 4.000000 VOLUME( I1, J3) 0.000000 10.00000 VOLUME( I1, J4) 1.000000 0.000000 VOLUME( I1, J5) 0.000000 7.000000 VOLUME( I2, J1) 0.000000 5.000000 VOLUME( I2, J2) 1.000000 0.000000 VOLUME( I2, J3) 0.000000 6.000000 VOLUME( I2, J4) 0.000000 11.00000 VOLUME( I2, J5) 0.000000 3.000000 VOLUME( I3, J1) 0.000000 4.000000 VOLUME( I3, J2) 0.000000 10.00000 VOLUME( I3, J3) 0.000000 8.000000 VOLUME( I3, J4) 0.000000 9.000000 VOLUME( I3, J5) 0.000000 4.000000 VOLUME( I4, J1) 0.000000 2.000000 VOLUME( I4, J2) 0.000000 4.000000 VOLUME( I4, J3) 0.000000 3.000000 VOLUME( I4, J4) 0.000000 5.000000 VOLUME( I4, J5) 1.000000 0.000000 VOLUME( I5, J1) 0.000000 3.000000 VOLUME( I5, J2) 0.000000 0.000000 VOLUME( I5, J3) 0.000000 7.000000 VOLUME( I5, J4) 0.000000 4.000000 VOLUME( I5, J5) 0.000000 2.000000 VOLUME( I6, J1) 0.000000 9.000000 VOLUME( I6, J2) 0.000000 2.000000 VOLUME( I6, J3) 1.000000 0.000000 VOLUME( I6, J4) 0.000000 6.000000 VOLUME( I6, J5) 0.000000 11.00000 VOLUME( I7, J1) 1.000000 0.000000VOLUME( I7, J3) 0.000000 0.000000 VOLUME( I7, J4) 0.000000 1.000000 VOLUME( I7, J5) 0.000000 6.000000 MAN( I1, M6) 1.000000 0.000000 MAN( I1, M7) 13.00000 0.000000 MAN( I1, M8) 10.00000 0.000000 MAN( I1, M9) 1.000000 0.000000 MAN( I1, M10) 8.000000 0.000000 MAN( I2, M6) 10.00000 0.000000 MAN( I2, M7) 4.000000 0.000000 MAN( I2, M8) 8.000000 0.000000 MAN( I2, M9) 10.00000 0.000000 MAN( I2, M10) 5.000000 0.000000 MAN( I3, M6) 8.000000 0.000000 MAN( I3, M7) 6.000000 0.000000 MAN( I3, M8) 10.00000 0.000000 MAN( I3, M9) 9.000000 0.000000 MAN( I3, M10) 6.000000 0.000000 MAN( I4, M6) 6.000000 0.000000 MAN( I4, M7) 7.000000 0.000000 MAN( I4, M8) 11.00000 0.000000 MAN( I4, M9) 8.000000 0.000000 MAN( I4, M10) 4.000000 0.000000 MAN( I5, M6) 6.000000 0.000000 MAN( I5, M7) 3.000000 0.000000 MAN( I5, M8) 15.00000 0.000000 MAN( I5, M9) 8.000000 0.000000 MAN( I5, M10) 5.000000 0.000000 MAN( I6, M6) 11.00000 0.000000 MAN( I6, M7) 4.000000 0.000000 MAN( I6, M8) 5.000000 0.000000 MAN( I6, M9) 7.000000 0.000000 MAN( I6, M10) 10.00000 0.000000 MAN( I7, M6) 4.000000 0.000000 MAN( I7, M7) 12.00000 0.000000 MAN( I7, M8) 6.000000 0.000000 MAN( I7, M9) 3.000000 0.000000 MAN( I7, M10) 2.000000 0.000000 TASK( I1, M6) 1.000000 0.000000 TASK( I1, M7) 0.000000 14.00000 TASK( I1, M8) 0.000000 6.000000 TASK( I1, M9) 0.000000 0.000000 TASK( I1, M10) 0.000000 8.000000TASK( I2, M7) 0.000000 1.000000 TASK( I2, M8) 1.000000 0.000000 TASK( I2, M9) 0.000000 5.000000 TASK( I2, M10) 0.000000 1.000000 TASK( I3, M6) 0.000000 3.000000 TASK( I3, M7) 0.000000 3.000000 TASK( I3, M8) 0.000000 2.000000 TASK( I3, M9) 1.000000 4.000000 TASK( I3, M10) 0.000000 2.000000 TASK( I4, M6) 0.000000 1.000000 TASK( I4, M7) 0.000000 4.000000 TASK( I4, M8) 0.000000 3.000000 TASK( I4, M9) 0.000000 3.000000 TASK( I4, M10) 0.000000 0.000000 TASK( I5, M6) 0.000000 1.000000 TASK( I5, M7) 1.000000 0.000000 TASK( I5, M8) 0.000000 7.000000 TASK( I5, M9) 0.000000 3.000000 TASK( I5, M10) 0.000000 1.000000 TASK( I6, M6) 0.000000 9.000000 TASK( I6, M7) 0.000000 4.000000 TASK( I6, M8) 0.000000 0.000000 TASK( I6, M9) 0.000000 5.000000 TASK( I6, M10) 0.000000 9.000000 TASK( I7, M6) 0.000000 1.000000 TASK( I7, M7) 0.000000 11.00000 TASK( I7, M8) 0.000000 0.000000 TASK( I7, M9) 1.000000 0.000000 TASK( I7, M10) 0.000000 0.000000Row Slack or Surplus Dual Price1 39.00000 -1.0000002 0.000000 0.0000003 0.000000 0.0000004 0.000000 -5.0000005 0.000000 -4.0000006 0.000000 -8.0000007 0.000000 -4.0000008 0.000000 -4.0000009 0.000000 3.00000010 0.000000 0.00000011 1.000000 0.00000012 0.000000 0.00000013 1.000000 0.00000014 0.000000 2.00000015 0.000000 0.00000016 0.000000 -5.00000017 0.000000 -3.00000018 0.000000 -8.00000019 0.000000 -5.00000020 0.000000 -4.00000021 0.000000 4.00000022 1.000000 0.00000023 1.000000 0.00000024 0.000000 0.00000025 0.000000 0.00000026 0.000000 3.00000027 0.000000 2.000000。