单纯形法matlab例题,单纯形算法 matlab

%单纯形

%目标函数标准化

% min x1-3x2+2x3

%输入参量

N=[3 -1 2;-2 4 0;-4 3 8];

B=eye(3);

A=[N B];

cn=[1;-3;2];

cb=zeros(3,1);

c=[cn;cb];

b=[7;12;10];

while(1)

invb=inv(B);

cn=cn-N‘*invb‘*cb;

if cn>=0

xb=B\b;

disp(‘find‘)

xb

break

else

p=(find(cn==min(cn)));%enter to B

b=B\b;

a=A(:,p);

a=B\a;

m=b./a;

q=(find(m==min(m(m>0))));%out of B

%swap

t=B(:,q);

B(:,q)=N(:,p);

N(:,p)=t;

t=cb(q);

cb(q)=cn(p);

cn(p)=t;

end

end

B

n=size(A,2); %提取A的列数

a=zeros(size(A‘));

for i=1:n

a(i,:)=A(:,i);

end

x=zeros(1,6);

for i=1:n

for j=1:3

if a(i,:)==B(:,j)‘

x(i)=xb(j);

end

end

end

x

原文:https://www.cnblogs.com/wander-clouds/p/9239248.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值