Lingo-中各项的含义_第1页
Lingo-中各项的含义_第2页
Lingo-中各项的含义_第3页
Lingo-中各项的含义_第4页
Lingo-中各项的含义_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、Lingo solution report中各项的含义(一)优化模型的组成优化模型包括以下3部分:l Objective Function :目标函数是一个能准确表达所要优化问题的公式。l Variables : Decision variables(决策变量),在模型中所使用的变量。l Constraints :约束条件。(二)Lingo软件使用的注意事项(1) LINGO中不区分大小写字母,变量(和行名)可以使用不超过32个字符表示,且必须以字母开头。(2)在命令方式下(CommanWindow中),必须先输入 MODEL表示开始输 入模型。LINGO中模型以“ MODEe开始,以“ EN

2、D结束。对简单的模型,这 两个语句也可以省略。(3) LINGO中的语句的顺序是不重要的,因为 LINGO总是根据“MAX =或 MIN=语句寻找目标函数,而其它语句都是约束条件(当然注释语句和 TITLE 除外)。(4) LINGO模型是由一系列语句组成,每个语句以分号“结束。(5) LINGO中以感叹号“ !”开始的是说明语句(说明语句也需要以分号 二”结束)。(6) LINGO中解优化模型时假定所有变量非负(除非用限定变量函数free或$口垣 slb另行说明)。(三)Solution Report 各项的含义例1将以下模型粘贴到Lingo中求解,其中第一行MODEL最后一行ENDfc L

3、ingo Model窗口下可以不要。MODEL:min = 2*x1 + 3*x2;x1 + x2 = 350;x1 = 100;2*x1 + x2 = 600;END得到如下的结果报告Global optimal solution found.Objective value: 800.0000Infeasibilities: 0.000000!指矛盾约束的数目;Total solver iterations: 2Model Class: LPTotal variables: 2Nonlinear variables: 0Integer variables: 0Total constraint

4、s: 4Nonlinear constraints: 0Total nonzeros: 7Nonlinear nonzeros: 0Variable Value Reduced CostX1 250.0000 0.000000X2 100.0000 0.000000Row Slack or Surplus Dual Price1 800.0000 -1.0000002 0.000000 -4.000000 !模型第一行表示目标函数,第二行对应第一个约束3 150.0000 0.0000004 0.000000 1.000000下面对Solution Report(LINGO的结果报告窗口)的各

5、个部分进行说明:Global optimal solution found表示全局最优解找到.Objective value: 800.0000表示最优目标值为 800.0000.Total solver iterations: 2表示用单纯行法进行了两次迭代.Variable 表示变量,此问题中有两个变量 X1, X2.Value 给出最优解中各变量(Variable) 的值:X1=250.0000, X2=100.0000.Reduced Cost实际上是与最优单纯形表中的检验数相差一个负号的一个数。注意下面的Ay = z把上述约束方程的系数置于表中,得到所谓的单纯器表,如表&L1所示.-

6、LB N30ckflT N一M *我的上半都包含e个行,度中B N看句一值个列即B 1 N B 九=18 1 wB e用.,- ,, f Jfrt J1 * *).它切刻应集基变址5/是印维列向盘:记作,R =(瓦瓦q3 r令非幕变忸八=叽则基变址工=3 /友的下半部只由1行.其中qB1卅一/=。月,.小各分城是对应彝茶受M的月划敷迷打 力是在现行基本可行解处的目标函数值.6巾和3号例穹面minijnii? c,X寻曲等AX 工 X之0, th?牛加炳8郎丫部忆仁和g附呻心d 3与C Ay . duM cast vectorIt fnllotvs. directly that for s mm

7、imi&aiion problem any nonbajc variables at t hsir lower bounds with stnctly 力明抗几磨 naduced ca eligible Io enter that basts vile any b3src .anables must has a reduced ccst that is exactly 0 For 9 maxirusaticn probtem th ,ariables at their to.er bounds that are eligible M entenny th ba苜母力御营刁 stnctly po

8、siti.& reduced 5tReduced Cost指为了使某个变量在解中的数值增加一个单位,目标函数值必须付出的代价。如果一个变量的Reduced Cost值为8,为了使该变量增加一个单位,在最大化(最小化)问题中,目标函数值将减少(增大)8个单位。在一个最大值的模型中,Reduced Cost对应的非基变量增加一个单位,目标值 会有减少Reduced Cost ;在一个最小值模型中,Reduced Cost对应的非基变量 增加一个单位,目标值会增大 Reduced Cost。Reduced Cost它也可以认为是:在最优化问题中,要使某个变量进入基,该变量在目标函数中的系数 应该改变

9、的数量。(在Min问题中要选单纯形表最后 一行中最大的正的判别数对应的列为主列此列对应的变量是进基变量,其目标 是使所有的判别数都非正;在Max问题中要选单纯形表最后一行最小的负数对应 的变量作为进基变量,其目标是使所有的判别数都非负)例如:在一个最大化(最小化)问题中,如果一个变量的Reduced Cost值为8,则为了使该变量进基,目标函数中该变量的系数就必须增加(减少) 8个单位。非基向量要进入基必须将它对应的检验数消为0,直观的将该非基向量的检验数取个负号加到最后一行即可,对应在方程上实际上是此检验数乘以该非基变量后的结果加到最后一行,所以前边有了系数这一说。Reduced Cost给

10、出最优的单纯形表中 目标函数行中变量对应的系数.其中基变 量的Reduced Cost值一定为0;对于非基变量(非基变量本身的取值一定为 0)和 max问题,相应的Reduced Cost值表示当该非基变量增加一个单位(其它非基变 量保持不变)时目标函数的减少的量。 这估计也是Reduced Cost的reduced所 在,很直观。在这个例子中最优解中两个变量都是基向量,因此对应的Reduced Cost的值都为0.Slack or Surplus表示接近等于的程度。在约束条件是 =中,通常叫过剩变量。如果约束条件是=,则Slack or Surplus为0,该约束是个紧约束(或有效约束)。如

11、果一个约束条件错误,作为 一个不可行解,Slack or Surplus 为负数。Slack or Surplus 表示的是:约束 离相等还差多少。如果一个约束是矛盾的(模型无可行解),则Slack or surplus 的值是负数。知道这些,可以帮助我们发现在一个不可实行的模型(指没有存在同时满足所有约束条件的变量集合)中的错误的约束条件。第2和第4行松弛变量均为0,说明对于最优解来讲,两个约束(第2和4行)均取等号,即都是紧约束.Dual Price (Shadow price)给出对偶价格的值。表示每增加一个单位(约束右边 的常数),目标值改变的数量(在最大化问题中目标函数值是增加,在最

12、小化问 题中目标函数值是减少)。比如,在上一个Min模型中第四行的1,表示2*x1 + x2 =600增加一个单位到2*x1 + x2 = 601 ,可以使目标值增加-1(因为第一行是 目标函数的 Dual Price 是-1),即Objective value = 799; 增加-1个单位到 599会使目标值增加到801。对偶价格补充一例:max=100*x+150*y;!约束条件;x=80;y=100;x*2+y 0其中0是A的转置是b的转置(是c的转鼠y=(M,.wJ最优性:设X是原问题的可行解,Y是对偶问题的 可行解,当CX = Y/b时,文和声是最优解。当线性规划问题求得最优解x/

13、(j= 1,2. )时,其对偶问题也得到最优解* (/ = 1, l.m ),且代入各自的目标函数有工=2/汽=2?% =卬“代表:第i种资源茄疝有量1了产代哀:在资源最优利用条件下对单位第i种资源的估价口 这种估价不是资滁的市场价格,而是根据资源在生产中的 作用而作的估价,因此称为影子价格.例2某家具公司制造书桌、餐桌和椅子,所用的资源有三种:木料、木工和漆 工。生产数据如下表所示:每个书桌每个餐桌每个椅子现有资源 总数木料8单位6单位1单位48单位漆工4单位2单位1.5单位20单位木工2单位1.5单位0.5单位8单位成品 单价60单位30单位20单位若要求桌子的生产量不超过5件,如何安排三

14、种产品的生产可使利润最大? 用DESKS TABLE第口 CHAIR劭别表示三种产品的生产量,建立 LP模型 max=60*desks+30*tables+20*chairs;8*desks+6*tables+chairs=48;4*desks+2*tables+1.5*chairs=20;2*desks+1.5*tables+.5*chairs=8;tables=5;求解这个模型,查看报告窗口( Reports Window):Global optimal solution found.Objective value: 280.0000Infeasibilities: 0.000000Tot

15、al solver iterations: 2Model Class: LPTotal variables: 3Nonlinear variables: 0Integer variables: 0Total constraints: 5Nonlinear constraints: 0Total nonzeros: 13Nonlinear nonzeros: 0Variable Value Reduced CostDESKS 2.000000 0.000000TABLES 0.000000 5.000000CHAIRS 8.000000 0.000000Row Slack or Surplus

16、Dual Price1 280.0000 1.0000002 24.00000 0.0000003 0.000000 10.000004 0.000000 10.000005 5.000000 0.000000Objective value:280.0000 ”表示最优目标值为 280。“Value”给出最优解中各变量的值:造2个书桌(desks) , 0个餐桌(tables ) , 8个椅子(chairs )。 所以desks、chairs是基变量(非0), tables是非基变量(0)。观察单纯性表 的最后一行(f行),当所有的检验数都非负,单纯形表左侧的行基向量对应的主 列确实是非零的。

17、还要注意最优解的基变量中无松弛变量(松弛变量的引入将不等式变为等式约束)“Slack or Surplus ”给出松驰变量的值:第1行松驰变量=280 (模型第一行表示目标函数,所以第二行对应第一个 约束)第2行松驰变量=24第3行松驰变量=0第4行松驰变量=0第5行松驰变量=5“ReducedCost”列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时,目标函数的变化率。其中基变量的reduced cost值应为0,对于非基变量Xj,相应的reduced cost值表示当某个变量Xj增加一个单位时 目标函数减少的量(max型问题)。本例中:变量tables 对应的reduce

18、d cost 值为5,表示当非基变量tables的值从0变为1时(此时假定其他非基变量保 持不变,但为了满足约束条件,基变量显然会发生变化),最优的目标函数值= 280 - 5 = 275 。DUALPRICE?(对偶价格)表示当对应约束有微小变动时,目标函数的变化率。输出结果中对应于每一个约束有一个对偶价格。若其数值为p,表示对应约束中不等式右端项若增加1个单位,目标函数将增加p个单位(ma婢问题)。 显然,如果在最优解处约束正好取等号(也就是“紧约束”,也称为有效约束或 起作用约束),对偶价格值才可能不是00本例中:第3、4行是紧约束,对应的 对偶价格值为10,表示当紧约束4 DESKS

19、+ 2 TABLES + 1.5 CHAIRS = 20 变 为 4 DESKS + 2 TABLES + 1.5 CHAIRS options-general solver-dual computations:prices & ranges-ok. 菜单 lingo-range灵敏度分析的结果是Ranges in which the basis is unchanged:Objective Coefficient Ranges:Current Allowable AllowableVariable Coefficient Increase DecreaseDESKS 60.00000 20.

20、00000 4.000000TABLES 30.00000 5.000000 INFINITYCHAIRS 20.00000 2.500000 5.000000Righthand Side Ranges:Current Allowable AllowableRow RHS Increase Decrease2 48.00000 INFINITY 24.000003 20.00000 4.000000 4.0000004 8.000000 2.000000 1.3333335 5.000000 INFINITY 5.000000目标函数中DESK酸量原来的费用系数为60,允许增加(Allowab

21、le Increase ) =20、允许减少(Allowable Decrease ) =4,说明当它在60-4 , 60+20 = 56 , 80范围变化时,最优基保持不变。对 TABLES CHAIR酸量,可以类似解释。由 于此时约束没有变化(只是目标函数中某个费用系数发生变化),所以最优基保持不变的意思也就是最优解不变(当然,由于目标函数中费用系数发生了变化, 所以最优值会变化)。第2行约束中右端项(Right Hand Side ,简写为RHS原来为48,当它在 48-24 , 48s = 24 ,川范围变化时,最优基保持不变。第3、4、5行可以类似解释。不过由于此时约束发生变化,最优

22、基即使不变,最优解、最优值也会 发生变化。灵敏性分析结果表示的是最优基保持不变的系数范围。 由此,也可以进一步 确定当目标函数的费用系数和约束右端项发生小的变化时,最优基和最优解、最优值如何变化。下面我们通过求解一个实际问题来进行说明。例3: 一奶制品加工厂用牛奶生产 A1,A2两种奶制品,1桶牛奶可以在甲车间用12小时加工成3公斤A1,或者在乙车间用8小时加工成4公斤A2。根据市场需 求,生产的A1,A2全部能售出,且每公斤 A1获利24元,每公斤A2获利16元。 现在加工厂每天能得到50桶牛奶的供应,每天正式工人总的劳动时间480小时, 并且甲车间每天至多能加工100公斤A1,乙车间的加工

23、能力没有限制。试为该 厂制订一个生产计划,使每天获利最大,并进一步讨论以下3个附加问题:1)若用35元可以买到1桶牛奶,应否作这项投资?若投资,每天最多购 买多少桶牛奶?2)若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小 时几元?3)由于市场需求变化,每公斤A1的获利增加到30元,应否改变生产计划?解:模型代码如下max=72*x1+64*x2;x1+x2=50;12*x1+8*x2=480;3*x1=100;求解这个模型并做灵敏性分析,结果如下。Global optimal solution found at iteration: 0Objective value: 3360

24、.000Variable Value Reduced CostX1 20.00000 0.000000X2 30.00000 0.000000Row Slack or Surplus Dual Price1 3360.000 1.0000002 0.000000 48.000003 0.000000 2.0000004 40.00000 0.000000Ranges in which the basis is unchanged:Objective Coefficient RangesCurrent Allowable AllowableVariable Coefficient Increas

25、e DecreaseX1 72.00000 24.00000 8.000000X2 64.00000 8.000000 16.00000Righthand Side RangesRow Current Allowable AllowableRHS Increase Decrease2 50.00000 10.00000 6.6666673 480.0000 53.33333 80.000004 100.0000 INFINITY 40.00000结果告诉我们:这个线性规划的最优解为x1=20, x2=30,最优值为z=3360, 即用20桶牛奶生产A1, 30桶牛奶生产A2,可获最大利润336

26、0元。输出中除了 告诉我们问题的最优解和最优值以外,还有许多对分析结果有用的信息,下面结合题目中提出的3个附加问题给予说明。3个约束条件的右端不妨看作3种“资 源”:原料、劳动时间、车间甲的加工能力。输出中 Slack or Surplus 给出这 3种资源在最优解下是否有剩余:原料、劳动时间的剩余均为零,车间甲尚余40 (公斤)加工能力。目标函数可以看作“效益”,成为紧约束的“资源” 一旦增加,“效益”必 然跟着增长。输出中DUAL PRICES合出这3种资源在最优解下“资源”增加 1 个单位时“效益”的增量:原料增加1个单位(1桶牛奶)时利润增长48 (元), 劳动时间增加1个单位(1小时

27、)时利润增长2 (元),而增加非紧约束车间甲的 能力显然不会使利润增长。这里,“效益”的增量可以看作“资源”的潜在价值, 经济学上称为影子价格,即1桶牛奶的影子价格为48元,1小时劳动的影子价 格为2元,车间甲的影子价格为零。读者可以用直接求解的办法验证上面的结论, 即将输入文件中原料约束 milk )右端的50改为51,看看得到的最优值(利润) 是否恰好增长48 (元)。用影子价格的概念很容易回答附加问题 1):用35元可 以买到1桶牛奶,低于1桶牛奶的影子价格48,当然应该作这项投资。回答附 加问题2):聘用临时工人以增加劳动时间,付给的工资低于劳动时间的影子价 格才可以增加利润,所以工资

28、最多是每小时2元。目标函数的系数发生变化时(假定约束条件不变),最优解和最优值会改变 吗?这个问题不能简单地回答。上面输出给出了最优基不变条件下目标函数系数 的允许变化范围:x1的系数为(72-8, 72+24) = (64, 96); x2的系数为(64-16, 64+8) = (48, 72)。注意:x1系数的允许范围需要x2系数64不变,反之亦然。 由于目标函数的费用系数变化并不影响约束条件,因此此时最优基不变可以保证最优解也不变,但最优值变化。用这个结果很容易回答附加问题3):若每公斤A1的获利增加到30元,则x1系数变为30X3=90,在允许范围内,所以不应改 变生产计划,但最优值变

29、为 90 X 20+64X 30=3720=下面对“资源”的影子价格作进一步的分析。影子价格的作用(即在最优解 下“资源”增加1个单位时“效益”的增量)是有限制的。每增加1桶牛奶利润 增长48元(影子价格),但是,上面输出的CURRENRHS的ALLOWABLNCREASE 和ALLOWABLE DECREASEB 了影子价格有意义条件下约束右端的限制范围: milk )原料最多增加10 (桶牛奶),time )劳动时间最多增加53 (小时)。现在 可以回答附加问题1)的第2问:虽然应该批准用35元买1桶牛奶的投资,但 每天最多购买10桶牛奶。顺便地说,可以用低于每小时 2元的工资聘用临时工

30、人以增加劳动时间,但最多增加 53.3333小时。需要注意的是:灵敏性分析给出的只是最优基保持不变的充分条件,而不一定是必要条件。比如对于上面的问题,“原料最多增加10 (桶牛奶)”的含义只能是“原料增加10 (桶牛奶)”时最优基保持不变,所以影子价格有意义, 即利润的增加大于牛奶的投资。反过来,原料增加超过10 (桶牛奶),影子价格是否一定没有意义?最优基是否一定改变? 一般来说,这是不能从灵敏性分析报告中直接得到的。此时,应该重新用新数据求解规划模型,才能做出判断。所以, 从正常理解的角度来看,我们上面回答“原料最多增加10 (桶牛奶)”并不是完全科学的。加工奶制品的生产计划每天:5。桶牛

31、奶时间48。小时至多加工公斤A1制订生产计划,使每天获利最大 35元可买到1桶牛奶,买吗?若买,每天最多买多少? 可聘用临时工人,付出的工资最多是每小时儿元? 的获利增加到30元/公斤,应否改变生产计划?1桶牛奶12小时8小时3公斤A获利247G/公斤获利16元/公斤决策变量目标函数约束条件性划型P)线规模(L每天50桶牛奶时间480小时至多加工100公斤A1/桶牛奶生产A1j桶牛奶生产人2 获利24X3X 获利16X4*2 每天获利 Max z = 72x, + 64x2原料供应七十匕450劳动时间12, + 8x2 480加工能力3玉100非负约束2,占?03模型求解%1 + a2 50 一) 12玉 + 8毛 V 480 口3M 0。L:再=05:x2 =0(Max z = 72% + 64a2A2Z=3600|吵4D 心。八 Z=2400NR (常数)等值线在(20,30)点得到最优解最优解一定在凸多边 形的某个顶点取得。目标函数和约束条件是

温馨提示

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

评论

0/150

提交评论