用Matlab解法求解线性规划问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x=-4:1:4;
y1=x-2;
y2=2*x+2;
y3=1/3*(14-2*x);
y4=1/3*(13-x);
plot(x,y1,x,y2,x,y3,x,y4,’:’)
经过对直线的适度调整后,得到图像为:
结果处理及分析:根据约束条件,星型图案所在的闭合三角形为可行域,易知,蓝色虚线代表的目标函数过A(1,4)时,Z取最大值13。
结果分析:当生产A1、A2、A3产品34万件,0件,44万件时,可使得收益最大,为584万元。
总结:
1、在实际应用中,求最大值的情况比较多,所以写程序时要注意对目标函数左右乘以-1,对最后的结果再次取相反数。在做第二题时,由于忽略了这一点,导致算出来的数字很小,并且是小数,耽误了不少时间。不过通过查课本,知道了matlab软件不支持非整数线性规划的计算,需使用LINDO和LINGO等软件。
Matlab实验报告
实验目的:用Matlab解法求解线性规划问题
实验一:
题目:求解线性规划问题:
方法一:Matlab解法
算法设计:
1、先求Z的最小值,再取相反数即为所求的最大值。
2、将第一个约束条件改为 。以便与另外两个约束条件保持不等号方向的一致。
3、根据所给的约束条件,利用x=linprog(c,a,b)求解
12
5
4
算法设计:
1、设生产A1,A2,A3三种产品的量为x1 x2 x3,收益为Z,写出Z的表达式及约束条件为:
2、求(-Z)的最小值,再取相反数即为Z的最大值。
3、利用x=linprog(c,a,b,aeq,beq,vlb,vub)求解
程序:
c=[-12,-5,-4];
a=[4,3,1;2,6,3];
实验二:
题目:某工厂利用甲,乙两种原料生产A1,A2,A3三种产品,每月可供应的原料数量(单位:t),每万件产品所需各种原料的数量及每万件产品的价格如表所示。试制定每月的最优生产计划,使得总收益最大。
原料
每万件产品所需原料(t)
每月原料供应量(t)
A1Βιβλιοθήκη Baidu
A2
A3

4
3
1
180

2
6
3
200
价格(万元/万件)
b=[180;200];
aeq=[];
beq=[];
vlb=[0;0;0];
vub=[];
[x,fval]=linprog(c,a,b,aeq,beq,vlb,vub)
maxz=-fval
运行结果:
x =
34.0000
0.0000
44.0000
fval =
-584.0000
maxz =
584.0000
求值程序:
c=[-3,-1];
a=[-1,1;1,-2;3,2];
b=[2;2;14];
[x,fval]=linprog(c,a,b)
运行结果:
x =
4.0000
1.0000
fval=-13.0000
结果处理及分析:当x1=4 , x2=1时,(-Z)取最小值-13,Z取最大值13.
方法二:图像法
程序代码:
2、利用绘图法做第一题时,再次对绘图命令进行了复习。并且发现可以在生成图像后在图形界面对个别重点图线的线条、颜色进行调整,而不必死记相应命令。
3、通过做第二题,对aeq beq vlb vub命令有了深刻的理解。
2010年4月10日
相关文档
最新文档