一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种仓储系统穿梭车作业顺序优化方法与流程

2021-11-09 21:30:00 来源:中国专利 TAG:
1.本发明涉及智能仓库
技术领域
:,特别是涉及一种仓储系统穿梭车作业顺序优化方法。
背景技术
::2.在烟草行业中,烟草生产完成后,成烟会堆放在仓库中,当接到订单时,根据订单中的烟草种类等要求,从仓库中取出对应的成烟。目前,仓库的入库和出库皆由人工完成。传统人工作业耗时又耗力,已无法满足当前物流中心的运转需求,自动化的智能仓库应运而生。基于穿梭车的储分一体仓是新型智能仓的一种,利用穿梭车代替人工完成存取货工作,极大地提高了系统的效率和准确率。多层穿梭车自动仓储系统由提升机和穿梭车配合取货。多层穿梭车自动仓储系统在每个巷道口处,配备一台提升机用于负责该巷道货物的垂直方向的运动,并将货物运送到i/o站台;每层货架都设有一台穿梭车负责该层货物水平方向的运动。穿梭车的调度是储分一体仓的运作关键,由于订单和货物较为零散,又涉及到穿梭车和提升机的相互配合,如何优化调度使得系统的效率最高,成为企业和学者关注的问题。3.中国发明专利cn105858043a(公开日为2016年08月17日)公开了一种升降机与穿梭车结合的仓储系统优化调度方法,以调度行程时间最小化为目标,采用遗传算法对调度的出入库模型进行优化,使存取行程时间大大缩短,可以明显节约时间成本,节约能源,并且,同样的订单两套穿梭子母车的行程时间也比一套穿梭子母车的时间有缩短。该专利采用的遗传算法的随机性较强,而且极大地受参数影响,使其的泛化能力降低,导致结果的准确性降低,有效性差,且效率低,并且容易早熟收敛,规划的作业顺序未达到全局最优路径时就满足算法设定的迭代终止条件,导致穿梭车的作业顺序优化效果不理想。技术实现要素:4.本发明的目的是提供一种效率高、有效性和优化效果好的仓储系统穿梭车作业顺序优化方法。5.为了实现上述目的,本发明提供了一种仓储系统穿梭车作业顺序优化方法,包括如下步骤:6.s1、以穿梭车的移动距离最小以及货物和设备的等待时间最小为目标,建立相应的数学模型;7.s2、对作业任务进行顺序编码,使由多个任务组成的作业方案表示为一组编号的序列;8.s3、通过蚁群算法对多个作业任务的作业顺序进行优化获得多个初步寻优后作业方案;9.s4、以步骤s3得到的作业方案作为遗传算法的初始种群,根据k‑means聚类方法将初始种群划分为若干子种群;10.s5、根据步骤s1的数学模型设置遗传算法的适应度函数;11.s6、计算并保存各个子种群的适应度;12.s7、对每个子种群进行迭代操作,在每次迭代中,根据个体的适应度,随机选择部分个体随机进行交叉和变异操作;13.s8、调整交叉和变异的概率;14.s9、更新子种群;15.s10、设置子种群通信条件,若更新后的子种群满足子种群通信条件,则用全局最优个体替换其他子种群中的最差个体;否则进行步骤s11;16.s11、判断是否达到迭代终止条件,若是,输出当前种群中适应度最高的个体,当前种群中适应度最高的个体即为最优解;若否,重复步骤s6、s7、s8、s9和s10。17.作为优选方案,在步骤s11中,迭代终止条件包括到达预设的最大迭代次数或到达预设的最大无改进迭代次数。18.作为优选方案,在步骤s4中,k‑means聚类方法以欧式距离d(x,y)为依据,将相似的个体均匀分配给不同种群,[0019][0020]其中,xi和yi分别表示种群中两个个体(即两个作业顺序中)的第i个任务编号。[0021]作为优选方案,在步骤s7中,采用轮盘赌的方式选择进行交叉和变异操作的个体。[0022]作为优选方案,在步骤s8中,依照基于q‑learning算法的参数调整策略来调整交叉和变异的概率。[0023]作为优选方案,在步骤s9中,基于模拟退火的接受准则,以一定的概率更新种群。[0024]作为优选方案,在步骤s1中,数学模型的目标函数为:[0025][0026]其中,e表示作业总效率,t表示货物及设备的总等待时间,s表示穿梭车的总移动距离,表示设置的权重;[0027]其中,表示货物及设备等待时间最短这一目标的函数为:[0028][0029]其中,mint表示货物及设备等待时间最短,twi表示任务i在交接区的等待时间,txi表示入库提升机在任务i前的空闲时间,tyi表示出库提升机在任务i前的空闲时间,tzi表示多穿车在任务i前的空闲时间;[0030]表示穿梭车移动距离最短这一目标的函数为:[0031][0032]其中,mins表示穿梭车移动距离最短;bi表示任务i所对应货位的坐标中的列,bj表示任务j所对应货位的坐标中的列;zijk为0‑1的变量,表示若第k层货架上的穿梭车在任务i后完成任务j,则取1,否则取0;l表示每个货位的长度;m表示货架总列数;z0ik为0‑1的变量,表示若第k层货架上的穿梭车第一个任务为任务i,则取1,否则取0;zi0k为0‑1的变量,表示若第k层货架上的穿梭车最后一个任务为任务i,则取1,否则取0。[0033]作为优选方案,在步骤s1中,数学模型的约束条件有:[0034](1)在任务j开始时刻:[0035][0036][0037][0038]其中,xij为0‑1的变量,表示若入库提升机在任务i后完成任务j,则取1,否则取0;m表示一个大于104的数;tdj表示任务j开始的时刻;tai表示任务i到达交接处并发出交接请求的时刻;twi表示任务i在交接区的等待时间;tfi表示任务i完成的时刻;i表示入库任务集合;o表示出库任务集合;[0039](2)在任务j到达交接区的时刻:[0040][0041][0042][0043][0044][0045]其中,x0j为0‑1的变量,表示若入库提升机第一个任务为任务j,则取1;否则取0;taj表示任务j到达交接处并发出交接请求的时刻;aj表示任务j所对应货位的坐标中的层;h表示每个货位的高度;vx表示入库提升机的竖直移动速率;z0jk为0‑1的变量,表示若第k层货架上的穿梭车第一个任务为任务j,则取1,否则取0;ai表示任务i所对应货位的坐标中的层;m表示货架总列数;l表示每个货位的长度;vz表示穿梭车的水平移动速率;[0046](3)任务j在交接区的等待时间:[0047][0048][0049][0050][0051]其中,twj表示任务j在交接区的等待时间;y0j为0‑1的变量,表示若出库提升机的第一个任务为任务j则取1,否则取0;vy表示出库提升的竖直移动速率;yij为0‑1的变量,表示若出库提升机在任务i后完成任务j,则取1;否则取0;[0052](4)任务j的完成时刻:[0053][0054][0055]其中,tfj表示任务j完成的时刻;[0056](5)每个任务只能由一台出入库提升机和穿梭车完成一次:[0057][0058][0059][0060]其中,xij为0‑1的变量,表示若入库提升机在任务i后完成任务j,则取1,否则取0;xji为0‑1的变量,表示若入库提升机在任务j后完成任务i,则取1,否则取0;yij为0‑1的变量,表示若出库提升机在任务i后完成任务j,则取1;否则取0;yji为0‑1的变量,表示若出库提升机在任务j后完成任务i,则取1;否则取0;zijk为0‑1的变量,表示若第k层货架上的多穿车在任务i后完成任务j,则取1;否则取0;zjik为0‑1的变量,表示若第k层货架上的多穿车在任务j后完成任务i,则取1;否则取0;[0061](6)出库提升机只完成出库任务,入库提升机只完成入库任务,每层的穿梭车只完成本层的任务:[0062][0063][0064][0065][0066]其中,i表示入库任务集合;0表示入库提升机、出库提升机和穿梭车的初始位置;[0067](7)决策变量的取值范围为:[0068][0069][0070][0071]其中,xij为0‑1的变量,表示若入库提升机在任务i后完成任务j,则取1;否则取0;yij为0‑1的变量,表示若出库提升机在任务i后完成任务j,则取1;否则取0;zijk为0‑1的变量,表示若第k层货架上的多穿车在任务i后完成任务j,则取1;否则取0。[0072]作为优选方案,出库提升机、入库提升机和穿梭车等待时间的计算为:[0073][0074][0075][0076]其中,txj表示入库提升机在任务j前的空闲时间;tyj表示出库提升机在任务j前的空闲时间;tzj表示多穿车在任务j前的空闲时间;taj表示任务j到达交接处并发出交接请求的时刻。[0077]作为优选方案,在步骤s5中,遗传算法的适应度函数为[0078]与现有技术相比,本发明的有益效果在于:[0079]本发明通过蚁群算法可以得到多个初始的作业顺序,且产生的多个作业顺序在蚁群算法中已经过优化,相对于随机产生的多个作业顺序的方法得到的结果更加优良,可作为后续进行的遗传算法的优质初始种群,通过遗传算法继续迭代优化。遗传算法在蚁群算法的基础上继续迭代,可以有效改善遗传算法耗时长的缺陷,提高效率。在遗传算法中,通过k‑means聚类方法划分子种群,可将相似的个体尽可能地划分到不同的子种群中,各个子种群并行迭代,解决传统遗传算法收敛速度快的问题,且增加获得全局最优解的可能。同时,在遗传算法中还进行交叉和变异概率的调整,使交叉和变异概率适应进化中的子种群,提高算法的泛化性能。附图说明[0080]图1是本发明实施例的仓储系统穿梭车作业顺序优化方法的流程图。[0081]图2是本发明实施例的步骤s3的流程图。[0082]图3是本发明实施例的优化效果图。具体实施方式[0083]下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。[0084]如图1所示,本发明优选实施例的一种仓储系统穿梭车作业顺序优化方法,包括如下步骤:[0085]s1、以穿梭车的移动距离最小以及货物和设备的等待时间最小为目标,建立相应的数学模型。[0086]在本实施例中,数学模型的目标函数为:[0087][0088]其中,e表示作业总效率,t表示货物及设备的总等待时间,s表示穿梭车的总移动距离,表示设置的权重;[0089]其中,表示货物及设备等待时间最短这一目标的函数为:[0090][0091]其中,mint表示货物及设备等待时间最短,twi表示任务i在交接区的等待时间,txi表示入库提升机在任务i前的空闲时间,tyi表示出库提升机在任务i前的空闲时间,tzi表示多穿车在任务i前的空闲时间;[0092]表示穿梭车移动距离最短这一目标的函数为:[0093][0094]其中,mins表示穿梭车移动距离最短;bi表示任务i所对应货位的坐标中的列,bj表示任务j所对应货位的坐标中的列;zijk为0‑1的变量,表示若第k层货架上的穿梭车在任务i后完成任务j,则取1,否则取0;l表示每个货位的长度;m表示货架总列数;z0ik为0‑1的变量,表示若第k层货架上的穿梭车第一个任务为任务i,则取1,否则取0;zi0k为0‑1的变量,表示若第k层货架上的穿梭车最后一个任务为任务i,则取1,否则取0。[0095]数学模型的约束条件有:[0096](1)在任务j开始时刻:[0097][0098][0099][0100]其中,xij为0‑1的变量,表示若入库提升机在任务i后完成任务j,则取1,否则取0;m表示一个大于104的数,m是一个非常大的数,本实施例m取105;的tdj表示任务j开始的时刻;tai表示任务i到达交接处并发出交接请求的时刻;twi表示任务i在交接区的等待时间;tfi表示任务i完成的时刻;i表示入库任务集合;o表示出库任务集合;[0101](2)在任务j到达交接区的时刻:[0102][0103][0104][0105][0106][0107]其中,x0j为0‑1的变量,表示若入库提升机第一个任务为任务j,则取1;否则取0;taj表示任务j到达交接处并发出交接请求的时刻;aj表示任务j所对应货位的坐标中的层;h表示每个货位的高度;vx表示入库提升机的竖直移动速率;z0jk为0‑1的变量,表示若第k层货架上的穿梭车第一个任务为任务j,则取1,否则取0;ai表示任务i所对应货位的坐标中的层;m表示货架总列数;l表示每个货位的长度;vz表示穿梭车的水平移动速率;[0108](3)任务j在交接区的等待时间:[0109][0110][0111][0112][0113]其中,twj表示任务j在交接区的等待时间;y0j为0‑1的变量,表示若出库提升机的第一个任务为任务j则取1,否则取0;vy表示出库提升的竖直移动速率;yij为0‑1的变量,表示若出库提升机在任务i后完成任务j,则取1;否则取0;[0114](4)任务j的完成时刻:[0115][0116][0117]其中,tfj表示任务j完成的时刻;[0118](5)每个任务只能由一台出入库提升机和穿梭车完成一次:[0119][0120][0121][0122]其中,xij为0‑1的变量,表示若入库提升机在任务i后完成任务j,则取1,否则取0;xji为0‑1的变量,表示若入库提升机在任务j后完成任务i,则取1,否则取0;yij为0‑1的变量,表示若出库提升机在任务i后完成任务j,则取1;否则取0;yji为0‑1的变量,表示若出库提升机在任务j后完成任务i,则取1;否则取0;zijk为0‑1的变量,表示若第k层货架上的多穿车在任务i后完成任务j,则取1;否则取0;zjik为0‑1的变量,表示若第k层货架上的多穿车在任务j后完成任务i,则取1;否则取0;[0123](6)出库提升机只完成出库任务,入库提升机只完成入库任务,每层的穿梭车只完成本层的任务:[0124][0125][0126][0127][0128]其中,i表示入库任务集合;0表示入库提升机、出库提升机和穿梭车的初始位置;[0129](7)决策变量的取值范围为:[0130][0131][0132][0133]其中,xij为0‑1的变量,表示若入库提升机在任务i后完成任务j,则取1;否则取0;yij为0‑1的变量,表示若出库提升机在任务i后完成任务j,则取1;否则取0;zijk为0‑1的变量,表示若第k层货架上的多穿车在任务i后完成任务j,则取1;否则取0。[0134]并且,出库提升机、入库提升机和穿梭车等待时间的计算为:[0135][0136][0137][0138]其中,txj表示入库提升机在任务j前的空闲时间;tyj表示出库提升机在任务j前的空闲时间;tzj表示多穿车在任务j前的空闲时间;taj表示任务j到达交接处并发出交接请求的时刻。[0139]s2、对作业任务进行顺序编码,使由多个任务组成的作业方案表示为一组编号的序列。作业方案表示为一组编号的序列,以此反映作业完成的先后顺序,例如某次作业任务共包含10个出入库任务,分别编号为1~10,则个体[78531019246]表示以7‑8‑5‑3‑10‑1‑9‑2‑4‑6的顺序依次完成相应任务。[0140]s3、通过蚁群算法对多个作业任务的作业顺序进行优化获得多个初步寻优后作业方案。本步骤根据预设的种群规模,运用蚁群算法得到初步寻优的作业顺序,如图2所示,步骤s3包括如下步骤:[0141]s3.1、初始化路径信息素;将蚁群放在出发点(即穿梭车的起始位置),随机设置每只蚂蚁第一个要达到的点(即穿梭车要完成的第一个任务的位置);[0142]s3.2、建立蚂蚁路径禁忌表;每只蚂蚁都有自己的内存,内存中用一个禁忌表(tabu)来存储该蚂蚁已经访问过的节点,表示其在以后的搜索中将不能访问这些节点;[0143]s3.3、每只蚂蚁根据预设的规则移动;即每只蚂蚁随机选择下一个节点,该节点只能以以某种概率搜索到;[0144]s3.4、修改禁忌表;每只蚂蚁每搜到一个节点,就将该节点加入到禁忌表中;[0145]3.5、判断是否所有蚂蚁完成遍历,若是,进行步骤s3.6,若否,重复步骤s3.3和s3.4;[0146]s3.6、更新信息素;根据蚁群算法采用的模型中对问题的刻画,计算蚁群的路径长度和中途等待时间,更新路径上的信息素浓度;[0147]s3.7、判断是否达到预设的迭代次数,若是,输出此时的最优解,得到多个优化的作业顺序,若否,重复步骤3.2、s3.3、s3.4、s3.5和s3.6。[0148]s4、以步骤s3得到的作业方案作为遗传算法的初始种群,根据k‑means聚类方法将初始种群划分为若干子种群。[0149]k‑means聚类方法以欧式距离d(x,y)为依据,将相似的个体均匀分配给不同种群,[0150][0151]其中,xi和yi分别表示种群中两个个体(即两个作业顺序中)的第i个任务编号。[0152]利用k‑means聚类方法对所有个体进行聚类,将相似的个体均匀分配给不同种群,可保证各个子种群的个体相似度较低,缩小各个子种群之间的差异,增大获得全局最优解的概率。[0153]s5、根据步骤s1的数学模型设置遗传算法的适应度函数。[0154]本实施例的适应度函数为其中穿梭车移动距离和等待时间越短,表示系统效率越高,对应的解越好,则适应度越高。[0155]s6、计算并保存各个子种群的适应度。[0156]s7、对每个子种群进行迭代操作,在每次迭代中,根据个体的适应度,随机选择部分个体随机进行交叉和变异操作。[0157]本实施例采用轮盘赌的方式选择进行交叉和变异操作的个体。根据种群中个体的适应度,按一定概率随机选取,适应度越高的个体被选中进而遗传给下一代的概率越大,可加快种群收敛。[0158]另外,本实施例的交叉操作包括部分匹配交叉、循环交叉、基于位置交叉、替换交叉和两种次序交叉共六种交叉算子,每次随机选取其中一个,根据交叉概率,按其规则实现两个父代个体基因的交叉重组。[0159]变异操作包括替换变异、交换变异、简单倒位变异、倒位变异和争夺变异共五种变异算子,每次随机选取其中一个,根据变异概率,按其规则实现某个体的一个或几个基因的变异。[0160]交叉和变异操作的目的在于,对当前穿梭车的作业顺序按一定的规则进行调整,使其尽可能多地覆盖可能的所有作业顺序组合,最终搜索到使穿梭车移动距离和等待时间最小的作业组合。[0161]s8、调整交叉和变异的概率。[0162]本实施例依照基于q‑learning算法的参数调整策略来调整交叉和变异的概率。q‑learning算法是一种强化学习方法,可实现参数的自主学习和动态更新。[0163]以交叉概率为例(变异概率同理):[0164]设置状态空间为交叉概率数值,给定取值范围;动作空间(action)由{‑1,0,1}构成,分别表示减小、不变和增大,动作幅度为ω,则下一状态的交叉概率计算方式如式;[0165]st 1=st ω*action[0166]其中,st为此时状态的交叉概率值,st 1为下一状态的概率值,状态空间的取值范围为0.5‑0.99,ω为动作幅度。[0167]初始化强化学习参数,包括学习率α、折扣率γ和探索率ε;[0168]根据以下公式计算q值并将其存储在q‑table;[0169][0170]其中,at为当前状态的动作,rt 1为采取动作后的反馈。[0171]根据当前状态,选择动作空间中q值最大的动作,根据ε‑greedy策略进行探索,对当前交叉概率进行调整;[0172]完成本次种群迭代,计算新个体的适应度,根据反馈信号(种群平均适应度和最佳适应度)和奖励机制更新q‑table;[0173]其目的在于,由于算法的效果依赖于参数,而针对不同问题算法的最优参数组合可能不同,通过强化学习的方法,学习参数在算法迭代过程中的效果,并据此动态调整参数,使得算法效果达到最佳。[0174]s9、更新子种群。[0175]本实施例基于模拟退火的接受准则,以一定的概率更新种群,当经过交叉和变异产生的子代个体适应度小于种群中适应度最小的个体时,则按照的概率接受子代个体加入种群,并将原种群中适应度最小的个体移出,其中ef表示子代个体的适应度的倒数(即对应方案的效率),eworst表示当前种群中最小的适应度的倒数,t为温度,t0=0.85*eworst0,温度每代以参数λ(0<λ<1)的速率下降。[0176]s10、设置子种群通信条件,若更新后的子种群满足子种群通信条件,则用全局最优个体替换其他子种群中的最差个体;否则进行步骤s11。[0177]在一定迭代次数后,使用全局最优个体替换其他子种群中的最差个体,即用已获得的最优作业顺序代替各个子种群中最差的作业顺序。可使得子种群都能较好地收敛,以及获得最优值。[0178]s11、判断是否达到迭代终止条件,若是,输出当前种群中适应度最高的个体,当前种群中适应度最高的个体即为最优解;若否,重复步骤s6、s7、s8、s9和s10。[0179]本实施例的迭代终止条件包括到达预设的最大迭代次数或到达预设的最大无改进迭代次数。[0180]本实施例的优化方法通过以下算例测试优化效果:[0181]根据实际情况,设货架共包含12层,每层16组通道,每组5个,通道宽0.5米,由于一组通道放置一种卷烟,这里将一组通道看作一个长2.5米的货位,层高为0.3米。出入库提升机的移动速率为1米/秒,多穿车的移动速率为2米/秒。[0182]随机生成一批出入库混合任务及其对应货位的坐标。除随机摆放的算例外,根据货物在竖直方向集中摆放位置,即上6层(h)、中间6层(m)和下6层(l)将算例分为三类;根据货物在水平方向集中摆放的位置,即左8组(l_)、中间8组(m_)和右8组(r_)将算例分为另外3类。每类算例包含小、中、大三种规模,任务总数分别为50、100和150,每种规模下包含3类算例各10个。[0183]表1展示了每种规模下每类算例在遗传算法优化前后的多穿车平均等待时间、移动距离和目标函数值及目标函数的优化效果(优化后目标函数减少的百分比)。从表中可以看出,无论哪类算例,优化作业顺序都可使多穿车的等待时间、移动距离和目标函数值显著减小,[0184]表1:遗传算法优化前后的算例测试结果[0185][0186]如图3所示,图3表示了在每种规模下,各类算例的目标函数优化效果图。从图中可以看出,当货物摆放在货架中部和下部时,进行作业顺序的优化效果最好。同时,算例的规模越小,优化的效果越好。[0187]综上,本发明实施例提供一种仓储系统穿梭车作业顺序优化方法,其通过蚁群算法可以得到多个初始的作业顺序,且产生的多个作业顺序在蚁群算法中已经过优化,相对于随机产生的多个作业顺序的方法得到的结果更加优良,可作为后续进行的遗传算法的优质初始种群,通过遗传算法继续迭代优化。遗传算法在蚁群算法的基础上继续迭代,可以有效改善遗传算法耗时长的缺陷,有助于快速求出全局最优解。在遗传算法中,通过k‑means聚类方法划分子种群,可将相似的个体尽可能地划分到不同的子种群中,各个子种群并行迭代,解决传统遗传算法收敛速度快的问题,且增加获得全局最优解的可能。同时,在遗传算法中还进行交叉和变异概率的调整,使交叉和变异概率适应进化中的子种群,提高算法的泛化性能。[0188]以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献