工厂计划最优化模型.doc_第1页
工厂计划最优化模型.doc_第2页
工厂计划最优化模型.doc_第3页
工厂计划最优化模型.doc_第4页
工厂计划最优化模型.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工厂计划最优化模型 工厂计划最优化模型重庆理工大学电子信息与自动化学院组员周昌申吴亭亭夏苗摘要本文针对工厂机床计划的管理优化问题,采用了动态规划建立数学最优化模型,求解得到了在不同管理条件下收益最大的各产品产量安排的策略以及价格变化和引入新机床对计划和收益的影响。 对于问题 (1),通过合理的假设,首先根据题中所给的条件找出工厂收益的决定条件,利用线性规划列出目标函数Max。 由观察和计算可知各种机床分别在1月到6月的每个月中工作的最大的有效工作时间(其时间表见附表一),再在机床工作的最大有效时间和产品的市场容量及库存的约束条件下,运用lingo软件算出最优生产条件下的最大收益为93886.5元。 其次通过产品价格和引入新机床对产品的生产量,销售量以及库存量的影响来定量分析该种变化对工厂计划和收益的影响。 对于问题 (2),各机床不再规定哪月哪些机床维修,而是选择合适的月份进行维修,这样也可以达到增加工厂总收益的效果。 所建立的模型与问题 (1)中的模型思路相似,只是在处理机床维修方面不同,多了一个约束条件。 在这里可以将六个月中维修的机床台数可以等效为各机床在六月中各种机床维修的次数,再次用lingo软件算出工厂的工体最大收益Max为111302元,其收益比问题 (1)条件下的总收益有显著增加。 在对工厂的实际情况进行仔细分析后,我们对模型进行了进一步的扩展,使机床的维修时间更加灵活。 在这个扩展中,模型一我们将六个月的时间相邻两个月划分为一个时间段,对时间进行了重新划分求解。 模型二,我们在问题 (2)的模型基础上进一步的打破时间限制,使最小约束单位变为小时。 最后求解出两种模型的最大效益分别是113227元,116630元,工厂收益和得到了进一步的增大。 本文结合实际的情况对机床维修进行深入分析,得到了符合实际要求的数学模型,达到令人满意的效果。 关键字规划最优化灵敏度时间段划分灵活1.问题的重述在工厂计划中,某厂拥有4台磨床、2台立式钻床、3台卧式钻床、一台镗床和一台刨床,用以生产7种产品,记作P1至P7。 工厂收益规定作产品售价减去原材料费用之剩余。 每种产品单件的收益及所需各机床的加工工时(以小时计)列表见附表二。 本月(一月)和随后的5个月中,各机床停工维修情况如下一月中,磨床一台;二月,卧式钻床2台;三月中,镗床一台;四月,立式钻床一台;五月,磨床一台,立式钻床一台;六月中,刨床一台,卧式钻床一台。 且各种产品各月份的市场容量表见附表三。 已知每种产品存货最多可达到100件,并且存费每件每月0.5元,在一月初,工厂内无存货,现要求在六月底各种产品存货各50件。 工厂每周工作6天,每天两班,每班工作8个小时。 无需考虑排队等待加工的问题。 1、为使收益最大,工厂应如何安排各月份各种产品的产量?考虑价格的某种变化及引入新机床对计划和收益的影响。 注意,可假设每月仅有24个工作日。 2、在工厂计划问题中,各台机床的停工维修不是如问题1那样规定了月份,而是选择最合适的月份维修。 除了磨床外,每台机床在这6个月中的一个月必须停工维修;6个月中4台磨床只有2台需要维修。 扩展工厂计划模型,以使可作上述灵活安排维修时间的决策。 停工时间的这种灵活性价值如何?2.模型的假设与符号说明2.1模型的假设与说明 (1)在产品加工过程中不考虑排队等待加工的问题。 (2)假设工厂每月只有24个工作日。 (3)假设工厂里的原材料足够多,不会出现原料短缺的情况。 (4)产品的生产不受工厂的工作工人的限制。 (5)忽略生产设备的新旧对产品加工工时的影响。 (6)假设生产设备的维修不产生维修费用,从而不影响工厂的收益情况。 (7)在这连续的六个月中假设产品的单位售价保持不变。 (8)假设工厂里的原材料得到了充分的利用,无原材料浪费现象。 说明对于假设 (1),在不考虑排队加工的同时也忽略更换产品的时间,保持机床加工是在理想的状态下进行。 2.2符号的使用与说明ij x表示i月份j种产品的生产量ijy表示i月份j种产品的销售量ij z表示i月份底j种产品的库存量j w表示销售j种产品的单位收益,其中Max为销售的最后总收益ij p表示i月份j种产品的市场容量ik s表示i月份k种设备的最大有效工作时间ik c表示i月份k种设备正常工作的台数ikM表示i月份k种设备的总台数ikQ表示i月份维修的k种设备的台数kj t表示k种设备生产j种单位产品所花费的时间说明上述变量中i,j,k的取值范围分别如下,i=1,2,3,4,5,6(表示1-6个月)j=1,2,3,4,5,6,7(表示P1-P7七种品)k=1,2,3,4,5(其中k=1时表示的是磨床,k=2表示的是立式钻床,k=3表示的是卧式钻床,k=4时表示的是镗床,k=5时表示的是刨床)3.模型的准备这是一个求收益的问题,由于收益=收入-成本,而题目中给出了每件产品的收益,工厂收益规定作产品售价减去原材料费用之剩余,意思是此时的收益并不是最后收益,最后收益应该是所得收益减去库存所需要支出费用的剩余。 由于本题中有很多约束条件每月库存容量的限制,6月份有固定的库存量的限制,每月各种产品的市场容量的限制,工作时间的限制,各机床需要维修的限制,一月份没有存货的限制,经过分析比较,利用线性规划模型来完成本次建模是最合适的,写出目标函数和约束条件,利用lingo软件编程,最后可以得出最优解。 4问题的分析对于问题 (1)的目标是确定各月份各种产品的最佳产量,使得工厂的收益最大。 (1)考虑到工厂的收益是产品的售价减去原材料费用之剩余的基础上扣除产品因某种因素而出现积压后产生的库存费用。 所以,如果在不考虑维修机床产生的费用的基础上,在进行产品生产之前进行预测性对各产品进行定量生产,同时针对各产品在市场上的市场容量减少各产品的库存,继而到达最大工厂收益的预期效果。 (2)对于产品价格的某种变化对计划和收益的影响的问题,市场中会不可避免的出现产品的价格上下波动的变化,如何知道该变化对生产计划和收益的影响?我们可以根据lingo软件中的灵敏度分析知道价格在一定范围内的变动不会对生产计划产生影响。 由于在其他条件不变的情况下对产品的价格进行变动必定会对收益产生影响,这时再据软件得到的生产量和销售量,找出两者之间的关系,而销售量与收益应成正相关,从而得出其对工厂收益的影响。 针对引入新机床对计划和收益的影响,引入新机床很明显会增加工作时间,提高对原材料的利用,缩短产品生产的时间等等。 最后利用结果数据对相关变量进行分析影响。 对于问题 (2),在除了不规定哪个月维修哪种机床的基础上其他条件与问题 (1)都相同的前提下,灵活处理机床维修的情况。 在问题分析的过程中,可以将六个月机床维修的台数问题转换为各种机床维修的总次数的问题,再通过相关的约束条件用lingo算法求解得出怎样条件下安排的机床维修计划可使得工厂的总收益Max达到最大值。 5.模型的建立与求解51问题 (1)的解决方案及模型5.1.1确定工厂总益建立目标函数是在合理安排各月各种产品的产量下工厂所得的最大收益Max.由题中可知,收入=售价-成本根据模型的准备和问题的分析可知,收益=收入-库存费用在模型中的合理假设条件下,根据已知假设的变量可以求出六个月库存所需的费用S即57110.5ijijz=(1.1)说明问题 (1)中已经定好六月底各种产品分别库存50件,由于到六月底产品不会产生库存费用,即表达式中i的取值范围为1,2,3,4,5.其中,库存量ij z的表达式如下 (1)ijijijijyxzz?=+?(1.2)再根据题中所给条件,求得收入为单件收益与销售量的乘积,式子如下,6711jijijyw=(1.3)由以上 (1)式和 (3)式可知,目标函数工厂收益Max为675711110.5ijjijijijMaxywz=?(1.4)其约束条件如下,611171010050.2824=384ijjjjjijijikikikkjijikjs tz=zzyyxpst x?s=?=?=(1.5)说明在上述的约束条件中有i=1,2,3,4,5,6(分别表示六个月)j=1,2,3,4,5,6,7(分别代表7种产品)k=1,2,3,4,5(分别代表五种机床,符号假设与说明中已说明)条件1即为题目中每种产品存货最多可到100件;条件2是题中的要求,到6月底每种产品有存货50件;条件3表示的是1月底各产品的库存量;条件4则说明各产品每月的销售量不得超过各产品每月的市场容量;条件5表示的是各种机床每月的最大有效工作时间;条件6是指各种机床每月的实际工作时间不得超过其每月的最大工作的有效时间.再利用lingo软件的最优算法求解得工厂在安排如下生产量(表5-1),销售量(表5-2)时可以得到最大的收益,Max=93886.5表5-1各月份各种产品的生产量安排表(单位/台)P1P2P3P4P5P6P7一月5008893833008002000二月7006001180500300250三月000004000四月xx004005002000100五月01006001001100300100六月550550035005500表5-2各月份各种产品销售量安排表(单位/台)产品月份P1P2P3P4P5P6P7一月5008893003008002000二月6005002000400300150三月10010000100400100四月xx004005002000100五月010050010010003000六月5005005030050500505.1.2讨论价格的变化及引入新机床对计划和收益的影响用lingo软件对模型进行灵敏分析结果见附录,将其为表格(表5-3)如下,表5-3产品收益变(单位/元)产品月份P1P2P3P4P5P6P7一月(4.28,)(4.2,14)(0,)(0,)(2.57,)(1.71,)(0,4.28)二月(0.12,)(0,)(0.5,)(0,)(0,)(0,)(0.37,)三月(10,)(0.5,6)(0,)(0.5,)(0.5,20)(0,)(0.87,)四月(0,)(0,)(0,)(0,)(0,)(0,)(0,)五月(0,)(0,)(0,)(0,)(0,)(0,)(0,)六月(0,)(0,)(2.2,)(0,)(0.5,40)(0,)(0.5,40)说明题目中所给的单位产品的收益可以看成是各单位产品的价格的综合体现,在lingo软件结果分析中可知,各种产品的单位收益在一定范围内上下波动不会对生产计划安排产生影响,从另一方面来说价格不影响生产,但价格在其范围内变动时工厂总收益与其成正相关另外一方面,我们模拟单位产品库存的价格变化对收益的影响得到如下数据库存单价0.20.30.40.50.60.7收益94229.994116.794003.493890.293776.993663.7由上图易知工厂收益与库存单价大致呈反比例关系,从总体来说库存单价对收益的影响不是很大。 通过对lingo软件运行结果的分析除立式机床外,其他机床的资源都有剩余于是我们进行了机床变量的微调,对引入新机床对计划和收益的影响进行分析,并为工厂提出最佳的引进机床的方案。 下表(表5-3)为引入新机床的收益情况,表5-3引入机床前后的收益情况(单位/元)未购置新购一台收益增加量磨床93886.594858.5972立式钻床93886.593886.50卧式钻床93886.59392841.5镗床93886.51035289641.5刨床93886.510601712130.5由上表可知,新引进一台刨床或者一台镗床后所得到的收益将明显增加,所以建议工厂引进镗床和刨床两种设备。 5.2问题 (2)的解决方案及模该题的解决方案与题一类似。 各种产品在每月底时的库存量为 (1)ijijijijyxzz?=+?(2.1)其中一月初个产品都没有库存,在六月底每种产品分别库存50件,即650j z=(2.2)工厂需付出的库存费用为每件每月存费与库存量的乘积,即57110.5ijijz=(2.3)工厂的毛收益为单件产品的收益与其销售量的乘积,即6711jijijyw=(2.4)其中建立了一个“机床-月份”的矩阵?=111111111111222222333333444444M ik则有,目标函数,即675711110.5ijjijijijMaxywz=?(2.5)约束条件如下,()()611171 (1)6163161010050384.21,2314,5ijjjjjijijikikkjijikjijijijijikikikikiiiikis tkKz=zzyyxpsct x?syxzzQcMQQQ=?=?=?=+?=?=(2.6)说明前面六个条件与题一相同。 最后面五个条件分别表示五种机床i月份维修各机床的台数(即次数)。 通过lingo软件的计算可知在如下生产安排和机床维修安排的前提下可以到达最大的工厂收益的效果。 由结果可得到各种产品的生产量的安排(表5-4),如下表所示表5-4各月份各种产品的生产量(单位/件)月份P1P2P3P4P5P6P7一月11008375003001xx000二月000003000三月30060000500400100四月xx004005002000100五月010050010010003000六月5505501503501150550110各月份各种产品的销售量通过可得如下表(表5-5)表5-5各月份各种的销售量(单位/件)月份P1P2P3P4P5P6P7一月5008373003008002000二月600020004003000三月30060000500400100四月xx004005002000100五月010050010010003000六月500500100300110050060通过得到的机床维修的安排如下表(表5-6)表5-6各月份各种设备的维修台数(单位/台)最终的最大工厂收益为Max=111302.6.模型的改进在以上的模型当中,机床的维修都是以月为单位进行,与实际工厂中机床的维修不尽相同,如果机床突然出现故障会对工厂的生产计划产生极大的影响,为克服机床维修时间不灵活的问题,我们提出了一下两种模型改变方案。 方案一我在考虑到现实情况中可能机床的维修有他自己的维修周期,所以我们在保持其维修机器时间周期为一个月的时间的基础上对第二题的模型进行了进一步的改进消除了月份界限的限制已达到灵活安排维修时间使合收益最大的目的。 月份设备一月二月三月四月五月六月磨床000020立式钻床010010卧式钻床030000镗床010000刨床010000首先我们对原有的时间界限进行了处理,将前后两个月划分为一个时间段,形成新的六个时间段,分别是(一月,二月),(二月,三月),(三月,四月),(四月,五月),(五月,六月),(六月,一月);这样相应的市场容量也会随之改变为相邻两个月的是市场容量的和得到如下矩阵?=1607001900600400150010006080021004006006005001003001xx00900400200xx007005004009005002507009000xx1009002505001xx0050015001100pij相应的收益,约束条件也会被扩大了一倍,模型公式如下目标函数675711110.50.5ijjijijijMaxywz=?=?(3.1)61117101002502.2384768ijjjjjijijikikikkjijikjs tz=zzyyxpst x?s=?=?=(3.2)利用lingo软件编程求解(程序见附件2-2);得到总收益是113227元。 如下生产安排和机床维修安排的前提下可以到达最大的工厂收益的效果。 表5-7各个机床的维修安排(单位/台)(一月,二月)(二月,三月)(三月,四月)(四月,五月)(五月,六月)(六月,一月)磨000200垂直钻孔010100水平钻孔000021镗孔010000刨010000表5-8各个月各种产品的生产,销售情况(单位/台)P1P2P3P4P5P6P7一月产量2000191770030021005000销售110015005003001xx000二月产量000007000销售90041720009007000三月产量500900400500700400200销售500900400500700400200四月产量xx009006001xx00100销售xx009006001xx00100五月产量500600600400210080060销售500600600400210080060六月产量110016005007002000800260销售100015004006001900700160方案二我们可以将机床维修的时间换为更小的时间单位,避免机床维修好后出现闲置的现象,更充分的利用机床,以此达到工厂收益最大。 下列表达式中M k表示五种机床的台数,从上到下依次为磨床,立式钻长床,卧式钻床,镗床,刨床.Qk表示五种机床中各种机床需要维修的台数。 ?=11324M k?=11322Qk()67113846kkjijkijQt x?M=?(4.1)该模型的目标函数与其他约束条件(除了最后五个条件不需要和将sik变为(元。 )QMkk?6外)与题二的模型一样。 计算求得工厂最大收益为1166307.模型的优缺点优点模型的适用性较好,能够随着市场的变化而作出相应的变动,从而得到更大的收益,具有较强的应用指导意义。 模型的建立运用规划的方法,可理解性强,应用广泛。 缺点没有考虑到机床维修的费用对工厂总体收益的影响,与实际情况有出入。 参考文献1.数学建模竞赛获奖论文精选与点评/韩中庚主编.北京科学出版社,xx.2.数学建模方法/刘承平主编.北京高等教育出版社,xx.7.3.LINGO和EXCEL在数学建模中的应用/袁新生,邵大宏,郁时炼主编.北京科学出版社,xx附表表一设备月份一月二月三月四月五月六月磨床立式钻床卧式钻床镗床刨床115276811523843841536768768384384153676811520384153638411523843841152384115238438415367687683840表二产品P1P2P3P4P5P6P7收益106841193磨0.50.70000.30.20.5垂直钻孔0.10.200.300.60水平钻孔0.200.80000.6镗孔0.050.0300.070.100.08刨000.0100.0500.05表三产品P1P2P3P4P5P6P7一月5001000300300800xx00二月6005002000400300150三月30060000500400100四月xx004005002000100五月010050010010003000六月500500100300110050060附录灵敏度分析:range:Ranges inwhich thebasis isunchanged:Objective CoefficientRanges CurrentAllowable AllowableVariable CoefficientIncrease DecreaseY(1,1)10.00000INFINITY5.714286Y(1,2)6.0000008.0000001.800000Y(1,3)8.000000INFINITY8.000000Y(1,4)4.000000INFINITY4.000000Y(1,5)11.00000INFINITY8.428571Y(1,6)9.000000INFINITY7.285714Y(1,7)3.0000001.285714INFINITY Y(2,1)10.00000INFINITY9.875000Y(2,2)6.000000INFINITY6.000000Y(2,3)8.000000INFINITY7.500000Y(2,4)4.000000INFINITY4.000000Y(2,5)11.00000INFINITY11.00000Y(2,6)9.000000INFINITY9.000000Y(2,7)3.000000INFINITY2.625000Y(3,1)10.00000INFINITY0.0Y(3,2)6.0000000.05.500000Y(3,3)8.000000INFINITY8.000000Y(3,4)4.000000INFINITY3.500000Y(3,5)11.000009.00000010.50000Y(3,6)9.000000INFINITY9.000000Y(3,7)3.000000INFINITY2.125000Y(4,1)10.00000INFINITY10.00000Y(4,2)6.000000INFINITY6.000000Y(4,3)8.000000INFINITY8.000000Y(4,4)4.000000INFINITY4.000000Y(4,5)11.00000INFINITY11.00000Y(4,6)9.000000INFINITY9.000000Y(4,7)3.000000INFINITY3.000000Y(5,1)10.00000INFINITY10.00000Y(5,2)6.000000INFINITY6.000000Y(5,3)8.000000INFINITY8.000000Y(5,4)4.000000INFINITY4.000000Y(5,5)11.00000INFINITY11.00000Y(5,6)9.000000INFINITY9.000000Y(5,7)3.000000INFINITY3.000000Y(6,1)10.00000INFINITY10.00000Y(6,2)6.000000INFINITY6.000000Y(6,3)8.000000INFINITY5.800000Y(6,4)4.000000INFINITY4.000000Y(6,5)11.0000029.0000010.50000Y(6,6)9.000000INFINITY9.000000Y(6,7)3.00000037.000002.500000程序附件问题一的程序(1-1)model:title productionplan;sets:machine/1.5/;month/1.6/;product/1.7/:w;link1(month,product):x,y,p,z;link2(machine,product):t;link3(machine,month):s,c;endsets data:w=106841193;p=5001000300300800xx00600500200040030015030060000500400100xx004005002000100010050010010003000500500100300110050060;t=0.50.70000.30.20.50.10.200.300.600.200.80000.60.050.0300.070.100.08000.0100.0500.05;c=344434222112313332110111111110;enddata max=sum(link1(i,j):w(j)*y(i,j)-0.5*z(i,j)+sum(product(j):0.5*z(6,j);for(month(i)|i#gt#1:for(product(j):z(i,j)=x(i,j)-y(i,j)+z(i-1,j);z(i,j)=100;);for(product(j):z(1,j)=x(1,j)-y(1,j);z(6,j)=50;);for(month(i):for(product(j):y(i,j)=p(i,j);for(machine:for(month:s=2*8*24*c);for(month(i):sum(product(j):t(1,j)*x(i,j)=s(1,i););for(month(i):sum(product(j):t(2,j)*x(i,j)=s(2,i););for(month(i):sum(product(j):t(3,j)*x(i,j)=s(3,i););for(month(i):sum(product(j):t(4,j)*x(i,j)=s(4,i););for(month(i):sum(product(j):t(5,j)*x(i,j)=s(5,i););for(link1:gin(x);gin(y);gin(p);gin(z);for(link3:gin(s);gin(c);end问题二的程序(2-1)model:title productionplan;sets:machine/1.5/:b;month/1.6/;product/1.7/:w;link1(month,product):x,y,p,z;link2(machine,product):t;link3(machine,month):s,c,m,q;endsets data:w=106841193;p=5001000300300800xx00600500200040030015030060000500400100xx004005002000100010050010010003000500500100300110050060;t=0.50.70000.30.20.50.10.200.300.600.200.80000.60.050.0300.070.100.08000.0100.0500.05;b=42311;m=444444222222333333111111111111;enddata max=sum(link1(i,j):w(j)*y(i,j)-0.5*z(i,j)+sum(product(j):0.5*z(6,j);for(machine(k):for(month(i):c(k,i)=m(k,i)-q(k,i);for(machine(k):sum(month(i):q(k,i)=b(k);for(month(i)|i#gt#1:for(product(j):z(i,j)=x(i,j)-y(i,j)+z(i-1,j);z(i,j)=100;);for

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论