- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线性规划的单纯形算法课程设计论文
四川理工学院
《最优化方法》课程论文
题目:线性规划的单纯形算法
姓 名:
专 业:统计学
班 级:2011级1班
学 号:
完成日期:2014年6月27日
四川理工学院理学院
二O一 四 年 六 月
摘 要
线性规划是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法。是研究线性约束条件下线性目标函数的极值问题的数学理论和方法。为了得到线性目标函数的极值,我们有多重方法。本文采用单纯性算法求解线性规划问题,并通过Matlab软件编写程序进行求解。
关键词:线性规划 单纯性算法 Matlab编程
目 录
一、 单纯性方法简介 1
1.1 单纯性方法提出 1
1.2单纯性方法的基本思想和步骤 1
1.2.1基本思想 1
1.2.2计算步骤 1
二、问题的提出与分析 1
2.1问题提出 1
2.2问题分析 2
三、程序设计 2
3.1算法设计 2
3.2算法框图 3
3.3程序编制 4
四、结果分析 6
4.1设计结果 6
4.2 进一步讨论和验证 8
五、结束语 8
5.1设计的优缺点 8
5.2 收获与总结 9
参考文献 10
附 录 11
单纯性方法简介
1.1 单纯性方法提出
单纯形法,求解线性规划问题的通用方法。单纯形是美国数学家G.B.丹齐克于1947年首先提出来的,这是20世纪数学界最重大的成果之一。由于这一方法的有效性,几十年来一直在几乎所有的领域得到广泛应用。
它的理论根据是:线性规划问题的可行域是 n维向量空间Rn中的多面凸集,其最优值如果存在必在该凸集的某顶点处达到。顶点所对应的可行解称为基本可行解。
1.2单纯性方法的基本思想和步骤
1.2.1基本思想
单纯形法的基本思想是:先找出一个基本可行解,对它进行鉴别,看是否是最优解;若不是,则按照一定法则转换到另一改进的基本可行解,再鉴别;若仍不是,则再转换,按此重复进行。因基本可行解的个数有限,故经有限次转换必能得出问题的最优解。如果问题无最优解也可用此法判别。
1.2.2计算步骤
1、对于一般的的线性规划,将其化为标准型;
2、求出初始基本可行解;
3、先检验其最优性;
4、如果不是最优的,则从取负值的非基变量中选取一个最负确定为入基变量;
5、选好入基变量后,再在基变量中选取一个出基变量;
6、选好入基变量和出基变量后,进行高斯消去,得到新的可行解;
7、重复以上过程,直至找到最优解。
、
二、问题的提出与分析
2.1问题提出
本文运用单纯性算法求解下列问题:
Max
s.t
并编写MATLAB程序求解。
2.2问题分析
在用单纯性算法解决现行规划问题时,我们通常考察标准形现行规划问题,其标准形如下:
现在将本文所讨论的线性规划化为标准线性规划的形式:
Min
S.t.
其中
A=[2 3 0 1 0 0
0 2 4 0 1 0
3 2 5 0 0 1]
,
三、程序设计
3.1算法设计
解,求得,令,计算目标函数值,以记的第i个分量;
计算单纯性乘子w,,得到,对于非基变量,计算判别系数,令,R为非基变量集合,若判别系数,则得到一个最基本可行解,运算结束;否则,转到下一步
解,得到;若,即的每一个分量均非正数,则停止计算,问题不存在有限最优解,否则,进行步骤4;
确定下标r,使,为出基变量,为入基变量,用替换,得到新的基矩阵B,返回步骤1。
3.2算法框图
是
否
是
否
3.3程序编制
A=input(A=);
b=input(b=);
c=input(c=);
format rat
[m,n]=size(A);
E=1:m;E=E;
F=n-m+1:n;F=F;
D=[E,F];
X=zeros(1,n);
if(nm)
fprintf(不符合要求需引入松弛变量)
flag=0;
else
flag=1;
B=A(:,n-m+1:n);
cB=c(n-m+1:n);
while flag
w=cB/
文档评论(0)