CN116957437A - 一种基于序列到序列策略网络深度强化学习模型的多车协同装箱方法 - Google Patents

一种基于序列到序列策略网络深度强化学习模型的多车协同装箱方法 Download PDF

Info

Publication number
CN116957437A
CN116957437A CN202310858941.8A CN202310858941A CN116957437A CN 116957437 A CN116957437 A CN 116957437A CN 202310858941 A CN202310858941 A CN 202310858941A CN 116957437 A CN116957437 A CN 116957437A
Authority
CN
China
Prior art keywords
cargo
loading
loaded
cargoes
goods
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.)
Pending
Application number
CN202310858941.8A
Other languages
English (en)
Inventor
田冉
康春明
毕佳明
马忠彧
刘颜星
李芳芳
赵光路
杨赛赛
卢梦
冷吉锴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwest Normal University
Original Assignee
Northwest Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Northwest Normal University filed Critical Northwest Normal University
Priority to CN202310858941.8A priority Critical patent/CN116957437A/zh
Publication of CN116957437A publication Critical patent/CN116957437A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明研究了仅有后货箱门的物流装车场景下的多车协同装箱问题中的货物的装载序列问题,这决定了车辆装载空间利用率的高低。在深度强化学习的基础上,首先,构建了基于Seq2Seq网络的序列模型,该模型通过结合双向LSTM模型和注意力机制分别构建编码器,解码器和注意力模块,从而求得所有待装载物品的装载概率。然后,通过构建的深度强化学习装箱框架得到了物品的装载策略,并由带有基线的策略梯度方法更新优化Seq2Seq策略网络,最终得到最优的装载策略。通过大量的实验证明,该方法与以往的研究相比,无论是在空间利用率还是计算时间上都有很大的提高,可以应用于中小型物流企业。

Description

一种基于序列到序列策略网络深度强化学习模型的多车协同 装箱方法
技术领域
本发明专利涉及一种多车协同装载方法,在物流运输领域具有极其重要的应用前景。
背景技术
在物流运输中,如何将给定数量和体积的物品合理地分配到不同的车厢中,并使得所需车厢数量最少,这是物流和运输领域中非常关键的问题。因为车厢数量越少,需要的货车和货船也会越少,从而减少燃料消耗和碳排放量,达到节能减排的目的。因此,通过解决多车装载问题,可以找到更高效的物流和运输解决方案,从而在实践中获得更好的节能减排效果。
目前研究人员更多地使用深度强化学习来解决多维度在线和离线装箱问题,克服了传统方法和启发式方法的运算时间长、占用内存大和易于陷入局部最优等缺点。在序列确定时,装载策略决定了车厢里装载货物的空间位置,同时装载策略也影响生成的序列,很难在二者之间找到平衡。多车协同装载问题。即多辆货车一起装载已经完成集货的货物,所有车厢的空间利用率大致相同,最重要的目的是减少车厢数量。
在解决基于位置序列的多车协同装载问题的过程中,货物的装载顺序对提高每个车厢的空间利用率非常重要。本发明提出了面向三维离线装箱问题的一种基于位置序列的深度强化学习方法,用来解决训练时间过长和空间利用率较低的问题。本发明构建了基于序列到序列策略网络的深度强化学习(S2SDRL)模型,使用深度强化学习(DRL)智能体对多车装箱问题中的货物进行重排序,由序列到序列(S2S)策略网络输出货物的装载顺序,货物基于分层装载策略和多车协同装载方法被装载到车中,将DRL在单个车辆上的应用拓展到多个车辆上。本发明在S2S策略网络的编码和解码模块中,使用双向的长短时记忆神经网络(LSTM)代替单向的LSTM,产生一个货物与上下所有货物的关联特征,并描述货物的位置序列关系。在编码器与解码器之间搭建注意力模块,突出重点货物的特征,从而有效提升装载空间利用率。
发明内容
本发明在S2S网络的编码和解码模块中,智能体使用双向LSTM代替单向LSTM,产生一个货物与上下所有货物的关联特征,并描述货物的位置序列关系。在编码器与解码器之间搭建注意力模块,突出重点货物的特征,从而有效提升装载空间利用率。
本发明主要包括5个部分:(1)确定模型的输入输出。(2)定义协同装箱问题并添加约束。(3)构建网络模型。(4)构建基于策略梯度强化学习的多车装载过程。(5)方法有效性验证。
下面分别介绍以上五部分的内容:
1、确定模型的输入输出。车厢,货物数据集作为本模型的输入,其中两者均包括长、宽、高三个基本属性。在得到最佳的装载序列之后,会按照序列将所有货物依次输出。
2、定义协同装箱问题并添加约束。明确的目标和约束是最优化问题的基础。通过定义和约束可以使本发明的装箱环境与真实场景下装箱过程中的需求一致。
3、构建网络模型。本发明基于指针网络核心思想来构建网络模型。对于单个货物,经过指针网络处理,得到此货物优先装载的概率值。对于所有货物,输入到网络中可以互相关联,从而得到一个货物装载序列。
4、构建基于策略梯度强化学习的多车装载过程。本发明基于深度强化学习方法。将策略网络得到的货物装载序列输入到分层装载策略和多车协同装载策略中,得到奖励值,经过强化学习训练,优化策略网络,最后拥有最优参数的策略网络输出的概率值对应的货物序列即最优装载序列。
5、方法有效性验证。通过与其他算法的对比表明本发明提出的模型可以获得平均空间利用率更高的车厢装载策略,而且模型训练时间更短。
本发明为实现上述目的所采取的详细实施步骤如下:
步骤1:确定车厢和货物的特征属性;两者的属性在后续步骤中需要按照序列匹配,把货物装载到车厢中;本发明将第k辆车定义为Bk={(Lk,Wk,Hk,Vk)|k=1,2,3,...},货物的总数量记为N,所有货物定义为I={xi=(li,wi,hi,vi)|i=1,2,3,...,N},每个属性依次对应车厢的长、宽、高、体积,货物的长、宽、高、体积。
步骤2:确定目标函数和符合真实场景的约束;本发明对货物装载到车厢中的过程进行定义;通过定义目标和约束,可以使本发明的装箱环境与真实场景下装箱过程中的需求一致。
步骤2.1:定义目标函数;车厢和货物都是长方体,第k个装载货物的车厢记为Bk,使用CCk表示第k辆车装载的货物数量。给定一系列待装载货物I,第i个货物表示为(li,wi,hi)。基于装载位置序列的装箱问题的目标是寻找到一个有效的装载策略,将待装载的货物(li,wi,hi)装载到M个相同大小的车厢中,最大化所有车厢的平均装载空间利用率所以目标函数表示为:
上式中CCk表示装载到第k个车厢中的货物数量;上式的分子是N个货物的体积,M越小越大。
步骤2.2:定义约束;本发明的装车场景实际物理约束如下:
每个车厢以(0,0,0)为原点,式leftij,topij,behindij∈{0,1}表示货物朝向的唯一性,其中leftij=1表示货物i在在货物j的左边,topij=1表示货物i在货物j的下方,behindij=1表示货物i在货物j的后方。式δi1i2i3i4i5i6∈{0,1}表示货物装载方向的唯一性,式中δi1=1表示货物i的正面朝向为车厢的x正轴,δi2=1表示货物i的正面朝向为车厢的x负轴,δi3=1表示货物i的正面朝向为车厢的y正轴,δi4=1表示货物i的正面朝向为车厢的y负轴,δi5=1表示货物i的正面朝向为车厢z的正轴,δi6=1表示货物i的正面朝向为车厢z的负轴。当货物的摆放朝向确定后,货物被摆放到车厢后,得到新的长宽高表述为下式表示被放入的货物之间的长宽高不发生重叠。
下式表示装载的货物的长、宽、高都能被车厢所容纳,货物不会超出车厢的内部范围。
下式表示货物确定摆放朝向后被装载到车厢中时的长宽高。
式leftij+topij+behindij=1表示货物i在货物j的左方、上方或后方。
式δi1i2i3i4i5i6=1表示货物的朝向只能是六类货物朝向之一。
步骤3:构建S2S策略网络对货物进行排序;本发明使用S2S策略网络获取每个货物在所有货物排序中的位置。S2S策略网络的具体结构如下:
步骤3.1:编码器的一维卷积模块;将I中所有带有位置序列的物品信息输入到编码器的卷积模块。第i个货物经过m个卷积通道的一维卷积处理后的货物的输出值如下式中的ei,m所示:
其中,channelin是输入数据的通道数,channelout表示输出数据的通道数,是互相关操作。将所有货物的长宽高作为特征输入到一维卷积模块,此模块使用多个长度为1的卷积核处理特征,然后将结果进行转置操作,就变成了给每个特征进行升维操作,将每个特征分别用一个向量表示。所以一维卷积的计算过程可以看做嵌入层。
步骤3.2:编码器的双向LSTM模块;经过卷积模块提取每个装载物品的信息特征后,通过双向LSTM模块捕捉装载物品前后的装箱信息,在每个时间步的输出节点,均可以获得包含输入序列当前时刻的完整信息。双向LSTM模块的每个循环单元的正向计算有三步:
1、对前一段时间的短时记忆进行激活,公式如下:
2、对短时记忆和长时记忆进行更新和遗忘,公式如下:
3、通过输出门对遗忘门和更新门的记忆进行整理输出,公式如下:
yi=hi=σ(Wu·[hi-1,ei]+bu)×tanh(Ci)
其中,xi表示当前货物i经过一维卷积处理后的特征,hi表示当前货物i与已装载货物的关联信息(初始的状态h0=0),W和b为分别表示权重系数和偏置量,每个LSTM cell的遗忘门、更新门和输出门的激活函数σ为sigmoid函数。
反向计算只需要把正向的输入数据进行倒序输入到LSTM模块即可,我们记每次循环的隐藏输出为h′i。我们将每个隐藏层的两个正反向的输出结果拼接得到Y。正向LSTM的长时记忆初始值和终止值被记为c0和cn,记反向LSTM的长时记忆初始值和终止值被记为c′0和c′n
步骤3.3:注意力机制模块;如图4所示,hn和h′n是Bi-LSTM最后一次循环得到的值,二者拼接的值经过全连接层计算并被tanh激活函数激活,然后与Y进行拼接,再经过两层全连接层计算,得到Z。Z作为注意力部分与Y相乘得到编码器的输出AttentionOutput。
步骤3.4:解码器模块;如图5所示,本发明将AttentionOutput作为解码器部分的输入,输入到Bi-LSTM模块中,记U为正向LSTM的初始长时记忆,用cn和c′n的拼接做反向LSTM的初始长时记忆,记Un为正向LSTM最后时刻的长时记忆,U′n为。将Bi-LSTM输出的结果输入到一层全连接层中,得到货物的初始装载概率。为了解决全连接层输出的装载概率含有非正数的值的问题,引入softplus激活函数,将所有车厢的装载概率值映射为不相等的非负数。Softplus激活函数计算得到DecoderOutput就是货物优先被装载的概率。本发明采用的softplus函数公式如下:
Softplus(x)=log(1+ex)
步骤4:构建基于策略梯度强化学习的多车装载过程;本发明将货物集合I中的货物的长宽高数据作为网络模型的输入,得到货物的装载概率,根据装载概率较大的货物优先被装载的原则,对装载概率降序排列可以得到所有货物的装载位置序列,把货物按照该序列依次装载到车厢中,直至所有的货物被装载完。本发明中,我们通过计算策略梯度的方法来优化策略网络,达到提升车厢的平均装载空间利用率的目的。
步骤4.1:分层装载策略;为得到货物在单个车厢内放置的坐标,确定装载到某个车厢中的货物有哪些,本发明提出了一种基于分层思想的装载策略,将待装载货物I中的部分货物要被装入到某车厢Bk中。单个箱子装载过程中,有三个重要矩阵需要被操作:货物xi=(li,wi,hi),车厢装载当前货物后的已装载空间(Lt,Wt,Ht,Vt),在当前层所有已装载货物的最大的长宽高(lt,wt,ht)。基于分层思想的装载策略有以下几步:
1、初始化一个Lt=Wt=Ht=0的临时车厢;不装载入货物的临时装载空间lt=wt=ht=0;车厢Bk的长宽高:Lk,Wk,Hk;此车厢临时装载的货物集合货物数目c=0;按照货物顺序排列后的货物列表IRPS;
2、将IRPS中的第一个货物放入当前车厢,并记录第一个货物的信息到临时装载空间中:
lt=li,wt=wi,ht=hi,Lt=Lt+li
更新此时车厢内货物的编号列表CL,体积Vt和数量c:
Vt=Vt-1+vi,c=c+1,CL[c]=i
3、将每一个待装载的货物与当前层的第一个货物做对比,若满足装箱条件,判断货物的摆放位置和摆放方式。货物的摆放位置和摆放朝向采用欧式距离判定:
待装载货物的长宽高与第一个被装载货物的长宽高差距越小,造成浪费的空间就越小,因为堆放相同尺寸的物品可以使(lt,wt,ht)与本层第一个货物的尺寸更近似甚至相同,从而减少了多个货物之间狭小空间的出现,如果出现也会非常小。通过欧氏距离法确定货物摆放的位置和朝向,然后判断当前货物能否被装载入车厢中:如果hi>H-Ht,那么当前货物无法被装载入车厢中,并停止;如果当前货物能被装在到车厢中,将货物装载入车厢中。
4、判断能将货物装载入车厢后,需要将此货物记录入CL,并按照如下规则对临时装载空间进行更新。如果wi≤W-Wt且li≤L-Lt且hi≤H-Ht,那么Lt←Lt+li,lt←max(lt,li),wt←max(wt,wi),ht←max(ht,hi);如果wi≤W-Wt且li>L-Lt且hi≤H-Ht,那么Lt←li,Wt←Wt+wt,lt←li,wt←wi,hi←max(ht,hi);其他情况下,Ht←Ht+ht,Lt←li,Wt←wi,lt←li,wt←wi,ht←hi
5、最后,更新临时装载空间:lt=li,wt=wi,ht=hi,Lt=Lt+li
步骤4.2:多车协同装载策略;为确定装载到各个车厢中的货物有哪些,得到所有的车厢装载的货物和各个车厢的空间利用率,本发明设计了多车协同装载算法,将一批货物装载到数量不定的货车上,详细步骤如下。
1、设置初始集合:c=0,/>
2、按照装载次序IRPS和步骤4.1的分层装载策略确定装载到第一个车厢中的货物,并依次记录此车箱中的货物到CL中、每个货物体积与车厢体积的比值每个货物的优先装载概率p到PL中。c记录当前车厢内货物的总数量。将PL放入PLA中,CL放入CLA中。
3、上一个车厢装载完成后,设置c=0,将剩余货物按照次序装载到下一车厢中。
4、重复2-3直到所有货物都被装载完成。
步骤4.3:优化S2S策略网络流程;本发明采用序列到序列(S2S)网络模型作为策略网络π。所有货物的长宽高作为策略网络的输入,输出所有货物的优先装载概率πθ(·|x),θ表示网络模型的参数。每个货物需要装载动作才能被装载到车上,πθ(·|x)就是装载所有货物时所有动作的集合A,A的长度与货物数量相等。为确定装载次序,本发明做出如下规定,如果ai≥aj,(i>j and ai,aj∈A),则ai对应的货物xi优先装载。A的元素降序排列得到装载序列集合PS,PS是货物的集合,根据货物装入车厢的次序进行了排序。
在训练过程中,智能体使用带有基线的策略学习方法,智能体与环境交互后,得到每个车厢的价值集合RLS,货物数量CC,货物装载概率PLA及装载的货物信息CLA。下面将对智能体与环境的交互过程进行详细说明,主要分为七步:
1、计算单步奖励;所有车厢的初始状态是没有货物,也就是初始的环境状态是所有车厢为空的情况,记为S0。PS内的货物依次装载入多个车厢中,x0装载入B0后的环境状态记为S1,奖励用B0内所有货物的总体积表示,记为x1装载入车厢后状态变为S2然后货物按照分层装载策略依次装入B0中,直到B0无法装载货物为止,Bk中的第q个货物的奖励值被记为:
2、计算折扣奖励;所有货物的奖励值组成集合RLSk,q=rk,q。Bk中的第q个货物累计折扣概率记为RDk,q,由下式计算所得:
3、确定马尔可夫决策过程;在本发明中,智能体进行一次决策得到所有的装载序列,货物被装载到车厢后,生成了与车厢数量相同的马尔可夫决策序列,每条决策序列记录每个车厢内货物装载过程中的动作、状态和奖励,这组成了马尔科夫决策过程,定义为:
τ=(S0,A1,r1,S1,A2,r2,S2...)
4、确定策略网络更新方式;装载xi后环境状态的得分用状态价值函数表示,策略梯度方法的目标函数定义为:
5、确定策略网络参数估计方式;本发明根据下述方式计算梯度:在训练的每一步中,为获取状态价值的期望值,将所有货物经过分层装载策略和多车协同装载策略装入车厢后,计算当前状态下所有车厢的货物装载概率和对应的货物折扣价值的梯度,这个梯度被用于更新网络模型参数。梯度更新公式定义为:
上式中,k(k={1,2,...,M})表示第k个车厢,M表示已经装载了货物的车厢的数量,q(q={1,2,...,n})表示每一个车厢中装载的第q个货物,bv为第v次更新网络后的新的基准值。
6、更新基线;为了初始化相对合理的基准值b0,避免使用不合理的基准值而增加模型训练的时间,本发明采用使用随机搜索算法,模拟退火算法,蚁群优化算法,遗传算法,粒子群优化算法,差分进化算法和禁忌搜索算法求解多车装载问题,计算这七种启发式方法在四个场景下的空间利用率的平均值。基准值bv的更新公式定义为:
7、策略网络参数更新;使用Adam优化器对S2S策略网络的所有参数θ进行更新:
θ=Adam(θ,▽θJ(θ|s))
当在每个步骤更新网络参数时,可以使用θt=θt-AdamLr×Adamt(▽θJ(θ|s))来表达上述方程。AdamLr=0.001。Adam(▽θJ(θ|s))是通过Adam算法对梯度进行优化之后的值。
步骤4.4:获取最优装载序列;本发明对最优化后的S2S策略网络的输出值从大到小排序,以确定货物的最优序列PS。
本发明构建了S2SDRL模型来解决多车协同装箱问题。为获取更优的位置序列,基于Bi-LSTM的S2S策略网络被用来预测货物的装载位置序列。强化学习部分通过位置序列获得装载货物时的奖励,使用带有基线的策略梯度更新方法更新策略网络。经过大量实验证明了各个模块对位置序列的预测有更好的效果。对装载顺序与空间利用率的分析说明了先装载体积大的货物对整体空间利用率的提升是有作用的。本发明与先前研究相比,在空间利用率和模型训练时间上有较大提升,能够应用于物流企业中。
附图说明
图1是本发明中车厢和货物属性以及货物装入车厢的位置。
图2是本发明中基于DRL的装载序列优化框架。
图3是本发明中基于Bi-LSTM的S2S策略网络框架。
图4是本发明中编码器和注意力机制结构。
图5是本发明中解码器结构。
图6是本发明中强化学习优化策略网络过程。
图7是对比算法与本发明的泛化能力对比图。
图8是本发明在四种场景下的消融实验对比图。
图9是本发明与消融模型在场景Bin-12下的误差带图。
图10是本发明与消融模型在场景Bin-16下的误差带图。
图11是本发明与消融模型在场景Bin-20下的误差带图。
图12是本发明与消融模型在场景Bin-24下的误差带图。
图13是对比DE算法与本发明的装载情况对比图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
步骤1:确定车厢和货物的特征属性;货物与车厢结构如图一所示。y的正轴方向为车厢门,即进货口。本发明的对比实验和消融实验中,采用的货物的长宽高和数量如下表所示:
表1七类货物的长宽高数据
本发明中车厢形状是正方体,车厢共有4类,长度分别为12,16,20,24,记作Bin-12,Bin-16,Bin-20和Bin-24。待装载的货物共分成七类,数量为1200个。所有的装载货物均是固定生成的,避免了随机生成的数据差异性过大,数量不均衡,导致装载的结果不理想。
步骤2:构建优化装载序列的整体框架;如图2所示,将所有货物的长宽高输入到DLModel中,得到装载序列PL,将装载序列和所有车厢输入到RL Model中,经过分层装载策略和多车协同装载策略,得到更新策略网络DLModel的策略梯度。
步骤3:构建DLModel;步骤二中的深度学习模型DL Model是以Seq2Seq指针网络为总体架构。如图3所示,S2S策略网络主要分为三部分,编码器部分,注意力机制部分和解码器部分。
编码器主要由卷积模块和双向长短时记忆网络组成,具体结构如图4的编码器部分所示。
注意力机制如图4的注意力部分所示,网络部分由全连接层-tanh激活函数-全连接层-softmax激活函数组成。将注意力层的网络输出Z与编码器层的输出Y进行矩阵乘法,得到编码器经过注意力机制处理后的输出AttentionOutput。
解码器主要由双向注意力和全连接层组成,如图5所示,经过双向长短时记忆网络(Bi-LSTM)处理后,输出到全连接层,全连接层后的激活函数为softplus函数。得到的DecoderOutput为货物优先装载的概率值,将此概率值进行降序排序可以得到货物的装载次序,也就是位置序列。
步骤4:如图6所示,降序排序后的位置序列PS是货物装载序列,但要优化这个序列,达到平均空间利用率最大的目标就需要后续的强化学习训练过程。
首先需要将装载序列输入分层装载策略中,装完一个车厢后装载下一个车厢,经过多车协同装载策略,将所有货物都装载到车厢中,得到奖励值RLS,优先装载概率PLA,以及每个车厢的空间利用率。由RLS计算折扣奖励RD,将RD,RLS,PLA和经过启发式算法计算得到的基线b,通过下式估计策略网络的参数。
通过上式形成完整流畅的计算图,进而进行反向传播,更新策略网络的参数。
步骤5:方法有效性验证。主要由对比实验,消融实验组成。
对比实验部分,主要与启发式算法进行对比,与启发式算法在空间利用率,寻优时间,泛化能力和每个车厢空间利用率的特征方面的对比。
六种启发式算法的参数设置如下:随机搜索算法(RS)没有超参数设置;模拟退火算法(SA)设置初始温度为100000℃,降温系数为0.98。蚁群优化算法(ACO)将种群规模设置为40,信息素波动系数为0.8。遗传算法(GA)的交叉概率为0.8,变异概率为0.3,种群数量为20。差分算法(DE)的个体数量为20,变异算子为0.5,交叉算子为0.1。禁忌搜索算法(Tabu)的禁忌表长度为100,候选表长度为100。我们将这六种启发式算法和S2SDRL分别放到Bin-12,Bin-16,Bin-20,Bin-24四种场景中模拟,得到的空间利用率对比如表2,时间对比如表3所示。
表2七种模型最优平均空间利用率的对比
表3七种模型获取平稳损失值时的时间对比
由表2与表3,在六种启发式算法中,差分优化算法的装载空间利用率最大,模拟退火算法所用的时间最少,而求解效率的提升往往需要耗费更多的时间,但本发明提出的S2SDRL模型不仅耗费时间少,装载空间的利用率也比粒子群优化算法高。与其他启发式算法相比,S2SDRL模型没有扰动因素的影响,不会陷入局部最优而导致结果不理想,不存在随机过程影响模型结果,所以收敛更快而且模型效果更好。
图7是平均空间利用率的对比结果,横轴是选择了6种启发式算法与S2SDRL模型进行泛化能力的对比分析,货物装载实验分别在Bin-25,Bin-26,Bin-27,Bin-28,Bin-29,Bin-30六类装箱情景下进行。S2SDRL在六类不同场景的空间利用率并不是最好的,但是在Bin-25,26,27,30四类场景下,S2SDRL模型的空间利用率高于这六种启发式算法。
而且S2SDRL在六种场景的平均空间利用率的平均值为59.6%高于其他六种算法,Tabu,DE,GA,RS,SA,ACO对应平均值分别为49.75%,57.91%,48.72%,48.05%,41.02%,56.10%。S2SDRL在场景Bin-29时的空间利用率比在场景Bin-26时低了20%,差距较大的原因在于分层装载策略。分层装载策略更适合货物种类较少时的情况,而货物种类比较多时效果就会明显下降。
图8是四个模型在四个不同装载场景下的平均空间利用率表现。横轴为迭代次数,纵轴为平均空间利用率来代表基线的值。四张图分别表示Bin-12、Bin16、Bin-20、Bin-24下的基线值,最终基线稳定时基线值近似等于平均空间利用率M0,M1,M2,M3为四个不同的模型,其中M3是本发明提出的S2SDRL模型。四个消融实验模型结构如下表所示:
表4对比模型的主要模块
如图8所示,M3的空间利用率四个场景下都是最高的。M0与M3相比是未添加卷积模块的模型,没有对所有货物的长宽高数据进行多次特征提取,更难找到不同顺序货物之间的关联性。
图13是在Bin-12、16、20和24中每个箱的空间利用率和使用车厢的数量。在使用S2SDRL模型装载所有货物后,除了空间利用率波动较大的最后一个箱子外,在最佳和最坏情况下,所有其他箱子的空间利用率变化远小于DE算法。在相同的分层装载策略下,启发式方法的总体车厢的空间利用率从小到大排列,因为启发式方法首先将小体积的大部分物品包装在前箱中,导致前箱中的空间利用率较低。S2SDRL方法没有将大多数体积小的货物提前放置在位置序列中,因此总体打包结果优于启发式方法。因此,在大多数情况下,与启发式方法相比,S2SDRL方法所需的车厢数更少。
消融实验部分,S2SDRL与3个不同结构模型的稳定性方面的对比。
图9,10,11,12四张图为一组,横轴为连续迭代次数,纵轴为5次实验的损失值均值。四张图分别对应Bin-12、Bin16、Bin-20、Bin-24。将5次实验的损失值求均值并计算每个点对应的标准差,得到四张图所示的误差带图。这四张图说明了四个模型的损失值,M3的误差波动范围很小而且相较平稳。
图8和图9,10,11,12都很好地说明了本发明提出的S2SDRL模型设计的合理性以及各模块对位置序列预测的有效作用。

Claims (1)

1.一种基于S2SDRL的多车协同装箱方法,其特征在于包括下述步骤:
定义:DRL全称为Deep Reinforcement Learning,即深度强化学习方法,是由深度学习部分作为强化学习部分的策略网络,由强化学习部分判断策略决策的动作下产生的状态价值,然后使用策略梯度方法更新策略网络的参数的方法,它能够使决策者越来越适应环境,获得更多奖励;S2S全称为序列到序列策略网络,即sequence to sequence(S2S)模型,作为强化学习的策略网络部分,由编码器模块、注意力机制模块和解码器模块组成。编码器模块嵌入所有货物的状态,以产生一个货物与其周围所有货物的位置关系,注意力机制模块突出某些货物的重要性,解码器部分嵌入对编码器的输出以获取的位置序列表征所有货物的动作;
步骤1:确定车辆和货物的特征属性,两者的属性在后续步骤中需要按照序列匹配,把货物装载到货箱中;本发明将将第k个车厢定义为Bk={(Lk,Wk,Hk,Vk)|k=1,2,3,...},每个属性依次对应货箱的长、宽、高、体积。货物的总数量记为N,货物定义为I={xi=(li,wi,hi,vi)|i=1,2,3,...,N},每个属性依次对应货物的长、宽、高、体积;
步骤2:确定目标函数和符合真实场景的约束;本发明对货物装载到车厢中的过程进行定义;通过定义目标和约束,可以使本发明的装箱环境与真实场景下装箱过程中的需求一致;
步骤2.1:定义目标函数;车厢和货物都是长方体,第k个装载货物的车厢记为Bk,使用CCk表示第k辆车装载的货物数量。给定一系列待装载货物I,第i个货物表示为(li,wi,hi)。基于装载位置序列的装箱问题的目标是寻找到一个有效的装载策略,将待装载的货物(li,wi,hi)装载到M个相同大小的车厢中,最大化所有车厢的平均装载空间利用率R,所以目标函数表示为:
上式中CCk表示装载到第k个车厢中的货物数量;上式的分子是N个货物的体积,M越小R越大。
步骤2.2:定义约束;本发明的约束如下:每个车厢以(0,0,0)为原点,式leftij,topij,behindij∈{0,1}表示货物朝向的唯一性,其中leftij=1表示货物i在在货物j的左边,topij=1表示货物i在货物j的下方,behindij=1表示货物i在货物j的后方。式δi1i2i3i4i5i6∈{0,1}表示货物装载方向的唯一性,式中δi1=1表示货物i的正面朝向为车厢的x正轴,δi2=1表示货物i的正面朝向为车厢的x负轴,δi3=1表示货物i的正面朝向为车厢的y正轴,δi4=1表示货物i的正面朝向为车厢的y负轴,δi5=1表示货物i的正面朝向为车厢z的正轴,δi6=1表示货物i的正面朝向为车厢z的负轴。当货物的摆放朝向确定后,货物被摆放到车厢后,得到新的长宽高表述为下式表示被放入的货物之间的长宽高不发生重叠。
下式表示装载的货物的长、宽、高都能被车厢所容纳,货物不会超出车厢的内部范围。
下式表示货物确定摆放朝向后被装载到车厢中时的长宽高。
式leftij+topij+behindij=1表示货物i在货物j的左方、上方或后方。
式δi1i2i3i4i5i6=1表示货物的朝向只能是六类货物朝向之一。
步骤3:构建S2S策略网络对货物进行排序;本发明使用S2S策略网络获取每个货物在所有货物排序中的位置。S2S策略网络的具体结构如下:
步骤3.1:编码器的一维卷积模块;将I中所有带有位置序列的物品信息输入到编码器的卷积模块;第i个货物经过m个卷积通道的一维卷积处理后的货物的输出值如下式中的ei,m所示:
其中,channelin是输入数据的通道数,channelout表示输出数据的通道数,是互相关操作。将所有货物的长宽高作为特征输入到一维卷积模块,此模块使用多个长度为1的卷积核处理特征,然后将结果进行转置操作,就变成了给每个特征进行升维操作,将每个特征分别用一个向量表示;所以一维卷积的计算过程可以看做嵌入层;
步骤3.2:编码器的双向LSTM模块;经过卷积模块提取每个装载物品的信息特征后,通过双向LSTM模块捕捉装载物品前后的装箱信息,在每个时间步的输出节点,均可以获得包含输入序列当前时刻的完整信息;双向LSTM模块的每个循环单元的正向计算有三步:
1、对前一段时间的短时记忆进行激活,公式如下:
2、对短时记忆和长时记忆进行更新和遗忘,公式如下:
3、通过输出门对遗忘门和更新门的记忆进行整理输出,公式如下:
yi=hi=σ(Wu·[hi-1,ei]+bu)×tanh(Ci)
其中,xi表示当前货物i经过一维卷积处理后的特征,hi表示当前货物i与已装载货物的关联信息(初始的状态h0=0),W和b为Bi-LSTM网络模型的参数,每个LSTM单元的遗忘门、更新门和输出门的激活函数σ为sigmoid函数;
反向计算只需要把正向的输入数据进行倒序输入到LSTM模块即可,我们记每次循环的隐藏输出为h′i;我们将每个隐藏层的两个正反向的输出结果拼接得到Y;正向LSTM的长时记忆初始值和终止值被记为c0和cn,记反向LSTM的长时记忆初始值和终止值被记为c′0和c′n
步骤3.3:注意力机制模块;如图4所示,hn和h′n是Bi-LSTM最后一次循环得到的值,二者拼接的值经过全连接层计算并被tanh激活函数激活,然后与Y进行拼接,再经过两层全连接层计算,得到Z。Z作为Attention部分与Y相乘得到编码器的输出AttentionOutput;
步骤3.4:解码器模块;如图5所示,本发明将AttentionOutput作为解码器部分的输入,输入到Bi-LSTM模块中,记U为正向LSTM的初始长时记忆,用cn和c′n的拼接做反向LSTM的初始长时记忆。将Bi-LSTM输出的结果输入到一层全连接层中,得到货物的初始装载概率;为了解决全连接层输出的装载概率含有非正数的值的问题,引入softplus激活函数,将所有货箱的装载概率值映射为不相等的非负数;Softplus激活函数计算得到DecoderOutput就是货物优先被装载的概率;本发明采用的softplus函数公式如下:
Softplus(x)=log(1+ex)
步骤4:构建基于策略梯度强化学习的多车装载过程;本发明将货物集合I中的货物的长宽高数据作为网络模型的输入,得到货物的装载概率,根据装载概率较大的货物优先被装载的原则,对装载概率降序排列可以得到所有货物的装载位置序列,把货物按照该序列依次装载到车厢中,直至所有的货物被装载完;本发明中,我们通过计算策略梯度的方法来优化策略网络,达到提升货箱的平均装载空间利用率的目的;
步骤4.1:分层装载策略;为得到货物在单个车厢内放置的坐标,确定装载到某个车厢中的货物有哪些,本发明提出了一种基于分层思想的装载策略,将待装载货物xi∈I中的部分货物要被装入到某车厢Bk中;单个箱子装载过程中,主要的操作对象有三个:货物xi=(li,wi,hi),车厢装载当前货物后的已装载空间(Lt,Wt,Ht,Vt),在当前层所有已装载货物的最大的长宽高(lt,wt,ht);基于分层思想的装载策略主要分为几步:
1、初始化一个Lt=Wt=Ht=0的临时车厢,此车厢临时装载的货物集合为货物数目c=0;货物在不装载入车厢时的临时装载空间的长、宽、高分别为lt=wt=ht=0;
2、当i=1时(表示被装载的为第一个货物时),如果车厢没有装载货物且满足装载条件,将当前装载序列中的第一个货物装进箱中,并记录第一个货物的信息到临时装载空间中,记录的内容为当前货物的长宽高信息放到货物临时记录(lt,wt,ht)中,并更新此货箱的临时装载空间,此货箱的已占用体积添加当前货物,已装载货物数量加一,并使用列表记录已装载的货物:
Vt=Vt-1+vi,c=c+1,CL[c]=i
3、将每一个被装载的货物与当前层的第一个货物做对比,若满足装箱条件,判断货物的摆放位置和摆放方式。货物的摆放位置和摆放朝向采用欧式距离判定:
待装载货物的长宽高与第一个被装载货物的长宽高差距越小,造成浪费的空间就越小,因为堆放相同尺寸的物品可以使(lt,wt,ht)与本层第一个货物的尺通过欧氏距离法确定货物摆放的位置和朝向,然后判断当前货物能否被装载入车厢中:如果hi>H-Ht,那么当前货物无法被装载入车厢中,并停止;如果当前货物能被装在到车厢中,将货物装载入车厢中。
4、判断能将货物装载入车厢后,需要将此货物记录入CL,并按照如下规则对临时装载空间进行更新。如果wi≤W-Wt且li≤L-Lt且hi≤H-Ht,那么Lt←Lt+li,lt←max(lt,li),wt←max(wt,wi),ht←max(ht,hi);如果wi≤W-Wt且li>L-Lt且hi≤H-Ht,那么Lt←li,Wt←Wt+wt,lt←li,wt←wi,hi←max(ht,hi);其他情况下,Ht←Ht+ht,Lt←li,Wt←wi,lt←li,wt←wi,ht←hi
5、最后,更新临时装载空间:lt=li,wt=wi,ht=hi,Lt=Lt+li
步骤4.2:多车协同装载策略;为确定装载到各个车厢中的货物有哪些,得到所有的车厢装载的货物和各个车厢的空间利用率,本发明设计了多车协同装载算法,将一批货物装载到数量不定的货车上,详细步骤如下;
1、设置初始集合:c=0,/>
2、按照装载次序IRPS和步骤4.1的分层装载策略确定装载到第一个车厢中的货物,并依次记录此车箱中的货物到CL中、每个货物体积与车厢体积的比值每个货物的优先装载概率p到PL中。c记录当前车厢内货物的总数量。将PL放入PLA中,CL放入CLA中;
3、上一个车厢装载完成后,设置c=0,将剩余货物按照次序装载到下一车厢中;
4、重复2-3直到所有货物都被装载完成;
步骤4.3:优化S2S策略网络流程;本发明采用序列到序列(S2S)网络模型作为策略网络π。所有货物的长宽高作为策略网络的输入,输出所有货物的优先装载概率πθ(·|x),θ表示网络模型的参数。每个货物需要装载动作才能被装载到车上,πθ(·|x)就是装载所有货物时所有动作的集合A,A的长度与货物数量相等;为确定装载次序,本发明做出如下规定,如果ai≥aj,(i>j and ai,aj∈A),则ai对应的货物xi优先装载;A的元素降序排列得到装载序列集合PS,PS是货物的集合,根据货物装入货箱的次序进行了排序;
在训练过程中,智能体使用带有基线的策略学习方法,智能体与环境交互后,得到每个车厢的价值集合RLS,货物数量CC,货物装载概率PLA及装载的货物信息CLA。下面将对智能体与环境的交互过程进行详细说明,主要分为七步:
1、计算单步奖励;所有车厢的初始状态是没有货物,也就是初始的环境状态是所有车厢为空的情况,记为S0。PS内的货物依次装载入多个车厢中,x0装载入B0后的环境状态记为S1,奖励用B0内所有货物的总体积表示,记为x1装载入车厢后状态变为S2然后货物按照分层装载策略依次装入B0中,直到B0无法装载货物为止,Bk中的第q个货物的奖励值被记为:
2、计算折扣奖励;所有货物的奖励值组成集合RLSk,q=rk,q。Bk中的第q个货物累计折扣概率记为RDk,q,由下式计算所得:
3、确定马尔可夫决策过程;在本发明中,智能体进行一次决策得到所有的装载序列,货物被装载到车厢后,生成了与车厢数量相同的马尔可夫决策序列,每条决策序列记录每个车厢内货物装载过程中的动作、状态和奖励,这组成了马尔科夫决策过程,定义为:
τ=(S0,A1,r1,S1,A2,r2,S2...)
4、确定策略网络更新方式;装载xi后环境状态的得分用状态价值函数表示,策略梯度方法的目标函数定义为:
5、确定策略网络参数估计方式;本发明根据下述方式计算梯度:在训练的每一步中,为获取状态价值的期望值,将所有货物经过分层装载策略和多车协同装载策略装入车厢后,计算当前状态下所有车厢的货物装载概率和对应的货物折扣价值的梯度,这个梯度被用于更新网络模型参数。梯度更新公式定义为:
上式中,k(k={1,2,...,M})表示第k个车厢,M表示已经装载了货物的车厢的数量,q(q={1,2,...,n})表示每一个车厢中装载的第q个货物,bv为第v次更新网络后的新的基准值;
6、更新基线;为了初始化相对合理的基准值b0,避免使用不合理的基准值而增加模型训练的时间,本发明采用使用随机搜索算法,模拟退火算法,蚁群优化算法,遗传算法,粒子群优化算法,差分进化算法和禁忌搜索算法求解多车装载问题,计算这七种启发式方法在四个场景下的空间利用率的平均值。基准值bv的更新公式定义为:
7、策略网络参数更新;使用Adam优化器对S2S策略网络的所有参数θ进行更新:
当在每个步骤更新网络参数时,可以使用来表达上述方程。AdamLr=0.001。/>是通过Adam算法对梯度进行优化之后的值;
步骤4.4:获取最优装载序列;本发明对最优化后的S2S策略网络的输出值从大到小排序,以确定货物的最优序列PS。
CN202310858941.8A 2023-07-13 2023-07-13 一种基于序列到序列策略网络深度强化学习模型的多车协同装箱方法 Pending CN116957437A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310858941.8A CN116957437A (zh) 2023-07-13 2023-07-13 一种基于序列到序列策略网络深度强化学习模型的多车协同装箱方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310858941.8A CN116957437A (zh) 2023-07-13 2023-07-13 一种基于序列到序列策略网络深度强化学习模型的多车协同装箱方法

Publications (1)

Publication Number Publication Date
CN116957437A true CN116957437A (zh) 2023-10-27

Family

ID=88454110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310858941.8A Pending CN116957437A (zh) 2023-07-13 2023-07-13 一种基于序列到序列策略网络深度强化学习模型的多车协同装箱方法

Country Status (1)

Country Link
CN (1) CN116957437A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117236821A (zh) * 2023-11-10 2023-12-15 淄博纽氏达特机器人系统技术有限公司 一种基于层次强化学习的在线三维装箱方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117236821A (zh) * 2023-11-10 2023-12-15 淄博纽氏达特机器人系统技术有限公司 一种基于层次强化学习的在线三维装箱方法
CN117236821B (zh) * 2023-11-10 2024-02-06 淄博纽氏达特机器人系统技术有限公司 一种基于层次强化学习的在线三维装箱方法

Similar Documents

Publication Publication Date Title
CN110909930A (zh) 一种面向冷库的移动式货架仓储系统货位分配方法
CN107506846B (zh) 一种基于多目标粒子群优化算法的车辆调度方法与装置
CN113222293B (zh) 一种智能立体仓库优化调度方法
CN116957437A (zh) 一种基于序列到序列策略网络深度强化学习模型的多车协同装箱方法
CN111007813B (zh) 一种基于多种群混合智能算法的agv避障调度方法
CN109800913B (zh) 一种提高包装危险品出入库效率的互通仓库铲车运行线路确定方法
CN108520327B (zh) 车载货物的装载方法及装置、计算机可读介质
CN105858044B (zh) 一种穿梭车与升降机结合的仓储系统优化调度方法
CN113537580B (zh) 一种基于自适应图学习的公共交通客流预测方法及系统
CN113240215B (zh) 一种仓储agv的调度方法、系统、存储介质及电子设备
Guo et al. A three-dimensional ant colony optimization algorithm for multi-compartment vehicle routing problem considering carbon emissions
CN111507644A (zh) 一种多点卸货约束的三维多容器装载方法
CN115081119B (zh) 一种列车装载的优化方法、装置、设备及可读存储介质
CN117251754A (zh) 一种计及动态时间包装的cnn-gru能耗预测方法
CN111860837A (zh) 装箱问题的处理方法、装置及计算机可读存储介质
Luo et al. A* guiding DQN algorithm for automated guided vehicle pathfinding problem of robotic mobile fulfillment systems
CN115545350A (zh) 综合深度神经网络与强化学习的车辆路径问题求解方法
CN100495434C (zh) 钢铁产品散装货运船舶积配载方法
CN108108883A (zh) 一种基于聚类算法的车辆调度网络弹性简化方法
CN111461395B (zh) 临时配送中心的选址方法和系统
Tian et al. Learning to multi-vehicle cooperative bin packing problem via sequence-to-sequence policy network with deep reinforcement learning model
CN113762563A (zh) 基于订单灰色关联分析的仓储货位优化布局方法及系统
CN112836846B (zh) 一种卷烟发货多库点多方向联运调度双层优化算法
CN114996781A (zh) 一种基于演员-评论家的二维不规则零件排样方法和系统
CN115409448A (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