- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
%本程序是用单纯形方法求解最大化问题clear
closeallclc
A=[12210;34101];b=[8;7];
c=[523-11];
[row,col]=size(A);
cb=c(:,col-row+1:col);
cn=c(:,1:col-row);
N=A(:,1:1:col-row);jian=cn-cb*N; %检验数j=1;
fori=1:col-rowif(jian(:,i)jian(:,j))
j=i;
end
end
ifjian(:,j)0flag=1;
end
xb=[col-row+1:col];%xb用来记录基变量的下标值
xn=[1:col-row];%xn用来记录非基变量的下标值whileflag==1
down1=j;max=jian(:,j);
[min1,down2]=min(b./A(:,down1));%down2为出基变量在xb中的位置
chu=xb(down2); %chu为出基变量的下标值[v1,v2]=size(xb);
fori=1:col-rowif(xn(i)==down1)
xn(i)=chu;
end
endcb=c(:,xb);
A1=[A,b];
%进行旋转变化,同时将B单位化fori=1:v2
temp=A1(:,xb(i));A1(:,xb(i))=A1(:,col-row+i);A1(:,col-row+i)=temp;
endtemp=A1(:,chu);
A1(:,chu)=A1(:,down1);A1(:,down1)=temp;
temp=A1(:,1:row);A1(:,1:row)=A1(:,col-row+1:col);A1(:,col-row+1:col)=temp;
A1=rref(A1);temp=A1(:,col-row+1:col);
A1(:,col-row+1:col)=A1(:,1:row);A1(:,1:row)=temp;
temp=A1(:,down1);A1(:,down1)=A1(:,chu);A1(:,chu)=temp;
fori=1:v2
temp=A1(:,col-row+i);A1(:,col-row+i)=A1(:,xb(i));
A1(:,xb(i))=temp;
endxb(down2)=down1;
A=A1(:,1:col);
b=A1(:,col+1);
N=[A(:,xn(1))];
cn=[c(:,xn(1))];ifcol-row1
fori=2:col-rowN=[N,A(:,xn(i))];
cn=[cn,c(:,xn(i))];
end
end
jian=cn-cb*N;
j=1;
fori=1:col-rowif(jian(:,i)jian(:,j))
j=i;
end
end
ifjian(:,j)0 %若检验数大于零,则flag=1,否则等于0
flag=1;
else
flag=0;
endend
x=zeros(1,col);
fori=1:v2
x(xb(i))=b(i);
endx
z=cb*b
文档评论(0)