CN114219276A - 一种仓储物流的仿真方法、装置、设备及存储介质 - Google Patents
一种仓储物流的仿真方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114219276A CN114219276A CN202111521885.6A CN202111521885A CN114219276A CN 114219276 A CN114219276 A CN 114219276A CN 202111521885 A CN202111521885 A CN 202111521885A CN 114219276 A CN114219276 A CN 114219276A
- Authority
- CN
- China
- Prior art keywords
- simulation
- order
- simulated
- goods
- executed
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 408
- 238000000034 method Methods 0.000 title claims abstract description 139
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000009826 distribution Methods 0.000 claims abstract description 121
- 238000007619 statistical method Methods 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims description 59
- 238000004806 packaging method and process Methods 0.000 claims description 35
- 238000010586 diagram Methods 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 9
- 241000531116 Blitum bonus-henricus Species 0.000 claims description 5
- 235000008645 Chenopodium bonus henricus Nutrition 0.000 claims description 5
- 238000007405 data analysis Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000005538 encapsulation Methods 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 abstract description 11
- 230000006870 function Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004904 shortening Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/067—Enterprise or organisation modelling
-
- 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
- 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
- G06Q10/0835—Relationships between shipper or supplier and carriers
- G06Q10/08355—Routing 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
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06Q10/0875—Itemisation or classification of parts, supplies or services, e.g. bill of materials
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Theoretical Computer Science (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种仓储物流的仿真方法、装置、设备及存储介质,涉及计算机技术领域,用于通过对仓储物流的仿真分析,来减少货物订单的履行成本和满足客户的多样化需求。该方法包括:按照预设的订单下发策略对生成的至少一个仿真配货订单进行下发,得到至少一个待执行订单;根据各个仿真物流车的状态信息分别为至少一个待执行订单分配一辆选定仿真物流车,根据至少一个待执行订单中各个货物的位置信息生成至少一个待执行订单各自对应的规划路径,调用各辆选定仿真物流车按照各自对应的规划路径进行仿真取货;执行完至少一个仿真配货订单后,记录并统计分析至少一个仿真配货订单的仿真数据,生成实际仓库的仿真统计分析结果。
Description
技术领域
本申请涉及计算机技术领域,提供一种仓储物流的仿真方法、装置、设备及存储介质。
背景技术
随着互联网技术以及电子商务的发展,越来越多的消费者喜欢进行网上购物,进而,促使了物流行业的大力发展,且消费者的消费需求也正逐渐向多样化和个性化方向发生转变,与此同时,各个企业接收到的货物订单也呈现出“多品种、小批量、多批次、高时效”的特点。其中,在各个企业向消费者寄送货物的过程中,对货物订单进行仓储任务分配,是这些企业的货物供应链中至关重要的一环,但是,传统的人力仓储任务分配方案在进行仓储任务分配时,由于是通过人工的方式在仓库中进行找货拣货,因此,存在劳动效率低下、运营维护困难等问题,进而,使得货物订单的履行成本增加且服务质量难以得到保证,从而,最终对企业的竞争力产生影响。显然,传统的人力仓储任务分配方案已无法满足当前客户的多样化需求。
发明内容
本申请实施例提供一种仓储物流的仿真方法、装置、设备及存储介质,用于通过对仓储物流的仿真分析,来减少货物订单的履行成本和满足客户的多样化需求。
一方面,提供一种仓储物流的仿真方法,所述方法包括:
根据实际仓库的仿真仓库中各个货物的特征信息和设定的订单生成策略,生成至少一个仿真配货订单,各个货物的特征信息包括位置信息和数量信息;
按照预设的订单下发策略下发所述至少一个仿真配货订单,得到至少一个待执行订单;
根据各个仿真物流车的状态信息分别为所述至少一个待执行订单分配一辆选定仿真物流车,根据所述至少一个待执行订单中各个货物的位置信息生成所述至少一个待执行订单各自对应的规划路径,调用各辆选定仿真物流车按照各自对应的规划路径进行仿真取货,记录各辆选定仿真物流车在仿真取货过程中产生的仿真数据;
执行完所述至少一个仿真配货订单后,统计分析所述至少一个仿真配货订单的仿真数据,生成所述实际仓库的仿真统计分析结果。
在一种可能的实施方式中,所述方法还包括:
识别输入的实际仓库的仓库布局图,获得所述实际仓库的建筑布局信息,所述建筑布局信息包括所述实际仓库中各个实际建筑元素的位置信息;
根据所述建筑布局信息生成与所述实际仓库的真实建筑布局相同的仿真建筑布局;
响应对所述仿真仓库的各个仿真元素进行的仿真元素添加操作,在所述仿真建筑布局中添加所述仿真仓库的各个仿真元素得到所述实际仓库的仿真仓库,所述仿真仓库的各个仿真元素与所述实际仓库的各个真实元素一一对应。
在一种可能的实施方式中,若所述仿真仓库设置起始区域、封装区域和等待区域,则根据所述至少一个待执行订单中各个货物的位置信息生成所述至少一个待执行订单各自对应的规划路径,具体包括:
确定所述至少一个待执行订单的每个待执行订单中各个货物的位置信息,以及各个等待区域中仿真物流车的数量;
根据所述起始区域、所述封装区域、所述至少一个待执行订单的每个待执行订单中各个货物的位置信息以及各个等待区域中仿真物流车的数量生成所述至少一个待执行订单各自对应的规划路径。
在一种可能的实施方式中,若所述仿真仓库还包括与等待区域对应的装载区域,则所述根据所述起始区域、所述封装区域、所述至少一个待执行订单的每个待执行订单中各个货物的位置信息以及各个等待区域中仿真物流车的数量生成所述至少一个待执行订单各自对应的规划路径,包括:
针对所述至少一个待执行订单中的每个待执行订单,执行:
确定当前待执行订单的各个货物中与所述起始区域距离最近的第一货物、与所述封装区域距离最近的第二货物;
确定所述第一货物与所述第二货物是否相同;
若确定所述第一货物与所述第二货物相同,则根据所述起始区域、所述第一货物的装载区域和所述封装区域生成所述当前待执行订单对应的规划路径。
在一种可能的实施方式中,所述方法还包括:
若确定所述第一货物与所述第二货物不同,则针对所述当前待执行订单的各个货物,执行:
确定当前货物的装载区域与所述当前待执行订单的未被规划路径的各个货物的装载区域之间的距离;
根据确定出的各个距离确定所述当前货物的下一个货物;
确定所述当前货物的下一个货物是否为所述当前待执行订单的最后一个货物;
若确定所述当前货物的下一个货物不为所述当前待执行订单的最后一个货物,则将所述当前货物加入所述当前待执行订单的取货序列中,将所述下一个货物确定为当前货物,执行所述确定当前货物的装载区域与所述当前待执行订单的未被规划路径的各个货物的装载区域之间的距离的步骤;
若确定所述当前货物的下一个货物是所述当前待执行订单的最后一个货物,则根据所述起始区域、所述当前待执行订单的取货序列中的各个货物的装载区域和所述封装区域生成所述当前待执行订单对应的规划路径。
在一种可能的实施方式中,所述根据确定出的各个距离确定所述当前货物的下一个货物,包括:
根据确定出的各个距离以及所述当前待执行订单的各个货物的等待区域中仿真物流车的数量确定从所述当前货物的装载区域分别到所述当前待执行订单的未被规划路径的各个货物的装载区域进行取货的时长;
根据确定出的各个时长确定所述当前货物的下一个货物。
在一种可能的实施方式中,所述根据各个仿真物流车的状态信息分别为所述至少一个待执行订单分配一辆选定仿真物流车,包括:
根据各个仿真物流车的状态信息从各个仿真物流车中选取处于空闲状态的至少一辆可用仿真物流车,所述空闲状态包括未充电状态且未排队等待状态;
根据所述至少一辆可用仿真物流车的剩余电量以及所述至少一个待执行订单中各个待执行订单的生成时间,为所述至少一个待执行订单各自分配一辆选定仿真物流车。
在一种可能的实施方式中,所述调用各辆选定仿真物流车按照各自对应的规划路径进行仿真取货,包括:
针对各辆选定仿真物流车,执行:
确定当前选定仿真物流车的当前装载区域的下一个装载区域是否存在其它选定仿真物流车正在进行取货;
若确定所述下一个装载区域存在其它选定仿真物流车正在进行取货,则确定所述当前选定仿真物流车前往的等待区域,并向所述当前选定仿真物流车发出等待指令,以指示所述当前选定仿真物流车前往确定的等待区域中排队等待;
若确定所述下一个装载区域未存在其它选定仿真物流车正在进行货物装载,则向所述当前选定仿真物流车发送载货指令,以指示所述当前选定仿真物流车进入所述下一个装载区域进行货物装载。
在一种可能的实施方式中,所述确定所述当前选定仿真物流车前往的等待区域,包括:
确定所述下一个装载区域的等待区域中等待的选定仿真物流车的数量是否超过设定阈值;
若确定所述下一个装载区域的等待区域中等待的选定仿真物流车的数量未超过所述设定阈值,则确定所述当前选定仿真物流车前往的等待区域为所述下一个装载区域的等待区域;
若确定所述下一个装载区域的等待区域中等待的选定仿真物流车的数量超过所述设定阈值,则根据所述当前选定仿真物流车的当前装载区域与所述下一个装载区域是否相邻,确定所述当前选定仿真物流车前往的等待区域。
在一种可能的实施方式中,所述根据所述当前选定仿真物流车的当前装载区域与所述下一个装载区域是否相邻,确定所述当前选定仿真物流车前往的等待区域,包括:
确定所述当前选定仿真物流车的当前装载区域与所述下一个装载区域是否相邻;
若确定所述当前选定仿真物流车的当前装载区域与所述下一个装载区域不相邻,则确定所述当前选定仿真物流车前往的等待区域为所述下一个装载区域的相邻装载区域的等待区域;
若确定所述当前选定仿真物流车的当前装载区域与所述下一个装载区域相邻,则确定所述当前选定仿真物流车前往的等待区域为当前装载区域的等待区域。
在一种可能的实施方式中,所述方法还包括:
监控到所述仿真仓库中的仿真元素的元素状态发生变化后,在所述仿真仓库对应的仿真显示界面显示变化后的仿真元素对应的图标的显示状态;或者,
在所述仿真显示界面显示所述至少一个仿真配货订单的仿真数据以及所述实际仓库的仿真统计分析结果。
一方面,提供一种仓储物流的仿真装置,所述装置包括:
订单生成模块,用于根据实际仓库的仿真仓库中各个货物的特征信息和设定的订单生成策略,生成至少一个仿真配货订单,各个货物的特征信息包括位置信息和数量信息;
订单下发模块,用于按照预设的订单下发策略下发所述至少一个仿真配货订单,得到至少一个待执行订单;
仿真取货模块,用于根据各个仿真物流车的状态信息分别为所述至少一个待执行订单分配一辆选定仿真物流车,根据所述至少一个待执行订单中各个货物的位置信息生成所述至少一个待执行订单各自对应的规划路径,调用各辆选定仿真物流车按照各自对应的规划路径进行仿真取货,记录各辆选定仿真物流车在仿真取货过程中产生的仿真数据;
数据分析模块,用于执行完所述至少一个仿真配货订单后,统计分析所述至少一个仿真配货订单的仿真数据,生成所述实际仓库的仿真统计分析结果。
在一种可能的实施方式中,所述装置还包括仿真仓库构建模块,其中,所述仿真仓库构建模块,用于:
识别输入的实际仓库的仓库布局图,获得所述实际仓库的建筑布局信息,所述建筑布局信息包括所述实际仓库中各个实际建筑元素的位置信息;
根据所述建筑布局信息生成与所述实际仓库的真实建筑布局相同的仿真建筑布局;
响应对所述仿真仓库的各个仿真元素进行的仿真元素添加操作,在所述仿真建筑布局中添加所述仿真仓库的各个仿真元素得到所述实际仓库的仿真仓库,所述仿真仓库的各个仿真元素与所述实际仓库的各个真实元素一一对应。
在一种可能的实施方式中,所述仿真取货模块,具体用于:
确定所述至少一个待执行订单的每个待执行订单中各个货物的位置信息,以及各个等待区域中仿真物流车的数量;
根据所述起始区域、所述封装区域、所述至少一个待执行订单的每个待执行订单中各个货物的位置信息以及各个等待区域中仿真物流车的数量生成所述至少一个待执行订单各自对应的规划路径。
在一种可能的实施方式中,所述仿真取货模块,具体用于:
针对所述至少一个待执行订单中的每个待执行订单,执行:
确定当前待执行订单的各个货物中与所述起始区域距离最近的第一货物、与所述封装区域距离最近的第二货物;
确定所述第一货物与所述第二货物是否相同;
若确定所述第一货物与所述第二货物相同,则根据所述起始区域、所述第一货物的装载区域和所述封装区域生成所述当前待执行订单对应的规划路径。
在一种可能的实施方式中,所述仿真取货模块,具体用于:
若确定所述第一货物与所述第二货物不同,则针对所述当前待执行订单的各个货物,执行:
确定当前货物的装载区域与所述当前待执行订单的未被规划路径的各个货物的装载区域之间的距离;
根据确定出的各个距离确定所述当前货物的下一个货物;
确定所述当前货物的下一个货物是否为所述当前待执行订单的最后一个货物;
若确定所述当前货物的下一个货物不为所述当前待执行订单的最后一个货物,则将所述当前货物加入所述当前待执行订单的取货序列中,将所述下一个货物确定为当前货物,执行所述确定当前货物的装载区域与所述当前待执行订单的未被规划路径的各个货物的装载区域之间的距离的步骤;
若确定所述当前货物的下一个货物是所述当前待执行订单的最后一个货物,则根据所述起始区域、所述当前待执行订单的取货序列中的各个货物的装载区域和所述封装区域生成所述当前待执行订单对应的规划路径。
在一种可能的实施方式中,所述仿真取货模块,具体用于:
根据确定出的各个距离以及所述当前待执行订单的各个货物的等待区域中仿真物流车的数量确定从所述当前货物的装载区域分别到所述当前待执行订单的未被规划路径的各个货物的装载区域进行取货的时长;
根据确定出的各个时长确定所述当前货物的下一个货物。
在一种可能的实施方式中,所述仿真取货模块,具体用于:
根据各个仿真物流车的状态信息从各个仿真物流车中选取处于空闲状态的至少一辆可用仿真物流车,所述空闲状态包括未充电状态且未排队等待状态;
根据所述至少一辆可用仿真物流车的剩余电量以及所述至少一个待执行订单中各个待执行订单的生成时间,为所述至少一个待执行订单各自分配一辆选定仿真物流车。
在一种可能的实施方式中,所述仿真取货模块,具体用于:
针对各辆选定仿真物流车,执行:
确定当前选定仿真物流车的当前装载区域的下一个装载区域是否存在其它选定仿真物流车正在进行取货;
若确定所述下一个装载区域存在其它选定仿真物流车正在进行取货,则确定所述当前选定仿真物流车前往的等待区域,并向所述当前选定仿真物流车发出等待指令,以指示所述当前选定仿真物流车前往确定的等待区域中排队等待;
若确定所述下一个装载区域未存在其它选定仿真物流车正在进行货物装载,则向所述当前选定仿真物流车发送载货指令,以指示所述当前选定仿真物流车进入所述下一个装载区域进行货物装载。
在一种可能的实施方式中,所述仿真取货模块,具体用于:
确定所述下一个装载区域的等待区域中等待的选定仿真物流车的数量是否超过设定阈值;
若确定所述下一个装载区域的等待区域中等待的选定仿真物流车的数量未超过所述设定阈值,则确定所述当前选定仿真物流车前往的等待区域为所述下一个装载区域的等待区域;
若确定所述下一个装载区域的等待区域中等待的选定仿真物流车的数量超过所述设定阈值,则根据所述当前选定仿真物流车的当前装载区域与所述下一个装载区域是否相邻,确定所述当前选定仿真物流车前往的等待区域。
在一种可能的实施方式中,所述仿真取货模块,具体用于:
确定所述当前选定仿真物流车的当前装载区域与所述下一个装载区域是否相邻;
若确定所述当前选定仿真物流车的当前装载区域与所述下一个装载区域不相邻,则确定所述当前选定仿真物流车前往的等待区域为所述下一个装载区域的相邻装载区域的等待区域;
若确定所述当前选定仿真物流车的当前装载区域与所述下一个装载区域相邻,则确定所述当前选定仿真物流车前往的等待区域为当前装载区域的等待区域。
在一种可能的实施方式中,所述装置还包括显示模块,其中,所述显示模块,用于:
监控到所述仿真仓库中的仿真元素的元素状态发生变化后,在所述仿真仓库对应的仿真显示界面显示变化后的仿真元素对应的图标的显示状态;或者,
在所述仿真显示界面显示所述至少一个仿真配货订单的仿真数据以及所述实际仓库的仿真统计分析结果。
一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方面所述的方法的步骤。
一方面,提供一种计算机存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方面所述的方法的步骤。
本申请实施例中,在根据实际仓库的仿真仓库中各个货物的特征信息和设定的订单生成策略生成至少一个仿真配货订单之后,可以按照预设的订单下发策略下发至少一个仿真配货订单来得到至少一个待执行订单,进而,在根据各个仿真物流车的状态信息分别为至少一个待执行订单分配一辆选定仿真物流车之后,可以根据至少一个待执行订单中各个货物的位置信息生成至少一个待执行订单各自对应的规划路径,并调用各辆选定仿真物流车按照各自对应的规划路径进行仿真取货,且记录各辆选定仿真物流车在仿真取货过程中产生的仿真数据,在执行完至少一个仿真配货订单之后,可以统计分析至少一个仿真配货订单的仿真数据来生成实际仓库的仿真统计分析结果。
可见,在本申请实施例中,可以基于构建的仿真仓库去模拟真实仓储物流中的生成配货订单、下发待执行订单、分配物流车、规划路径以及按照规划路径进行取货等过程,且在对这些仿真过程生成的仿真数据进行综合分析之后,可以获得实际仓库的仿真统计分析结果。也就是说,基于该仓储物流的仿真方法可以对实际仓库所对应的仓储物流进行综合性的评估和优化,以使企业在部署新仓储物流方案之前,可以为企业提供该新仓储物流方案的详尽分析报告,从而缩短该新仓储物流方案的验证周期,帮助企业决策者进行有效决策,以确定出最佳的仓储物流方案,进而降低决策风险与成本。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的死锁现象的示意图;
图2为本申请实施例提供的一种应用场景示意图;
图3为本申请实施例提供的仓储物流的仿真方法的一种流程示意图;
图4为本申请实施例提供的仿真仓库的一种示意图;
图5为本申请实施例提供的构建仿真仓库的一种流程示意图;
图6为通过图像识别获取实际仓库的建筑布局信息的一种流程示意图;
图7为本申请实施例提供的添加了仿真元素的仿真仓库的一种示意图;
图8为本申请实施例提供的设置等待区域的一种示意图;
图9为本申请实施例提供的规划路径的一种流程示意图;
图10为本申请实施例提供的规划路径的另一种流程示意图;
图11为本申请实施例提供的规划路径的另一种流程示意图;
图12为根据取货时长确定下一货物的一种流程示意图;
图13为等待区域采用有限容量的排队模型进行建模的示意图;
图14为本申请实施例提供的执行仿真取货的一种示意图;
图15为本申请实施例提供的确定等待区域的一种流程示意图;
图16为本申请实施例提供的仓储物流的仿真装置的一种结构示意图;
图17为本申请实施例提供的仓储物流仿真***的架构示意图;
图18为本申请实施例提供的计算机设备的一种结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
首先,对本申请中的部分用语进行解释说明。
(1)Unity3D,是一种创作引擎、开发工具。Unity是实时三维(three-dimensional,3D)互动内容创作和运营平台。它可以使得包括游戏开发、美术、建筑、汽车设计以及影视在内的所有创作者,借助Unity将创意变成现实。Unity平台提供了一整套完善的软件解决方案,可以用于创作、运营和变现任何实时互动的2D和3D内容。
(2)仿真物流车,或称自动导向车(Automated Guided Vehicle,AGV),通常也称为AGV小车,代指装备有电磁或光学等自动导航装置,能够沿规定的导航路径行驶,并且具有安全保护以及各种移载功能的运输车。
(3)死锁现象,在多道程序环境中,多个进程可以竞争有限数量的资源,当一个进程申请资源时,如果这时没有可用资源,那么这个进程会进入等待状态,但是,有时候该等待进程所申请的资源会被其他等待的进程所占有,因此,可能会导致该等待进程再也无法改变状态,而一直处于等待状态的情况,这种情况就可称为死锁现象。
如图1所示,为本申请实施例提供的死锁现象的示意图,在AGV小车1正对装载区域1进行占用的同时,会向装载区域2发出装载申请,而装载区域2又正被AGV小车2进行占用,且AGV小车2在占用的同时也向装载区域1发出装载申请。
由于只有装载区域未被占用时,AGV小车的装载申请才能申请成功,且只有申请成功之后,AGV小车才能离开正在占用的装载区域。因此,图1中AGV小车1会一直占用装载区域1,同样的,AGV小车2也会一直占用装载区域2,进而,导致AGV小车1与AGV小车2一直都不能进行移动,最终呈现出死锁现象。
(4)有限容量的排队模型,该模型用于描述在装载区域的等待区域进行排队等待的仿真物流车的数量是有限的。
(5)泊松分布,常用于描述单位时间内随机事件发生的次数。
仿真技术由于其良好的可控性、无破坏性、可重复性以及可以不受气象条件和场地环境等因素限制的特点,使得其在辅助复杂***中的分析和决策等方面具有巨大的价值。
目前,***仿真技术已经在制造及物流领域中有了广泛的应用,其具体应用包括方案比较、布局优化、资源配置、瓶颈分析和实时调度等多个方面。且由于Unity3D引擎具备体积小、易扩展,部署简单、跨平台适应性以及强大的画面效果等优势,使得Unity3D引擎逐渐成为目前虚拟现实的主流开发平台之一。而本申请所提供的仓储物流仿真方法就是基于Unity3D引擎进行设计与建模的。
近年来,随着互联网技术以及电子商务的发展,越来越多的消费者喜欢进行网上购物,进而,促使了物流行业的大力发展,且消费者的消费需求也正逐渐向多样化和个性化方向发生转变,与此同时,各个企业接收到的货物订单也呈现出“多品种、小批量、多批次、高时效”的特点。其中,在各个企业向消费者寄送货物的过程中,对货物订单进行仓储任务分配,是这些企业的货物供应链中至关重要的一环,但是,传统的人力仓储任务分配方案在进行仓储任务分配时,由于是通过人工的方式在仓库中进行找货拣货,因此,存在劳动效率低下、运营维护困难等问题,进而,使得货物订单的履行成本增加且服务质量难以得到保证,从而,最终对企业的竞争力产生影响。显然,传统的人力仓储任务分配方案已无法满足当前客户的多样化需求。
基于此,本申请实施例中,在根据实际仓库的仿真仓库中各个货物的特征信息和设定的订单生成策略生成至少一个仿真配货订单之后,可以按照预设的订单下发策略下发至少一个仿真配货订单来得到至少一个待执行订单,进而,在根据各个仿真物流车的状态信息分别为至少一个待执行订单分配一辆选定仿真物流车之后,可以根据至少一个待执行订单中各个货物的位置信息生成至少一个待执行订单各自对应的规划路径,并调用各辆选定仿真物流车按照各自对应的规划路径进行仿真取货,且记录各辆选定仿真物流车在仿真取货过程中产生的仿真数据,在执行完至少一个仿真配货订单之后,可以统计分析至少一个仿真配货订单的仿真数据来生成实际仓库的仿真统计分析结果。
可见,在本申请实施例中,可以基于构建的仿真仓库去模拟真实仓储物流中的生成配货订单、下发待执行订单、分配物流车、规划路径以及按照规划路径进行取货等过程,且在对这些仿真过程生成的仿真数据进行综合分析之后,可以获得实际仓库的仿真统计分析结果。也就是说,基于该仓储物流的仿真方法可以对实际仓库所对应的仓储物流进行综合性的评估和优化,以使企业在部署新仓储物流方案之前,可以为企业提供该新仓储物流方案的详尽分析报告,从而缩短该新仓储物流方案的验证周期,帮助企业决策者进行有效决策,以确定出最佳的仓储物流方案,进而降低决策风险与成本。
此外,在本申请实施例中,由于仿真仓库是通过输入的实际仓库的仓库布局图进行图像识别获取的,且仿真仓库中的各个仿真元素可以根据企业具体需求自行进行添加与设置,因此,可是在最大程度上仿真出真实的仓库建筑布局,从而,实现仿真场景的个性化定制。
且,在本申请实施例中,还为仿真仓库中的每一个装载区域设置了对应的等待区域,以使得选定仿真物流车的下一个装载区域存在其它选定仿真物流车正在进行取货时,可以在取货过程中重新规划路径,以避免出现死锁现象而影响选定仿真物流车无法前往下一个装载区域进行货物装载。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
本申请实施例的技术方案可以应用于任何可能的仓储物流场景中。如图2所示,为本申请实施例提供的一种应用场景示意图。该仓储物流的应用场景可以包括终端20与服务器21。
终端20例如可以为手机、个人计算机(personal computer,PC)、笔记本电脑等。终端20中安装有可以进行仓储物流仿真的仿真客户端,通过该仿真客户端,用户可以进行相应的仓储物流仿真过程的建模与仿真。
具体的,终端20可以包括一个或多个处理器201、存储器202以及与其他设备交互的I/O接口203等。此外,终端20还可以包括显示面板204,显示面板204用于呈现可视化交互界面,例如对仿真仓库、仓储物流仿真过程中记录的仿真数据以及仿真统计分析结果等进行显示。其中,终端20的存储器202中可以存储本申请实施例提供的仓储物流仿真方法的程序指令,这些程序指令被处理器201执行时能够用以实现本申请实施例提供的仓储物流仿真方法的步骤。
服务器21可以是为仓储物流仿真提供数据存储与数据计算的服务器,其可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。
在一种可能的实施方式中,仓储物流仿真过程可以由终端20实现,具体的,在用户通过终端20中安装的仿真客户端进行仓储物流仿真时,处理器201会运行存储器202中存储的仓储物流仿真方法的程序指令,从而进行仓储物流仿真,并将仿真过程中产生的仿真数据实时存储至存储器202,此外,还可以在显示面板204上显示相应的仓储物流的仿真过程、仿真数据以及仿真统计分析结果等。
在另一种可能的实施方式中,服务器21可以为终端20中安装的仿真客户端的后台服务器,那么,仓储物流仿真过程可以由终端20和服务器21共同实现,具体的,当用户在终端20中安装的仿真客户端的仿真界面上触发仓储物流仿真开始指令时,服务器21则会基于本申请实施例的仓储物流仿真方法的程序指令,进行仓储物流仿真。同时,仿真过程中的各个仿真元素的变化情况、仿真数据以及仿真统计分析结果等可以通过终端20与服务器21之间的交互,显示在终端20的显示面板204上。
当然,本申请实施例提供的方法并不限用于图2所示的应用场景中,还可以用于其他可能的应用场景,本申请实施例并不进行限制。对于图2所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。下面,将结合附图对本申请实施例的方法进行介绍。
如图3所示,为本申请实施例提供的仓储物流的仿真方法的一种流程示意图,该方法可以通过图2中的终端20和服务器21共同执行,也可以由终端20或者服务器21执行,本申请实施例对此不做限制,该方法的流程介绍如下。
步骤301:根据实际仓库的仿真仓库中各个货物的特征信息和设定的订单生成策略,生成至少一个仿真配货订单。
在本申请实施例中,各个货物的特征信息可以包括位置信息和数量信息。
具体的,由于在实际的物流配货过程中,在用户进行了货物购买时,需要为该用户发货或者配送货物,这时就会生成与客户购买的货物相对应的配货订单,进而,仓库收到订单之后,便可以基于该配货订单进行相应的取货和打包等操作。在实际应用时,每个配货订单中可以包括一种或多种数量不同、种类不同的货物。
进而,为了尽可能的与实际仓储物流过程相同,且由于在实际仓储物流过程中,可能会存在某些货物库存不足或者完全没有该货物的情况,因此,在本申请实施例中,采用根据实际仓库的仿真仓库中各个货物的特征信息,设定的能够模拟订单生成过程的订单生成策略,来生成仿真配货订单。具体的,订单生成策略可包括如下两种。
第一种:根据预先存储的实际配货订单数据,生成仿真配货订单。
例如,若当前存在客户订单对应的真实订单数据,那么,可以先对这些真实订单数据进行预处理,然后将预处理后的真实订单数据存储至仓储物流仿真***中,进而,在需要生成仿真配货订单时,可以直接通过调用这些真实订单数据来模拟真实的仓储物流的运行情况。由于这种订单生成策略是以真实订单数据来生成仿真配货订单,因此,所生成的仿真配货订单能够更加符合真实的仓储物流情况。
第二种:根据设定了方法参数的配货订单生成方法生成所述仿真配货订单。
例如,若当前不存在客户订单对应的真实订单数据时,那么,可以基于设定了方法参数的配货订单生成方法来生成仿真配货订单。考虑到在仓储物流中,物流配货订单的生成具有离散特性,因此,在本申请实施例中,采用基于事件的离散化方法来对仿真配货订单进行建模。例如,配货订单生成方法可以为“相邻两个仿真配货订单生成的时间间隔为随机时间间隔”的随机方法,或者,“相邻两个仿真配货订单生成的时间间隔为固定时间间隔”的固定到达时间间隔方法,又或者,“单位时间内仿真配货订单生成的次数呈现泊松分布”的泊松分布方法。
下面具体以配货订单生成方法为泊松分布方法为例进行具体介绍,当采用泊松分布方法来生成仿真配货订单时,单位时间内仿真配货订单生成的次数k的概率函数为:
其中,参数β表示单位时间内仿真配货订单生成的平均发生次数,泊松分布的期望和方差均为β。
进而,基于用户选定的配货订单生成方法,可以根据具体需要进行仿真的企业的实际运营统计规律来为配货订单生成方法设置合适的方法参数,例如,方法参数可以包括货品的种类、不同种类货品的订单比例、订单事件的生成时间间隔等。进而,便可根据设定好方法参数的配货订单生成方法来生成仿真配货订单。
则对于上述泊松分布方法来说,用户需要设定参数β,从而基于设定的参数β可求解得到仿真过程中每个单位时间内需要生成的订单数量,且整个仿真过程中各个单位时间内的订单数量呈现泊松分布。
步骤302:按照预设的订单下发策略下发至少一个仿真配货订单,得到至少一个待执行订单。
在实际应用时,为了完成该配货订单,会将该配货订单分派给相应的AGV小车,以使AGV小车根据该配货订单进行拣货,进而完成该配货订单。因此,在本申请实施例中,可以按照预设的订单下发策略下发所生成的至少一个仿真配货订单,从而,得到至少一个待执行订单,其中,一个待执行订单中可以包括一个或多个仿真配货订单。具体的,订单下发策略可包括如下几种。
第一种:根据各个仿真配货订单的优先级来进行订单下发的订单下发策略。
例如,当前存在仿真配货订单A和仿真配货订单B时,其中,仿真配货订单A的优先级高于仿真配货订单B的优先级,那么,可以先将仿真配货订单A进行下发,然后再对仿真配货订单B进行下发。
第二种:根据仿真配货订单的生成时间来进行订单下发的订单下发策略。
例如,仿真配货订单A在上午9:00生成,仿真配货订单B在上午9:15生成,那么仿真配货订单A的生成时间比仿真配货订单B的生成时间更早,因此,可以先将仿真配货订单A进行下发,然后再对仿真配货订单B进行下发。
第三种:根据仿真配货订单的订单批次进行订单下发的订单下发策略。
在本申请实施例中,订单批次又可以根据“定时”方式(固定时间窗口内的所有配货订单为同一个批次)和“定量”方式(每累积到固定数量的配货订单为同一个批次)这两种。
具体的,在根据“定时”方式来划分订单批次时,例如,可以将固定时间窗口设置为1小时,那么将上午9:00-10:00这一时间段内生成的所有仿真配货订单划分为同一批次。在根据“定量”方式来划分订单批次时,例如,可以将固定数量设置为10,那么,每当仿真配货订单的数量累积到10个时,便可将这10个仿真配货订单划分为同一批次。此外,对于同一批次内的各个仿真配货订单,可以按照基于拍卖的多智能体订单下发方法来对各个仿真配货订单进行订单下发。
第四种:根据仿真配货订单中各个货物的放置区域下发的订单下发策略。
例如,如图4所示,为本申请实施例提供的仿真仓库的一种示意图,该仿真仓库包含有A、B、C、D共4个房间,每个房间对应一个货物放置区域,那么首先可以根据仿真配货订单包含的待配货仿真货物的放置区域,将仿真配货订单划分至各个放置区域对应的仿真配货订单集合中,例如,仿真配货订单A和仿真配货订单B中包含的待配货仿真货物的放置区域为房间A,仿真配货订单C和仿真配货订单D中包含的待配货仿真货物的放置区域为房间B,那么可以将仿真配货订单A和仿真配货订单B划分到房间A对应的仿真配货订单集合中,将仿真配货订单C和仿真配货订单D划分到房间B对应的仿真配货订单集合中。当然了,在按照放置区域进行订单下发时,并不一定要按照房间进行下发,还可以根据房间中的具体货架进行下发,这个放置区域的具体范围可以根据用户需求自行进行设定。
进而,在按照放置区域对各个仿真配货订单进行划分之后,针对每一仿真配货订单集合中的各个仿真配货订单,还可以按照各个仿真配货订单的订单生成时间来进行订单下发,或者,按照各个仿真配货订单所属的订单批次来进行订单下发。
在具体进行仓储物流仿真时,可以根据特定的仓储场景来从上述几种订单下发策略中选择出对应的订单下发策略。例如,在仓库的仓储作业面积较小时,由于一次进行拣选的货物数量较少,因此,比较适用于拣选货物数量较少的订单下发策略,如根据仿真配货订单的“优先级”或者“订单生成时间”来进行订单下发的订单下发策略。而在配货订单所包含的货物的复杂度较高时,即,配货订单所包含货物的具有很多放置区域时,可以选择根据仿真配货订单中待配货仿真货物的放置区域来进行订单下发的订单下发策略来进行拣货。
步骤303:根据各个仿真物流车的状态信息分别为至少一个待执行订单分配一辆选定仿真物流车,根据至少一个待执行订单中各个货物的位置信息生成至少一个待执行订单各自对应的规划路径,调用各辆选定仿真物流车按照各自对应的规划路径进行仿真取货,记录各辆选定仿真物流车在仿真取货过程中产生的仿真数据。
在本申请实施例中,在生成待执行订单之后,需要将各个待执行订单分配给仿真物流车来进行仿真配货。但是,在实际应用时,由于仓库中的各个AGV小车可能会处于不同的状态,例如,充电状态、执行任务状态、排队等待状态以及空闲状态等,一个AGV小车也可能会同时处于多个状态,例如,在AGV小车进行充电时,其并没有进行工作,此时,该AGV小车就同时处于充电状态和未排队等待状态,然而,在选择能够分配待执行订单的AGV小车时,仅能选择同时处于空闲状态、未充电状态以及未排队等待状态且电量充足的AGV小车,来分配待执行订单以进行相应的配货过程。进而,为了便于说明,后续出现的“空闲状态”均指代同时处于空闲状态、未充电状态以及未排队等待状态。
因此,在本申请实施例中,在根据各个仿真物流车的状态信息分别为各个待执行订单分配一辆选定仿真物流车时,具体可以先根据各个仿真物流车的状态信息从各个仿真物流车中选取处于空闲状态的至少一辆可用仿真物流车,其中,状态信息中包括有相应仿真物流车处于什么状态的相关信息,例如,处于空闲状态的相关信息,处于充电状态的相关信息等。
进而,便可以根据选取出的至少一辆可用仿真物流车的剩余电量以及至少一个待执行订单中各个待执行订单的生成时间,来为至少一个待执行订单各自分配一辆选定仿真物流车。例如,假设可用仿真物流车的剩余电量少于20%时,则不能被分配待执行订单,而当前确定出有5辆可用仿真物流车,其中有1辆可用仿真物流车的剩余电量少于20%,那么,在进行待执行订单分配时,可以按照“先进先出”原则,将各个待执行订单随意给分配剩余的4辆可用仿真物流车,或者,基于可用仿真物流车的剩余电量,按照电量越多越先被分配的原则,从这4辆可用仿真物流车中选择相应的可用仿真物流车进行待执行订单的分配。
进一步的,由于待执行订单中各个货物被放置于不同的位置,因此,为了对这些处于不同位置的货物进行取货,所规划路径必须要经过这些货物的位置,所以,在本申请实施例中,可以根据待执行订单中各个货物的位置信息生成该待执行订单对应的规划路径。进而,可以将规划好的路径分配给相应待执行订单对应的选定仿真物流车,从而,便可以调用该选定仿真物流车按照分配给自己的规划路径进行仿真取货了。此外,为了便于后续对仿真过程进行分析与总结,因此,在进行仿真取货过程中,还可以记录各辆选定仿真物流车对应产生的仿真数据。
步骤304:执行完至少一个仿真配货订单后,统计分析至少一个仿真配货订单的,生成实际仓库的仿真统计分析结果。
主要分析指标可以包括:每一配货订单的平均配货时间和平均路线长度、在规定时间内的配货订单完成率、每辆仿真物流车的行驶路程总长度、每辆仿真物流车的等待率与空闲率、每个工作人员的总行走路程和空闲率、每个等候区域的仿真物流车的平均排队队长和平均等待时间、仓库的平均出货率和库容利用率等一系列指标,从而,生成实际仓库的仿真统计分析结果。为了便于用户理解,这些仿真数据还可以通过图表或者报表的形式进行呈现和存储,从而为用户分析仓储物流的派送效率提供便利。
在一种可能的实施方式中,为了使仓储物流仿真更加具有真实性和参考性,因此,在本申请实施例中,采用用户提供的实际仓库的CAD平面布局图来作为仓储物流仿真的仿真仓库布局图的原图,进而,基于该原图来构建用于进行仓储仿真的仿真仓库。如图5所示,为本申请实施例提供的构建仿真仓库的一种流程示意图。
步骤501:识别输入的实际仓库的仓库布局图,获得所述实际仓库的建筑布局信息。
在本申请实施例中,建筑布局信息可以包括实际仓库中各个实际建筑元素的位置信息。具体的,可以通过对输入的实际仓库的仓库布局图进行图像识别,例如,通过对输入的实际仓库的CAD平面布局图进行图像识别,来获得实际仓库的建筑布局信息。其中,实际建筑元素的位置信息可以通过构建的坐标系中的坐标来表示,例如,各个建筑元素包括墙体,那么各个建筑元素的位置信息可以包括墙体的坐标。实际仓库的CAD平面布局图可以如图4所示,在该CAD平面布局图中实际仓库包含有A、B、C、D共4个房间,图中加黑的线条为仓库的墙体所在位置。当然,若是没有用户提供的实际仓库的CAD平面布局图,也可以采用常用仓库平面布局图模板来作为仓储物流仿真的仿真仓库布局图的原图。
进一步的,如图6所示,为本申请实施例提供的通过图像识别获取实际仓库的建筑布局信息的一种流程示意图。
步骤5011:对实际仓库的仓库布局图进行建筑墙体识别,获得二值特征图像。
在本申请实施例中,二值特征图像中为第一值的像素为建筑墙体像素,为第二值的像素为非建筑墙体像素。
具体的,可以先对该仓库布局图进行图像预处理,例如,可以采用图像去噪、图像增强以及采用灰度转换的方式对该仓库布局图中墙体进行凸显,使图像的显示效果更加清晰。
然后,再采用阈值分割方法将预处理后的仓库布局图转换为二值特征图像,其中,阈值分割方法中的分割阈值T可以设置为由墙体的平均灰度值和背景的平均灰度值共同决定,该背景可以为仓库布局图中除了墙体以外的图像部分。例如,在墙体的平均灰度值为200,背景的平均灰度值为30时,可以将分割阈值T设置为(200+20)÷2=110,因此,可以将仓库布局图中灰度值大于110的像素点设置为第一值(例如,设置为1),灰度值小于110的像素点设置为第二值(例如,设置为0),进而就可以将仓库布局图转换成二值特征图像。
步骤5012:对二值特征图像进行边缘检测,获得仓库布局图中的建筑墙体边缘信息。
具体的,可以采用腐蚀或者膨胀的方式,对二值特征图像进行扩大或者缩小,然后再采用边缘检测的方式对仓库布局图中亮度变化明显的像素点进行标识,以获得仓库布局图中的建筑墙体边缘信息。
步骤5013:基于建筑墙体边缘信息以及构建的坐标系,获得实际仓库的建筑墙体坐标信息。
具体的,由于建筑墙体基本上可以简化为由直线构成,因此可以采用Hough变换的方式基于建筑墙体边缘信息,在构建的坐标系中将建筑墙体变换为以多个数学方程式构成的直线进行呈现,进而就可以获得实际仓库的建筑布局信息了。
步骤502:根据建筑布局信息生成与实际仓库的真实建筑布局相同的仿真建筑布局。
在本申请实施例中,仿真仓库的各个仿真元素与实际仓库的各个真实元素是一一对应。
在实际应用时,在获取了实际仓库的建筑布局信息之后,即,获知了实际仓库的建筑墙体坐标信息之后,便可以根据这些建筑墙体坐标信息在构建的坐标系中生成与实际仓库的实际建筑布局相同的仿真建筑布局了。
步骤503:响应对仿真仓库的各个仿真元素进行的仿真元素添加操作,在仿真建筑布局中添加仿真仓库的各个仿真元素得到实际仓库的仿真仓库。
在实际应用中,一般情况下,在实际仓库中还应该存在货架、货物、AGV小车以及各种设备等元素,所以,在进行仓储物流仿真时,为了使仿真更加符合企业实际的物流情况,还应该在生成的仿真建筑布局加入与实际仓库中的真实元素所对应的仿真元素,例如,各种类型的仿真货架、仿真货柜、仿真物流车、仿真物流打包台、仿真建筑物、仿真人物、仿真货物箱、仿真货物等仿真元素。如图7所示,为本申请实施例提供的添加了仿真元素的仿真仓库的一种示意图,在该仿真仓库中,呈现网络形式的矩形为仿真货架,呈现阴影形式的五边形、五角星以及椭圆形都为仿真货物,呈现货车形状的小车为仿真物流车。这些仿真元素可以被存储于仓库任务分配方案确定***的资源文件库中,为了保证仓库物流场景的真实性,这些仿真元素以三维的形式进行呈现,并依据现实中各类元素的实际数据利用3Dmax软件按照1:1的比例而建立的,以此可以用于构建Unity3D中的三维的仓储仓库物流场景。此外,该模型资源库可以根据实际需求不断新增元素。
具体的,在需要进行仿真元素添加时,用户可进行仿真元素添加操作,进而,终端会响应该仿真元素添加操作,并在仿真地形中添加相应的仿真元素,进而得到完善的仿真仓库。例如,仿真元素添加操作可以为用户从仿真元素菜单栏中将仿真元素对应的图标“拖拽”至仿真地形中,或者,对仿真元素菜单栏中的仿真元素对应的图标进行“右击,并选择添加”,以使相应的仿真元素被添加至仿真地形中。
在申请实施例中,在获得完善的仿真仓库之后,可以为仿真仓库中包含的各个仿真元素配置相应的属性参数。例如,工作人员的行走速度和拣货时间、仿真物流车的行驶速度、货物装卸速度、仿真物流车的充速度和放电速度、工作人员的数量、仿真物流车的数量、数学模型约束条件以及***数据库的配置信息。这些属性参数可以被存储于仓库任务分配方案确定***的配置文件库中,用户可以通过编辑配置文件库中的配置文件来实现对静态模型的动态化编辑、对不同方法的参数调优以及修改完善模型等功能,进而,在使用时,可以选择加载本次仿真所使用的配置文件,进而配置相应的属性参数。
在本申请实施例中,为了防止仿真物流车在载货过程中发生“死锁现象”,在构建的仿真仓库中除了设置起始区域、封装区域,还可以设置等待区域,其中,封装区域是用于对货物进行打包封装的区域,等待区域为仿真物流车在载货之前进行排队等待的区域。如图8所示,为本申请实施例提供的设置等待区域的一种示意图,图中,呈现为灰色阴影的矩形框为等待区域,一个房间可以对应一个封装区域,所以封装区域A、B、C、D各自对应一个等待区域。当然,在实际应用时,每个封装区域可根据实际需求进行装载区域的设定。由于每一个待执行订单对应的路径规划过程相似,因此,下面以对待执行订单A进行路径规划为例进行具体介绍,如图9所示,为本申请实施例提供的规划路径的一种流程示意图,具体流程介绍如下:
步骤901:确定待执行订单A中各个货物的位置信息,以及各个等待区域中仿真物流车的数量。
在本申请实施例中,由于待执行订单A对应的规划路径是为了对待执行订单A中各个货物进行取货的取货路径,因此,在确定待执行订单A对应的规划路径时,就需要确定待执行订单A中各个货物的位置信息。此外,为了仿真物流车在载货过程中发生“死锁现象”,且为了缩短取货时长,在规划路径时还需要考虑各个等待区域中仿真物流车的数量,在等待区域中仿真物流车的数量大于某一设定的阈值时,则待执行订单A对应的仿真物流车便不能去该等待区域中进行排队等候。
步骤902:根据起始区域、封装区域、待执行订单A中各个货物的位置信息以及各个等待区域中仿真物流车的数量生成待执行订单A对应的规划路径。
在本申请实施例中,由于待执行订单A中所包含的货物可能一个,也可能为多个,因此,在进行路径规划时,具体可以将规划过程分为如下2种。
第一种为“待执行订单A中仅包含1个货物”时所对应的规划过程,如图10所示,为本申请实施例提供的规划路径的另一种流程示意图,具体流程介绍如下:
步骤1001:确定待执行订单A的各个货物中与起始区域距离最近的第一货物、与封装区域距离最近的第二货物。
步骤1002:确定第一货物与第二货物是否相同。
步骤1003:若确定第一货物与第二货物相同,则根据起始区域、第一货物的装载区域和封装区域生成待执行订单A对应的规划路径。
在本申请实施例中,在确定第一货物与第二货物相同,即待执行订单A便仅包含有1个货物时,可以直接根据起始区域、第一货物的装载区域和封装区域便能生成待执行订单A对应的规划路径了,该待执行订单A对应的规划路径即为“起始区域-第一货物的装载区域-封装区域”,这样就可以完成待执行订单A中所包含1个货物的取货过程,其中,封装区域与实际仓库中用于进行货物打包的打包台相对应。当然了,还可以在仿真仓库中设置终止区域,那么,该待执行订单A对应的规划路径变为“起始区域-第一货物的装载区域-封装区域-终止区域”。
第二种为“待执行订单A中包含多个货物”时所对应的规划过程,即已经确定了待执行订单A的第一货物与第二货物不同,那么,在规划路径时就需要针对待执行订单A中每个货物的具体情况(是否已被取货以该货物与其它货物之间的距离等)进行路径规划。由于待执行订单A中每个货物的规划过程相似,因此,这里以待执行订单A中货物1为例进行具体介绍,如图11所示,为本申请实施例提供的规划路径的另一种流程示意图,具体流程介绍如下:
步骤1101:确定待执行订单A中货物1的装载区域与待执行订单A的未被规划路径的各个货物的装载区域之间的距离。
在本申请实施例中,可以通过“取货路径最短”的方式来确定规划路径,进一步的,在确定最短路径时,进一步可以通过两两货物之间的最短路径,来确定货物1最终对应的规划路径。因此,针对货物1来说,需要确定货物1的装载区域与待执行订单A的未被规划路径的各个货物的装载区域之间的距离。其中,具体可以采用迪杰斯特拉算法、贝尔曼-福特算法和弗洛伊德算法等最短路径算法来确定最短距离。
步骤1102:根据确定出的各个距离确定货物1的下一个货物。
在本申请实施例中,可以将与货物1之间的距离最短的未被规划路径的货物,确定为货物1的下一个货物。
步骤1103:确定货物1的下一个货物是否为待执行订单A的最后一个货物。
在本申请实施例中,如果货物1的下一个货物为待执行订单A的最后一个货物,那么,就表明已经对待执行订单A中的所有货物确定了取货路径。反之,若是货物1的下一个货物不为待执行订单A的最后一个货物,那么,就表明待执行订单A中还存在未被规划路径的货物,进而,则还需要对这些未被规划路径的货物继续进行路径规划。
步骤1104:若确定货物1的下一个货物不为待执行订单A的最后一个货物,则将货物1加入待执行订单A的取货序列中,将下一个货物确定为货物1,并执行步骤1101。
在本申请实施例中,待执行订单A对应的选定仿真物流车在进行取货时,可以按照待执行订单A的取货序列依次进行取货,从而,完成对待执行订单A中所有货物进行取货的过程。
步骤1105:若确定货物1的下一个货物是待执行订单A的最后一个货物,则根据起始区域、待执行订单A的取货序列中的各个货物的装载区域和封装区域生成待执行订单A对应的规划路径。
在本申请实施例中,在确定了确定货物1的下一个货物是待执行订单A的最后一个货物之后,即确定完待执行订单A的各个货物取货顺序之后,便可以基于起始区域和这些货物的装载区域和封装区域,来生成待执行订单A对应的规划路径了。例如,待执行订单A具有3个货物,它们分别为货物A1、货物A2和货物A3,其中,它们的取货序列分别为“货物A2-货物A1-货物A3”,那么该待执行订单A对应的规划路径为“起始区域-货物A2的装载区域-货物A1的装载区域-货物A3的装载区域-封装区域”。当然了,如果用户不满意规划所得的规划路径,其还可以通过自定义的方式来设定仿真物流车的取货路线。
在一种可能的实施方式中,在本申请实施例中,除了可以通过“路径最短”的方式来确定规划路径,还可以通过“取货时长最短”的方式来确定规划路径,也就是说,可以通过两两货物之间的最短取货时长,来确定出货物1最终对应的规划路径,即货物1的下一个货物是与货物1之间取货时长最短的货物。由于待执行订单A中每个货物的规划过程相似,因此,这里同样以待执行订单A中货物1为例进行具体介绍,如图12所示,为本申请实施例提供的根据取货时长确定下一货物的一种流程示意图,具体流程介绍如下:
步骤1201:根据确定出的各个距离以及待执行订单A的各个货物的等待区域中仿真物流车的数量确定从货物1的装载区域分别到待执行订单A的未被规划路径的各个货物的装载区域进行取货的时长。
在本申请实施例中,可以将进行取货的时长划分为2部分,第1部分时长为仿真物流车在路径上行驶的“行驶时长”,第2部分时长为仿真物流车在等候区域中排队等候的“排队时长”。
其中,“行驶时长”与仿真物流车的行驶速度以及行驶距离有关,因此,可以通过这些距离与仿真物流车的行驶速度的商来确定出货物1与待执行订单A的未被规划路径的各个货物之间的“行驶时长”了。
而“排队时长”可采用“有限容量的排队模型”来进行计算,具体的,可以根据未被规划路径的各个货物的等待区域中仿真物流车的数量、仿真物流车到达率以及仿真物流车服务率来计算“排队时长”。如图13所示,为本申请实施例提供的等待区域采用有限容量的排队模型进行建模的示意图,在该模型中,未被规划路径的各个货物的等待区域中排队等待的仿真物流车的最大数量为K。具体的,在等待区域中排队等待的仿真物流车的数量为n时的概率Pn可用如下式子进行求解:
Pn=ρnP0,n=1,2,…,K
其中,K为等待区域中排队等待的仿真物流车的最大数量,ρ=λ/μ,λ和μ分别为等待区域中仿真物流车的到达率和服务率。具体的,仿真物流车的服务率为仿真物流车能够在等待区域对应的装载区域中进行货物装载的概率。
可见,由于一个等待区域中排队等待的仿真物流车的数量呈现有限的状态,在该等待区域排队等待的仿真物流车的数量达到最大数值时,仿真物流车不能进入等待区域,也就是说,仿真物流车不能进入该等待区域的概率为PK。
那么,在等待区域进行排队等待的仿真物流车的平均数量为Lq可用如下式子求解:
进而,在等待区域进行排队等待的仿真物流车的平均等待时间Wq可用如下式子求解:
Wq=Lq/λe=Lq/λ(1-PK)
λe为仿真物流车的有效到达率,其中,λe=λ(1-PK)。
在本申请实施例中,可以将等待区域进行排队等待的仿真物流车的平均等待时间作为待执行订单A的选定仿真物流车在未被规划路径的各个货物的等待区域中所对应的“排队时长”。
此外,在实际应用时,由于取货与卸货还对应一定的时长,且,由于取货与卸货的时间通常不会发生很大的波动,因此,在本申请实施例中,可以假设取货时长与卸货时长忽略不计。当然了,也可以将取货时长与卸货时长按照用户的需求来设定成一个定值。
步骤1202:根据确定出的各个时长确定货物1的下一个货物。
在一种可能的实施方式中,由于在选定仿真物流车按照对应的规划路径进行仿真取货个过程中,可能会存在一些突发情况,例如,选定仿真物流车A与选定仿真物流车B在同一条单行路径上相向行驶,将要发生碰撞,或者,选定仿真物流车A的下一货物的等候区域中的仿真物流车数量超过设定阈值时,该选定仿真物流车A此时就不能直接前往下一货物的等候区域中进行等待。在本申请实施例中,为了避免这些情况发生,在按照已经规划好的规划路径进行取货时,可以根据实际情况,“动态”的修改对应的规划路径,从而,提高取货效率。由于各辆选定仿真物流车的取货过程相似,因此,这里同样以选定仿真物流车A的装载区域1为例进行具体介绍,如图14所示,为本申请实施例提供的执行仿真取货的一种示意图,具体流程介绍如下:
步骤1401:确定选定仿真物流车A的装载区域1的下一个装载区域是否存在其它选定仿真物流车正在进行取货。
在本申请实施例中,由于在进行取货时,并不能确定下一个装载区域是否存在其它选定仿真物流车正在进行取货,因此,为了避免仿真物流车A直接去下一个装载区域进行取货,造成仿真物流车A陷入死锁现象而影响正常载货,那么,在仿真物流车A进入下一个装载区域进行载货之前,还需要判定下一个装载区域是否存在其它选定仿真物流车正在进行取货。
步骤1402:若确定下一个装载区域存在其它选定仿真物流车正在进行取货,则确定选定仿真物流车A前往的等待区域,并向选定仿真物流车A发出等待指令,以指示选定仿真物流车A前往确定的等待区域中排队等待。
在本申请实施例中,在确定了选定仿真物流车A前往的等待区域,且进入该等待区域之后,可以每隔一定的时间就对选定仿真物流车A的排队情况进行确定,当确定出该等待区域对应的装载区域没有其它选定仿真物流车正在进行货物装载,且该选定仿真物流车A处于排队队列的第一位时,则可以让选定仿真物流车A进入该等待区域对应的装载区域中进行拣货。
步骤1403:若确定下一个装载区域未存在其它选定仿真物流车正在进行货物装载,则向选定仿真物流车A发送载货指令,以指示选定仿真物流车A进入下一个装载区域进行货物装载。
在一种可能的实施方式中,由于各辆选定仿真物流车确定等待区域的过程相似,这里以选定仿真物流车A的装载区域1为例进行介绍,如图15所示,为本申请实施例提供的确定等待区域的一种流程示意图,具体流程介绍如下:
步骤1501:确定下一个装载区域的等待区域中等待的选定仿真物流车的数量是否超过设定阈值。
例如,假设选定仿真物流车A的下一个装载区域为装载区域2,该装载区域2的等待区域的最大可容纳5辆仿真物流车进行排队等待,那么可以将阈值设定为4,在选定仿真物流车A前往等待区域进行排队等待之前,会确定装载区域2对应的等待区域中正在排队等待的选定仿真物流车的数量是否超过4辆。
步骤1502:若确定下一个装载区域的等待区域中等待的选定仿真物流车的数量未超过设定阈值,则确定选定仿真物流车A前往的等待区域为下一个装载区域的等待区域。
继续沿用上例,若装载区域2的等待区域中等待的选定仿真物流车的数量没有超过4辆,那么,可以确定选定仿真物流车A前往的等待区域为装载区域2的等待区域。
步骤1503:若确定下一个装载区域的等待区域中等待的选定仿真物流车的数量超过设定阈值,则根据选定仿真物流车A的当前装载区域与下一个装载区域是否相邻,确定选定仿真物流车A前往的等待区域。
继续沿用上例,在选定仿真物流车A的装载区域2的等待区域中等待的选定仿真物流车的数量超过4时,具体可以分为如下两种情况来确定选定仿真物流车A前往的等待区域。
第一种情况:选定仿真物流车A的装载区域1与装载区域2不相邻。
具体的,可以控制选定仿真物流车A前往装载区域2的相邻装载区域的等待区域进行等待。例如,装载区域2的相邻装载区域为装载区域3,那么选定仿真物流车A可以前往的装载区域3的等待区域等待,直至装载区域2的等待区域中正在排队等待的其它选定仿真物流车的数量未超过4辆时,选定仿真物流车A便可以前往装载区域2的等待区域进行排队等待。
第二种情况:选定仿真物流车A的装载区域1与装载区域2相邻。
具体的,可以让选定仿真物流车A前往装载区域1的等待区域的队尾进行排队等待,在等候过程中,可以不断的检测装载区域2的等待区域中等待的其它选定仿真物流车的数量是否超过4辆,在确定未超过4辆之后,便可以向该选定仿真物流车A发送控制指令,以使得该选定仿真物流车A从装载区域1的等待区域前往装载区域2的等待区域进行等待。
在一种可能的实施方式中,还可以为仓储仿真设计仿真显示界面,进而,在仿真仓库中的仿真元素的元素状态发生变化时,可以控制仿真仓库对应的仿真显示界面上,与仿真元素对应的图标的显示状态发生对应的变化。例如,选定仿真物流车A处于行驶的状态,那么,在仿真仓库对应的仿真显示界面上,与选定仿真物流车A对应的图标也可以进行相应的移动。
此外,在仿真结束之后,还可以在仿真显示界面显示各个仿真配货订单的仿真数据以及实际仓库的仿真统计分析结果。例如,以图表或者报表的形式将各个仿真配货订单的仿真数据以及仿真统计分析结果在仿真显示界面进行呈现,以供用户进行查看。
为了更清楚地理解本申请,下面结合具体的仓储物流场景对上述实施例进行详细描述。
综上所述,在本申请实施例中,可以基于构建的仿真仓库去模拟真实仓储物流中的生成配货订单、下发待执行订单、分配物流车、规划路径以及按照规划路径进行取货等过程,且在对这些仿真过程生成的仿真数据进行综合分析之后,可以获得实际仓库的仿真统计分析结果。也就是说,基于该仓储物流的仿真方法可以对实际仓库所对应的仓储物流进行综合性的评估和优化,以使企业在部署新仓储物流方案之前,可以为企业提供该新仓储物流方案的详尽分析报告,从而缩短该新仓储物流方案的验证周期,帮助企业决策者进行有效决策,以确定出最佳的仓储物流方案,进而降低决策风险与成本。
如图16所示,基于同一发明构思,本申请实施例提供一种仓储物流仿真装置160,该装置包括:
订单生成模块1601,用于根据实际仓库的仿真仓库中各个货物的特征信息和设定的订单生成策略,生成至少一个仿真配货订单,各个货物的特征信息包括位置信息和数量信息;
订单下发模块1602,用于按照预设的订单下发策略下发至少一个仿真配货订单,得到至少一个待执行订单;
仿真取货模块1603,用于根据各个仿真物流车的状态信息分别为至少一个待执行订单分配一辆选定仿真物流车,根据至少一个待执行订单中各个货物的位置信息生成至少一个待执行订单各自对应的规划路径,调用各辆选定仿真物流车按照各自对应的规划路径进行仿真取货,记录各辆选定仿真物流车在仿真取货过程中产生的仿真数据;
数据分析模块1604,用于执行完至少一个仿真配货订单后,统计分析至少一个仿真配货订单的仿真数据,生成实际仓库的仿真统计分析结果。
在一种可能的实施方式中,装置还包括仿真仓库构建模块1605,其中,仿真仓库构建模块1605,用于:
识别输入的实际仓库的仓库布局图,获得实际仓库的建筑布局信息,建筑布局信息包括实际仓库中各个实际建筑元素的位置信息;
根据建筑布局信息生成与实际仓库的真实建筑布局相同的仿真建筑布局;
响应对仿真仓库的各个仿真元素进行的仿真元素添加操作,在仿真建筑布局中添加仿真仓库的各个仿真元素得到实际仓库的仿真仓库,仿真仓库的各个仿真元素与实际仓库的各个真实元素一一对应。
在一种可能的实施方式中,仿真取货模块1603,具体用于:
确定至少一个待执行订单的每个待执行订单中各个货物的位置信息,以及各个等待区域中仿真物流车的数量;
根据起始区域、封装区域、至少一个待执行订单的每个待执行订单中各个货物的位置信息以及各个等待区域中仿真物流车的数量生成至少一个待执行订单各自对应的规划路径。
在一种可能的实施方式中,仿真取货模块1603,具体用于:
针对至少一个待执行订单中的每个待执行订单,执行:
确定当前待执行订单的各个货物中与起始区域距离最近的第一货物、与封装区域距离最近的第二货物;
确定第一货物与第二货物是否相同;
若确定第一货物与第二货物相同,则根据起始区域、第一货物的装载区域和封装区域生成当前待执行订单对应的规划路径。
在一种可能的实施方式中,仿真取货模块1603,具体用于:
若确定第一货物与第二货物不同,则针对当前待执行订单的各个货物,执行:
确定当前货物的装载区域与当前待执行订单的未被规划路径的各个货物的装载区域之间的距离;
根据确定出的各个距离确定当前货物的下一个货物;
确定当前货物的下一个货物是否为当前待执行订单的最后一个货物;
若确定当前货物的下一个货物不为当前待执行订单的最后一个货物,则将当前货物加入当前待执行订单的取货序列中,将下一个货物确定为当前货物,执行确定当前货物的装载区域与当前待执行订单的未被规划路径的各个货物的装载区域之间的距离的步骤;
若确定当前货物的下一个货物是当前待执行订单的最后一个货物,则根据起始区域、当前待执行订单的取货序列中的各个货物的装载区域和封装区域生成当前待执行订单对应的规划路径。
在一种可能的实施方式中,仿真取货模块1603,具体用于:
根据确定出的各个距离以及当前待执行订单的各个货物的等待区域中仿真物流车的数量确定从当前货物的装载区域分别到当前待执行订单的未被规划路径的各个货物的装载区域进行取货的时长;
根据确定出的各个时长确定当前货物的下一个货物。
在一种可能的实施方式中,仿真取货模块1603,具体用于:
根据各个仿真物流车的状态信息从各个仿真物流车中选取处于空闲状态的至少一辆可用仿真物流车,空闲状态包括未充电状态且未排队等待状态;
根据至少一辆可用仿真物流车的剩余电量以及至少一个待执行订单中各个待执行订单的生成时间,为至少一个待执行订单各自分配一辆选定仿真物流车。
在一种可能的实施方式中,仿真取货模块1603,具体用于:
针对各辆选定仿真物流车,执行:
确定当前选定仿真物流车的当前装载区域的下一个装载区域是否存在其它选定仿真物流车正在进行取货;
若确定下一个装载区域存在其它选定仿真物流车正在进行取货,则确定当前选定仿真物流车前往的等待区域,并向当前选定仿真物流车发出等待指令,以指示当前选定仿真物流车前往确定的等待区域中排队等待;
若确定下一个装载区域未存在其它选定仿真物流车正在进行货物装载,则向当前选定仿真物流车发送载货指令,以指示当前选定仿真物流车进入下一个装载区域进行货物装载。
在一种可能的实施方式中,仿真取货模块1603,具体用于:
确定下一个装载区域的等待区域中等待的选定仿真物流车的数量是否超过设定阈值;
若确定下一个装载区域的等待区域中等待的选定仿真物流车的数量未超过设定阈值,则确定当前选定仿真物流车前往的等待区域为下一个装载区域的等待区域;
若确定下一个装载区域的等待区域中等待的选定仿真物流车的数量超过设定阈值,则根据当前选定仿真物流车的当前装载区域与下一个装载区域是否相邻,确定当前选定仿真物流车前往的等待区域。
在一种可能的实施方式中,仿真取货模块1603,具体用于:
确定当前选定仿真物流车的当前装载区域与下一个装载区域是否相邻;
若确定当前选定仿真物流车的当前装载区域与下一个装载区域不相邻,则确定当前选定仿真物流车前往的等待区域为下一个装载区域的相邻装载区域的等待区域;
若确定当前选定仿真物流车的当前装载区域与下一个装载区域相邻,则确定当前选定仿真物流车前往的等待区域为当前装载区域的等待区域。
在一种可能的实施方式中,装置还包括显示模块1606,其中,该显示模块1606,用于:
监控到仿真仓库中的仿真元素的元素状态发生变化后,在仿真仓库对应的仿真显示界面显示变化后的仿真元素对应的图标的显示状态;或者,
在仿真显示界面显示至少一个仿真配货订单的仿真数据以及实际仓库的仿真统计分析结果。
该装置可以用于执行图3~图15所示的实施例中所述的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考图3~图15所示的实施例的描述,不多赘述。需要说明的是,图16中的虚线框示出的功能模块为该装置的非必要功能模块。
在一种可能的实施例中,在图16所述的仓储物流仿真装置160的各个模块基础上,还可以通过新增***配置文件库1701、***资源文件库1702以及仿真数据库1703,来构建用于进行仓储物流仿真的仓储物流仿真***170,如图17所示,为本申请实施例提供的仓储物流仿真***的架构示意图。其中,上述的各个单元和库可全部部署于上述的终端20或者服务器21中,也可以部分部署于终端20中,另一部分部署于服务器21中,本申请实施例对此不做限制。
***配置文件库1701,可以用于储存各个仿真元素对应的属性参数,例如:工作人员的行走速度和拣货时长、仿真物流车的行驶速度、货物装卸速度、仿真物流车的充电速度和放电速度、工作人员的数量、仿真物流车的数量、生成配货订单的数学模型的约束条件以及***数据库的配置信息等。用户可以通过对该***配置文件库1701中的配置文件进行编辑,来实现对各个仿真元素的属性参数的动态化编辑,对不同订单生成策略和订单下发策略的参数调优,以及对数学模型进行修改和完善等功能。
***资源文件库1702,可以用于存储各种类型的仿真货架、仿真货柜、仿真物流车、仿真物流打包台、仿真建筑物、仿真人物、仿真货物箱以及仿真货物等仿真元素相关的模型资源。且为了保证仓储物流场景的真实性,这些仿真元素都是依据实际场景中各个真实元素的实际数据,并利用3D Studio Max软件按照1:1的比例构建而成的。
仿真数据库1703,可以用于储存在整个仿真过程中所产生的仿真数据以及仿真结果等。
在一种可能的实施方式中,在用户需要对一个新仓储物流方案进行仿真时,仿真仓库构建模块1605可以根据输入的实际仓库的CAD平面布局图构建相应的仿真仓库,进而,可以基于***资源文件库1702在仿真仓库中添加相应的仿真元素(例如仿真货架以及仿真物流车等),并通过***配置文件库1701为添加的仿真元素配置与实际仓库对应的属性参数(例如,为仿真物流车配置行驶速度以及数量等),进而,通过订单生成模块1601生成仿真配货订单,并采用订单下发模块1602将生成的仿真配货订单下发给各辆选定仿真物流车,且基于仿真取货模块1603可以为各辆选定仿真物流车规划出相应的配货路径,且会将该确定出的配货路径反馈给订单下发模块1602,从而,使订单下发模块1602控制仿真物流车按照确定出的配货路径进行对仿真配货订单中的各个货物进行取货。
在仿真过程中,可利用***配置文件库1701中存储的配置文件对订单生成模块1601、订单下发模块1602以及仿真取货模块1603中使用的方法参数进行配置。且,在整个仿真过程中所产生的仿真数据等会被存储于仿真数据库1703中,数据分析模块1604可以实时地对整个仿真过程中所产生的仿真数据进行统计分析,也可以从仿真数据库1703从调取相应的仿真数据来进行统计分析,且在统计分析之后,还可以将仿真统计分析结果存储至仿真数据库1703中。
请参见图18,基于同一技术构思,本申请实施例还提供了一种计算机设备180,可以包括存储器1801和处理器1802。
所述存储器1801,用于存储处理器1802执行的计算机程序。存储器1801可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。处理器1802,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等等。本申请实施例中不限定上述存储器1801和处理器1802之间的具体连接介质。本申请实施例在图18中以存储器1801和处理器1802之间通过总线1803连接,总线1803在图18中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线1803可以分为地址总线、数据总线、控制总线等。为便于表示,图18中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1801可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1801也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1801是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1801可以是上述存储器的组合。
处理器1802,用于调用所述存储器1801中存储的计算机程序时执行如图3~图15所示的实施例中设备所执行的方法。
在一些可能的实施方式中,本申请提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行如图3~图15所示的实施例中所述的方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种仓储物流的仿真方法,其特征在于,所述方法包括:
根据实际仓库的仿真仓库中各个货物的特征信息和设定的订单生成策略,生成至少一个仿真配货订单,各个货物的特征信息包括位置信息和数量信息;
按照预设的订单下发策略下发所述至少一个仿真配货订单,得到至少一个待执行订单;
根据各个仿真物流车的状态信息分别为所述至少一个待执行订单分配一辆选定仿真物流车,根据所述至少一个待执行订单中各个货物的位置信息生成所述至少一个待执行订单各自对应的规划路径,调用各辆选定仿真物流车按照各自对应的规划路径进行仿真取货,记录各辆选定仿真物流车在仿真取货过程中产生的仿真数据;
执行完所述至少一个仿真配货订单后,统计分析所述至少一个仿真配货订单的仿真数据,生成所述实际仓库的仿真统计分析结果。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
识别输入的实际仓库的仓库布局图,获得所述实际仓库的建筑布局信息,所述建筑布局信息包括所述实际仓库中各个实际建筑元素的位置信息;
根据所述建筑布局信息生成与所述实际仓库的真实建筑布局相同的仿真建筑布局;
响应对所述仿真仓库的各个仿真元素进行的仿真元素添加操作,在所述仿真建筑布局中添加所述仿真仓库的各个仿真元素得到所述实际仓库的仿真仓库,所述仿真仓库的各个仿真元素与所述实际仓库的各个真实元素一一对应。
3.如权利要求1所述的方法,其特征在于,若所述仿真仓库设置起始区域、封装区域和等待区域,则根据所述至少一个待执行订单中各个货物的位置信息生成所述至少一个待执行订单各自对应的规划路径,具体包括:
确定所述至少一个待执行订单的每个待执行订单中各个货物的位置信息,以及各个等待区域中仿真物流车的数量;
根据所述起始区域、所述封装区域、所述至少一个待执行订单的每个待执行订单中各个货物的位置信息以及各个等待区域中仿真物流车的数量生成所述至少一个待执行订单各自对应的规划路径。
4.如权利要求3所述的方法,其特征在于,若所述仿真仓库还包括与等待区域对应的装载区域,则所述根据所述起始区域、所述封装区域、所述至少一个待执行订单的每个待执行订单中各个货物的位置信息以及各个等待区域中仿真物流车的数量生成所述至少一个待执行订单各自对应的规划路径,包括:
针对所述至少一个待执行订单中的每个待执行订单,执行:
确定当前待执行订单的各个货物中与所述起始区域距离最近的第一货物、与所述封装区域距离最近的第二货物;
确定所述第一货物与所述第二货物是否相同;
若确定所述第一货物与所述第二货物相同,则根据所述起始区域、所述第一货物的装载区域和所述封装区域生成所述当前待执行订单对应的规划路径。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
若确定所述第一货物与所述第二货物不同,则针对所述当前待执行订单的各个货物,执行:
确定当前货物的装载区域与所述当前待执行订单的未被规划路径的各个货物的装载区域之间的距离;
根据确定出的各个距离确定所述当前货物的下一个货物;
确定所述当前货物的下一个货物是否为所述当前待执行订单的最后一个货物;
若确定所述当前货物的下一个货物不为所述当前待执行订单的最后一个货物,则将所述当前货物加入所述当前待执行订单的取货序列中,将所述下一个货物确定为当前货物,执行所述确定当前货物的装载区域与所述当前待执行订单的未被规划路径的各个货物的装载区域之间的距离的步骤;
若确定所述当前货物的下一个货物是所述当前待执行订单的最后一个货物,则根据所述起始区域、所述当前待执行订单的取货序列中的各个货物的装载区域和所述封装区域生成所述当前待执行订单对应的规划路径。
6.如权利要求5所述的方法,其特征在于,所述根据确定出的各个距离确定所述当前货物的下一个货物,包括:
根据确定出的各个距离以及所述当前待执行订单的各个货物的等待区域中仿真物流车的数量确定从所述当前货物的装载区域分别到所述当前待执行订单的未被规划路径的各个货物的装载区域进行取货的时长;
根据确定出的各个时长确定所述当前货物的下一个货物。
7.如权利要求1所述的方法,其特征在于,所述根据各个仿真物流车的状态信息分别为所述至少一个待执行订单分配一辆选定仿真物流车,包括:
根据各个仿真物流车的状态信息从各个仿真物流车中选取处于空闲状态的至少一辆可用仿真物流车,所述空闲状态包括未充电状态且未排队等待状态;
根据所述至少一辆可用仿真物流车的剩余电量以及所述至少一个待执行订单中各个待执行订单的生成时间,为所述至少一个待执行订单各自分配一辆选定仿真物流车。
8.如权利要求4所述的方法,其特征在于,所述调用各辆选定仿真物流车按照各自对应的规划路径进行仿真取货,包括:
针对各辆选定仿真物流车,执行:
确定当前选定仿真物流车的当前装载区域的下一个装载区域是否存在其它选定仿真物流车正在进行取货;
若确定所述下一个装载区域存在其它选定仿真物流车正在进行取货,则确定所述当前选定仿真物流车前往的等待区域,并向所述当前选定仿真物流车发出等待指令,以指示所述当前选定仿真物流车前往确定的等待区域中排队等待;
若确定所述下一个装载区域未存在其它选定仿真物流车正在进行货物装载,则向所述当前选定仿真物流车发送载货指令,以指示所述当前选定仿真物流车进入所述下一个装载区域进行货物装载。
9.如权利要求8所述的方法,其特征在于,所述确定所述当前选定仿真物流车前往的等待区域,包括:
确定所述下一个装载区域的等待区域中等待的选定仿真物流车的数量是否超过设定阈值;
若确定所述下一个装载区域的等待区域中等待的选定仿真物流车的数量未超过所述设定阈值,则确定所述当前选定仿真物流车前往的等待区域为所述下一个装载区域的等待区域;
若确定所述下一个装载区域的等待区域中等待的选定仿真物流车的数量超过所述设定阈值,则根据所述当前选定仿真物流车的当前装载区域与所述下一个装载区域是否相邻,确定所述当前选定仿真物流车前往的等待区域。
10.如权利要求9所述的方法,其特征在于,所述根据所述当前选定仿真物流车的当前装载区域与所述下一个装载区域是否相邻,确定所述当前选定仿真物流车前往的等待区域,包括:
确定所述当前选定仿真物流车的当前装载区域与所述下一个装载区域是否相邻;
若确定所述当前选定仿真物流车的当前装载区域与所述下一个装载区域不相邻,则确定所述当前选定仿真物流车前往的等待区域为所述下一个装载区域的相邻装载区域的等待区域;
若确定所述当前选定仿真物流车的当前装载区域与所述下一个装载区域相邻,则确定所述当前选定仿真物流车前往的等待区域为当前装载区域的等待区域。
11.如权利要求2所述的方法,其特征在于,所述方法还包括:
监控到所述仿真仓库中的仿真元素的元素状态发生变化后,在所述仿真仓库对应的仿真显示界面显示变化后的仿真元素对应的图标的显示状态;或者,
在所述仿真显示界面显示所述至少一个仿真配货订单的仿真数据以及所述实际仓库的仿真统计分析结果。
12.一种仓储物流的仿真装置,其特征在于,所述装置包括:
订单生成模块,用于根据实际仓库的仿真仓库中各个货物的特征信息和设定的订单生成策略,生成至少一个仿真配货订单,各个货物的特征信息包括位置信息和数量信息;
订单下发模块,用于按照预设的订单下发策略下发所述至少一个仿真配货订单,得到至少一个待执行订单;
仿真取货模块,用于根据各个仿真物流车的状态信息分别为所述至少一个待执行订单分配一辆选定仿真物流车,根据所述至少一个待执行订单中各个货物的位置信息生成所述至少一个待执行订单各自对应的规划路径,调用各辆选定仿真物流车按照各自对应的规划路径进行仿真取货,记录各辆选定仿真物流车在仿真取货过程中产生的仿真数据;
数据分析模块,用于执行完所述至少一个仿真配货订单后,统计分析所述至少一个仿真配货订单的仿真数据,生成所述实际仓库的仿真统计分析结果。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现权利要求1至11任一项所述方法的步骤。
14.一种计算机存储介质,其上存储有计算机程序指令,其特征在于,
该计算机程序指令被处理器执行时实现权利要求1至11任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111521885.6A CN114219276A (zh) | 2021-12-13 | 2021-12-13 | 一种仓储物流的仿真方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111521885.6A CN114219276A (zh) | 2021-12-13 | 2021-12-13 | 一种仓储物流的仿真方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114219276A true CN114219276A (zh) | 2022-03-22 |
Family
ID=80701610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111521885.6A Pending CN114219276A (zh) | 2021-12-13 | 2021-12-13 | 一种仓储物流的仿真方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114219276A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116485157A (zh) * | 2023-06-16 | 2023-07-25 | 四川国蓝中天环境科技集团有限公司 | 一种考虑充电站车辆排队的电动公交充电计划优化方法 |
CN116755396A (zh) * | 2023-05-19 | 2023-09-15 | 广东海力储存设备股份有限公司 | 仓库管理方法、装置、计算机设备以及存储介质 |
CN117008558A (zh) * | 2023-09-28 | 2023-11-07 | 斯坦德机器人(深圳)有限公司 | 一种工厂物流agv仿真*** |
-
2021
- 2021-12-13 CN CN202111521885.6A patent/CN114219276A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116755396A (zh) * | 2023-05-19 | 2023-09-15 | 广东海力储存设备股份有限公司 | 仓库管理方法、装置、计算机设备以及存储介质 |
CN116485157A (zh) * | 2023-06-16 | 2023-07-25 | 四川国蓝中天环境科技集团有限公司 | 一种考虑充电站车辆排队的电动公交充电计划优化方法 |
CN116485157B (zh) * | 2023-06-16 | 2023-08-22 | 四川国蓝中天环境科技集团有限公司 | 一种考虑充电站车辆排队的电动公交充电计划优化方法 |
CN117008558A (zh) * | 2023-09-28 | 2023-11-07 | 斯坦德机器人(深圳)有限公司 | 一种工厂物流agv仿真*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114219276A (zh) | 一种仓储物流的仿真方法、装置、设备及存储介质 | |
CN110322172A (zh) | 库存调度方法、装置以及计算机可读存储介质 | |
CN111589730B (zh) | 一种拣货方法、装置、设备和存储介质 | |
JP2006505019A (ja) | 仮想環境において交渉するエージェント、方法およびコンピュータ・システム | |
US10685319B2 (en) | Big data sourcing simulator | |
CN110390501A (zh) | 数据处理方法及其***、计算机***及计算机可读介质 | |
CN112700180B (zh) | 一种拣货方法和拣货装置 | |
CN109902983B (zh) | 用于控制无人仓中的运输设备的方法和装置 | |
CN114580695A (zh) | 多车任务分配与路径优化仿真平台及其实现方法 | |
CN110363476A (zh) | 货物入仓分配处理方法及装置 | |
US20230385471A1 (en) | Resource-based stock arrangement optimization in a warehouse | |
CN111126857A (zh) | 密集仓储的任务管理方法、装置及电子设备 | |
CN111784223B (zh) | 货物调拨数据的处理方法、装置和存储介质 | |
CN116109252A (zh) | 仓库补货管理方法、装置、仓库管理***及存储介质 | |
CN113780611A (zh) | 一种库存管理方法和装置 | |
CN114254845A (zh) | 仓库选址方法、装置、计算机设备和存储介质 | |
KR20220130945A (ko) | 물류 차량의 배차를 수행하는 장치, 방법 및 컴퓨터 프로그램 | |
CN112906081A (zh) | 一种规划仓库布局的方法和装置 | |
CN111144796A (zh) | 用于生成理货信息的方法和装置 | |
US7373212B2 (en) | Allocating products using classifications of orders for the products | |
CN115829451A (zh) | 物流路径规划方法、装置、计算机设备和存储介质 | |
CN109493178A (zh) | 一种云零售订单分解方法及*** | |
CN115271574A (zh) | 一种货品补货方法、装置、电子设备及存储介质 | |
JP2017065909A (ja) | 物資運用方法、物資運用装置、物資運用システムおよび物資運用プログラム | |
CN116109251A (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 |