1 Star 2 Fork 0

xuelanghanbao / 汽车制造涂装-总装缓存调序区调度优化建模

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
m04_moveCarP1.m 1.06 KB
一键复制 编辑 原始数据 按行查看 历史
%% 执行Q1的前6条指令
function [R, q1s] = m04_moveCarP1(R,q1,t)
tC = [18 12 6 0 12 18];
tCs = [9 6 3 0 6 9];
C = 318;
q1s = t + tC(q1);
count = 0;
pos = 10;% 车辆所停的位置
strPos = str2double([num2str(q1) num2str(pos)]);
%% 找到PBS上的是哪辆车,判断目标位置有没有车
n = 0;
for i=1:C
if R(i,t)==strPos
return;
elseif R(i,t)==1
n = i;
break;
end
end
if n==0 % 后续没有车,直接返回
return;
end
%% 移动车辆
for i=1:tCs(q1)
R(n,t+i) = 2;
end
for i=t+tCs(q1)+1:size(R,2)
k = 0;
for j=1:C
if R(j,i)== strPos %如果前方有车,退出
k = 1;
strPos = str2double([num2str(q1) num2str(pos+1)]);
R(n,i:end) = strPos;
break;
end
end
if k==1
break;
end
R(n,i) = strPos;
count = count + 1;
if count == 9 && pos>1
count = 0;
pos = pos - 1;
strPos = str2double([num2str(q1) num2str(pos)]);
end
end
%% 将后一辆车移至PBS
if n<318
R(n+1,t+1:size(R,2)) = 1;
end
end
Matlab
1
https://gitee.com/xuelanghanbao/PBS-Optimization-Modeling.git
git@gitee.com:xuelanghanbao/PBS-Optimization-Modeling.git
xuelanghanbao
PBS-Optimization-Modeling
汽车制造涂装-总装缓存调序区调度优化建模
master

搜索帮助