熟悉LINGO软件的灵敏度分析功能
数学建模实验报告
数学建模实验报告Lingo软件的上机实践应用《数学建模实验报告》Lingo软件的上机实践应用简单的线性规划与灵敏度分析学号:班级:姓名:日期:20XX年-7-21数学与计算科学学院Lingo软件的上机实践应用一、实验目的:通过对数学建模课的学习,熟悉了matlab和lingo等数学软件的简单应用,了解了用lingo软件解线性规划的算法及灵敏性分析。
此次lingo上机实验又使我更好地理解了lingo程序的输入格式及其使用,增加了操作连贯性,初步掌握了lingo软件的基本用法,会使用lingo计算线性规划题,掌握类似题目的程序设计及数据分析。
二、实验题目(P55课后习题5):某工厂生产A1、A2两种型号的产品都必须经过零件装配和检验两道工序,如果每天可用于零件装配的工时只有100h,可用于检验的工时只有120h,各型号产品每件需占用各工序时数和可获得的利润如下表所示:(1)试写出此问题的数学模型,并求出最优化生产方案。
(2)对产品A1的利润进行灵敏度分析(3)对装配工序的工时进行灵敏度分析(4)如果工厂试制了A3型产品,每件A3产品需装配工时4h,检验工时2h,可获利润5元,那么该产品是否应投入生产?Lingo软件的上机实践应用三、题目分析:总体分析:要解答此题,就要运用已知条件编写出一个线性规划的Lingo程序,对运行结果进行分析得到所要数据;当然第四问也可另编程序解答。
四、实验过程:(1)符号说明设生产x1件A1产品,生产x2件A2产品.(2)建立模型目标函数:maxz=6x1+4x2 约束条件:1)装配时间:2x1+3x2=100 2)检验时间:4x1+2x2=120 3)非负约束:x1,x2=0 所以模型为:maxz=6x1+4x2 2x1 3x2 100s.t. 4x1 2x2 120 x,x 0 12Lingo软件的上机实践应用(3)模型求解:1)程序model:title 零件生产计划; max=6*x1+4*x2; 2*x1+3*x2=100; 4*x1+2*x2=120; end附程序图1:2)计算结果Global optimal solution found.Objective value: 200.0000 Total solver iterations: 2Model Title: 零件生产计划Lingo软件的上机实践应用Variable Value Reduced Cost X1 20.00000 0.000000 X2 20.00000 0.000000Row Slack or Surplus Dual Price 1 200.0000 1.000000 2 0.000000 0.***-***** 3 0.000000 1.*****附运行结果图1:3)做灵敏性分析:Ranges in which the basis is unchanged:Objective Coefficient RangesCurrent Allowable Allowable Variable Coefficient Increase Decrease X1 6.000000 2.000000 3.***** X2 4.000000 5.0000001.000000Righthand Side RangesRow Current Allowable Allowable RHS Increase Decrease 2 100.0000 80.00000 40.00000 3 120.0000 80.00000 53.***** 附灵敏性分析图1:Lingo软件的上机实践应用五、问题解答:1)试写出此问题的数学模型,并求出最优化生产方案答:①数学模型:maxz=6x1+4x22x1 3x2 100s.t. 4x1 2x2 120 x,x 0 12②生产20件A1产品,生产20件A2产品,最大利润200元。
第三章_LINGO软件使用入门
派生集: 派生集:
Setname(parent_set_list(源集列表))[/member_list/][:attribute_list];
例如
SETS: PRODUCT/A B/; MACHINE/M N/; WEEK/1..2/; ALLOWED( PRODUCT,MACHINE,WEEK); ENDSETS
表3.1 优先级 最高 运算符 #NOT# -(负号) ∧ * / + -(减法) #EQ# #NE# #GT# #GE# #LT# #LE# #AND# #OR# < = >
最低
二、基本的数学函数
在LINGO中写程序时可以调用大量的内部函数,这 些函数以“@”符号打头(类似调用命令).LINGO中 数学函数的用法与其它语言中的数学函数的用法类似, 主要有以下函数: @ABS(X):绝对值函数,返回X的绝对值. @COS(X):余弦函数,返回X的余弦值(X的单位是弧 @COS(X) 度). @EXP(X):指数函数,返回ex的值. @FLOOR(X):取整函数,返回X的整数部分(向最靠 近0的方向取整). @LGM(X):返回X的伽马(Gamma)函数的自然对数 值.
LINGO有5个主菜单: 有 个主菜单 个主菜单:
• • • • • File(文件) (文件) Edit(编辑) (编辑) LINGO(LINGO系统) 系统) ( 系统 Windows(窗口) (窗口) Help(帮助) (帮助)
这些菜单的用法与Windows下其他应用程序的 这些菜单的用法与 下其他应用程序的 标准用法类似,下面只对主菜单中LINGO系统的主 标准用法类似,下面只对主菜单中 系统的主 要命令进行简要介绍. 要命令进行简要介绍.
给出了工具栏的简要功能说明. 图1.2给出了工具栏的简要功能说明. 给出了工具栏的简要功能说明
[数学软件及应用(Lingo)实验报告范文]lingo实验报告范文心得
[数学软件及应用(Lingo)实验报告范文]lingo实验报告范文心得2022~2022学年第二学期短学期《数学软件及应用(Lingo)》实验报告班级数学131班姓名张金库学号成绩实验名称奶制品的生产与销售方案的制定完成日期:2022年9月3日实验名称:奶制品的生产与销售方案的制定二、实验目的及任务了解并掌握LINGO的使用方法、功能与应用;学会利用LINGO去解决实际中的优化问题。
三、实验内容问题一奶制品加工厂用牛奶生产,两种奶制品,1桶牛奶可以在甲类设备上用12h加工成3kg,或者在乙类设备上用8h加工成4kg。
根据市场的需求,生产,全部能售出,且每千克获利24元,每千克获利16元。
现在现在加工场每天能的到50桶牛奶的供给,每天正式工人总的劳动时间为480h,并且甲类设备每天至多能加工100kg,乙类设备的加工能力没有限制。
为增加工厂的利益,开发奶制品的深加工技术:用2h和3元加工费,可将1kg加工成0.8kg高级奶制品,也可将1kg加工成0.75kg高级奶制品,每千克能获利44元,每千克能获利32元。
试为该工厂制订一个生产销售方案,使每天的净利润最大,并讨论以下问题:假设投资30元可以增加供给1桶牛奶,投资3元可以增加1h的劳动时间,应否做这些投资?假设每天投资150,可以赚回多少?每千克高级奶制品,的获利经常有10%的波动,对制订的生产销售方案有无影响?假设每千克获利下降10%,方案应该变化吗?假设公司已经签订了每天销售10kg的合同并且必须满足,该合同对公司的利润有什么影响?问题分析要求制定生产销售方案,决策变量可以先取作每天用多少桶牛奶生产,,再添上用多少千克加工,用多少千克加工,但是问题要分析,的获利对生产销售方案的影响,所以决策变量取作,,,每天的销售量更为方便。
目标函数是工厂每天的净利润——,,,的获利之和扣除深加工费用。
根本模型决策变量:设每天销售kg,kg,kg,kg,用kg加工,用kg加工。
lingo结果分析及灵敏性分析
lingo结果分析及灵敏性分析问题描述程序代码:max = 60*desks + 30*tables + 20*chairs;8*desks + 6*tables + chairs <= 48;2*desks + 1.5*tables + 0.5*chairs <= 8;4*desks + 2*tables + 1.5*chairs <= 20;tables<= 5;部分结果一:Variable Value Reduced CostDESKS 2.000000 0.000000TABLES 0.000000 5.000000CHAIRS 8.000000 0.000000⑴Value:给出最优解中各变量的值,Value=0(非基变量),反之为基变量。
⑵Reduced Cost:表示当非基变量有微小变动时, 目标函数的变化率。
本例中:变量tables 对应的reduced cost 值为5,表示当非基变量tables 的值从0 变为1 时(此时假定其他非基变量保持不变,但为了满足约束条件,基变量显然会发生变化),最优的目标函数值= 280 - 5 = 275。
部分结果二:Row Slack or Surplus Dual Price1 280.0000 1.0000002 24.00000 0.0000003 0.000000 10.000004 0.000000 10.000005 5.000000 0.000000⑴“Slack or Surplus”――松驰变量。
⑵“Dual Price”――对偶价格表示当对应约束有微小变动时, 目标函数的变化率。
若其数值为p,表示对应约束中不等式右端项若增加1个单位,目标函数将增加p个单位(max 型问题)。
⑶如果在最优解处约束正好取等号(紧约束,也称为有效约束或起作用约束),对偶价格值才可能不是0。
本例中:第3、4 行是紧约束,对应的对偶价格值为10,表示当紧约束4) 4 DESKS + 2 TABLES + 1.5 CHAIRS <= 20 变为4) 4 DESKS + 2 TABLES + 1.5 CHAIRS <= 21 时,目标函数值= 280 +10 = 290。
LINGO结果窗口内容解读与灵敏度分析
LINGO结果窗⼝内容解读与灵敏度分析1.结果窗⼝内容解读1. ⽬标函数值:Global option solution found.表⽰求出了全局最优解;Objective value表⽰最优⽬标值,Total solver iretion表⽰求解时共⽤了⼏次迭代2. 决策变量:Value给出最优解中各变量的值3. 变量的判别数:Reduced Cost表⽰最优单纯形表中判别数所在的⾏的变量的系数,表⽰当变量有微⼩变化时,⽬标函数的变化率。
其中基变量的reduced cost值应为零。
对于基变量相应的reduced cost值表⽰这个变量增加⼀个单位时⽬标函数值减少的量(max型问题)4. 紧约束与松约束:slack or Surplus给出松弛或剩余变量的值,其值为零的对应约束为"紧约束",表⽰在最优解下该项资源已经⽤完;其值为⾮零的对应约束为"松约束",表⽰在最优解下该项资源还有剩余5. 对偶价格(经济学:影⼦价格):DUAl PRICE(对偶价格)表⽰当对应约束有微⼩变动时⽬标函数的变化率。
输出结果中对应每⼀个"紧约束"有⼀个对偶价格。
若其数值为怕,则表⽰对应约束不等式右端项正好增加⼀个单位,⽬标函数将增加P个单位(max)模型。
显然,如果在最优解处约束条件正好取等号(也就是"紧约束",也称为有效约束或起作⽤约束),对偶价格值才可能不是0.6. 变量框(Variables):Total表⽰当前模型的全部变量数,Nonlinear显⽰其中的⾮线性变量数,Integers显⽰其中的整数变量数。
⾮线性变量是指它⾄少处于某⼀个约束条件中的⾮线性关系中。
7. 约束(Constains)框:Total表⽰当前模型扩展后的全部约束个数,Nonlinear显⽰其中的⾮线性约束个数。
⾮线性约束是该约束⾄少有⼀个⾮线性变量。
如果⼀个约束中的所有变量都是定值,那么该约束就以定值不等式表⽰,该约束的真假由变量的具体值决定,仍计⼊约束总数中。
Lingo简单入门,以及对线性规划做敏感性分析设置
Lingo简单⼊门,以及对线性规划做敏感性分析设置Lingo中⽤!表⽰注释,注释结束⽤;表⽰,lingo不区分⼤⼩写,运⾏时会⾃动统⼀装换成⼤写编程步骤:1.推算出正确的模型2.确定描述集,定义集合3.确定变量4.正确写出每个式⼦常⽤函数(lingo每个函数都必须⽤@强调):!max, min⽤于⽤于定义⽬标函数@bin(x)表⽰x为0或1@gin(x)表⽰x是整数@free(x)表⽰x为任意实数,因为变量默认为⾮负实数,所以必须⽤这个函数解除这种限制@bnd(1, x, u)表⽰x为[1, u]之间的实数如表⽰x在(-5,5)之间的整数,@free(x),@gin(x),@bnd(-5, x, 5)编程⽅法:1.不使⽤集合语⾔--解决⼩规模问题(笨⽅法编程)例如解下⾯这个线性规划问题max = 72 * x1 + 64 * x2;x1 + x2 < 50;12 * x1 + 8 * x2 < 480;3 * x1 < 100;x1, x2 >= 0;model:max = 72 * x1 + 64 * x2;[milk] x1 + x2 < 50; !milk是约束条件的别名,⽅便在结果窗⼝中查看相关信息;[time] 12 * x1 + 8 * x2 < 480; !time也是别名;[cpct] 3 * x1 < 100; !cpct也是别名;end运⾏结果(会弹出两个窗⼝,只需关⼼下⾯这个窗⼝,另⼀个不⽤管)2.使⽤集合语⾔--解决⼤规模问题sets: !定义集合;S/1..6/: a, b, d; !S集合下标范围是1到6,a b d这三个变量⽤到了这个集合;T/1..2/: e, x, y;U(S, T): c; !双索引的集合,c⽤到了这个集合;endsets !结束集合的定义;data: !定义已知变量,也就是为每个已知变量赋值;a =1.258.750.55.7537.25;b =1.250.754.7556.57.75;d =3547611;x =52;y =17;e =2020;enddata !结束数据的写⼊;!⽬标⽅程;min=@sum(T(j):@sum(S(i):c(i, j) *@sqrt((x(j) - a(i))^2+ (y(j) - b(i))^2)));!约束条件;@for(S(i):@sum(T(j):c(i, j)) = d(i)); !i属于S集合范围,j属于T集合范围,这个约束条件的意思是在j⽅向上对Cij求和== d(i);@for(T(j):@sum(S(i):c(i, j)) <= e(j));(建议1.25倍速)对线性规划做敏感性分析设置(这⾥⽤第⼀个题⽬做样例)点击lingo -> option -> general solver -> Dura Computations -> Price& ranges -> apply -> save --> ok 点击lingo -> range。
灵敏度分析1
(1)实验仪器的整平对实验数据的误差有很大的影响;
(2)水准测量和水平角测量均需检查闭合差,超过差限则一定要重新测;
(3)要注意计算问题,计算最好由两个人完成,一个初步的计算,一个检验,不过,在此过程当中,也还是出现了计算错误的问题,我们在不断的重复检验之中算出了正确的数值,尽量让误差减少到了最少.。
通过这次实训,让我体会到了团队精神的重要性,也认识到测量学的严谨性,无论是少了中间的哪一环都无法完成任务,任何一个步骤、环节,都少不了,也出不得错,一步错步步错,因此,测量学才有“从整体到局部、先控制后碎部”的工作原则,并要求做到“步步有检核”.当然,搞好测量既离不开团队的合作,也离不开我们每个人的努力.。
实验序号
2
实验
名称
灵敏度分析
实验地点
格致楼c107
实验
日期
实验目的和实验内容
一、实验目的
1、学会使用LINGO软件求解线性规划问题的灵敏度分析。
2、学会分析LINGO软件求解的结果。
二.实验内容
已知某工厂计划生产I,II,III三种产品,各产品需要在A、B、C设备上加工,有关数据如下:
I
II
III
设备有效台时
就整个测量实训来说,我们从中学到了不少知识,不过这其中也反映出了我们还有许多的不足,希望在以后的学习中不断吸取经验教训,逐一克服,不断提高我们的测量水平。
与该门实习课程教学大纲(或实习教学任务书、指导书)要求一致。
(四)实习内容
LINGO软件灵敏度分析
Range Report :
Ranges in which the basis is unchanged: Objective Coefficient Ranges Current Allowable Allowable Coefficient Increase Decrease 5.000000 3.000000 1.000000 4.000000 1.000000 1.333333 3.000000 4.000000 INFINITY Righthand Side Ranges Current Allowable RHS Increase 45.00000 5.000000 80.00000 10.00000 90.00000 INFINITY
I A B C 单位产品利润 (千元) 8 10 2 3 II 2 5 13 2 III 10 8 10 2.9 设备有效台时 (每月) 300 400 420
试问答: (1)如何发挥生产能力,使生产盈利最大?
(2)若为了增加产量,可租用别工厂设备B,每月 可租用60台时,租金1.8万元,租用B设备是否 合算? (3)若另有二种新产品IV、V,其中新产品IV需用 设备A为12台时、B为5台时、C为10台时,单 位产品盈利2.1千元;新产品V需用设备A为4 台时、B为4台时、C为12台时,单位产品盈利 1.87千元。如A、B、C的设备台时不增加,这 两种新产品投产在经济上是否划算? (4)对产品工艺重新进行设计,改进结构。改进后 生产每件产品I需用设备A为9台时、设备B为 12台时、设备C为4台时,单位产品盈利4.5千 元,这时 对原计划有何影响?
Variable X1 X2 X3
Row 2 3 4
Allowable Decrease 5.000000 12.50000 25.00000
LINGO实用教程
示例1: sets: days /MO,TU,WE,TH,FR,SA,SU/:needs,cost; endsets data: needs cost = 20 100; Enddata 示例2: sets: years/1..5/: capacity; endsets data: capacity = ,34,20,,; Enddata 属性capacity的第2个和第3个值分别为34和20, 其余的未知。
程序结构——原始集
也可以讲集成员在数据部分定义。 示例: !集部分; sets: students:sex,age; endsets !数据部分; data: students,sex,age= John 1 16 Jill 0 14 Rose 0 17 Mike 1 13; Enddata 注意:开头用感叹号(!), 末尾用分号(;)表示注释,可跨多行。
请注意:数据部分的数据之间可 以用空格隔开,也可以用逗号隔 开。程序默认的数据是从索引1 开始分配,即将“students, sex,age”的第一个数据分配完 了之后再分配其第二个数据。
再如下例: model: sets: students/John,Linda,Tom/:age,gender; Endsets Data: Age,gender=10,1,11,0,12,1; enddata End
Linda Tom 9 6 6 8
程序结构——派生集
稀疏集可以用显式表示也可以用成员资格过滤器表示。 显式表示可如下示例: Links(students,friends)/John,Harry,Linda,Green/:relationship;(1) 成员资格过滤器表示可如下示例: Links(students,friends)|&1 #eq# 1 #and# &2 #eq# 2:relationship;(2) 将分别插入程序中,并修改数据,可得到如下结果: (1)RELATIONSHIP( JOHN, HARRY) 8.000000 RELATIONSHIP( LINDA, GREEN) 6.000000 (2)RELATIONSHIP( JOHN, GREEN) 8.000000
LINGO线性规划及其灵敏度分析
线性规划问题及灵敏度分析在LINGO软件中的实现一、问题的提出:某公司饲养实验用的动物以出售给动物研究所,已知这些动物的生长对饲料中3种营养成分(蛋白质、矿物质和维生素)特别敏感,每个动物每周至少需要蛋白质60g,矿物质3g,维生素8mg,该公司能买到5种不同的饲料,每种饲料1kg所含各种营养成分和成本如下表所示,如果每个小动物每周食用饲料不超过52kg,才能满足动物生长需要。
A1A2A3A4A5营养最低要 求蛋白质(g)0.3210.6 1.860矿物质(g)0.10.050.020.20.053维生素(mg)0.050.10.020.20.088成本(元/ kg)0.20.70.40.30.5问题:1.求使得总成本最低的饲料配方?2.如果另一个动物研究对蛋白质的营养要求变为59单位,但是要求动物的价格比现在的价格便宜0.3元,问该养殖所值不值得接受?3.由于市场因素的影响,X2的价格降为0.6元每千克,问是否要改变饲料配方?二、建立线性规划数学模型解答:(1)设需要饲料A1, A2, A3, A4分别为X1, X2, X3, X4kg,则建立线性规划数学模型如下:目标函数:MinS=0.2X1+0.7X2+0.4X3+0.3X4+0.5X5约束条件:0.3X1+2X2+X3+0.6X4+1.8X5>=600.1X1+0.05X2+0.02X3+0.2X4+0.05X5>=3005X1+0.1X2+0.02X3+0.2X4+0.08X5>=8X1+X2+X3+X4+X5<=52X1, X2, X3, X4, X5>=0三、在LINGO软件中的求解在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;end操作:选菜单Lingo|Solve(或按Ctrl+S),或用鼠标点击“求解”按纽,如果模型有语法错误,则弹出一个标题为“LINGO Error Message”(错误信息)的窗口,指出在哪一行有怎样的错误,每一种错误都有一个编号(具体含义可查阅相关文献或LINGO的Help).改正错误以后再求解,如果语法通过,LINGO用内部所带的求解程序求出模型的解,然后弹出一个标题为“LINGO Solver Status”(求解状态)的窗口,其内容为变量个数、约束条件个数、优化状态、耗费内存、所花时间等信息,点击Close关闭窗口,屏幕上出现标题为“Solution Report”(解的报告)的信息窗口,显示优化计算(线性规划中换基迭代)的步数、优化后的目标函数值、列出各变量的计算结果.输出结果如下: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四、结果分析:(一) 一般分析1.因此,每周每个动物的配料为饲料A2、A4、A5分别为12、30和10kg,合计为52KG,可使得饲养成本达到最小,最小成本为22.4元;2. “Reduced Cost”表示当变量有微小变动时, 目标函数的变化率。
【精品】LINGO软件灵敏度分析
【精品】LINGO软件灵敏度分析LINGO是一种非常实用的数学建模软件,可用于线性规划、非线性规划、整数规划、混合整数规划、二次规划、非线性二次规划、全局优化、动态规划等方面。
在LINGO中,灵敏度分析可以帮助用户更好地理解线性规划问题的解,并探究约束、变量、最优值等因素的变化对于优化结果的影响。
下面将详细介绍LINGO软件的灵敏度分析功能。
一、约束灵敏度分析在LINGO中,可以通过在“呼出”窗口中选择“求解”菜单,再选中“灵敏度分析”,来进行约束灵敏度分析。
当我们需要对某一约束条件进行灵敏度分析时,可以在“PSens”一栏中选中要进行分析的约束条件,并选择需要分析的灵敏度类型:1. 左侧界(Lower Bound)灵敏度分析:在该约束条件的左侧界上下浮动,观察最优解随着左侧界的变化而产生的变化情况。
进行变量灵敏度分析时,LINGO会输出一个名为“Variable Sensitivity”的窗口,其中包含了与所选中变量相关的数据,如灵敏度系数、上/下限边界、最小可行解等。
另外,该窗口还提供了一个“Graph”选项卡,可以展示出灵敏度分析的图表,帮助用户更直观地理解灵敏度的变化情况。
在LINGO中,最优解灵敏度分析可以探究最优解随着目标函数系数的变化而产生的变化情况。
用户可以在“呼出”窗口中选择“求解”菜单,再选中“灵敏度分析”,然后在“Objective Sensitivity”选项卡中选中需要进行分析的目标函数变量。
总之,LINGO软件的灵敏度分析功能可以在优化过程中帮助用户更好地了解问题的解,探究约束、变量、目标函数系数等因素对应问题的影响,帮助用户优化模型,从而达到更好的优化效果。
第4章lindo、lingo软件和灵敏度分析汇总
LINGO软件的使用规则(3)
(6) 约束条件中的符号“≥”用 “> = ”或“>”表示, “≤”用“<=”或 “<”表示。
(7) 计算机把输入程序中的第一行默认为目标函数, 其它各约束条件可以用[_1],[_2]标明它的行号。 (8) 虽然决策变量可以放在约束条件的右端,但为 了提高Lingo的求解效率,应尽可能采用线性表达 式定义目标函数和约束条件。 (9) 在lingo中以感叹号“!”开始的是说明语句, 并且说明语句也需要以分号“;”结束,并且除 了“!”和“;”之外,说明语句中的其它字符 可以是任何字符。
则该问题的 数学模型为:
max Z 32x1 30x2 3x1 4 x2 36 5 x 4 x 40 1 2 s.t . 9 x1 8 x2 76 x1 , x2 0
max 32 x1 30 x 2 st 3x1 4 x 2 36 5 x1 4 x 2 40 9 x1 8 x 2 76
影子价格: 资源每增加1个单位时,目标函数Z增加的值 (1) 设备A每增加1台时,利润增加1.166667元
(2) 设备B每增加1台时,利润不增加
(3) 设备C每增加1台时,利润增加3.166667元
第4部分数据的分析
Ranges in which the basis is unchanged: Objective Coefficient Ranges Current Allowable Allowable Variable Coefficient Increase Decrease X1 32.00000 1.750000 9.500000 X2 30.00000 12.66667 1.555556
信息班刘静运筹学实验报告(二)线性规划问题的灵敏度分析 2
Objective value: Infeasibilities: Total solver iterations: Model Class: Total variables: Nonlinear variables: Integer variables: 3 0 0
2140.000 0.000000 1 LP
//X1>=15 //0<=x2<=40
Variable X1 X2
Righthand Side Ranges: Current RHS 120.0000 60.00000 50.00000 Allowable Increase 40.00000 60.00000 INFINITY Allowable Decrease 60.00000 40.00000 20.00000
Reduced Cost 0.000000 0.000000 Dual Price 1.000000 0.000000 0.2500000 0.5000000 0.000000 0.000000
3、对教材中的例子利用 lingo 软件进行求解和灵敏度分析,并对求解报告进行阅读,
结合答案认真进行理解。在此基础上做第四题 程序:
1.在 Lingo 中求解下面的线性规划数学模型;
m a x z 1 0 x1 x 2 2 x1 x 2 4 0 x1 1 .5 x 2 3 0 s .t x1 x 2 5 0 x ,x 0 1 2
model: max=10*x1+x2; 2*x1+x2<=40; x1+1.5*x2<=30; x1+x2>=50; x1>=0; x2>=0; End 结果: 无解
Lingo灵敏度分析实验报告
信息技术学院
运筹学课程实验报告
姓名
专业
班级
学号
实验题目
在LINGO中求解LP问题
实验环境
LINGO软件
实验目的
(1)使学生了解Lingo软件特点及其使用方法
(2)使学生掌握Lingo软件求解线性规划模型的编程与结果分析
实验原理和方案:
实验原理:
利Байду номын сангаасLingo软件求解线性规划模型以及相应的灵敏度分析问题
分析与体会:
认真的好好听课,不玩手机,细心的做老师布置的作业。积极向上的学习,乐观向上的生活。
实验日期:指导老师:成绩:
实验方案:
通过分析线性规划对应的数学模型,利用Lingo软件进行求解
实验内容与过程:
1、 用公式编辑器打印相应的数学模型
2、打开Lingo软件,在模型窗口输入程序
3、运行程序,结果如下
4、结果分析
该线性规划问题的最优解为:x1=2;x2=3;最优值maxS=13
5、实验总结
通过本次试验,我掌握线性规划的灵敏度分析。
灵敏度分析lingo
Ranges in which the basis is unchanged:Objective CoefficientRangesCurrent Allowable AllowableVariable Coefficient Increase DecreaseDESKS 60.00000 20.00000 4.000000TABLES 30.00000 5.000000 INFINITYCHAIRS 20.00000 2.500000 5.000000Righthand Side RangesRow Current Allowable AllowableRHS Increase Decrease2 48.00000 INFINITY 24.000003 20.00000 4.0000004.0000004 8.000000 2.000000 1.3333335 5.000000 INFINITY 5.000000目标函数中DESKS变量原来的费用系数为60,允许增加(Allowable Increase)=4、允许减少(Allowable Decrease)=20,说明当它在[60-4,60+20]= [56,80]范围变化时,最优基保持不变。
对TABLES、CHAIRS变量,可以类似解释。
由于此时约束没有变化(只是目标函数中某个费用系数发生变化),所以最优基保持不变的意思也就是最优解不变(当然,由于目标函数中费用系数发生了变化,所以最优值会变化)。
第2行约束中右端项(Right Hand Side,简写为RHS)原来为48,当它在[48-24,48+∞] = [24,∞]范围变化时,最优基保持不变。
第3、4、5行可以类似解释。
不过由于此时约束发生变化,最优基即使不变,最优解、最优值也会发生变化。
灵敏性分析结果表示的是最优基保持不变的系数范围。
由此,也可以进一步确定当目标函数的费用系数和约束右端项发生小的变化时,最优基和最优解、最。
最优化方法——用Lingo对线性规划进行灵敏度分析
lingo 软件求解线性规划及灵敏度分析注:以目标函数最大化为例进行讨论,对求最小的问题,有类似的分析方法!所有程序运行环境为lingo10。
一、用lingo 软件求解线性规划例1:max 23..43103512,0z x y s t x y x y x y =++≤+≤≥在模型窗口输入:model: max=2*x+3*y; 4*x+3*y<=10; 3*x+5*y<12;! the optimal value is :7.454545 ; End 如图所示:运行结果如下(点击 工具栏上的‘solve ’或点击菜单‘lingo ’下的‘solve ’即可):Global optimal solution found.Objective value: 7.454545(最优解函数值) Total solver iterations: 2(迭代次数)Variable (最优解) Value Reduced Cost X 1.272727 0.000000 Y 1.636364 0.000000Row Slack or Surplus Dual Price 1 7.454545 1.000000 2 0.000000 0.9090909E-01 3 0.000000 0.5454545例2:12123124125max 54..390280450z x x s t x x x x x x x x x x =+++=++=++=≥ 在模型窗口输入:model:max=5*x1+4*x2; x1+3*x2+x3=90; 2*x1+x2+x4=80; x1+x2+x5=45; end运行(solve )结果如下:Global optimal solution found.Objective value: 215.0000 Total solver iterations: 3Variable Value Reduced Cost X1 35.00000 0.000000 X2 10.00000 0.000000 X3 25.00000 0.000000 X4 0.000000 1.000000 X5 0.000000 3.000000Row Slack or Surplus Dual Price 1 215.0000 1.000000 2 0.000000 0.000000 3 0.000000 1.000000 4 0.000000 3.000000例323123234235min 2..223120z x x s t x x x x x x x x x x =-+-+=-+=-+=≥ 在模型窗口输入:model:min=-x2+2*x3; x1-2*x2+x3=2; x2-3*x3+x4=1; x2-x3+x5=2; end运行结果如下:Global optimal solution found.Objective value: -1.500000 Total solver iterations: 2Variable Value Reduced Cost X2 2.500000 0.000000 X3 0.5000000 0.000000 X1 6.500000 0.000000 X4 0.000000 0.5000000 X5 0.000000 0.5000000Row Slack or Surplus Dual Price 1 -1.500000 -1.000000 2 0.000000 0.000000 3 0.000000 0.5000000 4 0.000000 0.5000000例4:min ..124x y z s t x y x z +++≤+= 在模型窗口输入:model :min =@abs (x)+@abs (y)+@abs (z); x+y<1; 2*x+z=4; @free (x); @free (y); @free (z);End求解器状态如下:(可看出是非线性模型!)运行结果为:Linearization components added:Constraints: 12Variables: 12Integers: 3Global optimal solution found.Objective value: 3.000000Extended solver steps: 0Total solver iterations: 4Variable Value Reduced Cost X 2.000000 0.000000Y -1.000000 0.000000 Z 0.000000 0.000000Row Slack or Surplus Dual Price1 3.000000 -1.0000002 0.000000 1.0000003 0.000000 -1.000000二、用lingo软件进行灵敏度分析实例例5:max 603020864842 1.5202 1.50.585,,0S x y z x y z x y z x y z y x y z =++++≤++≤++≤≤≥在模型窗口输入: Lingo 模型:model:max=60*x+30*y+20*z; 8*x+6*y+z<48; 4*x+2*y+1.5*z<20; 2*x+1.5*y+0.5*z<8; y<5; end(一)求解报告(solution report )通过菜单Lingo →Solve 可以得到求解报告(solution report )如下:Global optimal solution found at iteration: 0 Objective value: 280.0000Variable Value Reduced Cost X 2.000000 0.000000 Y 0.000000 5.000000 Z 8.000000 0.000000Row Slack or Surplus Dual Price 1 280.0000 1.000000 2 24.00000 0.000000 3 0.000000 10.00000 4 0.000000 10.00000 5 5.000000 0.000000分析Value,Reduced Cost ,Slack or Surplus ,Dual Price 的意义如下: 1、最优解和基变量的确定Value 所在列给出了问题的最优解。
lingo结果分析及灵敏性分析
lingo结果分析及灵敏性分析问题描述程序代码:max = 60*desks + 30*tables + 20*chairs;8*desks + 6*tables + chairs <= 48;2*desks + 1.5*tables + 0.5*chairs <= 8;4*desks + 2*tables + 1.5*chairs <= 20;tables<= 5;部分结果一:Variable Value Reduced CostDESKS 2.000000 0.000000TABLES 0.000000 5.000000CHAIRS 8.000000 0.000000⑴Value:给出最优解中各变量的值,Value=0(非基变量),反之为基变量。
⑵Reduced Cost:表示当非基变量有微小变动时, 目标函数的变化率。
本例中:变量tables 对应的reduced cost 值为5,表示当非基变量tables 的值从0 变为1 时(此时假定其他非基变量保持不变,但为了满足约束条件,基变量显然会发生变化),最优的目标函数值= 280 - 5 = 275。
部分结果二:Row Slack or Surplus Dual Price1 280.0000 1.0000002 24.00000 0.0000003 0.000000 10.000004 0.000000 10.000005 5.000000 0.000000⑴“Slack or Surplus”――松驰变量。
⑵“Dual Price”――对偶价格表示当对应约束有微小变动时, 目标函数的变化率。
若其数值为p,表示对应约束中不等式右端项若增加1个单位,目标函数将增加p个单位(max 型问题)。
⑶如果在最优解处约束正好取等号(紧约束,也称为有效约束或起作用约束),对偶价格值才可能不是0。
本例中:第3、4 行是紧约束,对应的对偶价格值为10,表示当紧约束4) 4 DESKS + 2 TABLES + 1.5 CHAIRS <= 20 变为4) 4 DESKS + 2 TABLES + 1.5 CHAIRS <= 21 时,目标函数值= 280 +10 =290。
lingo灵敏度分析实验报告
竭诚为您提供优质文档/双击可除lingo灵敏度分析实验报告篇一:lingo灵敏度分析实例一个实例理解Lingo的灵敏性分析线性规划问题的三个重要概念:最优解就是反应取得最优值的决策变量所对应的向量。
最优基就是最优单纯形表的基本变量所对应的系数矩阵如果其行列式是非奇异的,则该系数矩阵为最优基。
最优值就是最优的目标函数值。
Lingo的灵敏性分析是研究当目标函数的系数和约束右端项在什么范围(此时假定其它系数不变)时,最优基保持不变。
灵敏性分析给出的只是最优基保持不变的充分条件,而不一定是必要条件。
下面是一道典型的例题。
一奶制品加工厂用牛奶生产A1,A2两种奶制品,1桶牛奶可以在甲车间用12小时加工成3公斤A1,或者在乙车间用8小时加工成4公斤A2。
根据市场需求,生产的A1,A2全部能售出,且每公斤A1获利24元,每公斤A2获利16元。
现在加工厂每天能得到50桶牛奶的供应,每天正式工人总的劳动时间480小时,并且甲车间每天至多能加工100公斤A1,乙车间的加工能力没有限制。
试为该厂制订一个生产计划,使每天获利最大,并进一步讨论以下3个附加问题:1)若用35元可以买到1桶牛奶,应否作这项投资?若投资,每天最多购买多少桶牛奶?2)若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时几元?3)由于市场需求变化,每公斤A1的获利增加到30元,应否改变生产计划?模型代码:max=72*x1+64*x2;x1+x2 12*x1+8*x2 3*x1 运行求解结果:objectivevalue:3360.000VariableValueReducedcostx120.000000.000000x230.000000.000000RowslackorsurplusDualprice13360.0001.00000020.00000048.0000030.0000002.000000440.000000.000000这个线性规划的最优解为x1=20,x2=30,最优值为z=3360,即用20桶牛奶生产A1,30桶牛奶生产A2,可获最大利润3360元。
lingo敏感性分析
ROW SLACK OR SURPLUS DUAL PRICES 2) 3) 4) 0.000000 0.000000 40.000000 2 48.000000 2.000000 0.000000
reduced cost 值表 示当该非基变量 增加一个单位时 (其他非基变量 保持不变)目标 函数减少的量(对 函数减少的量 对 max型问题 型问题) 型问题 也可理解为: 也可理解为: 为了使该非基变 量变成基变量, 目标函数中对应 系数应增加的量
LINDO: Linear INteractive and Discrete Optimizer LINGO: Linear INteractive General Optimizer (V6.1) (V8.0)
LINDO API: LINDO Application Programming Interface (V2.0) What’s Best!: (SpreadSheet e.g. EXCEL) (V7.0)
结果解释
DO RANGE(SENSITIVITY) ANALYSIS? Yes RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 X2 ROW 72.000000 24.000000 8.000000
x1 + x2 ≤ 50
12 x1 + 8 x 2 ≤ 480
约束条件
3x1 ≤ 100 x1 , x 2 ≥ 0
线性 规划 模型 (LP)
模型求解
OBJECTIVE FUNCTION VALUE 1) VARIABLE X1 X2 3360.000 VALUE 20.000000 30.000000 REDUCED COST 0.000000 0.000000
Lingo软件的介绍
最优解不变时目标函 数系数允许变化范围
(约束条件不变) x1系数范围(64,=72 增加为303=90, 在允许范围内
• A1获利增加到 30元/kg,应否改变生产计划?
不变!
影子价格有意义(不变)时约束右端的允许 变化范围 结果解释
Ranges in which the basis is unchanged: Objective Coefficient Ranges Current Allowable Allowable Variable Coefficient Increase Decrease X1 72.00000 24.00000 8.000000 X2 64.00000 8.000000 16.00000 Righthand Side Ranges Row Current Allowable Allowable RHS Increase Decrease 原料最多增加10 MILK 50.00000 10.00000 6.666667 时间最多增加53 TIME 480.0000 53.33333 80.00000 CPCT 100.0000 INFINITY 40.00000 充分条件 !
LINDO API: LINDO Application Programming Interface (V2.0)
演示(试用)版、学生版、高级版、超级版、工业版、 扩展版… (求解问题规模和选件不同)
回顾-优化模型
实际问题中 Min(或Max) z f ( x ), x ( x1 , x n )T 的优化模型 s.t. g i ( x) 0, i 1,2, m x~决策变量 数学规划 线性规划(LP) 0-1整数规划 二次规划(QP) 一般整数规划 非线性规划(NLP) f(x)~目标函数 gi(x)0~约束条件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
熟悉LINGO软件的灵敏度分析功能2012——2013学年第一学期合肥学院数理系实验报告课程名称:运筹学实验项目:熟悉LINGO软件的灵敏度分析功能实验类别:综合性□设计性□√验证性□专业班级:姓名:学号:实验地点:实验时间: 2012年11月22日指导教师:管梅成绩:一.实验目的1、学会使用LINGO 软件求解线性规划问题的灵敏度分析。
2、学会分析LINGO 软件求解的结果。
二.实验内容1、求解线性规划:121212max 2251228Z x x x x x x =++≥⎧⎨+≤⎩并对价值系数、右端常量进行灵敏度分析。
2、已知某工厂计划生产I ,II ,III 三种产品,各产品需要在A 、B 、C 设备上加 I II III 设备有效台时(每月)A 8 2 10 300B 10 5 8 400C 2 13 10 420 单位产品利润 (千元)3 2 2.9 (1)如何发挥生产能力,使生产盈利最大?(2)若为了增加产量,可租用别工厂设备B ,每月可租用60台时,租金1.8万元,租用B 设备是否合算?(3)若另有二种新产品IV 、V ,其中新产品IV 需用设备A 为12台时、B 为5台时、C 为10台时,单位产品盈利2.1千元;新产品V 需用设备A 为4台时、B 为4台时、C 为12台时,单位产品盈利1.87千元。
如A 、B 、C 的设备台时不增加,这两种新产品投产在经济上是否划算?(3)对产品工艺重新进行设计,改进结构。
改进后生产每件产品I 需用设备A 为9台时、设备B 为12台时、设备C 为4台时,单位产品盈利4.5千元,这时对原计划有何影响?三. 模型建立 1、模型略2、(1)123123123123123max 32 2.98210300105840021310420,,0Z x x x x x x x x x x x x x x x =++++≤⎧⎪++≤⎪⎨++≤⎪⎪≥⎩且全为整数2、(2)123123123123123max 32 2.9188210300105846021310420,,0Z x x x x x x x x x x x x x x x =++-++≤⎧⎪++≤⎪⎨++≤⎪⎪≥⎩且全为整数2、(3)1234512345123451234512345max 32 2.9+2.1 1.878210124300105854400213101012420,,,,0Z x x x x x x x x x x x x x x x x x x x x x x x x x =+++++++≤⎧⎪++++≤⎪⎨++++≤⎪⎪≥⎩且全为整数2、(4)123123123123123max 32 2.99210300125840041310420,,0Z x x x x x x x x x x x x x x x =++++≤⎧⎪++≤⎪⎨++≤⎪⎪≥⎩且全为整数四. 模型求解(含经调试后正确的源程序) 1、model : max =x1+2*x2; 2*x1+5*x2>=12; x1+2*x2<=8; end2、(1)MAX =3*x1+2*x2+2.9*x3; 8*x1+2*x2+10*x3<=300; 10*x1+5*x2+8*x3<=400; 2*x1+13*x2+10*x3<=420; @GIN (X1); @GIN (X2); @GIN (X3);END 2、(2)MAX =3*x1+2*x2+2.9*x3-18; 8*x1+2*x2+10*x3<=300; 10*x1+5*x2+8*x3<=460; 2*x1+13*x2+10*x3<=420; @GIN (X1); @GIN (X2); @GIN (X3);END 2、(3)MAX =3*x1+2*x2+2.9*x3+2.1*x4+1.87*x5;8*x1+2*x2+10*x3+12*x4+4*x5<=300; 10*x1+5*x2+8*x3+5*x4+4*x5<=400; 2*x1+13*x2+10*x3+10*x4+12*x5<=420;@GIN (X1); @GIN (X2); @GIN (X3); @GIN (X4); @GIN (X5);END 2、(4)MAX =4.5*x1+2*x2+2.9*x3; 9*x1+2*x2+10*x3<=300; 12*x1+5*x2+8*x3<=400; 4*x1+13*x2+10*x3<=420; @GIN (X1); @GIN (X2); @GIN (X3);END五.结果分析1、结论一Global optimal solution found.Objective value: 8.000000Infeasibilities: 0.000000Total solver iterations: 1Variable Value Reduced CostX1 0.000000 0.000000X2 4.000000 0.000000Row Slack or Surplus Dual Price1 8.000000 1.0000002 8.000000 0.0000003 0.000000 1.000000该线性规划问题的最优解为:X*=(0,4)T最优值为:z*=8结论二、Ranges in which the basis is unchanged:Objective Coefficient RangesCurrent Allowable Allowable Variable Coefficient Increase Decrease X1 1.000000 0.0 INFINITYX2 2.000000 INFINITY 0.0Righthand Side RangesRow Current Allowable Allowable RHS Increase Decrease2 12.00000 8.000000 INFINITY3 8.000000 INFINITY 3.200000 c1=1c1在(-∞,1)内原最优解不变,但最优值是要变的c2=2c2在(2, ∞)内原最优解不变,但最优值是要变的b1=12b1在(-∞,20)内原最优基不变,但最优解和最优值是要变的b2=8b2在(4.8, ∞)内原最优基不变,但最优解和最优值是要变的2、(1)Global optimal solution found.Objective value: 134.5000Objective bound: 134.5000Infeasibilities: 0.000000Extended solver steps: 2Total solver iterations: 15Variable Value Reduced CostX1 24.00000 -3.000000X2 24.00000 -2.000000X3 5.000000 -2.900000Row Slack or Surplus Dual Price1 134.5000 1.0000002 10.00000 0.0000003 0.000000 0.0000004 10.00000 0.000000该线性规划问题的最优解为:X*=(24,24,5)T,最优值z1*=134.5即当生产Ⅰ产品24件,Ⅱ产品24件,Ⅲ产品5件时,获得最大盈利134.5千元。
2、(2)Global optimal solution found.Objective value: 127.0000Objective bound: 127.0000Infeasibilities: 0.000000Extended solver steps: 0Total solver iterations: 4Variable Value Reduced CostX1 31.00000 -3.000000X2 26.00000 -2.000000X3 0.000000 -2.900000Row Slack or Surplus Dual Price1 127.0000 1.0000002 0.000000 0.0000003 20.00000 0.0000004 20.00000 0.000000该线性规划问题的最优解为:X*=(31,26,0)T,最优值为:z2*=127即当生产Ⅰ产品31件,Ⅱ产品26件,时,获得最大盈利127千元。
因为z1*>z2*,所以租用B设备不合算。
2、(3)Global optimal solution found.Objective value: 135.9600Objective bound: 135.9600Infeasibilities: 0.000000Extended solver steps: 37Total solver iterations: 104Variable Value Reduced CostX1 26.00000 -3.000000X2 19.00000 -2.000000X3 1.000000 -2.900000X4 1.000000 -2.100000X5 8.000000 -1.870000Row Slack or Surplus Dual Price1 135.9600 1.0000002 0.000000 0.0000003 0.000000 0.0000004 5.000000 0.000000该线性规划问题的最优解为:X*=(26,19,1,1,8)T,最优值为:z3*=135.96即当生产Ⅰ产品26件,Ⅱ产品19件,Ⅲ产品1件,Ⅳ产品1件,Ⅴ产品8件时,获得最大盈利134.5千元。
因为z3*>z1*,所以投入生产这两种新产品在经济上合算。
2、(4)Global optimal solution found.Objective value: 152.8000Objective bound: 152.8000Infeasibilities: 0.000000Extended solver steps: 0Total solver iterations: 8Variable Value Reduced CostX1 22.00000 -4.500000X2 24.00000 -2.000000X3 2.000000 -2.900000Row Slack or Surplus Dual Price1 152.8000 1.0000002 34.00000 0.0000003 0.000000 0.0000004 0.000000 0.000000该线性规划问题的最优解为:X*=(22,24,2)T,最优值为:z4*=127即当生产Ⅰ产品22件,Ⅱ产品24件,Ⅲ产品2件时,获得最大盈利134.5千元。