LINGO线性规划数学建模论文-工作人员的最优时间分配问题的研究
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所示。
【注意:对于每个语种,只有当该语种的译文完全完成之后才能进行该语种译文的审校工作。
lingo解决线性规划问题(附程序)
北方民族大学第六届数学建模竞赛竞赛论文竞赛分组:竞赛题目:组员:所在学院:信息与计算科学学院制版北方民族大学第六届数学建模竞赛承诺书为保证竞赛的公平、公正,维护竞赛的严肃性,在竞赛期间,我们承诺遵守以下竞赛规定:只在本参赛队的三人之间进行问题的讨论,绝不与本参赛队外的其他人讨论与竞赛题目相关的任何问题,不抄袭、剽窃他人的成果,引用的参考文献在答卷中进行标注。
承诺人签名:承诺人所在分组:承诺人所在学院:年月日摘要在工程技术、经济管理等诸多领域中,人们经常遇到的一类决策问题是:在一系列客观或主观限制条件下,寻求所要关注的某个或多个指标达到最大(或最小)的决策。
例如,酒店客房分配,我们常常不能使得客房刚好满足顾客的要求,此时,客房是有限的,但是顾客需要的客房数已经超出酒店可提供的客房数目,我们就会选择一种客房分配方案,来使得酒店的收益获得最大的。
7天连锁酒店利用网络系统为常客户开设标准间和商务间两类客房的预定服务,酒店以一周(从星期一到星期日)为一个时段处理这项业务。
现在收到一个会务组提出的一个一周的预定需求单,现要求我们依据题目所提供的信息,以酒店收入最大为目标,针对3种不同情况,制定相应的分配方案。
我们把这类决策问题通常归为最优化问题,解决问题的方案是,找到问题的决策变量,目标函数及约束条件。
如果需要作出决策的变量较多时,我们就会首选LINGO软件来解决线性规划的问题。
关键词:最优分配、数学建模、线性规划、LINGO目录1.问题的重述 (4)2.问题的分析 (4)3.模型的假设 (5)4.符号的约定 (6)5.模型的建立与求解 (7)5.1问题(1)的求解 (8)5.2问题(2)的求解 (9)5.3问题(3)的求解 (12)5.4问题(4)的求解 (15)6.模型的评价与改进 (15)7.参考文献 (15)8.附录 (16)酒店客房的最优分配方案1、问题的重述7天连锁酒店利用网络系统为常客户开设标准间和商务间两类客房的预定服务,酒店以一周(从星期一到星期日)为一个时段处理这项业务。
用Lingo求解最优化问题
温州大学城市学院
基本作业题Leabharlann ( 2)min z = 13 x1 + 9 x2 + 10 x3 + 11x4 + 12 x5 + 81x6 ,
x1 + x4 = 400, x2 + x5 = 600, x3 + x6 = 500, 0.4 x1 + 1.1 x2 + x3 ≤ 800, 0.5 x + 1.2 x + 1.3 x ≤ 900, 4 5 6 xi ≥ 0, i = 1, 2, 3, 4, 5, 6.
当 x=0 时, 目标函数最小值为 6.
温州大学城市学院 点击 LINGO-Options 选择 Global Solver (全局求解器 全局求解器) 全局求解器 在Use Global Solver 前面打√ 点击“ 再求解. 点击“OK”, 再求解
温州大学城市学院 例2 用Lingo 求函数
f ( x ) = 8 x + 0.01x − x + 0.01x + 6cos x
4 7 5
的最小值点和最小值. 的最小值点和最小值
当 x=14480.28 时, 目标函数最小值为 -0.1334869E+30.
(即-0.1334869×1030) 即 ×
求解器状态窗口 (LINGO Solver Status)
Model: 当前模型的类型 如: LP, NLP) 当前模型的类型(如 State: 当前解的状态 如: Global Optimum(全局最优 当前解的状态(如 全局最优); 全局最优 Local Optimum(局部最优 等) 局部最优)等 局部最优
工作人员的最优时间分配问题的研究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求解线性规划问题
实验1 用LINGO求解线性规划问题LINGO使用简介LINGO软件是美国的LINDO系统公司(Lindo System Inc)开发的一套用于求解最优化问题的软件包.LINGO除了能用于求解线性规划和二次规划外,还可以用于非线性规划求解以及一些线性和非线性方程(组)的求解.LINGO软件的最大特色在于它允许优化模型中的决策变量为整数,而且执行速度快.LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果,这里简单介绍LINGO的使用方法.LINGO可以求解线性规划、二次规划、非线性规划、整数规划、图论及网络优化和排队论模型中的最优化问题等.一个LINGO程序一般会包含集合段、数据输入段、优化目标和约束段、初始段和数据预处理段等部分,每一部分有其独特的作用和语法规则,读者可以通过查阅相关的参考书或者LINGO的HELP文件详细了解,这里就不展开介绍了.LINGO的主要功能特色为:既能求解线性规划问题,也有较强的求解非线性规划问题的能力;输入模型简练直观;运算速度快、计算能力强;内置建模语言,提供几十个内部函数,从而能以较少语句,较直观的方式描述大规模的优化模型;将集合的概念引入编程语言,很容易将实际问题转换为LINGO模型;并且能方便地与Excel、数据库等其他软件交换数据.LINGO的语法规定:(1)求目标函数的最大值或最小值分别用MAX=…或MIN=…来表示;(2)每个语句必须以分号“;”结束,每行可以有许多语句,语句可以跨行;(3)变量名称必须以字母(A~Z)开头,由字母、数字(0~9)和下划线所组成,长度不超过32个字符,不区分大小写;(4)可以给语句加上标号,例如[OBJ] MAX=200*X1+300*X2;(5)以惊叹号“!”开头,以分号“;”结束的语句是注释语句;(6)如果对变量的取值范围没有作特殊说明,则默认所有决策变量都非负;(7)LINGO模型以语句“MODEL:”开头,以“END”结束,对于比较简单的模型,这两个语句可以省略.实验目的1.对于给定的实际应用问题,正确的建立线性规划问题数学模型,并用LINGO求解;2.掌握灵敏度分析以及资源的影子价格的相关分析方法.实验数据与内容问题1.1某工厂在计划期内要安排生产A、B两种产品,已知生产单位产品所需设备台时及对甲、乙两种原材料的消耗,有关数据如表1.1.问:应如何安排生产计划,使工厂获利最大?.问题1.2 某公司饲养实验用的动物以供出售,已知这些动物的生长对饲料中3种营养成分(蛋白质、矿物质和维生素)特别敏感,每个动物每周至少需要蛋白质60g ,矿物质3g ,维生素8mg ,该公司能买到5种不同的饲料,每种饲料1kg 所含各种营养成分和成本如表1.2所示,如果每个小动物每周食用饲料不超过52kg ,求既能满足动物生长需要,又使总成本最低的饲料配方.实验指导问题1.1设计划生产两种产品分别为,则建立线性规划问题数学模型B A ,21,x x ⎪⎪⎩⎪⎪⎨⎧≥≤≤≤++=0,12416482.32max 21212121x x x x x x t s x x S 在LINGO 的MODEL 窗口内输入如下模型:model :max =2*x1+3*x2;x1+2*x2<=8;4*x1<=16;4*x2<=12;end选菜单Lingo|Solve(或按Ctrl+S),或用鼠标点击“求解”按纽,如果模型有语法错误,则弹出一个标题为“LINGO Error Message ”(错误信息)的窗口,指出在哪一行有怎样的错误,每一种错误都有一个编号(具体含义可查阅相关文献或LINGO 的Help ).改正错误以后再求解,如果语法通过,LINGO 用内部所带的求解程序求出模型的解,然后弹出一个标题为“LINGO Solver Status ”(求解状态)的窗口,其内容为变量个数、约束条件个数、优化状态、耗费内存、所花时间等信息,点击Close 关闭窗口,屏幕上出现标题为“Solution Report ”(解的报告)的信息窗口,显示优化计算(线性规划中换基迭代)的步数、优化后的目标函数值、列出各变量的计算结果.求解结果:Global optimal solution found at iteration: 5Objective value: 14.00000Variable Value Reduced CostX1 4.000000 0.000000X2 2.000000 0.000000Row Slack or Surplus Dual Price1 14.00000 1.0000002 0.000000 1.5000003 0.000000 0.12500004 4.000000 0.000000该报告说明:运行5步找到全局最优解,目标函数值为14,变量值分别为.“Reduced Cost ”的含义是需缩减成本系数或需增加利润系数(最优解中取值非零的决策变量的Reduced Cost 值等于零).“Row ”是输入模型中的行号,目标函数是第一行;“Slack or Surplus ”的意思是松弛或剩余,即约束条件左边与右边的差值,对于“124,2==x x ≤”的不等式,右边减左边的差值为Slack (松弛),对于“”的不等式,左边减右边的差值为Surplus (剩余),当约束条件两边相等时,松弛或剩余的值等于零.“Dual Price ”的意思是对偶价格(或称为影子价格),上述报告中Row2的松弛值为0,表明生产甲产品4单位、乙产品2单位,所需设备8台时已经饱和,对偶价格1.5的含义是:如果设备增加1台时,能使目标函数值增加1.5.报告中Row4的松弛值为4,表明生产甲产品4单位、乙产品2单位,所需原材料乙8公斤还剩余4公斤,因此增加原材料乙不会使目标函数值增加,所以对偶价格为0.≥问题1.2设需要饲料分别为 kg ,则建立线性规划数学模型:54321,,,,A A A A A 54321,,,,x x x x x 123451234512345123451234512345min 0.20.70.40.30.50.320.6 1.8600.10.050.020.20.0530.050.10.020.20.088.52,,,,0S x x x x x x x x x x x x x x x x x x x x s t x x x x x x x x x x =++++++++≥⎧⎪++++⎪⎪≥++++⎨⎪++++≤⎪≥⎪⎩≥ 在LINGO 的MODEL 窗口内输入如下模型:Min=0.2*x1+0.7*x2+0.4*x3+0.3*x4+0.5*x5;0.3*x1+2*x2+x3+0.6*x4+1.8*x5>60;0.1*x1+0.05*x2+0.02*x3+0.2*x4+0.05*x5>3;0.05*x1+0.1*x2+0.02*x3+0.2*x4+0.08*x5>8;x1+x2+x3+x4+x5<52;求解输出结果如下:Global optimal solution found at iteration: 4Objective value: 22.40000Variable Value Reduced CostX1 0.000000 0.7000000X2 12.00000 0.000000X3 0.000000 0.6166667X4 30.00000 0.000000X5 10.00000 0.000000Row Slack or Surplus Dual Price1 22.40000 -1.0000002 0.000000 -0.58333333 4.100000 0.0000004 0.000000 -4.1666675 0.000000 0.8833333因此,每周每个动物的配料为饲料、、分别为12、30和10kg ,合计为52,可使得饲养成本达到最小,最小成本为22.4元;不选用饲料和的原因是因为这两种饲料的价格太高了,没有竞争力.“Reduced Cost ”分别等于0.7和0.617,说明当这两种饲料的价格分别降低0.7元和0.62元以上时,不仅选用这两种饲料而且使得饲养成本降低.从“Slack or Surplus”可以看出,蛋白质和维生素刚达到最低标准,矿物质超过最低标准4.12A 4A 5A kg kg kg 1A 3A g ;从“Dual Price”可以得到降低标准蛋白质1单位可使饲养成本降低0.583元,降低标准维生素1单位可使饲养成本降低4.167元,但降低矿物质的标准不会降低饲养成本,如果动物的进食量减少,就必须选取精一些的饲料但要增加成本,大约进食量降低1可使得饲养成本增加0.88元.kg 对于目标函数系数和约束条件右端常数项的灵敏度分析,可以通过LINGO 软件求解的灵敏度分析给出.如果要看灵敏度分析结果,必须激活灵敏度计算功能才会在求解时给出灵敏度分析结果,默认情况下这项功能是关闭的.想要激活它,必须运行LINGO|Options …命令,选择Gengral Solver ,在Dual Computation 列表框中,选择Prices and Ranges 选项并确定.对于例1.1问题进行灵敏度分析,结果如下:以下是灵敏度分析的结果Ranges in which the basis is unchanged:Objective Coefficient RangesCurrent Allowable AllowableVariable Coefficient Increase DecreaseX1 2.000000 INFINITY 0.5000000X2 3.000000 1.000000 3.000000Righthand Side RangesRow Current Allowable AllowableRHS Increase Decrease2 8.000000 2.000000 4.0000003 16.00000 16.00000 8.0000004 12.00000 INFINITY 4.000000对于例1.2问题进行灵敏度分析,结果如下:Ranges in which the basis is unchanged:Objective Coefficient RangesCurrent Allowable AllowableVariable Coefficient Increase DecreaseX1 0.2000000 INFINITY 0.7000000X2 0.7000000 INFINITY 0.1358974X3 0.4000000 INFINITY 0.6166667X4 0.3000000 1.400000 1.000000X5 0.5000000 0.1247059 INFINITYRighthand Side RangesRow Current Allowable AllowableRHS Increase Decrease2 60.00000 4.800000 4.8000003 3.000000 4.100000 INFINITY4 8.000000 0.3428571 0.48000005 52.00000 1.846154 1.411765思考题某投资公司拟制定今后5年的投资计划,初步考虑下面四个投资项目:项目A:从第1年到第4年每年年初可以投资,于次年年末收回成本,并可获利润15%;项目B:第3年年初可以投资,到第5年年末可以收回成本,并获得利润25%,但为了保证足够的资金流动,规定该项目的投资金额上限为不超过总金额的40%;项目C:第2年年初可以投资,到第5年年末可以收回成本,并获得利润40%,但公司规定该项目的最大投资金额不超过总金额的30%;项目D:5年内每年年初可以购买公债,于当年年末可以归还本金,并获利息6%.该公司现有投资金额100万元,请帮助该公司制定这些项目每年的投资计划,使公司到第5年年末核算这5年投资的收益率达到最大.建立线性规划问题的数学模型,并用LINGO求解.。
《数学建模》实验指导_02_Lingo求解线性规划问题
实验二:Lingo求解线性规划问题学时:4学时实验目的:掌握用Lingo求解线性规划问题的方法,能够阅读Lingo结果报告。
实验内容:(选做两题以上)1、求解书本上P130的习题1:某银行经理计划用一笔资金进行有价证券的投资,可供购进的证券以及其信用等级、到期年限、收益如下表1所示,按照规定,市政证券的收益可以免税,其他证券的收益需按50%的税率纳税,此外还有以下限制:1)政府及代办机构的证券总共至少要购进400万元;2)所购证券的平均信用等级不超过1.4(信用等级数字越小,信用程序越高);3)所购证券的平均到期年限不超过5年。
表 1(1)若该经理有1000万元资金,应如何投资?(2)如果能够以2.75%的利率借到不超过100万元资金,该经理应如何操作?(3)在1000万元资金情况下,若证券A的税前收益增加为4.5%,投资应否改变?若证券C的税前收益减少为4.8%,投资应否改变?列出线性规划模型,然后用Lindo求解,根据结果报告得出解决方案。
提示:可参考书上4.1节。
模型可以如下建立:设投资证券A,B,C,D,E的金额分别为x1,x2,x3,x4,x5 万元.max 0.043x1+0.027x2+0.025x3+0.022x4+0.045x5x2+x3+x4>=400x1+x2+x3+x4+x5<=1000(2x1+2x2+x3+x4+5x5)/(x1+x2+x3+x4+x5)<=1.4(9x1+15x2+4x3+3x4+2x5)/(x1+x2+x3+x4+x5)<=52、建立模型并求解P130页第3题。
(建立线性规划模型的技巧:问什么假设什么,如何雇用即雇用多少全时服务员以12:00-1:00为午餐, 雇用多少全时服务员以1:00-2:00为午餐,雇佣多少从9:00、10:00、11:00、12:00、1:00开始工作的半时服务员)。
建立线性规划模型:设全时工人为X1:工作时间:9—12 、13—17 工资为100元X2:工作时间:9—13 、14—17 工资为100元半时工人:工资为40元Y1:工作时间:9—13Y2:工作时间:10—14Y3:工作时间:11—15Y4:工作时间:12—16Y5:工作时间:13—17Min= (x1+x2)*100+(y1+y2+y3+y4+y5)*40Y1+y2+y3+y4+y5<39-10 X1+x2+y1>410-11 X1+x2+y1+y2>311-12 X1+x2+y1+y2+y3>412-13 x2+y1+y2+y3+y4>613-14 X1+y2+y3+y4+y5>514-15 x1+x2+y3+y4+y5>615-16 x1+x2+y4+y5>816-17 x1+x2 +y5>8Min =(x1+x2)*100+(y1+y2+y3+y4+y5)*40;y1+y2+y3+y4+y5<3;x1+x2+y1>4;x1+x2+y1+y2>3;x1+x2+y1+y2+y3>4;x2+y1+y2+y3+y4>6;x1+y2+y3+y4+y5>5;x1+x2+y3+y4+y5>6;x1+x2+y4+y5>8;x1+x2 +y5>8;@gin(x1);@gin(x2);@gin(y1);@gin(y2);@gin(y3);@gin(y4);@gin(y5);Global optimal solution found at iteration: 14Objective value: 820.0000Variable Value Reduced Cost X1 2.000000 100.0000 X2 5.000000 100.0000 Y1 0.000000 40.00000Y3 1.000000 40.00000 Y4 1.000000 40.00000 Y5 1.000000 40.00000Row Slack or Surplus Dual Price1 820.0000 -1.0000002 0.000000 0.0000003 3.000000 0.0000004 4.000000 0.0000005 4.000000 0.0000006 1.000000 0.0000007 0.000000 0.0000008 4.000000 0.0000009 1.000000 0.00000010 0.000000 0.000000第二问:Min =(x1+x2)*100;x1+x2 >4;x1+x2>3;x1+x2>4;x2 >6;x1 >5;x1+x2 >6;x1+x2 >8;x1+x2 >8;@gin(x1);@gin(x2);Global optimal solution found at iteration: 0Objective value: 1100.000Variable Value Reduced Cost X1 5.000000 100.0000 X2 6.000000 100.0000Row Slack or Surplus Dual Price1 1100.000 -1.0000002 7.000000 0.0000004 7.000000 0.0000005 0.000000 0.0000006 0.000000 0.0000007 5.000000 0.0000008 3.000000 0.0000009 3.000000 0.000000第三问:Min =(x1+x2)*100+(y1+y2+y3+y4+y5)*40;x1+x2+y1>4;x1+x2+y1+y2>3;x1+x2+y1+y2+y3>4;x2+y1+y2+y3+y4>6;x1+y2+y3+y4+y5>5;x1+x2+y3+y4+y5>6;x1+x2+y4+y5>8;x1+x2 +y5>8;@gin(x1);@gin(x2);@gin(y1);@gin(y2);@gin(y3);@gin(y4);@gin(y5);Global optimal solution found at iteration: 5Objective value: 560.0000Variable Value Reduced Cost X1 0.000000 100.0000 X2 0.000000 100.0000 Y1 4.000000 40.00000 Y2 2.000000 40.00000 Y3 0.000000 40.00000 Y4 0.000000 40.00000 Y5 8.000000 40.00000Row Slack or Surplus Dual Price1 560.0000 -1.0000002 0.000000 0.0000004 2.000000 0.0000005 0.000000 0.0000006 5.000000 0.0000007 2.000000 0.0000008 0.000000 0.0000009 0.000000 0.0000003、指派问题:6个人计划做6项工作,其效益如下表(”-”表示某人无法完成某项工作),4、有限制的运输问题:6个发点6个收点,其供应量、接收量和运费如下表1(”-”表示某个发电无法向某个收点运输货物),如果某个发点向某个收点运输货物,则运输量不得低使用Lingo的一些注意事项Min z1.“>”与“>=”功能相同。
数学建模“教你如何进行人员分配”的问题
如何进行人员分配“A公司”是一家从事建筑工程的公司,现有41个专业技术人员,其结构和相应的工资水平分布如表1所示:表1 人员结构及工资情况目前,公司承接4个工程项目,其中2项是现场施工,分别在A地和B地,主要工作在现场完成;另外2项是工程设计,分别在C地和D地,主要工作在办公室完成。
由于4个项目来源于不同客户,并且工作的难易程度不同,因此,各项目的合同对有关技术人员的收费标准不同,具体情况如表2:表2 不同项目和各种人员的收费标准为了保证工程质量,各项目中必须保证专业人员结构符合客户的要求,具体情况如表3所示:表3 各项目对专业技术人员结构的要求说明:(1)项目D,由于技术要求较高,人员配备必须是助理工程师以上,技术员不能参加;(2)高级工程师相对稀少,而且是保证质量的关键,因此,各项目客户对高级工程师的配备要求不能少于一定数目的限制。
各项目对其他专业人员也有不同的限制或要求;(3)各项目客户对总人数都有限制;(4)由于C,D两项目是在办公室完成,所以每人每天有50元的管理费开支;由于收费是按人工计算的,而且4个项目总共同时最多需要的人数是10+16+11+18=55,多于公司现有人数41,应如何合理地分配现有的人员力量,使公司每天的直接受益最大?2011年高教社杯全国大学生数学建模竞赛选拔赛题目如何进行人员分配摘要人力资源管理是一个公司进行人力资源分配的重要工作,合理地安排人力资源,能够为企业带来最大的经济效益。
公司不只要对现有的人员进行任务分配,还要使公司的人力资源结构保持一个科学的比例。
本模型旨在为A建筑公司提供一个良好的人员分配方案,达到公司获利最大的目的,以及怎样在以后的人员招聘中使人力资源结构保持一个良好的比例。
在公司现有的情况下,通过分析各种影响因素,排除掉一些不必要的干扰因素,运用整数线性规划和分支定界法的知识建立数学模型,并使用LINGO软件进行编程求解,得出公司人员分配的最佳方案。
数学建模:运用Lindolingo软件求解线性规划
数学建模:运用L i n d o l i n g o软件求解线性规划-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN1、实验内容:对下面是实际问题建立相应的数学模型,并用数学软件包Lindo/lingo 对模型进行求解。
某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论:1)若投资0.8万元可增加原料1千克,问应否作这项投资.2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划.数学建模论文运用lindo/lingo软件求解线性规划运用lindo/lingo软件求解线性规划一、摘要本文要解决的问题是如何安排生产计划,即两种饮料各生产多少使获利最大。
首先,对问题进行重述明确题目的中心思想,做出合理的假设,对符号做简要的说明。
然后,对问题进行分析,根据题目的要求,建立合适的数学模型。
最后,运用lindo/lingo软件求出题目的解。
【关键词】最优解 lindo/lingo软件第二、问题的重述某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过8百箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论:1)若投资0.8万元可增加原料1千克,问应否作这项投资。
2)若每百箱甲饮料获利可增加1万元,问应否改变生产计划。
第三、模型的基本假设1、每一箱饮料消耗的人力、物力相同。
2、每个人的能力相等。
3、生产设备对生产没有影响。
第四、符号说明1、x.....甲饮料2、y.....乙饮料3、z.....增加的原材料第五、问题分析根据题目要求:如何安排生产计划,即两种饮料各生产多少使获利最大,可知本题所求的是利润的最大值。
数学建模实验报告关于LINGO的解题方法及其思路分析
数学建模实验报告1.解析:此题属于0-1模型问题。
设队员序号为i ,泳姿为j ,记c ij 为队员i 第j 种泳姿的百米成绩,若选择队员i 参加泳姿j 的比赛,记x ij =1, 否则记xij =0;则有,目标函数为∑∑===4151j i ij ij x c Z Min ,每个人最多选泳姿为1,则有5,1,141=≤∑=i xj ij,每种泳姿有且仅有1人,则有4,1,151==∑=j xi ij。
若丁的蛙泳成绩退步及戊的自由泳成绩进步,则将c43的值和c54的值改变即可。
实验过程及运行结果如下:若丁的蛙泳成绩退步为1'15"2及戊的自由泳成绩进步57"5,计算结果如下:通过计算结果可知,在原数据的情况下,队伍的选择应该是甲参加自由泳,乙参加蝶泳,丙参加仰泳,丁参加蛙泳,戊不参加任何比赛,且最好的时间是253.2秒。
若丁的蛙泳成绩退步为1'15"2及戊的自由泳成绩进步57"5,则组成接力的比赛队伍调整为乙参加蝶泳,丙参加仰泳,丁参加蛙泳,戊参加自由泳,甲不参加任何比赛。
2.解析:此题属于线性规划问题。
已知某工厂用1A 、2A 两台机床加工1B 、2B 、3B 三种不同的零件,设1A 生产1B 、2B 、3B 的个数分别为1x 、2x 、3x ,2A 生产1B 、2B 、3B 的个数分别为4x 、5x 、6x ,则目标函数为min=1*2*1x +2*3*2x +3*5*3x +1*3*4x +1*3*5x +3*6*6x ;1A 加工的工时小于80小时,2A 加工的工时小于100小时,生产1B 、2B 、3B 的总数分别为70个、50个、20个。
实验过程及运行结果如下:通过计算结果可知,当1A 生产1B 、2B 、3B 的个数分别为68个、0个、4个,2A 生产1B 、2B 、3B 的个数分别为2个、50个、16个的时候,才能得到最低的成本640元。
运用lingo和matlab软件求解线性规划问题的比较研究
运用lingo和matlab软件求解线性规划问题的比较研究近年来,线性规划问题几乎在各个领域的广泛应用,如企业管理、生产调度、图像处理、军事规划、模型计算、资源配置和最优化规划等。
尽管线性规划问题的求解有很多的理论基础以及可以用数学方法求解的方法,但是当问题较大时,用传统的数学方法很难获得满意的结果。
因此,计算机软件用于求解线性规划问题变得越来越重要。
Lingo和Matlab是当今应用最为广泛的两个线性规划软件,它们都可以帮助我们快速准确求解线性规划问题。
本文就其原理及运用方法进行比较研究。
首先,对Lingo和Matlab软件简单介绍。
Lingo是一款有效的线性规划软件,具有易用的模型构建工具,可以根据简单的语法去构建复杂的线性规划模型,能够有效地用来解决线性规划问题。
Matlab是利用直接解法和迭代解法的应用程序,具有许多内置函数可以帮助我们解决线性规划问题,而且支持多变量版本的线性规划模型,可以更好地处理大规模的线性规划问题。
其次,分析Lingo和Matlab软件在求解线性规划问题时的优势和缺点。
Lingo软件比Matlab更容易构建线性规划模型,但Lingo的缺点在于,它的计算速度比Matlab要慢得多,另外,它的可靠性和可移植性也不如Matlab好,而Matlab的求解过程更加复杂,灵活性也不如Lingo好。
最后,本文根据实例,对Lingo和Matlab软件进行了比较研究,分析了它们在求解线性规划问题时的优缺点,发现Lingo有着更容易构建模型的优势,但计算速度较慢,而Matlab则相对灵活性较差,但它的求解过程更加复杂,计算速度更快。
本文的研究结果为选择合适的软件求解线性规划提供了一定的参考,以便更好地解决线性规划问题。
本文的研究为线性规划问题求解提供了一定的理论依据,同时还指出Lingo和Matlab两个软件各有特点,可以根据实际情况来选择合适的软件进行求解。
它们在求解大型线性规划问题时都有特殊的专业利用价值,能够帮助我们有效地解决实际问题,从而节约时间、提高效率。
数学建模论文最优时间问题
数学建模论文-最优时间问题最优时间问题【摘要】“时间就是金钱”这一比喻最早出自英国19世纪一位多产小说家布尔沃·利顿。
其实,时间比金钱更珍贵,钱——赔了,可以再赚;赚了,有可能还会亏,但时间就好比一只青春小鸟,一旦飞走,就永远不回来了。
在一切资源浪费中,它是最不可原谅的浪费。
“浪费他人时间就等于谋财害命”已成了了大众的口头禅。
在最短时间内完成任务是符合众人之想法的。
在实际生活中可能会遇到这样的问题:若干项任务分给若干人来完成,因为每个人的专长不同,他们完成每项任务的时间也就不一样,应该如何分派这些任务才能使他们在最短时间内完成任务呢?不同的策略得到的结果不一样,各个策略之间可以有相互制约关系,如何在满足一定条件下作出抉择,使得效率最高。
本文先对这4位同学在第一轮面试和第二轮面试进行比较分析,得出第二轮面试的实际时间,再对这4位同学在第二轮面试和第三轮面试进行比较分析,得出第三轮面试的实际时间,发现第二轮面试与第三轮面试的比较就是第一轮面试与第二轮面试的递归,得出了他们比较的过程,再建立面试所需时间的模型,求解模型得出当这4位同学的面试顺序为“丁->甲->乙->丙”时,他们面试的时间最短为84分钟。
关键字:最优时间一、问题重述汉文化源远流长,既古老又年轻,5000多年从未中断,这与中国人对时间认知的智慧和对时间把握的珍爱有直接关系。
“时间就是金钱”这一比喻最早出自英国19世纪一位多产小说家布尔沃·利顿。
其实,时间比金钱更珍贵,钱——赔了,可以再赚;赚了,有可能还会亏,但时间就好比一只青春小鸟,一旦飞走,就永远不回来了。
在一切资源浪费中,它是最不可原谅的浪费。
“浪费他人时间就等于谋财害命”已成了了大众的口头禅。
在最短时间内完成任务是符合众人之想法的。
在实际生活中可能会遇到这样的问题:若干项任务分给若干人来完成,因为每个人的专长不同,他们完成每项任务的时间也就不一样,应该如何分派这些任务才能使他们在最短时间内完成任务呢?不同的策略得到的结果不一样,各个策略之间可以有相互制约关系,如何在满足一定条件下作出抉择,使得效率最高?下面将过一个实例说明怎样用数学规划模型来解决这种问题:有4名同学到一家公司参加三个阶段的面试:公司要求每个同学都必须首先找公司秘书初试,然后到部门主管处复试,最后到经理处参加面试,并且不允许插队(即在任何一个阶段4名同学的顺序是一样的)。
工作最优安排问题
一.摘要对于“最优工作安排问题”数学模型的建立,其内容是通过分析给定人员和人员所需完成的任务以及完成任务所花费的时间的关系,抽象出怎样把任务指派给人员使得任务的总效率达到最高的指派问题。
于是就本题目讨论,对项目而言,越早完成越好;对人力资源而言,在该项目上所花费的人力越少越好。
因此,可以根据所优化的模型用变量代替分析变量关系,利用数学工具,进而求解。
得出最优结果。
对于问题一而言,为了工作的连贯性,不允许两人或两人以上做同一种工作。
一个人在同一时间只能做一种工作。
在这种条件下,要想尽快完成工作任务,则需要通过建立数学模型来解决。
利用Matlab软件中指派问题的匈牙利算法和Lingo软件来解决。
可以得出结论是17天。
对于问题二而言,其和问题一十分类似,但是问题二规定每人最多只能承担一种工作,而问题一则可以一个人做两个以上的工作,因此需要通过建立数学模型利用Matlab软件中指派问题的匈牙利算法来解决。
并且要考虑到一个人只能做一种工作,所以得出的结论是20天。
对于问题三而言,对于每个工作,只有当该工作完全完成之后才能进行检查工作。
为了检查的连贯性,不允许两人或两人以上检查同一种工作。
一个人在同一时间只能检查一种工作。
言下之意,一个人完成的工作和检查的工作可以是同样的,利用Matlab程序可以计算出答案是13天。
对于问题四而言,规定每人最多完成一种工作和另外一件工作的检查任务。
此时,如果继续用Matlab程序和匈牙利算法则会存在弊端,因为算下来之后的矩阵的每一行每一列只有一个1,其余均为0,因此可以利用程序代码将问题四解决,答案是48天。
关键词:Lingo Matlab 检查工作连贯性匈牙利算法程序代码二.问题的提出对于工作最优安排问题,最主要的就是在最少的时间里完成任务。
就本体而言,一共有四个问题,一是要在最短的时间里,在允许两人或两人以上做同一种工作。
一个人在同一时间只能做一种工作的条件下,如何用最少的时间完成任务呢?而是要在最短的时间里,在问题一的基础上加上每个人只能做一种工作的条件,如何求出最短的时间完成任务?三是要在问题一的基础上增加一项检查工作,对于每个工作,只有当该工作完全完成之后才能进行检查工作。
数模lingo应用-分配问题
例7.7 分配问题(指派问题,Assignment Problem )这是个给n 个人分配n 项工作以获得某个最高总效果的问题。
第i 个人完成第j 项工作 需要平均时间c ij 。
要求给每个人分配一项工作,并要求分配完这些工作,以使完成全部任 务的总时间为最小。
该问题可表示如下:minij ni ij x c ∑=1s.t. ∑==⋯=n i ij x 1n;,1,2,j ,1∑==⋯=n j ij x 1n;,1,2,i ,1 i ij x n;,1,2,j ,1,0⋯==显然,此问题可看作是运输问题的特殊情况。
可将此问题看作具有n 个源和n 个汇的问 题,每个源有1 单位的可获量,而每个汇有1 单位的需要量。
从表面看,这问题要求用整数规划以保证xij 能取0 或1。
然而,幸运的是,此问题是运输问题的特例,因此即使不限制xij取0 或1 ,最优解也将取0 或1。
如果把婚姻看作分配问题,丹茨证明,整数性质证明一夫一妻会带来最美满幸福的生活!显然,分配问题可以作为线性规划问题来求解,尽管模型可 能很大。
例如,给100 人分配100 项工作将使所得的模型具有10000 个变量。
这时,如采用专门算法效果会更好。
时间复杂度为O(n3) 的匈牙利算法便是好选择,这是由Kuhu (1955) 提出的。
现举一例: 若某单位指派工人做某工作的完成时间表如下:问应如何指派任务,使完成任何的总时间最少?model:!7 个工人,7 个工作的分配问题;sets:workers/w1..w7/;jobs/j1..j7/;links(workers,jobs): cost,volume;endsets!目标函数;min=@sum(links: cost*volume);!每个工人只能有一份工作;@for(workers(I):@sum(jobs(J): volume(I,J))=1;);!每份工作只能有一个工人;@for(jobs(J):@sum(workers(I): volume(I,J))=1;);data:cost= 6 2 6 7 4 2 54 95 3 8 5 85 2 1 9 7 4 37 6 7 3 9 2 72 3 9 5 7 2 65 5 2 2 8 11 49 2 3 12 4 5 10;enddataend计算的部分结果为:Global optimal solution found at iteration: 14Objective value: 18.00000Variable Value Reduced Cost COST( W1, J1) 6.000000 0.000000 COST( W1, J2) 2.000000 0.000000 COST( W1, J3) 6.000000 0.000000 COST( W1, J4) 7.000000 0.000000 COST( W1, J5) 4.000000 0.000000 COST( W1, J6) 2.000000 0.000000 COST( W1, J7) 5.000000 0.000000 COST( W2, J1) 4.000000 0.000000 COST( W2, J2) 9.000000 0.000000 COST( W2, J3) 5.000000 0.000000 COST( W2, J4) 3.000000 0.000000COST( W2, J6) 5.000000 0.000000 COST( W2, J7) 8.000000 0.000000 COST( W3, J1) 5.000000 0.000000 COST( W3, J2) 2.000000 0.000000 COST( W3, J3) 1.000000 0.000000 COST( W3, J4) 9.000000 0.000000 COST( W3, J5) 7.000000 0.000000 COST( W3, J6) 4.000000 0.000000 COST( W3, J7) 3.000000 0.000000 COST( W4, J1) 7.000000 0.000000 COST( W4, J2) 6.000000 0.000000 COST( W4, J3) 7.000000 0.000000 COST( W4, J4) 3.000000 0.000000 COST( W4, J5) 9.000000 0.000000 COST( W4, J6) 2.000000 0.000000 COST( W4, J7) 7.000000 0.000000 COST( W5, J1) 2.000000 0.000000 COST( W5, J2) 3.000000 0.000000 COST( W5, J3) 9.000000 0.000000 COST( W5, J4) 5.000000 0.000000 COST( W5, J5) 7.000000 0.000000 COST( W5, J6) 2.000000 0.000000 COST( W5, J7) 6.000000 0.000000 COST( W6, J1) 5.000000 0.000000 COST( W6, J2) 5.000000 0.000000 COST( W6, J3) 2.000000 0.000000 COST( W6, J4) 2.000000 0.000000 COST( W6, J5) 8.000000 0.000000 COST( W6, J6) 11.00000 0.000000 COST( W6, J7) 4.000000 0.000000 COST( W7, J1) 9.000000 0.000000 COST( W7, J2) 2.000000 0.000000 COST( W7, J3) 3.000000 0.000000 COST( W7, J4) 12.00000 0.000000 COST( W7, J5) 4.000000 0.000000 COST( W7, J6) 5.000000 0.000000 COST( W7, J7) 10.00000 0.000000 VOLUME( W1, J1) 0.000000 4.000000 VOLUME( W1, J2) 0.000000 0.000000 VOLUME( W1, J3) 0.000000 3.000000 VOLUME( W1, J4) 0.000000 4.000000 VOLUME( W1, J5) 1.000000 0.000000 VOLUME( W1, J6) 0.000000 0.000000VOLUME( W2, J1) 0.000000 2.000000 VOLUME( W2, J2) 0.000000 7.000000 VOLUME( W2, J3) 0.000000 2.000000 VOLUME( W2, J4) 1.000000 0.000000 VOLUME( W2, J5) 0.000000 4.000000 VOLUME( W2, J6) 0.000000 3.000000 VOLUME( W2, J7) 0.000000 3.000000 VOLUME( W3, J1) 0.000000 5.000000 VOLUME( W3, J2) 0.000000 2.000000 VOLUME( W3, J3) 0.000000 0.000000 VOLUME( W3, J4) 0.000000 8.000000 VOLUME( W3, J5) 0.000000 5.000000 VOLUME( W3, J6) 0.000000 4.000000 VOLUME( W3, J7) 1.000000 0.000000 VOLUME( W4, J1) 0.000000 5.000000 VOLUME( W4, J2) 0.000000 4.000000 VOLUME( W4, J3) 0.000000 4.000000 VOLUME( W4, J4) 0.000000 0.000000 VOLUME( W4, J5) 0.000000 5.000000 VOLUME( W4, J6) 1.000000 0.000000 VOLUME( W4, J7) 0.000000 2.000000 VOLUME( W5, J1) 1.000000 0.000000 VOLUME( W5, J2) 0.000000 1.000000 VOLUME( W5, J3) 0.000000 6.000000 VOLUME( W5, J4) 0.000000 2.000000 VOLUME( W5, J5) 0.000000 3.000000 VOLUME( W5, J6) 0.000000 0.000000 VOLUME( W5, J7) 0.000000 1.000000 VOLUME( W6, J1) 0.000000 4.000000 VOLUME( W6, J2) 0.000000 4.000000 VOLUME( W6, J3) 1.000000 0.000000 VOLUME( W6, J4) 0.000000 0.000000 VOLUME( W6, J5) 0.000000 5.000000 VOLUME( W6, J6) 0.000000 10.00000 VOLUME( W6, J7) 0.000000 0.000000 VOLUME( W7, J1) 0.000000 7.000000 VOLUME( W7, J2) 1.000000 0.000000 VOLUME( W7, J3) 0.000000 0.000000 VOLUME( W7, J4) 0.000000 9.000000 VOLUME( W7, J5) 0.000000 0.000000 VOLUME( W7, J6) 0.000000 3.000000 VOLUME( W7, J7) 0.000000 5.000000Row Slack or Surplus Dual Price1 18.00000 -1.0000002 0.000000 -5.0000003 0.000000 -5.0000004 0.000000 -3.0000005 0.000000 -5.0000006 0.000000 -5.0000007 0.000000 -4.0000008 0.000000 -5.0000009 0.000000 3.00000010 0.000000 3.00000011 0.000000 2.00000012 0.000000 2.00000013 0.000000 1.00000014 0.000000 3.00000015 0.000000 0.000000 00000。
线性规划和最优化问题
线性规划和最优化问题在我们的日常生活和工作中,经常会面临各种各样的决策问题。
如何在有限的资源条件下,实现最佳的效果或者达成最优的目标,这就涉及到线性规划和最优化问题。
线性规划是数学规划的一个重要分支,它是一种用于解决在一定约束条件下,如何优化线性目标函数的方法。
简单来说,就是在一些限制条件下,找到一个最好的解决方案。
想象一下,你是一家工厂的经理,你有一定数量的原材料、工人工作时间和机器设备。
同时,你生产的不同产品有着不同的利润。
你需要决定每种产品生产多少,才能使总利润最大。
这就是一个典型的线性规划问题。
再比如,你正在规划一次旅行。
你有一定的预算,有限的时间,不同的目的地和交通方式,以及每个目的地的吸引力。
你要如何安排行程,才能在预算和时间内,获得最大的旅行满足感?这也是一个可以用线性规划来解决的问题。
线性规划问题通常有三个主要组成部分:决策变量、目标函数和约束条件。
决策变量就是我们需要决定的未知量。
比如在上面的工厂生产例子中,每种产品的生产量就是决策变量;在旅行规划的例子中,去每个目的地的天数或者选择的交通方式就是决策变量。
目标函数是我们想要最大化或者最小化的东西。
在工厂生产中,目标通常是总利润最大化;在旅行规划中,可能是旅行的满意度最大化或者总花费最小化。
约束条件则是对决策变量的限制。
在工厂生产中,可能是原材料的数量限制、工人工作时间的限制、机器设备产能的限制等;在旅行规划中,可能是预算的限制、时间的限制等。
解决线性规划问题的方法有很多,其中最常见的是单纯形法。
单纯形法的基本思想是从可行解区域的一个顶点出发,沿着可行解区域的边界移动,直到找到最优解。
这个过程就像是在一个多面体的顶点之间跳跃,寻找最高点或者最低点。
除了单纯形法,还有内点法等其他方法。
内点法的基本思想是从可行解区域的内部出发,通过一系列的迭代逐步接近最优解。
线性规划在很多领域都有着广泛的应用。
在农业领域,农民可以用线性规划来决定种植不同作物的面积,以实现最大的收益。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工作人员的最优时间分配问题的研究
【摘要】
由于每个人的工作效率不同,导致不同的分配方式会有不同的时间开销。
本文建立了0-1规划模型对最少时间成本下的工作人员分配问题进行了研究。
本问题中首先确定第i人做或者不做第j工作将问题定量化,再以全部的工作时间为目标函数,最后使用Lingo对目标函数求最优解得出最终结果。
关键词:最少时间最优解时间分配0-1模型Lingo 线性规划
一、问题重述
设有人员12个,工作10件,且一人做一个工作,第i人做第j件工作的时间(或费用)c(取值见表1.1),问:如何分派可使工作时间(或总费用)最少。
为
ij
表1.1 c ij
二、问题假设
1.每个人都能在自己的花销时间内完成工作。
2.每个人只能做一个工作,即既不能同时做两个工作,也不能在一个工作做完后再做其他工作。
3.每件工作都必须有人做,且只能由一个人独立完成。
4.各个工作之间没有相互联系。
即一个工作的完成与否,不受另一个工作的制约。
三、符号说明
z:完成所有工作的总时间
x:第i人做第j件工作的时间
ij
四、问题分析、模型的建立与求解
1.问题的分析
最少时间(即人力资源成本)是最大利润一个很有参考价值的数据,往往需要利用数学建模的方法对其进行定量的分析,首先确定第i人做或者不做第j工作将问题定量化,再以全部的工作时间为目标函数,最后对目标函数求最优解得出最终结果。
2.模型的建立
设:
10...3,2,112...3,2,1{.1.0===
j i x ij j i j i ,件工作
人做第第件工作人不做第第 则工作时间为: ∑∑===12110
1z i ij j ij x c
限定条件为:
12...3,2,11101=≤∑=i x
j ij ,(即每个人只能做一个工作(假设2),可以小
于1是因为人比工作多,允许有人空闲)
10...3,2,11121i ==∑=j x
ij ,(即每个工作都要有人做,且只能由一个人做
(假设3))
10or x ij =
不能完成任务的人:
,,
,
,,,,,
,
,,
,,,,
4
,122,129,1099989610,77865575110,448474326=x x x x x x x x x x x x x x x x
3.模型的求解
化为标准形式如下:
∑∑===12110
1
z Min i ij j ij x c
s.t. 12...3,2,11101=≤∑=i x
j ij ,
10...3,2,11121i ==∑=j x
ij ,
10
or x ij =
,,
,
,,,,,
,
,,
,,,,
4
,122,129,1099989610,77865575110,448474326 x x x x x x x x x x x x x x x x
将上述条件,以及数据写入Lingo 中,编写程序求解。
源程序及输出结果详见附件。
4.结果分析
程序调试完成后,得到结果如下:
X( 1, 7) =
1.000000 X( 2, 10) =
1.000000 X( 5, 5) =
1.000000 X( 6, 6) =
1.000000 X( 7, 4) =
1.000000 X( 8, 2) =
1.000000 X( 9, 1) =
1.000000 X( 10, 3) =
1.000000 X( 11, 8) =
1.000000 X( 12, 9) = 1.000000
最小时间为:
z = 23
将工作分派情况与表1.1,即每个人的花费时间作对比,如下表(表1.2):
表1.2 加粗的单元格即为选择做第j件事的第i个人
现在我们可以看到,最优解基本上是集中于取值较低(即花费时间较少)的人上面,受假设2(每个人只能做一个工作,即既不能同时做两个工作,也不能在一个工作做完后再做其他工作)的约束,每一横行只能选一个格子(即每个人只能做一件工作),可不选。
模型再受到假设3的约束(每件工作都必须有人做,且只能由一个人独立完成)),所以,每一竖行必须且只能选一个格子。
对照约束条件与表1.2,我们发现有些事件取值并非该人最高效事件(如第10人),但为满足约束,所以程序从全局高度对结果进行了取舍。
由表1.2,我们可以推断,在没有计算机辅助,或待求解量较少且对结果要求不高的情况下,可以采取“画格子”的方式粗糙地求解类似问题。
但也可从思维过程看出在计算机辅助的情况下节省了大量的较繁运算。
五、模型的评价
优点
模型明了简洁,具有相当的可推广性。
缺点
模型考虑的影响因素较少。
六、模型的推广与改进
在该问题的求解中,考虑的方面较为简略,还有很多因素可以考虑。
例如在可以协作的情况下,各个人做完了分配工作后可以再其他工作的情况下,以及该情形下他们不同的休息时间,各道工作有关联时的情况等因素。
但在单一工作及简单考虑情况下,该模型具有较大的生存空间,只需改动少许数值即可推广应用。
七、附件
Lingo源程序:
model:
sets:
si/1..12/;
sj/1..10/;
sij(si,sj):c,x;
endsets
data:
c=2 5 8 3 6 12 2 4 6 7
5 4 7 2 2 0 7 3 3 1
7 23 5 4 7 4 9 6 4 6
7 9 0 5 8 8 0 0 4 0
0 8 3 2 1 7 0 8 7 9
5 9
6 8 0 3 4
7
8 7
5 5
6 4
7 5 9 0 5 0
2 2 8 8 2 9 4
3 8 5
3 5 5 7 3 0 8 0 0 6
8 7 4 3 7 5 9 8 0 3
3 8 8 1
4 8 2 1 9 5
3 0 5 0 5 7 2 8 2 10;
enddata
min = @sum(sij:c*x);
@for(sij:@bin(x));!限制x为0-1变量;
@for(sj(j):@sum(si(i):x(i,j))=1); !(即每个工作都要有人做,且只能由一个人做(假设3));
@for(si(i):@sum(sj(j):x(i,j))<=1); !(即每个人只能做一个工作(假设2),可以小于1是因为人比工作多,允许有人空闲);
!强制等于0的量。
即无法完成某项工作的人;
x(2,6)=0;
x(4,3)=0; x(4,7)=0; x(4,8)=0; x(4,10)=0;
x(5,1)=0; x(5,7)=0;
x(6,5)=0;
x(7,8)=0; x(7,10)=0;
x(9,6)=0; x(9,8)=0; x(9,9)=0;
x(10,9)=0;
x(12,2)=0; x(12,4)=0;
Lingo求解输出结果:
Global optimal solution found at iteration: 21
Objective value: 23.00000
Variable Value Reduced Cost
X( 1, 7) 1.000000 2.000000
X( 2, 10) 1.000000 1.000000
X( 5, 5) 1.000000 1.000000
X( 6, 6) 1.000000 3.000000
X( 7, 4) 1.000000 4.000000
X( 8, 2) 1.000000 2.000000
X( 9, 1) 1.000000 3.000000
X( 10, 3) 1.000000 4.000000
X( 11, 8) 1.000000 1.000000
X( 12, 9) 1.000000 2.000000
【参考文献】
[1] 姜启源,谢金星,叶俊. 数学模型[M].北京:高等教育出版社,2003.8。