AGV调度研究(部分论文提供了个人python复现)
Posted 码丽莲梦露
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AGV调度研究(部分论文提供了个人python复现)相关的知识,希望对你有一定的参考价值。
目录
2 Automated Container Terminal (集装箱自动化码头)
1 shop floor
1.1 Dispatching Rule
1.1.1 STW
在求解过程中,将机器调度和车辆调度子问题嵌入到迭代求解过程中。首先,用启发式算法生成机器调度,然后采用滑动时间窗启发式算法(silding time window heuristic, STW)在给定机器调度的情况下找到VSP的可行解。STW检查是否有可能在机器调度子问题产生的时间窗口内用给定数量的车辆完成所有装卸行程。如果不是,增加原始最大完工时间,构造新的时间窗口。这两种算法通过迭代结构连接在一起,便于寻找好的解。
1.2 Heuristic algorithms
1.2.1 GA+VAA
编码: 所研究问题的第一部分即工序调度的结构在理论上类似于作业车间调度问题,因此采用基于工序的编码。车辆分配和调度部分由一种称为车辆分配算法(VAA)的启发式算法来处理。
VAA从染色体解码过程接收正在调度的当前工序(OP)、其建议的开始时间(ST)以及作业序列中的其前一操作(PRE)。它的基本作用是找到能够在最短时间内完成行程的AGV,并修改(St)的值。
个人复现效果
收敛情况展示
甘特图
1.3 RL-based Method
1.3.1 DQN
将目标生产线模拟为一个虚拟的网格状工作空间,提出了一种基于深度Q网的调度算法。使用卷积神经网络(CNN)输入原始像素,输出用于估计未来回报的值函数,并训练智能体成功学习控制策略。为了制定详细的调度策略,对DQN的不同超参数进行了调整,并通过实验确定了合理的建模方法。该方法在不需要人工控制或先验专家知识的情况下,自动制定最优调度策略。
状态:将工作台的加工情况作为状态输入,具体如下:
图2说明了如何对模拟环境进行建模,以表示工作台的准备状态。阴影被用作指示工作台状态的一种方法。黑色阴影框表示工作台已100%准备好进行移动操作。相反,白色阴影框表示工作台已0%准备好运行(未启动)。灰色方框表示工作准备工作的进度。阴影程度被设计为与就绪状态成正比。如果工作台准备好了50%,那么它就会被涂成灰色,并带有50%的阴影。在下面的示例中,工作表4、6和15 100%准备就绪,工作表3、13和17正在准备工作,其余工作表未准备就绪。根据工作台的准备状态,相应的工作台将显示为灰色。灰色的强度由步数决定。也就是说,用步骤信息替换在每个数控系统中完成的工作时间的百分比。如果步数设置为k,则在具有不同阴影程度的k个步长上,cnc的颜色会改变。例如,如果步数设置为3,则CNC的颜色将在3个步长内更改。由于没有任何进展的初始状态是白色,而完成状态是黑色,它经历33%阴影灰色(三个步骤中的第一个步骤)和66%阴影灰色(三个步骤中的第二个步骤)的中间过程。假设每个CNC的操作所需的时间为21秒。即,在21秒的周期内,根据步长的大小,NC的颜色变化次数。
图3显示了AGV的位置如何表示。由于假设AGV可以在第二行移动,其位置在第二个网格中以红色表示。例如,在图3中,AGV可以在工作台6和16上执行工作,如果它们已经准备好的话。关于AGV,假设收到成品和提供新材料所需的时间总是等于3秒。
1.4 调度规则
文献:《Simulation and experimental design methods for job shop scheduling with material handling: a survey》
1.4.1 问题表述
目前, JSSMH研究了三个系统的调度问题:FMS、AGV和机器人\\先进的单元制造系统。JSSMH问题的问题设置从给定的车间布局、物料处理系统设计和每个工件的特定加工工序开始,问题设置的给定参数包括由特定车间布局决定的机器之间的距离、地面上运输车的速度、作业之间的优先级以及每个工序的加工时间。我们需要决定的是工序在每台机器以及每台运输机上的开始时间。此外,如果有多台运输车,我们需要决定将每个工件分配给运输车,这意味着还需要确定每个运输车上的工序开始时间。如果这些运输机在一个共享网络上运行,必须避免交通冲突。
1.4.2 机器调度的调度规则
(1)先到先得(FCFS)选择最早到达机器队列的工件.
(2)最短工序加工时间(SOPT)选择工序加工时间最短的工件。
(3)最短工件加工时间(SJPT)选择工件加工时间最短的工序(工件所有工序加工时间之和)。
(4)最短剩余工时(SRW)选择剩余工时最短的工序。
(5)加工时间除以工件加工时间(PDJT)选择工序加工时间与工件总加工时间和之比最小的工序。
(6)加工时间除以剩余工时(PDRW)选择工序加工时间与剩余工时之比最小的工序。
(7)加工时间乘以总工件加工时间(PMJT)选择具有通过将工序加工时间乘以工件总加工时间获得的最小值的工序。
(8)加工时间乘以剩余工时(PMRW)选择一个具有最小值的操作,该值是通过将工序加工时间乘以剩余工时获得的。
1.4.3 物料搬运调度调度规则
(1)先到先得(FAFS)选择第一辆可用的AGV。
(2)最小空闲时间(MIT)选择累积空闲时间最多的AGV。
(3)最小空闲时间(LIT)选择具有最小累计空闲时间的AGV。
(4)最短直线距离(SRD)选择直线距离最短的AGV。
(5)最长直线距离(LRD)选择直线距离最长的AGV。
(6)最长等待时间(LWT)选择等待时间最长的零件。
(7)具有最长等待部分的最小剩余传出队列空间规则(MROQ)选择输出缓冲区中具有最小剩余队列空间的最长等待部分。
(8)最小排队工作规则(MWQ)根据处理时间选择具有最小传入队列大小的工作中心。
(9)最长到达间隔时间规则(LIT)选择自上次作业到达以来经历了最长零件到达间隔时间的工作中心。
(10)最大剩余队列空间的工作中心(MRIQ)选择在输入缓冲区具有最大剩余队列空间的工作中心。
1.4.4 展望
将不确定性建模视为未来研究的关键问题。模拟方法在解决不确定性方面具有相对的灵活性,但在目前可以优化的变量数量方面存在局限性。使用模拟和数学规划技术的混合方法可能会引起更多兴趣。这种技术还可以解决重新规划或“追索权”的问题,这与我们的实际经验有关。最后,模型不确定性和数据限制的问题可能会推动JSSMH相关问题的未来研究。建模者开始解决他们的模拟或随机优化模型中固有的不确定性。然而,参数不确定性,即有限数据中模型参数的不确定性,受到的关注相对较少。这是事实,尽管需求和报废预测通常基于有限的数据。
2 Automated Container Terminal (集装箱自动化码头)
3 Smart Warehouse
以上是关于AGV调度研究(部分论文提供了个人python复现)的主要内容,如果未能解决你的问题,请参考以下文章
cyclic job shop 机器人单元调度问题的蚁群优化(Ant colony optimization)的论文简读和python框架复现