会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑编程 / 算法 / 一种均衡出钞算法

一种均衡出钞算法

阅读:1167发布:2020-07-05

IPRDB可以提供一种均衡出钞算法专利检索,专利查询,专利分析的服务。并且本发明公开了一种均衡出钞算法,获取每个钞箱中当前张数;将钞箱排序;对排序后的钞箱依次分配序号;每个差值作为元素组成二维数组;每列得到的总差作为元素组成一维数组;获取所需配钞总张数;确定基准元素;配钞总张数减去基准元素数值后得到剩余值,剩余值分别求商、求余;将配钞结果分配到每个钞箱:相加得到基准元素的各个差值依次分配到序号1至序号m的钞箱,然后每个钞箱再分配商,将余依钞箱序号由大到小地逐一分配。优点在于,不管用户存进多少钱在哪一个钞箱,本算法都可以实现同种面额的钞票以最均衡的状态出钞。宏观统计来说,每个钞箱工作的工作频率趋近相同。避免了某一个钞箱过分运作而导致整个柜员机不能正常运作。,下面是一种均衡出钞算法专利的具体信息内容。

1.一种均衡出钞算法,其特征在于,包括以下步骤:

获取每个钞箱中当前张数;

根据钞箱张数,将钞箱排序,张数较多的钞箱排序较前;然后对排序后的钞箱依次分配序号;

排序较前的钞箱依次减去排序较后钞箱的张数得到差值,每个差值作为元素组成二维数组{amn};

将二维数组{amn}中单列对应的各个差值相加得到总差,每列得到的总差作为元素组成一维数组{An};

获取所需配钞总张数;根据配钞总张数,在一维数组{An}中确定基准元素AT;

配钞总张数减去基准元素AT数值后得到剩余值,剩余值对参与出钞的钞箱个数分别求商、求余;所述参与出钞的钞箱是序号为1至序号T的钞箱;

将配钞结果分配到每个参与出钞的钞箱:相加得到基准元素AT的各个差值amT对应分配到序号1至序号m的钞箱,然后每个参与出钞的钞箱再分配步骤f中的商,最后将步骤f中的余依钞箱序号由大到小地逐一分配,直到余为0。

2.根据权利要求1所述的均衡出钞算法,其特征在于,所述的步骤a中虚拟一个零位钞箱,所述零位钞箱当前张数恒为零,用于辅助计算;步骤b中对钞箱分配序号时,零位钞箱恒定分配为最后一位号码;步骤f和g中,当序号T的钞箱是零位钞箱时,参与出钞的钞箱是序号1至序号T-1的钞箱。

3.根据权利要求1或2所述的均衡出钞算法,其特征在于,所述二维数组{amn}中的变量n是排序较后钞箱的序号,变量m是排序较前钞箱的序号,即变量n大于且不等于变量m;元素amn的表达式为:amn=序号m的钞箱张数 - 序号n的钞箱张数。

4.根据权利要求3所述的均衡出钞算法,其特征在于,所述一维数组{An}中的变量n是对应的钞箱序号n,元素An是二维数组{amn}中n列所对应的所有元素的和,即An= a1n + a2n +……+ amn。

5.根据权利要求1或2或4所述的均衡出钞算法,其特征在于,所述的基准元素AT是数值不大于并最接近配钞总张数的元素。

说明书全文

一种均衡出钞算法

技术领域

[0001] 本发明涉及一种出钞算法,尤其涉及一种令各个钞箱实现均衡出钞的算法。

背景技术

[0002] 现有自动柜员机都包含多个钞箱,而每个钞箱内都存放有数量不等的钱币。在用户存钱时,柜员机会将纸币放到其中一个钞箱内,然后在取款时,在最多或最少纸币的钞箱取款。这样导致某些排序靠前的钞箱工作频率远远大于其他,使个别钞箱老化加速,增加了维修次数和提高了维护成本。

发明内容

[0003] 为了解决上述技术问题,本发明目的在于提供一种可以均衡各个钞箱出钞的算法。
[0004] 本发明所述的一种均衡出钞算法,其特征在于,包括以下步骤:a)获取每个钞箱中当前张数;
b)根据钞箱张数,将钞箱排序,张数较多的钞箱排序较前;然后对排序后的钞箱依次分配序号;
c)排序较前的钞箱依次减去排序较后钞箱的张数得到差值,每个差值作为元素组成二维数组{amn};
d)将二维数组{amn}中单列对应的各个差值相加得到总差,每列得到的总差作为元素组成一维数组{An};
e)获取所需配钞总张数;根据配钞总张数,在一维数组{An}中确定基准元素AT;
f)配钞总张数减去基准元素AT数值后得到剩余值,剩余值对参与出钞的钞箱个数分别求商、求余;所述参与出钞的钞箱是序号为1至序号T的钞箱;
g)将配钞结果分配到每个参与出钞的钞箱:相加得到基准元素AT的各个差值amT对应分配到序号1至序号m的钞箱,然后每个参与出钞的钞箱再分配步骤f中的商,最后将步骤f中的余依钞箱序号由大到小地逐一分配,直到余为0。
[0005] 所述的步骤a中虚拟一个零位钞箱,所述零位钞箱当前张数恒为零,用于辅助计算;步骤b中对钞箱分配序号时,零位钞箱恒定分配为最后一位号码;步骤f和g中,当序号T的钞箱是零位钞箱时,参与出钞的钞箱是序号1至序号T-1的钞箱。
[0006] 所述二维数组{amn}中的变量n是排序较后钞箱的序号,变量m是排序较前钞箱的序号,即变量n大于且不等于变量m;元素amn的表达式为:amn=序号m的钞箱张数 - 序号n的钞箱张数。
[0007] 所述一维数组{An}中的变量n是对应的钞箱序号n,元素An是二维数组{amn}中n列所对应的所有元素的和,即An= a1n + a2n +……+ amn。
[0008] 所述的基准元素AT是数值不大于并最接近配钞总张数的元素。
[0009] 本发明所述的一种均衡出钞算法,其优点在于,不管用户存进多少钱在哪一个钞箱,本算法都可以实现同种面额的钞票以最均衡的状态出钞。宏观统计来说,每个钞箱工作的工作频率趋近相同。避免了某一个钞箱过分运作而导致整个柜员机不能正常运作。

附图说明

[0010] 图1是本发明的算法流程示意图。

具体实施方式

[0011] 本发明所述的一种均衡出钞算法,算法流程如图1所示。首先将系统的数据初始化,然后读取用户输入的取款金额。然后虚拟一个用于辅助计算的零位钞箱,该零位钞箱对应的当前张数设置恒为零。读取每个钞箱当前的钞票张数,然后根据钞票张数将钞箱排序,依据张数较多的钞箱排序较前,对排序后的钞箱依次分配序号。如果有N个钞箱,则分别得到1至N的序号,零位钞箱得到N+1的序号。
[0012] 建立二维数组{amn},其元素由小序号钞箱的张数依次减去大序号钞箱的张数取得。其中变量n是排序较后钞箱的序号,变量m是排序较前钞箱的序号;元素amn的表达式为:amn=序号m的钞箱张数 - 序号n的钞箱张数,即变量n大于且不等于变量m。
[0013] 建立一维数组{An},其元素An由二维数组{amn}中n列所包含的全部m个元素相加得到,即An= a1n + a2n +……+ amn;并且变量n与钞箱序号n对应。由于变量m恒小于变量n,因此在建立二维数组{amn}的时候减少了不止一半的运算次数;由于二维数组{amn}的元素量比n行n列的二维数组少了不止一半,因此在二维数组基础上建立一维数组{An}的运算时,可以进一步减少不必要的空值运算。大大加快了数组建立的时间和减少硬件资源的占用。
[0014] 根据用户输入的取款金额算出需要配钞的总张数,例如用户输入3600元,钞箱面值是100元,则得到配钞总张数为3600/100=36张。将配钞总张数与一维数组{An}的元素进行比对确定基准元素AT,基准元素AT比对确定的原则是二维数组{An}的元素数值不大于并最接近配钞总张数。
[0015] 配钞总张数减去基准元素的数值后得到配钞的剩余值。为零算法的非正常退出,不管剩余值是否为零,都将剩余值对参与出钞的钞箱个数分别求商和求余。最后将求和得到基准元素AT的各个差值amT对应分配到序号1至序号m的钞箱,然后每个参与出钞的钞箱再分配上述计算出的商,最后将求余得到的的余数依钞箱序号由大到小地逐一分配,直到余为0,结束算法流程。所述参与出钞的钞箱是序号为1至序号T的钞箱,并且当序号T的钞箱是零位钞箱时,参与出钞的钞箱是序号1至序号T-1的钞箱。
[0016] 通过以下具体实施例详细说明本算法的实际运用:用户输入取款3600元,百元面额的钞箱一共有四个,当前张数具体如下:
  钞箱1 钞箱2 钞箱3 钞箱4
当前张数 20 11 15 9
虚拟一个用于辅助计算的零位钞箱:
  钞箱1 钞箱2 钞箱3 钞箱4 钞箱0
当前张数 20 11 15 9 0
对4个非虚拟钞箱和1个虚拟钞箱进行排序并赋予序号:
  钞箱1 钞箱3 钞箱2 钞箱4 钞箱0
当前张数 20 15 11 9 0
序号 1 2 3 4 5
建立二维数组{amn}:
{amn} 钞箱1(20) 钞箱3(15) 钞箱2(11) 钞箱4(9) 钞箱0(0)钞箱1(20) a11=空值 a12=5 a13=9 a14=11 a15=20
钞箱3(15) a21=空值 a22=空值 a23=4 a24=6 a25=15
钞箱2(11) a31=空值 a32=空值 a33=空值 a34=2 a35=11
钞箱4(9) a41=空值 a42=空值 a43=空值 a44=空值 a45=9
建立一维数组{An},即An= a1n + a2n +……+ amn:
{An} 钞箱1(20) 钞箱3(15) 钞箱2(11) 钞箱4(9) 钞箱0(0)
  A1=0 A2=5 A3=13 A4=19 A5=55
得出配钞总张数为为3600/100=36张,一维数组{An}中不大于并最接近36的值是A4=
19,因此A4是基准元素AT,即T=4。基准元素A4=19由a14+ a24+ a34求和得到,求出配钞后的剩余值,配钞总张数 - 基准元素A4数值=36-19=17,剩余值是17。由于T=
4,因此参与出钞的钞箱序号为1至4,参与出钞的钞箱个数为4,将剩余值17对参与出钞的钞箱个数分别求商、求余:
商数为:17/4=4;
余数为:17%4=1。
[0017] 将运算结果分配到各个参与出钞的钞箱:钞箱序号m=1的钞箱分配a14,钞箱序号m=2的钞箱分配a24,钞箱序号m=3的钞箱分配a34,由于a44是空值,因此钞箱序号m=4分配0张;同时各参与出钞的钞箱再分配商数,余数由序号最大的开始逐一分配,直到余数为零:
  钞箱1 钞箱2 钞箱3 钞箱4
当前张数 20 11 15 9
序号 1 3 2 4
基准元素分配的张数 11 2 6 0
根据商数分配的张数 4 4 4 4
根据余数分配的张数 1 0 0 0
实际分配的张数 16 6 10 4
出钞后剩余的张数 4 5 5 5
由上表可知,通过本算法,可以维持各个钞箱均衡地出钞,并且不受任一钞箱当前张数的限制。使各个钞箱在宏观统计下,工作频率达到相同,避免局部损耗而影响整个自动柜员机的运作。
[0018] 对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用