全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
3502 2
2011-05-14
matlab线性规划源码
附件列表

线性规划.rar

大小:2.38 KB

只需: 3 个论坛币  马上下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-5-14 21:55:09
谢谢,看看
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-11-28 19:07:24
用matlab实现线性规划代码  B=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]; b=[6;8;4;3]; CB=[0;0;0;0]; C=[-2;-3;0;0;0;0]; a=[ ];  A=[1 1 1 0 0 0;1 2 0 1 0 0;1 0 0 0 1 0;0 1 0 0 0 1]; Bin=inv(B);  TB=[ ];%单纯型表  TB(1:4,1)=Bin*b; TB(1:4,2:7)=A;  TB(1:4,8)=[inf;inf;inf;inf]; TB(5,1)=inf;  TB(5,2:7)=C'-CB'*Bin*A; TB(5,8)=inf;  display(TB)%单纯型表制造完毕  while 1     p=find(TB(5,2:7)<0);%step2    if(isempty(p))         check=1;        break;    else         [out_mean,out_order]=min(TB(5,2:7));        q=find(TB(1:4,out_order+1)>0);        if(isempty(q))%step3            check=0;            break;        end    end     for i=1:4         s=out_order+1;        if TB(i,s)>0             TB(i,8)=TB(i,1)/TB(i,s)        else             TB(i,8)=inf        end    end     [in_mean,in_order]=min(TB(1:4,8));     TB(in_order,:)=TB(in_order,:)/TB(in_order,s);    for i=1:4         if i~=in_order             TB(i,1)=TB(i,1)-TB(in_order,1)*TB(i,s)/TB(in_order,s);        end    end
用matlab实现线性规划代码  B=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]; b=[6;8;4;3]; CB=[0;0;0;0]; C=[-2;-3;0;0;0;0]; a=[ ];  A=[1 1 1 0 0 0;1 2 0 1 0 0;1 0 0 0 1 0;0 1 0 0 0 1]; Bin=inv(B);  TB=[ ];%单纯型表  TB(1:4,1)=Bin*b; TB(1:4,2:7)=A;  TB(1:4,8)=[inf;inf;inf;inf]; TB(5,1)=inf;  TB(5,2:7)=C'-CB'*Bin*A; TB(5,8)=inf;  display(TB)%单纯型表制造完毕  while 1     p=find(TB(5,2:7)<0);%step2    if(isempty(p))         check=1;        break;    else         [out_mean,out_order]=min(TB(5,2:7));        q=find(TB(1:4,out_order+1)>0);        if(isempty(q))%step3            check=0;            break;        end    end     for i=1:4         s=out_order+1;        if TB(i,s)>0             TB(i,8)=TB(i,1)/TB(i,s)        else             TB(i,8)=inf        end    end     [in_mean,in_order]=min(TB(1:4,8));     TB(in_order,:)=TB(in_order,:)/TB(in_order,s);    for i=1:4         if i~=in_order             TB(i,1)=TB(i,1)-TB(in_order,1)*TB(i,s)/TB(in_order,s);        end    end
   z=TB(5,s);    for j=2:7 
       TB(5,j)=TB(5,j)-z*TB(in_order,j)/TB(in_order,s);    end 
   for i=1:4 
       if i~=in_order 
            TB(i,2:7)=TB(i,2:7)-TB(in_order,2:7).*TB(i,s)        end    end end
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群