原文
Improved discrete imperialist competition algorithm for order scheduling of automated warehouses发表于Computers & Industrial Engineering
摘要
针对自动化仓库多目标订单调度问题,提出了一种改进的离散帝国竞争算法(DICA)。目标是最小化所有订单的完成时间和出站订单的总延迟。优先级值受订单的重要性和相对截止时间以及任务数量的影响,用于对订单进行排序。与遗传算法(GA)相似,改进的DICA同化过程是通过交叉和突变构造的。同时引入汉明距离来验证同化的质量。以一个实际案例为例,利用改进的DICA算法解决了两种调度策略:出站订单优先调度和复合订单调度。主要研究结果表明,复合订单调度能够有效地进行,特别是在订单数量较大的情况下,能够大大降低订单的完成时间和总延误率。此外,与遗传算法相比,改进的DICA算法的求解质量更好,但收敛速度较慢。
关键词:自动化仓库;帝国主义竞争算法;订单调度;订单优先级
1. 绪论
本文的主要贡献如下。
(1)建立了以订单完成时间和出库订单总延迟最小化为目标的多目标调度模型。
(2)设计了两种订单调度策略,包括出站订单优先调度和复合订单调度。在调度过程中引入受重要度、顺序的相对截止时间和任务数量影响的优先级值,对同时到达的多个任务进行排序。
(3)针对离散问题,提出了基于连续ICA的改进DICA算法。与经典ICA不同的是,改进的DICA同化过程借鉴了遗传算法的交叉和突变过程,引入了汉明距离来控制同化质量。
(4)将改进的DICA算法用于解决订单调度问题,并比较了两种调度策略的效率。此外,将改进的DICA算法与遗传算法的求解质量和收敛速度进行了比较。
2. 文献综述
仓库调度有两个目的:一是在执行任务时提高服务质量,及时提供预期的产出;另一种是通过任务调度来平衡所有的任务,以保持服务的质量、效率和公平性。因此,仓库调度的优化需要复杂约束的组合(Atiewi, Yussof, & Ezanee, 2015)。在所有的仓库调度中,优化订单挑选是满足客户需求的必要条件(Henn & Schmid, 2013)。
2.1. 订单选择的调度算法
订单拣选的优化已经引起了学者们的广泛关注,订单批量处理和调度问题是其中最重要的两个领域(Henn & Schmid, 2013; Henn, 2015; Scholz, Schubert, & W ̈ascher, 2017; Cao, Jiang, Liu, & Jiang, 2018; van Gils, Caris, Ramaekers, & Braekers, 2019; Carli, Dotoli, Digiesi, Facchini, & Mossa, 2020)。然而,这些研究的重点是拣选策略、拣选机路线和人工拣选的效率。随着自动化仓库问题规模的增加,解决方案的复杂性呈指数级增长,目前的精确算法无法解决这些问题。
学者们对元启发法进行了大量的研究(Dong, Jin, Luo, & Tong, 2020)。GA是应用最广泛的。Dou、Chen和Yang(2015)提出的GA专注于移动机器人的最小化路径规划。Nastasi, Colla, Cateni, and Campigli(2018)提出了三种GA策略来优化位于炼钢业的自动化仓库。Sun, Zhang, Qiao, Li, & Chen(2020)设计了GA来解决自动化仓库中基于多类型资源协同调度问题的混合调度模型的可行方案。此外,一些研究人员开发了两层GA来优化订单调度问题(Baniamerian, Bashiri, & Zabihi, 2018)。
此外,还有其他针对订单批量处理和调度问题的算法,如有效烟花算法,这是一种新的启发式算法,灵感来自于烟花的性能现象(Ye, Ma, Xu, Yang, & Fei, 2017),以及人工蜜蜂控制(ABC)算法(Contreras-Cruz, Ayala-Ramirez, & Hernandez- Belmonte, 2015)。Zhuang, Huang, Sun, & Qin, 2020),粒子群优化(PSO)算法(Lin, Kang, Hou, & Cheng, 2016;Li, Barenji, Jiang, Zhong, & Xu, 2020),实时整体调度方法(Yoshitake, Kamoshida, & Nagashima, 2019),模拟退火(SA)算法(Toncovich, Rossit, Frutos, & Rossit, 2019)。 Wang, Liu, Huang, Mou, and Zhang (2020)设计并比较了Tabu搜索算法、蚁群算法和SA算法来解决大规模的检索任务调度问题。还有关于不同算法组合的研究(Atmaca & Ozturk, 2013;Mousavi, Yap, Musa, Tahriri, & Md Dawal, 2017;Yao等人,2019)。
在此背景下,现有文献为我们建立目标函数和模型提供了指导。然而,大多数学者在订单批处理与调度、路径规划等方面进行了单目标建模分析。关于订单进出库流程优化的文献很少。此外,关于多目标问题的文献相对较少,许多文献几乎没有考虑到目标的相对重要性。在现实中,企业往往以客户的订单为目标,客户的重要性会影响订单的优先级。同时,订单的完成时间是订单中所有出站/入站任务完成的时间。单个出站/入站任务的提前完成对订单的最终完成时间影响不大,但订单中某个任务的延迟将导致整个订单的延迟。因此,考虑订单重要性、订单完成时间和总延迟率具有重要的现实意义。此外,如前文所述,独立分量分析在解决订单挑排问题的研究中应用较少,因此独立分量分析是解决该问题的一种新的方法。
2.2. ICA的应用
表1总结了ICA的应用领域和性能。可以发现,ICA在很多领域都优于其他启发式算法。基于前面的研究和订单调度问题的特点,本文应用改进的DICA来解决订单调度问题。
3.介绍改进的DICA
ICA的流程图如图1所示。由于很多文献已经对ICA进行了详细描述(Hosseini & Khaled, 2014; Pan, Lei, & Zhang, 2018; Tao, Li, Huang, & Duan, 2021),我们简要地列出改进的DICA的步骤。改进的DICA与经典ICA的主要区别在于步骤2(同化)。
3.1. 帝国初始化(第一步)
根据Wang, Lee, Song和Kim(2020)的说法,每个国家在算法初始化时都代表一个可行的解决方案。初始化的country是一个1 × N维向量,可以定义为: 。每个国家的成本可以从当前优化问题的目标函数中计算: