- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一用matlab_linprog求解简单线性规划问题
北京联合大学
实验报告
项目名称: 运筹学专题实验报告
学 院: 自动化 专 业: 物流工程
班 级: 1201B 学 号:81
姓 名: 管水城 成 绩:
2015 年 5 月 6 日
实验一:用matlab的linprog求解简单线性规划问题
一、实验目的:
(1)使学生在程序设计方面得到初步的训练;,学习Matlab (C或VB)语言进行程序设计中一些常用方法。
二、实验用仪器设备、器材或软件环境
计算机, Matlab R2006a
三、算法步骤、计算框图、计算程序等
1. 线性规划模型的一般形式,目标函数和所有的约束条件都是设计变量的线性函数:.
2. 用MATLAB优化工具箱解线性规划:
命令:x=linprog(c, A, b)
命令:x=linprog(c,A,b,Aeq,beq)
注意:若没有不等式: 存在,则令A=[ ],b=[ ].
命令:[1] x=linprog(c,A,b,Aeq,beq, VLB,VUB)
[2] x=linprog(c,A,b,Aeq,beq, VLB,VUB, X0)
注意:[1] 若没有等式约束, 则令Aeq=[ ], beq=[ ].
[2]其中X0表示初始点
3.求解简单线性规划问题
1. 求解:
打开matlab2006a软件,如图所示,点击file,新建script文件hh1并输入程序代码。
图1
程序代码:c=[-0.4 -0.28 -0.32 -0.72 -0.64 -0.6];
A=[0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08];
b=[850;700;100;900];
Aeq=[]; beq=[];
vlb=[0;0;0;0;0;0]; vub=[];
[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
运行该程序,结果如下图:
图2
由实验结果可知,该问题的最优解是x1=135,x2=20,x3=300,x3=0,x5=0,x6=0,最大值为250。
2.求解:
若x,y满足: 求z=2x+y的最大值。
打开matlab2006a软件,点击file,新建script文件hh2并输入程序代码:
c=[-2 -1];
A=[1 -4;3 5 ];
b=[-3 25];
Aeq=[];
beq=[];
vlb=[1];
vub=[];
[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
运行该程序,结果如下图:
图3
由实验结果可知,该问题的最优解是x=5,y=2,最大值为12。
3.求解:
某校食堂以面食和米食为主,面食每百克含蛋白质6个单位,含淀粉4个单位,售价0.5元;米食每百克含蛋白质3个单位,含淀粉7个单位,售价0.4元.学校要给学生配制成盒饭,每盒至少有8个单位的蛋白质和10个单位的淀粉,应如何配制盒饭,才既科学又使费用最少?
解:由题意将该问题转化为线性规划问题如下:设配置x百克面食和y百克米饭
Minz=0.5x+0.4y
St. 6x+3y=8
4x+7y=10
X,y=0
打开matlab2006a软件,点击file,新建script文件hh3并输入程序代码:
c=[0.5 0.4];
A=[-6 -3;-4 -7];
b=[8 10];
Aeq=[];
beq=[];
vlb=[];
vub=[];
[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
运行该程序,结果如下图:
图4
由实验结果可知,应当配置0.8667百克的面食和0.9333百克的米饭能使满足营养需求,又能使得总费用最小,最小费用为0.8067元。
四、实验总结
本次做的只是最简单的线性规划问题,面对以后更大的、更复杂的问题奠定基础,所以我非常认真对待这次实验,做完本次实验,使我对单纯形方法,更加熟练,对matlab程序设计也更加熟悉。
原创力文档


文档评论(0)