一种均衡出钞算法制造技术

技术编号:16557693 阅读:26 留言:0更新日期:2017-11-14 17:06
本发明专利技术公开了一种均衡出钞算法,获取每个钞箱中当前张数;将钞箱排序;对排序后的钞箱依次分配序号;每个差值作为元素组成二维数组;每列得到的总差作为元素组成一维数组;获取所需配钞总张数;确定基准元素;配钞总张数减去基准元素数值后得到剩余值,剩余值分别求商、求余;将配钞结果分配到每个钞箱:相加得到基准元素的各个差值依次分配到序号1至序号m的钞箱,然后每个钞箱再分配商,将余依钞箱序号由大到小地逐一分配。优点在于,不管用户存进多少钱在哪一个钞箱,本算法都可以实现同种面额的钞票以最均衡的状态出钞。宏观统计来说,每个钞箱工作的工作频率趋近相同。避免了某一个钞箱过分运作而导致整个柜员机不能正常运作。

A balanced banknote drawing algorithm

The invention discloses a banknote equalization algorithm, for each note box in the current number of sheets; money box will sort; orderly distribution of serial number of the sorted banknote box; each difference as elements of two-dimensional array; each column to get the total difference as a one-dimensional array of elements; obtain the required total number of sheets with notes; to determine the reference element; the total number of bills with numerical minus the benchmark elements obtained after surplus value, surplus value are calculated respectively, taking the remainder; the result of allocation with notes to each note box: sum of each element are assigned to the difference of reference note box number 1 to serial number m, then each note box taking redistribution, I will according to the cash box number from large to small one by one distribution. The advantage is that no matter how much money the user deposit, which algorithm can achieve the same denomination banknotes in the most balanced state of note. In macro statistics, the working frequency of each banknote box approaches the same. Avoiding the excessive operation of a banknote box, resulting in the failure of the whole teller machine to operate properly.

【技术实现步骤摘要】
一种均衡出钞算法
本专利技术涉及一种出钞算法,尤其涉及一种令各个钞箱实现均衡出钞的算法。
技术介绍
现有自动柜员机都包含多个钞箱,而每个钞箱内都存放有数量不等的钱币。在用户存钱时,柜员机会将纸币放到其中一个钞箱内,然后在取款时,在最多或最少纸币的钞箱取款。这样导致某些排序靠前的钞箱工作频率远远大于其他,使个别钞箱老化加速,增加了维修次数和提高了维护成本。
技术实现思路
为了解决上述技术问题,本专利技术目的在于提供一种可以均衡各个钞箱出钞的算法。本专利技术所述的一种均衡出钞算法,其特征在于,包括以下步骤:a)获取每个钞箱中当前张数;b)根据钞箱张数,将钞箱排序,张数较多的钞箱排序较前;然后对排序后的钞箱依次分配序号;c)排序较前的钞箱依次减去排序较后钞箱的张数得到差值,每个差值作为元素组成二维数组{amn};d)将二维数组{amn}中单列对应的各个差值相加得到总差,每列得到的总差作为元素组成一维数组{An};e)获取所需配钞总张数;根据配钞总张数,在一维数组{An}中确定基准元素AT;f)配钞总张数减去基准元素AT数值后得到剩余值,剩余值对参与出钞的钞箱个数分别求商、求余;所述参与出钞的钞箱是序号为1至序号T的钞箱;g)将配钞结果分配到每个参与出钞的钞箱:相加得到基准元素AT的各个差值amT对应分配到序号1至序号m的钞箱,然后每个参与出钞的钞箱再分配步骤f中的商,最后将步骤f中的余依钞箱序号由大到小地逐一分配,直到余为0。所述的步骤a中虚拟一个零位钞箱,所述零位钞箱当前张数恒为零,用于辅助计算;步骤b中对钞箱分配序号时,零位钞箱恒定分配为最后一位号码;步骤f和g中,当序号T的钞箱是零位钞箱时,参与出钞的钞箱是序号1至序号T-1的钞箱。所述二维数组{amn}中的变量n是排序较后钞箱的序号,变量m是排序较前钞箱的序号,即变量n大于且不等于变量m;元素amn的表达式为:amn=序号m的钞箱张数-序号n的钞箱张数。所述一维数组{An}中的变量n是对应的钞箱序号n,元素An是二维数组{amn}中n列所对应的所有元素的和,即An=a1n+a2n+……+amn。所述的基准元素AT是数值不大于并最接近配钞总张数的元素。本专利技术所述的一种均衡出钞算法,其优点在于,不管用户存进多少钱在哪一个钞箱,本算法都可以实现同种面额的钞票以最均衡的状态出钞。宏观统计来说,每个钞箱工作的工作频率趋近相同。避免了某一个钞箱过分运作而导致整个柜员机不能正常运作。附图说明图1是本专利技术的算法流程示意图。具体实施方式本专利技术所述的一种均衡出钞算法,算法流程如图1所示。首先将系统的数据初始化,然后读取用户输入的取款金额。然后虚拟一个用于辅助计算的零位钞箱,该零位钞箱对应的当前张数设置恒为零。读取每个钞箱当前的钞票张数,然后根据钞票张数将钞箱排序,依据张数较多的钞箱排序较前,对排序后的钞箱依次分配序号。如果有N个钞箱,则分别得到1至N的序号,零位钞箱得到N+1的序号。建立二维数组{amn},其元素由小序号钞箱的张数依次减去大序号钞箱的张数取得。其中变量n是排序较后钞箱的序号,变量m是排序较前钞箱的序号;元素amn的表达式为:amn=序号m的钞箱张数-序号n的钞箱张数,即变量n大于且不等于变量m。建立一维数组{An},其元素An由二维数组{amn}中n列所包含的全部m个元素相加得到,即An=a1n+a2n+……+amn;并且变量n与钞箱序号n对应。由于变量m恒小于变量n,因此在建立二维数组{amn}的时候减少了不止一半的运算次数;由于二维数组{amn}的元素量比n行n列的二维数组少了不止一半,因此在二维数组基础上建立一维数组{An}的运算时,可以进一步减少不必要的空值运算。大大加快了数组建立的时间和减少硬件资源的占用。根据用户输入的取款金额算出需要配钞的总张数,例如用户输入3600元,钞箱面值是100元,则得到配钞总张数为3600/100=36张。将配钞总张数与一维数组{An}的元素进行比对确定基准元素AT,基准元素AT比对确定的原则是二维数组{An}的元素数值不大于并最接近配钞总张数。配钞总张数减去基准元素的数值后得到配钞的剩余值。为零算法的非正常退出,不管剩余值是否为零,都将剩余值对参与出钞的钞箱个数分别求商和求余。最后将求和得到基准元素AT的各个差值amT对应分配到序号1至序号m的钞箱,然后每个参与出钞的钞箱再分配上述计算出的商,最后将求余得到的的余数依钞箱序号由大到小地逐一分配,直到余为0,结束算法流程。所述参与出钞的钞箱是序号为1至序号T的钞箱,并且当序号T的钞箱是零位钞箱时,参与出钞的钞箱是序号1至序号T-1的钞箱。通过以下具体实施例详细说明本算法的实际运用:用户输入取款3600元,百元面额的钞箱一共有四个,当前张数具体如下:钞箱1钞箱2钞箱3钞箱4当前张数2011159虚拟一个用于辅助计算的零位钞箱:钞箱1钞箱2钞箱3钞箱4钞箱0当前张数20111590对4个非虚拟钞箱和1个虚拟钞箱进行排序并赋予序号:钞箱1钞箱3钞箱2钞箱4钞箱0当前张数20151190序号12345建立二维数组{amn}:{amn}钞箱1(20)钞箱3(15)钞箱2(11)钞箱4(9)钞箱0(0)钞箱1(20)a11=空值a12=5a13=9a14=11a15=20钞箱3(15)a21=空值a22=空值a23=4a24=6a25=15钞箱2(11)a31=空值a32=空值a33=空值a34=2a35=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=0A2=5A3=13A4=19A5=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。将运算结果分配到各个参与出钞的钞箱:钞箱序号m=1的钞箱分配a14,钞箱序号m=2的钞箱分配a24,钞箱序号m=3的钞箱分配a34,由于a44是空值,因此钞箱序号m=4分配0张;同时各参与出钞的钞箱再分配商数,余数由序号最大的开始逐一分配,直到余数为零:钞箱1钞箱2钞箱3钞箱4当前张数2011159序号1324基准元素分配的张数11260根据商数分配的张数4444根据余数分配的张数1000实际分配的张数166104出钞后剩余的张数4555由上表可知,通过本算法,可以维持各个钞箱均衡地出钞,并且不受任一钞箱当前张数的限制。使各个钞箱在宏观统计下,工作频率达到相同,避免局部损耗而影响整个自动柜员机的运作。对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本专利技术权利要求的保护范围之内。本文档来自技高网...
一种均衡出钞算法

【技术保护点】
一种均衡出钞算法,其特征在于,包括以下步骤:获取每个钞箱中当前张数;根据钞箱张数,将钞箱排序,张数较多的钞箱排序较前;然后对排序后的钞箱依次分配序号;排序较前的钞箱依次减去排序较后钞箱的张数得到差值,每个差值作为元素组成二维数组{amn};将二维数组{amn}中单列对应的各个差值相加得到总差,每列得到的总差作为元素组成一维数组{An};获取所需配钞总张数;根据配钞总张数,在一维数组{An}中确定基准元素AT;配钞总张数减去基准元素AT数值后得到剩余值,剩余值对参与出钞的钞箱个数分别求商、求余;所述参与出钞的钞箱是序号为1至序号T的钞箱;将配钞结果分配到每个参与出钞的钞箱:相加得到基准元素AT的各个差值amT对应分配到序号1至序号m的钞箱,然后每个参与出钞的钞箱再分配步骤f中的商,最后将步骤f中的余依钞箱序号由大到小地逐一分配,直到余为0。

【技术特征摘要】
1.一种均衡出钞算法,其特征在于,包括以下步骤:获取每个钞箱中当前张数;根据钞箱张数,将钞箱排序,张数较多的钞箱排序较前;然后对排序后的钞箱依次分配序号;排序较前的钞箱依次减去排序较后钞箱的张数得到差值,每个差值作为元素组成二维数组{amn};将二维数组{amn}中单列对应的各个差值相加得到总差,每列得到的总差作为元素组成一维数组{An};获取所需配钞总张数;根据配钞总张数,在一维数组{An}中确定基准元素AT;配钞总张数减去基准元素AT数值后得到剩余值,剩余值对参与出钞的钞箱个数分别求商、求余;所述参与出钞的钞箱是序号为1至序号T的钞箱;将配钞结果分配到每个参与出钞的钞箱:相加得到基准元素AT的各个差值amT对应分配到序号1至序号m的钞箱,然后每个参与出钞的钞箱再分配步骤f中的商,最后将步骤f中的余依钞箱序号由大到小地逐一分配,直到余为0。2.根据权利要求1所述的均...

【专利技术属性】
技术研发人员:周广王建荣谢清钟徐德银
申请(专利权)人:广州御银科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1