CN111626516B - 考虑倒货策略的双深位四向穿梭车***订单排序优化方法 - Google Patents
考虑倒货策略的双深位四向穿梭车***订单排序优化方法 Download PDFInfo
- Publication number
- CN111626516B CN111626516B CN202010480520.2A CN202010480520A CN111626516B CN 111626516 B CN111626516 B CN 111626516B CN 202010480520 A CN202010480520 A CN 202010480520A CN 111626516 B CN111626516 B CN 111626516B
- Authority
- CN
- China
- Prior art keywords
- time
- way shuttle
- follows
- order
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Biophysics (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Game Theory and Decision Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Educational Administration (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Warehouses Or Storage Devices (AREA)
Abstract
本发明公开了一种考虑倒货策略的双深位四向穿梭车***订单排序优化方法,包括以下步骤:对双深位四向穿梭车***进行仿真建模;基于双深位四向穿梭车***的批量出库作业流程,建立了***出库作业时间模型SOOTM;根据***出库作业时间模型SOOTM,将***订单排序优化问题转化为非标准的整数规划问题,建立了一个非标准的订单排序整数规划模型;对遗传算法中的PMX交叉算子进行改进,采用改进的遗传算法求解订单排序整数规划模型,对***订单执行顺序进行优化,得出***出库时间作业的最优任务执行序列。相对于传统的出库订单执行顺序,本方法的优化结果使得***的出库效率至少提高20%。
Description
技术领域
本发明涉及自动化立体库调度优化领域,特别涉及一种考虑倒货策略的双深位四向穿梭车***订单排序优化方法。
背景技术
在互联网和人工智能技术的大力推动下,电商企业的发展已经势不可挡。随着订单和数据的大规模增长,高效的物流自动化存储***已然成为物流作业效率的必然选择。目前来说,常见的物流自动化存储***主要有:堆垛机***、子母穿梭车***和四向穿梭车***。
传统的堆垛机***能够实现单巷道自动作业,但耗资成本高,***的可拓展性不强。子母穿梭车***将堆垛机***的巷道作业和层位作业进行分解,采用跨层穿梭车和换层提升机分别实现巷道作业和跨层作业,大大提高了***的可拓展性,然而巷道与巷道之间并不能实现作业交流,实现自动化全方位存储依然具有一定的局限性。四向穿梭车***通过增加横向轮以实现跨巷道作业,其配合提升机纵向作业,能够到达库存中任意位置,增强了***的伸缩性和可拓展性,然而,***的作业效率却也随之降低,因此,如何解决四向穿梭车***调度优化和路径冲突的问题,是该***应用的一个难点。
目前,国内外对自动化立体库调度优化问题的研究,主要以堆垛机***和子母穿梭车***为主,按其***作业的方式分为:***入库作业的储位优化问题、***出库作业的订单排序优化问题以及***复合作业的路径优化问题。
王艳艳等基于多层穿梭车***并行拣货,提升机串行出库的作业特点建立了***任务调度模型,采用改进的遗传算法求解任务调度模型。Zou等针对多层穿梭车***在一定时间窗口内的批量出库问题进行建模,采用基于精英非支配排序的遗传算法对任务调度模型进行了优化求解。张晓清等针对双深位多层穿梭车***出库订单排序优化问题,建立了考虑倒货策略的***出库时间模型,并且采用改进的模拟退火算法进行了求解。Wang Y等针对跨层穿梭车***批量出库问题,建立了一个非线性规划模型,并采用Gurobi优化器对该模型进行了精确求解,得出最优任务分配解。然而,此类研究应用的***均为子母穿梭车***,其在四向穿梭车***上的调度优化并不可行。
Cao等针对四向穿梭车***,采用半开环排队理论建立了四向穿梭车***调度模型,并且针对订单出库问题,建立了改进的耦合度订单排序模型,然后采用了改进的耦合度订单排序启发式算法进行了求解,但该模型仅适用于小批量订单出库的排序问题。
发明内容
为了解决上述技术问题,本发明提供一种算法简单、工作效率高的考虑倒货策略的双深位四向穿梭车***订单排序优化方法。
本发明解决上述问题的技术方案是:一种考虑倒货策略的双深位四向穿梭车***订单排序优化方法,包括以下步骤:
步骤一:对双深位四向穿梭车***进行仿真建模;
步骤二:基于双深位四向穿梭车***的批量出库作业流程,建立了***出库作业时间模型SOOTM;
步骤三:根据***出库作业时间模型SOOTM,将***订单排序优化问题转化为非标准的整数规划问题,建立了一个非标准的订单排序整数规划模型;
步骤四:对遗传算法中的PMX交叉算子进行改进,采用改进的遗传算法求解订单排序整数规划模型,对***订单执行顺序进行优化,得出***出库时间作业的最优任务执行序列。
上述考虑倒货策略的双深位四向穿梭车***订单排序优化方法,所述步骤一中,双深位四向穿梭车***由两个维度构成:分别为硬件部分和软件部分,硬件部分包括双深位立体货架、四向穿梭车、高速料箱提升机,软件部分包括订单管理***WMS、仓储调度***WCS和仓储执行***WES软件;
针对双深位四向穿梭车***组成提出以下假设:
1-1):双深位立体货架:设定货架的层数为L、巷道数为N、行数为M,货位为双深度货位,即第N个巷道所对应的第M列的存储空间为4,由于货架为四向穿梭车***,设定其转弯板的位置位于第20行与第21行之间,由此可知,整个货架的存储空间数量Nnum大小为:
Nnum=4·L·N·M (1)
设定货位的列数为q,其货位列数与巷道数之间的关系为:
q=4·N (2)
此时,库存信息在三维货架中由空间坐标表示为:Xsku=(L,q,M);因此,整个仓储空间中的货位状态由随机数建模生成如下:
f(Li,qi,Mi)=round(rand),i={1,2,...,Nnum} (3)
其中,f(Li,qi,Mi)表示货架中第i个货位的占用信息,Li,qi,Mi分别为第i个货位的空间坐标信息,即层位数、货位列数和货位行数;rand表示0到1之间的均匀随机数,round表示四舍五入函数,f(Li,qi,Mi)的值域为0或1,当该函数值域为1时,代表货架第i个货位占用,当函数值域为0时,代表货架第i个货位空闲;
由于仅研究双深位四向穿梭车***的出库模型,而仓储***的库存信息是由其入库作业中WMS***的储位优化决定,现依据双深位***货位优化原则,对仓储***中的货位状态进行二次遍历建模:
双深位货架库存信息中两深度货位之间的关系建立如下,即依据式(3)的货位状态进行如下遍历更新:
(a):当qi=4j+1,j={0,1,2,…,N-1}时,
(b):当qi=4j+4,j={0,1,2,…,N-1}时,
其中,j为0到N-1之间的正整数;
1-2):四向穿梭车:假设每层均配备一辆四向穿梭车,则四向穿梭车的数量即为L,设定四向穿梭车的横向最大速度为Vdx、纵向最大速度为Vdy、横向最大加速度为adx、纵向最大加速度为ady,此时四向穿梭车的运动时间模型建立如下:
由于四向穿梭车横向运动性能与纵向运动性能一致,故只做纵向运动建模;假设四向穿梭车达到最大纵向运动速度时的最大位移为XL,此时四向穿梭车运动时间td与其实际运动距离sy之间的关系如下:
其中,s为四向穿梭车的纵向运动的实际距离值;四向穿梭车达到最大纵向运动速度时的最大位移XL与四向穿梭车的性能参数关系为:
因此,通过此模型,仅需确定该四向穿梭车执行订单的库存信息,即可求得四向穿梭车完成该订单所需的时间;
1-3):高速料箱提升机:假设在1号巷道口设置一台高速料箱提升机,其功能负责与每层之间的四向穿梭车交互,实现订单周转箱的高度作业,设定高速料箱提升机的最大加速度为al,最大运行速度为Vl,其作业运动时间模型与式(6)一致。
上述考虑倒货策略的双深位四向穿梭车***订单排序优化方法,所述步骤二具体步骤为:
***的出库作业特点为:四向穿梭车并行式作业,高速料箱提升机串行作业的方式;假设批量订单出库的数量为n,依据仓储订单模型,其出库任务序列位置矩阵Xsku如下:
给定高速料箱提升机执行订单的任务序列矩阵为lsort为:
lsort=randperm(n) (9)
其中,randperm函数表示随机生成的n个出库订单任务序列矩阵;设定高速料箱提升机执行第一个任务的时间序列为0时刻,***出库作业时间Tout表示为:
其中,Tn lift为执行完n个任务订单的时刻,ΔTk lift为高速料箱提升机执行第k个订单的所需时长,高速料箱提升机执行任第k个任务订单的关系如下:
ΔTk lift=ΔTk arrive+ΔTk awaiting+ΔTk delivey (11)
其中,ΔTk arrive为高速料箱提升机执行第k个任务到达其目标层位的运行时间,ΔTk awaiting为高速料箱提升机到达目标层位后等待四向穿梭车取货的时间,ΔTk delivey为高速料箱提升机与四向穿梭车完成第k个任务交互后送至出货站台的时间;
基于高速料箱提升机作业的时间序列,其递归模型建立如下所示:
Tk lift=Tk-1 lift+(ΔTk arrive+ΔTk awaiting+ΔTk delivey) (12)
Tk lift表示完成k个订单任务所需的总时间,即k个订单任务序列的出库时间;由式(12)分析知:当Tk-1 lift已知时,通过求解ΔTk arrive,ΔTk delivey,ΔTk awaiting的映射关系,令k=n时,即可迭代求得n个订单任务的出库时间。
上述考虑倒货策略的双深位四向穿梭车***订单排序优化方法,所述步骤三具体步骤为:
定义高速料箱提升机执行第k个任务序列所对应的层位信息Lk之间的映射函数如下:
Lk=g(k,lsort,Xsku) (13)
定义决策函数如下:
设定每层货架的高度为h,高速料箱提升机运行至最大速度时的位移为H,此时第k个高速料箱提升机的任务执行时间为:
假设高速料箱提升机开始执行第k个任务到达目标层位的时刻为Tk arrive,等候高速料箱提升机交互完成时刻为Tk awaiting,目标层位的四向穿梭车前一个任务执行订单任务号为k-w,其等候高速料箱提升机交互完成时刻为Tk-w awaiting,则第k个任务交互完成时刻Tk awaiting与其第k-1个任务完成时刻Tk-1 delivey之间的关系如下:
Tk awaiting=Tk-1 arrive+ΔTk arrive+ΔTk awaiting (16)
设定四向穿梭车取第k个任务所花的时间为:Tk dolly,此时执行第k个任务的高速料箱提升机等待时长ΔTk awaiting之间的关系判断如下:
将式(16)(17)代入式(12)即可求得双深位四向穿梭车***出库时间的递归模型;递归模型中的未知参数仅剩四向穿梭车的取货时间Tk dolly时间建模,其建模过程如下:
首先,建立第k个出库任务订单顺序的货位映射关系如下:
[Lk,qk,Mk]=y(k,lsort,Xsku) (18)
其货位所在纵向巷道Nk为:
考虑四向穿梭车的取放货时间与其深度货位的关系,现建立其函数关系如下:
其中,Tk take表示四向穿梭车到达货位目标点之后的取货时间,mod为取余函数;
给定倒货决策变量函数定义如下:
为了便于描述计算四向穿梭车的时间模型,对式(15)取如下函数,定义:
Tk=J(Vl,H,al,S,F(H,S)) (22)
1)当G(f(Lk,qk,Mk),f(Lk,qk±1,Mk))=0并且Nk=1时,设定货架的宽度为c,则
Tk dolly=2·J(Vdy,sy,ady,Mk·c,F(sy,Mk·c))+Tk take+Tk delivey (23)
sy表示四向穿梭车纵向加速运动至最大纵向速度时的距离值;
2)当G(f(Lk,qk,Mk),f(Lk,qk±1,Mk))=0并且Nk≠1时,其横向距离运行至最大速度的距离值为sx,实际运动横向距离值为:sn=5(Nk-1)c,设定转弯时间为Tk turn=2,则四向穿梭车的取放货时间表示如下:
其中abs函数表示绝对值函数;
3)当G(f(Lk,qk,Mk),f(Lk,qk±1,Mk))≠0并且Nk=1时,即四向穿梭车取货的过程中需要考虑其倒货时间;采用的倒货策略为近邻倒货策略,其四向穿梭车的运行时间为:
Tk dolly=T1 k dolly+T2 k repo (25)
其中T1 k dolly为四向穿梭车的取货时间,由式(23)求得;T2 k repo为四向穿梭车的倒货时间,其求解过程描述如下:
首先,寻找其近邻倒货库位为:
index=min[find(f(Lk,qk,:)==0)] (26)
然后计算其倒货运行距离srepo如下:
srepo=abs(inedx-Mk)·c (27)
由此可知,四向穿梭车执行第k个任务订单的倒货时间为:
T2 k repo=2·J(Vdy,sy,ady,srepo,F(sy,srepo))+Tk take+Tk delivey (28)
将式(28)和式(23)代入公式(25)即可求得四向穿梭车执行第k个任务的运行时间;
4)当G(f(Lk,qk,Mk),f(Lk,qk±1,Mk))≠0并且Nk≠1时,其四向穿梭车执行第k个订单的实际运行时间为:
综上所述,由于同层位高速料箱提升机的上升运行时间和下降运行时间一致,执行第n个出库任务序列的***出库时间递归模型表述为:
其中决策变量N(ΔT1 arrive,T1 dolly)的定义如下:
上述考虑倒货策略的双深位四向穿梭车***订单排序优化方法,所述步骤四中,对遗传算法中的PMX交叉算子进行改进的具体过程为:
设定遗传算法中染色体的数量为P,其染色体基因初始化序列由式(9)表示,即对应为高速料箱提升机随机初始任务序列;其适应度函数由式(30),即SOOTM出库作业任务时间表示;适应度函数设置如下:
fitnessu(lsort,pu)=Tsum-Tu n lift (32)
其中,pu表示第u个染色体随机生成的n个出库订单的任务顺序;Tsum为给定得常数值,设为:Tsum>Tu n lift,Tu n lift表示第u个染色体随机生成的n个出库订单任务顺序的***出库时间,fitnessu(lsort,pu)为第u个染色体对应的适应度值大小;
假设两优秀父代的染色体基因序列如下:
假设其交叉初始位置和结束位置为第4个基因和第9个基因,其IPMX交叉算子设计如下:
Ⅰ)交换基因序列,建立基因交换矩阵:
由式(33)的父代信息进行基因交换如下:
基于交换信息,建立如下基因交换矩阵Ge:
Ⅱ)寻找变量基因,更新基因交换矩阵:
首先将矩阵Ge与父代p1建立如下映射关系,生成基因状态矩阵Gpu和主导向量矩阵Gou分别如下所示:
主导向量矩阵Go1和Go2:
基因状态矩阵Gp1和Gp2:
然后将基因状态矩阵合并如下:
Gp=Gp1+Gp2=[0 1 1 1 1 2 1 0 0 2 1 2] (38)
最后,其变量基因Gv求解如下:
Gv=find(Gp(1,:)>1)=[6 10 12] (39)
由式(39)的计算结果,更新基因交换矩阵如下所示:
根据基因交换矩阵,更新主导向量矩阵Go1为:
Go1=[0 0 1 1 0 4 0 2 0 0 0 0 0] (41)
Ⅲ)生成新的基因序列:
将主导向量矩阵Go1与式(34)中的矩阵关系进行重复映射,其余基因位置不变,即可产生子代1基因
p'1=(2 1 4 6 12 10 7 3 5 8 11 9) (42)
现定义子代基因1与子代基因2之间的映射关系如下:
li为染色体中基因的个数表达;
由式(43)可知其子代2的基因序列如下:
p'2=(7 3 5 11 4 6 2 10 12 9 8 1) (44)
Ⅳ)重复迭代交叉:
在算法求解过程中,为了加快收敛速率,引入评价函数对交叉算子进行重复迭代更新,其基本思想如下:首先引入该算法的适应度函数作为子代评价函数;然后将生成的子代适应值与父代适应值进行比较,如果生成的子代优于其父代,则选择该子代染色体,停止内部迭代;如果生成的子代劣于其父代染色体,则将该子代与父代重组,进行重复交叉迭代,直到在内部迭代次数Tp内获得优于父代的染色体,若达到Tp内部迭代次数时仍然没有出现优于父代的子代染色体,则以一定随机概率去选择生成的子代基因。
上述考虑倒货策略的双深位四向穿梭车***订单排序优化方法,所述步骤四中,采用改进的遗传算法求解订单排序整数规划模型,对***订单执行顺序进行优化,得出***出库时间作业的最优任务执行序列的具体步骤为:
Step 1:初始化双深位四向穿梭车***货架信息、订单信息、高速料箱提升机运行的基本参数信息、四向穿梭车运行参数,随机初始化染色体任务序列信息,设置迭代时间Ttime;
Step 2:根据步骤二建立的SOOTM模型,即:式(30)和式(31),求解种群规模的适应度函数,并通过式(32)转换其适应度函数值;
Step 3:采用无放回式随机余数选择算子选择优秀父代染色体;
Step 4:以一定交叉概率Pc采用IPMX策略进行交叉,产生优秀的子代染色体;
Step 5:以一定变异概率Pm进行随机两点变异操作;
Step 6:迭代更新,如果其迭代次数小于Ttime,则继续跳至Step 2继续执行,如果迭代次数大于或等于Ttime,则迭代停止,并且返回其染色体基因编码组合,即最优提升机任务序列矩阵;
Step 7:根据最优高速料箱提升机任务序列矩阵和四向穿梭车之间的映射关系,分配各层位之间四向穿梭车最优任务订单执行顺序。
本发明的有益效果在于:本发明首先对双深位四向穿梭车***的进行仿真建模;然后基于双深位四向穿梭车***的批量出库作业流程,建立了***出库作业时间模型SOOTM;接着根据***出库作业时间模型SOOTM,将***订单排序优化问题转化为非标准的整数规划问题,建立了一个非标准的订单排序整数规划模型;再对遗传算法中的PMX交叉算子进行改进,采用改进的遗传算法求解订单排序整数规划模型,对***订单执行顺序进行优化,得出***出库时间作业的最优任务执行序列;最后通过改变***的层位信息、巷道信息和出库订单情况,分析该方法的***优化结果,相对于传统的出库订单执行顺序,本方法的优化结果使得***的出库效率至少提高20%,数值仿真也验证了该方法的有效性。
附图说明
图1为本发明的流程图。
图2为本发明实施例中IAGA-PMX和IAGA-IPMX算法的迭代性能对比图。
图3为本发明实施例中不同货架层位数L的出库优化曲线图。
图4为本发明实施例中不同批量出库订单数量n的出库优化曲线图。
图5为本发明实施例中不同仓库巷道数N的出库优化曲线图。
图6为本发明的双深位四向穿梭车***平面布局图。
图6中1表示库存货位占用;2表示库存货位空闲;3表示纵向运动的四向穿梭车;4表示横向运动的四向穿梭车;5表示四向穿梭车转弯板;6表示横向巷道;7表示纵向巷道;8表示高速料箱提升机;9表示四向穿梭车去放货站口缓存区;10表示双深位四向穿梭车货架。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
如图1所示,一种考虑倒货策略的双深位四向穿梭车***订单排序优化方法,包括以下步骤:
步骤一:对双深位四向穿梭车***的进行仿真建模。
双深位四向穿梭车***由两个维度构成:分别为硬件部分和软件部分,硬件部分包括双深位立体货架、四向穿梭车、高速料箱提升机、塑料周转箱,输送线等设备,软件部分包括订单管理***WMS、仓储调度***WCS和仓储执行***WES软件。
由于双深位四向穿梭车***的订单排序优化问题过于复杂,本发明针对双深位四向穿梭车***组成提出以下假设:
1-1):双深位立体货架:一般立体货架的构造是针对客户的场地及其仓储数据来设计的,一旦货架规划设计完成,其参数基本保持不变。设定货架的层数为L、巷道数为N、行数为M,货位为双深度货位,即第N个巷道所对应的第M列的存储空间为4,由于货架为四向穿梭车***,设定其转弯板的位置位于第20行与第21行之间,由此可知,整个货架的存储空间数量Nnum大小为:
Nnum=4·L·N·M (1)
设定货位的列数为q,其货位列数与巷道数之间的关系为:
q=4·N (2)
此时,库存信息在三维货架中由空间坐标表示为:Xsku=(L,q,M);因此,整个仓储空间中的货位状态由随机数建模生成如下:
f(Li,qi,Mi)=round(rand),i={1,2,...,Nnum} (3)
其中,f(Li,qi,Mi)表示货架中第i个货位的占用信息,Li,qi,Mi分别为第i个货位的空间坐标信息,即层位数、货位列数和货位行数;rand表示0到1之间的均匀随机数,round表示四舍五入函数,f(Li,qi,Mi)的值域为0或1,当该函数值域为1时,代表货架第i个货位占用,当函数值域为0时,代表货架第i个货位空闲。
由于仅研究双深位四向穿梭车***的出库模型,而仓储***的库存信息是由其入库作业中WMS***的储位优化决定,现依据双深位***货位优化原则,对仓储***中的货位状态进行二次遍历建模。
双深位货架库存信息中两深度货位之间的关系建立如下,即依据式(3)的货位状态进行如下遍历更新:
(a):当qi=4j+1,j={0,1,2,…,N-1}时,
(b):当qi=4j+4,j={0,1,2,…,N-1}时,
其中,j为0到N-1之间的正整数;
1-2):四向穿梭车:与传统的双向穿梭车相比,其在仓储中的作业路径能够在同层位内实现横向运动和纵向运动,到达同层位任一库存点。假设每层均配备一辆四向穿梭车,则四向穿梭车的数量即为L,设定四向穿梭车的横向最大速度为Vdx、纵向最大速度为Vdy、横向最大加速度为adx、纵向最大加速度为ady,此时四向穿梭车的运动时间模型建立如下:
由于四向穿梭车横向运动性能与纵向运动性能一致,故只做纵向运动建模;假设四向穿梭车达到最大纵向运动速度时的最大位移为XL,此时四向穿梭车运动时间td与其实际运动距离sy之间的关系如下:
其中,s为四向穿梭车的纵向运动的实际距离值;四向穿梭车达到最大纵向运动速度时的最大位移XL与四向穿梭车的性能参数关系为:
因此,通过此模型,仅需确定该四向穿梭车执行订单的库存信息,即可求得四向穿梭车完成该订单所需的时间;
1-3):高速料箱提升机:假设在1号巷道口设置一台高速料箱提升机,其功能负责与每层之间的四向穿梭车交互,实现订单周转箱的高度作业,设定高速料箱提升机的最大加速度为al,最大运行速度为Vl,其作业运动时间模型与式(6)一致,故不作其叙述。
步骤二:基于双深位四向穿梭车***的批量出库作业流程,建立了***出库作业时间模型SOOTM。具体步骤为:
***的出库作业特点为:四向穿梭车并行式作业,高速料箱提升机串行作业的方式;假设批量订单出库的数量为n,依据仓储订单模型,其出库任务序列位置矩阵Xsku如下:
给定高速料箱提升机执行订单的任务序列矩阵为lsort为:
lsort=randperm(n) (9)
其中,randperm函数表示随机生成的n个出库订单任务序列矩阵;设定高速料箱提升机执行第一个任务的时间序列为0时刻,***出库作业时间Tout表示为:
其中,Tn lift为执行完n个任务订单的时刻,ΔTk lift为高速料箱提升机执行第k个订单的所需时长,高速料箱提升机执行任第k个任务订单的关系如下:
ΔTk lift=ΔTk arrive+ΔTk awaiting+ΔTk delivey (11)
其中,ΔTk arrive为高速料箱提升机执行第k个任务到达其目标层位的运行时间,ΔTk awaiting为高速料箱提升机到达目标层位之后等待四向穿梭车取货的时间,ΔTk delivey为高速料箱提升机与四向穿梭车完成第k个任务交互后送至出货站台的时间;
基于高速料箱提升机作业的时间序列,其递归模型建立如下所示:
Tk lift=Tk-1 lift+(ΔTk arrive+ΔTk awaiting+ΔTk delivey) (12)
Tk lift表示完成k个订单任务所需的总时间,即k个订单任务序列的出库时间;由式(12)分析知:当Tk-1 lift已知时,通过求解ΔTk arrive,ΔTk delivey,ΔTk awaiting的映射关系,令k=n时,即可迭代求得n个订单任务的出库时间。
步骤三:根据***出库作业时间模型SOOTM,将***订单排序优化问题转化为非标准的整数规划问题,建立了一个非标准的订单排序整数规划模型。具体步骤为:
定义高速料箱提升机执行第k个任务序列所对应的层位信息Lk之间的映射函数如下:
Lk=g(k,lsort,Xsku) (13)
定义决策函数如下:
设定每层货架的高度为h,高速料箱提升机运行至最大速度时的位移为H,此时第k个高速料箱提升机的任务执行时间为:
假设高速料箱提升机开始执行第k个任务到达目标层位的时刻为Tk arrive,等候高速料箱提升机交互完成时刻为Tk awaiting,目标层位的四向穿梭车前一个任务执行订单任务号为k-w,其等候高速料箱提升机交互完成时刻为Tk-w awaiting,则第k个任务交互完成时刻Tk awaiting与其第k-1个任务完成时刻Tk-1 delivey之间的关系如下:
Tk awaiting=Tk-1 arrive+ΔTk arrive+ΔTk awaiting (16)
设定四向穿梭车取第k个任务所花的时间为:Tk dolly,此时执行第k个任务的高速料箱提升机等待时长ΔTk awaiting之间的关系判断如下:
将式(16)(17)代入式(12)即可求得双深位四向穿梭车***出库时间的递归模型;递归模型中的未知参数仅剩四向穿梭车的取货时间Tk dolly时间建模,其建模过程如下:
首先,建立第k个出库任务订单顺序的货位映射关系如下:
[Lk,qk,Mk]=y(k,lsort,Xsku) (18)
其货位所在纵向巷道Nk为:
考虑四向穿梭车的取放货时间与其深度货位的关系,现建立其函数关系如下:
其中,Tk take表示四向穿梭车到达货位目标点之后的取货时间,mod为取余函数;
给定倒货决策变量函数定义如下:
为了便于描述计算四向穿梭车的时间模型,对式(15)取如下函数,定义:
Tk=J(Vl,H,al,S,F(H,S)) (22)
1)当G(f(Lk,qk,Mk),f(Lk,qk±1,Mk))=0并且Nk=1时,设定货架的宽度为c,则
Tk dolly=2·J(Vdy,sy,ady,Mk·c,F(sy,Mk·c))+Tk take+Tk delivey (23)
sy表示四向穿梭车纵向加速运动至最大纵向速度时的距离值;
2)当G(f(Lk,qk,Mk),f(Lk,qk±1,Mk))=0并且Nk≠1时,其横向距离运行至最大速度的距离值为sx,实际运动横向距离值为:sn=5(Nk-1)c,设定转弯时间为Tk turn=2,则四向穿梭车的取放货时间表示如下:
其中abs函数表示绝对值函数;
3)当G(f(Lk,qk,Mk),f(Lk,qk±1,Mk))≠0并且Nk=1时,即四向穿梭车取货的过程中需要考虑其倒货时间;采用的倒货策略为近邻倒货策略,其四向穿梭车的运行时间为:
Tk dolly=T1 k dolly+T2 k repo (25)
其中T1 k dolly为四向穿梭车的取货时间,由式(23)求得;T2 k repo为四向穿梭车的倒货时间,其求解过程描述如下:
首先,寻找其近邻倒货库位为:
index=min[find(f(Lk,qk,:)==0)] (26)
然后计算其倒货运行距离srepo如下:
srepo=abs(inedx-Mk)·c (27)
由此可知,四向穿梭车执行第k个任务订单的倒货时间为:
T2 k repo=2·J(Vdy,sy,ady,srepo,F(sy,srepo))+tk take+tk delivey (28)
将式(28)和式(23)代入公式(25)即可求得四向穿梭车执行第k个任务的运行时间;
4)当G(f(Lk,qk,Mk),f(Lk,qk±1,Mk))≠0并且Nk≠1时,其四向穿梭车执行第k个订单的实际运行时间为:
综上所述,由于同层位高速料箱提升机的上升运行时间和下降运行时间一致,执行第n个出库任务序列的***出库时间递归模型表述为:
其中决策变量N(ΔT1 arrive,T1 dolly)的定义如下:
步骤四:对遗传算法中的PMX交叉算子进行改进,采用改进的遗传算法求解订单排序整数规划模型,对***订单执行顺序进行优化,得出***出库时间作业的最优任务执行序列。
由步骤三可知,影响***出库时间作业的主要因素为:***出库的任务调度顺序。显然,该问题是一个典型的NP问题,解决此类问题的常用方法有:数学规划法,比如:枚举法、Gurobi优化器等和启发式算法,比如遗传算法、模拟退火算法和蚁群算法等。
针对***出库订单序列优化问题,采用传统的数学规划方法虽然能够准确的计算出最优任务序列,但计算时间过长,计算量过大,并不适用于该***的实际调度过程,因此,本发明将采用改进的遗传算法来求解SOOTM模型的最优任务序列问题。
对遗传算法中的PMX交叉算子进行改进的具体过程为:
设定遗传算法中染色体的数量为P,其染色体基因初始化序列由式(9)表示,即对应为高速料箱提升机随机初始任务序列;其适应度函数由式(30),即SOOTM出库作业任务时间表示;由于本发明所求的优化目标为最小化优化问题,故其适应度函数设置如下:
fitnessu(lsort,pu)=Tsum-Tu n lift (32)
其中,pu表示第u个染色体随机生成的n个出库订单的任务顺序;Tsum为给定得常数值,设为:Tsum>Tu n lift,Tu n lift表示第u个染色体随机生成的n个出库订单任务顺序的***出库时间,fitnessu(lsort,pu)为第u个染色体对应的适应度值大小;遗传算法中常见的选择操作有:轮盘赌、锦标赛和排序等选择算子,经过相关测试,本发明将选用无放回式随机余数选择算子。
由于上文中给定的染色体编码方式为整数编码,并且交叉之后基因编号不能重复,此问题可等价于TSP问题的求解,但不同之处在于:TSP问题中城市之间的距离为定值,而该订单序列之间的作业时长并不恒定,如何寻找一种有效的交叉操作去求解该订单序列模型,是该算法设计的难点。本发明针对PMX交叉算子计算度复杂、收敛速率慢的缺陷,设计了一种IPMX算子,成功将SOOTM模型求解,且其效果优于PMX算子。
假设两优秀父代的染色体基因序列如下:
假设其交叉初始位置和结束位置为第4个基因和第9个基因,其IPMX交叉算子设计如下:
Ⅰ)交换基因序列,建立基因交换矩阵:
由式(33)的父代信息进行基因交换如下:
基于交换信息,建立如下基因交换矩阵Ge:
Ⅱ)寻找变量基因,更新基因交换矩阵:
首先将矩阵Ge与父代p1建立如下映射关系,生成基因状态矩阵Gpu和主导向量矩阵Gou分别如下所示:
主导向量矩阵Go1和Go2:
基因状态矩阵Gp1和Gp2:
然后将基因状态矩阵合并如下:
Gp=Gp1+Gp2=[0 1 1 1 1 2 1 0 0 2 1 2] (38)
最后,其变量基因Gv求解如下:
Gv=find(Gp(1,:)>1)=[6 10 12] (39)
由式(39)的计算结果,更新基因交换矩阵如下所示:
根据基因交换矩阵,更新主导向量矩阵Go1为:
Go1=[0 0 11 0 4 0 2 0 0 0 0 0] (41)
Ⅲ)生成新的基因序列:
将主导向量矩阵Go1与式(34)中的矩阵关系进行重复映射,其余基因位置不变,即可产生子代1基因
p'1=(2 1 4 6 12 10 7 3 5 8 11 9) (42)
现定义子代基因1与子代基因2之间的映射关系如下:
li为染色体中基因的个数表达;
由式(43)可知其子代2的基因序列如下:
p'2=(7 3 5 11 4 6 2 10 12 9 8 1) (44)
Ⅳ)重复迭代交叉:
在算法求解过程中,为了加快收敛速率,引入评价函数对交叉算子进行重复迭代更新,其基本思想如下:首先引入该算法的适应度函数作为子代评价函数;然后将生成的子代适应值与父代适应值进行比较,如果生成的子代优于其父代,则选择该子代染色体,停止内部迭代;如果生成的子代劣于其父代染色体,则将该子代与父代重组,进行重复交叉迭代,直到在内部迭代次数Tp内获得优于父代的染色体,若达到Tp内部迭代次数时仍然没有出现优于父代的子代染色体,则以一定随机概率去选择生成的子代基因。
采用改进的遗传算法求解订单排序整数规划模型,对***订单执行顺序进行优化,得出***出库时间作业的最优任务执行序列的具体步骤为:
Step 1:初始化双深位四向穿梭车***货架信息、订单信息、高速料箱提升机运行的基本参数信息、四向穿梭车运行参数,随机初始化染色体任务序列信息,设置迭代时间Ttime;
Step 2:根据步骤二建立的SOOTM模型,即:式(30)和式(31),求解种群规模的适应度函数,并通过式(32)转换其适应度函数值;
Step 3:采用无放回式随机余数选择算子选择优秀父代染色体;
Step 4:以一定交叉概率Pc采用IPMX策略进行交叉,产生优秀的子代染色体;
Step 5:以一定变异概率Pm进行随机两点变异操作;
Step 6:迭代更新,如果其迭代次数小于Ttime,则继续跳至Step 2继续执行,如果迭代次数大于或等于Ttime,则迭代停止,并且返回其染色体基因编码组合,即最优提升机任务序列矩阵;
Step 7:根据最优高速料箱提升机任务序列矩阵和四向穿梭车之间的映射关系,分配各层位之间四向穿梭车最优任务订单执行顺序。
仿真测试
本仿真在MATLAB2019a软件下运行,进行了以下三个部分的数值仿真验证。首先将IAGA-SOOTM算法进行了仿真测试,得出了该***的最优任务调度序列;其次,将本发明提出的IPMX交叉算子与PMX交叉算子分别进行了SOOTM模型的求解,对两种算法的性能进行了对比分析;最后,通过改变***出库货位数量、仓库层位信息、仓库巷道信息等来分析该方法在此***中的优化效率,验证其方法的有效性和适应性。
IAGA-SOOTM***出库订单排序优化仿真:
首先,设置IAGA-SOOTM算法的参数如下表1所示。
表1 IAGA-SOOTM算法参数设置
然后,设定货架的层位信息为10,巷道数为6,货位列数为60,随机给定***批量出库订单数量为30,其出库任务顺序与其库存信息给定如表2所示:
表2随机模拟初始出库任务顺序与库存坐标信息表
出库sku订单顺序 | 出库坐标位置 | 出库sku订单顺序 | 出库坐标位置 |
1 | (9,12,32) | 16 | (2,18,27) |
2 | (6,2,11) | 17 | (3,4,14) |
3 | (1,24,43) | 18 | (3,11,48) |
4 | (2,8,40) | 19 | (10,7,40) |
5 | (8,17,30) | 20 | (9,12,43) |
6 | (3,23,28) | 21 | (5,12,30) |
7 | (3,3,62) | 22 | (1,10,5) |
8 | (5,10,30) | 23 | (6,18,36) |
9 | (6,11,47) | 24 | (5,23,44) |
10 | (4,4,53) | 25 | (3,6,60) |
11 | (7,3,30) | 26 | (8,14,60) |
12 | (6,18,48) | 27 | (2,6,14) |
13 | (8,2,38) | 28 | (5,5,3) |
14 | (2,23,34) | 29 | (2,12,1) |
15 | (1,17,23) | 30 | (3,17,17) |
经MATLAB仿真计算,采用IAGA-SOOTM算法求解可知,其提升机订单排序优化执行序列表如表3所示:
表3最优出库任务顺序与订单坐标位置表
出库sku订单顺序 | 出库坐标位置 | 出库sku订单顺序 | 出库坐标位置 |
8 | (9,12,32) | 22 | (2,18,27) |
20 | (6,2,11) | 10 | (3,4,14) |
12 | (1,24,43) | 5 | (3,11,48) |
26 | (2,8,40) | 11 | (10,7,40) |
18 | (8,17,30) | 9 | (9,12,43) |
3 | (3,23,28) | 16 | (5,12,30) |
4 | (3,3,62) | 13 | (1,10,5) |
7 | (5,10,30) | 6 | (6,18,36) |
23 | (6,11,47) | 24 | (5,23,44) |
17 | (4,4,53) | 29 | (3,6,60) |
19 | (7,3,30) | 30 | (8,14,60) |
21 | (6,18,48) | 1 | (2,6,14) |
14 | (8,2,38) | 15 | (5,5,3) |
2 | (2,23,34) | 28 | (2,12,1) |
25 | (1,17,23) | 27 | (3,17,17) |
由表3可知四向穿梭车订单调度执行顺序,其结果如表4所示:
表4四向穿梭车任务调度仿真结果表
对于优化前的出库订单,记任务顺序执行时间为Tr;对于优化后的出库订单,记任务顺序执行时间为To。在Matlab中,经过一次仿真计算,得:Tr=410s;而优化之后的出库时间为To=240s。相较于优化之前,其***的出库效率提升了百分之40%左右。
PMX与IPMX交叉算子性能对比分析:
设定SOOTM出库时间模型中货架的层位数为10,巷道数为10,货位列数为60,批量出库订单量为100,分别采用IAGA-PMX和IAGA-IPMX算法求解SOOTM优化模型,分别测试10次,对比这两种算法对该模型的优化性能,其测试数据如下表5所示:
表5:SOOTM模型算法性能测试对比表
由表5中的仿真测试数据可知:在求解SOOTM出库时间模型时,IPMX交叉操作的优化效率均高于PMX交叉操作。鉴于该算法的随机性,对于其中某一组的求解过程,图2给出了两种算法的迭代优化曲线:
在图2中,横坐标表示算法的迭代周期,纵坐标代表SOOTM模型的***出库时间,黑色实线表示IAGA-IPMX算法求解SOOTM模型的迭代曲线,黑色虚线表示IAGA-PMX算法求解SOOTM模型的迭代曲线,由此可知:采用IAGA-IPMX算法不仅能够成功找出该整数规划模型的最优或次优解,而且其收敛速度和最优解搜索能力均优于IAGA-PMX算法。
IAGA-SOOTM算法多维度仿真测试:
本发明通过改变批量出库订单的数量,仓库的层位信息以及仓库的巷道信息,多维度的测试该算法对SOOTM模型的优化结果,其多维度结果分布测试数据可验证***的可行性,并且能够为***规划设计提供一定的设计依据。
货架层位数L变化对IAGA-SOOTM算法的优化测试:
货架层位数的改变会影响提升机的作业时长,也会间接影响提升机与四向穿梭车的交互和等待时长,从而影响***的出库时长。本发明通过改变巷道层位数L来验证IAGA-SOOTM算法优化的适用性。鉴于该算法的随机性,在取一定巷道层位数时,采用IAGA-SOOTM模型算法重复运行10次,以其均值来描述其优化结果。对于不同的货架层位数L,其仿真数据统计的曲线图如图3所示:
图3中左图的横坐标表示货架层位数L,纵坐标表示SOOTM模型的***出库时间,黑色横线加六角星的曲线代表优化前的任务订单顺序出库时间,黑色横线加三角星的曲线代表优化后的任务订单顺序出库时间由图可知,采用IAGA-SOOTM模型优化之后,***出库时间均快于优化前的***出库时间。图3中右图红色加正方形曲线表示IAGA-SOOTM***出库优化率,由图可知:采用IAGA-SOOTM算法进行优化后,***的出库效率至少提升了20%左右。
批量出库订单数量n变化对IAGA-SOOTM算法的优化测试:
订单批量出库数量n的改变,会直接影响***的批量出库时间,本发明通过改变订单的数量n来测试IAGA-SOOTM算法的优化效率。本仿真的***参数设置为:订单的出库数量为自变量,***的出库时间为因变量,货架层位信息L为10,巷道数为6,列数为60,其余参数同表1保持不变。鉴于算法的随机性,取一定批量出库订单数量n时,采用IAGA-SOOTM模型算法重复运行10次,以其均值来描述其优化结果。通过改变不同的出库订单数量n,其仿真数据统计的曲线图如图4所示:
如图4左图所示,无论是优化前的订单任务顺序还是优化后的任务订单顺序,其***出库时间均会随出库订单数量的增加而递增,不过其采用IAGA-SOOTM优化之后的出库任务订单顺序的出库时间均优于优化前的***出库时间。由图4右图所示,采用IAGA-SOOTM算法优化后,***出库时间优化率至少能提高40%左右,而且趋于稳定。
货架巷道数N变化对IAGA-SOOTM算法的优化测试
货位巷道数N的改变,会影响某层位穿梭车的取货时间,影响提升机的等待时长,从而影响整个***的批量出库订单时长。本仿真的***参数设置为:仓库的巷道数N为自变量,***的出库时间为因变量,货架层位信息L为10,出库订单数量为100,列数为60,其余参数同表1保持不变,鉴于该算法的随机性,取一定仓库的巷道数N时,采用IAGA-SOOTM模型算法重复运行10次,以其均值来描述其优化结果。通过改变不同的仓库的巷道数N时,其仿真数据统计的曲线图如图5所示:
由图5左图所示,无论是优化前的订单任务顺序还是优化后的任务订单顺序,其***出库时间均会随仓库巷道数N增加而递增,不过其采用IAGA-SOOTM优化之后的出库任务订单顺序的出库时间均优于优化前的***出库时间。由图5右图所示,采用IAGA-SOOTM算法优化后,***出库时间优化率大致能稳定在40%左右。
综合分析可知:相较于传统的随机任务出库顺序,在***参数任意改变的情况下,本发明提出的IAGA-SOOTM模型的订单排序优化算法,至少能将***的出库效率提高20%以上,数值分析验证了该算法的有效性。
本发明针对传统的双深位四向穿梭车***批量出库效率低的问题,通过设计IAGA-SOOTM模型来优化该***任务订单的出库顺序,克服了该***的缺陷。针对该算法的设计,本发明的主要创新之处如下:
1):本发明基于双向穿梭车***订单排序优化思想,以凯乐士四向穿梭车***为例,建立了考虑倒货策略的双深位四向穿梭车***出库时间模型(SOOTM);并采用递归的运算思想,求解了该***的批量出库任务顺序的出库时间;其模型的复杂度和真实性能够准确逼近实际的四向穿梭车***。
2):将SOOTM出库时间模型的订单排序问题转化为非标准的整数规划问题,采用改进的遗传算法(IAGA)对该模型进行了求解,准确得出了最优任务顺序序列,并且在改变***的各种参数的条件下,对算法进行了测试和验证。
3):在求解SOOTM整数规划问题,本发明将遗传算法中原有的PMX交叉算子在其复杂度和收敛速率上进行了改进,提出了IPMX算子。
本发明所提出的IAGA-SOOTM算法能够成功应用于该类调度***的批量出库的情况,相较于传统的出库效率,其优化效率至少能提高20%个点。
Claims (2)
1.一种考虑倒货策略的双深位四向穿梭车***订单排序优化方法,其特征在于,包括以下步骤:
步骤一:对双深位四向穿梭车***的进行仿真建模;
所述步骤一中,双深位四向穿梭车***由两个维度构成:分别为硬件部分和软件部分,硬件部分包括双深位立体货架、四向穿梭车、高速料箱提升机,软件部分包括订单管理***WMS、仓储调度***WCS和仓储执行***WES软件;
针对双深位四向穿梭车***组成提出以下假设:
1-1):双深位立体货架:设定货架的层数为L、巷道数为N、行数为M,货位为双深度货位,即第N个巷道所对应的第M列的存储空间为4,由于货架为四向穿梭车***,设定其转弯板的位置位于第20行与第21行之间,由此可知,整个货架的存储空间数量Nnum大小为:
Nnum=4·L·N·M (1)
设定货位的列数为q,其货位列数与巷道数之间的关系为:
q=4·N (2)
此时,库存信息在三维货架中由空间坐标表示为:Xsku=(L,q,M);因此,整个仓储空间中的货位状态由随机数建模生成如下:
f(Li,qi,Mi)=round(rand),i={1,2,...,Nnum} (3)
其中,f(Li,qi,Mi)表示货架中第i个货位的占用信息,Li,qi,Mi分别为第i个货位的空间坐标信息,即层位数、货位列数和货位行数;rand表示0到1之间的均匀随机数,round表示四舍五入函数,f(Li,qi,Mi)的值域为0或1,当该函数值域为1时,代表货架第i个货位占用,当函数值域为0时,代表货架第i个货位空闲;
由于仅研究双深位四向穿梭车***的出库模型,而仓储***的库存信息是由其入库作业中WMS***的储位优化决定,现依据双深位***货位优化原则,对仓储***中的货位状态进行二次遍历建模:
双深位货架库存信息中两深度货位之间的关系建立如下,即依据式(3)的货位状态进行如下遍历更新:
(a):当qi=4j+1,j={0,1,2,…,N-1}时,
(b):当qi=4j+4,j={0,1,2,…,N-1}时,
其中,j为0到N-1之间的正整数;
1-2):四向穿梭车:假设每层均配备一辆四向穿梭车,则四向穿梭车的数量即为L,设定四向穿梭车的横向最大速度为Vdx、纵向最大速度为Vdy、横向最大加速度为adx、纵向最大加速度为ady,此时四向穿梭车的运动时间模型建立如下:
由于四向穿梭车横向运动性能与纵向运动性能一致,故只做纵向运动建模;假设四向穿梭车达到最大纵向运动速度时的最大位移为XL,此时四向穿梭车运动时间td与其实际运动距离sy之间的关系如下:
其中,s为四向穿梭车的纵向运动的实际距离值;四向穿梭车达到最大纵向运动速度时的最大位移XL与四向穿梭车的性能参数关系为:
因此,通过此模型,仅需确定该四向穿梭车执行订单的库存信息,即可求得四向穿梭车完成该订单所需的时间;
1-3):高速料箱提升机:假设在1号巷道口设置一台高速料箱提升机,其功能负责与每层之间的四向穿梭车交互,实现订单周转箱的高度作业,设定高速料箱提升机的最大加速度为al,最大运行速度为Vl,其作业运动时间模型与式(6)一致;
步骤二:基于双深位四向穿梭车***的批量出库作业流程,建立了***出库作业时间模型SOOTM;
所述步骤二具体步骤为:
***的出库作业特点为:四向穿梭车并行式作业,高速料箱提升机串行作业的方式;假设批量订单出库的数量为n,依据仓储订单模型,其出库任务序列位置矩阵Xsku如下:
给定高速料箱提升机执行订单的任务序列矩阵为lsort为:
lsort=randperm(n) (9)
其中,randperm函数表示随机生成的n个出库订单任务序列矩阵;设定高速料箱提升机执行第一个任务的时间序列为0时刻,***出库作业时间Tout表示为:
其中,Tn lift为执行完n个任务订单的时刻,ΔTk lift为高速料箱提升机执行第k个订单的所需时长,高速料箱提升机执行任第k个任务订单的关系如下:
ΔTk lift=ΔTk arrive+ΔTk awaiting+ΔTk delivey (11)
其中,ΔTk arrive为高速料箱提升机执行第k个任务到达其目标层位的运行时间,ΔTk awaiting为高速料箱提升机到达目标层位后等待四向穿梭车取货的时间,ΔTk delivey为高速料箱提升机与四向穿梭车完成第k个任务交互后送至出货站台的时间;
基于高速料箱提升机作业的时间序列,其递归模型建立如下所示:
Tk lift=Tk-1 lift+(ΔTk arrive+ΔTk awaiting+ΔTk delivey) (12)
Tk lift表示完成k个订单任务所需的总时间,即k个订单任务序列的出库时间;由式(12)分析知:当Tk-1 lift已知时,通过求解ΔTk arrive,ΔTk delivey,ΔTk awaiting的映射关系,令k=n时,即可迭代求得n个订单任务的出库时间;
步骤三:根据***出库作业时间模型SOOTM,将***订单排序优化问题转化为非标准的整数规划问题,建立了一个非标准的订单排序整数规划模型;
所述步骤三具体步骤为:
定义高速料箱提升机执行第k个任务序列所对应的层位信息Lk之间的映射函数如下:
Lk=g(k,lsort,Xsku) (13)
定义决策函数如下:
设定每层货架的高度为h,高速料箱提升机运行至最大速度时的位移为H,此时第k个高速料箱提升机的任务执行时间为:
假设高速料箱提升机开始执行第k个任务到达目标层位的时刻为Tk arrive,等候高速料箱提升机交互完成时刻为Tk awaiting,目标层位的四向穿梭车前一个任务执行订单任务号为k-w,其等候高速料箱提升机交互完成时刻为Tk-w awaiting,则第k个任务交互完成时刻Tk awaiting与其第k-1个任务完成时刻Tk-1 delivey之间的关系如下:
Tk awaiting=Tk-1 arrive+ΔTk arrive+ΔTk awaiting (16)
设定四向穿梭车取第k个任务所花的时间为:Tk dolly,此时执行第k个任务的高速料箱提升机等待时长ΔTk awaiting之间的关系判断如下:
将式(16)(17)代入式(12)即可求得双深位四向穿梭车***出库时间的递归模型;递归模型中的未知参数仅剩四向穿梭车的取货时间Tk dolly时间建模,其建模过程如下:
首先,建立第k个出库任务订单顺序的货位映射关系如下:
[Lk,qk,Mk]=y(k,lsort,Xsku) (18)
其货位所在纵向巷道Nk为:
考虑四向穿梭车的取放货时间与其深度货位的关系,现建立其函数关系如下:
其中,Tk take表示四向穿梭车到达货位目标点之后的取货时间,mod为取余函数;
给定倒货决策变量函数定义如下:
为了便于描述计算四向穿梭车的时间模型,对式(15)取如下函数,定义:
Tk=J(Vl,H,al,S,F(H,S)) (22)
1)当G(f(Lk,qk,Mk),f(Lk,qk±1,Mk))=0并且Nk=1时,设定货架的宽度为c,则
Tk dolly=2·J(Vdy,sy,ady,Mk·c,F(sy,Mk·c))+Tk take+Tk delivey (23)
sy表示四向穿梭车纵向加速运动至最大纵向速度时的距离值;
2)当G(f(Lk,qk,Mk),f(Lk,qk±1,Mk))=0并且Nk≠1时,其横向距离运行至最大速度的距离值为sx,实际运动横向距离值为:sn=5(Nk-1)c,设定转弯时间为Tk turn=2,则四向穿梭车的取放货时间表示如下:
其中abs函数表示绝对值函数;
3)当G(f(Lk,qk,Mk),f(Lk,qk±1,Mk))≠0并且Nk=1时,即四向穿梭车取货的过程中需要考虑其倒货时间;采用的倒货策略为近邻倒货策略,其四向穿梭车的运行时间为:
Tk dolly=T1 k dolly+T2 k repo (25)
其中T1 k dolly为四向穿梭车的取货时间,由式(23)求得;T2 k repo为四向穿梭车的倒货时间,其求解过程描述如下:
首先,寻找其近邻倒货库位为:
index=min[find(f(Lk,qk,:)==0)] (26)
然后计算其倒货运行距离srepo如下:
srepo=abs(inedx-Mk)·c (27)
由此可知,四向穿梭车执行第k个任务订单的倒货时间为:
T2 k repo=2·J(Vdy,sy,ady,srepo,F(sy,srepo))+Tk take+Tk delivey (28)
将式(28)和式(23)代入公式(25)即可求得四向穿梭车执行第k个任务的运行时间;
4)当G(f(Lk,qk,Mk),f(Lk,qk±1,Mk))≠0并且Nk≠1时,其四向穿梭车执行第k个订单的实际运行时间为:
综上所述,由于同层位高速料箱提升机的上升运行时间和下降运行时间一致,执行第n个出库任务序列的***出库时间递归模型表述为:
其中决策变量N(ΔT1 arrive,T1 dolly)的定义如下:
步骤四:对遗传算法中的PMX交叉算子进行改进,采用改进的遗传算法求解订单排序整数规划模型,对***订单执行顺序进行优化,得出***出库时间作业的最优任务执行序列;
所述步骤四中,对遗传算法中的PMX交叉算子进行改进的具体过程为:
设定遗传算法中染色体的数量为P,其染色体基因初始化序列由式(9)表示,即对应为高速料箱提升机随机初始任务序列;其适应度函数由式(30),即SOOTM出库作业任务时间表示;适应度函数设置如下:
fitnessu(lsort,pu)=Tsum-Tu n lift (32)
其中,pu表示第u个染色体随机生成的n个出库订单的任务顺序;Tsum为给定得常数值,设为:Tsum>Tu n lift,Tu n lift表示第u个染色体随机生成的n个出库订单任务顺序的***出库时间,fitnessu(lsort,pu)为第u个染色体对应的适应度值大小;
假设两优秀父代的染色体基因序列如下:
假设其交叉初始位置和结束位置为第4个基因和第9个基因,其IPMX交叉算子设计如下:
Ⅰ)交换基因序列,建立基因交换矩阵:
由式(33)的父代信息进行基因交换如下:
基于交换信息,建立如下基因交换矩阵Ge:
Ⅱ)寻找变量基因,更新基因交换矩阵:
首先将矩阵Ge与父代p1建立如下映射关系,生成基因状态矩阵Gpu和主导向量矩阵Gou分别如下所示:
主导向量矩阵Go1和Go2:
基因状态矩阵Gp1和Gp2:
然后将基因状态矩阵合并如下:
Gp=Gp1+Gp2=[0 1 1 1 1 2 1 0 0 2 1 2] (38)
最后,其变量基因Gv求解如下:
Gv=find(Gp(1,:)>1)=[6 10 12] (39)
由式(39)的计算结果,更新基因交换矩阵如下所示:
根据基因交换矩阵,更新主导向量矩阵Go1为:
Go1=[0 0 11 0 4 0 2 0 0 0 0 0] (41)
Ⅲ)生成新的基因序列:
将主导向量矩阵Go1与式(34)中的矩阵关系进行重复映射,其余基因位置不变,即可产生子代1基因
p'1=(2 1 4 6 12 10 7 3 5 8 11 9) (42)
现定义子代基因1与子代基因2之间的映射关系如下:
li为染色体中基因的个数表达;
由式(43)可知其子代2的基因序列如下:
p'2=(7 3 5 11 4 6 2 10 12 9 8 1) (44)
Ⅳ)重复迭代交叉:
在算法求解过程中,为了加快收敛速率,引入评价函数对交叉算子进行重复迭代更新,其基本思想如下:首先引入该算法的适应度函数作为子代评价函数;然后将生成的子代适应值与父代适应值进行比较,如果生成的子代优于其父代,则选择该子代染色体,停止内部迭代;如果生成的子代劣于其父代染色体,则将该子代与父代重组,进行重复交叉迭代,直到在内部迭代次数Tp内获得优于父代的染色体,若达到Tp内部迭代次数时仍然没有出现优于父代的子代染色体,则以一定随机概率去选择生成的子代基因。
2.根据权利要求1所述的考虑倒货策略的双深位四向穿梭车***订单排序优化方法,其特征在于,所述步骤四中,采用改进的遗传算法求解订单排序整数规划模型,对***订单执行顺序进行优化,得出***出库时间作业的最优任务执行序列的具体步骤为:
Step 1:初始化双深位四向穿梭车***货架信息、订单信息、高速料箱提升机运行的基本参数信息、四向穿梭车运行参数,随机初始化染色体任务序列信息,设置迭代时间Ttime;
Step 2:根据步骤二建立的SOOTM模型,即:式(30)和式(31),求解种群规模的适应度函数,并通过式(32)转换其适应度函数值;
Step 3:采用无放回式随机余数选择算子选择优秀父代染色体;
Step 4:以一定交叉概率Pc采用IPMX策略进行交叉,产生优秀的子代染色体;
Step 5:以一定变异概率Pm进行随机两点变异操作;
Step 6:迭代更新,如果其迭代次数小于Ttime,则继续跳至Step 2继续执行,如果迭代次数大于或等于Ttime,则迭代停止,并且返回其染色体基因编码组合,即最优提升机任务序列矩阵;
Step 7:根据最优高速料箱提升机任务序列矩阵和四向穿梭车之间的映射关系,分配各层位之间四向穿梭车最优任务订单执行顺序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010480520.2A CN111626516B (zh) | 2020-05-30 | 2020-05-30 | 考虑倒货策略的双深位四向穿梭车***订单排序优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010480520.2A CN111626516B (zh) | 2020-05-30 | 2020-05-30 | 考虑倒货策略的双深位四向穿梭车***订单排序优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111626516A CN111626516A (zh) | 2020-09-04 |
CN111626516B true CN111626516B (zh) | 2023-04-28 |
Family
ID=72272286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010480520.2A Active CN111626516B (zh) | 2020-05-30 | 2020-05-30 | 考虑倒货策略的双深位四向穿梭车***订单排序优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111626516B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113706240A (zh) * | 2021-08-18 | 2021-11-26 | 上海明略人工智能(集团)有限公司 | 订单排序的方法和装置、电子设备和存储介质 |
CN114021885B (zh) * | 2021-09-29 | 2024-06-21 | 北京邮电大学 | 一种托盘四向穿梭车***的提升机调度方法及装置 |
CN114781746B (zh) * | 2022-05-09 | 2024-04-19 | 重庆大学 | 一种基于多层agv停车库多取车任务的优化方法 |
CN117852988B (zh) * | 2024-03-08 | 2024-05-14 | 天津万事达物流装备有限公司 | 一种智能仓储***中子母车与提升机的协同控制方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5541848A (en) * | 1994-12-15 | 1996-07-30 | Atlantic Richfield Company | Genetic method of scheduling the delivery of non-uniform inventory |
CN103640829B (zh) * | 2013-12-30 | 2015-09-30 | 厦门烟草工业有限责任公司 | 穿梭车出库排序***以及烟包出库方法 |
CN103955818B (zh) * | 2014-05-27 | 2018-02-02 | 山东大学 | 多层穿梭车自动仓储***的任务调度方法 |
CN104811491A (zh) * | 2015-04-17 | 2015-07-29 | 华南理工大学 | 一种基于遗传算法的云计算资源调度方法 |
CN108805403A (zh) * | 2018-05-02 | 2018-11-13 | 上海大学 | 一种基于改进遗传算法的单件车间调度方法 |
CN109784566B (zh) * | 2019-01-22 | 2021-03-02 | 山东大学 | 一种订单排序优化方法及装置 |
CN109677830B (zh) * | 2019-02-28 | 2021-04-16 | 陕西科技大学 | 一种四向穿梭车式密集仓储***资源配置优化方法 |
-
2020
- 2020-05-30 CN CN202010480520.2A patent/CN111626516B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111626516A (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111626516B (zh) | 考虑倒货策略的双深位四向穿梭车***订单排序优化方法 | |
CN107480922B (zh) | 两端式同轨双车运行模式下货位分配调度模型建立方法 | |
CN110909930B (zh) | 一种面向冷库的移动式货架仓储***货位分配方法 | |
CN109447317B (zh) | 一种基于多人同时拣货的仓库最短路径优化方法 | |
CN105836356B (zh) | 一种密集仓储***混合优化调度方法 | |
CN110991754B (zh) | 一种基于变邻域nsga-ⅱ算法的多目标货位优化方法 | |
WO2022252268A1 (zh) | 一种智能立体仓库优化调度方法 | |
CN108550007B (zh) | 一种制药企业自动化立体仓库的货位优化方法及*** | |
CN110084545B (zh) | 基于混合整数规划模型的多巷道自动化立体仓库的集成调度方法 | |
CN114417696B (zh) | 一种基于遗传算法的自动化立体仓库货位分配优化方法 | |
CN107808215B (zh) | 一种应用于Flying-V型非传统布局仓库的货位分配优化方法 | |
CN109345017A (zh) | 一种考虑装箱约束的车间物料配送优化方法 | |
CN106021700B (zh) | 基于分散式出/入库布局模式下的货位分配模型建立方法 | |
CN110807559A (zh) | 一种订单分批和拣货路径联合优化方法 | |
CN105858044B (zh) | 一种穿梭车与升降机结合的仓储***优化调度方法 | |
CN113222410B (zh) | 双向式布局模式下货位分配模型建立方法 | |
CN106773686B (zh) | 同轨双车运行模式下堆垛机调度路径模型建立方法 | |
CN112100861B (zh) | 基于入侵杂草优化算法的卷烟生产物料货位分配方法 | |
CN113627712A (zh) | 一种仓储***穿梭车作业顺序优化方法 | |
CN116596440A (zh) | 一种自动化立体仓库出入库智能调度方法 | |
CN110986942A (zh) | 基于蚁群算法的立体仓库三维空间路径优化方法 | |
CN115481897A (zh) | 一种agv无人仓库设备优化配置方法 | |
CN115303689A (zh) | 一种多巷道立体仓库货位分配优化方法 | |
CN113570025A (zh) | 一种基于离散粒子群算法的电商仓储中心货位分配方法 | |
CN114418707A (zh) | 四向穿梭车路径导航方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |