一种物品组装方法和装置转让专利

申请号 : CN201810971776.6

文献号 : CN110858336A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘宁宋磊董伟王媛杨冬越

申请人 : 北京京东尚科信息技术有限公司北京京东世纪贸易有限公司

摘要 :

本发明公开了一种物品组装方法和装置,涉及仓储物流领域。该方法的一具体实施方式包括:接收物品组装请求,获取待组装物品的特征值,确定所有待组装物品的总特征值;当总特征值超出预定特征值阈值时,根据预定特征值阈值以及物品的特征值,对所有物品进行分组处理,得到相应的物品组合方式。该实施方式可以使用尽可能少的箱子完成打包,并能够综合考虑箱子内物品的价格、重量和最终成本等特征,以有效评价各个打包方案,实现最优打包,并有效减少运营成本和风险。

权利要求 :

1.一种物品组装方法,其特征在于,包括:

接收物品组装请求,获取待组装物品的特征值,确定所有待组装物品的总特征值;

当所述总特征值超出预定特征值阈值时,根据所述预定特征值阈值以及物品的特征值,对所有物品进行分组处理,得到相应的物品组合方式。

2.根据权利要求1所述的方法,其特征在于,所述特征值包括价格以及体积;

所述当所述总特征值超出预定特征值阈值时,根据所述预定特征值阈值以及物品的特征值,对所有物品进行分组处理,包括:当所有物品的总价格超出预定价格阈值时,根据价格对物品进行排序,并按序提取价格之和不超出所述预定价格阈值的物品组合为一组;或当所有物品的总体积超出预定体积阈值时,根据体积对物品进行排序,并按序提取体积之和不超出所述预定体积阈值的物品组合为一组;或当所有物品的总价格超出所述预定价格阈值、且总体积超出所述预定体积阈值时,根据价格以及体积对物品进行排序,并按序提取价格之和不超出所述预定价格阈值、且体积之和不超出所述预定体积阈值的物品组合为一组。

3.根据权利要求2所述的方法,其特征在于,还包括:

移动所得价格排序中的第一个物品至队列末端,得到移动后的排序,按序提取价格之和不超出所述预定价格阈值的物品组合为一组;或移动所得体积排序中的第一个物品至队列末端,得到移动后的排序,并按序提取体积之和不超出所述预定体积阈值的物品组合为一组;或移动所得价格和体积排序中的第一个物品至队列末端,得到移动后的排序,并按序提取价格之和不超出所述预定价格阈值、且体积之和不超出所述预定体积阈值的物品组合为一组;

重复上述过程,将每次所得排序中的第一个物品移动至队列末端,得到与每个排序相应的物品组合方式,直至移动后的排序与未移动时的排序相同为止。

4.根据权利要求3所述的方法,其特征在于,在所述得到与每个排序相应的物品组合方式,直至移动后的排序与未移动时的排序相同为止之后,还包括:根据物品的特征值以及预定相似度确定方式,分析与每个排序相应的物品组合方式之间的相似度;

统计与每个排序中相应的所有物品组合方式的总相似度,提取总相似度最小的排序,并将与所提取的排序相应的物品组合方式确定为物品组合执行方式。

5.根据权利要求2所述的方法,其特征在于,所述当所述总特征值超出预定特征值阈值时,根据所述预定特征值阈值以及物品的特征值,对所有物品进行分组处理,包括:将同一价格的物品归为一类,从每个类中提取物品进行组合,且所提取的物品价格之和不超出所述预定价格阈值、且体积之和不超出所述预定装箱体积;或将同一体积的物品归为一类,从每个类中提取物品进行组合,且所提取的物品价格之和不超出所述预定价格阈值、且体积之和不超出所述预定装箱体积。

6.一种物品组装装置,其特征在于,包括:

特征值获取模块,用于接收物品组装请求,获取待组装物品的特征值,确定所有待组装物品的总特征值;

物品组装模块,用于当所述总特征值超出预定特征值阈值时,根据所述预定特征值阈值以及物品的特征值,对所有物品进行分组处理,得到相应的物品组合方式。

7.根据权利要求6所述的装置,其特征在于,所述特征值包括价格以及体积;

所述物品组装模块,用于:

当所有物品的总价格超出预定价格阈值时,根据价格对物品进行排序,并按序提取价格之和不超出所述预定价格阈值的物品组合为一组;或当所有物品的总体积超出预定体积阈值时,根据体积对物品进行排序,并按序提取体积之和不超出所述预定体积阈值的物品组合为一组;或当所有物品的总价格超出所述预定价格阈值、且总体积超出所述预定体积阈值时,根据价格以及体积对物品进行排序,并按序提取价格之和不超出所述预定价格阈值、且体积之和不超出所述预定体积阈值的物品组合为一组。

8.根据权利要求7所述的装置,其特征在于,所述物品组装模块,还用于:移动所得价格排序中的第一个物品至队列末端,得到移动后的排序,按序提取价格之和不超出所述预定价格阈值的物品组合为一组;或移动所得体积排序中的第一个物品至队列末端,得到移动后的排序,并按序提取体积之和不超出所述预定体积阈值的物品组合为一组;或移动所得价格和体积排序中的第一个物品至队列末端,得到移动后的排序,并按序提取价格之和不超出所述预定价格阈值、且体积之和不超出所述预定体积阈值的物品组合为一组;

重复上述过程,将每次所得排序中的第一个物品移动至队列末端,得到与每个排序相应的物品组合方式,直至移动后的排序与未移动时的排序相同为止。

9.根据权利要求8所述的装置,其特征在于,所述物品组装模块,还用于:根据物品的特征值以及预定相似度确定方式,分析与每个排序相应的物品组合方式之间的相似度;

统计与每个排序中相应的所有物品组合方式的总相似度,提取总相似度最小的排序,并将与所提取的排序相应的物品组合方式确定为物品组合执行方式。

10.根据权利要求7所述的装置,其特征在于,所述物品组装模块,用于:将同一价格的物品归为一类,从每个类中提取物品进行组合,且所提取的物品价格之和不超出所述预定价格阈值、且体积之和不超出所述预定装箱体积;或将同一体积的物品归为一类,从每个类中提取物品进行组合,且所提取的物品价格之和不超出所述预定价格阈值、且体积之和不超出所述预定装箱体积。

11.一种电子设备,其特征在于,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。

12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。

说明书 :

一种物品组装方法和装置

技术领域

[0001] 本发明涉及仓储物流领域,尤其涉及一种物品组装方法和装置。

背景技术

[0002] 电商领域特别是跨境电商中,用户下单可能会购买多个物品。但海关规定,每次进入海关的物品总额不能超出一定值(例如2000元),否则不能进关。所以,若用户下单总金额超出该值,就必须要使用多个箱子分开进行包装运输。
[0003] 现有打包方式,主要是将物品按其体积包装到合适尺寸的箱子中。但在实现本发明的过程中,发明人发现现有技术至少存在如下问题:
[0004] 现有打包方式侧重点在于打包速度,没有在满足海关的要求下,使用尽可能少的箱子,以节约运输成本;且没有针对同时将多个物品以高安全性和低成本的方式打包到同一个箱子的解决方案,特别是跨境电商。

发明内容

[0005] 有鉴于此,本发明实施例提供一种物品组装方法和装置,至少能够解决现有技术针对跨境电商,没有将多个物品以高安全性和低成本的方式打包到同一个箱子的解决方案。
[0006] 为实现上述目的,根据本发明实施例的一个方面,提供了一种物品组装方法,包括:接收物品组装请求,获取待组装物品的特征值,确定所有待组装物品的总特征值;当总特征值超出预定特征值阈值时,根据预定特征值阈值以及物品的特征值,对所有物品进行分组处理,得到相应的物品组合方式。
[0007] 可选的,所述特征值包括价格以及体积;
[0008] 当总特征值超出预定特征值阈值时,根据预定特征值阈值以及物品的特征值,对所有物品进行分组处理,包括:
[0009] 当所有物品的总价格超出预定价格阈值时,根据价格对物品进行排序,并按序提取价格之和不超出预定价格阈值的物品组合为一组;或
[0010] 当所有物品的总体积超出预定体积阈值时,根据体积对物品进行排序,并按序提取体积之和不超出预定体积阈值的物品组合为一组;或
[0011] 当所有物品的总价格超出预定价格阈值、且总体积超出预定体积阈值时,根据价格以及体积对物品进行排序,并按序提取价格之和不超出预定价格阈值、且体积之和不超出预定体积阈值的物品组合为一组。
[0012] 可选的,还包括:
[0013] 移动所得价格排序中的第一个物品至队列末端,得到移动后的排序,按序提取价格之和不超出预定价格阈值的物品组合为一组;或
[0014] 移动所得体积排序中的第一个物品至队列末端,得到移动后的排序,并按序提取体积之和不超出预定体积阈值的物品组合为一组;或
[0015] 移动所得价格和体积排序中的第一个物品至队列末端,得到移动后的排序,并按序提取价格之和不超出预定价格阈值、且体积之和不超出预定体积阈值的物品组合为一组;
[0016] 重复上述过程,将每次所得排序中的第一个物品移动至队列末端,得到与每个排序相应的物品组合方式,直至移动后的排序与未移动时的排序相同为止。
[0017] 可选的,在得到与每个排序相应的物品组合方式,直至移动后的排序与未移动时的排序相同为止之后,还包括:根据物品的特征值以及预定相似度确定方式,分析与每个排序相应的物品组合方式之间的相似度;统计与每个排序中相应的所有物品组合方式的总相似度,提取总相似度最小的排序,并将与所提取的排序相应的物品组合方式确定为物品组合执行方式。
[0018] 可选的,当总特征值超出预定特征值阈值时,根据预定特征值阈值以及物品的特征值,对所有物品进行分组处理,包括:
[0019] 将同一价格的物品归为一类,从每个类中提取物品进行组合,且所提取的物品价格之和不超出预定价格阈值、且体积之和不超出预定装箱体积;或
[0020] 将同一体积的物品归为一类,从每个类中提取物品进行组合,且所提取的物品价格之和不超出预定价格阈值、且体积之和不超出预定装箱体积。
[0021] 为实现上述目的,根据本发明实施例的另一方面,提供了一种物品组装装置,包括:
[0022] 特征值获取模块,用于接收物品组装请求,获取待组装物品的特征值,确定所有待组装物品的总特征值;
[0023] 物品组装模块,用于当总特征值超出预定特征值阈值时,根据预定特征值阈值以及物品的特征值,对所有物品进行分组处理,得到相应的物品组合方式。
[0024] 可选的,特征值包括价格以及体积;
[0025] 物品组装模块,用于:
[0026] 当所有物品的总价格超出预定价格阈值时,根据价格对物品进行排序,并按序提取价格之和不超出预定价格阈值的物品组合为一组;或
[0027] 当所有物品的总体积超出预定体积阈值时,根据体积对物品进行排序,并按序提取体积之和不超出预定体积阈值的物品组合为一组;或
[0028] 当所有物品的总价格超出预定价格阈值、且总体积超出预定体积阈值时,根据价格以及体积对物品进行排序,并按序提取价格之和不超出预定价格阈值、且体积之和不超出预定体积阈值的物品组合为一组。
[0029] 可选的,所述物品组装模块,还用于:
[0030] 移动所得价格排序中的第一个物品至队列末端,得到移动后的排序,按序提取价格之和不超出预定价格阈值的物品组合为一组;或
[0031] 移动所得体积排序中的第一个物品至队列末端,得到移动后的排序,并按序提取体积之和不超出预定体积阈值的物品组合为一组;或
[0032] 移动所得价格和体积排序中的第一个物品至队列末端,得到移动后的排序,并按序提取价格之和不超出预定价格阈值、且体积之和不超出预定体积阈值的物品组合为一组;
[0033] 重复上述过程,将每次所得排序中的第一个物品移动至队列末端,得到与每个排序相应的物品组合方式,直至移动后的排序与未移动时的排序相同为止。
[0034] 可选的,所述物品组装模块,还用于:根据物品的特征值以及预定相似度确定方式,分析与每个排序相应的物品组合方式之间的相似度;统计与每个排序中相应的所有物品组合方式的总相似度,提取总相似度最小的排序,并将与所提取的排序相应的物品组合方式确定为物品组合执行方式。
[0035] 可选的,所述物品组装模块,用于:
[0036] 将同一价格的物品归为一类,从每个类中提取物品进行组合,且所提取的物品价格之和不超出预定价格阈值、且体积之和不超出预定装箱体积;或
[0037] 将同一体积的物品归为一类,从每个类中提取物品进行组合,且所提取的物品价格之和不超出预定价格阈值、且体积之和不超出预定装箱体积。
[0038] 为实现上述目的,根据本发明实施例的再一方面,提供了一种物品组装电子设备。
[0039] 本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的物品组装方法。
[0040] 为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的物品组装方法。
[0041] 根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:利用“分裂”的方式,将多个物品打包到一个箱子中,以减少箱子数量;并考虑重量、成本、价格等因素,选取最优惠的打包方案,以降低运输成本以及运输风险。
[0042] 上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

[0043] 附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
[0044] 图1是根据本发明实施例的一种物品组装方法的主要流程示意图;
[0045] 图2是本发明实施例提供的一种物品分裂过程以及打包过程;
[0046] 图3是本发明实施例提供的另一种物品分裂过程以及打包过程;
[0047] 图4是根据本发明实施例的一种物品组装装置的主要模块示意图;
[0048] 图5是本发明实施例可以应用于其中的示例性系统架构图;
[0049] 图6是适于用来实现本发明实施例的移动设备或服务器的计算机系统的结构示意图。

具体实施方式

[0050] 以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0051] 传统的电商,其交易买卖双方一般属于一个国家,即国内的商家卖家在线销售给国内的买家;而跨境电商是不同国别或关境地区间的买卖双方进行的交易,从业务模式上简单来看,多了国际物流、出入境清关、国际结算等业务。
[0052] 需要说明的是,因为跨境是从国外到国内的,一个包裹可能包含不同用户的物品,到国内后再拆包邮寄给用户,而国内不存在这种情况,因此本发明主要考虑跨境电商,所涉及的物品均为跨境物品。
[0053] 参见图1,示出的是本发明实施例提供的一种物品组装方法的主要流程图,包括如下步骤:
[0054] S101:接收物品组装请求,获取待组装物品的特征值,确定所有待组装物品的总特征值;
[0055] S102:当总特征值超出预定特征值阈值时,根据预定特征值阈值以及物品的特征值,对所有物品进行分组处理,得到相应的物品组合方式。
[0056] 上述实施方式中,对于步骤S101,海关对于过境物品价格有所限制,而装箱对物品又有体积限制,因此,本发明主要考虑物品价格以及体积(即长宽高)两个因素。
[0057] 对于步骤S102,设定每个跨境的箱子中物品总额不能超过ap元,本发明以2000元为例进行说明(这里的价钱也可以是其他单位,例如美元,本发明以人民币为例进行说明);电商所采用的箱子体积,其长宽高用[boxwidth,boxpepth,boxhigh]来表示,本发明以[2,
2,3]为例进行说明。
[0058] 对于用户所购买的跨境物品goods,用数组[price,width,depth,hight]表示其价格和体积,并且假设都是正整数。需要说明的是,这里的用户不限于是一个用户,因为可以将多个用户所购买的物品一起运输,入关后再拆箱分发邮寄。
[0059] 若用户一次购买了n个物品,可以用如下矩阵表示:
[0060]
[0061] 若所有物品的总价格小于等于海关所设定的价格、且总体积小于等于装箱体积时,那么只需要一个箱子装箱即可。例如,用户购买4件物品为:
[0062]
[0063] 但若所有物品的总体积超过箱子的体积、和/或总价格超出海关设定的总价格时,是需要对物品进行“分裂”操作的,即需要用多个箱子进行组装的。例如,用户所购买的4件物品为:
[0064] 或者
[0065] 或者
[0066] 需要两个箱子,对于物品g4需单独装箱,其余三个物品一起装箱。
[0067] 极端情况,需要每件单独包装,例如:
[0068]
[0069] 对于超限的跨境物品,可以按照其体积和价格进行排序,具体地,先按照物品价格进行排序,然后再根据物品体积对同一价格的物品进行排序。
[0070] 需要说明的是,这里的排序是必须过程,以能够尽快找到哪些物品能够放置于同一箱子。排序可以是降序,也可以是升序。
[0071] 生活中,通常会将极端的物品单独处理,所谓极端就是过大或过小的物品,可以优先处理也可以最后处理,这样就无需考虑物品在一起的所有组合,只要能有效利用箱子空间,使用尽量少的箱子即可。例如:
[0072] 1)装箱前有个过滤机制,将形状超出装箱规格的物品过滤出来,进行单独装箱;例如体积为[5,5,1]的物品;
[0073] 2)对于体积特别小的物品,可以放置于最后处理;例如体积为[1,0.5,0.5]的物品,最后再安置即可。
[0074] 对于物品的“分裂”过程,可以采用“二叉树”的方式处理。在二叉树中,每个节点最多有两个子树,即“左子树”和“右子树”。对应于本发明中,即每个箱子中的物品至多可分裂至两个箱子中,不断进行这个操作,直到所有物品都能放到箱子中为止。
[0075] 参见图2,演示了物品的“分裂”过程与打包结果,其中,“Spliting”表示分裂过程,“Create New Box”表示创建新箱子,后面输出的是箱子里面的物品;另外,“PRI”表示物品价格;“WDH”表示物品长宽高;“VOL”表示物品体积。
[0076] 1)初始时刻,假设所有物品都放在一个箱子里,若当前物品的总体积和总价格不满足箱子体积或跨境规定价格中的任意一个时,就需要“分裂”;
[0077] 2)对物品按照体积和价格进行降序排序,并根据排序顺序,对物品设定标识;例如,排序第一的物品设定ID为1;
[0078] 3)根据所得排序,按序提取物品进行组合,例如ID1物品单独装箱,剩余物品组装为一箱,共需要两个箱子。
[0079] 参见图3,示出的是另一个分裂过程和打包过程,较之图2示例稍微复杂些,虽每个物品的体积都小于箱子体积,但每个物品的价格均等于跨境价格设定值,此时需要四个箱子进行打包。
[0080] 需要说明的是,箱子标识均是唯一的,也可以自定义,仅仅是为了区别作用,且是内部使用、用户不可见。箱子标识同理,且标识不会重复,当一个箱子分裂为两个时,可以采用左减一、右加一的方式生成,例如,原1000变为左999、右1001。
[0081] 除二叉树方式分组物品之外,还可以有其他分组方式:
[0082] 假定现有4个价格为1000元的物品、4个价格为900元的物品、3个价格为100元的物品以及1个价格为10元的物品,且假定单个物品的体积都小于装箱体积:
[0083] 1)基于物品价格以及体积对物品进行降序排列,得到集合{1000,1000,1000,1000,900,900,900,900,100,100,100,10},按序提取价格之和不超过2000元、且体积之和不超过装箱体积[2,2,3]的物品进行组合,例如,2*(1000+1000)、900+900、2*900+2*100、
100+10;
[0084] 2)基于物品价格以及体积对物品进行升序排列,得到集合{10,100,100,100,900,900,900,900,1000,1000,1000,1000},然后顺序提取价格之和以及体积之和均不超限的物品进行组合,例如,10+3*100+900、900+900、900+1000、1000+1000、1000;
[0085] 鉴于通常先处理大件物品,之后再处理小件物品的思路,本发明主要采用降序方式,以减少遍历物品的次数,最快发现体积或价格超限的物品。
[0086] 3)根据物品价格对物品进行分组,从价格最高的组开始,按序在每组中抽取一个物品进行组合,且组合的物品总价格以及总体积均不超限,例如,3*(1000+900+100)、1000+900+10;该方式,可以均衡各箱中的物品价格比例。
[0087] 另外,还可以针对每组中物品的体积进行选择,例如,1000(体积最大)+900(体积最小)+100(体积最大),或是1000(体积最小)+900(体积最大)+100(体积最小)、或是1000(体积最大)+900(体积最小)+100(体积最小),以均衡各箱中的物品体积比例,不会出现一个箱子过挤、另一个过松的情况。
[0088] 除上述方式外,也可以在每组中提取部分物品进行组合打包,例如,提取2个1000元的物品组合为一组进行打包。
[0089] 4)根据物品体积对物品进行分组,从体积最大的组开始,按序在每组中提取一个物品进行组合,且组合的物品价格以及体积均不超限;
[0090] 但该方式中,无法确定每组中物品价格都较为均衡,可能出现一个组中都是贵重物品的情况,因此上述3)4)方式,主要选择方式3)进行。
[0091] 另外,还存在所有物品的总价格未超限,但是总体积超限;或者总体积未超限、但是总价格超限的情况,此时可以只考虑超限的特征(价格或体积),对于未超限的因素随机分配即可,例如:
[0092] 1)4件物品价值分别为900、900、100以及100元;但是体积为[2,3,2]、[1,2,1]、[2,1,1]以及[1,1,2],排序后体积[2,3,3]最大且超限,故可以将体积[2,3,3]价值900元的物品单独装箱,其余物品装在一箱中;
[0093] 2)4件物品价值分别为1000、1000、100、100,体积分别为[1,2,1]、[2,1,1]、[1,1,2]和[1,1,2],根据价格排序后,可以将价值均为1000元的物品组装为一箱,剩余物品组为一箱;或者是分配式将1000+100的物品进行组装,总共两箱子。
[0094] 以上实施例对于物品的组合分析,可以将多个物品打包至同一个箱子中,以有效减少了箱子数量。但箱子用的少未必最优,不仅要尽量少用箱子,还要考虑相关运营成本和风险。因为在运输过程中难免会出现各种各样的问题,因此,需将高价格、低体积的物品分散到不同的箱子中进行组装。
[0095] 按照图1所示流程,在分析需要多少箱子、得到打包方案后,可以整理订单中的物品,重新生成打包方案。
[0096] 例如,原物品排序结果为{g1,g2,g3…gn},得到一个打包方案;然后将物品g1移动到最后,即{g2,g3…,gn,g1},重新得到一个打包方案,重复该过程,直至原第n个物品移动到第一个时停止,即:
[0097]
[0098] 这里主要针对“其他分组方式”中的方式1)2)进行。组装方式中,相邻的物品,若超过总价格和总体积任意一个时才会分裂。同样以上述举例为例,这里均采用的是降序描述:
[0099] 1)首次排序{1000,1000,1000,1000,900,900,900,900,100,100,100,10},所得组合结果为2*(1000+1000)、900+900、2*900+2*100、100+10;
[0100] 2)将排序第一的物品移动至队列末端,此时的排序结果为{1000,1000,1000,900,900,900,900,100,100,100,10,1000},所得组合结果为1000+1000、1000+900、900+900、900+100*3+10、1000;
[0101] 3)再次将排序第一的物品移动至队列末端,此时的排序结果为{1000,1000,900,900,900,900,100,100,100,10,1000,1000},所得组合结果为1000+1000、900+900、2*900+
2*100、100+10+1000、1000;
[0102] ……
[0103] 12)当原排序中的最后一个物品移动至队列首端时,所得排序结果为{10,1000,1000,1000,1000,900,900,900,900,100,100,100},所得组合结果为10+1000、1000+1000、
1000+900、900+900、900+100*3。
[0104] 需要说明的是,上述方式也可以采用将队列最后一个物品移动至队列首端,以确定多样组合方式,例如,移动后的排序{10,1000,1000,1000,1000,900,900,900,900,100,100,100},其结果与上述12)一致。
[0105] 由上可知,针对不同的排序结果,所得打包方案是不同的。排序是为了快速寻找方案,而将物品依次放至队列末端是避免漏掉最优的方案。
[0106] 针对不同排序所得的打包方案,需要从中选取最优的那个。本发明采用评估各个打包方式的价格进行确定,具体地,可以计算每个方案中每个箱子之间的相似性,再把所得相似性的值进行累加,就得到该方案的评估值。
[0107] 计算相似性的方法很多,包括,欧几里得距离、曼哈顿距离、闵可夫斯基距离、余弦相似度、杰卡德相关系数、皮尔逊相关系数等,本发明采用曼哈顿距离计算方式,因为它的计算效率较高。
[0108] 假设某个方案pl用了m个箱子,若只考虑物品价格因素,对于第i个和第j个箱子(i,j≤m)之间的曼哈顿距离d为:
[0109] di,j=|pi-pj|
[0110] 该方案中共有 个曼哈顿距离,累加所有曼哈顿距离得到该方案pl的评估值:
[0111]
[0112] 当这m个箱子内的物品总价格越接近越好。例如,需要两个箱子,同样一个物品放在哪个箱子都可以,但唯一的差别可能是两个箱子的总价格不同。因此,不会同一箱子全放贵重物品,若有丢失,损失较大。
[0113] 最终选取所有方案中距离最小的那个:p=minplk,作为最终的打包执行方案。
[0114] 除价格以外,箱子重量和最终成本对于打包也较为重要。其中,装箱重量可以有箱子中所承载的物品重量以及箱子重量确定,成本这里指的是物流成本,由物流公司提供。
[0115] 同时考虑重量、价格和成本(weight、price、cost),第i个和第j个箱子(i,j≤m)之间的曼哈顿距离d更改为:
[0116] di,j=|pi-pj|+|wi-wj|+|ci-cj
[0117] 上述价格、重量,成本都可以看成是特征,进一步的,还可以推广到其他特征,例如是否易碎、是否加急等,所得特征集合可以是(a1,a2...,at),箱子之间的相似度为:
[0118]
[0119] 本发明实施例所提供的方法,可以使用尽可能少的箱子完成打包,并能够综合考虑箱子内物品的价格、重量和最终成本等特征,以有效评价各个打包方案,实现最优打包,并有效减少运营成本和风险。
[0120] 参见图4,示出了本发明实施例提供的一种物品组装装置400的主要模块示意图,包括:
[0121] 特征值获取模块401,用于接收物品组装请求,获取待组装物品的特征值,确定所有待组装物品的总特征值;
[0122] 物品组装模块402,用于当总特征值超出预定特征值阈值时,根据预定特征值阈值以及物品的特征值,对所有物品进行分组处理,得到相应的物品组合方式。
[0123] 本发明实施装置中,特征值包括价格以及体积;
[0124] 物品组装模块402,用于:
[0125] 当所有物品的总价格超出预定价格阈值时,根据价格对物品进行排序,并按序提取价格之和不超出预定价格阈值的物品组合为一组;或
[0126] 当所有物品的总体积超出预定体积阈值时,根据体积对物品进行排序,并按序提取体积之和不超出预定体积阈值的物品组合为一组;或
[0127] 当所有物品的总价格超出预定价格阈值、且总体积超出预定体积阈值时,根据价格以及体积对物品进行排序,并按序提取价格之和不超出预定价格阈值、且体积之和不超出预定体积阈值的物品组合为一组。
[0128] 本发明实施装置中,物品组装模块402,还用于:
[0129] 移动所得价格排序中的第一个物品至队列末端,得到移动后的排序,按序提取价格之和不超出预定价格阈值的物品组合为一组;或
[0130] 移动所得体积排序中的第一个物品至队列末端,得到移动后的排序,并按序提取体积之和不超出预定体积阈值的物品组合为一组;或
[0131] 移动所得价格和体积排序中的第一个物品至队列末端,得到移动后的排序,并按序提取价格之和不超出预定价格阈值、且体积之和不超出预定体积阈值的物品组合为一组;
[0132] 重复上述过程,将每次所得排序中的第一个物品移动至队列末端,得到与每个排序相应的物品组合方式,直至移动后的排序与未移动时的排序相同为止。
[0133] 本发明实施装置中,物品组装模块402,还用于:
[0134] 根据物品的特征值以及预定相似度确定方式,分析与每个排序相应的物品组合方式之间的相似度;统计与每个排序中相应的所有物品组合方式的总相似度,提取总相似度最小的排序,并将与所提取的排序相应的物品组合方式确定为物品组合执行方式。
[0135] 本发明实施装置中,物品组装模块402,用于:
[0136] 将同一价格的物品归为一类,从每个类中提取物品进行组合,且所提取的物品价格之和不超出预定价格阈值、且体积之和不超出预定装箱体积;或
[0137] 将同一体积的物品归为一类,从每个类中提取物品进行组合,且所提取的物品价格之和不超出预定价格阈值、且体积之和不超出预定装箱体积。
[0138] 另外,在本发明实施例中所述的物品组装装置的具体实施内容,在上面所述物品组装方法中已经详细说明了,故在此重复内容不再说明。
[0139] 本发明实施例所提供的装置,可以使用尽可能少的箱子完成打包,并能够综合考虑箱子内物品的价格、重量和最终成本等特征,以有效评价各个打包方案,实现最优打包,并有效减少运营成本和风险。
[0140] 图5示出了可以应用本发明实施例的物品组装方法或物品组装装置的示例性系统架构500。
[0141] 如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505(仅仅是示例)。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0142] 用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
[0143] 终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
[0144] 服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
[0145] 需要说明的是,本发明实施例所提供的物品组装方法一般由服务器505执行,相应地,物品组装装置一般设置于服务器505中。
[0146] 应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0147] 下面参考图6,其示出了适于用来实现本发明实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0148] 如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
[0149] 以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
[0150] 特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
[0151] 需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0152] 附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0153] 描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括特征值获取模块、物品组装模块、获取模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,特征值获取模块还可以被描述为“单个物品的特征值以及所有物品的总特征值获取模块”。
[0154] 作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
[0155] 接收物品组装请求,获取待组装物品的特征值,确定所有待组装物品的总特征值;
[0156] 当总特征值超出预定特征值阈值时,根据预定特征值阈值以及物品的特征值,对所有物品进行分组处理,得到相应的物品组合方式。
[0157] 根据本发明实施例的技术方案,可以使用尽可能少的箱子完成打包,并能够综合考虑箱子内物品的价格、重量和最终成本等特征,以有效评价各个打包方案,实现最优打包,并有效减少运营成本和风险。
[0158] 上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。