资源简介
运输问题的最低运价问题,文档中打开手动输入price运价、prod产量、sell销量,run就可以显示结果,通过调整可以很方便的让它显示需要的数据。
你值得拥有,无论中国知网、还是百度,都没有完整的matlab运输问题表上作业法算法。

代码片段和文件信息
function [resultpoint1point2]=bestpath(A1ij)
if nargin==0
A =[nan nan 5 2;3 nan nan 1;nan 6 nan 3] %用来测试闭合回路的算法
x=3;y=1;
elseif nargin==3
A=A1;x=i;y=j;
end
move=[1 0;-1 0;0 1;0 -1]; %指针的移动方向,下、上、右、左
[mn]=size(A); %m、n分别为A的行数和列数
R=[];
%------------行的可行性标记
[marksijrowcolB]=mark(Axy); %初始化可行性路径
prev=[0 0]; %用于保存上一次移动时的移动方向
[~R~~~]=seekPath(B0marksmoveRprev0ijrowcol); %查询比和路径
[resultresult1point1point2]=res(ArowcolRmn); %查询结果,用二进制表示路径
function [isfindRtimesrowcolprev]=seekPath(AisfindmarksmoveRprevtimesijrowcol)
if (i==row &&j==col) %判断是否又回到查找起点
times=times+1;
if times==2 %此时回到起点,查找结束
isfind=1;
return
end
end
x=i;y=j;
if isnan(A(ij)) %该数据点为空所执行的算法
next=prev; %如果数据格为空则只能直走
u=i-prev(1);v=j-prev(2); %按照前一次的方向移动
if prev(1)
mrow=2;
else
mrow=1;
end
if marks(u+1v+1mrow)==1
[isfindRtimesrowcol]=seekPath(AisfindmarksmoveRnexttimesuvrowcol);
if isfind==1
R=[R;i j];
return
end
end
else
for k=1:4
if k==1||k==2
mrow=2;
else
mrow=1;
end
u=i+move(k1);
v=j+move(k2);
if prev(1)~=move(k1)||prev(2)~=move(k2) %判断是否原路返回
if marks(u+1v+1mrow)==1
next=[-move(k1)-move(k2)];
[isfindRtimesrowcol]=seekPath(AisfindmarksmoveRnexttimesuvrowcol);
if isfind==1
R=[R;i j];
return
end
end
end
end
end
function [resultresult1point1point2]=res(ArowcolRmn)
[m1n1]=size(R);
point=[];
num=0;
A(rowcol)=0; %为了以后记录方便
result=zeros(mn); %只记录转折点的值
result1=zeros(mn);
result2=zeros(mn);
result2(rowcol)=1;
for i=1:m1
if ~isnan(A(R(i1)R(i2)))
result2(R(i1)R(i2))=1;
end
end
%只保留拐角处的结点,
for i=1:m
T1=find(result2(i:)==1);
if length(T1)>1
result(iT1(1))=1;
result(iT1(length(T1)))=1;
result1(iT1(1))=A(iT1(1));
result1(iT1(length(T1)))=A(iT1(length(T1)));
end
end
for j=1:n
T2=find(result2(:j)==1);
if length(T2)>1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4668 2013-04-23 17:52 matlab 运输问题表上作业\bestpath.m
文件 8252 2013-04-24 12:45 matlab 运输问题表上作业\vogel.m
目录 0 2013-04-25 21:11 matlab 运输问题表上作业\
- 上一篇:SSIM 全参考图像质量评价 matlab代码
- 下一篇:脉冲噪声程序
相关资源
- 基于小波变换的数字水印算法115024
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
评论
共有 条评论