MATLAB的线性规划问题的敏感性分析

上传人:飞*** 文档编号:35886368 上传时间:2018-03-22 格式:DOC 页数:8 大小:201.21KB
返回 下载 相关 举报
MATLAB的线性规划问题的敏感性分析_第1页
第1页 / 共8页
MATLAB的线性规划问题的敏感性分析_第2页
第2页 / 共8页
MATLAB的线性规划问题的敏感性分析_第3页
第3页 / 共8页
MATLAB的线性规划问题的敏感性分析_第4页
第4页 / 共8页
MATLAB的线性规划问题的敏感性分析_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《MATLAB的线性规划问题的敏感性分析》由会员分享,可在线阅读,更多相关《MATLAB的线性规划问题的敏感性分析(8页珍藏版)》请在金锄头文库上搜索。

1、 1MATLAB 的线性规划问题的敏感性分析1问题的提出在现在的日常生活中,我们常会遇到这样的问题,在不同的约束条件下找出 最优点值或算出最佳的数值,以提高总产量或经济效益。那么我们就需要假设 一个模型出来,作为基本模型求解。并找出其内在的规律以方便我们的生产生 活的需要。若约束条件改变,那么总产值是否也会有很大变化呢?让我们一起 来研究。2具体案例如下:以某农场 A,B ,C 等级耕地的面积分别为 100,300,和 200,2hm2hm2hm计划种植水稻,大豆和玉米,要求三种农作物最低收获量分别为190000,130000和 350000。农场 A,B ,C 耕地种植农作物产量如下表kgk

2、gkg所示。若三种农作物售价分别为水稻 1.20 元/,大豆 1.5 元/,玉米 0.8 元kgkg/,。那么, (1)如何制定种植计划才能使总产量最大?(2)如何制定种植kg计划才能使总产值最大?表一:不同等级种植不同农作物的单产量(单位:)2/hmkgA 等级耕地B 等级耕地B 等级耕地 水稻1100095009000 大豆800068006000 玉米1400012000100003问题假设 根据题意,可以建立线性规划模型,假设决策变量为,表示不同的农作物在ijx第等级耕地上种植的面积。j表 2 作物计划种植面积(单位:)2hmA 等级耕地B 等级耕地B 等级耕地 水稻 11x12x13

3、x大豆 21x22x23x2玉米 31x32x33x4模型建立与分析1.模型:min z=cXS.t. AXb命令:x=linprog(c,A,b) 2.模型:min z=cXS.t. AXbAeq.X=beq 命令:x=linprog(c,A,b,Aeq,beq) 注意:若没有不等式:AX存在,则令 A=,b=.b 3. x,fval=linprog(.)左端 fval 返回解 X 处的目标函数值。 4.思路分析:找出约束条件列出目标函数作出可行域求出最优解 敏感性分析回答实际问题。 5.约束方程如下:耕地面积的约束: 200300100332313322212312111xxxxxxxxx

4、最低收获量的约束: 3500001000012000140001300006000680080001900009000950011000333231232221131211xxxxxxxxx并且注意: 0ijx)3 , 2 , 13 , 2 , 1ij;(则(1)追求总产量最大时,目标函数为:333231232221131211 1000012000140006000680080009000950011000maxxxxxxxxxxZ(2)追求总产值最大的目标函数为:)10001200014000(08. 0)600068008000(5 . 1)900095001000(2 . 1max33

5、3231232221131211 xxxxxxxxxZ可化简为333231232221131211 800096001120090001020012000108001140013200maxxxxxxxxxxZ五模型建立与求解:31.对(1)求解,追求总产量最大时,MATLAB 程序如下:f=-11000 -9500 -9000 -8000 -6800 -6000 -14000 -12000 -10000; A=1 0 0 1 0 0 1 0 0 ;0 1 0 0 1 0 0 1 0;0 0 1 0 0 1 0 0 1;-11000 0 0 -9500 0 0 -9000 0 0; 0 -80

6、00 0 0 -6800 0 0 -6000 0; 0 0 -14000 0 0 - 12000 0 0 -10000; b=100 300 200 -190000 -130000 -350000; lb=0 0 0 0 0 0 0 0 0; xopt fxopt=linprog(f,A,b,lb,) Optimization terminated successfully. xopt =0.00000.00000.00000.00000.00000.0000100.0000300.0000200.0000 fxopt =-7000000 键入 S=-Z 得到原问题的目标函数最大值为 S=70

7、000002.运行后敏感性分析后的 MATLAB 程序如下: 从 a=0 开始,以步长对下列模型求解;01. 0aa=0;while(1.1-a)1 c=-11000 -9500 -9000 -8000 -6800 -6000 -14000 -12000 -10000; A=1 0 0 1 0 0 1 0 0 ;0 1 0 0 1 0 0 1 0;0 0 1 0 0 1 0 0 1;-11000 0 0 -9500 0 0 -9000 0 0; 0 -8000 0 0 -6800 0 0 -6000 0; 0 0 -14000 0 0 -12000 0 0 -10000; b=100+a ;3

8、00+a; 200+a ;-190000+a ;-130000+a;-350000+a;Aeq=; beq=;vlb=0,0,0,0,0,0,0,0,0;vub=;x,val=linprog(c,A,b,Aeq,beq,vlb,vub);ax=xQ=-valplot(a,Q,.),hold ona=a+0.01; end xlabel(a),ylabel(Q) grid Optimization terminated successfully.4a =0 x = 0 0 0 0 0 0 100 300 200Q =7000000分析整理后结果对比如下:a =0 x = 0 0 0 0 0 0

9、100 300 200 Q = 7000000 a =0.01 x =0 0 0 0 0 0 100.01 300.01 200.01 Q =7000360 a =0.02 x =0 0 0 0 0 0 100.02 300.02 200.02 Q =7000720 a =0.03 x =0 0 0 0 0 0 100.03 300.03 200.03 Q =7.0011e+006 a =0.04 x =0 0 0 0 0 0 100.04 300.04 200.04 Q =7.0014e+006 a =0.05 x = 0 0 0 0 0 0 100.05 300.05 200.05 Q =

10、7.0018e+006 a =0.06 x =0 0 0 0 0 0 100.06 300.06 200.06 Q =7.0022e+006 a =0.07 x = 0 0 0 0 0 0 100.07 300.07 200.07 Q =7.0025e+006 a =0.08 x =0 0 0 0 0 0 100.08 300.08 200.08 Q =7002880 a =0.09 x =0 0 0 0 0 0 100.09 300.09 200.09 Q =7.0032e+006如果不好观测,还可以将 a 细分为,程序基本不变,只需改变0001. 0a a 的步长即可,则运行后图像如下:5

11、观察图像后,最优值随 a 的参加变化不明显,但总在 6.88e+6 到 6.9e+6 与 7e+6 到 7.02e+6 两个区间内缓慢增长。3.对(2)求解:追求总产值最大的 MATLAB 程序为:f=-13200 -11400 -10800 -12000 -10200 -9000 -11200 -9600 -8000; A=1 0 0 1 0 0 1 0 0 ;0 1 0 0 1 0 0 1 0;0 0 1 0 0 1 0 0 1;-11000 0 0 -9500 0 0 -9000 0 0; 0 -8000 0 0 -6800 0 0 -6000 0; 0 0 -14000 0 0 - 1

12、2000 0 0 -10000; b=100 300 200 -190000 -130000 -350000; lb=0 0 0 0 0 0 0 0 0; xopt fxopt=linprog(f,A,b,lb,) Optimization terminated successfully. xopt =100.0000300.0000200.00000.00000.00000.00000.00000.00000.00006fxopt =-6.9000e+006 键入 S=-Z 运行后得到原问题的目标函数最大值为 S=6.9000e+0064.敏感性分析后的 MATLAB 程序如下: 从 a=0

13、 开始,以步长对下列模型求解;01. 0aa=0;while(1.1-a)1 c=-13200 -11400 -10800 -12000 -10200 -9000 -11200 -9600 -8000; A=1 0 0 1 0 0 1 0 0 ;0 1 0 0 1 0 0 1 0;0 0 1 0 0 1 0 0 1;-11000 0 0 -9500 0 0 -9000 0 0; 0 -8000 0 0 -6800 0 0 -6000 0; 0 0 -14000 0 0 -12000 0 0 -10000; b=100+a ;300+a; 200+a ;-190000+a ;-130000+a;

14、-350000+a;Aeq=; beq=;vlb=0,0,0,0,0,0,0,0,0;vub=;x,val=linprog(c,A,b,Aeq,beq,vlb,vub);ax=xQ=-valplot(a,Q,.),hold ona=a+0.01; end xlabel(a),ylabel(Q) Grid 分析整理后结果对比如下:a=0 x =100 300 200 0 0 0 0 0 0 Q =6.9000e+006 a=0.01 x = 100.01 300.01 200.01 0 0 0 0 0 0 Q =6.9004e+006 a=0.02 x =100.02 300.02 200.02 0 0 0 0 0 0 Q =6.9007e+006 a=0.03 x =100.03 300.03 200.03 0 0 0 0 0 0 Q =6.9011e+006 a=0.04 x =100.04 300.04 200.04 0 0 0 0 0 0 Q =6.9014e+006 a=0.05 x =100.05 300.05 200.05 0 0 0 0 0

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

当前位置:首页 > 商业/管理/HR > 企业文档

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