1 简介
本文针对仓储系统的拣货路径规划问题展开研究.以拣货路径长度和拣货时间为评价指标,采用遍历法求最优路径。
2 部分代码
clear
clc
close all
%% 参数设置
RandNum=20;% 随机取点数
MoveSpeed=1;% 小车移动速度
RoadW=2;% 通道宽
LaneW=1.3;% 巷道宽
LaneNum=20;% 巷道总数
ShelfW=0.6;% 货架宽
ShelfL=2;% 货架长
LaneShelfNum=5;% 每巷道货架数
UnitW=2*ShelfW+LaneW;%每巷道货架的宽
UnitL=2*ShelfL*LaneShelfNum+RoadW;%每巷道货架的宽
starnode=[-1,1];
%% 对各点赋坐标值及计算距离矩阵
nnode=zeros(LaneNum*(2*LaneShelfNum+3),3);% 1-点的编号,2-点的x轴坐标,3-点的y轴坐标
nnode(:,1)=(1:LaneNum*(2*LaneShelfNum+3))';
i2=0;
for i=1:LaneNum
for i1=1:2*LaneShelfNum+3
i2=i2+1;
nnode(i2,3)=starnode(2)+ShelfW+LaneW/2+(i-1)*UnitW;
% if i1<7
nnode(i2,2)=starnode(1)+ShelfL/2+(i1-1)*ShelfL;
i2;
% else
% nnode(i2,2)=starnode(1)+ShelfL/2+(i1-1)*ShelfL+RoadW;
% end
end
end
clear i2 i i1
%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%%
D=zeros(LaneNum*(2*LaneShelfNum+3));% D距离矩阵计算
for i1=1:LaneNum*(2*LaneShelfNum+3)
for i2=i1+1:LaneNum*(2*LaneShelfNum+3)
i11=ceil(i1/(2*LaneShelfNum+3));% 巷道编号
i12=mod(i1,2*LaneShelfNum+3);% 货架编号
if i12==0
i12=2*LaneShelfNum+3;
end
i21=ceil(i2/(2*LaneShelfNum+3));% 巷道编号
i22=mod(i2,2*LaneShelfNum+3);% 货架编号
if i22==0
i22=2*LaneShelfNum+3;
end
if i11~=i21
if i12<LaneShelfNum+2&i22<LaneShelfNum+2
D(i1,i2)=(i21-i11)*UnitW+min(i22+i12-2,2*(LaneShelfNum+2)-i12-i22)*ShelfL;
elseif i12<LaneShelfNum+2&i22>LaneShelfNum+2
D(i1,i2)=(i21-i11)*UnitW+abs(i22-i12)*ShelfL;
elseif i12>LaneShelfNum+2&i22<LaneShelfNum+2
D(i1,i2)=(i21-i11)*UnitW+abs(i22-i12)*ShelfL;
elseif i12>LaneShelfNum+2&i22>LaneShelfNum+2
D(i1,i2)=(i21-i11)*UnitW+min(i12+i22-2*(LaneShelfNum+2),2*(2*LaneShelfNum+3)-i12-i22)*ShelfL;
elseif (i12~=LaneShelfNum+2&i22==LaneShelfNum+2)||(i12==LaneShelfNum+2&i22~=LaneShelfNum+2)
D(i1,i2)=(i21-i11)*UnitW+abs(i22-i12)*ShelfL;
elseif i12==LaneShelfNum+2&i22==LaneShelfNum+2
D(i1,i2)=(i21-i11)*UnitW+abs(i22-i12)*ShelfL;
else
error('距离矩阵计算错误')
end
else
D(i1,i2)=abs(i22-i12)*ShelfL;
end
end
end
D=D+D';
clear i1 i11 i12 i2 i21 i22
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
3 仿真结果
4 参考文献
[1]陈晓艳, 代钰贺, 陈俭永. 仓储系统拣货路径规划问题的研究[J]. 自动化技术与应用, 2021, 40(1):5.