资源简介
RGV动态调度问题,通过严格限定其单步时间操作完成时间最短而得到的最优化方案,在无故障率的前提下,只要限定初始RGV机车位置,便可以得到唯一的行驶轨迹和规律,通过对其初始下料顺序全排列进行优化,得到的最理想解即为接近最优解。而在有故障率的情况下,通过weibull曲线可以得出其故障时间相关期望,由期望结合实况模拟仿真,并不断循环,可以得到无数确定初始下料顺序下的调度优解,反应出RGV运行过程在不同场景下的不同规律。
代码片段和文件信息
%%%%%%%%%%%%%%%%%%国赛单工序无故障代码
clc
clear
ord_all=perms([1 2 3 4 5 6 7 8]);
n=[];
for j=1:40320
ord=ord_all(j:);
ord=[8 5 4 2 6 1 3 7]
%para=[0 20 33 46 560 400 378 28 31 25];
%para=[0 23 41 59 580 280 500 30 35 30];
para=[0 18 32 46 545 455 182 27 32 25];
t=para(1:4);
step1=para(5);%CNC加工完成一个一道工序的物料所需时间 560
step21=para(6);%CNC加工完成一个两道工序物料的第一道工序所需时间 400
step22=para(7);%CNC加工完成一个两道工序物料的第二道工序所需时间 378
updown1=para(8);%RGV为CNC1#,3#,5#,7#一次上下料所需时间 28
updown2=para(9);%RGV为CNC2#,4#,6#,8#一次上下料所需时间 31
t_wash=para(10);%RGV完成一个物料的清洗作业所需时间 25
cnc=zeros(85);%cnc的状态01、上料开始时间、加工剩余时间、距离、上下料时间每次清洗完更新
cnc_position=[11223344];
grv_position=1;
%初始化
cnc(:1)=1;%初始都在加工状态
dist=zeros(18);
ts=zeros(18)‘;
for i=1:8
dist(i)=abs(cnc_position(ord(i))-grv_position);
ts(i)=t(dist(i)+1);
grv_position=cnc_position(ord(i));
end
cnc(:5)=[updown1updown2updown1updown2updown1updown2updown1updown2];
cnc(ord(:)2)=cumsum([ts(1)cnc(ord(1)5)+ts(2)cnc(ord(2)5)+ts(3)cnc(ord(3)5)+ts(4)...
cnc(ord(4)5)+ts(5)cnc(ord(5)5)+ts(6)cnc(ord(6)5)+ts(7)cnc(ord(7)5)+ts(8)]);
t_work0=cnc(ord(8)2)-cnc(:2);
cnc(:3)=step1-t_work0;
cnc(:4)=abs(cnc_position-grv_position);
t_global=cnc(ord(8)2);%全局进行时
output_final=[];
% para=[0 20 33 46 560 400 378 28 31 25];
% t=para(1:4);
% %RGV移动1个单位所需时间 20
% %RGV移动2个单位所需时间 33
% %RGV移动3个单位所需时间 46
% step1=para(5);%CNC加工完成一个一道工序的物料所需时间 560
% step21=para(6);%CNC加工完成一个两道工序物料的第一道工序所需时间 400
% step22=para(7);%CNC加工完成一个两道工序物料的第二道工序所需时间 378
% updown1=para(8);%RGV为CNC1#,3#,5#,7#一次上下料所需时间 28
% updown2=para(9);%RGV为CNC2#,4#,6#,8#一次上下料所需时间 31
% t_wash=para(10);%RGV完成一个物料的清洗作业所需时间 25
%
% cnc=zeros(85);%cnc的状态01、上料开始时间、加工剩余时间、距离、上下料时间每次清洗完更新
% %初始化
% cnc(:1)=1;%初始都在加工状态
% cnc(:2)=cumsum([0updown1updown2+t(2)updown1updown2+t(2)updown1updown2+t(2)updown1]);
% t_work0=cnc(82)-cnc(:2);
% cnc(:3)=step1-t_work0;
% cnc(:4)=[33221100];
% cnc(:5)=[updown1updown2updown1updown2updown1updown2updown1updown2];
% t_global=cnc(82);%全局进行时
% grv_position=4;
% cnc_position=[11223344];
% output_final=[];
while(t_global<=8*3600)
if(length(find(cnc(:1)==0))==0)
[t_left_mini_min]=min(cnc(:3));
t_global=t_global+t_left_min;%如果所有cnc都在加工状态,时间推移至有信号
cnc(i_min1)=0;%更新cnc状态
cnc(:3)=cnc(:3)-t_left_min;%更新cnc加工剩余时间
end
if(length(find(cnc(:1)==0))==1)
po=find(cnc(:1)==0);
t_s=t(cnc(po4)+1);
t_updown=cnc(po5);
t_total=t_s+t_updown+t_wash;%rgv运行至cnc并完成下上料及清洗工作总时间
t_global=t_global+t_total;%更新时间至清洗完成
t_left=cnc(:3)-t_total;
%在rgv工作和清洗期间cnc完成后,状态和加工剩余时间更新
for i=1:8
if(t_left(i)<=0)
cnc(i3)=0;
cnc(i1)=0;
else
cnc(i3)=cnc(i3)-t_total;
cnc(i1)=1;
end
end
t_up=cnc(po2);
t_down=
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5127 2018-09-16 13:40 18国赛b题\guosaib1.m
文件 10538 2018-09-16 16:02 18国赛b题\guosaib2.m
文件 15418 2018-09-23 13:51 18国赛b题\guosaib31.m
文件 17480 2018-09-16 18:31 18国赛b题\guosaib32.m
目录 0 2018-09-23 13:53 18国赛b题
----------- --------- ---------- ----- ----
48563 5
- 上一篇:Labview自行车转速测量
- 下一篇:PID控制Matalb经典算法
相关资源
- PID控制Matalb经典算法
- 各种体制雷达信号仿真
- 2018国赛数学建模b题思路
- 心电信号预处理去噪
- 7-band EQ均衡器算法
- 永磁同步电机直接转矩控制仿真-矩阵
- 各种智能算法程序以求函数最值为例
- 模糊PI控制器回馈好朋友的帮助帮助其
- 希尔伯特变换求瞬时幅度相位和频率
- 两级倒立摆仿真模型的GUI控制界面-
- 永磁同步电机模糊PID控制-sl10.slx
- 我收集到得一些人脸识别的程序和大
- 基于遗传算法的小波神经网络交通流
- 初学写的第一个gui学生成绩查询系统
- 图像识别程序土豆形貌识别-土豆形貌
- 异步直接转矩控制建模圆形六边形都
- 异步直接转矩控制建模圆形六边形都
- 源码图像去噪-lee filter.rar
- 输入多幅图像实现帧间差分实现运动
- 混沌神经网络的混沌动力系统密码学
- 基于SVPWM控制的三相光伏并网逆变器模
- CDMA扩频通信系统仿真实验包括实验原
- 各种滤波方法代码
- jerk模型算法
- mexopts.rar
- 肺实质边界检测
- 基于卡尔曼滤波的行人检测
- 动态聚类算法合集
- 各类反褶积函数汇总
- 图像GaussLaplacian金字塔+图像融合
评论
共有 条评论