线性规划(matlab实现)
来源:互联网 发布:全国网络文化节 编辑:程序博客网 时间:2024/05/22 11:56
那天上了线性规划,老师总是说,编程怎么实现,一本天大出的薄薄的最优化方法的书,还有程序设计的步骤,我晚上就试了试,这个数组设置,是按照书上的一个例题。高兴的是单纯型表的遍历正确,但还没有最后输出最有值,当时有点困了。
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
- 线性规划(matlab实现)
- 线性规划问题之MATLAB实现
- Matlab线性规划(Linear Programming)
- matlab线性规划
- matlab线性规划
- 关于matlab 线性规划问题
- matlab学习-线性规划
- matlab求解线性规划问题
- matlab 线性规划函数-linprog
- matlab 求解线性规划问题
- matlab和Python线性规划
- Matlab 中的线性规划函数
- matlab 求解线性规划
- Matlab线性规划实例
- matlab指派问题 线性规划
- 利用线性规划函数linprog解线性系统(Matlab)
- 利用Matlab求解线性规划问题
- Matlab 中的线性规划函数使用方法
- 正则表达式-只能输入数字和空格
- ORACLE常见错误代码的分析与解决之一
- 对话框的菜单 ON_UPDATE_COMMAND_UI
- Unity 依赖注入--构造器注入
- Java开源框架
- 线性规划(matlab实现)
- 配置php服务器
- 结构体中的指针变量输出
- 电路中反馈及运放
- DOS下cmd查询端口和PID号
- magento -- 可恶的1.4
- 话说“当回事”
- MFC使用自定义资源加载PNG
- 找工作的压力