没有合适的资源?快使用搜索试试~ 我知道了~
[2018B基于多原则比较和蒙特卡洛模拟的 RGV 动态调度模型]1
需积分: 0 6 下载量 35 浏览量
2022-08-03
20:34:54
上传
评论 1
收藏 1.05MB PDF 举报
温馨提示
试读
45页
摘要本文从规划模型、多原则求解的角度,综合了蒙特卡洛模拟与机器学习的思想,研究了由 8 台 CNC、1 辆 RGV 以及其他附属设备组成的智能加工系统的动态调度
资源推荐
资源详情
资源评论
1
基于多原则比较和蒙特卡洛模拟的 RGV 动态调度模型
摘要
本文从规划模型、多原则求解的角度,综合了蒙特卡洛模拟与机器学习的思
想,研究了由 8 台 CNC、1 辆 RGV 以及其他附属设备组成的智能加工系统的动
态调度问题,并给出了不同工序情况下的具体调度方案。
针对情况一:单工序的作业流程较为简单。首先,利用规划的各个约束条件,
刻画了 RGV 在 CNC 之间的运动过程、单个物料的加工过程、“上下料”时 RGV
手爪的旋转过程、清洗作业的过程、RGV 移动至下一个机床进行加工的过程等
等。此外,还刻画了物料加工与运送的“唯一性”,以及利用 0-1 变量构造的目
标函数。规划的目的是,在给定的时间内,使得加工出的物料数量最多。然而,
这样的规划是一个 NP 问题,无法通过传统的方法求解,所以进而寻求模拟的方
法求得局部最优解。
本文选取了“就近原则”——构造时间代价函数,“FIFO 原则”——考虑各
台 CNC 的等待时间,以及“HRRN 原则”——将时间代价与等待时间进行综合
考虑,分别对情况一进行了模拟。事实上,每种原则的结果相同:第一组数据加
工完成了 383 件物料,第二组数据加工完成了 360 件物料,第三组数据加工完成
了 393 件物料。并且,调度的方案全部为 1→2→…→8→1→… 此外,第三组数
据的系统效率最高,为 49.125 件/h.
针对情况二:双工序的作业流程十分复杂。首先,在情况一的基础上,对规
划的各个约束条件进行修正;并着重刻画了 RGV 移动至下一个机床进行加工的
过程。
此外,双工序流程中各台 CNC 所负责的工序也是不确定的;因此,本文对
256 种工序布局方案,结合三种选取原则,进行了遍历。得到的结果是:第一组
数据的各台 CNC 最优工序分配为 1-2-1-2-1-2-1-2,三种原则结果一致,最终加工
出 253 件物料;第二组数据的各台 CNC 最优工序分配为 2-1-2-1-2-1-2-1,“ FIFO
原 则 ”和“ HRRN 原则”更优,最终加工出 212 件物料;第三组数据的各台 CNC
最优工序分配为 1-1-2-1-2-1-1-2,“就近原则”最优,最终加工出 241 件物料。此
外,所有的调度方案均呈现有规律的循环状态。
然后,利用“基于蒙特卡洛的学习算法”,在构造正反馈的前提下“随机”
地尝试以获得更优解。结果反映了,三种原则中的最优原则,已非常接近全局最
优。此外,第一组数据和第三组数据的作业效率一样高,均为 30.125 件/h.
针对情况三:同时考虑单工序流程与双工序流程。构造了随机变量“是否故
障”、“故障发生时间”和“故障排除时间”,并将它们融合进入规划模型。求解
结果显示,遭遇故障后,单工序流程系统效率最多下降了 2.25 件/h,而 双 工序流
程系统效率最多下降了 1.875 件/h.
本文的亮点在于:首先,利用一般化的公式对系统调度进行了较为细致的机
理分析,使得模型具有普适性;其次,给出了多个调度原则相互比较,从而有利
于结果更优;最后,将蒙特卡洛模拟与机器学习的思想相结合,对上述调度原则
的有效性进行验证,增强了模型的说服力。
关键词 规划模型;多原则比较;蒙特卡洛模拟;机器学习;动态调度
更多数学建模资料请关注微店店铺“数学建模学习交流”
https://k.weidian.com/RHO6PSpA
2
1. 问题的重述
现有一个智能加工系统,由 8 台 CNC、1 辆 RGV 以及其他附属设备组成。
RGV 能够根据指令与决策,在水平的轨道上自动控制移动的方向和距离,并通
过机械手爪、机械臂等部件完成“上下料”、“清洗作业”等诸多过程。
对于以下三种情况:
①加工过程包含 1 道工序且每台 CNC 都可以进行加工;
②加工过程包含 2 道工序且每台 CNC 只能完成 1 道工序;
③某 CNC 在加工过程中发生故障,故障需人工排除,且该 CNC 上的物料报
废;
考虑完成两个任务:首先,给出一般的模型,并给出模型的求解算法;然后,
检验模型的实用性和算法的有效性,并给出具体调度策略和系统作业效率。
2. 问题的分析
对于情况(1),整个加工系统仅有一个工序。从物料的形态演化过程来看,
生料经过 CNC 的加工成为熟料,而熟料经过 RGV 的清洗成为成料。从 RGV 的
作业过程来看,RGV 首先需要选取一台候选 CNC,然 后移动至该 CNC,放入生
料,取出熟料,再将熟料进行清洗使之变为成料(包括送出系统)——最终 RGV
将进入下一轮选择 CNC 的阶段。
图 1 情况(1)物料的形态演化
对于情况(2),整个加工系统有两个工序。从物料的形态演化过程来看,生
料经过“一工序 CNC”的加工成为半熟料,而半熟料经过“二工序 CNC”的加
工成为熟料,最后熟料经过 RGV 的清洗成为成料。
图 2 情况(1)物料的形态演化
对于情况(3),整个系统出现了故障。根据题目所给条件,需要依此考虑对
于某个物料的加工,是否发生故障,故障发生的时间,以及故障排除时间这三个
随机变量。
本文拟构建一般性的规划,理清系统内部的机理关系。然后,通过提出不同
的原则,编写算法,解决该规划问题;并通过“基于蒙特卡洛的学习算法”,比
较、检验不同原则的优劣。
3. 模型的假设与符号的说明
3.1 模型的假设
(1)生料的供应是无限的。
生料 熟料 成料
生料 半熟料 熟料 成料
3
(2)不考虑 RGV 转向的时间,即 RGV 从 CNC1#到 CNC2#,从 CNC3#到
CNC4#,从 CNC5#到 CNC6#,从 CNC7#到 CNC8#的时间全部为 0.
(3)上料传送带可以及时将生料运往需要的 CNC 正前方,下料传送带可以
及时将成料运出整个系统。
3.2 符号的说明
表 1 符号的说明
符号
说明
单位
RGV 移动
个单位所需时间 秒
RGV 从机床
移动到机床
的时间 秒
号机床所加工的第
个物料 件
物料加工时间 秒
物料清洗时间 秒
()
第
台机床“上下料”时间 秒
生料
“上料”完成时刻 秒
熟料
“下料”完成时刻 秒
成料
完成清洗时刻 秒
两件独立熟料下机床时间的先后顺序 0-1 变量
RGV 是否从
移动至
0-1 变量
4. 模型的建立、求解与分析
4.1 情况(1)模型的建立、求解与分析
4.1.1 单工序的作业流程
在情况(1)中,物料加工程序仅由一道工序组成。其中,每台 CNC 安装同
样的刀具,而物料可以在任意一台 CNC 上加工完成。
纵观整个单工序的加工过程,可以发现,当某台 CNC 完成加工,即完成“生
料→熟料”的过程时,便处于等待状态,并向 RGV 发出需求信号。当 RGV 移动
至该 CNC 正前方时,连续完成下述步骤:
(1)上下料:将熟料取出 CNC,并向 CNC 放入新的生料,这两步同时完
4
成;
(2)清洗作业:将取出的熟料进行清洗,完成“熟料→成料”过程,而后
将成料放入传送带送出系统,此时 RGV 在轨道上位置不变。
此后,RGV 需要根据需求信号的先后顺序、距离的远近等信息,寻找下一
个作业候选 CNC,然后重复上述(1)( 2)两个步骤,周而复始,直至 8 个小时
结束。
4.1.2 单工序的调度模型
考虑到模型的一般化问题,此处本文拟利用规划的方法,寻找并构建各台
CNC 以及生产物料的数量关系。
1. RGV 在 CNC 之间运动时间的刻画
不妨设,现有任意两台 CNC,分别记作,,其 中 = 1, 2, …, 8; = 1, 2, …,
8. 考虑到机床安放的位置关系——偶数号码机床位于系统左侧,奇数号码机床
位于系统右侧——则 RGV 从机床移动到机床的时间为:
=
0,
+1
2
−
+1
2
=0
,
+1
2
−
+1
2
=1
,
+1
2
−
+1
2
=2
,
+1
2
−
+1
2
=3
其中,
为 RGV 移动个单位所需时间。
2. 基于单个物料加工过程的刻画
Step 1.
将号机床所加工的第
个物料记为
. 经过粗略的计算,在 8 小时内该系
统可加工完成的物料数量级为 10
2
,所以准备 10
3
个生料一定足够。因此,参数
取值范围可以取为
= 1, 2, …, 1000.
相对应地,将尚为生料的
被 RGV 放入号机床(“上料”过程完成)的时
刻,记为
;将已加工为熟料的
被 RGV 取出号机床(“下料”过程完成)
的时刻,记为
.
此外,物料加工时间记为
,清洗时间记为
,第台机床“上下料”时间记
为
()
.
()
=
()
, mod(
2
)≠0
()
, mod(
2
)=0
.
其中,
()
为 RGV 为 CNC1#,3#,5#,7#进行一次上下料所需时间,
()
为
RGV 为 CNC2#,4#,6#,8#进行一次上下料所需时间。
5
Step 2.
基于上述符号的定义,可以得到:
−
≥
+
()
,
≤8×60×60−
=0,
其他
(1)
(1)式的意义为,若物料
加工完成时间在 8 小时终止以前,那么物料
从被放入 CNC 开始,直至被取出 CNC,所经历的时间至少为加工时间
与“上
下料”时间
()
两者之和。
−
之所以可能大于
+
()
,是由于当物料
加工完成时,RGV不一定会恰好位于该 CNC机床前并立即取出该物料;通常地,
机床 CNC 需要等候 RGV。
若物料
加工完成时间在 8 小时终止以后,则不妨令
=0.
3. “上下料”手爪旋转过程的刻画
值得注意的是,当 RGV 从 CNC 中取出物料(此时具体的状态为熟料)
时,会相应地放入一个生料,该生料就是号机床所加工的第(+1)
个物料;且
这两步同时发生。所以有:
=
(+)
(2)
(2)式不仅仅刻画了“上下料”过程发生的同时性,还保证了{
}序列的先
后顺序能够反映物料加工的先后顺序。因为,当 8 小时终止前,有:
(+)
>
(+)
=
可见,在连续作业的 8 小时终止前,第+1个物料被取出 CNC 的时间一定
晚于第个物料被取出 CNC 的时间。
4. 清洗作业过程的刻画
当熟料
被取出后,会立即进行清洗作业过程。记物料
加工完成并放至
下料传送带的时刻为
. 由于这个过程是确定的、不间断的,且清洗时间
为
定值,所以容易得到:
=
+
(3)
当 RGV 将成料
放到下料传送带后,就需要寻找下一个候选机床,并立
即向它移动。
5. RGV 移动至下一个机床进行加工的过程刻画
仿照上述描述,记号机床所加工的第
个物料记为
. 其中,
= 1, 2, …,
1000.
Step 1.
首先,需要考虑物料
的加工顺序是否在物料
之后,所以构造顺序约束
变量(0-1 变量)
.
剩余44页未读,继续阅读
资源评论
莉雯Liwen
- 粉丝: 23
- 资源: 305
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- HBuilder X.zip
- 基于C++开发的unreal 数字电路仿真+源码(毕业设计&课程设计&项目开发)
- Modeling_three_phase_inverter.slx
- 基于Vue+TypeScript开发的数字电路仿真软件+源码(毕业设计&课程设计&项目开发)
- 基于 Python Flask 的微博系统
- 深度学习训练数据转化脚本 实体检测
- 2.27 house of botcake例题附件
- 微信小程序-模仿知乎.rar
- 【飞桨AI实战】大作业:从0到1搭建一个图像识别系统
- 基于java+SSM开发的图书馆管理系统,包括图书查询+图书管理+图书编辑+读者管理+图书借阅记录+源码+数据库+开发文档说明
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功