一种基于历史数据预测的银行排班方法和系统与流程

文档序号:29086491发布日期:2022-03-02 01:31阅读:312来源:国知局
一种基于历史数据预测的银行排班方法和系统与流程

1.本发明涉及银行业务数据技术领域,特别涉及一种基于历史数据预测的银行排班方法和系统。


背景技术:

2.目前银行网点、呼叫中心、集中作业等场景中对于员工的排班主要还是依靠管理人员进行手动排班,这不仅效率低下,还要求管理人员必须熟悉业务才能对未来一段时间的人力需求做出精准预测。这对于管理人员来说是个极大的挑战。虽然有学者提出利用机器学习可以对未来一段时间的人力数量进行预估,但是由于以下两个原因导致传统的预测排班算法无法很好的运用在银行领域的排班需求中:一方面学习以时段为维度收集的历史数据,所以预测结果也只能以时段为维度展示结果;另一方面与传统的没有重叠时间的班次不同,银行领域中的班次与班次有大量的重叠时间,如“早班”时间为8点至16点,“中班”时间为9点至17点,“晚班”时间为10点至18点。所以在重叠时间段内的业务,多个班次的员工均可以进行处理。


技术实现要素:

3.本发明其中一个发明目的在于提供一种基于历史数据预测的银行排班方法和系统,所述方法和系统采用了基于分层精英选择算子的差分进化算法作为优化的遗传算法解决银行排班在规定的时间内得到满足约束的解,提高银行排班的效果。
4.本发明另一个发明目的在于提供一种基于历史数据预测的银行排班方法和系统,所述方法和系统通过所述差分进化算法可以防止遗传算法“早熟”而陷入局部最优解,通过上述分层精英选择算子可以增加种群的多样性,跳出局部最优解,可以加强遗传算法的全局搜索能力。
5.本发明另一个发明目的在于提供一种基于历史数据预测的银行排班方法和系统,所述方法和系统将时段约束转化为最小目标进行求解
6.为了实现至少一个上述发明目的,本发明进一步提供一种基于历史数据预测的银行排班方法,所述方法包括如下步骤:
7.获取银行排班历史数据,根据所述历史数据建立模型变量和决策变量;
8.建立包括最小上班人数的强约束条件,根据所述强约束条件生成初始排班种群;
9.根据每个时段的人力需求、约束条件和优化模目标计算每个排班个体的适应度;
10.采用分层精英选择算子选择下一迭代的父代个体,并采用交叉算法执行个体基因重组;
11.设置迭代终止条件,当迭代的种群满足所述迭代终止条件则输出对应的排班列表。
12.根据本发明其中一个较佳实施例,所述强约束条件包括:
13.员工每天的班次约束条件,其中:
[0014][0015]
x
ijk
表示第i个员工在第j天上第k个班次,n表示员工总数,t表示排班总天数。
[0016]
根据本发明另一个较佳实施例,设置约束条件,所述约束条件包括:
[0017]
最小上班人数约束,其中:
[0018][0019]yijs
表示第i个员工在第j天的第s个时段是否在上班,表示第j天的第s个时段的最小上班人数,j为日期,s为时间段。
[0020]
根据本发明另一个较佳实施例,设置约束条件,所述约束条件包括:
[0021]
最大上班人数约束,其中:
[0022][0023]yijs
表示第i个员工在第j天的第s个时段是否在上班,为第j天的第s个时段最大上班人数,员工在第j天的k班次上班对应的时段约束为:
[0024][0025]
其中tk为对应k班次所在的时段,时段约束公式中的m为约束参数,代表足够大的实数。
[0026]
根据本发明另一个较佳实施例,所述每个排班个体的适应度计算公式包括:
[0027][0028]
其中fitness表示适应度,在适应度计算公式中的m表示t天的第s个班次上班员工数量。
[0029]
根据本发明另一个较佳实施例,所述交叉算法包括:
[0030]
合并父个体基因,形成合并基因集合p;
[0031]
从所述合并基因集合p中计算相同排班的重复基因数量;
[0032]
根据适应度函数从所述合并基因集合中选择适应度最高的基因组合;
[0033]
若存在新选择基因,且新选择基因集合>=2,则选择重复覆盖岗位最小的基因;
[0034]
进一步累加覆盖的岗位人数,当完全覆盖所有岗位则退出所述交叉算法。
[0035]
根据本发明另一个较佳实施例,所述排班方法还包括对所述种群进行变异操作,包括如下步骤:
[0036][0037]
其中v
i,g+1
为下一世代的第i个个体,并对其j个基因进行取整处理,x
best,g
为当前世代的适应度最高的个体,x
r1,g
,x
r2,g
,x
r3,g
,x
r4,g
分别为当前世代的随机选择的4个个体,在重
复计算n次后生成n个。
[0038]
根据本发明另一个较佳实施例,设置迭代终止条件,其中所述迭代终止条件包括:设置迭代阈值次数、设置无适应度改进下的迭代阈值次数或设置运行时间阈值,当所述迭代满足所述迭代终止条件中的至少一项时,终止种群迭代。
[0039]
为了实现至少一个上述发明目的,本发明进一步提供一种基于历史数据预测的银行排班系统,所述系统执行上述一种基于历史数据预测的银行排班方法。
[0040]
本发明进一步提供一种计算机可读存储介质,所述计算机程序可被处理器执行所述一种基于历史数据预测的银行排班方法。
附图说明
[0041]
图1显示的是本发明一种基于历史数据预测的银行排班方法流程示意图。
具体实施方式
[0042]
以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。
[0043]
可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
[0044]
请结合图1,本发明公开了一种基于历史数据预测的银行排班方法和系统,所述方法包括:首先获取银行的历史排班数据,根据所述历史排班数据建立模型变量,其中所述模型变量包括:员工编号,i∈[1,n]、排班日期,j∈[1,t]、上班班次编号,k∈[1,k],时段编号,s={0,1,2,...,s},员工总人数n,第k班次包含的时间段tk,tk={0,1,2,..,sk},第j天的第s个时段的最小上班人数第j天的第s个时段最大上班人数进一步根据所述历史排班数据建立决策变量,其中所述决策变量包括:第i个员工在第j天上第k个班次x
ijk
和第i个员工在第j天的第s个时段是否在上班y
ijs
,其中所述历史数据用于建立预测模型,并在未来时段内求解在约束条件下的最小人力需求
[0045]
进一步的,本发明进一步根据所述模型变量和决策变量建立强约束条件,所述强约束条件包括:
[0046]
员工的每天的班次约束条件:
[0047][0048]
其中上述员工每天班次的约束条件为每天最多一个班次。
[0049]
每个时段的最小上班人数约束条件:
[0050]
[0051]
其中上述最小上班人数约束条件表示第i个员工在第j天上第s个时段上班x
ijk
的排班情况至少满足上述最小上班人数
[0052]
最大上班人数约束条件:
[0053][0054]
其中上述最大上班人数约束条件表示第i个员工在第j天的第s个时段是否在上班y
ijs
的排班列表中上班人数小于所述最大上班人数若员工在第j天的k班次上班,则在相应时段内也上班,时段约束公式为:
[0055][0056]
其中tk为对应k班次所在的时段,时段约束公式中的m为约束参数,代表足够大的实数。
[0057]
值得一提的是,由于上述银行排班问题是np-hard(非确定性多项式复杂问题),当银行员工的数量过大或午休轮班的次数过多时,可能无法得到满足上述强约束条件的解,因此,本发明进一步提供一种改进的遗传算法,所述改进的遗传算法是基于分层精英选择算子的差分进化算法(de),其中所述差分进化算法(de)的初始种群是在每个设计变量的上限和下限之间随机生成,且所述差分进化算法包括三个控制参数设计变量的实值向量,所述实值向量分别为:交叉率(cr)、比例因子(f)和种群数量(np)。其中所述差分进化算法的步骤包括:选择、变异和交叉等操作。
[0058]
具体而言,采用所述差分进化算法对排班日期班制和午休班制作为优化变量进行实数编码设计,其中每个变量的范围为员工的编号。进一步根据强约束条件生成初始种群,其中所述初始种群的强约束条件为满足员工每天只上一次班的约束条件,根据历史数据将满足所强约束条件的个体抽取生成所述初始种群。
[0059]
计算每个时间段下满足人力资源需求、约束条件和相关优化目的条件下的每个个体的适应度,其中所述适应度的计算公式为:
[0060][0061]
其中fitness表示适应度,在适应度计算公式中的m表示t天的第s个班次上班员工数量。如果实际上班人数小于设定的最小人数需求,第一项大于0,而第二项等于0;如果实际上班人数大于设定的最大人数需求,第一项等于0而第二项大于0;所以只有当人数在设定的区间内时,fitness才等于0,其他时候都大于0。所以这个问题就是一个最小化问题,问题的最优解为0。
[0062]
在本发明中,所述差异进化算法中的选择操作包括如下步骤:
[0063]
选择分层精英选择算子,设置分层数=u;
[0064]
将子代个体和父代个体放入到同一个个体池中,且在所述个体池中按照每个个体适应度大小进行排序,在完成所述个体池的排序后,进一步根据排序的序号平均分层u层,
对每一层的个体随机抽取|n/u|作为下一次迭代中的父代个体。
[0065]
所述差分进化算法中的交叉操作为最主要的个体重组和配对过程,所述个体重组和配对可以降低对有效模式的破坏概率,所述交叉操作算子在迭代构造子染色体时使用已选出的基因集合覆盖行的数量,和加入新基因后增加的覆盖行数量差最多的因子,加入解集合,当增量相同时,则挑选增新基因后重复覆盖最少的因子,具体包括如下步骤:
[0066]
合并所有父代个体的基因,举例来说,父代个体基因pa,a=(1,2,3

n),其中每个个体可以包括多个基因,pc=null表示无用基因,合并后的基因集合为p=(p1,p2,p3…
pn),计算所述基因集合p中的包含相同排班数量。进入一个循环,所述循环包括:根据适应度函数计算每一基因的适应度值,并选取适应度值最高的基因集合,若存在新选择的基因集合,且基因集合数大于等于2,则选择基因重复度最小的,并将基因覆盖累加到已经覆盖的岗位人数,当所有岗位人数都被覆盖到后,直接退出上述循环,并删除pc中的冗余基因。
[0067]
进一步的,所述差分进化算法中的变异操作包括:
[0068][0069]
其中v
i,g+1
为下一世代的第i个个体,并对其j个基因进行取整处理,x
bestg
为当前世代的最好的个体,x
r1,g
,x
r2,g
,x
r3,g
,x
r4,g
分别为当前世代的随机选择的4个个体。重复计算n次生成n个个体作为当前迭代中的子代。
[0070]
本发明进一步提供迭代终止条件,其中所述迭代终止条件包括:设置迭代次数阈值、实时计算迭代种群的适应度值,当适应度不再变化后,设置无适应度改进下的迭代阈值次数,或者设定所述种群迭代的运行阈值时长作为所述所述迭代终止条件,当所述种群存在上述中的任意至少一种迭代终止条件,则系统自动终止种群迭代。
[0071]
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(cpu)执行时,执行本技术的方法中限定的上述功能。需要说明的是,本技术上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线段、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线段的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线段、电线段、光缆、rf等等,或者上述的任
意合适的组合。
[0072]
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0073]
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明,本发明的目的已经完整并有效地实现,本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1