- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
运筹单纯型算法
运筹学实验报告
题目:用单纯形法求解线性规划问题
姓 名 王赛赛
学 号 2012436138
年级专业 12数电类2
指导教师 苏珂
2013年11月15日
实验目的:
运用MATLAB科学计算软件完成单纯型算法求解线性规划问题。
实验内容:
编写一个MATLAB的函数文件:matrix.m,用于求解标准型的线性规划问题:
Ax=b
min f=c’*x subject to
x≥0
1.函数调用基本形式:[x,minf,optmatrx,flag]=matrix(A,c,b)
2.参数介绍:
Ax=b
A:线性规划问题的约束 中各变量的系数组成的矩阵,是一个m×n的矩阵。 x≥0
c:线性规划问题的目标函数f= c’*x中各变量的系数变量,是一个n维的行向量。
Ax=b
b:线性规划问题的约束 中的常数向量,是一个mn维德列向量。
x≥0
X:输出线性规划问题的最优解,当线性规划问题没有可行解或者有可行解但没有优解X=[]。
minf:输出线性规划问题的最优解,当线性规划问题没有可行解minf[],当线性规划问题有可行解但没有最优解时minf=-inf。
optmartx:输出最优解对应的单纯型表,当线性规划问题没有可行解或者有可行解但没有最优解时optmartx=[]。
flag:相性规划问题的求解结果标志值,当线性规划问题有最优解时flag=1,当线性规划问题有可行解但没有最优解时flag=0,当线性规划问题没有可行解时flag=-1.
MATLAB函数linprog的使用
Function [x,fval,exitflag,output,lambda]=linprog(f,A,B,Aeq,Beq,lb,ub,x0,options)
这个函数的功能是解决线性规划问题,它可以有变化的函数传递个数,函数内部根据传值的多少进行不同的功能操作。
一、函数的传值
1、X = LINPROG(f,A,b) 试图解决线性问题:求出f’*x的最小值,且f’x服从A*x=b,其中x为自变量
2、X = LINPROG(f,A,b,Aeq,beq)解决满足添加约束等式:Aeq*x = beq的上述问题
3、X = LINPROG(f,A,b,Aeq,beq,LB,UB)在以上的条件加下,与此同时定义了自变量的上下线,LB = X = UB,其中X为问题中的自变量。如果问题中没有上下线(即没有UB和LB),则用空矩阵来代替。如果问题中没有下线,则LB(i)=-Inf;如果没有上线,则UB(i)=Inf。
4、X = LINPROG(f,A,b,Aeq,beq,x0),在以上条件下,设置起点x0。这一项是唯一可用的有效集算法。默认的内点算法将忽略任何非空的起点。
5.X = LINPROG(FA,B,AEQ,BEQ,LB,UB X0,OPTIONS),最大限度地减少使用默认的值在股权结构
二、函数的返回值
1、[X,FVAL] = LINPROG(f,A,b),返回值FVAL是目标函数的最优解,X是相应于最优解的为指数的向量
2、[X,FVAL,EXITFLAG] = LINPROG(f,A,b),前两个与上述相同,最后一个EXITFLAG返回z值描述退出函数的不同情况,其中,可能返回的EXITFLAG的值及其对应的情况如下:
1——LINPROG收敛于结果X。
0——达到最大迭代次数
-2——找不到可行解
-3——问题无界
-4——当执行算法的时候出现不确定解
-5——原问题及其对偶问题都无可行解
-7——搜索方向的数量级过小;没有办法进行更加深入的搜索。问题条件有错或者变量有错误。
3、[X,FVAL,EXITFLAG,OUTPUT] = LINPROG(f,A,b),前面与上相同,最后返回一个OUIPUI的结构,此结构是带有从OUOPUT中得到的iterations的数值的最大值。参数Iterations是OUIPUI中约束问题的最大值。参数Constrviolation是一个在OUIPUI算法中使用的算法。Algorithm是在OUIPUI中共轭梯度的ite
文档评论(0)