- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用Matlab解法求解线性规划问题
Matlab实验报告
实验目的:用Matlab解法求解线性规划问题
实验一:
题目:求解线性规划问题:
方法一:Matlab解法
算法设计:
先求Z的最小值,再取相反数即为所求的最大值。
将第一个约束条件改为。以便与另外两个约束条件保持不等号方向的一致。
根据所给的约束条件,利用x=linprog(c,a,b)求解
求值程序:
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.
方法二:图像法
程序代码:
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三种产品,每月可供应的原料数量(单位:t),每万件产品所需各种原料的数量及每万件产品的价格如表所示。试制定每月的最优生产计划,使得总收益最大。
原料 每万件产品所需原料(t) 每月原料供应量(t) A1 A2 A3 甲 4 3 1 180 乙 2 6 3 200 价格(万元/万件) 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];
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
结果分析:当生产A1、A2、A3产品34万件,0件,44万件时,可使得收益最大,为584万元。
总结:
在实际应用中,求最大值的情况比较多,所以写程序时要注意对目标函数左右乘以-1,对最后的结果再次取相反数。在做第二题时,由于忽略了这一点,导致算出来的数字很小,并且是小数,耽误了不少时间。不过通过查课本,知道了matlab软件不支持非整数线性规划的计算,需使用LINDO和LINGO等软件。
利用绘图法做第一题时,再次对绘图命令进行了复习。并且发现可以在生成图像后在图形界面对个别重点图线的线条、颜色进行调整,而不必死记相应命令。
通过做第二题,对aeq beq vlb vub命令有了深刻的理解。
2010年4月10日
A(1,4)
文档评论(0)