CN113947348A - 一种订单分配方法及装置 - Google Patents
一种订单分配方法及装置 Download PDFInfo
- Publication number
- CN113947348A CN113947348A CN202111135512.5A CN202111135512A CN113947348A CN 113947348 A CN113947348 A CN 113947348A CN 202111135512 A CN202111135512 A CN 202111135512A CN 113947348 A CN113947348 A CN 113947348A
- Authority
- CN
- China
- Prior art keywords
- information
- order
- distributed
- order information
- reinforcement learning
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 102
- 230000002787 reinforcement Effects 0.000 claims abstract description 181
- 238000009826 distribution Methods 0.000 claims abstract description 140
- 238000012545 processing Methods 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 29
- 238000013528 artificial neural network Methods 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 230000007774 longterm Effects 0.000 abstract description 8
- 230000011218 segmentation Effects 0.000 abstract description 8
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000000875 corresponding effect Effects 0.000 description 175
- 230000003068 static effect Effects 0.000 description 57
- 238000004422 calculation algorithm Methods 0.000 description 45
- 238000010586 diagram Methods 0.000 description 35
- 230000008569 process Effects 0.000 description 24
- 238000012549 training Methods 0.000 description 22
- 230000009471 action Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 11
- 238000012360 testing method Methods 0.000 description 11
- 239000003795 chemical substances by application Substances 0.000 description 9
- 238000005457 optimization Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及人工智能领域中的订单分配方法及装置,其中,该方法包括:获取第一时刻的待分配订单信息和约束信息,约束信息用于对待分配订单信息对应的分配方案进行约束;其中,第一时刻的待分配订单信息包括上一时刻未分配的订单信息,及上一时刻与第一时刻之间的新增订单信息;通过第一强化学习模型,根据待分配订单信息和约束信息,确定是否对待分配订单信息进行分配;在确定对待分配订单信息进行分配的情况下,根据约束信息,确定待分配订单信息对应的分配方案。通过本申请,从长期视角对动态生成的订单进行自适应分割,从而保证动态生成的订单对应的整体分配方案更加合理。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种智能化的订单分配方法及装置。
背景技术
现实生活中很多场景(例如园区物流投递运输、外卖配送、打车订单分配等等),都可以看作动态取送货问题(Dynamic Pickup and Delivery Problem,DPDP)。求解DPDP问题是指针对动态生成的订单,按照订单需求分配合适的人员或车辆,以便以尽可能低的成本完成订单的取货和送货。
在现有技术中,以固定时间间隔将动态生成的订单分割为多个局部时间段内的订单,各局部时间段的时长相同,进而为每个局部时间段内的订单分配合适的人员或车辆;然而,各局部时间段对应的较优订单分配方案,并不能保证长期动态生成的订单对应的整体分配方案较优。
发明内容
有鉴于此,提出了一种订单分配方法、装置、存储介质及计算机程序产品。
第一方面,本申请的实施例提供了一种订单分配方法,包括:获取第一时刻的待分配订单信息和约束信息,所述约束信息用于对所述待分配订单信息对应的分配方案进行约束;其中,所述第一时刻的待分配订单信息包括上一时刻未分配的订单信息,及所述第一时刻与所述上一时刻之间的新增订单信息;通过第一强化学习模型,根据所述待分配订单信息和所述约束信息,确定是否对所述待分配订单信息进行分配;在确定对所述待分配订单信息进行分配的情况下,根据所述约束信息,确定所述待分配订单信息对应的分配方案。
基于上述技术方案,获取第一时刻的待分配订单信息和约束信息;通过第一强化学习模型,根据待分配订单信息和约束信息,确定是否对待分配订单信息进行分配;在确定对待分配订单信息进行分配的情况下,根据约束信息,确定待分配订单信息对应的分配方案。在一些示例中,第一时刻可以为预设时间段中的任一时刻,第一时刻的待分配订单信息包括上一时刻未分配的订单信息、及上一时刻与第一时刻之间的新增订单信息,这样,通过第一强化学习模型决策是否对第一时刻的待分配订单信息进行分配,从而从长期视角对预设时间段内动态生成的订单进行自适应分割,得到多个局部时间段内的订单,其中,局部时间段可以包括预设时间段中的一个或多个时刻,各局部时间段的时长可以不同,进而确定各局部时间段内订单对应的分配方案,从而保证预设时间段内动态生成的订单对应的整体分配方案更加合理。
根据第一方面,在所述第一方面的第一种可能的实现方式中,所述根据所述约束信息,确定所述待分配订单信息对应的分配方案,包括:通过第二强化学习模型,对所述待分配订单信息及所述约束信息进行迭代处理,确定所述待分配订单信息对应的分配方案。
基于上述技术方案,通过第二强化学习模型对第一时刻的待分配订单信息及约束信息进行迭代处理,确定第一时刻的待分配订单信息对应的分配方案;从而实现融合迭代算法与强化学习求解静态子问题,有效地加速迭代算法收敛,提高了求解效率,满足订单分配的时效性要求。
根据第一方面的第一种可能的实现方式,在所述第一方面的第二种可能的实现方式中,所述第二强化学习模型对应的策略网络为图神经网络。
基于上述技术方案,将图神经网络作为第二强化学习模型对应的策略网络,能够迁移从先前解决的静态子问题(即第一时刻的待分配订单信息及约束信息)中学习到的知识,并且不需要微调即可以推广到大规模的静态子问题,从而有效解决大规模的动态取送货问题。
根据第一方面的上述各种可能的实现方式,在所述第一方面的第三种可能的实现方式中,所述通过第二强化学习模型,对所述待分配订单信息及所述约束信息进行迭代处理,确定所述待分配订单信息对应的分配方案,包括:根据所述待分配订单信息及所述约束信息确定初始分配方案;根据所述第二强化学习模型确定各迭代回合对应的算子;通过所述各迭代回合对应的算子,得到所述各迭代回合对应的分配方案;根据目标函数,在所述各迭代回合对应的分配方案及所述初始分配方案中,选取所述待分配订单信息对应的分配方案。
基于上述技术方案,对于一个静态子问题(即第一时刻的待分配订单信息及约束信息),可以从一个初始解(即初始分配方案)开始,根据第二强化学习模型确定各迭代回合对应的最优算子,以对初始解进行改进,经过多次迭代回合之后,选取上述求解过程中得到的各迭代回合对应的改进解(即对应的分配方案)中的最优解作为该静态子问题的最终解,即确定待分配订单信息对应的最优分配方案。
根据第一方面或上述第一方面的各种可能的实现方式,在所述第一方面的第四种可能的实现方式中,所述第一强化学习模型对应的策略网络为深度Q网络(deep Qnetwork,DQN)。
根据上述第一方面的各种可能的实现方式,在所述第一方面的第五种可能的实现方式中,所述方法还包括:根据所述待分配订单信息对应的分配方案,得到奖励值;根据所述奖励值,对所述第一强化学习模型和所述第二强化学习模型进行调整。
基于上述技术方案,利用实际应用得到的第一时刻的待分配订单信息对应的分配方案,对第一强化学习模型及第二强化学习模型进行调整,提升第一强化学习模型及第二强化学习模型的性能,使得其所做出的决策越来越好。
根据第一方面或上述第一方面的各种可能的实现方式,在所述第一方面的第六种可能的实现方式中,所述待分配订单信息包括:待分配订单的装货地点、送货地点、运输时间、货物量中的至少一项;所述约束信息包括:可调度资源信息、仓库状态信息及交通状态信息中的至少一项。
根据上述第一方面的第六种可能的实现方式,在所述第一方面的第七种可能的实现方式中,所述可调度资源信息包括运输车辆的位置信息、运输车辆的剩余可装载容量、运输车辆的运输路径、运输人员的工作时间中的至少一项;所述仓库状态信息包括仓库的地址信息、仓库的排班信息、仓库的垛口数量中的至少一项;所述交通状态信息包括:路况信息或路网信息。
根据上述第一方面的第七种可能的实现方式,在所述第一方面的第八种可能的实现方式中,所述待分配订单包括多个订单;所述可调度资源包括多个资源;所述待分配订单信息对应的分配方案包括:第一订单与第一资源之间的对应关系,及调度所述第一资源处理所述第一订单的规划路径;其中,所述第一订单为所述多个订单的任一订单;所述第一资源为所述多个资源中的至少一个资源。
根据第一方面或上述第一方面的各种可能的实现方式,在所述第一方面的第九种可能的实现方式中,所述方法还包括:在确定不对所述待分配订单信息进行分配的情况下,将所述待分配订单信息存储在缓存池中。
基于上述技术方案,将第一时刻的待分配订单信息存储在缓存池中,以便等待下一时刻,与其他新增的订单信息一起,由第一强化学习模型决策是否进行分配。
第二方面,本申请的实施例提供了一种订单分配装置,包括:获取模块,用于获取第一时刻的待分配订单信息和约束信息,所述约束信息用于对所述待分配订单信息对应的分配方案进行约束;其中,所述第一时刻的待分配订单信息包括上一时刻未分配的订单信息,及所述第一时刻与所述上一时刻之间的新增订单信息;确定模块,用于通过第一强化学习模型,根据所述待分配订单信息和所述约束信息,确定是否对所述待分配订单信息进行分配;分配模块,用于在确定对所述待分配订单信息进行分配的情况下,根据所述约束信息,确定所述待分配订单信息对应的分配方案。
基于上述技术方案,获取第一时刻的待分配订单信息和约束信息;通过第一强化学习模型,根据待分配订单信息和约束信息,确定是否对待分配订单信息进行分配;在确定对待分配订单信息进行分配的情况下,根据约束信息,确定待分配订单信息对应的分配方案。在一些示例中,第一时刻可以为预设时间段中的任一时刻,第一时刻的待分配订单信息包括上一时刻未分配的订单信息、及上一时刻与第一时刻之间的新增订单信息,这样,通过第一强化学习模型,决策是否对第一时刻的待分配订单信息进行分配,从而从整体角度出发对动态生成的订单进行自适应分割,保证动态生成的订单对应的整体分配方案更加合理。
根据第二方面,在所述第二方面的第一种可能的实现方式中,所述分配模块,还用于通过第二强化学习模型,对所述待分配订单信息及所述约束信息进行迭代处理,确定所述待分配订单信息对应的分配方案。
基于上述技术方案,通过第二强化学习模型对第一时刻的待分配订单信息及约束信息进行迭代处理,确定第一时刻的待分配订单信息对应的分配方案;从而实现融合迭代算法与强化学习求解静态子问题,有效地加速迭代算法收敛,提高了求解效率,满足时效性要求。
根据第二方面的第一种可能的实现方式,在所述第二方面的第二种可能的实现方式中,所述第二强化学习模型对应的策略网络为图神经网络。
基于上述技术方案,将图神经网络作为第二强化学习模型对应的策略网络,能够迁移从先前解决的静态子问题中学习到的知识,并且不需要微调就可以推广到大规模的静态子问题,从而有效解决大规模的动态取送货问题。
根据上述第二方面的各种可能的实现方式,在所述第二方面的第三种可能的实现方式中,所述分配模块,还用于:根据所述待分配订单信息及所述约束信息确定初始分配方案;根据所述第二强化学习模型确定各迭代回合对应的算子;通过所述各迭代回合对应的算子,得到所述各迭代回合对应的分配方案;根据目标函数,在所述各迭代回合对应的分配方案及所述初始分配方案中,选取所述待分配订单信息对应的分配方案。
基于上述技术方案,对于一个静态子问题(即第一时刻的待分配订单信息及约束信息),可以从一个初始解开始,根据第二强化学习模型确定各迭代回合对应的最优算子来对初始解进行改进,经过多次迭代回合之后,选取上述求解过程中得到的各迭代回合对应的改进解中的最优解作为该静态子问题的最终解;从而确定待分配订单信息对应的最优分配方案。
根据第二方面或上述第二方面的各种可能的实现方式,在所述第二方面的第四种可能的实现方式中,所述第一强化学习模型对应的策略网络为深度Q网络DQN。
根据上述第二方面的各种可能的实现方式,在所述第二方面的第五种可能的实现方式中,所述装置还包括:调整模块,用于根据所述待分配订单信息对应的分配方案,得到奖励值;根据所述奖励值,对所述第一强化学习模型和所述第二强化学习模型进行调整。
基于上述技术方案,利用实际应用得到的数据,对第一强化学习模型及第二强化学习模型进行调整,提升第一强化学习模型及第二强化学习模型的性能,使得其所做出的决策越来越好。
根据第二方面或上述第二方面的各种可能的实现方式,在所述第二方面的第六种可能的实现方式中,所述待分配订单信息包括:待分配订单的装货地点、送货地点、运输时间、货物量中的至少一项;所述约束信息包括:可调度资源信息、仓库状态信息及交通状态信息中的至少一项。
根据上述第二方面的第六种可能的实现方式,在所述第二方面的第七种可能的实现方式中,所述可调度资源信息包括运输车辆的位置信息、运输车辆的剩余可装载容量、运输车辆的运输路径、运输人员的工作时间中的至少一项;所述仓库状态信息包括仓库的地址信息、仓库的排班信息、仓库的垛口数量中的至少一项;所述交通状态信息包括:路况信息或路网信息。
根据上述二方面的第七种可能的实现方式,在所述第二方面的第八种可能的实现方式中,所述待分配订单包括多个订单;所述可调度资源包括多个资源;所述待分配订单信息对应的分配方案包括:第一订单与第一资源之间的对应关系,及调度所述第一资源处理所述第一订单的规划路径;其中,所述第一订单为所述多个订单的任一订单;所述第一资源为所述多个资源中的至少一个资源。
根据第二方面或上述第二方面的各种可能的实现方式,在所述第二方面的第九种可能的实现方式中,所述分配模块,还用于:在确定不对所述待分配订单信息进行分配的情况下,将所述待分配订单信息存储在缓存池中。
基于上述技术方案,将第一时刻的待分配订单信息存储在缓存池中,以便等待下一时刻,与其他新增的订单信息一起,由第一强化学习模型决策是否进行分配。
第三方面,本申请的实施例提供了一种订单分配装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的订单分配方法。
第四方面,本申请的实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的订单分配方法。
第五方面,本申请的实施例提供了一种包含指令的计算机程序产品,当其在处理器上运行时,实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的订单分配方法。
上述第三方面、第四方面、第五方面及各种可能的实现方式的技术效果,参见上述第一方面及第一方面的各种可能的实现方式。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
图1示出根据本申请一实施例的强化学习的示意图。
图2(a)-图2(b)示出了相关技术中对动态生成的订单进行分割处理的示意图。
图3示出根据本申请一实施例的园区物流投递运输场景的示意图。
图4示出根据本申请一实施例的一种订单分配方法的流程图。
图5示出根据本申请一实施例的一种预设时间段的示意图。
图6示出根据本申请一实施例的通过对动态生成的订单进行自适应分割的示意图。
图7示出相关技术中以固定时间间隔对动态生成的订单进行分割的示意图。
图8示出根据本申请一实施例的另一种订单分配方法的流程图。
图9示出根据本申请一实施例的对动态生成的订单进行分配处理的示意图。
图10示出根据本申请一实施例的确定待分配订单信息对应的分配方案的方法流程图。
图11示出根据本申请一实施例的一种求解静态子问题的示意图。
图12示出根据本申请一实施例的一种处理动态生成的订单的示意图。
图13示出根据本申请一实施例的一种线上试点结果的示意图。
图14示出根据本申请一实施例的第二强化学习模型的有效性分析实验结果的示意图。
图15示出根据本申请一实施例的一种订单分配装置的结构示意图。
图16示出根据本申请一实施例的另一种订单分配装置的结构示意图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
为了便于对本申请实施例的理解,下面首先对本申请实施例中涉及的一些概念进行简单介绍。
1、强化学习(Reinforcement Learning,RL)
强化学习是机器学习中的一个领域。图1示出了根据本申请一实施例的强化学习的示意图。如图1所示,强化学习强调智能体(Agent)通过和环境的交互过程,获得最大化的预期收益,学习得到最优的行为方式。其中,智能体通常指能自主活动和自主决策的软件或者硬件实体,环境指智能体以外的外部条件;智能体通过对环境的观察,得到当前状态s,并按照一定的规则π决策一个动作a反馈给环境,环境将该动作a实行后所得到的奖励r(或惩罚)反馈给智能体;这样,通过多次的迭代,使智能体学会根据环境作出最优决策。强化学习和通常的监督式学习之间的区别在于:强化学习并不需要出现正确的输入/输出对,强化学习更加专注于在线规划,需要在探索(在未知的领域)和遵从(现有知识)之间找到平衡。
2、动态取送货问题
动态取送货问题是一类订单分配问题,现实生活中很多场景,例如,园区物流投递运输、外卖配送、打车等等都可以看作动态取送货问题,具有很高的市场价值。求解动态取送货问题是指针对动态生成的订单(例如货物投递需求订单、外卖订单、打车订单等),按照订单需求分配合适的运输人员或车辆,进而完成订单的取货和送货;其中,订单分配的目标一般为:在满足订单时效性要求的基础上,最小化人员或车辆运输成本,使得以尽可能低的成本完成订单。
动态取送货问题也可以看作车辆路径规划问题(Vehicle Routing Problem,VRP)的复杂变体,二者都是非确定性多项式难题(non-deterministic polynomial-Hard,NP-Hard)。
求解动态取送货问题通常可以分为两阶段:第一阶段是对动态生成的订单进行分割处理,得到多个局部时间段的订单,其中,每个局部时间段的订单均可以看出一个静态子问题;第二阶段是求解静态子问题,即确定每个局部时间段的订单对应的分配方案。
其中,关于第一阶段,通常以固定时间间隔将动态生成的订单分割为多个局部时间段内的订单;图2(a)-图2(b)示出了相关技术中对动态生成的订单进行分割处理的示意图。其中,图2(a)及图2(b)均以固定时间间隔对动态生成的订单进行分割,且图2(a)对应的时间间隔较小,图2(b)对应的时间间隔较长。以固定时间间隔对动态生成的订单进行分割易实现,但该固定时间间隔的具体数值较难设定;例如,分割动态生成的订单的固定时间间隔太小,会使得确定每个局部时间段的订单对应的分配方案过于频繁,导致车辆单次装载率降低,完成全部动态生成的订单的行驶总距离增加,成本上升;分割动态生成的订单的固定时间间隔过大,有利于提高车辆装载率,但会大大提高订单超时的风险,从而对后续生产环节产生影响。可见,以固定时间间隔将动态生成的订单分割为多个局部时间段内的订单,得到的各局部时间段对应的较优订单分配方案,并不能保证长期动态生成的订单对应的整体分配方案较优。
关于第二阶段,求解静态子问题常用的算法包括:精确解法、启发式算法、元启发算法等。其中,精确解法(例如,分支定界法和分支定价法)通过建立静态子问题的数学模型(例如,优化目标函数和约束方程),求解全局最优解;然而,受限于问题的NP-hard特性,对于较大规模和约束复杂的静态子问题,精确算法的求解非常耗时,无法满足实时性要求。启发式算法是根据问题特征设计简单的规则,进而搜索得到问题的满意解,常用的算法包括清除(Sweep)算法、最短加工时间(shortest Processing Time,SPT)算法、最长加工时间法则(Longest Processing Time,LPT)算法等等;然而启发式方法的本质是通过人工经验快速构造一个满意解,这种方式对于NP-hard问题难以保证所求解的质量,适用性大大降低。元启发算法是在启发式解法的基础上增加了迭代搜索机制,架构简单,通用性强,常用的算法包括遗传算法、禁忌搜索,迭代贪婪(Iterated Greedy)等;然而由于元启发算法是一个通用框架,在求解一特定静态子问题时存在搜索效率不高的缺陷,尤其针对较大规模的静态子问题,计算复杂度高,收敛缓慢,无法满足实时性要求。
为了解决上述以固定时间间隔将动态生成的订单分割为多个局部时间段内的订单,不能保证长期动态生成的订单对应的整体分配方案较优的技术问题,本申请提供了一种订单分配的技术方案(详细描述参见下文),可以对动态生成的订单进行自适应分割,从而更好地从长期视角优化动态取送货问题。
下面以园区物流投递运输为例,对本申请实施例提供的技术方案可适用的应用场景进行举例介绍。园区物流投递运输作为制造的关键环节,是指针对动态生成的订单,在满足生产、工艺和资源约束的条件下,合理高效地分派订单给车辆,以此保障制造的交付,加快物资的流动和降低运输成本;作为连接制造各环节的流程节点,物流投递效率的提高对于提升园区的制造运作效率具有非常重要的意义。
图3示出根据本申请一实施例的园区物流投递运输场景的示意图,该场景为某一园区,园区中包括多个仓库,在该园区内进行订单投放运输,从而将指定货物由一个仓库运输到另一个仓库。如图3所示,该场景中可以包括订单分配装置,仓库F1、F2、F3、F4、F5,车辆V1、V2,以及订单O1、O2、O3。
示例性地,该场景中还可以包括订单缓存池,订单缓存池用于存储园区的待分配的订单信息,还可以存储历史已完成订单信息等;订单分配装置可以包括该订单缓存池;订单缓存池也可以独立设置,订单分配装置可以与订单缓存池通信,从而获取订单缓存池中存储的待分配的订单信息。如图3所示,订单分配装置可以获取当前待分配订单O1、O2、O3的信息,其中,订单O1的信息为在9:10之前,将货物C1由仓库F1运输到仓库F2,订单O2的信息为在9:00之前将货物C3由仓库F5运输到仓库F3,订单O3的信息为在9:30之前将获取C2由仓库F4运输到仓库F3。
示例性地,订单分配装置可以与园区中各仓库及各车辆建立通信连接,从而实时获取订单分配相关信息;例如,如图3所示,订单分配装置可以获取园区内各车辆(如车辆V1、V2)的实时位置、剩余可装载容量等信息;再例如,订单分配装置还可以获取园区内仓库(如仓库F1、F2、F3、F4、F5)的位置、排班信息等等;此外,订单分配装置还可以获取园区的实时路况信息、路网信息等交通状态信息。
订单分配装置在获取上述信息之后,可以通过执行本申请实施例提供的订单分配方法,确定是否对待分配的订单O1、O2、O3进行分配,并在确定对待分配的订单O1、O2、O3进行分配的情况下,生成订单分配方案;其中,订单分配方案可以包括车辆与订单的匹配,及所规划的各车辆的运输路径。作为一个示例,订单分配装置可以根据待分配订单O1、O2、O3的信息、园区当前可用车辆的实时位置、剩余可装载容量、园区的路网信息、仓库F1、F2、F3、F4、F5的位置、排班信息等,通过执行本申请实施例提供的订单分配方法确定车辆V1执行订单O1,同时规划车辆V1的运输路径,即车辆V1先到仓库F2装载货物C1,然后到达仓库F1,并卸载货物C1;订单分配装置确定车辆V2执行订单O2及订单O3,同时规划车辆V2的运输路径,即车辆V2先到仓库F5装载货物C3,然后到达仓库F4装载货物C2,最后到达仓库F3,卸载货物C3及货物C2。
示例性地,上述订单分配装置可以为硬件、软件或软件和硬件的组合实现。示例性地,该订单分配装置可以是一个通用设备或者是一个专用设备;例如,该订单分配装置可以为台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,PDA)、移动手机、平板电脑、无线终端设备、嵌入式设备、智能车辆或其他具有数据处理功能的设备,或者为这些设备内的部件。示例性地,该订单分配装置还可以是具有处理功能的芯片或处理器,例如,该订单分配装置可以包括多个处理器;处理器可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。在本申请实施例中,不对该订单分配装置的类型进行限制。
需要说明的是,上述图3中应用场景仅以一个订单分配装置、五个仓库、两辆车辆、三个订单示出,应理解,这并不限定应用场景中订单分配装置、仓库、车辆、订单等的数量,应用场景中可以包括更多的订单分配装置、仓库、车辆、订单,以及其他的设备,此处不再示出。此外,本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,针对其他相似的或新的应用场景的出现,例如,外卖配送订单、维修工单、打车订单等等场景,本申请实施例提供的技术方案对于类似的技术问题同样适用。
下面对本申请实施例提供的订单分配方法进行详细介绍。
图4示出根据本申请一实施例的一种订单分配方法的流程图,该方法可以由上述图3所示的订单分配装置执行,如图4所述,该方法可以包括以下步骤:
步骤401、获取第一时刻的待分配订单信息和约束信息。
其中,第一时刻可以为预设时间段中的任一时刻,预设时间段可以包括多个时刻,其中,任意两个相邻时刻之间的时间间隔可以相同,也可以不同;示例性地,预设时间段中各时刻可以等间隔设置,图5示出根据本申请一实施例的一种预设时间段的示意图,如图5所示,时刻ti-1、ti、ti+1、ti+2...ti+n为预设时间内的多个时刻,且各时刻的时间间隔相同。其中,预设时间段的长度及相邻时刻的时间间隔的长度可以根据需求进行设定,对此不作限定;例如,在产生订单较多的预设时间段,可以设置较小的时间间隔;在产生订单较少的时间段,可以设置较大的时间间隔;例如,预设时间段可以为8:00-18:00,相邻时刻之间的时间间隔可以为10分钟;再例如,预设时间段为0:00-8:00,相邻时刻之间的时间间隔可以为1小时。
其中,第一时刻的待分配订单信息可以包括上一时刻未分配的订单信息,及上一时刻与第一时刻之间的新增订单信息。以预设时间段为8:00-18:00、相邻时刻之间的时间间隔为10分钟为例,若第一时刻为9:00,则上一时刻为8:50,则9:00的待分配订单信息可以包括8:50未分配的订单信息,及8:50到9:00之间新增的订单信息。
可以理解的是,若上一时刻进行了订单分配,则第一时刻的待分配订单信息仅包括上一时刻与第一时刻之间的新增订单信息。例如,若在8:50进行了订单分配,即8:50未分配的订单信息为空集,则9:00的待分配订单信息包括8:50到9:00之间新增的订单信息。
考虑到待分配订单的数量可以为多个,在待分配订单数量较多、而车辆有限的情况下,有些车辆可能被分配到多个订单,车辆需要按照订单分配装置指定的顺序执行该多个订单;因此,在某一时刻,对于同一车辆,需要执行的已分配的订单中可能包括一个或多个预排订单;其中,预排订单表示需要等待车辆执行完其他订单之后才可被执行的订单。例如,上述图3中,车辆V2需要执行订单O2及订单O3,其中,订单O3需要等待车辆V2到仓库F5装载货物C3之后才可被执行,因此,在车辆V2完成装载货物C3之前,订单03为预排订单。可以理解的是,随着时间的推移,预排订单按照预设顺序被车辆执行,同时,可能出现预排订单等待较长时间仍未被执行的情况;示例性地,第一时刻的待分配订单信息还可以包括等待时间较长的预排订单。这样,若确定对第一时刻的待分配订单信息进行分配,则可以重新确定该等到时间较长的预排订单的分配方案,从而满足该预排订单的时限要求。
示例性地,待分配订单信息可以包括:待分配订单的装货地点、送货地点、运输时间、货物量中的至少一项。其中,装货地点可以为货物当前所在仓库的位置;送货地点可以为上述货物需要运送到的仓库位置;运输时间可以包括最早装货时间、最晚装货时间、最早送达时间、最晚送达时间等等;货物量可以包括货物的重量、数量、尺寸、形状、类型等等。例如,对于上述图3中的待分配订单O1,装货地点为仓库F1,送货地点为仓库F2,最晚送达时间为9:10。
其中,约束信息用于对待分配订单信息对应的分配方案进行约束;示例性地,约束信息可以包括:可调度资源信息、仓库状态信息及交通状态信息中的至少一项。可以理解的是,一定区域内(如上述图3中园区)可调度资源、仓库状态及交通状态随着时间推移,而不断变化,因此,不同时刻的约束信息通常不同。
示例性地,可调度资源可以包括运输车辆、运输人员、运输无人机等等,可调度资源的数量可以为一个或多个。可调度资源信息可以包括:运输车辆的位置信息、运输车辆的剩余可装载容量、运输车辆的运输路径、运输人员的工作时间中的至少一项;例如,可调度资源可以为上述图3中的车辆V1与V2,其中,车辆V1的位置信息可以包括车辆V1在园区内的当前位置,车辆V1的剩余可装载容量可以包括车辆V1当前剩余可装载容量及未来剩余可装置容量(例如,对于正在执行订单的车辆,执行完当前订单后的剩余可装载容量)等;车辆V1的运输路径可以包括车辆V1正在执行当前订单的运输路径,还可以包括执行预排订单的规划路径等等;运输人员的工作时间可以包括司机的工作时间。
示例性地,仓库状态信息可以包括:仓库的地址信息、仓库的排班信息、仓库的垛口数量中的至少一项;其中,仓库的地址信息可以包括仓库在园区中的位置,例如,上述图3中,仓库F1、F2、F3、F4、F5在园区的位置;仓库的排班信息可以包括仓库的班次、装卸人员数量等等;例如,上述图3中,仓库F3具有三个班次,每个班次时长为8小时,各班次均有两名装卸人员;还可以包括当前或未来可用的装卸人员数量,例如,对于上述图3中的仓库F3,若当前时刻仓库F3的一名装卸人员均在作业,则当前可用的装卸人员数量为一名。仓库的垛口数量表示可以同时容纳的车辆;例如,上述图3中的仓库F3有两个垛口,即可以同时停靠两辆车;还可以包括当前或未来可用垛口数量,例如,对于上述图3中的仓库F3,若当前时刻仓库F3的两个垛口均有车辆,则当前可用垛口数量为零。
示例性地,交通状态信息可以包括:路况信息或路网信息。例如,订单分配装置可以通过电子地图获取园区的路网信息及实时路况信息。其中,路网信息可以包括装货地点与送货地点之间的道路、距离、通行方向(双向通行或单向通行)等信息,路况信息可以包括道路的拥堵程度、施工信息、预计通行时间等等。例如,上述图3中,交通状态信息可以包括仓库F2到F1之间的道路、距离及道路的拥堵程度等信息。
步骤402、通过第一强化学习模型,根据待分配订单信息和约束信息,确定是否对待分配订单信息进行分配。
该步骤中,第一强化学习模型以上述第一时刻的待分配订单信息和约束信息作为输入,通过对第一时刻的待分配订单信息和约束信息进行处理,确定是否对第一时刻的待分配订单信息进行分配。
可以理解的是,预设时间段内的各时刻均可以作为决策时刻,在实际应用中,到达任一时刻时,订单分配装置可以获取该时刻的待分配订单信息和约束信息,通过执行该步骤,决策是否对该时刻的待分配订单信息进行分配,如上述图5所示,在实心圆点对应的时刻(如图中时刻ti-1、ti+1等),订单分配装置决策不对该时刻的待分配订单信息进行分配;在空心圆点对应的时刻(如图中时刻ti、ti+3),订单分配装置决策对该时刻的待分配订单信息进行分配;其中,两个空心圆点所对应的时刻之间即为一个局部时间段(如图中时刻ti与ti+3之间的时间段),从而将预设时间段分割为多个局部时间段,且各局部时间段的时长可以不同。每一局部时间段内的待分配订单均可看作一个静态子问题,进而可以求解该静态子问题,确定各局部时间段内订单对应的分配方案。
其中,第一强化学习模型可以为经过训练后的智能体,示例性地,通过强化学习机制,第一强化学习模型可以学习到在不同供需状态(如可调度资源数量大于订单数量、可调度资源数量小于订单数量等等)、不同订单状态、不同可调度资源状态、不同仓库状态及不同交通状态下等多种环境下,决策是否对待分配信息进行分配的策略;进而,在实际应用中,可以利用训练后的第一强化学习模型,根据预设时间段内任一时刻的待分配订单信息和约束信息,在任一时刻决策是否对该时刻的待分配订单信息进行分配,从而从长期视角出发对动态生成的订单进行自适应分割,保证预设时间段内动态生成的订单对应的整体分配方案更加合理。
举例来说,第一强化学习模型可以学习不同订单状态下的策略,例如,若第一时刻与第一时刻的待分配订单的最晚送达时间的间隔较长时,则第一强化学习模型可以决策不对第一时刻的待分配订单信息进行分配,等待下一时刻其他新增的订单信息,以便进行合单;这样,第一强化学习模型可以在超时风险可控的范围内,自适应延长局部时间段的时长,从而更好地兼顾整体车辆运输成本和订单超时风险。再例如,若第一时刻的待分配订单的装货地点或卸货地点,与园区中其他仓库的位置相差较远,合单可能性较小,则第一强化学习模型可以决策对第一时刻的待分配订单信息进行分配,这样,第一强化学习模型可以对未来的订单信息进行预估,从而从长期视角出发作出更加合理的决策。
示例性地,第一强化学习模型可以包括策略网络,可以通过该策略网络决策是否对第一时刻的待分配订单信息进行分配;该策略网络的输入为第一时刻的待分配订单信息和约束信息;输出为对第一时刻的待分配订单信息进行分配的决策结果,或者不对待分配订单信息进行分配的决策结果。
作为一个示例,第一强化学习模型训练过程如下:初始化策略网络中参数,将训练数据集中时刻T1的待分配订单信息和约束信息输入到策略网络,策略网络根据时刻T1待分配订单信息和约束信息,使用决策策略,生成决策动作(即确定对时刻T1的待分配订单信息进行分配,或者确定不对时刻T1的待分配订单信息进行分配),订单分配装置执行该决策动作(即生成时刻T1的待分配订单信息对应的分配方案,或者不执行对时刻T1的待分配订单信息的分配),同时根据奖励函数得到决策策略对应的奖励值;第一强化学习模型根据该奖励值,对策略网络中的参数进行调整,调整的目标是最大化该奖励值,至此完成一次训练,同理,利用训练数据集中不同时刻的待分配订单信息和约束信息进行多次迭代训练,直到满足训练终止条件,得到训练后的第一强化学习模型;其中,训练终止条件可以包括训练的次数达到预设迭代次数、决策策略对应的奖励值超过预设阈值等等。
本申请实施例中,预设时间段内动态生成的订单的分配方案的优化目标可以包括:最小化预设时间段内各订单的车辆运输成本及订单总超时;因此,可以预设上述奖励函数,将T1时刻已完成订单所耗费的运输成本,和/或,T1时刻已完成订单的总超时,输入到该奖励函数,从而得到T1时刻的决策策略对应的奖励值,其中,T1时刻已完成订单的总超时可以与T1时刻的决策策略对应的奖励值负相关,T1时刻已完成订单所耗费的运输成本可以与T1时刻的决策策略对应的奖励值负相关。示例性地,T1时刻的决策策略对应的奖励值为T1时刻已完成订单所耗费的运输成本及T1时刻已完成订单的总超时的负值;其中,T1时刻已完成订单表示在T1时刻及T1时刻之前,已经确定对应的订单分配方案的一个或多个订单;可以理解的是,在T1时刻已完成订单由可调度资源执行完成后,即可计算得到T1时刻已完成订单所耗费的运输成本,及T1时刻已完成订单的总超时;示例性地,运输成本可以由已完成订单所需要的调度资源数量、调度资源的运输距离、调度资源的装载率中的至少一项确定;已完成订单的总超时可以由各订单的实际完成时间与各订单预设运输时间的差值确定,例如,若一订单的实际完成时间在该订单预设的最晚送达时间之前,则该订单的超时为负值;若一订单的实际完成时间晚于该订单预设的最晚送达时间,则该订单的超时为正值;T1时刻对应的各已完成订单的超时之和即为T1时刻已完成订单的总超时。这样,通过上述迭代训练,以最大化该奖励值为目标,不断对策略网络中的参数进行调整,得到训练后的第一强化学习模型。
在应用阶段,订单分配装置可以利用训练后的第一强化学习模型,决策是否对第一时刻的待分配订单信息进行分配。
作为一个示例,第一强化学习模型的策略网络可以获取第一时刻的待分配订单信息和约束信息,策略网络决策是否对第一时刻的待分配订单信息进行分配,若策略网络决策对第一时刻的待分配订单信息进行分配,则订单分配装置可以执行下述步骤403,否则,不对第一时刻的待分配订单信息进行分配。可以理解的是,训练后的第一强化学习模型不再关心决策对应的奖励值,只需针对第一时刻的待分配订单信息和约束信息,按照学习到的自适应分割策略做出决策即可。这样,在预设时间段中的各时刻,利用该训练后的第一强化学习模型决策是否对各时刻的待分配订单信息进行分配,从而将预设时间段自适应分割为多个局部时间段,每个局部时间段的时长可以不同,这样,通过进一步对各局部时间段内的订单进行分配,可以保证预设时间段内各订单的运输成本及订单总超时均较小。
示例性地,上述第一强化学习模型的训练和应用可以交替进行;作为一个示例,对第一强化学习模型训练一段时间,满足训练终止条件后,可以固定策略网络中的参数,得到训练后的第一强化学习模型,进而利用该训练后的第一强化学习模型分别决策是否对第一时刻的待分配订单信息进行分配;当应用一段时间后,待分配订单信息及约束信息可能发生变化,因此,可以利用变换后的待分配订单信息及约束信息,对第一强化学习模型进行训练,进一步调整策略网络的参数,例如,可以利用第一时刻的待分配订单信息及约束信息,及第一时刻已完成订单对应的完成成本及第一时刻已完成订单的总超时,对策略网络的参数进行调整。这样,利用实际应用得到的数据,对第一强化学习模型进行训练,从而不断调整优化策略网络的参数,提升第一强化学习模型的性能,使得其所做出的决策越来越好。
示例性地,第一强化学习模型对应的策略网络可以为深度Q网络(deep q-network,DQN)。例如,可以为基于Q学习算法的多层感知机(multi-layer perceptron,MLP)、基于Q学习算法的卷积神经网络(convolutional neural networks,CNN)、基于Q学习算法的递归神经网络(recursive neural network)、基于Q学习算法的循环神经网络(recurrent neural network,RNN)等模型中的任意一种,还可以为DQN的变种,例如双DQN(Double DQN),竞争DQN(Dueling DQN)等等,此处不做限制。
示例性地,可以将上述第一时刻的待分配订单信息和约束信息作为训练后的DQN的输入,DQN通过学习到的策略,决策是否对第一时刻的待分配订单信息进行分配,并输出该决策结果;示例性地,DQN输出的决策结果可以以Q值的方式呈现,例如,确定对第一时刻的待分配订单进行分配的情况下,可以输出第一Q值,在确定不对第一时刻的待分配订单进行分配的情况下,可以输出第二Q值,其中,第一Q值与第二Q值为不同数值,第一Q值与第二Q值可以预先设定。
步骤403、在确定对待分配订单信息进行分配的情况下,根据约束信息,确定待分配订单信息对应的分配方案。
该步骤中,在上述第一强化学习模型决策对第一时刻的待分配订单信息进行分配的情况下,订单分配装置可以根据第一时刻的约束信息及待分配订单信息,确定对应的分配方案。
在一种可能的实现方式中,在上述第一强化学习模型决策不对第一时刻的待分配订单信息进行分配的情况下,订单分配装置可以将第一时刻的待分配订单信息存储在缓存池中。例如,可以将第一时刻的待分配订单信息存储在上述图3所示的订单缓存池中,以等待下一时刻第一强化学习模型的决策。可以理解的是,在下一时刻,基于第一强化学习模型的决策,第一时刻的待分配订单信息可能被分配,也可能不被分配;若第一时刻的待分配订单信息不被分配,则继续存储在缓存池中,进一步等到之后时刻的决策,直到某一时刻第一强化学习模型决策对该待分配订单进行分配。
图6示出根据本申请一实施例的通过对动态生成的订单进行自适应分割的示意图,如图6所示,新订单Oi+1表示时刻ti与ti+1之间新增的订单;在ti-1时刻,ti-1时刻与其上一时刻之间新增的订单Oi-1存储在订单缓存池中,第一强化学习模型根据新订单Oi-1的状态信息,及时刻ti-1的约束信息,决策时刻ti-1不对订单进行分配,即不释放订单缓存池中的订单Oi-1;在ti时刻,当前订单缓存池中包括ti-1时刻未分配的订单Oi-1及ti-1与ti时刻之间新增的订单Oi,第一强化学习模型根据订单Oi及Oi-1的状态信息,及ti时刻的约束信息,决策ti时刻不对订单进行分配,即不释放订单缓存池中的订单Oi-1及Oi;在ti+1时刻,当前订单缓存池中包括ti时刻未分配的订单Oi-1、Oi及ti+1与ti时刻之间新增的订单Oi+1,第一强化学习模型根据订单Oi-1、Oi及Oi+1的状态信息(还可以包括等待时间较长的预排订单Oremain的状态信息),及ti+1时刻的约束信息,决策ti+1时刻对订单进行分配,即释放订单缓存池中的订单Oi-1、Oi及Oi+1(还可以包括订单Oremain),进而确定释放的订单对应的分配方案。这样,第一强化学习模型在每个时刻决策是否释放订单缓存池中的订单,若在一时刻决策释放订单缓存池中的订单,则释放的所有订单即组成一个新的静态子问题,从而通过第一强化学习模型学习到的策略,将动态生成的订单自适应的分割为多个静态子问题。
图7示出相关技术中以固定时间间隔对动态生成的订单进行分割的示意图,如图7所示,时刻ti-1、ti、ti+1以固定的时间间隔设置,在ti-1时刻,释放订单缓存池中所存储的时刻ti与ti+1之间新增的订单Oi-1,进而确定释放的订单Oi-1对应的分配方案;在ti时刻,释放订单缓存池中所存储的时刻ti-1与ti之间新增的订单Oi,进而确定释放的订单Oi对应的分配方案;在ti+1时刻,释放订单缓存池中所存储的时刻ti与ti+1之间新增的订单Oi+1,进而确定释放的订单Oi+1对应的分配方案。
对比上述6及图7,在图7中,在每一时刻均确定该时刻的待分配订单的对应的分配方案,该方式机械地按照固定时间间隔将预设时间段内动态生成的订单分割为独立的多个静态子问题,仅考虑了各静态子问题的局部较优;图6中所示利用第一强化学习模型实现对动态生成的订单的自适应分割,从而保证预设时间段内动态生成的订单对应的整体分配方案更加合理。
示例性地,约束信息用于对求解静态子问题的过程进行约束,举例来说,上述图3中,仓库F3具有两名装卸人员,若仓库F3的两名装卸人员均在作业,则其余车辆即使到达仓库F3,也无法立即进行装货或卸货。再例如,仓库F3有两个垛口,即可以同时停靠两辆车,在某一时刻,若仓库F3两个垛口均有车辆,则其余车辆即使到达仓库F3,也无法立即进行装货或卸货。再例如,园区中由仓库F2到F1的最近道路为单行道,这样,在车辆由仓库F1驶往仓库F2时,需要绕行其他道路,不能经过该单行道;再例如,在装卸货物时,需要满足车辆运输的后进先出(Last In First Out,LIFO)、货物先入后出等等规则。这样,订单分配装置基于约束信息,求解静态子问题,从而得到待分配订单信息对应的较优的分配方案。
示例性地,订单分配装置可以基于精确解法、启发式算法、元启发算法、基于学习的解法等现有求解静态子问题的算法,即对第一时刻的待分配订单信息及约束信息进行处理,确定第一时刻的待分配订单信息对应的分配方案。其中,第一时刻的待分配订单信息对应的分配方案可以包括:第一订单与第一资源之间的对应关系,及调度第一资源处理第一订单的规划路径;其中,第一订单为第一时刻的多个待分配订单中的任一订单;第一资源为第一时刻的多个可调度资源中的至少一个资源。
本申请实施例中,获取第一时刻的待分配订单信息和约束信息;通过第一强化学习模型,根据待分配订单信息和约束信息,确定是否对待分配订单信息进行分配;在确定对待分配订单信息进行分配的情况下,根据约束信息,确定待分配订单信息对应的分配方案。在一些示例中,第一时刻可以为预设时间段中的任一时刻,第一时刻的待分配订单信息包括上一时刻未分配的订单信息、及上一时刻与第一时刻之间的新增订单信息,这样,通过第一强化学习模型决策是否对第一时刻的待分配订单信息进行分配,从而从长期视角对预设时间段内动态生成的订单进行自适应分割,得到多个局部时间段内的订单,其中,局部时间段可以包括预设时间段中的一个或多个时刻,各局部时间段的时长可以不同,进而确定各局部时间段内订单对应的分配方案,从而保证预设时间段内动态生成的订单对应的整体分配方案更加合理。
进一步地,考虑到实际应用中,每个静态子问题的规模不同(如订单数量不同、可调度资源数量不同),订单数量和可调度资源数量可能非常大,在求解静态子问题时,不仅需要得到一个高质量的解(如运输成本低、订单超时少),而且需要在可接受的时间内快速求解。本申请实施例中,针对不同规模的静态子问题,采用基于强化学习的迭代搜索方式,可以快速求解静态子问题,满足时效性要求。
图8示出根据本申请一实施例的另一种订单分配方法的流程图,该方法可以由上述图3所示的订单分配装置执行,如图8所述,该方法可以包括以下步骤:
步骤801、获取第一时刻的待分配订单信息和约束信息。
该步骤可参照上述步骤401,此处不再赘述。
步骤802、通过第一强化学习模型,根据待分配订单信息和约束信息,确定是否对待分配订单信息进行分配。
该步骤可参照上述步骤402,此处不再赘述。
步骤803、在确定对待分配订单信息进行分配的情况下,通过第二强化学习模型,对待分配订单信息及约束信息进行迭代处理,确定待分配订单信息对应的分配方案。
示例性地,第二强化学习模型的输入端可以与上述第一强化学习模型的输出端相连。
该步骤中,在上述第一强化学习模型确定对第一时刻的待分配订单信息进行分配的情况下,第一时刻的待分配订单即为一个局部时间段的待分配订单,可以看作一个静态子问题,进而通过第二强化学习模型求解该静态子问题,生成第一时刻的待分配订单信息对应的分配方案,其中,分配方案可以包括待分配订单与可调用资源的对应关系及可调用资源的规划路径等。示例性地,在上述第一强化学习模型决策不对第一时刻的待分配订单信息进行分配的情况下,订单分配装置可以将第一时刻的待分配订单信息存储在缓存池中,等待下一时刻,由第一强化学习模型继续决策是否对其进行分配。
示例性地,图9示出根据本申请一实施例的对动态生成的订单进行分配处理的示意图,如图9所示,第一强化学习模型在各时刻(如ti-1、ti、ti+1)决策是否释放订单缓存池中的订单,例如,在ti时刻,第一强化学习模型根据订单Oi及Oi-1的状态信息,及ti时刻的约束信息,决策不释放订单缓存池中的订单;在ti+1时刻,第一强化学习模型决策释放订单缓存池中的订单,即将ti+1时刻的待分配订单信息及约束信息传递至第二强化学习模型,第二强化学习模型对ti+1时刻的待分配订单信息和约束信息进行迭代处理,从而确定ti+1时刻的待分配订单信息对应的分配方案。
本申请实施例中,通过第二强化学习模型对第一时刻的待分配订单信息及约束信息进行迭代处理,确定第一时刻的待分配订单信息对应的分配方案;从而实现融合迭代算法与强化学习求解静态子问题,有效加速迭代算法收敛,提高了求解效率,满足时效性要求。
示例性地,迭代算法可以包括元启发算法,基于元启发算法,订单分配装置可以从一个初始解出发,通过多个迭代回合,对该初始解进行进一步的改进,由于很难提前知道,在每一迭代回合中哪个算子对初始解的改进是最有效的;因此,为了尽可能加快改进初始解的速度,不同于使用人工经验来选择各迭代回合算子的方式,本申请实施例中融合了元启发算法与强化学习,通过强化学习的方式训练第二强化学习模型,使得第二强化学习模型学习到选取每一迭代回合对应的最优的算子来改进初始解的策略,进而利用训练后的第二强化学习模型快速选择各迭代回合对应的算子,有效提高元启发算法的迭代搜索效率,且可以保证迭代回合对应的改进解的质量逐渐优化。
图10示出根据本申请一实施例的一种确定待分配订单信息对应的分配方案的方法流程图,如图10所示,可以包括以下步骤:
步骤1001、根据第一时刻的待分配订单信息及约束信息确定初始分配方案。
其中,第一时刻的待分配订单信息及约束信息可以看作一个静态子问题,初始分配方案即为该静态子问题的初始解;示例性地,可以通过现有方式确定初始分配方案,也可以根据经验值确定上述初始分配方案等等,对此不作限定。
步骤1002、根据第二强化学习模型确定各迭代回合对应的算子。
其中,算子用于对静态子问题的解进行改进,其中,第一迭代回合对应的算子用于对上述静态子问题的初始解进行改进,从而得到第一迭代回合对应的改进解;第二迭代回合对应的算子用于对第一迭代回合对应的改进解进行进一步改进,从而得到第二迭代回合对应的改进解,以此类推。例如,算子可以包括:交换(Swap)算子、插入(Insert)算子、翻转(Inverse)算子等等。
其中,迭代回合的数量可以预先设定;还可以预先设定最大运算时长,迭代回合数量即为到达该最大运算时长时所经历的迭代回合的总数。示例性地,各迭代回合对应的算子数量可以为一个或多个;每一迭代回合可以包括一步或多个步迭代,其中,每步迭代可以对应于一个算子。
第二强化学习模型可以为经过训练后的智能体。示例性地,通过强化学习机制,第二强化学习模型可以学习到在不同供需状态(如可调度资源数量大于订单数量、可调度资源数量小于订单数量等等)、不同订单状态、不同可调度资源状态、不同仓库状态及不同交通状态下等多种环境下,决策各迭代回合对应的算子的策略;进而,在实际应用中,经过每一迭代回合后,环境(例如,可调用资源状态等)可能会发出变化;第二强化学习模型,可以基于执行各迭代回合时的环境,利用学习到的策略,确定各迭代回合对应的算子。
步骤1003、通过各迭代回合对应的算子,得到各迭代回合对应的分配方案。
该步骤中,针对第一迭代回合,通过上述确定的第一迭代回合对应的算子,对上述初始解进行改进,从而得到第一迭代回合对应的改进解,即第一迭代回合对应的分配方案;针对第一迭代回合之后的任一迭代回合,通过上述确定的该迭代回合对应的算子,对其前一迭代回合对应的改进解进行改进,从而得到该迭代回合对应的改进解,即该迭代回合对应的分配方案;以此类推,执行完所有迭代回合,即可得到各迭代回合对应的分配方案。
步骤1004、根据目标函数,在各迭代回合对应的分配方案及初始分配方案中,选取待分配订单信息对应的分配方案。
目标函数用于确定分配方案的预估运输成本,可以根据需要设置目标函数,对此不作限定;示例性地,目标函数的输入可以为分配方案,输出为各分配方案对应的整体运输距离、运输时间等,从而可以确定各迭代回合对应的分配方案的目标函数值,及初始分配方案的目标函数值中,进而可以选择最小目标函数值对应的分配方案,作为待分配订单信息对应的分配方案。
本申请实施例中,对于一个静态子问题,订单分配装置可以从一个初始解开始,确定各迭代回合对应的算子来对初始解进行改进,经过多次迭代回合之后,选取上述求解过程中得到的各迭代回合对应的改进解中的最优解作为该静态子问题的最终解(即待分配订单信息对应的分配方案);从而将待分配订单分配给最合适的可调度资源,并可以规划出可调度资源的运输路线。
图11示出根据本申请一实施例的一种求解静态子问题的示意图,如图11所示,从一个初始解出发,通过第二强化学习模型,确定各迭代回合对应的算子,通过多个迭代回合对应的算子对初始解进行改进(例如提升或重构),得到最终的改进解,其中,该最终的改进解即为各迭代回合对应的改进解及初始解中的最优解。相对于人工选择算子的方式,通过第二强化学习模型,自主决策各迭代回合对应算子,从而实现快速有效选择不同算子来改进初始解,可以在相同时间内得到质量更好的改进解;对于较大规模的静态子问题,仍然可以快速得到较优的改进解,满足时效性要求。
示例性地,第二强化学习模型可以包括策略网络,可以通过该策略网络决策通过迭代搜索求解静态子问题的过程中各迭代回合对应的算子。该策略网络的输入为执行每一迭代回合时的环境;输出可以为每个迭代回合中对应的算子,例如,对于包括多步迭代的迭代回合,可以输出一个算子组合,该算子组合中包括该迭代回合各步对应的算子。
示例性地,第二强化学习模型对应的策略网络可以为图神经网络(Graph NeuralNetwork,GNN)。其中,图神经网络是一种用于处理图结构的数据的深度神经网络,示例性地,图神经网络可以包括基于卷积的图神经网络、基于门机制的图神经网络、基于注意力的图神经网络、基于残差连接的图神经网络等等。
示例性地,可以对静态子问题进行图结构建模;其中,图结构可以包括多个节点及任意两个节点之间的连边,如上述图3所示,园区中的各仓库,及各仓库之间的路径即构成了图结构。图结构的数据包括各节点的特征信息,例如,各仓库的状态信息等等。这样,对静态子问题进行图结构建模,能够有效适应不同规模的静态子问题。
由于每个静态子问题的规模不同,不同订单数量和可用车辆数量的组合数量非常巨大,无法为每种组合都训练一个单独的模型,因此,本申请实施例中对静态子问题进行图结构建模,并采用图神经网络作为策略网络,图神经网络能够迁移从先前解决的静态子问题中学习到的知识,并且不需要微调就可以推广到大规模的静态子问题,从而有效解决大规模的动态取送货问题。
作为一个示例,第二强化学习模型训练过程如下:初始化策略网络中参数,将训练数据集中初始环境(例如,得到时刻T1的待分配订单信息和约束信息的初始解后的环境)输入到策略网络,策略网络根据该初始环境,生成第一决策动作(即第一迭代回合对应的算子),订单分配装置执行该第一决策动作后(即通过第一迭代回合对应的算子对初始解进行改进,得到第一迭代回合对应的改进解),环境随之发生变化,同时根据奖励函数得到该第一决策动作对应的奖励值;第二强化学习模型根据该奖励值,对策略网络中的参数进行调整;然后,利用调整后的策略网络根据上述变化后的环境,使用决策策略,生成第二决策动作(即第二迭代回合对应的算子),订单分配装置执行该第二决策动作后(即通过第二迭代回合对应的算子对上述第一迭代回合对应的改进解进行改进,并得到第二迭代回合对应的改进解),环境随之发生变化,同时根据奖励函数得到该第二决策动作对应的奖励值,第二强化学习模型根据该奖励值,对策略网络中的参数进行调整;以此类推,进行多次迭代训练,不断调整策略网络中的参数,直到满足训练终止条件,得到训练后的第二强化学习模型;其中,训练终止条件可以包括训练的次数达到预设迭代次数、决策动作对应的奖励值超过预设阈值等等。
上述训练过程中,可以将每个迭代回合相比于上一个迭代回合,对于初始解改进的程度作为当前迭代回合内所有决策动作的奖励。示例性地,上述奖励函数的输入可以为当前迭代回合对应的分配方案的完成成本与前一迭代回合对应的分配方案的完成成本的差值,和/或,当前迭代回合对应的分配方案的超时时间与前一迭代回合对应的分配方案的超时时间的差值,输出为当前迭代回合内所有决策动作的奖励值。例如,第一个迭代回合后,得到对应的改进解的运输成本为10(成本越小越好),第二个迭代回合后,得到对应的改进解的运输成本为2,则第二个迭代回合内的所有动作的奖励值为10-2=8。这样,通过上述迭代训练,以最大化该奖励值为目标,不断对策略网络中的参数进行调整,得到训练后的第二强化学习模型。
在应用阶段,订单分配装置可以利用训练后的第二强化学习模型,基于学习到的策略,确定求解静态子问题的过程中各迭代回合对应的算子。可以理解的是,在应用阶段,训练后的第二强化学习模型不再关心决策对应的奖励值,只需针对执行各迭代回合时的环境,按照学习到的策略做出决策即可。
示例性地,上述第二强化学习模型的训练和应用可以交替进行;作为一个示例,对第二强化学习模型训练一段时间,满足训练终止条件后,可以固定策略网络中的参数,得到训练后的第二强化学习模型,进而利用该训练后的第二强化学习模型决策求解各静态子问题的过程中,各迭代回合对应的算子,以便求取各静态子问题的最优解;当应用一段时间后,待分配订单信息及约束信息可能发生变化,因此,可以利用变换后的待分配订单信息及约束信息,对第二强化学习模型进行训练,进一步调整策略网络的参数,这样,利用实际应用得到的数据,对第二强化学习模型进行训练,从而不断调整优化策略网络的参数,提升第二强化学习模型的性能,使得其所做出的决策越来越好。
示例性地,可以同时对第一强化学习模型和第二强化学习模型进行训练,其中,训练过程可以在相对较小的任务集上展开,之后进行泛化处理,从而处理更大规模的数据。例如,可以根据第一时刻的待分配订单信息对应的分配方案,得到奖励值;根据该奖励值,对第一强化学习模型和第二强化学习模型进行调整。这样,利用训练后的第一强化学习模型和第二强化学习模型对动态生成的订单进行处理,得到更加合理的整体分配方案。
图12示出根据本申请一实施例的一种处理动态生成的订单的示意图,如图12所示,订单缓存池中包括新增订单及超期预排订单(即等待时间较长的预排订单),在预设时间段的每一时刻,订单分配装置利用训练后的第一强化学习模型,确定是否释放订单缓存池的订单,在确定不释放订单的情况下,订单缓存池的订单等待下一时刻的决策;在确定释放订单的情况下,将该释放的订单看作一个静态子问题;订单分配装置针对该静态子问题获取初始解,进而利用训练后的第二强化学习模型,确定各迭代回合对应的算子,通过多个迭代回合对应的算子对初始解进行迭代改进,得到最优解,基于该最优解,将订单分配给指定的车辆,以便车辆按照规划路径执行所分配的订单。
针对工业动态取送货问题的大规模、多局部极值和严格时效性的挑战,本申请实施例提供了有效的订单分配方法;在一些示例中,获取第一时刻的待分配订单信息和约束信息;通过第一强化学习模型,根据待分配订单信息和约束信息,确定是否对待分配订单信息进行分配;在确定对待分配订单信息进行分配的情况下,通过第二强化学习模型,对待分配订单信息及约束信息进行迭代处理,确定待分配订单信息对应的分配方案。在一些示例中,第一时刻可以为预设时间段中的任一时刻,第一时刻的待分配订单信息包括上一时刻未分配的订单信息、及上一时刻与第一时刻之间的新增订单信息,这样,通过第一强化学习模型决策是否对第一时刻的待分配订单信息进行分配,从而从长期视角对预设时间段内动态生成的订单进行自适应分割,得到多个局部时间段内的订单,其中,局部时间段可以包括预设时间段中的一个或多个时刻,各局部时间段的时长可以不同;进而通过第二强化学习模型进行迭代搜索,快速确定各局部时间段内订单对应的较优分配方案,满足时效性要求,保证了预设时间段内动态生成的订单对应的整体分配方案更加合理;同时,可以适用于大规模的动态取送货问题。
为了进一步说明本申请实施例提供的订单分配方法,以下将提供一个应用例进行具体介绍。
(1)在A地区仓库群的实际生产数据集,对本申请实施例提供的订单分配方法进行了实验,同时进行了实际上线试点,结果均显示了本申请实施例提供的订单分配方法的优越性。
实际生产数据集:基于2019年9月到2020年3月实际订单数据抽样得到不同订单规模及不同车辆数量的测试例,数据集规模分别为50个订单/5辆车,300个订单/20辆车与1000个订单/50辆车,各规模的测试例有10个。
对比算法:如表1所示,Online表示当前线上的启发式算法;自适应大领域搜索算法(Adaptive Large Neighborhood Search,ALNS)是最具有代表性的元启发算法;端到端强化学习算法(End ToEnd Reinforcement Learning)E2ERL是端到端分配订单给车辆的算法;低层次预测(Low-level+PRED)是基于对未来订单预测的元启发算法;Our表示本申请实施例中的订单分配方法。
优化目标是最小化订单总超时与平均车辆行驶距离,表1中数据为上述各对比算法运行10次的均值,每个算法运行限时10分钟。
表1示出了基于A地区仓库群的实际生产数据集的测试结果;如表1所示,表中数据为同规模所有测试例的平均值。
表1-基于A地区仓库群的实际生产数据集的测试结果
通过上述表1可以看出,基于本申请实施例的订单分配方法,在数据规模为50及300时,总超时与其他相关算法相同,但车辆平均行驶距离明显小于其他算法;同时,在数据规模为1000时,本申请实施例中订单分配方法的总超时及车辆平均行驶距离均明显小于其他算法,由此可见,本申请实施例的订单分配方法远优于线上和其他对比的算法,尤其是针对较大规模的数据,仍旧能够达到较好的效果。
(2)线上试点结果
在某供应链的订单调度系统中部署了本申请实施例的订单分配方法,进行实际的试点运行。为了比较的公平性,控制在线测试中涉及的车辆和节点(如工厂和仓库)是相同的。
图13示出根据本申请一实施例的一种线上试点结果的示意图,如图13所示,总结了从2020年11月到2021年1月的结果。每月每个订单的超时时间分别为2308.22秒、1985.14秒和1701.25秒,每个订单的车辆平均运输距离分别为148.3米、177.1米和204.5米。计算结果表明,与当前线上部署算法相比,在每个订单车辆运输距离相近的情况下,本申请实施例的订单分配方法的平均订单超时时间分别减少了26.3%和14.3%。这些结果表明,本申请实施例的订单分配方法在实际部署中可以达到较好的优化目标。
(3)有效性分析实验
将本申请实施例中的第一强化学习模型与固定时间间隔切割的方法进行对比,实验结果如表2所示,通过第一强化学习模型有效地提高了整体优化性能。
表2-第一强化学习模型的有效性分析实验结果
图14示出根据本申请一实施例的第二强化学习模型的有效性分析实验结果的示意图,如图14所示,将本发明的第二强化学习模型(即图中RL actions)与随机挑选算法(即图中Random actions)的方法进行对比,第二强化学习模型能有效地加速算法收敛,提高搜索效率。
为了验证方法的泛化性,将本申请实施例中的第一强化学习模型及第二强化学习模型在小规模进行训练,接着在大规模数据集上进行测试,实验结果如表3所示,可以看到基于本申请实施例中的第一强化学习模型及第二强化学习模型的优化结果稳定,鲁棒性好。
表3-泛化性实验结果
基于上述方法实施例的同一发明构思,本申请的实施例还提供了一种订单分配装置,该订单分配装置用于执行上述方法实施例所描述的技术方案。例如,可以执行上述图4或图8所示的各步骤。
图15示出根据本申请一实施例的一种订单分配装置的结构示意图;如图15所示,该订单分配装置可以包括:获取模块1501,用于获取第一时刻的待分配订单信息和约束信息,所述约束信息用于对所述待分配订单信息对应的分配方案进行约束;其中,所述第一时刻的待分配订单信息包括上一时刻未分配的订单信息,及所述第一时刻与所述上一时刻之间的新增订单信息;确定模块1502,用于通过第一强化学习模型,根据所述待分配订单信息和所述约束信息,确定是否对所述待分配订单信息进行分配;分配模块1503,用于在确定对所述待分配订单信息进行分配的情况下,根据所述约束信息,确定所述待分配订单信息对应的分配方案。
本申请实施例中,获取第一时刻的待分配订单信息和约束信息;通过第一强化学习模型,根据待分配订单信息和约束信息,确定是否对待分配订单信息进行分配;在确定对待分配订单信息进行分配的情况下,根据约束信息,确定待分配订单信息对应的分配方案。在一些示例中,第一时刻可以为预设时间段中的任一时刻,第一时刻的待分配订单信息包括上一时刻未分配的订单信息、及上一时刻与第一时刻之间的新增订单信息,这样,通过第一强化学习模型决策是否对第一时刻的待分配订单信息进行分配,从而从长期视角对预设时间段内动态生成的订单进行自适应分割,得到多个局部时间段内的订单,其中,局部时间段可以包括预设时间段中的一个或多个时刻,各局部时间段的时长可以不同,进而确定各局部时间段内订单对应的分配方案,从而保证预设时间段内动态生成的订单对应的整体分配方案更加合理。
在一种可能的实现方式中,所述分配模块,还用于通过第二强化学习模型,对所述待分配订单信息及所述约束信息进行迭代处理,确定所述待分配订单信息对应的分配方案。
在一种可能的实现方式中,所述第二强化学习模型对应的策略网络为图神经网络。
在一种可能的实现方式中,所述分配模块1503,还用于:根据所述待分配订单信息及所述约束信息确定初始分配方案;根据所述第二强化学习模型确定各迭代回合对应的算子;通过所述各迭代回合对应的算子,得到所述各迭代回合对应的分配方案;根据目标函数,在所述各迭代回合对应的分配方案及所述初始分配方案中,选取所述待分配订单信息对应的分配方案。
在一种可能的实现方式中,所述第一强化学习模型对应的策略网络为深度Q网络DQN。
在一种可能的实现方式中,所述装置还包括:调整模块,用于根据所述待分配订单信息对应的分配方案,得到奖励值;根据所述奖励值,对所述第一强化学习模型和所述第二强化学习模型进行调整。
在一种可能的实现方式中,所述待分配订单信息包括:待分配订单的装货地点、送货地点、运输时间、货物量中的至少一项;所述约束信息包括:可调度资源信息、仓库状态信息及交通状态信息中的至少一项。
在一种可能的实现方式中,所述可调度资源信息包括运输车辆的位置信息、运输车辆的剩余可装载容量、运输车辆的运输路径、运输人员的工作时间中的至少一项;所述仓库状态信息包括仓库的地址信息、仓库的排班信息、仓库的垛口数量中的至少一项;所述交通状态信息包括:路况信息或路网信息。
在一种可能的实现方式中,所述待分配订单包括多个订单;所述可调度资源包括多个资源;所述待分配订单信息对应的分配方案包括:第一订单与第一资源之间的对应关系,及调度所述第一资源处理所述第一订单的规划路径;其中,所述第一订单为所述多个订单的任一订单;所述第一资源为所述多个资源中的至少一个资源。
在一种可能的实现方式中,所述分配模块1503,还用于:在确定不对所述待分配订单信息进行分配的情况下,将所述待分配订单信息存储在缓存池中。
上述实施例中,订单分配装置及其各种可能的实现方式的技术效果及具体描述可参见上述订单分配方法,此处不再赘述。
需要说明的是,应理解以上订单分配装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调度的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调度软件的形式实现,部分模块通过硬件的形式实现。
本申请的实施例还提供了一种订单分配装置,包括:处理器以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述实施例中的方法。示例性地,可以执行上述图4、图8或图10所示的方法。
本申请实施例不限定该订单分配装置的类型。该订单分配装置可以硬件,软件或软件和硬件的组合实现。
示例性地,该订单分配装置可以包括硬件模块或软件模块,例如,可以包括上述图15中所述的一个或多个模块。
图16示出根据本申请一实施例的另一种订单分配装置的结构示意图,如图16所示,该订单分配装置可以包括:处理器1601,通信线路1602,存储器1603以及通信接口1604。
处理器1601可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路1602可包括一通路,在上述组件之间传送信息。
通信接口1604,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(Radio Access Network,RAN),无线局域网(wireless local areanetworks,WLAN)等。例如,在一个示例中,可以通过通信接口1604与车辆、仓库等通信,从而获取仓库状态信息或车辆状态信息等。
存储器1603可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路1602与处理器相连接。存储器也可以和处理器集成在一起。本申请实施例提供的存储器通常可以具有非易失性。其中,存储器1603用于存储执行本申请方案的计算机执行指令,并由处理器1601来控制执行。处理器1601用于执行存储器1603中存储的计算机执行指令,从而实现本申请上述实施例中提供的方法。示例性地,可以执行上述图4、图8或图10所示方法的相应流程。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器1601可以包括一个或多个CPU,例如图16中的CPU0和CPU1。
在具体实现中,作为一种实施例,订单分配装置可以包括多个处理器,例如图16中的处理器1601和处理器1607。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,订单分配装置还可以包括输出设备1605和输入设备1606。输出设备1605和处理器1601通信,可以以多种方式来显示信息。例如,输出设备1605可以是液晶显示器(liquID crystal display,LCD),发光二级管(light emittingdiode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备1606和处理器1601通信,可以以多种方式接收用户的输入。例如,输入设备1606可以是鼠标、键盘、触摸屏设备或传感设备等。
作为一个示例,结合图16所示的订单分配装置,图15中的获取模块1501可以由图16中的通信接口1604来实现,图15中的确定模块1502及分配模块1503可以由图16中的处理器1601来实现。
本申请的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在处理器中运行时,所述处理器执行上述方法。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RandomAccess Memory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(Electrically Programmable Read-Only-Memory,EPROM或闪存)、静态随机存取存储器(Static Random-Access Memory,SRAM)、便携式压缩盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能盘(Digital Video Disc,DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(Local Area Network,LAN)或广域网(WideArea Network,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(Field-ProgrammableGate Array,FPGA)或可编程逻辑阵列(Programmable Logic Array,PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机、服务器或其它可编程数据订单分配装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据订单分配装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。用户需要使用本申请实施例的方法来处理订单分配等DPDP问题时,可以通过本地计算机上远程访问上述通用计算机、专用计算机、服务器等算力更强的电子设备,来实现订单的分配,例如,用户可以将动态订单实时传输到远程服务器,远程服务器根据本申请的方法动态分配接收到的订单,再将分配方案实时或间歇性地发送给用户,以供用户根据分配方案进行订单的分配。本申请不限制用户的本地计算机远程访问上述通用计算机、专用计算机、服务器等算力更强的电子设备的具体方式,示例性地,可以是用户本地安装了专用于远程连接的客户端软件,也可以是用户通过浏览网页、访问网址等方式进行远程连接。应理解,本申请提供的方法、装置(系统)可以以云服务等形式提供给用户使用。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据订单分配装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据订单分配装置、或其它设备上,使得在计算机、其它可编程数据订单分配装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据订单分配装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或ASIC(Application SpecificIntegrated Circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (19)
1.一种订单分配方法,其特征在于,包括:
获取第一时刻的待分配订单信息和约束信息,所述约束信息用于对所述待分配订单信息对应的分配方案进行约束;其中,所述第一时刻的待分配订单信息包括上一时刻未分配的订单信息,及所述上一时刻与所述第一时刻之间的新增订单信息;
通过第一强化学习模型,根据所述待分配订单信息和所述约束信息,确定是否对所述待分配订单信息进行分配;
在确定对所述待分配订单信息进行分配的情况下,根据所述约束信息,确定所述待分配订单信息对应的分配方案。
2.根据权利要求1所述的方法,其特征在于,所述根据所述约束信息,确定所述待分配订单信息对应的分配方案,包括:
通过第二强化学习模型,对所述待分配订单信息及所述约束信息进行迭代处理,确定所述待分配订单信息对应的分配方案。
3.根据权利要求2所述的方法,其特征在于,所述第二强化学习模型对应的策略网络为图神经网络。
4.根据权利要求2或3所述的方法,其特征在于,所述通过第二强化学习模型,对所述待分配订单信息及所述约束信息进行迭代处理,确定所述待分配订单信息对应的分配方案,包括:
根据所述待分配订单信息及所述约束信息确定初始分配方案;
根据所述第二强化学习模型确定各迭代回合对应的算子;
通过所述各迭代回合对应的算子,得到所述各迭代回合对应的分配方案;
根据目标函数,在所述各迭代回合对应的分配方案及所述初始分配方案中,选取所述待分配订单信息对应的分配方案。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述第一强化学习模型对应的策略网络为深度Q网络DQN。
6.根据权利要求2-5中任一项所述的方法,其特征在于,所述方法还包括:
根据所述待分配订单信息对应的分配方案,得到奖励值;
根据所述奖励值,对所述第一强化学习模型和所述第二强化学习模型进行调整。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述待分配订单信息包括:待分配订单的装货地点、送货地点、运输时间、货物量中的至少一项;所述约束信息包括:可调度资源信息、仓库状态信息及交通状态信息中的至少一项。
8.根据权利要求7所述的方法,其特征在于,所述可调度资源信息包括运输车辆的位置信息、运输车辆的剩余可装载容量、运输车辆的运输路径、运输人员的工作时间中的至少一项;所述仓库状态信息包括仓库的地址信息、仓库的排班信息、仓库的垛口数量中的至少一项;所述交通状态信息包括:路况信息或路网信息。
9.一种订单分配装置,其特征在于,包括:
获取模块,用于获取第一时刻的待分配订单信息和约束信息,所述约束信息用于对所述待分配订单信息对应的分配方案进行约束;其中,所述第一时刻的待分配订单信息包括上一时刻未分配的订单信息,及所述第一时刻与所述上一时刻之间的新增订单信息;
确定模块,用于通过第一强化学习模型,根据所述待分配订单信息和所述约束信息,确定是否对所述待分配订单信息进行分配;
分配模块,用于在确定对所述待分配订单信息进行分配的情况下,根据所述约束信息,确定所述待分配订单信息对应的分配方案。
10.根据权利要求9所述的装置,其特征在于,所述分配模块,还用于通过第二强化学习模型,对所述待分配订单信息及所述约束信息进行迭代处理,确定所述待分配订单信息对应的分配方案。
11.根据权利要求10所述的装置,其特征在于,所述第二强化学习模型对应的策略网络为图神经网络。
12.根据权利要求10或11所述的装置,其特征在于,所述分配模块,还用于:根据所述待分配订单信息及所述约束信息确定初始分配方案;根据所述第二强化学习模型确定各迭代回合对应的算子;通过所述各迭代回合对应的算子,得到所述各迭代回合对应的分配方案;根据目标函数,在所述各迭代回合对应的分配方案及所述初始分配方案中,选取所述待分配订单信息对应的分配方案。
13.根据权利要求9-12中任一项所述的装置,其特征在于,所述第一强化学习模型对应的策略网络为深度Q网络DQN。
14.根据权利要求10-13中任一项所述的装置,其特征在于,所述装置还包括:调整模块,用于根据所述待分配订单信息对应的分配方案,得到奖励值;根据所述奖励值,对所述第一强化学习模型和所述第二强化学习模型进行调整。
15.根据权利要求9-14中任一项所述的装置,其特征在于,所述待分配订单信息包括:待分配订单的装货地点、送货地点、运输时间、货物量中的至少一项;所述约束信息包括:可调度资源信息、仓库状态信息及交通状态信息中的至少一项。
16.根据权利要求15所述的装置,其特征在于,所述可调度资源信息包括运输车辆的位置信息、运输车辆的剩余可装载容量、运输车辆的运输路径、运输人员的工作时间中的至少一项;所述仓库状态信息包括仓库的地址信息、仓库的排班信息、仓库的垛口数量中的至少一项;所述交通状态信息包括:路况信息或路网信息。
17.一种订单分配装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令时实现权利要求1-8中任意一项所述的方法。
18.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1-8中任意一项所述的方法。
19.一种包含指令的计算机程序产品,其特征在于,当其在处理器上运行时,实现如权利要求1-8中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111135512.5A CN113947348A (zh) | 2021-09-27 | 2021-09-27 | 一种订单分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111135512.5A CN113947348A (zh) | 2021-09-27 | 2021-09-27 | 一种订单分配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113947348A true CN113947348A (zh) | 2022-01-18 |
Family
ID=79329204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111135512.5A Pending CN113947348A (zh) | 2021-09-27 | 2021-09-27 | 一种订单分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113947348A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114723125A (zh) * | 2022-04-01 | 2022-07-08 | 华侨大学 | 一种结合深度学习和多任务优化的城际车订单分配方法 |
CN115495859A (zh) * | 2022-09-19 | 2022-12-20 | 上海交通大学 | 一种基于遗传算法的仓网规划算法 |
CN116187611A (zh) * | 2023-04-25 | 2023-05-30 | 南方科技大学 | 一种多智能体路径规划方法及终端 |
TWI828105B (zh) * | 2022-04-01 | 2024-01-01 | 國立陽明交通大學 | 一種物流處理系統及其方法 |
CN117541345A (zh) * | 2023-11-08 | 2024-02-09 | 杭州一喂智能科技有限公司 | 车辆订单发布方法、装置、电子设备和计算机可读介质 |
-
2021
- 2021-09-27 CN CN202111135512.5A patent/CN113947348A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114723125A (zh) * | 2022-04-01 | 2022-07-08 | 华侨大学 | 一种结合深度学习和多任务优化的城际车订单分配方法 |
TWI828105B (zh) * | 2022-04-01 | 2024-01-01 | 國立陽明交通大學 | 一種物流處理系統及其方法 |
CN115495859A (zh) * | 2022-09-19 | 2022-12-20 | 上海交通大学 | 一种基于遗传算法的仓网规划算法 |
CN115495859B (zh) * | 2022-09-19 | 2023-11-03 | 上海交通大学 | 一种基于遗传算法的仓网规划方法 |
CN116187611A (zh) * | 2023-04-25 | 2023-05-30 | 南方科技大学 | 一种多智能体路径规划方法及终端 |
CN117541345A (zh) * | 2023-11-08 | 2024-02-09 | 杭州一喂智能科技有限公司 | 车辆订单发布方法、装置、电子设备和计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113947348A (zh) | 一种订单分配方法及装置 | |
Hwang et al. | Q (λ) learning-based dynamic route guidance algorithm for overhead hoist transport systems in semiconductor fabs | |
US10853144B2 (en) | Rules based decomposition of tasks for resource allocation | |
JP6823136B2 (ja) | 継続的配達 | |
CN106134136B (zh) | 计算针对广域网上的数据传送的长期调度 | |
CN108846623B (zh) | 基于多目标蚁群算法的整车物流调度方法及装置、存储介质、终端 | |
CN112567399A (zh) | 用于路由优化的系统和方法 | |
US11270583B2 (en) | Traffic control for autonomous vehicles | |
Balaji et al. | Orl: Reinforcement learning benchmarks for online stochastic optimization problems | |
Wadhwa et al. | Optimized task scheduling and preemption for distributed resource management in fog-assisted IoT environment | |
Karimi et al. | Task offloading in vehicular edge computing networks via deep reinforcement learning | |
Wang et al. | A reinforcement learning approach for online service tree placement in edge computing | |
Bozanta et al. | Courier routing and assignment for food delivery service using reinforcement learning | |
Ghosal et al. | A deep deterministic policy gradient based network scheduler for deadline-driven data transfers | |
Zhang et al. | Dynamic vehicle routing with random requests: A literature review | |
Kavuk et al. | Order dispatching for an ultra-fast delivery service via deep reinforcement learning | |
Farahani et al. | Online multimodal transportation planning using deep reinforcement learning | |
Huang et al. | 6G-empowered offloading for realtime applications in multi-access edge computing | |
Liu et al. | Towards a robust meta-reinforcement learning-based scheduling framework for time critical tasks in cloud environments | |
Shingne et al. | Heuristic deep learning scheduling in cloud for resource-intensive internet of things systems | |
Zamiri Marvizadeh et al. | Entropy-based dispatching for automatic guided vehicles | |
Tadumadze et al. | Assigning orders and pods to picking stations in a multi-level robotic mobile fulfillment system | |
US20220397403A1 (en) | System and method for determining a route for a multi-depot vehicle network | |
CN116996941A (zh) | 基于配网云边端协同的算力卸载方法、装置及系统 | |
Farahani et al. | Tackling uncertainty in online multimodal transportation planning using deep reinforcement learning |
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 |