目标规划6847362543

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

8.2目标规划的数学模型为了克服线性规划的局限性,目标规划采用如下手段:1.设置偏差变量;2.统一处理目标与约束;3.目标的优先级与权系数。目标规划的基本概念1.设置偏差变量用偏差变量(Deviationalvariables)来表示实际值与目标值之间的差异,令----超出目标的差值,称为正偏差变量----未达到目标的差值,称为负偏差变量其中与至少有一个为0约定如下:•当实际值超过目标值时,有•当实际值未达到目标值时,有•当实际值与目标值一致时,有ddddd;0,0dd;0,0dd.0,0dd2.统一处理目标与约束在目标规划中,约束可分两类,一类是对资源有严格限制的,称为刚性约束(HardConstraint);例如在用目标规划求解例8.1中设备A禁止超时使用,则有刚性约束另一类是可以不严格限制的,连同原线性规划的目标,构成柔性约束(SoftConstraint).例如在求解例8.1中,我们希望利润不低于1500元,则目标可表示为.122221xx.1500300200};min{21ddxxd求解例8.1中甲、乙两种产品的产量尽量保持1:2的比例,则目标可表示为设备C可以适当加班,但要控制,则目标可表示为.02};min{21ddxxdd.155};min{2ddxd设备B既要求充分利用,又尽可能不加班,则目标可表示为.164};min{1ddxdd从上面的分析可以看到:•如果希望不等式保持大于等于,则极小化负偏差;•如果希望不等式保持小于等于,则极小化正偏差;•如果希望保持等式,则同时极小化正、负偏差.3.目标的优先级与权系数在目标规划模型中,目标的优先分为两个层次,第一个层次是目标分成不同的优先级,在计算目标规划时,必须先优化高优先级的目标,然后再优化低优先级的目标。通常以P1,P2,...表示不同的因子,并规定PkPk+1,第二个层次是目标处于同一优先级,但两个目标的权重不一样,因此两目标同时优化,用权系数的大小来表示目标重要性的差别。解在例8.1中设备A是刚性约束,其于是柔性约束.首先,最重要的指标是企业的利润,将它的优先级列为第一级;其次,甲、乙两种产品的产量保持1:2的比例,列为第二级;再次,设备B和C的工作时间要有所控制,列为第三级,设备B的重要性是设备C的三倍,因此它们的权重不一样。由此可以得到相应的目标规划模型。目标规划模型的建立例8.3用目标规划方法求解例8.1);433()(min43332221dddPddPdPz,1222..21xxts.4,3,2,1,0,,,,155,164,02,15003002002144233122211121iddxxddxddxddxxddxxii目标规划的一般模型目标规划模型的一般数学表达式为:;)(min11ljjkjjkjqkkdwdwPz,,,2,1,),(..1mibxatsijnjij,,,2,1,0,,,,2,1,0,,,2,1,1liddnjxligddxciijiiijnjij求解目标规划的序贯式算法其算法是根据优先级的先后次序,将目标规划问题分解成一系列的单目标规划问题,然后再依次求解。算法8.1对于k=1,2,…,q,求解单目标问题;)(min1ljjkjjkjdwdwz,,,2,1,),(..1mibxatsijnjij,,,2,1,0,,,,2,1,0,1,,2,1,)(,,,2,1,*11liddnjxkszdwdwligddxciijljjsjjsjiiijnjij解因为每个单目标问题都是一个线性规划问题,因此可以采用LINDO软件进行求解。按照算法8.1和例8.3目标规划模型编写单个的线性规划求解程序。求第一级目标企业利润最大,列出LINDO程序。程序名:exam0804a.ltx例8.4用算法8.1求解例8.3MINDMINUS1SUBJECTTO2X1+2X2=12200X1+300X2-DPLUS1+DMINUS1=15002X1-X2-DPLUS2+DMINUS2=04X1-DPLUS3+DMINUS3=165X2-DPLUS4+DMINUS4=15END求解结果可见程序演示目标解因求出的目标函数的最优值为0,即第一级偏差为0.再求第二级目标,列出其LINDO程序。程序名:exam0804b.ltx例8.4用算法8.1求解例8.3MINDPLUS2+DMINUS2SUBJECTTO2X1+2X2=12200X1+300X2-DPLUS1+DMINUS1=15002X1-X2-DPLUS2+DMINUS2=04X1-DPLUS3+DMINUS3=165X2-DPLUS4+DMINUS4=15DMINUS1=0END求解结果可见程序演示修改的目标增加的约束解因求出的目标函数的最优值仍为0,即第二级偏差仍为0.继续求第三级目标,列出其LINDO程序。程序名:exam0804c.ltx例8.4用算法8.1求解例8.3MIN3DPLUS3+3DMINUS3+DPLUS4SUBJECTTO2X1+2X2=12200X1+300X2-DPLUS1+DMINUS1=15002X1-X2-DPLUS2+DMINUS2=04X1-DPLUS3+DMINUS3=165X2-DPLUS4+DMINUS4=15DMINUS1=0DPLUS2+DMINUS2=0END求解结果可见程序演示求出的目标函数的最优值为29,即第三级偏差为29,分析结果,x1为2,x2为4,DPLUS1为100,因此目标规划的最优解为x*=(2,4),最优利润为1600.修改的目标增加的约束解按照算法8.1和例8.3目标规划模型编写LINGO求解程序,列出其LINGO程序,程序名:exam0805.lg4例8.5(继例8.4)用算法8.1求解例8.3的LINGO程序程序运行说明,分三次求解:在做第一级目标计算时,P(1),P(2)和P(3)分别输入1,0和0,Goal(1)和Goal(2)输入两个较大的数,表示这两项约束不起作用;在做第二级目标计算时,P(1),P(2)和P(3)分别输入0,1和0,由于第一级的偏差为0,因此Goal(1)为0,Goal(2)输入一个较大的数;在做第三级计算时,P(1),P(2)和P(3)分别输入0,0和1,由于第一级、第二级的偏差为0,因此Goal(1)和Goal(2)的输入值也为0。结果可以参见程序演示!!!由于在例8.4中虽然给出了目标规划问题的最优解,但需要连续编几个LINDO程序,在使用时不方便,下面使用LINGO软件,编写一个通用程序。8.3目标规划模型的实例前面介绍了目标规划的求解方法,接着再介绍几个目标规划模型的实例。某音像商店有5名全职售货员和4名兼职售货员。全职售货员每月工作160小时,兼职售货员每月工作80小时。根据过去的工作记录,全职售货员每小时销售CD25张,平均每小时工资15元,加班工资每小时22.5元。兼职售货员每小时销售CD10张,平均每小时工资10元,加班工资每小时10元。现在预测下月CD销售量为27500张,商店每周开门营业6天,所以可能要加班。另每出售一张CD盈利1.5元。例8.6该商店经理认为,保持稳定的就业水平加上必要的加班,比不加班但就业水平不稳定要好。但全职售货员如果加班过多,就会因疲劳过度而造成效率下降,因此不允许每月加班超过100小时。建立相应的目标规划模型,并运用LINGO软件进行求解。解首先建立目标约束的优先级。P1:下月的CD销售量达到27500张;P2:限制全职售货员加班时间不超过100小时;P3:保持全体售货员充分就业,因为充分工作是良好劳资关系的重要因素,但对全职售货员要比兼职售货员加倍优先考虑;P4:尽量减少加班时间,但对两种售货员区别对待,优先权因子由他们对利润的贡献而定。例8.6例8.6第二,建立目标约束。(1)销售目标约束。设x1:全体全职售货员下月的工作时间;x2:全体兼职售货员下月的工作时间;:达不到销售目标的偏差;:超过销售目标的偏差。希望下月的销售量超过27500张CD片,因此销售目标为1d1d.275001025};min{11211ddxxd例8.6.320,800};2min{33222132ddxddxdd第二,建立目标约束。(2)正常工作时间约束,设:全体全职售货员下月的停工时间;:全体全职售货员下月的加班时间;:全体兼职售货员下月的停工时间;:全体兼职售货员下月的加班时间。由于希望保持全体售货员充分就业,同时加倍优先考虑全职售货员,因此工作目标约束为3d3d2d2d例8.6第二,建立目标约束。(3)正常工作时间约束,设:全体全职售货员下月加班不足100小时的偏差;:全体全职售货员下月加班超过100小时的偏差。限制全职售货员加班时间不超过100小时,将加班约束看成正常上班约束,不同的是右端加上100小时,因此加班目标约束为4d4d.900};min{4414ddxd例8.6第二,建立目标约束。接上(3)另外,全职售货员加班1小时,商店得到的利润为15元(25*1.5-22.5=15),兼职售货员加班1小时,商店得到的利润为5元(10*1.5-10=5),因此加班1小时全职售货员获得的利润是兼职售货员的3倍,故权因子之比为,3:1:32dd所以,另一个加班目标约束为:.320,800};2min{33222132ddxddxdd例8.6第三,按目标的优先级,写出相应的目标规划模型:);3()2(min3243234211ddPddPdPdPz,275001025..1121ddxxts.4,3,2,1,0,,,,900,320,80021441332221iddxxddxddxddxii第四,写出相应的LINGO程序,程序名:exam0806.lg4.程序运行说明,分四次求解:在做第一级目标计算时,P(1),P(2),P(3)和P(4)分别输入1,0,0和0,Goal(1),Goal(2)和Goal(3)输入两个较大的数,表示这两项约束不起作用;在做第二级目标计算时,P(1),P(2),P(3)和P(4)分别输入0,1,0和0,由于第一级的偏差为0,因此Goal(1)为0,Goal(2)和Goal(3)输入一个较大的数;在做第三级计算时,P(1),P(2),P(3)和P(4)分别输入0,0,1和0,由于第一级,第二级的偏差为0,因此Goal(1)和Goal(2)的输入值也为0,Goal(3)输入一个较大的数;在做第四级计算时,P(1),P(2),P(3)和P(4)分别输入0,0,0和1,由于第一级,第二级和第三级的偏差为0,因此Goal(1),Goal(2)和Goal(3)输入值也为0;全职售货员总工作时间为900小时(加班100小时),兼职售货员总工作时间500小时(加班180小时),下月共销售CD27500张,商店共获得利润27500*1.5-800*15-100*22.5-500*10=22000(元)其结果可以参见程序演示!!!某计算机公司生产三种型号的笔记本电脑A,B,C。这三种笔记本电脑需要在复杂的装配线上生产,生产1台A,B,C型号的笔记本电脑分别需要5,8,12小时。公司装配线正常的生产时间是每月1700小时。公司营业部门估计A,B,C三种笔记本电脑的利润分别是每台1000,1440,2520元,而公司预测这个月生产的笔记本电脑能够全部售出。例

1 / 46
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功