用LINGO求解线性规划的例子.doc

上传人:鲁** 文档编号:544325216 上传时间:2023-11-18 格式:DOC 页数:3 大小:40.51KB
返回 下载 相关 举报
用LINGO求解线性规划的例子.doc_第1页
第1页 / 共3页
用LINGO求解线性规划的例子.doc_第2页
第2页 / 共3页
用LINGO求解线性规划的例子.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《用LINGO求解线性规划的例子.doc》由会员分享,可在线阅读,更多相关《用LINGO求解线性规划的例子.doc(3页珍藏版)》请在金锄头文库上搜索。

1、附1:用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)若可以聘用临时工人以增加劳动时间,付给临

2、时工人的工资最多是每小时几元?3)由于市场需求变化,每公斤A1的获利增加到30元,应否改变生产计划?数学模型:设每天用x1桶牛奶生产A1 ,用x2桶牛奶生产A2 目标函数:设每天获利为z元。 x1桶牛奶可生产3x1公斤A1,获利24*3x1,x2桶牛奶可生产4*x2公斤A2,获利16*4x2,故z=72x1+64x2约束条件: 原料供应:生产A1、A2的原料(牛奶)总量不超过每天的供应50桶,即 x1+x250劳动时间:生产A1、A2的总加工时间不超过每天正式工人总的劳动时间480小时,即 12x1+8x2480设备能力:A1的产量不得超过设备甲每天的加工能力100小时,即 3x1100非负约

3、束:x1、x2均不能为负值,即x10,x20综上所述可得max z=72x1+64x2 s.t. x1+x25012x1+8x24803x1100x10,x20显然,目标函数和约束条件都是线性的,这是一个线性规划(LP),求出的最优解将给出使净利润最大的生产计划,要讨论的问题需要考虑参数的变化对最优解和影响,一般称为敏感性(或灵敏度)分析。LINGO求解线性规划用LINGO求解线性规划时,首先在LINGO软件的模型窗口输入一个LP模型,模型以MAX或MIN开始,按线性规划问题的自然形式输入(见下面例子所示)。以下解加工奶制品的生产计划问题:由于LINGO中已假设所有的变量都是非负的,所以非负约

4、束条件不必输入;LINGO也不区分变量中的大小写字符(实际上任何小写字符将被转换为大写字符);约束条件中的“=”及“=”可用“”及“”代替。在LINGO模型窗口输入如下:max=72*x1+64*x2;x1+x2=50; 12*x1+8*x2=480; 3*x1=100;用鼠标单击菜单中的求解命令(Solve)就可以得到解答,结果窗口显示如下:LP OPTIMUM FOUND AT STEP 2OBJECTIVE FUNCTION VALUE 1) 3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0

5、.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 48.000000 3) 0.000000 2.000000 4) 40.000000 0.000000 NO. ITERATIONS= 2计算结果表明:“LP OPTIMUM FOUND AT STEP2”表示单纯形法在两次迭代(旋转)后得到最优解。“OBJECTIVE FUNCTION VALUE 1) 3360.000”表示最优目标值为3360.000(LINGO中将目标函数自动看作第1行,从第二行开始才是真正的约束条件)。“VALUE”给出最优解中各变量(VARIABLE)的值:x

6、1=20.000000,x2=30.000000。“REDUCED COST”的含义是(对MAX型问题):基变量的REDUCED COST值为0,对于非基变量,相应的REDUCED COST值表示当非基变量增加一个单位时(其它非基变量保持不变)目标函数减少的量。本例中两个变量都是基变量。“SLACK OR SURPLUS”给出松弛(或剩余)变量的值,表示约束是否取等式约束;第2、第3行松弛变量均为0,说明对于最优解而言,两个约束均取等式约束;第4行松弛变量为40.000000,说明对于最优解而言,这个约束取不等式约束。“DUAL PRICES”给出约束的影子价格(也称为对偶价格)的值:第2、第

7、3、第4行(约束)对应的影子价格分别48.000000,2.000000,0.000000。“NO. ITERATIONS= 2”表示用单纯形法进行了两次迭代(旋转)。灵敏度分析,则LINGO还会输出以下结果:RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 72.000000 24.000000 8.000000 X2 64.000000 8.000000 16.000000 RIGHTHAN

8、D SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 50.000000 10.000000 6.666667 3 480.000000 53.333332 80.000000 4 100.000000 INFINITY 40.000000以上显示的是当前最优基(矩阵)保持不变的充分条件(RANGES IN WHICH THE BASIS IS UNCHANGED),包括目标函数中决策变量应的系数的变化范围(OBJ COEFFICIENT RANGES)和约束的右端项的变化范围(RIGHTHAND SIDE

9、RANGES)两部分。前一部分的输出行X1 72.000000 24.000000 8.000000表示决策变量X1当前在目标函数中对应的系数为72,允许增加24和减少8。也就是说,当该系数在区间64,96上变化时(假设其它条件均不变),当前最优基矩阵保持不变。对X2对应的输出行也可以类似地解释。由于此时约束没有任何改变,所以最优基矩阵保持不变意味着最优解不变(当然,由于目标函数中的系数发生变化,最优值还是会变的)。后一部分的输出行2 50.000000 10.000000 6.666667表示约束2当前右端项为50,允许增加10和减少6.666667。也就是说,当该系数在区间43.33333

10、3,60上变化时(假设其它条件均不变),当前最优基矩阵保持不变。对约束3、约束4对应的输出行也可以类似地解释。由于此时约束已经改变,虽然最优基矩阵保持不变,最优解和最优值还是会变的。但是,由于最优基矩阵保持不变,所以前面的“DUAL PRICES”给出的约束的影子价格此时仍然是有效的。用LINGO求解加工奶制品的生产计划,结果如下:20桶牛奶生产A1, 30桶生产A2,利润3360元。1)35元可买到1桶牛奶,要买吗?由于原料的影子价格为48,35 48, 应该买!2)聘用临时工人付出的工资最多每小时几元? 由于工时的影子价格为2,聘用临时工人付出的工资最多每小时2元3)A1获利增加到 30元/千克,应否改变生产计划 由于要使最优解保持不变,X1系数的允许变化范围为64,96。x1系数由24*3=72增加为30*3=90,在允许范围内。所以不改变生产计划。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号