[发明专利]一种任意目标值求和的拆包算法及装置在审
申请号: | 201811083061.3 | 申请日: | 2018-09-17 |
公开(公告)号: | CN109062864A | 公开(公告)日: | 2018-12-21 |
发明(设计)人: | 江振辉 | 申请(专利权)人: | 达飞云贷科技(北京)有限公司 |
主分类号: | G06F17/10 | 分类号: | G06F17/10 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100025 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 求和 拆包 算法 第一数据 子集 递归条件 集合元素 降序排列 循环执行 元素生成 原始数据 回溯 记录 | ||
本发明公开了一种任意目标值求和的拆包算法及装置,该算法包括:对原始数据集合元素按照元素值进行降序排列,得到第一数据集;根据目标值,将所述第一数据集中的元素进行求和,记录每个元素的路径;根据所述路径对满足所述目标值的元素进行回溯,获取所述元素生成所述目标值的子集,其中,根据递归条件循环执行元素求和直至获取到满足目标值的全部子集。通过本发明实现了提高拆包效率和穷尽拆分的目的。
技术领域
本发明涉及数据求解技术领域,特别是涉及一种任意目标值求和的拆包算法及装置。
背景技术
在众多业务处理过程中经常会需要根据目标值求解的类似枚举的搜索尝试过程。例如,在金融借贷领域,需要将固定总值的金额进行拆包分配至不同的部门去执行。假设有一万笔借款记录,单笔借款金额在100元至5万元之间,总借款额度为5千万元。要将这一万笔记录,“按照随机抽取几笔,组成金额为一百万元整的子包”的规则,尽可能多的抽取出N个子包,分给不同的部门去放款。
针对上述有这种已知目标值获取该目标值的子集的应用,需要尽可能多的拆解出符合要求的子集数据。现有的方法,通常是基于人工手动拆分或者是在人工干预条件下的拆分。但是上述方法都无法离开人工干预并且无法穷尽拆解出所有子集,而且处理速度较慢、容易出错。
发明内容
针对于上述问题,本发明提供一种任意目标值求和的拆包算法及装置,实现了提高拆包效率和穷尽拆分的目的。
为了实现上述目的,本发明提供了如下技术方案:
一种任意目标值求和的拆包算法,包括:
对原始数据集合元素按照元素值进行降序排列,得到第一数据集;
根据目标值,将所述第一数据集中的元素进行求和,记录每个元素的路径;
根据所述路径对满足所述目标值的元素进行回溯,获取所述元素生成所述目标值的子集,其中,根据递归条件循环执行元素求和直至获取到满足目标值的全部子集。
可选地,还包括:
设置所述第一数据集中的元素状态,其中,将满足所述目标值的元素状态设置为已参与运算,将不满足所述目标值的元素状态设置为未参与运算;
若所述元素不满足所述目标值,则随机选取未参与运算元素生成临时集合;
将所述临时集合添加至所述原始数据集中生成第二数据集,实现重新确定满足所述目标值的子集。
可选地,还包括:
对所述临时子集中的元素进行求和,得到第一和值;
判断所述第一和值是否大于所述目标值,如果是,则判断所述临时集合是否为空集;
若所述临时集合不为空集,则记录所述第二数据集中元素不满足目标值的失败次数。
可选地,还包括:
判断所述失败次数是否小于失败次数阈值;
如果是,则记录所述目标值的子集。
可选地,还包括:
确定寻求目标值的子集的递归终止条件,其中,所述递归终止条件为所述第一数据集中元素之和小于所述目标值,且在预定次数中递归无结果返回。
一种任意目标值求和的拆包装置,包括:
排列单元,用于对原始数据集合元素按照元素值进行降序排列,得到第一数据集;
路径记录单元,用于根据目标值,将所述第一数据集中的元素进行求和,记录每个元素的路径;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于达飞云贷科技(北京)有限公司,未经达飞云贷科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811083061.3/2.html,转载请声明来源钻瓜专利网。