楼主: yijianpiao235
3568 2

[程序分享] matlab线性规划代码 [推广有奖]

  • 42关注
  • 4粉丝

已卖:266份资源

副教授

33%

还不是VIP/贵宾

-

威望
0
论坛币
3133 个
通用积分
10.1377
学术水平
4 点
热心指数
5 点
信用等级
4 点
经验
38818 点
帖子
666
精华
0
在线时间
774 小时
注册时间
2009-10-11
最后登录
2025-12-30

楼主
yijianpiao235 发表于 2011-5-14 21:49:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
matlab线性规划源码
二维码

扫码加我 拉你入群

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

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

关键词:MATLAB matla atlab 线性规划 Lab MATLAB 代码 线性规划

线性规划.rar
下载链接: https://bbs.pinggu.org/a-908964.html

2.38 KB

需要: 3 个论坛币  [购买]

沙发
hawking139(未真实交易用户) 发表于 2011-5-14 21:55:09
谢谢,看看

藤椅
matlab-007(未真实交易用户) 发表于 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

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 02:40