管理运筹学lindo案例分析报告
天大运筹学相关软件lindo案例-13页文档资料

(a)Lindo的数据分析及习题(a)灵敏性分析(Range,Ctrl+R)用该命令产生当前模型的灵敏性分析报告:研究当目标函数的费用系数和约束右端项在什么范围(此时假定其它系数不变)时,最优基保持不变。
灵敏性分析是在求解模型时作出的,因此在求解模型时灵敏性分析是激活状态,但是默认是不激活的。
为了激活灵敏性分析,运行LINGO|Op tions…,选择General Solver Tab,在Dual Computations列表框中,选择Prices and Ranges选项。
灵敏性分析耗费相当多的求解时间,因此当速度很关键时,就没有必要激活它。
下面我们看一个简单的具体例子。
例5.1某家具公司制造书桌、餐桌和椅子,所用的资源有三种:木料、木工和漆工。
生产数据如下表所示:每个书桌每个餐桌每个椅子现有资源总数木料8单位6单位1单位48单位漆工4单位2单位 1.5单位20单位木工2单位 1.5单位0.5单位8单位成品单价60单位30单位20单位若要求桌子的生产量不超过5件,如何安排三种产品的生产可使利润最大?用DESKS、TABLES和CHAIRS分别表示三种产品的生产量,建立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 at iteration: 3Objective value: 280.0000Variable Value Reduced CostDESKS 2.000000 0.000000TABLES 0.000000 5.000000CHAIRS 8.000000 0.000000Row 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“Global optimal solution found at iteration: 3”表示3次迭代后得到全局最优解。
管理运筹学-用LINDO验证目标规划模型并求解

实验报告实验课程名称运筹学
实验项目名称用LINDO验证目标规划
模型并求解
年级
专业
学生姓名
学号
实验时间:年月日
原问题为课本p119面的例3。
一、建立原问题的目标规划模型:
利用LINDO 求解出一个满意解:
从求解结果来看:
满足要求的一个生产计划是:1x (彩色电视机)生产24台;2x (黑白电视机)生产26台。
其中:D12=10,D41=4,表示:每周装配线多开机了10个小时,黑白电视机与30台的目标相比少成产了4台。
而 D22=D21=D31=D32=0,表示每周装配线刚好加班10个小时,彩色电视机的生产量刚好为目标值。
二、调整期望值,再求解:
如果每周开机计划开动可以增加10个小时,那么:
模型的表示形式为:
利用LINDO求解出一个满意解:
从求解结果来看:
满足生产目标的生产计划没有发生改变。
但是,D12=D11=D22=D21=D31=D32=0,说明如果每周的计划开机时间定为50个小时的话,不用加班就能满足其他生产计划。
三、改变优先级
1)让黑白电视的生产量尽可能达到生产计划:
利用LINDO求解出一个满意解:
从求解结果来看:
如果想在扩大黑白电视的生产使其尽可能达到生产目,那么就必须要以牺牲工人的加班时间为代价了,装配线的工作时间就要再超出4个小时。
2)如果员工不满加班:
利用LINGO求解出一个满意解:
从结果来看,
即使增大加班时间不超过10个小时的优先级,工人还需要加班10个小时。
这说明如果工人做出让步,同意加班,那么他们的工作时间就会达到他们心中的底线,尽管他们不满意加班。
Lindo解线性规划问题实例

标题:LINDO 软件包介绍;副标题:Lindo 解线性规划问题实例导语:LINDO 软件包首先由Linus Schrage 开发,现在,美国的LINDO 系统公司(LINDO System Inc.)拥有版权,是一种专门求解数学规划(优化问题)的软件包。
它能求解线性规划、(0,1)规划、整数规划、二次规划等优化问题,并能同时给出灵敏度分析、影子价格以及最优解的松弛分析,非常方便实用。
1.注意事项(1) 低版本的LINDO 要求变量一律用大写字母表示;(2) 求解一个问题,送入的程序必须以MIN 或MAX 开头,以END 结束;然后按Ctrl + S (或按工具栏中的执行快捷键)进行求解;(3) 目标函数与约束条件之间要用SUBJECT TO (或ST )分开,其中字母全部大写;(4) LINDO 已假定所有变量非负,若某变量,例如X5有可能取负值,可在END 命令下面一行用FREE X5命令取消X5的非负限制;LINDO 要求将取整数值的变量放在前面(即下标取小值),在END 下面一行用命令INTEGER K ,表示前K 个变量是(0,1)变量;在END 下面一行用命令GIN H 表示前H 个变量是整数变量;(5) 在LINDO 中,“<”等价于“≤” ,“>”等价于“≥” ;(6) 在LINDO 的输出结果中有STATUS (状态栏),它的表出状态有:OPTIMAL (说明软件包求得的结果是最优解)、FEASIBLE (说明软件包求得的结果只是可行解)、INFEASIBLE (说明软件包求得的结果是不可行解)。
(7) 在LINDO 命令中,约束条件的右边只能是常数,不能有变量;(8) 变量名不能超过8个字符;(9) LINDO 对目标函数的要求,每项都要有变量,例如,LINDO 不认识MIN 2000-X+Y ,要改为MIN –X+Y ;(10)LINDO 不认识400(X+Y )要改为400X+400Y 。
运筹学实验报告lingo

二. 实验题目
1、求解线性规划:
max
z x 1 2x
2
2x 1 5x 2 12 s.t. x 1 2x 2 8 x , x 0 2 1
并对价值系数、右端常量进行灵敏度分析。
2、已知某工厂计划生产I,II,III三种产品,各 产品需要在A、B、C设备上加工,有关数据如下:
Allowable Decrease:允许减少量
Current RHS :当前右边常数项
结论1:
该线性规划问题的最优解为:X*=(35,10,0)T 最优值为:z*=215
结论2:
c1=5 c1在(4,8)内原最优解不变,但最优值是要变的 c2=4 c2在(2.7,5)内原最优解不变,但最优值是要变的 c3=3 c3在(-∞ ,7)内原最优解,最优值都是不变的 b1=45 b1在(40, 50)内原最优基不变,但最优解和最优值是要变的 b2=80 b2在(67.5, 90)内原最优基不变,但最优解和最优值是要变的 b3=90 b3在(65, ∞ )内原最优基不变,但最优解和最优值是要变的
Row 1 2 3 4 Slack or Surplus 215.0000 0.000000 0.000000 25.00000 Dual Price 1.000000 3.000000 1.000000 0.000000
激活灵敏度计算功能
法一:打开command window,输入range;
法二:LINGO——options —— General Solver —Dual Computations——Prices & Ranges
LINGO
Outline
一.熟悉LINDO软件的灵敏度分析功能
优化软件LINDO在运筹学中的应用

案例分析
案例分析
以下是一个应用案例,通过使用软件,学生对某物流公司的运输网络进行了 优化。
1、问题描述:该物流公司拥有多个仓库和配送中心,货物的运输和配送由多 个车辆完成。由于公司业务量的增长,原有的运输网络已经不能满足需求,因此 需要优化车辆路径以提高运输效率。
案例分析
2、软件应用:学生使用MATLAB和Simulation Builder来建立并求解该优化 问题。首先,使用MATLAB建立一个车辆路径优化模型;然后,使用Simulation Builder对该模型进行模拟和测试;最后,通过MATLAB进行结果分析和可视化。
软件应用
软件应用
1、建模:在物流运筹学教学中,软件可以帮助学生轻松建立各种数学模型, 如线性规划模型、整数规划模型等。这些模型可以准确地描述物流系统的实际情 况,为进一步的分析和优化奠定基础。
软件应用
2、分析:软件集成了大量的数据分析工具和算法,可以帮助学生深入分析物 流系统中的各种数据,如成本数据、时间数据等。通过这些分析,学生可以更好 地理解物流系统的性能瓶颈和优化潜力。
应用实践
1、需求分析
1、需求分析
在物流工程运筹学中,需求分析是解决问题的第一步。教师可引导学生使用 LINGO软件进行问题定义和场景模拟,以便更好地理解问题背景和需求。例如, 在解决车辆路径问题(VRP)时,可以通过LINGO软件对客户需求、车辆容量等进 行分析,为后续建模优化做好准备。
案例分析
3、结果分析:经过优化,车辆路径长度减少了20%,运输时间减少了15%,从 而大幅提高了运输效率。但是,由于仓库和配送中心的布局以及货物的特性限制, 部分优化目标的改善幅度较小。
案例分析
4、不足与挑战:在这个案例中,虽然软件的应用取得了显著的效果,但仍存 在一些不足之处。例如,模型假设较为简化,忽略了一些现实中的影响因素,如 交通状况、天气等。此外,优化过程中只考虑了运输成本和时间,而未考虑到其 他潜在的成本和利益相关者需求。未来,学生需要对模型进行进一步的改进和完 善,以更好地应对现实中的复杂问题。
运筹学的应用简介及实例(lindo,lingo,ahp)[大全五篇]
![运筹学的应用简介及实例(lindo,lingo,ahp)[大全五篇]](https://img.taocdn.com/s3/m/260e15e2185f312b3169a45177232f60ddcce716.png)
运筹学的应用简介及实例(lindo,lingo,ahp)[大全五篇]第一篇:运筹学的应用简介及实例(lindo,lingo,ahp)运筹学的应用简介及实例(lindo,lingo,ahp)一.运筹学可以用于物流中心选址:配送中心合理选址的目的是为了提高物流企业的服务质量,最大限度地增加物流企业的经济效益。
科学合理的选址不仅能够减少货物运输费用,大幅度地降低运营成本,而且能为客户带来方便快捷的服务。
二.运筹学可以用于路线选择:利用运筹学中的图论和线性规划方法,对已有的空运、水运、公路运输、管道运输、铁路运输组成的交通网,根据不同的决策目标制定不同的调运方案,可以是最短时间的运输路线、最少费用的运输路线或是最大运输量最低运费的运输线路等,从而达到降低物流成本的目的。
三.运筹学中排队论在物流中应用:排队论主要研究具有随机性的拥挤现象,在物流中有许多问题涉及,诸如机场跑道设计和机场设施数量问题, 如何才能既保证飞机起降的使用要求, 又不浪费机场资源又如码头的泊位设计和装卸设备的购置问题, 如何达到既能满足船舶到港的装卸要求, 而又不浪费港口资源等等。
四.运筹学中库存论在物流中应用:库存论主要是研究物资库存策略的理论, 即确定物资库存量、补货频率和一次补货量。
合理的库存是生产和生活顺利进行的必要保障, 可以减少资金的占用, 减少费用支出和不必要的周转环节, 缩短物资流通周期, 加速再生产的过程等。
在物流领域中的各节点如工厂、港口、配送中心、物流中心、仓库、零售店等都或多或少地保有库存。
五.运筹学中对策论在物流中应用:对策论研究有利害冲突的双方在竞争性的活动中是否存在自己制胜对方的最优策略, 以及如何找出这些策略等问题。
在这些问题中, 把双方的损耗用数量来描述, 并找出双方最优策略。
对策论的发展, 考虑有多方参加的竞争活动, 在这些活动中, 竞争策略要通过参加者多次的决策才能确定。
参考文献:[1] 左元斌.运筹学在物流配送中心的应用研究[J].商场现代化,2006(458):125-127.[2] 李宇鸣.浅谈运筹学在物流管理中应用与发展[J].吉林工商学报,2007(4):55-56.[3] 田进波.运筹学在管理物流管理中的应用[J].石油工程建设,2010(36):153-155.LINDO求解目标规划:题目:一个小型的无线电广播台考虑如何最好地来安排音乐、新闻和商业节目时间。
《管理运筹学》案例分析报告

秋季流行服饰与衣料得准备(五人)目从办公室得十层大楼里,凯瑟琳・拉里俯视着下面忙忙碌碌得人流,在充塞着黄色出租车得街道以及乱放着一些买热狗得摊位得人行道上,成群得纽约人来来往往,好不热闹.在这闷热得暑天里,她注视着各类女性得穿衣时尚,心里想得却就是这些人在秋季将会选择怎样得款式•这并非就是她得一时得灵感,而就是她工作得重要得一部分因为她拥有并经营着一家妇女精品时装公司一一时尚隧道(T r en d Lin e s)公司。
今天对她来说就是很重要得,因为她将与生产部经理泰德・罗森碰面,一起商讨下一个月秋季生产线得生产计划,特别就是在一定得生产能力得基础上确定要各种服装得生产量。
制定下个月得周密得生产计划对于秋季得销售就是至关重要得,因为这些产品在9月份将会上市,而妇女们通常在服装一上市时就会购买大部分得秋天得服饰。
凯瑟琳回转身,走到宽大得玻璃台旁去瞧铺上面得大量得资料及设计图。
她扫视着6个月以前就设计出来得服装图样,各种样式所需要得材料,以及在时装展上通过消费者调研取得得各种样式得需求预测。
现在,她还记得当时就是如何设汁图样并将样品在纽约,米兰与巴黎得服装展上展出,那些天可真就是既兴奋而又痛苦。
最后,她付给六个设计者得总酬金为$ 86 0 ,0 00.除此外,每次时装展得费用为$ 2, 70 0,000,包括雇用职业模特、发型师、化妆师,以及衣服得裁制与缝纫、展台背景得设计、模特得走步与排练、会场得租用。
她研究着衣服得样式与所需得材料。
秋季得服装包括职业装与休闲装,而每种服装得价格就是由衣服得质量、材料得成本、人工成本、机器成本,以及对该产品得需求与品牌得知名度等因素来确定得。
秋季得职业装包括秋季得休闲装包括她知道已经为下个月采购了下面得这些材料:羊毛45, 00 0码、开司米2 8,0 00 码、丝绸18,000码、人造纤维30, 000码、天鹅绒2 0,0 00码、棉布30,00 0码。
各种材料得价格如下图所示:多余得材料(不包括下脚料)可以运回给衣料供应商,并得到全额得偿还。
运筹学实例分析及lingo求解

运筹学实例分析及lingo 求解一、线性规划某公司有6个仓库,库存货物总数分别为60、55、51、43、41、52,现有8个客户各要一批货,数量分别为35,37,22,32,41,32,43,38。
各供货仓库到8个客户处的单位货物运输价见表试确定各仓库到各客户处的货物调运数量,使总的运输费用最小。
解:设ijx 表示从第i 个仓库到第j 个客户的货物运量。
ij c表示从第i 个仓库到第j 个客户的单位货物运价,i a 表示第i 个仓库的最大供货量,j d 表示第j 个客户的订货量。
目标函数是使总运输费用最少,约束条件有三个:1、各仓库运出的货物总量不超过其库存数2、各客户收到的货物总量等于其订货数量3、非负约束数学模型为:∑∑===6181)(min i j ijij x c x f⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧≥===≤∑∑==08,,2,1,6,2,1,,..6181ij j i ij i j ij x j d x i a x t s 编程如下:model : Sets :Wh/w1..w6/:ai;Vd/v1..v8/:dj;links(wh,vd):c,x;endsetsData:ai=60,55,51,43,41,52;dj=35,37,22,32,41,32,43,38;c=6,2,6,7,4,2,5,94,9,5,3,8,5,8,25,2,1,9,7,4,3,37,6,7,3,9,2,7,12,3,9,5,7,2,6,55,5,2,2,8,1,4,3;EnddataMin=@sum(links(i,j):c(i,j)*x(i,j));@for(wh(i):@sum(vd(j):x(i,j))<=ai(i));@for(vd(j):@sum(wh(i):x(i,j))=dj(j));endGlobal optimal solution found.Objective value: 664.0000Total solver iterations: 0Variable Value Reduced Cost AI( W1) 60.00000 0.000000 AI( W2) 55.00000 0.000000 AI( W3) 51.00000 0.000000 AI( W4) 43.00000 0.000000 AI( W5) 41.00000 0.000000 AI( W6) 52.00000 0.000000 DJ( V1) 35.00000 0.000000 DJ( V2) 37.00000 0.000000 DJ( V3) 22.00000 0.000000 DJ( V4) 32.00000 0.000000 DJ( V5) 41.00000 0.000000 DJ( V6) 32.00000 0.000000 DJ( V7) 43.00000 0.000000 DJ( V8) 38.00000 0.000000 C( W1, V1) 6.000000 0.000000 C( W1, V2) 2.000000 0.000000 C( W1, V3) 6.000000 0.000000 C( W1, V4) 7.000000 0.000000 C( W1, V5) 4.000000 0.000000 C( W1, V6) 2.000000 0.000000C( W1, V8) 9.000000 0.000000 C( W2, V1) 4.000000 0.000000 C( W2, V2) 9.000000 0.000000 C( W2, V3) 5.000000 0.000000 C( W2, V4) 3.000000 0.000000 C( W2, V5) 8.000000 0.000000 C( W2, V6) 5.000000 0.000000 C( W2, V7) 8.000000 0.000000 C( W2, V8) 2.000000 0.000000 C( W3, V1) 5.000000 0.000000 C( W3, V2) 2.000000 0.000000 C( W3, V3) 1.000000 0.000000 C( W3, V4) 9.000000 0.000000 C( W3, V5) 7.000000 0.000000 C( W3, V6) 4.000000 0.000000 C( W3, V7) 3.000000 0.000000 C( W3, V8) 3.000000 0.000000 C( W4, V1) 7.000000 0.000000 C( W4, V2) 6.000000 0.000000 C( W4, V3) 7.000000 0.000000 C( W4, V4) 3.000000 0.000000 C( W4, V5) 9.000000 0.000000 C( W4, V6) 2.000000 0.000000 C( W4, V7) 7.000000 0.000000 C( W4, V8) 1.000000 0.000000 C( W5, V1) 2.000000 0.000000 C( W5, V2) 3.000000 0.000000 C( W5, V3) 9.000000 0.000000 C( W5, V4) 5.000000 0.000000 C( W5, V5) 7.000000 0.000000 C( W5, V6) 2.000000 0.000000 C( W5, V7) 6.000000 0.000000 C( W5, V8) 5.000000 0.000000 C( W6, V1) 5.000000 0.000000 C( W6, V2) 5.000000 0.000000 C( W6, V3) 2.000000 0.000000 C( W6, V4) 2.000000 0.000000 C( W6, V5) 8.000000 0.000000 C( W6, V6) 1.000000 0.000000 C( W6, V7) 4.000000 0.000000 C( W6, V8) 3.000000 0.000000 X( W1, V1) 0.000000 5.000000 X( W1, V2) 19.00000 0.000000X( W1, V4) 0.000000 7.000000 X( W1, V5) 41.00000 0.000000 X( W1, V6) 0.000000 2.000000 X( W1, V7) 0.000000 2.000000 X( W1, V8) 0.000000 10.00000 X( W2, V1) 1.000000 0.000000 X( W2, V2) 0.000000 4.000000 X( W2, V3) 0.000000 1.000000 X( W2, V4) 32.00000 0.000000 X( W2, V5) 0.000000 1.000000 X( W2, V6) 0.000000 2.000000 X( W2, V7) 0.000000 2.000000 X( W2, V8) 0.000000 0.000000 X( W3, V1) 0.000000 4.000000 X( W3, V2) 11.00000 0.000000 X( W3, V3) 0.000000 0.000000 X( W3, V4) 0.000000 9.000000 X( W3, V5) 0.000000 3.000000 X( W3, V6) 0.000000 4.000000 X( W3, V7) 40.00000 0.000000 X( W3, V8) 0.000000 4.000000 X( W4, V1) 0.000000 4.000000 X( W4, V2) 0.000000 2.000000 X( W4, V3) 0.000000 4.000000 X( W4, V4) 0.000000 1.000000 X( W4, V5) 0.000000 3.000000 X( W4, V6) 5.000000 0.000000 X( W4, V7) 0.000000 2.000000 X( W4, V8) 38.00000 0.000000 X( W5, V1) 34.00000 0.000000 X( W5, V2) 7.000000 0.000000 X( W5, V3) 0.000000 7.000000 X( W5, V4) 0.000000 4.000000 X( W5, V5) 0.000000 2.000000 X( W5, V6) 0.000000 1.000000 X( W5, V7) 0.000000 2.000000 X( W5, V8) 0.000000 5.000000 X( W6, V1) 0.000000 3.000000 X( W6, V2) 0.000000 2.000000 X( W6, V3) 22.00000 0.000000 X( W6, V4) 0.000000 1.000000 X( W6, V5) 0.000000 3.000000 X( W6, V6) 27.00000 0.000000X( W6, V8) 0.000000 3.000000 Row Slack or Surplus Dual Price 1 664.0000 -1.000000 2 0.000000 3.000000 3 22.00000 0.000000 4 0.000000 3.000000 5 0.000000 1.000000 6 0.000000 2.000000 7 0.000000 2.000000 8 0.000000 -4.000000 9 0.000000 -5.000000 10 0.000000 -4.000000 11 0.000000 -3.000000 12 0.000000 -7.000000 13 0.000000 -3.000000 14 0.000000 -6.000000 15 0.000000 -2.000000由以上结果可以清楚的看到由各仓库到各客户处的货物调运数量,由此得出的符合条件的最佳运货方案,而使运费最低,最低为664。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
管理运筹学lindo案例分析⑻Lindo的数据分析及习题用该命令产生当前模型的灵敏性分析报告:研究当目标函数的费用系数和约束右端项在什么围(此时假定其它系数不变)时,最优基保持不变。
灵敏性分析是在求解模型时作出的,因此在求解模型时灵敏性分析是激活状态,但是默认是不激活的。
为了激活灵敏性分析,运行LINGO|Options…,选择General Solver Tab , 在Dual Computations 列表框中,选择Prices and Ranges 选项。
灵敏性分析耗费相当多的求解时间,因此当速度很关键时,就没有必要激活它。
下面我们看一个简单的具体例子。
例5.1某家具公司制造书桌、餐桌和椅子,所用的资源有三种:木料、木工和漆工。
生产数据如下表所示:用DESKS TABLES和CHAIRS分别表示三种产品的生产量,建立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 at iteration:3Objective value:280.0000Variable Value Reduced CostDESKS 2.0000000.000000TABLES0.000000 5.000000CHAIRS8.0000000.000000Row Slack or Surplus Dual Price1280.0000 1.000000224.000000.00000030.00000010.0000040.00000010.000005 5.0000000.000000“ Global optimal solution found at iteration: 3 ”表示 3 次迭代后得到全局最优解。
a Objective value:280.0000 ”表示最优目标值为280。
“Value”给出最优解中各变量的值:造2个书桌(desks), 0 个餐桌(tables ), 8 个椅子(chairs )。
所以desks、chairs 是基变量(非0), tables 是非基变量(0 )。
“ Slack or Surplus ”给出松驰变量的值:第1行松驰变量=280 (模型第一行表示目标函数,所以第二行对应第一个约束)第2行松驰变量=24第3行松驰变量=0第4行松驰变量=0第5行松驰变量=5“ Reduced Cost ”列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时,目标函数的变化率。
其中基变量的reduced cost 值应为0, 对于非基变量X j,相应的reduced cost 值表示当某个变量X j 增加一个单位时目标函数减少的量( max 型问题)。
本例中:变量tables 对应的reduced cost 值为 5,表示当非基变量 tables 的值从 0 变为 1 时(此时假定其他非基变量保持不变 但为了满足约束条件,基变量显然会发生变化) ,最优的目标函数值 = 280 - 5 = 275 。
“ DUAL PRICE (对偶价格)表示当对应约束有微小变动时 ,目标函数的变化率。
输出结果中对 应于每一个约束有一个对偶价格。
若其数值为 p , 表示对应约束中不等式右端项若增加 1 个单位, 目 标函数将增加 p 个单位( max 型问题)。
显然,如果在最优解处约束正好取等号(也就是“紧约束”, 也称为有效约束或起作用约束) ,对偶价格值才可能不是 0。
本例中:第 3、4 行是紧约束,对应的对偶 价格值为 10,表示当紧约束3)4 DESKS + 2 TABLES + 1.5 CHAIRS <= 20 变为 3) 4 DESKS + 2 TABLES + 1.5 CHAIRS <= 21 时,目标函数值 = 280 +10 = 290 。
对第 4 行也类似。
对于非紧约束(如本例中第 2、5 行是非紧约束) ,DUAL PRICE 的值为 0, 表示对应约束中不等式右端项的微小扰动不影响目标函数。
有时 , 通过分析 DUALPRICE, 也可对产生不可行问题的原因有所了解。
灵敏度分析的结果是Ranges in which the basis is unchanged:Objective Coefficient Ranges Current Allowable AllowableRighthand Side RangesRow CurrentAllowable AllowableRHS Increase Decrease2 48.00000 0.0 0.0 320.00000 0.0 0.0 4 8.000000 0.0 0.0 55.0000000.00.0目标函数中 DESKS 变量原来的费用系数为 60,允许增加(Allowable In crease )=4、允许减少 ( Allowable Decrease )=2,说明当它在 [60-4 , 60+20] = [56 , 80] 围变化时,最优基保持不变。
对 TABLES CHAIRS 变量,可以类似解释。
由于此时约束没有变化(只是目标函数中某个费用系数发生变 化),所以最优基保持不变的意思也就是最优解不变(当然,由于目标函数中费用系数发生了变化,所 以最优值会变化) 。
第2行约束中右端项(Right Hand Side ,简写为 RHS 原来为48,当它在[48-24 , 48+^] = [24 , R ]围变化时,最优基保持不变。
第 3、4、5行可以类似解释。
不过由于此时约束发生变化,最优基即 使不变,最优解、最优值也会发生变化。
灵敏性分析结果表示的是最优基保持不变的系数围。
由此, 也可以进一步确定当目标函数的费用系 数和约束右端项发生小的变化时, 最优基和最优解、 最优值如何变化。
下面我们通过求解一个实际问题 来进行说明。
例 5.2 一奶制品加工厂用牛奶生产 A 1,A 2两种奶制品, 1 桶牛奶可以在甲车间用 12小时加工成 3 公斤A,或者在乙车间用8小时加工成4公斤A 。
根据市场需求,生产的 A,A 2全部能售出,且每公斤A获利24元,每公斤A 2获利16元。
现在加工厂每天能得到 50桶牛奶的供应,每天正式工人总的劳动时间480小时,并且甲车间每天至多能加工100公斤A 1,乙车间的加工能力没有限制。
试为该厂制订一个生产计划,使每天获利最大,并进一步讨论以下 3个附加问题:1) 若用 35 元可以买到 1 桶牛奶,应否作这项投资?若投资,每天最多购买多少桶牛奶? 2) 若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时几元? 3) 由于市场需求变化,每公斤 A 1 的获利增加到 30 元,应否改变生产计划? 模型代码如下:max=72*x1+64*x2; x1+x2<=50;12*x1+8*x2<=480; 3*x1<=100;求解这个模型并做灵敏性分析,结果如下。
Global optimal solution found at iteration: 0 Objective value: 3360.000Variable Value Reduced CostX1 20.00000 0.000000 X2 30.00000 0.000000Row Slack or Surplus Dual Price 1 3360.000 1.000000 2 0.000000 48.00000 30.000000 2.000000Variable Coefficient IncreaseDESKS 60.00000 0.0TABLES 30.00000 0.0 CHAIRS 20.00000 0.0 Decrease 0.0 0.00.0440.000000.000000Ranges in which the basis is unchanged:Objective Coefficient Ranges Current Allowable Allowable Variable Coefficient Increase DecreaseX172.0000024.000008.000000X264.000008.00000016.00000Righthand Side RangesRow Current Allowable AllowableRHS Increase Decrease250.0000010.00000 6.6666673480.000053.3333380.000004100.0000INFINITY40.00000结果告诉我们:这个线性规划的最优解为x i=20, X2=30,最优值为z=3360,即用20桶牛奶生产A,30桶牛奶生产A,可获最大利润3360元。
输出中除了告诉我们问题的最优解和最优值以外,还有许多对分析结果有用的信息,下面结合题目中提出的 3 个附加问题给予说明。
3 个约束条件的右端不妨看作 3 种“资源”:原料、劳动时间、车间甲的加工能力。
输出中Slack or Surplus 给出这 3 种资源在最优解下是否有剩余:原料、劳动时间的剩余均为零,车间甲尚余40(公斤)加工能力。
目标函数可以看作“效益”,成为紧约束的“资源”一旦增加,“效益”必然跟着增长。
输出中DUAL PRICES 给出这3种资源在最优解下“资源”增加 1 个单位时“效益”的增量:原料增加1 个单位( 1 桶牛奶)时利润增长48(元),劳动时间增加1个单位(1 小时)时利润增长2(元),而增加非紧约束车间甲的能力显然不会使利润增长。
这里,“效益”的增量可以看作“资源”的潜在价值,经济学上称为影子价格,即 1 桶牛奶的影子价格为48元,1小时劳动的影子价格为 2 元,车间甲的影子价格为零。
读者可以用直接求解的办法验证上面的结论,即将输入文件中原料约束milk )右端的50 改为51,看看得到的最优值(利润)是否恰好增长48(元)。
用影子价格的概念很容易回答附加问题1):用35元可以买到1桶牛奶,低于1 桶牛奶的影子价格48,当然应该作这项投资。
回答附加问题2):聘用临时工人以增加劳动时间,付给的工资低于劳动时间的影子价格才可以增加利润,所以工资最多是每小时 2 元。