CN110276568B - 入库资源分配方法、装置及计算机系统 - Google Patents
入库资源分配方法、装置及计算机系统 Download PDFInfo
- Publication number
- CN110276568B CN110276568B CN201810215139.6A CN201810215139A CN110276568B CN 110276568 B CN110276568 B CN 110276568B CN 201810215139 A CN201810215139 A CN 201810215139A CN 110276568 B CN110276568 B CN 110276568B
- Authority
- CN
- China
- Prior art keywords
- warehouse
- replenishment
- overall
- reserved
- date
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000013468 resource allocation Methods 0.000 title claims abstract description 29
- 238000013439 planning Methods 0.000 claims abstract description 57
- 238000004422 calculation algorithm Methods 0.000 claims description 38
- 238000012163 sequencing technique Methods 0.000 claims description 23
- 230000002068 genetic effect Effects 0.000 claims description 22
- 238000007726 management method Methods 0.000 claims description 16
- 230000007306 turnover Effects 0.000 claims description 7
- 230000015556 catabolic process Effects 0.000 claims description 4
- 238000006731 degradation reaction Methods 0.000 claims description 4
- 239000000758 substrate Substances 0.000 claims 2
- 230000004048 modification Effects 0.000 description 18
- 238000012986 modification Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000012384 transportation and delivery Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 101100422770 Caenorhabditis elegans sup-1 gene Proteins 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000004880 explosion Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000035772 mutation Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 210000000349 chromosome Anatomy 0.000 description 3
- 230000008014 freezing Effects 0.000 description 3
- 238000007710 freezing Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 239000013589 supplement Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008303 genetic mechanism Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Economics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Artificial Intelligence (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Tourism & Hospitality (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了入库资源分配方法、装置及计算机系统,该方法包括:确定统筹周期;接收第一用户客户端提交的需要在所述统筹周内补货的补货计划单,所述补货计划单中包括第一用户预约的关于商品入库的预约库容量以及预约入库日期信息,所述预约入库日期位于统筹周期的日期范围内;根据各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单。通过本申请实施例,能够实现对补货计划单的自动化的统筹排序。
Description
技术领域
本申请涉及入库资源分配技术领域,特别涉及入库资源分配方法、装置及计算机系统。
背景技术
对于网络销售平台来说,仓储+物流是是整个电商环节中的非常重要的部分。尤其是“C2C”模式的平台而言,卖家与买家都属于平台的用户,在最初的模式下,平台只是起到信息桥梁的作用,而具体商品的仓储及物流都是由卖家用户自行解决。也即,卖家需要自行准备仓库,买家用户在下单之后,卖家用户的相关工作人员需要从仓库中备货,并交给相关的物流服务商执行具体的配送服务。
但是,随着网络销售平台的发展,平台不再仅仅起到信息桥梁的作用,而是更多的可以帮助卖家用户提供一些解决方案,以提高整体上的服务效率以及质量。其中,提供统一的仓储及配送,就是其中一个很重要的方面。例如,对于“淘宝”平台而言,为卖家用户提供了“菜鸟”系统,“菜鸟”系统在多个区域部署了多个“菜鸟仓”,例如,“杭州仓”、“上海仓”、“北京仓”,等等。卖家用户可以提前将需要通过“淘宝”售卖的商品备货到这种“菜鸟仓”中,这样,买家用户在线下单后,可以由菜鸟仓的相关工作人员执行相应的拣货以及发货、配送等相关的服务。也就是说,在该方案中,卖家用户只需要前期将货品备货到具体的“菜鸟仓”,后续的发货以及配送等工作就都可以由“菜鸟”系统来辅助完成,并且能够实现拣货、发货以及配送的统一化以及标准化,可以提升平台的服务效能。另外,由于平台部署的仓库可以分散在多个地区,因此,还可以实现根据买家所指定收货地址的就近发货,可以提高配送效率,使得用户能够在更短的时间内收到所购买的商品。
对于平台级的仓储系统而言,商品入库是指商家或者卖家用户按照指定日期将商品存储入指定仓库的过程。尤其是在电商平台大促期间或者节假日期间,大量的商家为了应对大量的活动订单,都会提前备货,提前安排商品入库;但是,由于是多个卖家或者商家用户共用仓库,而仓库的库容有限,收货能力有限,如何合理有序地给商家分配仓库资源,安排商品有序入库,这已经成为平台级仓储管理的重要问题。
目前,电商平台通常采用人工分配仓库资源的方式,由工作人员依赖工作经验为商家分配仓库资源,即,安排商品入库顺序,由商家根据工作人员的分配情况,安排商品入库。但是,不同工作人员的工作经验不同,且分配的主观性较强,分配结果的随机性较大,仓库资源利用率较低。
发明内容
为了解决上述技术问题,本申请提出了入库资源分配方法、装置及计算机系统,能够实现对补货计划单的自动化的统筹排序。
本申请实施例提供了:
一种入库资源分配系统,包括:
第二客户端,用于提交创建统筹周期的请求;
服务器,用于根据所述第二客户端确定统筹周期,并将所述统筹周期相关的信息提供给多个第一用户客户端;
所述第一用户客户端,用于在指定的报名时间内,向所述服务器提交需要在所述统筹周内补货的补货计划单,所述补货计划单中包括第一用户预约的关于商品入库的预约库容量以及预约入库日期信息,所述预约入库日期位于统筹周期的日期范围内;
所述服务器还用于,根据多个第一用户客户端提交的各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单。
一种入库资源分配方法,包括:
确定统筹周期;
接收第一用户客户端提交的需要在所述统筹周内补货的补货计划单,所述补货计划单中包括第一用户预约的关于商品入库的预约库容量以及预约入库日期信息,所述预约入库日期位于统筹周期的日期范围内;
根据各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单。
一种入库资源分配装置,包括:
统筹周期确定单元,用于确定统筹周期;
补货计划单接收单元,用于接收第一用户客户端提交的需要在所述统筹周内补货的补货计划单,所述补货计划单中包括第一用户预约的关于商品入库的预约库容量以及预约入库日期信息,所述预约入库日期位于统筹周期的日期范围内;
统筹排序单元,用于根据各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单。
一种计算机系统,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
确定统筹周期;
接收第一用户客户端提交的需要在所述统筹周内补货的补货计划单,所述补货计划单中包括第一用户预约的关于商品入库的预约库容量以及预约入库日期信息,所述预约入库日期位于统筹周期的日期范围内;
根据各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单。
通过本申请实施例,能够提供统筹周期,对于同一统筹周期内的第一用户提交的补货计划单,可以根据各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单。通过这种方式,能够实现对补货计划单的自动化的统筹排序。
在可选的实施方式中,在各日期的库容量充足的情况下,按照所述统筹周期所包含的日期从前到后的顺序,对各补货计划单进行预约,在出现库容量不足的情况下,进行动态调整,按照所述统筹周期所包含的日期从后到前的顺序,对剩余的补货计划单进行预约。这样,可以使得尽量多的量能够预约成功,提高仓库的有效利用率,同时又避免爆仓的情况发生。再者,如果动态调整之后的排序结果中,需要的通知资源量无法降至最低,则还可以通过遗传算法的方式,计划所得排序的最优解,使得在提高仓库有效利用率的同时,降低所需的通知资源量。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请在实际应用中的场景示例图;
图2是本申请实施例提供的方法的流程图;
图3-1、3-2是本申请实施例提供的按日期的仓容量示意图;
图4是本申请实施例提供的一种商品入库资源分配方法的流程图;
图5是本申请实施例提供的一种利用启发式算法对补货计划单进行排序的方法的流程图;
图6是本申请实施例提供的一种采用动态调整对入库预约失败的补货计划单进行排序的方法流程图;
图7是本申请实施例提供的一种调整操作以使打电话次数最少的方法流程图;
图8是本申请实施例提供的一种对入库预约失败的补货计划单进行排序的方法流程图;
图9是本申请实施例提供的利用遗传算法对入库预约失败的补货计划单进行排序的方法流程图;
图10是本申请实施例提供的装置的示意图;
图11是本申请实施例提供的计算机系统的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解本申请提供的技术方案,下面先对本申请技术方案的研究背景进行简单说明。
本申请发明人对传统平台级仓储管理中的入库环节进行研究发现,传统的入库环节实质上是依赖于纯人工的方式分配仓库资源,即,安排商品入库顺序,由第一用户(商家或者卖家用户等)按照被安排的商品入库顺序再安排商品入库。在实际应用中,仓库资源是有限的,如仓库的储存空间、人工资源、设备资源等都是有限的,因此,在分配仓库资源时,常常无法为所有的第一用户都分配到仓库资源,因此,如何在出现仓库资源不足的情况下,使得尽可能多的入库需求分配到对应的库容量,提高仓库的利用率,成为需要重点考虑到问题。
另外,在实际应用中,即使进行了的优化,可能仍然会存在一些无法分配到仓库资源的情况,针对未分配到仓库资源的第一用户,或者未能按照第一用户所希望的目标分配到仓库资源的第一用户,通常需要通过打电话等方式通知这些第一用户入库预约失败,或者实际所分配到的仓库资源的信息,而这种通知的过程中会产生一定的资源消耗。传统的纯人工的资源分配方式基于人工分配经验,无法统筹仓库资源使得仓库资源利用率最大同时使得通知资源消耗最小,这也成为需要考虑的一个问题。
基于此,本申请发明人经过研究提出了本申请的技术方案,本申请的技术核心是,一方面,向第一用户提供入库预约服务,实现统一的入库预约方式;另一方面,对于第一用户提交的入库申请,利用启发式算法进行入库资源合理分配,以计算得到补货计划单的入库排序,使得仓库基于该入库排序进行商品入库处理,能够最大化仓库的资源利用率,另外,在优选的实现方式下,还可以使得通知资源消耗降到最低。
为了达到上述目的,本申请实施例中首先提出了统筹周期的概念,这种统筹周期可以与预计可能会发生大量第一用户集中补货情况的时间段相关,例如,一些大型促销活动等相关的时间段等。具体如,当前时间为2017年10月25号,而2017年11月11号左右平台要举行大促活动,因此,预计在2017年11月11号前后的一段时间内各第一用户的出货量很大,于是,各大第一用户需要提前向“菜鸟仓”补货,则可以将统筹周期设定为2017年11月01日00:00至2017年11月15日00:00。也即,第一用户可以在该时间范围内进行入库预约,之后,将在同一统筹周期预约入库的所有补货计划单进行统筹排序,从而可以通过一个宏观的视角进行入库资源的分配。
另外,考虑库容和收货能力因素,由于库容会产生前后关联影响,因此,分配资源时排序的顺序至关重要。为此,在接收到具体的补货计划单之后,还可以根据各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单。也就是说,本申请实施例中,针对同一统筹周期内的各补货计划单,可以通过预置的算法自动完成统筹排序,而无需工作人员手动排序。其中,对于某第一用户某入库计划单而言,如果成功为该入库计划单预约到指定的入库预约日期,则意味着该入库计划单预约成功,如果某第一用户的全部入库计划单均一次性预约成功,则不需要向该第一用户进行通知。如果全部第一用户的全部入库计划单均一次性预约成功,则证明当前仓库的库容量非常充足,足以满足当前统筹周期内全部补货计划单的入库需求。
但是,在实际应用中,经常会出现仓库的库容量不足的情况,也即,对于同一统筹周期内各第一用户提交的补货计划单而言,可能只能满足部分第一用户的补货需求,在满足了部分第一用户的补货需求,也即为部分第一用户的补货计划单完成预约之后,剩余的库容量可能不足以满足剩余第一用户的全部补货计划单的需求。在这种情况下,本申请实施例也提供了相应的解决方案。
为了便于本领域技术人员理解本申请,下面结合实际应用场景对本申请在实际中的应用情况作解释说明。
需要说明的是,本申请可以应用于网络销售平台级的仓储管理系统中,也可以应用于其他平台的仓储管理系统中,例如,应用于线下物流的仓储管理系统中,只要有商品入库预约需求或商品入库资源分配需求均可以利用本申请的技术方案来实现商品入库预约以及商品入库资源分配。在不同的平台中应用该方法,其技术本质都是相同的,为便于本申请技术方案的具体实现,以下实施例仅以应用于网络销售平台的仓储管理系统中为例进行示例性说明。
参见图1,其示出了本申请在实际应用中的场景示例图,在该场景下,一方面,本申请提供的商品入库预约方法应用于第一服务器101中,该第一服务器101可以部署在网络销售平台的仓储管理系统中;从硬件实现来讲,该第一服务器101是提供计算服务的设备,具体可以Web服务器或者应用程序服务器;从软件实现来将,本申请提供的商品入库预约方法可以以计算机程序的方式配置在该第一服务器101中,该第一服务器101运行该计算机程序以实现相应的功能。该第一服务器101在实际应用中可以作为商品入库预约平台,为第一用户提供商品入库预约业务。
另一方面,本申请提供的商品入库的资源分配方法可以应用于第二服务器102中,该第二服务器102可以部署在网络销售平台的业务系统中;从硬件实现来讲,该第二服务器102是提供计算服务的设备,具体可以Web服务器或者应用程序服务器;从软件实现来将,本申请提供的商品入库的资源分配方法可以以计算机程序的方式配置在该第二服务器102中,该第二服务器102运行该计算机程序以实现相应的功能。而该第二服务器102在实际应用中可以作为商品入库的资源分配平台,为第一用户分配入库资源。
第一服务器101和第二服务器102可以共同看作为商品入库的预约和资源分配平台,仓储管理系统可以利用该平台合理安排仓库资源,保证商品有序入库,提高仓库资源利用率的同时减少其他资源消耗。当然,上述第一服务器与第二服务器主要是从功能的角度进行的划分,在具体实现时,也可以在由同一服务器实现上述两者的功能。
下面结合一个实际业务中的例子,对本申请实施例在实际中的应用情况进行说明。
统筹者通过第二客户端104向第一服务器101发送统筹周期创建信息,第一服务器101根据该统筹周期创建信息创建统筹周期,第一服务器101将创建的统筹周期相关信息发送给第一用户终端103,第一用户终端103根据统筹周期相关信息显示商品入库报名界面。第一用户通过第一用户终端103显示的商品入库报名界面预约商品入库,第一用户终端103根据第一用户的预约信息生成补货计划单,并将补货计划单发送给第一服务器101;第一服务器101将属于同一统筹周期内的补货计划单发送给第二服务器102,第二服务器102利用启发式算法对属于同一统筹预约时间范围内的补货计划单进行排序,得到满足排序目标的排序结果,并生成入库单;第二服务器102将生成的入库单发送给仓库设备105,以使仓库工作人员根据入库单安排商品入库。由此可见,一方面,本申请提供的商品入库预约方法提出了基于统筹周期的商品入库预约方式,向第一用户提供商品入库预约服务,通过这种统筹预约方式保证仓库资源能够顺畅有序地被分配,避免出现爆仓,提高仓库资源利用率。另一方面,本申请提供的商品入库的资源分配方法,使得仓库的资源利用率的同时,使得关于有利于降低通知资源的消耗。
下面对本申请实施例提供的具体技术方案进行详细介绍。
实施例一
首先,该实施例一从宏观的角度,提供了一种入库资源分配系统,如图1所示,该系统可以包括:
第二客户端,用于提交创建统筹周期的请求;
服务器,用于根据所述第二客户端确定统筹周期,并将所述统筹周期相关的信息提供给多个第一用户客户端;
所述第一用户客户端,用于在指定的报名时间内,向所述服务器提交需要在所述统筹周内补货的补货计划单,所述补货计划单中包括第一用户预约的关于商品入库的预约库容量以及预约入库日期信息,所述预约入库日期位于统筹周期的日期范围内;
所述服务器还用于,根据多个第一用户客户端提交的各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单。
具体在进行统筹排序时,所述服务器具体可以用于:在各日期的库容量充足的情况下,按照所述统筹周期所包含的日期从前到后的顺序,对各补货计划单进行预约;在出现库容量不足的情况下,按照所述统筹周期所包含的日期从后到前的顺序,对剩余的补货计划单进行预约。
关于服务器端更具体的统筹排序方法,下面通过实施例二进行详细介绍。
实施例二
参见图2,该图为本申请实施例提供的入库资源分配方法的流程图,具体包括:
S201、确定统筹周期;
具体实现时,该实施例一中各步骤的执行主体可以是服务器,该服务器可以兼具有前述第一服务器以及第二服务器的功能,等等。其中,具体可以通过平台工作人员(俗称“小二”)的申请,创建具体的统筹周期。例如,在某大型促销活动开始之前,“小二”可以根据活动的开始时间等信息,选定一个时间段作为统筹周期,该时间段通常是活动开始前后的一段时间,在该时间内,可能会有大量的第一用户都具有向仓库中进行补货的需求。在确定出具体的统筹周期后,“小二”可以向服务器发起创建统筹周期的请求,然后,服务器完成具体的统筹周期的创建操作。在创建统筹周期时,可以指定统筹预约时间范围信息,本申请实施例中的统筹预约时间范围是指,可以接受第一用户提交的商品入库预约的时间范围,本申请实施例不具体限定所述统筹预约时间范围,所述统筹预约时间范围可以根据实际情况具体设置。例如,当前时间为2017年10月25号,而2017年11月11号左右电商要举行大促活动,预计在2017年11月11号左右的一段时间内各第一用户家的出货量很大,则统筹预约时间范围可以为2017年11月01日00:00至2017年11月15日00:00,等等。
具体实现时,“小二”在发送创建统筹周期的请求时,可以设定以下信息:周期名称、报名时间范围和统筹预约时间范围;然后,第一服务器根据所述统筹周期创建信息创建统筹周期。所谓的报名时间是指第一用户可以报名的时间,统筹预约时间范围具体就是指统筹周期的起止时间。
本申请实施例中提及的周期名称是指统筹周期的名称,本申请实施例不具体限定所述周期名称。作为一种示例,所述周期名称可以和该统筹周期对应的大促活动相关,例如,周期名称为“2017双十一第一统筹周期”。
本申请实施例中提及的报名时间范围是指,第一用户可以进行商品入库预约的时间范围,在报名时间范围内,第一用户可以进行商品入库预约,不在报名时间范围之内,第一用户则不可以进行商品入库预约。
需要说明的是,本申请实施例不具体限定所述报名时间范围和统筹预约时间范围之间的关系,考虑到商家用户报名之后,第二服务器需要对属于同一统筹预约时间范围内的补货计划单进行排序,因此,在一种实现方式中,所述报名时间范围中的最大值可以小于等于所述统筹预约时间范围中的最小值。例如,统筹预约时间范围为2017年11月01日00:00至2017年11月15日00:00,则报名时间范围的最大值为2017年11月01日00:00。
在本申请实施例中一种实现方式中,创建统筹周期之后,可以通知多个第一用户统筹周期已经创建完成,第一用户可以在报名时间范围内进行商品入库预约。具体地,向所述第一用户终端发送统筹周期的相关信息之后,第一用户终端可以向用户显示商品入库报名界面,根据用户输入的信息生成补货计划单。
可以理解的是,所述商品入库的报名界面中可以显示报名时间范围、统筹预约时间范围以及统筹周期名称。除此之外,第一用户终端可以预先保存第一用户名称和用户名称的ID等标识之间的对应关系,第一用户终端也可以预先保存可选的仓库名称和仓库标识之间的对应关系,第一用户在所述报名界面中填写第一用户标识、目标仓库标识、预约库容量、预约入库时间等信息之后,第一用户终端根据第一用户在所述商品入库报名界面中填写的信息,生成所述补货计划单,服务器可以为所述补货计划单生成唯一的补货单号。
需要说明的是,在实际应用中可能存在许多突发状况,导致需要对已经建立好的统筹周期进行修改。例如,大促活动突然被取消,或者举行大促活动的时间发生了变化。在这种情况下,统筹周期的相关信息也需要做出相应的调整。
鉴于此,在本申请实施例中一种实现方式中,服务器还可以对已经建立好的统筹周期进行修改,具体地,首先,所述服务器可以接收所述统筹周期修改信息,所述统筹周期修改信息可以包括:统筹周期的使用状态的修改信息、报名时间范围的修改信息和统筹预约时间范围的修改信息中的一种或多种;然后,根据所述统筹周期修改信息更新对应的统筹周期的相关信息。
可以理解的是,在本申请实施例中,可以根据引起对统筹周期进行修改的原因,对相应的统筹周期信息进行修改。引起对统筹周期进行修改的原因不同,则对应的统筹周期修改信息也不同。因此,统筹周期修改信息可以包括统筹周期的使用状态的修改信息、报名时间范围的修改信息和统筹预约时间范围的修改信息中的一种或多种。
其中,统筹周期的使用状态包括有效状态和无效状态。其中,有效状态是指,该统筹周期依旧有效,只是修改了部分信息,第一用户可以根据修改之后的统筹周期信息进行商品入库预约。无效状态是指,该统筹周期被取消,第一用户不可以再利用该统筹周期进行商品入库预约。
报名时间范围的修改信息是指对统筹周期的报名时间范围进行了修改,所获得的修改后的报名时间范围信息;统筹预约时间范围的修改信息是指对统筹周期的统筹预约时间范围进行了修改,所获得的修改之后的统筹预约时间周期。
服务器接收到统筹周期修改信息后,可以根据所述统筹周期修改信息更新对应的统筹周期的相关信息,以便于第一用户根据更新之后的统筹周期信息进行商品入库预约。
S202、接收第一用户客户端提交的需要在所述统筹周内补货的补货计划单,所述补货计划单中包括第一用户预约的关于商品入库的预约库容量以及预约入库日期信息,所述预约入库日期位于统筹周期的日期范围内;
在设定了具体的统筹周期后,服务器可以向多个第一用户发布关于该统筹周期的信息,第一用户则可以通过其第一用户终端接收到具体的信息,如果在该统筹周期内具有补货需求,则可以向服务器提交补货计划信息,例如,可以以补货计划单的形式存在。具体的,本申请实施例中的补货计划单是指,第一用户利用所述第一用户终端进行商品入库预约所生成的补货计划记录。
可以理解的是,在实际应用中,由于可能存在位于多个不同区域的仓库,因此,一方面,第一用户进行商品入库预约,可以指定商品存放的目标仓库、商品入库时间、入库的商品所占的体积等信息,以便于仓库的工作人员安排预约入库的商品在指定的商品入库时间入库。而商品入库预约失败时,需要知晓预约失败的商品来自哪个第一用户,以及仓库接收商品入库时,也需要知晓入库的商品来自哪个第一用户,也就是说,在补货计划单中,可以包括上述信息。另一方面,在大促期间,许多第一用户都会进行商品入库预约,每个预约订单都会生成一个补货计划单,因此,为了方便管理,可以为每个补货计划单设置一个补货单号,利用该补货单号表示所述补货计划单,这样,就可以根据补货单号检索到对应的补货计划单,从而方便管理。
鉴于此,在本申请实施例中,所述补货计划单可以包括:补货单号、第一用户标识、目标仓库标识、预约库容量、预约入库时间;所述预约入库时间是在统筹预约时间范围内的时间。
其中,补货单号可以看成所述补货计划单的标识,补货单号可以唯一标识所述补货计划单;第一用户标识用于标识该补货计划单的对应的请求预约商品入库的第一用户;目标仓库标识用于标识商品计划存放的目标仓库;预约库容量是指预约入库的商品所占的体积;预约入库时间是指第一用户预约的补货时间,也即希望商品入库的时间。
可以理解的是,由于大促期间进行商品入库预约的第一用户比较多,对应的预约入库的商品所占用的体积也比较大,不一定所有预约入库的商品均能一次性预约成功。鉴于此,在本申请实施例中,所述预约入库时间还可以包括第一预约时间和第二预约时间,其中第一预约时间和第二预约时间不同,并且,所述第一预约时间和第二预约时间均属于统筹预约时间范围内。也就是说,第一用户在进行商品入库预约时,可以选择两个预约时间,其中一个预约时间为首选预约时间,另一个预约时间为备用预约时间,这样,当首选预约时间预约失败时,备用预约时间可能会预约成功。因此,可以提高商品预约入库成功的概率,也可以提高资源分配的灵活性。
S203、根据各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单。
本申请实施例中提及的入仓资源具体可以包括仓库库容和/或仓库收货能力等资源。其中,所述仓库库容是指仓库的容量,也即仓库能够容纳商品的总体积。仓库收货能力是指仓库能够收货的能力,具体地,可以将仓库的人员安排、车辆安排等资源转换为仓库可以收货的体积,即仓库的收货能力。
可以理解的是,只有当仓库库容、仓库的收货能力等满足要求时,商品才能入库。若仓库库容不足或者仓库的收货能力不足,商品均不可以入库。
本申请实施例中提及的仓库的利用率,是指安排入库的商品库容占仓库库容的比例。所述安排入库的商品库容占仓库库容的比例越高,则仓库的利用率越高。
本申请实施例中提及的通知资源是指,在入库预约失败或者改变了第一用户所执行仓库资源的情况下,需要向对应的第一用户进行通知时所需耗费的资源。例如,在为一些第一用户进行入库预约时,出现了失败,则可能需要打电话通知这些第一用户,则“打电话”是一种通知资源。当然,具体实现时,还可以有其他的通知方式,例如,发送邮件或者发送短消息等等,因此,邮件以及短消息等也都属于通知资源。
需要说明的是,启发式算法是一个基于直观或经验构造的算法,在可接受的花费下给出待解决组合优化问题每一个实例的一个可行解。
在本申请实施例中,将启发式算法应用在仓库资源管理中,根据本申请的具体应用场景,对启发式算法的参数进行设置,利用该算法在仓库库容和仓库收货能力受限的情况下,对属于同一仓库的补货计划单进行排序,使得仓库的资源利用率最高,在优选的方式下,还可以使得关于通知入库预约失败的通知资源消耗最低。
具体实现时,具体对补货计划单进行统筹排序的过程中,从大的方面看,首先可以将补货计划单按照某规则进行排序,然后,根据各补货计划单对应的预约入库日期,可以计算出各日期总共所需的预约库容量。之后,可以分别确定统筹日期内每个日期对应的剩余库容量,并判断每个日期的剩余库容量是否大于或等于所述所需的预约库容量。如果每个日期对应的判断结果都是大于或等于对应日期的补货计划单所需的预约库容量,则证明当前排序可用。但是,在实际应用中,首次排序即全部可用的情况并不多见,更多的情况是,只有部分补货计划单能够预约成功,其他的则无法预约到所期望的日期。
而本申请发明人在实现本申请的过程中发现,在其他条件不变的情况下,如果改变对统筹周期内包含的各日期的预约先后顺序,则预约的结果可能会不同。
例如,假设要排序的补货计划单有三个,如表1所示:
表1
补货单号 | 预约日期 | 预约量 |
BH-001 | 2017-03-23 | 25 |
BH-002 | 2017-03-24 | 20 |
BH-003 | 2017-03-25 | 10 |
假设收货能力都是足够的,总库容为100,当前在仓库容量是50,每天出量如图3-1所示,当前日期是21号,在24号,该仓库已经被通过其他途径预约的库容量为5,其他日期无预约。23号的预计出货量为2,24号的预计出货量为3,25号的预计出货量为1。
①若预约顺序是23号—>24号—>25号,则
23号的剩余库容量:100-50+2=52>=25 可约
24号剩余库容量:100-50-(5+25)+(2+3)=25>=20 可约
25号剩余库容量:100-50-(5+25+20)+(2+3+1)=6 <10 不可约
②若预约顺序是24号—>25号—>23号
24号剩余量:100-50-(5)+(2+3)=50 >=20 可约
25号剩余量:100-50-(5+20)+(2+3+1)=31 >=10 可约
23号剩余量:100-50-(5+20+10)+(2)=17 <25 不可约
由此可见,对于同一补货计划单,按照一种日期顺序进行预约的可以预约成功,按照另外一种日期顺序确定不一定能预约成功,所以,补货计划单进程预约时,先约哪个日期,后约哪个日期,是很重要的,不同的选择对应的预约结果会有不同。
另外,本申请发明人还发现,对于同一统筹周期同一仓库内的各补货计划单而言,如果按照统筹周期中各日期从后向前的顺序进行预约,则通常能够使得更多的补货计划单预约成功。
例如,仍然假设补货计划单为表1中所示的三个,如图3-2所示,假设收货能力都是足够的,总库容为100,当前在仓库容量是50,每天出库量0,当前日期是21号,24号已经预约的库容量是5,其他日期无预约。
1)假设N=7,预约日期都在N以内(N为库存安全周期,根据具体行业对应的平均库存周转天数确定,通过在N天之内仓库不会出现爆仓的情况)
预约范围算到28号。
①若预约顺序是23号—>24号—>25号
23号剩余量:100-50-(5)+0=45 >=25 可约
24号剩余量:100-50-(5+25)+0=20 >=20 可约
25号剩余量:100-50-(5+25+20)+0=0 <10 不可约
②若预约顺序是24号—>25号—>23号
24号剩余量:100-50-(5)+0=45 >=20 可约
25号剩余量:100-50-(5+20)+0=25 >=10 可约
23号剩余量:100-50-(5+20+10)+0=15 <25 不可约
③若预约顺序是25号—>24号—>23号
25号剩余量:100-50-(5)+0=45 >=10 可约
24号剩余量:100-50-(5+10)+0=35 >=20 可约
23号剩余量:100-50-(5+10+20)+0=15 <25 不可约
由此可以看出,对于预约入库日期在[统筹周期开始日期,N]区间以内的补货计划单,如果容量足够的时候,顺序是无影响的;当容量不足时,先约所需预约量大的再约所需预约量小的,能使更多的补货计划单预约成功。
2)假设N=3,有些补货计划单的预约入库日期在(N,统筹周期结束日期]区间内,预约范围算到24号。
①若预约顺序是23号—>24号—>25号
23号剩余量:100-50-(5)+0=45 >=25 可约
24号剩余量:100-50-(5+25)+0=20 >=20 可约
25号剩余量:100-50-(5+25+20)+0=0 <10 不可约
②若预约顺序是24号—>25号—>23号
24号剩余量:100-50-(5)+0=45 >=20 可约
25号剩余量:100-50-(5+20)+0=25 >=10 可约
23号剩余量:100-50-(5+20)+0=25 >=25 可约
③若预约顺序是25号—>24号—>23号
25号剩余量:100-50-(5)+0=45 >=10 可约
24号剩余量:100-50-(5)+0=40 >=20 可约
23号剩余量:100-50-(5+20)+0=25 >=25 可约
由此可以看出,在(N,统筹周期结束日期]区间内的补货计划单,先约接近统筹周期结束点的日期,再约前面的日期,在保证N天不爆仓的原则下,就能使更多的预约量约成功。
可见,根据以上例子可见,如果按照统筹周期中的各日期从后向前的顺序进行每个日期的预约,则可以得到最高的仓库利用率。但是,本申请发明人还发现,如果全部按照此规律进行预约,在统筹预约N天以后可能会形成爆仓情况。为此,本申请实施例并没有完全按照此规律进行预约,而是首先按照从前到后的顺序,对统筹周期中的各日期进行预约,在使得一些第一用户的全部补货计划单都已经能够成功预约,绑定了统筹周期中靠前面的一些日期后,对于靠后的日期,再按照从后向前的顺序进行预约,这样,可以避免出现爆仓的情况。
总之,本申请实施例可以利用以上结论进行排序,也即,在各日期的库容量充足的情况下,按照所述统筹周期所包含的日期从前到后的顺序,对各补货计划单进行预约,在出现库容量不足的情况下,就可以按照统筹周期所包含的日期从后到前的顺序,对各日期进行预约。当然,在实际实现时,还可能会进一步进行一些优化。
具体实现时,在上述规则的前提下,首先可以按照各补货计划单的预约入库日期从前到后的顺序,对各补货单进行排序;按照所述统筹周期所包含的日期从前到后的顺序,分别计算各日期所需预约的总库容量,以及各日期的剩余库容量。判断各日期的剩余库容量是否均大于所述所需预约的总库容量。如果否,将已完全分配到所需库容量的第一用户的各补货计划单与对应的预约入库日期进行绑定,将未能完全分配到所需库容量的第一用户确定为降级第一用户,并通过动态调整的方式,对所述降级第一用户的未分配到所需库容量的补货计划单进行重新排序。
例如,假设统筹周期为11月1日至11月5日,当前收到的补货计划单分别为补货计划单1(11/1,20)、补货计划单2(11/2,25)、补货计划单3(11/4,10),等等。则,按照预约入库日期从前到后的顺序,可以排序为补货计划单1、补货计划单2、补货计划单3。之后,可以按照统筹周期从前到后的顺序,计算每个日期的剩余库容量,例如,首先计算11月1日的剩余库容量,判断是否大于20,之后再计算11月2日的剩余库容量,判断是否大于25,以此类推。当然,在实际应用中,预约同一日期的补货计划单的数量可能为多个,因此,每天所需的预约总量可能是多个补货计划单的预约量之和。
其中,具体在对所述降级第一用户的未分配到所需库容量的补货计划单进行重新排序时,首先可以将所述降级第一用户关联的待重新排序的补货计划单重新进行初步排序,然后按照所述统筹周期所包含的日期从后到前的顺序,分别计算各日期所需预约的总库容量,以及各日期的剩余库容量分别计算各日期所需预约的总库容量,以及各日期的剩余库容量。判断各日期的剩余库容量是否均大于所述待重新排序的补货计划单所需预约的总库容量,如果否,则将已分配到所需库容量的补货计划单与对应的预约入库日期进行绑定,并将未能分配到所需库容量的目标补货计划单进行重新排序。
其中,具体在将所述目标第一用户关联的待重新排序的补货计划单重新进行排序时,首先可以确定所述目标仓库对应的行业信息(其中,同一仓库仅用于存放同一行业的商品,同一行业的商品通常可以包括部分在多个不同地域的仓库),根据所述行业信息对应的平均库存周转天数信息,确定目标仓库的安全周转周期N;然后将所述目标第一用户关联的待重新排序的补货计划单,按照预约入库日期进行倒排。将所述统筹周期划分为第一时间段以及第二时间段,其中,第一时间段为从所述统筹周期的起始日期开始到之后第N天确,第二时间段为所述第N天到所述统筹周期的结束日期,然后,按照所述待重新排序的补货计划单对应的预约入库日期,将所述待重新排序的补货计划单分为第一补货计划单集合以及第二补货计划单集合。这样,对于所述第一补货计划单集合,按照预约量从小到大的顺序进行排序,对于第二补货计划单集合,按照按照预约入库日期进行倒排。通过前述例子中的分析可知,这样可以使得更多的量预约成功,提升仓库的利用率。
具体在将未能分配到所需库容量的目标补货计划单进行重新排序时,可以按照所述统筹周期所包含的日期从后到前的顺序,确定是否存在目标日期的剩余库容量大于所述目标补货计划单的预约库存量,如果存在,则将该目标补货计划单与该目标日期绑定。如果统筹周期内所有日期的剩余库容量均小于所述目标补货计划单的预约库存量,则可以确定为降级补货计划单。然后,将所有降级补货计划单按照预约量从小到大的顺序进行排序;确定所述统筹周期内各日期的剩余库容量;取最小预约量的降级补货计划单,按照所述统筹周期所包含的日期从后到前的顺序,确定是否存在目标日期的剩余库容量大于该最小预约量;如果存在,则将该降级补货计划单与该目标日期进行绑定,循环对下一最小预约量的降级补货计划单进行判断。
在通过前述方式对所述降级第一用户的未分配到所需库容量的补货计划单进行重新排序之后,可以使得尽量多的量能够预约成功。另外,在优选的实施方式中,还可以针对得到的统筹排序结果,确定预约失败和/或预约了指定预约入库日期之外的日期的补货计划单,并确定所需的通知资源量;如果所需的通知资源量非最低(例如,最低值为0),则还可以通过调整统筹排序结果,降低所需的通知资源量。
具体实现时,为了能够对通知资源进行量化计算,还可以对第一用户进行分级,也即,对于不同的第一用户而言,可以分配不同的层级,不同的层级可以对应不同的优先级。例如,在一种实现方式下,可以设定6级,依次由高到低为:S级、A级、B级、C级、D级、Z级。没有设定级别的第一用户作为最低级别Z级进行处理。当然,在入库资源充足的情况下,完全按照上述原则进行分配即可,但是,由于总的入库资源是有限的,因此,在分配的过程中,总会出现入库资源到达或者接近临界点的情况,也即,即将会有些第一用户无法分配到入库资源,或者只能为第一用户更换其他的入库时间,等,此时,就会涉及到可能需要动用通知资源向第一用户进行通知的情况。为此,在本申请实施例中,可以将具体的通知资源的使用也与第一用户的层级相关联,例如,可以预先设置通知规则,在该规则中,对于高优先级的第一用户而言,如果出现分配失败或者改变预约资源的情况,则需要进行通知,而如果是低优先级的第一用户,则不需要通知。因此,就可以将资源受限情况下的排序目标设置为:占用的通知资源越少越好,并且资源利用率越大越好。也即,最优解为,通知资源占用最少,且在有限的资源条件下使能预约成功的量最大。虽然看似有两个目标,但是这两个目标并不互斥,所以总体还是个单目标函数。
另外,在分配资源时还可以按照第一用户的优先级的顺序进行分配,使得高优先级的第一用户更优先的配得所需的入库资源。其中高优先级的第一用户通常可以是指更重要的用户,例如,更优质的用户,销量高的用户,信用度高的用户,等等,对于平台而言,更注重这些第一用户的用户体验,因此,可以以第一用户的优先级顺序对入库资源进行分配,从而使得高优先级的第一用户优先配得所希望的入库资源。
总之,在存在不同层级的情况下,在整体上可以先排高优先级,再排低优先级,但在临界点时希望按照占用通知资源最少、能够预约成功的量最多的原则来进行排序。比如,在能力临界点上,第一用户A要是约成功就需要打电话,第一用户B约成功不需要打电话,那么此时应该让第一用户B约成功,等等。这样,一方面使得大部分情况下是优先级高的第一用户能够优先获得入库资源,而在能力临界点上,可能会使得优先级低的第一用户获得更多的资源配得机会。
在上述进行了第一用户分级,以及按照具体的层级对通知资源的使用规则进行了规定的情况下,可以通过以下方式对排序进行调整,以降低所需的通知资源量:如果释放掉为其中一个第一用户份分配的库容量,可使得另一第一用户的全部补货计划订单均在指定预约入库日期内获得库容量,则将该第一用户的库容量释放,将释放掉的库容量分配给所述另一第一用户。
另外,如果调整之后所需的通知资源量仍非最低,则可以针对根据所述降级第一用户的所有补货计划单,重新利用预置的遗传算法进行重新排序,以得到统筹排序的最优解,所述最优解为使得仓库资源利用率最高,且所需的通知资源量最少。也就是说,通过前述各种动态调整的方式仍然无法使得通知资源的消耗量降到最低,则可以改用遗传算法,重新进行计算。其中,虽然遗传算法所需的计算时间可能更多,但是得到最优解的成功率会比较高,因此,可以在需要的时候再使用该方案。
为了更好的理解上述方案,以下将结合图4对利用启发式算法对补货计划单进行排序的方法进行介绍。需要说明的是,在以下所述的各例子中,均以存在第一用户分级的情况为例进行介绍,对于不存在分级的情况,可以看作是只有一个层级时的特例,因此,参照执行即可。另外,在各例子中,预约入库时间均为两个,分别为第一预约入库时间,以及第二预约入库时间。对于仅存在一个预约入库时间的情况,仍然是参照执行即可。
S401:将待排序的所有补货计划单先按照仓库进行分组,同一仓库的补货计划单放入同一分组,map<storeCode,List<补货单>>,针对每一个仓库分组进行处理;
需要说明的是,在实际应用中,参加同一活动的第一用户数量众多,可能来自各行各业,但是,由于同一仓库通常仅用于存放同一行业的商品,因此,可以提前对接收到的补货计划单按照行业进行划分。也即,该步骤S401中待排序的所有补货计划单,可以是已经按照行业进行了划分之后的,某个行业对应的待排序的所有补货计划单。当然,同一行业对应的仓库可能会有多个,分别部署在不同的地理区域,而不同仓库之间的资源等是相互隔离的,因此,首先可以将按照仓库对补货计划单进行分组。
S402:针对同一仓库的所有补货计划单,按照第一用户的级别进行分组,然后将各第一用户组按照第一用户的优先级进行降序排序,级别越高的第一用户越靠前;
S403:针对同一个仓库同一第一用户组,按照第一预约时间从前到后(即从小到大,为防止安全周期以后一段时间形成爆仓,所以算法整体上应从前往后进行预约)进行排序,最后得出初步排好序的第一用户组补货计划单。
针对这些排好序的补货计划单,从前到后可分为三大部分:
1)能力足够,排好序的补货计划单中,第一部分补货计划单(S1部分)是在库容和收货能力都足够的情况下分配的仓库资源,这些补货计划单都按照第一预约时间或者第二预约时间来进行预约,打电话次数为0,(callingCount=0);
2)能力有些够有些不够,在第一部分补货计划单已经占用了部分仓库资源后,到第二部分补货计划单(S2部分)所在的位置时,仓库资源能力不足,针对这部分的补货计划单如何进行排序是个重点,需要既能充分利用能力,又使占用的通知资源最少;
3)能力均不够,第三部分的补货计划单(S3部分),仓库已经没有能力的情况,这些剩下的补货计划单,不用排序,均提示能力不够即可。
针对上述初步排序的补货计划单,参见图5,可以进一步进行以下处理:
S501、针对每个仓库的所有排好序的第一用户组,新建一个map变量,即确定预约量map<日期,量>。
本申请实施例中提及的预约量MAP可以用于按照顺序记录该仓库中对应的入库预约成功的补货计划单。
S502、对仓库中的第一用户组分别进行处理,从高优先级到低优先级依次处理,具体的,对于属于同一统筹预约时间范围内的补货计划单,执行以下各步骤的FOR循环。
S503、针对该第一用户的所有补货计划单,判断是否能一次约成功(第一第二预约时间都要考虑),若能够一次约成功,则确定预约map增加,继续循环下一个第一用户;若不能,则作对该第一用户进行降级,继续循环下一个第一用户。
需要说明的是,虽然S503中的判断依据为预约计划单是否可以约在第一预约时间或第二预约时间,但是,这只是一种示例性的说明,当所述预约计划单中的预约时间只包含一个预约时间例如为第一预约时间时,则S503中的判断依据为预约计划单是否可以约在第一预约时间。
在本申请其它步骤中出现第一预约时间和第二预约时间,也只是一种示例性的说明,当预约时间只包含一个预约时间时,则可以不考虑第二预约时间。
S504:确定MAP量增加。
确定MAP量增加是指,将入库预约成功的补货计划单增加到所述MAP中。
S505:判断是否需要提前结束排序,判断的逻辑是,所有降级第一用户所有补货计划单预约量最小的单子,在统筹预约时间范围内是否有预置时间长度(例如,一天)的剩余能力足够,若有一天能力足够,则继续排序,若没有,则结束排序。
其中,判断是否有一天的剩余能力足够的判断逻辑如下:
1、计算该预约库容量最小的补货计划单对应的预约日期的剩余库容和剩余收货能力。
具体地,剩余库容=总库容-当前在仓-冻结量+出量;
剩余收货能力=总收货能力-冻结量=剩余收货能力-x确认预约量;
剩余能力=min{剩余库容,剩余收货能力}。
其中,总库容为仓库的总体积;当前在仓为仓库中已存放的商品体积;冻结量为该预约日期的已预约库容量和确认预约的库容量的和;出量为该预约日的出货库容量;其中,冻结量可以由如下公式(1)计算获得:
在公式(1)中,d表示当天;x表示查询日;冻结量[d,x]是指从当天到查询日期间的冻结量;N为防止仓库库容供小于需的安全周期,即防爆仓的安全周期;到达率是指商品预约入库的到达准确率,例如,该到达率可以为历史的某天或者某个时间周期内的商品预约入库的实际入库量与预约总量的比值;该到达率也可以是根据历史入库的到达准确率预估的从当天到查询日这段时间的商品入库的到达准确率。
2、计算该预约库容量最小的补货计划单的预约量。判断剩余能力是否大于等于预约量,若大于等于,则表示有一天的剩余能力足够,若小于,则表示没有一天的剩余能力足够。
S506、采用动态调整对降级第一用户的补货计划单进行排序,计算打电话次数和可预约总量,确定最优解。
需要说明的是,虽然图5所示的通知资源为打电话次数,但这仅是一种示例性的说明,通知资源也可以为其他资源,本还实施例不做具体限定。在本申请其它步骤中出现的打电话次数也仅是一种示例性说明。
S506在具体实现时,可以通过如图6所示的方式来实现。
S601、进行调整前,针对入库预约失败的补货计划单,获取第一预约时间和第二预约时间中较大的预约时间,按较大日期倒排。
S602、按照安全天数N的影响推出的结论,将倒排后的补货计划单,分成N以内和N以外的两种情况进行处理,得到一种较好的排序顺序,再以此顺序进行处理其中,进行调整操作使打电话次数最少的基本逻辑是,如果可以牺牲一个第一用户,能够使另外一个第一用户的所有补货计划单都排在第一、第二预约时间,即能够使打电话次数减少,则牺牲该第一用户。
S603、N以外的补货计划单按照较大日期倒排;N以内的补货计划单按照预约量从大到小进行排序,以此作为补货计划单的排序顺序。
S604、对N以外的补货计划单进行排序,排序时先按第一第二预约时间较大日期进行排序,若排不上,再按照小日期进行排序,若也排不上,则按照统筹预约时间范围从大到小依次进行校验,找到能排上的日期,若找不到,则作为降级补货计划单;N以内的补货计划单做相同的处理。
S604中提及的降级补货计划单是指,既不能排在第一预约时间,也不能排在第二预约时间,并且无法排入统筹预约时间范围内的补货计划单。
S605、针对对N以内的降级补货计划单按照预约量从小到大进行排序。
S605中所针对的降级补货计划单是指,经过上述S604对N以外和N以内的补货计划单排序后,所确定的所有降级补货计划单。
S606、针对降级补货计划单进行处理:查询统筹预约时间范围内所有日期的剩余能力,取降级补货计划单中预约量最小的,最靠近统筹周期结束点的日期,若能预约上,则循环下一个降级补货计划单,若不能预约上,则其它降级补货计划单均不能预约上。
S607、调整操作,使打电话次数最少。
S608、将未排上的补货计划单按照统筹预约时间范围从后往前排一遍,哪一天剩余能力足够就排在哪一天。
需要说明的是,对于降级补货计划单,若能将该补货计划单排在其他日期,则将该补货计划单排在能排上的日期,以使得仓库的资源利用率最高。但是,对于这种情况,需要通知第一用户该补货计划单被排在了第一预约时间和第二预约时间之外的时间。
S609、计算打电话次数和可以预约进去的总量。
S610、返回排序结果及相关信息。
关于S601-S610,发明人在研究中发现,对补货计划单进行排序时,补货计划单按照一种顺序可以预约成功,按照另一种顺序则可能预约失败,补货计划单的排序顺序不同,预约的结果也会不同。具体地,在N以内的补货计划单,若库容量足够,则排序顺序对预约的结果没有影响,当库容量不足时,先对预约库容量大的补货计划单进行排序,再对预约库容量小的补货计划单进行排序,能够使得更多的补货计划单预约成功,即预约成功的库容量更多;在N以外的补货计划单,先对后面的日期的补货计划单进行排序,再对前面的日期的补货计划单进行排序,能够使得更多的补货计划单预约成功。
因此,对于N以外的补货计划单按照较大日期倒排;N以内的补货计划单按照预约量从大到小进行排序。
需要说明的是,S607在具体实现时,可以通过图7所示的方式来实现。
S701、针对已经完成的预约结果,计算需要打电话的第一用户所有补货计划单的量needCallAmountList,和已经预约成功(约在第一预约入库日期,第二预约入库日期,或者其他日期)的所有第一用户预约计划单的预约库存量confirmAmountList。
本申请实施例中需要打电话的第一用户是指预约到其他时间或者没有预约上的第一用户,需要打电话通知其预约具体情况的第一用户。
S702、confirmAmountList从小到大进行排序。
S703、若释放confirmAmountList中某第一用户sup1的预约库存量可以使needCallAmountList所需预约库容量最少的第一用户sup2不打电话,则释放confirmAmountList中sup1第一用户的预约库容量,同时将needCallAmountList中sup2第一用户的补货计划单排在第一或第二预约时间,并将sup1从confirmAmountList中移除,sup2从needCallAmountList中移除。
S704、当confirmAmountList释放最多的预约库存量,都无法满足needCallAmountList最少时,结束调整。
关于S701-S704,需要说明的是,进行调整操作使打电话次数最少的基本逻辑是,如果可以牺牲一个第一用户sup1,能够使另外一个第一用户的补货计划单可以预约在第一或第二预约时间,减少了打电话次数,则牺牲第一用户sup1。
S507、确定预约量MAP按照排序结果增加相应值。
S508、结束排序。
可以理解的是,在实际应用中,利用启发式算法对初次分配失败的第一用户分组的补货计划单进行排序时,其得到的排序结果不一定可以使得在仓库资源利用率最高的并且使得关于通知入库预约失败的通知资源消耗最低。即利用利用启发式算法对初次分配失败的第一用户分组的补货计划单进行排序,得到的排序结果并非最优解时,本申请实施例还可以利用遗传算法对初次分配失败的第一用户分组的补货计划单进行排序。根据利用启发式算法对初次分配失败的第一用户分组的补货计划单进行排序得到的排序结果,以及,利用遗传算法对初次分配失败的第一用户分组的补货计划单进行排序得到的排序结果,确定关于补货计划单的入库排序。以下将结合图8对该方法进行介绍。
S801、对前述降级第一用户的补货计划单,利用启发式算法计算得到满足排序目标的第一有效解。其中,第一有效解并非最优解。
本申请实施例中提及的第一有效解是指,利用启发式算法对初次分配失败的第一用户分组的补货计划单进行排序得到的排序结果。
第一有效解并非最优解是指,该第一有效解对应的排序结果并不能使得在仓库资源利用率最高并且使得关于通知入库预约失败的通知资源消耗最低。
S802、对初次分配失败的第一用户分组的补货计划单,利用遗传算法计算得到满足所述排序目标的第二有效解。
本申请实施例中提及的第二有效解是指,利用遗传算法对初次分配失败的第一用户分组的补货计划单进行排序得到的排序结果。
遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
在本申请实施例中,对遗传算法中的参数根据本发明的应用背景进行了具体设置,即设置了与本发明的应用背景相适应的编码形式。具体地,第二服务器设置遗传算法中的染色体表示一种排序方案,该排序方案中包括补货计划单的排序顺序和补货计划单的入库日期;所述第二服务器根据所述排序目标设置遗传算法中的适应度函数。以下将结合图9介绍遗传算法的具体实现方式。
S901、以降级第一用户所有补货计划单作为排序对象。
S901中提及的降级第一用户是指,初次分配失败的第一用户。
S902、指引生成初始化种群。
本申请实施例中提及的初始化种群是根据补货计划单动态生成的,并且,待排序的补货计划单越多,初始化种群的规模越大。
S902可以由S902a-S902d具体实现。
S902a、针对降级第一用户待排序的补货计划单,获取第一第二预约日期较大的那个,然后按照较大日期倒排。
S902b、将倒排后的补货计划单,根据N分为两部分,N以外的补货计划单和N以内的补货计划单。
S902c、N以外的补货计划单能以较大日期倒排,N以内的补货计划单按照预约量从大到小进行排序,以此作为补货计划单的排序顺序。
S902d、预约日期从统筹预约范围内随机等概率生成。
S902a-S902c与S601-S603相同,具体描述可以参考S601-S603部分的描述,在此不再赘述。
S903、计算种群中每条染色体的适应度函数。
本申请实施例中的适应度函数是根据所述排序目标设置的。具体地,所述排序目标包括打电话次数和资源利用率。
S904、保存最好的解,有效解一定优于无效解,有效解中寻找打电话次数最少的解,无效解中寻找可预约成功的库容量最多的解。
S904中的有效解是指,可以将所有待排序的补货计划单均排在统筹预约时间范围内的排序方案。相应的,无效解是指,不能将所有待排序的补货计划单均排在统筹预约时间范围内的排序方案。
需要说明的是,在本申请实施例中,选择最好的解的判断依据可以概括为以下三点。
(1)、有效解的优先级高于无效解,即以将所有待排序的补货计划单均排在统筹预约时间范围内的排序方案为第一优先级。
(2)、对于两个有效解,由于可以预约成功的库容是一定的,则打电话次数越少的解越优。
(3)、对于两个无效解,若可以预约成功的库容相等,则打电话次数越少的解越优,若可以预约成功的库容不等,则可以预约成功的库容越大的解越优。
S905、判断是否提前结束,如果是,执行步骤S908,如果否,执行步骤S906。
在本申请实施例中,有两种情况,遗传算法的迭代计算提前结束。第一种情况是找到最优解时,即找到有效解且打电话次数为0时,迭代提前结束。第二种情况是,连续t代种群均没有进化出一个更优解时,提前结束。其中,t是一个预先设置的值,作为一种示例,t可以为最大进化代数的一半。最大进化代数为预先设置的值,一般在遗传算法设置参数时设定。
S906、进化代数增加。
S907、判断进化代数是否大于最大进化代数,如果是,执行步骤S908,如果否,执行步骤S910。
S908、按照最好的解码操作,输出排序结果和适应度值。
S909、继续循环下一个分组。
S910、选择操作:若有效解个数少于一半,有效解全部进入下一代,其它无效解用轮盘赌选择可预约量最大的解进入下一代种群;若有效解个数大于一半,有效解用轮盘赌选择打电话次数最少的同等数量的个体进入下一代,其它无效解用轮盘赌选择可预约量最大的解进入下一代种群。
S911、交叉操作:排序顺序不进行交叉操作,仅预约时间交叉,采用单点交叉。
S912、变异操作:排序顺序和预约日期均进行变异操作,排序顺序等概变异,预约日期变异概率随着进化代数增大而变大。
S913、生成下一代种群,执行步骤S913。
关于S906-S913,需要说明的是,当遗传算法的迭代计算未提前结束时,采用选择操作、交叉操作以及变异操作产生下一代种群,继续迭代。
对于图9所述的遗传算法,需要说明的是,当待排序的补货计划单的数量比较多时,找到最优解所需的时间会比较长,为了提高性能,可以将待排序的补货计划单分批进行排序,使得染色体范围控制在一定范围内,将分批排序的结果作为总体的排序结果。但是,采用分批排序求解出的排序结果是局部最优解,并非是全局最优解,因此,在实际应用时,可以根据实际业务需要选择合适的分批排序方案,在排序结果接近全局最优解的同时提高排序效率。
在图8所述方法的步骤S802之后,执行步骤S803。
S803、从所述第一有效解和第二有效解中选择一个作为较优解,并根据所述较优解确定关于补货计划单的入库排序。
可以理解的是,第二有效解也不一定是最优解,因此,在本申请实施例中,从第一最优解和第二最优解中选择一个较优解,使该较优解尽可能使得在仓库资源利用率最高,并且尽可能降低关于通知入库预约失败的通知资源消耗。
在本申请实施例中,将较优解作为初次分配失败的第一用户分组的补货计划单的入库排序。则最终生成的关于补货计划单的入库排序包括:所述初次分配成功的补货计划单入库排序和初次分配失败的第一用户分组的补货计划单的入库排序(即所述较优解)。
为方便仓库的工作人员安排入库预约成功的商品入库,本发明提供的商品入库的资源分配方法,在确定关于补货计划单的入库排序之后,还可以根据补货计划单入库排序以及对应的补货计划单生成入库单,并将该入库单发送给仓库设备。
本申请实施例中提及的仓库设备可以是计算机、笔记本、手机等具有数据处理功能的终端,仓库的工作人员可以利用所述仓库设备查看入库单,并根据入库单合理安排仓库的人员以及车辆,保证商品有序入库。
总之,通过本申请实施例,能够提供统筹周期,对于同一统筹周期内的第一用户提交的补货计划单,可以根据各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单。通过这种方式,能够实现对补货计划单的自动排序。
在可选的实施方式中,在各日期的库容量充足的情况下,按照所述统筹周期所包含的日期从前到后的顺序,对各补货计划单进行预约,在出现库容量不足的情况下,进行动态调整,按照所述统筹周期所包含的日期从后到前的顺序,对剩余的补货计划单进行预约。这样,可以使得尽量多的量能够预约成功,提高仓库的有效利用率,同时又避免爆仓的情况发生。再者,如果动态调整之后的排序结果中,需要的通知资源量无法降至最低,则还可以通过遗传算法的方式,计划所得排序的最优解,使得在提高仓库有效利用率的同时,降低所需的通知资源量。
与前述方法相对应,本申请实施例还提供了一种入库资源分配装置,参见图10,该装置具体可以包括:
统筹周期确定单元1001,用于确定统筹周期;
补货计划单接收单元1002,用于接收第一用户客户端提交的需要在所述统筹周内补货的补货计划单,所述补货计划单中包括第一用户预约的关于商品入库的预约库容量以及预约入库日期信息,所述预约入库日期位于统筹周期的日期范围内;
统筹排序单元1003,用于根据各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单。
具体实现时,所述统筹排序单元具体可以用于:
在各日期的库容量充足的情况下,按照所述统筹周期所包含的日期从前到后的顺序,对各补货计划单进行预约;
在出现库容量不足的情况下,按照所述统筹周期所包含的日期从后到前的顺序,对剩余的补货计划单进行预约。
更为具体的,所述统筹排序单元具体可以用于:
按照各补货计划单的预约入库日期从前到后的顺序,对各补货单进行排序;
按照所述统筹周期所包含的日期从前到后的顺序,分别计算各日期所需预约的总库容量,以及各日期的剩余库容量;
判断各日期的剩余库容量是否均大于所述所需预约的总库容量;
如果否,将已完全分配到所需库容量的第一用户的各补货计划单与对应的预约入库日期进行绑定,将未能完全分配到所需库容量的第一用户确定为降级第一用户,对所述降级第一用户的未分配到所需库容量的补货计划单进行重新排序。
具体在对所述降级第一用户的未分配到所需库容量的补货计划单进行重新排序时,所述统筹排序单元具体可以用于:
将所述降级第一用户关联的待重新排序的补货计划单重新进行初步排序;
按照所述统筹周期所包含的日期从后到前的顺序,分别计算各日期所需预约的总库容量,以及各日期的剩余库容量分别计算各日期所需预约的总库容量,以及各日期的剩余库容量;
判断各日期的剩余库容量是否均大于所述待重新排序的补货计划单所需预约的总库容量;
如果否,将已分配到所需库容量的补货计划单与对应的预约入库日期进行绑定,并将未能分配到所需库容量的目标补货计划单进行重新排序。
具体在将所述目标第一用户关联的待重新排序的补货计划单重新进行排序时,所述统筹排序单元具体可以用于:
确定所述目标仓库对应的行业信息,根据所述行业信息对应的平均库存周转天数信息,确定目标仓库的安全周转周期N;
将所述目标第一用户关联的待重新排序的补货计划单,按照预约入库日期进行倒排;
将所述统筹周期划分为第一时间段以及第二时间段,其中,第一时间段为从所述统筹周期的起始日期开始到之后第N天确,第二时间段为所述第N天到所述统筹周期的结束日期;
按照所述待重新排序的补货计划单对应的预约入库日期,将所述待重新排序的补货计划单分为第一补货计划单集合以及第二补货计划单集合;
对于所述第一补货计划单集合,按照预约量从小到大的顺序进行排序,对于第二补货计划单集合,按照按照预约入库日期进行倒排。
具体在将未能分配到所需库容量的目标补货计划单进行重新排序时,所述统筹排序单元具体可以用于:
按照所述统筹周期所包含的日期从后到前的顺序,确定是否存在目标日期的剩余库容量大于所述目标补货计划单的预约库存量,如果存在,则将该目标补货计划单与该目标日期绑定。
另外,所述统筹排序单元具体还可以用于:
如果统筹周期内所有日期的剩余库容量均小于所述目标补货计划单的预约库存量,则确定为降级补货计划单;
将所有降级补货计划单按照预约量从小到大的顺序进行排序;
确定所述统筹周期内各日期的剩余库容量;
取最小预约量的降级补货计划单,按照所述统筹周期所包含的日期从后到前的顺序,确定是否存在目标日期的剩余库容量大于该最小预约量;
如果存在,则将该降级补货计划单与该目标日期进行绑定,循环对下一最小预约量的降级补货计划单进行判断。
在对所述降级第一用户的未分配到所需库容量的补货计划单进行重新排序之后,所述统筹排序单元具体还可以用于:
针对得到的统筹排序结果,确定预约失败和/或预约了指定预约入库日期之外的日期的补货计划单,并确定所需的通知资源量;
如果所需的通知资源量非最低,则通过调整统筹排序结果,降低所需的通知资源量。
具体实现时,所述第一用户分为多个层级,其中,仅在第一用户为高层级用户,且其部分或全部补货计划单预约失败和/或预约到指定预约入库日期之外的日期时,需要向所述第一用户进行通知;
具体在通过调整统筹排序结果,降低所需的通知资源量时,所述统筹排序单元具体可以用于:
如果释放掉为其中一个第一用户份分配的库容量,可使得另一第一用户的全部补货计划订单均在指定预约入库日期内获得库容量,则将该第一用户的库容量释放,将释放掉的库容量分配给所述另一第一用户。
另外,所述统筹排序单元具体还可以用于:
如果调整之后所需的通知资源量仍非最低,则针对根据所述降级第一用户的所有补货计划单,利用预置的遗传算法进行重新排序,以得到统筹排序的最优解,所述最优解为使得仓库资源利用率最高,且所需的通知资源量最少。
具体在利用预置的遗传算法进行重新排序时,所述统筹排序单元具体可以用于:
对所述降级第一用户的所有补货计划单进行排序,得到多种排序方案,其中,不同的排序方案中,对应的统筹周期内包含的各日期的预约先后顺序不同。
具体实现时,所述预约入库时间可以包括:
第一预约入库时间和第二预约入库时间,所述第一预约入库时间和所述第二预约入库时间不相同,并且,均位于统筹预约周期范围内;
对于各第一用户的补货计划单,优先按照第一预约入库时间的先后进行预约,如果某第一用户的补货计划单按照第一预约入库时间无法预约成功,则按照第二预约入库时间为该第一用户进行预约。
另外,所述第一用户分为多个层级,所述统筹排序单元在对所述补货计划单进行统筹排序时,优先对高层级的第一用户对应的补货计划单进行预约。
另外,本申请实施例还提供了一种计算机系统,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
确定统筹周期;
接收第一用户客户端提交的需要在所述统筹周内补货的补货计划单,所述补货计划单中包括第一用户预约的关于商品入库的预约库容量以及预约入库日期信息,所述预约入库日期位于统筹周期的日期范围内;
根据各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单。
其中,图11示例性的展示出了计算机系统的架构,具体可以包括处理器1110,视频显示适配器1111,磁盘驱动器1112,输入/输出接口1113,网络接口1114,以及存储器1120。上述处理器1110、视频显示适配器1111、磁盘驱动器1112、输入/输出接口1113、网络接口1114,与存储器1120之间可以通过通信总线1130进行通信连接。
其中,处理器1110可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器1120可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1120可以存储用于控制计算机系统1100运行的操作系统1121,用于控制计算机系统1100的低级别操作的基本输入输出系统(BIOS)。另外,还可以存储网页浏览器1123,数据存储管理系统1124,以及入库资源分配系统1125等等。上述入库资源分配系统1125就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器1120中,并由处理器1110来调用执行。
输入/输出接口1113用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口1114用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1130包括一通路,在设备的各个组件(例如处理器1110、视频显示适配器1111、磁盘驱动器1112、输入/输出接口1113、网络接口1114,与存储器1120)之间传输信息。
另外,该计算机系统1100还可以从虚拟资源对象领取条件信息数据库1141中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述设备仅示出了处理器1110、视频显示适配器1111、磁盘驱动器1112、输入/输出接口1113、网络接口1114,存储器1120,总线1130等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的入库资源分配方法、装置及计算机系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (15)
1.一种入库资源分配系统,其特征在于,包括:
第二客户端,用于提交创建统筹周期的请求;
服务器,用于根据所述第二客户端确定统筹周期,并将所述统筹周期相关的信息提供给多个第一用户客户端;
所述第一用户客户端,用于在指定的报名时间内,向所述服务器提交需要在所述统筹周期内补货的补货计划单,所述补货计划单中包括第一用户预约的关于商品入库的预约库容量以及预约入库日期信息,所述预约入库日期位于统筹周期的日期范围内;
所述服务器还用于,根据多个第一用户客户端提交的各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单;
所述服务器具体用于:在各日期的库容量充足的情况下,按照所述统筹周期所包含的日期从前到后的顺序,对各补货计划单进行预约,以得到成功预约的补货计划单;在出现库容量不足的情况下,按照所述统筹周期所包含的日期从后到前的顺序,对剩余的补货计划单进行预约,所述剩余的补货计划单为提交的补货计划单中除了成功预约的补货计划单之外的补货计划单。
2.一种入库资源分配方法,其特征在于,包括:
确定统筹周期;
接收第一用户客户端提交的需要在所述统筹周期内补货的补货计划单,所述补货计划单中包括第一用户预约的关于商品入库的预约库容量以及预约入库日期信息,所述预约入库日期位于统筹周期的日期范围内;
根据各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单;
所述将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,包括:
在各日期的库容量充足的情况下,按照所述统筹周期所包含的日期从前到后的顺序,对各补货计划单进行预约,以得到成功预约的补货计划单;
在出现库容量不足的情况下,按照所述统筹周期所包含的日期从后到前的顺序,对剩余的补货计划单进行预约,所述剩余的补货计划单为提交的补货计划单中除了成功预约的补货计划单之外的补货计划单。
3.根据权利要求2所述的方法,其特征在于,
所述将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,还包括:
按照各补货计划单的预约入库日期从前到后的顺序,对各补货单进行排序;
按照所述统筹周期所包含的日期从前到后的顺序,分别计算各日期所需预约的总库容量,以及各日期的剩余库容量;
判断各日期的剩余库容量是否均大于所述所需预约的总库容量;
如果否,将已完全分配到所需库容量的第一用户的各补货计划单与对应的预约入库日期进行绑定,将未能完全分配到所需库容量的第一用户确定为降级第一用户,对所述降级第一用户的未分配到所需库容量的补货计划单进行重新排序。
4.根据权利要求3所述的方法,其特征在于,
所述对所述降级第一用户的未分配到所需库容量的补货计划单进行重新排序,包括:
将所述降级第一用户关联的待重新排序的补货计划单重新进行初步排序;
按照所述统筹周期所包含的日期从后到前的顺序,分别计算各日期所需预约的总库容量,以及各日期的剩余库容量;
判断各日期的剩余库容量是否均大于所述待重新排序的补货计划单所需预约的总库容量;
如果否,将已分配到所需库容量的补货计划单与对应的预约入库日期进行绑定,并将未能分配到所需库容量的目标补货计划单进行重新排序。
5.根据权利要求4所述的方法,其特征在于,所述将所述降级第一用户关联的待重新排序的补货计划单重新进行初步排序,包括:
确定所述目标仓库对应的行业信息,根据所述行业信息对应的平均库存周转天数信息,确定目标仓库的安全周转周期N;
将所述降级第一用户关联的待重新排序的补货计划单,按照预约入库日期进行倒排;
将所述统筹周期划分为第一时间段以及第二时间段,其中,第一时间段为从所述统筹周期的起始日期开始到之后第N天确定,第二时间段为所述第N天到所述统筹周期的结束日期;
按照所述待重新排序的补货计划单对应的预约入库日期,将所述待重新排序的补货计划单分为第一补货计划单集合以及第二补货计划单集合;
对于所述第一补货计划单集合,按照预约量从小到大的顺序进行排序,对于第二补货计划单集合,按照预约入库日期进行倒排。
6.根据权利要求4所述的方法,其特征在于,
所述将未能分配到所需库容量的目标补货计划单进行重新排序,包括:
按照所述统筹周期所包含的日期从后到前的顺序,确定是否存在目标日期的剩余库容量大于所述目标补货计划单的预约库存量,如果存在,则将该目标补货计划单与该目标日期绑定。
7.根据权利要求6所述的方法,其特征在于,
如果统筹周期内所有日期的剩余库容量均小于所述目标补货计划单的预约库存量,则确定为降级补货计划单;
将所有降级补货计划单按照预约量从小到大的顺序进行排序;
确定所述统筹周期内各日期的剩余库容量;
取最小预约量的降级补货计划单,按照所述统筹周期所包含的日期从后到前的顺序,确定是否存在目标日期的剩余库容量大于该最小预约量;
如果存在,则将该降级补货计划单与该目标日期进行绑定,循环对下一最小预约量的降级补货计划单进行判断。
8.根据权利要求3所述的方法,其特征在于,
在对所述降级第一用户的未分配到所需库容量的补货计划单进行重新排序之后,还包括:
针对得到的统筹排序结果,确定预约失败和/或预约了指定预约入库日期之外的日期的补货计划单,并确定所需的通知资源量;
如果所需的通知资源量非最低,则通过调整统筹排序结果,降低所需的通知资源量。
9.根据权利要求8所述的方法,其特征在于,
所述第一用户分为多个层级,其中,仅在第一用户为高层级用户,且其部分或全部补货计划单预约失败和/或预约到指定预约入库日期之外的日期时,需要向所述第一用户进行通知;
所述通过调整统筹排序结果,降低所需的通知资源量,包括:
如果释放掉为其中一个第一用户份分配的库容量,可使得另一第一用户的全部补货计划订单均在指定预约入库日期内获得库容量,则将该第一用户的库容量释放,将释放掉的库容量分配给所述另一第一用户。
10.根据权利要求9所述的方法,其特征在于,
如果调整之后所需的通知资源量仍非最低,则针对根据所述降级第一用户的所有补货计划单,利用预置的遗传算法进行重新排序,以得到统筹排序的最优解,所述最优解为使得仓库资源利用率最高,且所需的通知资源量最少。
11.根据权利要求10所述的方法,其特征在于,
所述利用预置的遗传算法进行重新排序,包括:
对所述降级第一用户的所有补货计划单进行排序,得到多种排序方案,其中,不同的排序方案中,对应的统筹周期内包含的各日期的预约先后顺序不同。
12.根据权利要求2至11任一项所述的方法,其特征在于,
所述预约入库时间包括:
第一预约入库时间和第二预约入库时间,所述第一预约入库时间和所述第二预约入库时间不相同,并且,均位于统筹预约周期范围内;
对于各第一用户的补货计划单,优先按照第一预约入库时间的先后进行预约,如果某第一用户的补货计划单按照第一预约入库时间无法预约成功,则按照第二预约入库时间为该第一用户进行预约。
13.根据权利要求2至11任一项所述的方法,其特征在于,
所述第一用户分为多个层级,在对所述补货计划单进行统筹排序时,优先对高层级的第一用户对应的补货计划单进行预约。
14.一种入库资源分配装置,其特征在于,包括:
统筹周期确定单元,用于确定统筹周期;
补货计划单接收单元,用于接收第一用户客户端提交的需要在所述统筹周期内补货的补货计划单,所述补货计划单中包括第一用户预约的关于商品入库的预约库容量以及预约入库日期信息,所述预约入库日期位于统筹周期的日期范围内;
统筹排序单元,用于根据各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单;
其中,所述将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,包括:
在各日期的库容量充足的情况下,按照所述统筹周期所包含的日期从前到后的顺序,对各补货计划单进行预约,以得到成功预约的补货计划单;
在出现库容量不足的情况下,按照所述统筹周期所包含的日期从后到前的顺序,对剩余的补货计划单进行预约,所述剩余的补货计划单为提交的补货计划单中除了成功预约的补货计划单之外的补货计划单。
15.一种计算机系统,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
确定统筹周期;
接收第一用户客户端提交的需要在所述统筹周期内补货的补货计划单,所述补货计划单中包括第一用户预约的关于商品入库的预约库容量以及预约入库日期信息,所述预约入库日期位于统筹周期的日期范围内;
根据各补货计划单的预约库容量以及预约入库日期信息,以及目标仓库在所述统筹周期内每日的可用库容量,将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,以用于按照统筹排序结果为所述目标仓库生成入库单;
其中,所述将所述统筹周期内同一目标仓库对应的补货计划单进行统筹排序,包括:
在各日期的库容量充足的情况下,按照所述统筹周期所包含的日期从前到后的顺序,对各补货计划单进行预约,以得到成功预约的补货计划单;
在出现库容量不足的情况下,按照所述统筹周期所包含的日期从后到前的顺序,对剩余的补货计划单进行预约,所述剩余的补货计划单为提交的补货计划单中除了成功预约的补货计划单之外的补货计划单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810215139.6A CN110276568B (zh) | 2018-03-15 | 2018-03-15 | 入库资源分配方法、装置及计算机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810215139.6A CN110276568B (zh) | 2018-03-15 | 2018-03-15 | 入库资源分配方法、装置及计算机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110276568A CN110276568A (zh) | 2019-09-24 |
CN110276568B true CN110276568B (zh) | 2024-01-19 |
Family
ID=67958104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810215139.6A Active CN110276568B (zh) | 2018-03-15 | 2018-03-15 | 入库资源分配方法、装置及计算机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110276568B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113019937B (zh) * | 2019-12-09 | 2023-04-28 | 顺丰科技有限公司 | 分拣策略的生成方法、装置、设备及存储介质 |
CN111461599B (zh) * | 2020-03-30 | 2024-04-09 | 京东科技控股股份有限公司 | 模式状态的切换方法和装置、存储介质、电子装置 |
CN113762549B (zh) * | 2020-08-17 | 2024-03-01 | 北京京东振世信息技术有限公司 | 一种预约仓库送货的处理方法、装置及存储介质 |
EP4207018A4 (en) * | 2020-09-30 | 2024-10-09 | Beijing Wodong Tianjun Information Tech Co Ltd | METHOD AND DEVICE FOR DETERMINING THE STORAGE QUANTITY AS WELL AS COMPUTER STORAGE MEDIUM AND ELECTRONIC DEVICE |
CN112785230A (zh) * | 2021-01-22 | 2021-05-11 | 广州快批信息科技有限公司 | 一种入库单生成方法、系统、计算机设备及存储介质 |
CN113592245A (zh) * | 2021-07-05 | 2021-11-02 | 杭州智家通科技有限公司 | 库存调整方法及装置 |
CN114492883B (zh) * | 2022-01-12 | 2024-08-20 | 北京京东振世信息技术有限公司 | 送货时段提示信息生成方法、装置、电子设备和可读介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60137704A (ja) * | 1983-12-27 | 1985-07-22 | Sumitomo Metal Ind Ltd | 自動倉庫制御方法 |
JP2009070016A (ja) * | 2007-09-12 | 2009-04-02 | Hitachi Consulting Co Ltd | 在庫計画システム |
CN105023133A (zh) * | 2015-08-13 | 2015-11-04 | 四川长虹电器股份有限公司 | 基于数据仓库的库龄分析方法 |
CN105427070A (zh) * | 2015-11-06 | 2016-03-23 | 北京京东尚科信息技术有限公司 | 一种降低库存碎片率的方法及装置 |
CN105976030A (zh) * | 2016-03-15 | 2016-09-28 | 武汉宝钢华中贸易有限公司 | 基于多智能体月台调度智能排序模型的构造 |
CN106203894A (zh) * | 2015-04-30 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 商品对象的库存信息的处理方法及系统 |
CN106600195A (zh) * | 2016-12-12 | 2017-04-26 | 深圳市跨境翼电子商务股份有限公司 | 一种智能拣货系统及方法 |
CN106910034A (zh) * | 2015-12-22 | 2017-06-30 | 阿里巴巴集团控股有限公司 | 商品对象调拨方法及装置 |
CN106960295A (zh) * | 2016-01-11 | 2017-07-18 | 阿里巴巴集团控股有限公司 | 一种调拨方法及装置、预售系统 |
CN106991544A (zh) * | 2016-01-20 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 调拨系统及调拨方法 |
CN107038166A (zh) * | 2016-02-03 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 查询可预约仓库容量、预约及取消预约入库方法及装置 |
CN107341629A (zh) * | 2017-05-24 | 2017-11-10 | 国网北京市电力公司 | 库位分配方法和装置 |
CN107437162A (zh) * | 2017-08-14 | 2017-12-05 | 金蝶软件(中国)有限公司 | 一种货物入库的提示方法及终端设备 |
-
2018
- 2018-03-15 CN CN201810215139.6A patent/CN110276568B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60137704A (ja) * | 1983-12-27 | 1985-07-22 | Sumitomo Metal Ind Ltd | 自動倉庫制御方法 |
JP2009070016A (ja) * | 2007-09-12 | 2009-04-02 | Hitachi Consulting Co Ltd | 在庫計画システム |
CN106203894A (zh) * | 2015-04-30 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 商品对象的库存信息的处理方法及系统 |
CN105023133A (zh) * | 2015-08-13 | 2015-11-04 | 四川长虹电器股份有限公司 | 基于数据仓库的库龄分析方法 |
CN105427070A (zh) * | 2015-11-06 | 2016-03-23 | 北京京东尚科信息技术有限公司 | 一种降低库存碎片率的方法及装置 |
CN106910034A (zh) * | 2015-12-22 | 2017-06-30 | 阿里巴巴集团控股有限公司 | 商品对象调拨方法及装置 |
CN106960295A (zh) * | 2016-01-11 | 2017-07-18 | 阿里巴巴集团控股有限公司 | 一种调拨方法及装置、预售系统 |
CN106991544A (zh) * | 2016-01-20 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 调拨系统及调拨方法 |
CN107038166A (zh) * | 2016-02-03 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 查询可预约仓库容量、预约及取消预约入库方法及装置 |
CN105976030A (zh) * | 2016-03-15 | 2016-09-28 | 武汉宝钢华中贸易有限公司 | 基于多智能体月台调度智能排序模型的构造 |
CN106600195A (zh) * | 2016-12-12 | 2017-04-26 | 深圳市跨境翼电子商务股份有限公司 | 一种智能拣货系统及方法 |
CN107341629A (zh) * | 2017-05-24 | 2017-11-10 | 国网北京市电力公司 | 库位分配方法和装置 |
CN107437162A (zh) * | 2017-08-14 | 2017-12-05 | 金蝶软件(中国)有限公司 | 一种货物入库的提示方法及终端设备 |
Non-Patent Citations (4)
Title |
---|
Performance Improvement of Inventory Management System Processes by an Automated Warehouse Management System;Anas M.Atieh et al;《Procedia CIRP》;20161231;全文 * |
云环境下的集散型物流服务协同模型与优化;傅小康;《中国博士学位论文全文数据库电子期刊 经济与管理科学辑》;20161215;第2016年卷(第12期);全文 * |
电子商务配送中心的设计与优化策略研究;王文蕊;《中国博士学位论文全文数据库电子期刊 经济与管理科学辑》;20150415;第2015年卷(第4期);全文 * |
考虑补货周期偏移的最优库存控制双层规划;高清平 等;《西南交通大学学报》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110276568A (zh) | 2019-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110276568B (zh) | 入库资源分配方法、装置及计算机系统 | |
CN110276571B (zh) | 货物调度方法和装置以及计算机可读存储介质 | |
CN112001681B (zh) | 一种仓储管理方法、装置、平台和计算机可读存储介质 | |
Torabi et al. | Fulfillment source allocation, inventory transshipment, and customer order transfer in e-tailing | |
CN109711778B (zh) | 一种仓储网络的库存调拨方法、装置及存储介质 | |
Abdelmaguid et al. | A genetic algorithm approach to the integrated inventory-distribution problem | |
CN109961306B (zh) | 一种物品的库存分配方法和装置 | |
CN106020966A (zh) | 用于将从客户接收的任务智能地分布于多个劳动资源间的系统和方法 | |
CN111401619A (zh) | 采购订单处理方法、装置、电子设备及存储介质 | |
CN111932161B (zh) | 针对物品的车辆调度方法、装置、电子设备和计算机介质 | |
CN114091988A (zh) | 一种目标物品的仓间调度方法和系统 | |
CN111260274A (zh) | 用于二级库存分配的方法和系统 | |
CN113191713A (zh) | 仓库缺货转仓方法、装置、设备及存储介质 | |
CN111985862A (zh) | 定位库存物品的方法和装置 | |
CN112785211B (zh) | 一种库存管理方法和装置 | |
CN109934427B (zh) | 生成物品分配方案的方法和装置 | |
CN113222490B (zh) | 一种库存分配方法和装置 | |
CN113537861B (zh) | 补货方法和补货装置 | |
CN112785025B (zh) | 仓库布局方法和装置 | |
CN111027853A (zh) | 密集仓储的订单分配方法、装置和电子设备 | |
CN110555641B (zh) | 一种仓储调拨方法和装置 | |
CN115713200A (zh) | 库存调拨、订单处理、调度数据的处理方法和装置 | |
CN115482051A (zh) | 基于erp系统的商品管理方法、装置、设备及可读存储介质 | |
CN113222304A (zh) | 一种库存调度方法和装置 | |
CN115730888A (zh) | 货品库存分配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |