急求单纯形的matlab编程!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/25 12:34:18
min cx
s.t.Ax<=b
x>=0,b>=0
非常感激!!!!
求形如上述线性规划问题的最优解和目标函数值
高手帮帮忙啊
我会适当追加悬赏分的
是自己用(循环、条件)语句编一个具体的程序,而不是利用linprog函数直接求解

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Author :wacs5
%Date :20081212(YYYY-MM-DD)
%funtion :单纯形算法求解线性优化
% 功能还不完善
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%min cx
%s.t.Ax<=b
%x>=0,b>=0

%输入参数
c=[-2,-3];
A=[1,2;4,0;0,4];
b=[8;16;12];
[m,n]=size(A);

display=1; %显示中间过程,0为不显示

%加上m行m列的单位阵
AA=[A,eye(m)];
cc=[c,zeros(1,m)];
%%%最优化变为
%%min cc*x
%%s.t. AA*x==b

xb=[]; %基
for i=1:m
xb=[xb,n+i];
end
xb;%基
xn=1:n+m;
xn(xb)=[]; %非基

iter=1;
while(1)
iter=iter+1;

ccb=cc(xb);%基的目标函数系数
ccn=cc;
ccn(xb)=[];%非基的目标函数系数

AAb=AA(:,xb); %基的约束矩阵
AAn=AA(:,xn); %非基的约束矩阵
AAn=[AAn,b]; %将右边项b也加入这个约束矩阵中
temp=AAb\AAn;
AAn_new=temp(:,1:end-1);
b_new=temp(:,end);

AAall=zeros(m,n+m);
AAall(:,xb)=ey