不确定性环境下民事电话送达调度方法、终端及存储介质转让专利

申请号 : CN202210902570.4

文献号 : CN114997532B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赖明辉胡骞周航滨商廉何飞跃

申请人 : 江苏新视云科技股份有限公司

摘要 :

本申请提出不确定性环境下民事电话送达调度方法、终端及存储介质;通过基于滚动时域框架,在动态变化的工单、员工环境下,每隔固定时间对输入工单运用优化方法调度,为员工分配后一时间段内应拨打工单序列。对工单流转中不确定性,提出用仿真方法评价优化过程中分配方案质量;对不同工单类型差异,提出双层工单优先级评估方法,来量化每个工单优先级差异;对司法送达业务中来自不同法院工单的定制化服务需求,制定一个高级调度优化目标来个性化分配不同业务水平的专员给不同法院的工单;针对调度过程中业务规则、优先性规则,建立优化模型,使用一种变邻域搜索算法求解,结合多种优化算子使用并行化计算,加速求解过程。

权利要求 :

1.一种不确定性环境下民事电话送达调度方法,其特征在于,包括以下步骤:S1:读入数据构造数据项,包括待调度的工单数据、专员数据、法院数据;

S2:对步骤S1读入的数据构造数据项,进行蒙特卡洛仿真抽样,得到多个仿真抽样的实施例Ω;具体为:

S2.1:通过历史数据对拨打次数、处理时间、拨打成功的随机概率分布进行估计,分别得到各自的估计参数 λkl,

对于拨打次数服从的几何分布参数 使用几何分布对不同类型的工单接通所需拨打的总次数的概率分布进行拟合,通过公式 估计该几何分布的参数 式中 为 的估计值,nj为历史数据中该类型工单j接通所需的拨打次l

数,J为类型为l的所有工单;

对于处理时间服从的指数分布参数λkl;使用指数分布对不同类型员工处理不同类型的工单处理时间的分布进行拟合,通过公式 估计该指数分布的参数λkl,其中 为λkl的估计值,P为专员的类型集合,W为工单的类型集合,pi为员工i的类型,aj为工单j的类型,procij为专员i处理工单j的通话时间,nkl为类型k员工处理类型l工单的总数;

对于拨打成功率 通过公式 对拨打成功率进行拟合,其中 为 的估计值,succj表示工单j是否送达成功,ni表示类型l工单的总数;

S2.2:根据随机概率分布的结果,对步骤S1读入的数据构造数据项中待调度的工单和员工进行仿真抽样,得到多个实例Ω,其中:

首先应用Monte Carlo仿真模拟随机事件,即模拟专员拨打分配工单的过程,得到仿真实例;

然后在仿真实例中,对于一个工单j的抽样结果为其中工单j是否拨通为 其确定的过程为:首先生成一个服从均匀分布的随机数u,u~U(0,1),再将u和 进行比较,若 表示拨通,若表示未拨通;

其中工单j的处理时间为 其确定的过程为:根据公式 进行确定,式中u为一个服从均匀分布的随机数,即u~U(0,1);

其中工单j是否送达成功为 其确定的过程为:首先生成一个服从均匀分布的随机数u,u~U(0,1),再将u和 进行比较,若 表示送达,若表示未送达;

以此完成其他工单被每个类型员工处理的抽样结果,所有工单的抽样结果为一个抽样实例,在仿真实例中进行多次抽样得到多个抽样实例Ω;

S3:对步骤S1读入的数据构造数据项中待调度的工单数据进行预处理,将工单进行分类形成一层优先级;具体为:

将待调度的工单分为三类,包括Force、Bound、Flexible工单,且三类工单优先级别的顺序为:Force>Bound>Flexible;

其中Force类工单包括有:预约工单、离开庭时间不大于法院要求的拨打天数的工单、每日一定时刻尚未拨打过的当日新到达工单、定义一个阈值参数dayForForce,且距离开庭时间短于该参数的工单;

其中Bound为已拨打过的工单,直接分配给上次拨打的员工;

其中Flexible为灵活工单,为可以灵活分配的工单;

S4:对步骤S3每个分类中的各个工单进行优先级计算,并排序形成二层优先级;具体为:

利用priority优先级计算公式对每个分类中各个工单的优先级进行计算,并排序以形成二层优先级,即每个分类中各个工单使用优先级计算公式计算得到的priority为该工单的优先级,得分越高,优先级也越高;其中priority优先级计算方式如下:式中,各个指标的概念如下:timeopen为工单距离开庭期的天数、timeproof为工单距离开庭天数减去举证期时长后剩余可以拨打的天数、fregLimit为工单到达M日内是否有一天拨打满了n次,若是取1,非取0、timedwell为工单在系统内停留天数、urgency为工单紧急程度若为紧急取1,非紧急取0、callstotal为工单累计已拨打次数、callstoday为工单今日已拨打次数;同时运用层次分析法对各个指标之间的相对重要性进行比较,确定各个指标的对应权重系数,包括式中的wopen、wproof、wlimit、wdwell、wurgency、wtotal、wtodny;式中的α、β为设定系数;

S5:对步骤S4中处理后的待分配工单,进行初步方案的调度,即构造了一个初始解:将待分配的工单匹配给各个专员,使得所有待分配专员被分配到工单序列,每个专员工单序列中的工单按照一层优先级、二层优先级排序;同时结合步骤S2所仿真抽样的多个实施例Ω计算调度方案的得分;具体为:

S5.1:构建包含法院等级和专员等级的打分矩阵;并对每一个类别为Force、Flexible待分配的工单,从对应等级的员工集合中找到当前工单量低、且符合一定约束条件的专员,将该工单插入到该专员的工作列表中,若对应等级无专员满足条件,则向其他等级专员进行寻找匹配,而Bound类工单直接分配给上次拨打的员工,以此构造调度方案的初始解,将所有待分配工单匹配给各个专员,使得专员中形成工单序列,且工单序列是按照Force‑Bound‑Flexible的顺序排列,每个类别内部的工单则按照工单的二层优先级从高到低排列;

其中,初始解是一个调度方案,之所以称之为初始解,是其还有改进的空间,一个调度方案中包含所有待分配员工被分配到的工单序列;

S5.2:计算一个调度方案得分时,对该调度方案的所有专员与工单的匹配情况,检查专员匹配情况在一个仿真抽样实例ω上的拨打情况,若拨打成功,根据员工和工单的属性查询得分矩阵得到一个匹配的得分;这样计算该调度方案中所有专员匹配情况的得分,所有得分之和就是该调度方案在一个仿真抽样实例ω上的得分Q(x,ω);

对该调度方案,计算其在每一个仿真抽样实例ω∈Ω的得分的均值 作为该调度方案的得分;

S6:在步骤S5中得到调度方案的初始解后,对初始解分配的工单进行算子操作,在执行算子操作时首先使用Relocate算子对初始解进行迭代改进,若已无法改进,再使用Exchange算子改进初始解,直到得到最终的调度方案;

其中,使用Relocate算子对初始解迭代改进的过程具体内容为:首先对所有的Force工单进行Relocate算子操作,即对每一个专员在初始解中分配到的每一个Force工单按顺序执行Relocate算子操作,然后对所有的Flexible工单进行Relocate 算子操作,即对每一个员工在初始解中分配到的每一个Flexible工单按顺序执行Relocate算子操作,得到最终优化后的调度方案;Relocate算子操作的具体为,采用“best”策略:

首先选择一名专员staff1,如果该专员不是虚拟员工且工作时长未超时,那么继续进行Relocate算子操作,否则选择下一位专员;

然后初始化参数bestDelta=0,随后将专员staff1当前工单列表中的一个工单插入专员staff2的工单列表中,并根据步骤S5.2的内容重新计算这个新的调度方案的得分,若这次插入后调度方案得分值与初始解的得分值相比较,改变没有大于bestDelta,则不进行Relocate操作,继续将staff1当前工单列表中的下一工单插入员工staff2的工单列表,确认新的调度方案得分与初始解得分相比较,改变是否大于bestDelta;而若插入后调度方案得分值与初始解的得分值相比较,改变大于bestDelta,则更新bestDelta为差值,该差值指插入调整后调度方案得分与初始解得分之间的差值;

遍历staff1的其他工单,将其插入专员staff2的工单列表中,并计算调整后调度方案得分与初始解得分的差值,将差值与更新的bestDelta参数相比较,并判断是否再次更新该参数值,以此完成staff1所有工单的遍历,对该员工的Relocate操作结束;

同理,依次对其他专员的工单进行Relocate算子操作,以对初始解的调度方案进行优化,得到最终的调度方案;

其中,使用Exchange算子对初始解迭代改进的过程具体内容为:首先对所有的Force工单进行Exchange算子操作,即对每一个专员在初始解中分配到的每一个Force工单按顺序执行Exchange算子操作,然后对所有的Flexible工单进行Exchange算子操作,即对每一个员工在初始解中分配到的每一个Flexible工单按顺序执行Exchange算子操作,得到最终优化后的调度方案;Exchange算子操作的具体为,采用“best′”策略:首先选择一名专员staff1,如果该专员不是虚拟员工且工作时长未超时,那么继续进行Exchange算子操作,否则选择下一位专员;

然后初始化参数bestDelta′=0,随后将专员staff1当前工单列表中的一个工单和专员staff2工单列表中一个工单进行交换,然后根据步骤S5.2的内容重新计算这个新的调度方案的得分,若这次交换后调度方案得分值与初始解的得分值相比较,改变没有大于bestDelta′,则不进行Exchange操作,继续将staff1当前工单列表中的下一个工单和专员staff2工单列表中的工单进行交换,确认新的调度方案得分与初始解得分相比较,改变是否大于bestDelta′;而若交换后调度方案得分值与初始解的得分值相比较,改变大于bestDelta′,则更新bestDelta′为差值,该差值指交换调整后调度方案得分与初始解得分之间的差值;

遍历staff1的其他工单,将其与staff2列表中的工单进行交换,并计算调整后调度方案得分与初始解得分的差值,将差值与更新的bestDelta′参数相比较;并判断是否再次更新该参数值,以此完成staff1所有工单的遍历,对该员工的Exchange操作结束;

同理,依次对其他专员的工单进行Exchange算子操作,以对初始解的调度方案进行优化,得到最终的调度方案。

2.根据权利要求1所述的一种不确定性环境下民事电话送达调度方法,其特征在于,步骤S5.1中构建等级派单的得分矩阵具体内容为:将法院等级由高到低划分为:S级,A级,B级,C级,将专员等级由高到低划分为:首席,资深,高级,中级;设计得分矩阵,即针对每一等级的法院,对各个等级的专员进行打分;具体为:对于为S级法院工单,对各个等级专员的打分的高低顺序为:首席>资深≧高级>中级;

对于为A级法院工单,对各个等级专员的打分的高低顺序为:资深>首席≧高级>中级;

对于为B级法院工单,对各个等级专员的打分的高低顺序为:高级>资深≧中级>首席;

对于为C级法院工单,对各个等级专员的打分的高低顺序为:中级>资深≧高级>首席;

其中打分越高说明该等级专员在对应等级的法院中匹配优先级越高。

3.根据权利要求1所述的一种不确定性环境下民事电话送达调度方法,其特征在于,步骤S6中使用Relocate算子对初始解迭代改进的过程中,将“best”策略替换为“first”策略,采用“first”策略的具体内容为:首先选择一名专员staff1,如果该专员不是虚拟员工且工作时长未超时,那么继续进行Relocate算子操作,否则选择下一位专员;

然后初始定义参数Delta的值,随后将专员staff1当前工单列表中的一个工单插入专员staff2的工单列表中,然后根据步骤S5.2的内容重新计算这个新的调度方案的得分,若这次插入后调度方案得分值与初始解的得分值相比较,改变没有大于Delta,则不进行Relocate操作,继续将staff1当前工单列表中的下一工单插入员工staff2的工单列表,确认新的调度方案得分与初始解得分的改变是否大于Delta;而若插入后调度方案得分值与初始解的得分值相比较,改变大于Delta,则进行当前Delta参数对应的Relocate操作,不再继续遍历staff1的其他工单,对该专员的Relocate操作结束;

同理,依次对其他专员的工单进行Relocate算子操作,以对初始解的调度方案进行优化,得到最终的调度方案。

4.根据权利要求1所述的一种不确定性环境下民事电话送达调度方法,其特征在于,步骤S6中使用Exchange算子对初始解迭代改进的过程中,将“best′”策略替换为“first′”策略,采用“first′”策略的具体内容为:首先选择一名专员staff1,如果该专员不是虚拟员工且工作时长未超时,那么继续进行Exchange算子操作,否则选择下一位员工;

然后初始定义参数Delta′的值,随后将专员staff1当前工单列表中的一个工单和专员staff2的工单列表中的工单进行交换,然后根据步骤S5.2的内容重新计算这个新的调度方案的得分,若这次插入后调度方案得分值与初始解的得分值相比较,改变没有大于Delta′,则不进行Exchange操作,继续将staff1当前工单列表中的下一个工单与专员staff2工单列表的工单进行交换;确认新的调度方案得分与初始解得分的改变是否大于Delta′,而若插入后调度方案得分值与初始解的得分值相比较,改变大于Delta′,则进行当前Delta′参数对应的Exchange操作,不再继续遍历staff1的其他工单,对该专员的Exchange操作结束;

同理,依次对其他专员的工单进行Exchange算子操作,以对初始解的调度方案进行优化,得到最终的调度方案。

5.一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述方法的步骤。

6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤。

说明书 :

不确定性环境下民事电话送达调度方法、终端及存储介质

技术领域

[0001] 本发明涉及智能派单技术领域,特别涉及不确定性环境下民事电话送达调度方法、终端及存储介质。

背景技术

[0002] 民事电话送达是指通过电话通知的方式将开庭通知和法院判决书送达到对应的原被告手中。现有的工单派发模式多采用人工派发模式,当工单到达系统后,由核心调度人员依据经验和工单属性将订单分类给对应的组,然后再由每组组长根据每个员工的处理能
力和擅长领域分配每个员工的工单列表。员工在得到订单列表时根据经验选择拨打订单顺
序。
[0003] 但人工分配存在以下缺陷:第一,操作过程繁琐,员工依据经验选择订单拨打顺序增加了员工的工作难度。第二,在订单数目很大的情况下,人工分配的处理难度增大,很难保证分配结果的及时性,难以及时跟进业务进展,也容易存在订单分配不均匀的情况,人力得不到及时的调度,不利于业务的持续发展。第三,没有考虑到工单和人员的差异性匹配及工单拨打结果的不确定性对分配结果的影响。
[0004] 考虑到工单的差异性(工单来自不同的法院及工单紧急程度不同)和员工的差异性(员工的处理能力和技能差别),我们需要将工单合理地匹配给员工进行拨打。工单的拨
打结果存在不确定性,订单是否接通,专员的沟通结果都无法提前预知,所以未来的工单处理结果也是不确定性的。因此需要动态地结合订单历史分配结果和拨打情况优化员工的工
单分配列表。

发明内容

[0005] 本发明针对现有技术中的不足,提供一种不确定性环境下民事电话送达调度方法、终端及存储介质;以解决上述背景技术所要解决的人工分配工单的缺陷性。
[0006] 为实现上述目的,本发明采用以下技术方案:
[0007] 一种不确定性环境下民事电话送达调度方法,包括以下步骤:
[0008] S1:读入数据构造数据项,包括待调度的工单数据、专员数据、法院数据;
[0009] S2:对步骤S1读入的数据构造数据项,进行蒙特卡洛仿真抽样,得到多个仿真抽样的实施例Ω;
[0010] S3:对步骤S1读入的数据构造数据项中待调度的工单数据进行预处理,将工单进行分类形成一层优先级;
[0011] S4:对步骤S3每个分类中的各个工单进行优先级计算,并排序形成二层优先级;
[0012] S5:对步骤S4中处理后的待分配工单,进行初步方案的调度,即构造了一个初始解:将待分配的工单匹配给各个专员,使得所有待分配专员被分配到工单序列,每个专员工单序列中的工单按照一层优先级、二层优先级排序;同时结合步骤S2所仿真抽样的多个实
施例Ω计算调度方案的得分;
[0013] S6:在步骤S5中得到调度方案的初始解后,对初始解分配的工单进行算子操作,在执行算子操作时首先使用Relocate算子对初始解进行迭代改进,若已无法改进,再使用Exchange算子改进初始解,直到得到最终的调度方案。
[0014] 为优化上述技术方案,采取的具体措施还包括:
[0015] 进一步地,步骤S2的具体内容为:
[0016] S2.1:通过历史数据对拨打次数、处理时间、拨打成功的随机概率分布进行估计,分别得到各自的估计参数 λkl, 具体为:
[0017] 对于拨打次数服从的几何分布参数 使用几何分布对不同类型的工单接通所需拨打的总次数的概率分布进行拟合,通过公式 估计该几何分布的参数
l
式中 为 的估计值,nj为历史数据中该类型工单j接通所需的拨打次数,J 为类
型为l的所有工单;
[0018] 对于处理时间服从的指数分布参数λkl;使用指数分布对不同类型员工处理不同类型的工单处理时间的分布进行拟合,通过公式 估计该指数分布的参数λkl,其中 为λkl的估计值,P为专员的类型集合,W为工单的类型集合,pi为员工i的类型,aj为工单j的类型,procij为专员i处理工单j的通话时间,nkl为类型k员工处理类型l工单的总数;
[0019] 对于拨打成功率 通过公式 对拨打成功率进行拟合,其中 为 的估计值,succj表示工单j是否送达成功,ni表示类型l工单的总数;
[0020] S2.2:根据随机概率分布的结果,对步骤S1读入的数据构造数据项中待调度的工单和员工进行仿真抽样,得到多个实例Ω,具体为:
[0021] 首先应用Monte Carlo仿真模拟随机事件,即模拟专员拨打分配工单的过程,得到仿真实例;
[0022] 然后在仿真实例中,对于一个工单j的抽样结果为
[0023] 其中工单j是否拨通为 其确定的过程为:首先生成一个服从均匀分布的随机数u,u~U(0,1),再将u和 进行比较,若 表示拨通,若
表示未拨通;
[0024] 其中工单j的处理时间为 其确定的过程为:根据公式 进行确定,式中u为一个服从均匀分布的随机数,即u~U(0,1);
[0025] 其中工单j是否送达成功为 其确定的过程为:首先生成一个服从均匀分布的随机数u,u~U(0,1),再将u和 进行比较,若 表示送达,若
表示未送达;
[0026] 以此完成其他工单被每个类型员工处理的抽样结果,所有工单的抽样结果为一个抽样实例,在仿真实例中进行多次抽样得到多个抽样实例Ω。
[0027] 进一步地,步骤S3中将工单进行分类的具体内容为:
[0028] 将待调度的工单分为三类,包括Force、Bound、Flexible工单,且三类工单优先级别的顺序为:Force>Bound>Flexible;
[0029] 其中Force类工单包括有:预约工单、离开庭时间不大于法院要求的拨打天数的工单、每日一定时刻尚未拨打过的当日新到达工单、定义一个阈值参数dayForForce,且距离开庭时间短于该参数的工单;
[0030] 其中Bound为已拨打过的工单,直接分配给上次拨打的员工;
[0031] 其中Flexible为灵活工单,为可以灵活分配的工单。
[0032] 进一步地,步骤S4的具体内容为:
[0033] 利用priority优先级计算公式对每个分类中各个工单的优先级进行计算,并排序以形成二层优先级,即每个分类中各个工单使用优先级计算公式计算得到的priority为该
工单的优先级,得分越高,优先级也越高;其中priority优先级计算方式如下:
[0034]
[0035] 式中,各个指标的概念如下:timeopen为工单距离开庭期的天数、timeproof为工单距离开庭天数减去举证期时长后剩余可以拨打的天数、freqLimit为工单到达M日内是否有一天拨打满了n次,若是取1,非取0、timedwell为工单在系统内停留天数、urgency为工单紧急程度若为紧急取1,非紧急取0、callstotal为工单累计已拨打次数、callstoday为工单今日已拨打次数;同时运用层次分析法对各个指标之间的相对重要性进行比较,确定各个指标的对
应权重系数,包括式中的wopen、wproof、wlimit、wdwell、wurgency、wtotal、wtoday;式中的α、β为设定系数。
[0036] 进一步地,步骤S5的具体内容为:
[0037] S5.1:构建包含法院等级和专员等级的打分矩阵;并对每一个类别为Force、Flexible待分配的工单,优先从对应等级的员工集合中找到当前工单量低、且符合一定约
束条件的专员,将该工单插入到该专员的工作列表中,若对应等级无专员满足条件,则向其他等级专员进行寻找匹配,而Bound类工单直接分配给上次拨打的员工,以此构造调度方案的初始解,将所有待分配工单匹配给各个专员,使得专员中形成工单序列,且工单序列是按照Force‑Bound‑Flexible的顺序排列,每个类别内部的工单则按照工单的二层优先级从高到低排列;
[0038] 其中,初始解是一个调度方案,之所以称之为初始解,是其还有改进的空间,一个调度方案中包含所有待分配员工被分配到的工单序列;
[0039] S5.2:计算一个调度方案得分时,对该调度方案的所有专员与工单的匹配情况,检查专员匹配情况在一个仿真抽样实例ω上的拨打情况,若拨打成功,根据员工和工单的属性查询得分矩阵得到一个匹配的得分;这样计算该调度方案中所有专员匹配情况的得分,
所有得分之和就是该调度方案在一个仿真抽样实例ω上的得分Q(x,ω);
[0040] 对该调度方案,计算其在每一个仿真抽样实例ω∈Ω的得分的均值 作为该调度方案的得分。
[0041] 进一步地,步骤S5.1中构建等级派单的得分矩阵具体内容为:
[0042] 将法院等级由高到低划分为:S级,A级,B级,C级,将专员等级由高到低划分为:首席,资深,高级,中级;设计得分矩阵,即针对每一等级的法院,对各个等级的专员进行打分;具体为:
[0043] 对于为S级法院工单,对各个等级专员的打分的高低顺序为:首席>资深≧高级>中级;
[0044] 对于为A级法院工单,对各个等级专员的打分的高低顺序为:资深>首席≧高级>中级;
[0045] 对于为B级法院工单,对各个等级专员的打分的高低顺序为:高级>资深≧中级>首席;
[0046] 对于为C级法院工单,对各个等级专员的打分的高低顺序为:中级>资深≧高级>首席;
[0047] 其中打分越高说明该等级专员在对应等级的法院中匹配优先级越高。
[0048] 进一步地,步骤S6中使用Relocate算子对初始解迭代改进的过程内容为:
[0049] 首先对所有的Force工单进行Relocate算子操作,对每一个专员在初始解中分配到的每一个Force工单按顺序执行Relocate算子操作,然后对所有的Flexible工单进行
Relocate算子操作,对每一个员工在初始解中分配到的每一个Flexible工单按顺序执行
Relocate算子操作,得到最终优化后的调度方案;Relocate算子操作的具体为,采用“best”策略:
[0050] 首先选择一名专员staff1,如果该专员不是虚拟员工且工作时长未超时,那么继续进行Relocate算子操作,否则选择下一位专员;
[0051] 然后初始化参数bestDelta=0,随后将专员staff1当前工单列表中的一个工单插入专员staff2的工单列表中,并根据步骤S5.2的内容重新计算这个新的调度方案的得分,
若这次插入后调度方案得分值与初始解的得分值相比较,改变没有大于bestDelta,则不进行Relocate操作,继续将staff1当前工单列表中的下一工单插入员工staff2的工单列表,
确认新的调度方案得分与初始解得分相比较,改变是否大于bestDelta;而若插入后调度方案得分值与初始解的得分值相比较,改变大于bestDelta,则更新bestDelta为该差值;该差值指插入调整后调度方案得分与初始解得分之间的差值;遍历staff1的其他工单,将其插
入专员staff2的工单列表中,并计算调整后调度方案得分与初始解得分的差值,将差值与
更新的bestDelta参数相比较,并判断是否再次更新该参数值,以此完成staff1所有工单的遍历,对该员工的Relocate操作结束;
[0052] 同理,依次对其他专员的工单进行Relocate算子操作,以对初始解的调度方案进行优化,得到最终的调度方案。
[0053] 进一步地,步骤S6中使用Relocate算子对初始解迭代改进的过程中,“best”策略可替换为“first”策略,采用“first”策略的具体内容为:
[0054] 首先选择一名专员staff1,如果该专员不是虚拟员工且工作时长未超时,那么继续进行Relocate算子操作,否则选择下一位专员;
[0055] 然后初始定义参数Delta的值(First策略中Delta为提前定义好的参数),随后将专员staff1当前工单列表中的一个工单插入专员staff2的工单列表中,然后根据步骤S5.2
的内容重新计算这个新的调度方案的得分,若这次插入后调度方案得分值与初始解的得分
值相比较,改变没有大于Delta,则不进行Relocate操作,继续将staff1当前工单列表中的下一工单插入员工staff2的工单列表,确认新的调度方案得分与初始解得分的改变是否大
于Delta;而若插入后调度方案得分值与初始解的得分值相比较,改变大于Delta,则进行当前Delta参数对应的Relocate操作,不再继续遍历staff1的其他工单,对该专员的Relocate操作结束;
[0056] 同理,依次对其他专员的工单进行Relocate算子操作,以对初始解的调度方案进行优化,得到最终的调度方案。
[0057] 进一步地,步骤S6中使用Exchange算子对初始解迭代改进的过程内容为:
[0058] 首先对所有的Force工单进行Exchange算子操作,对每一个专员在初始解中分配到的每一个Force工单按顺序执行Exchange算子操作,然后对所有的Flexible工单进行
Exchange算子操作,对每一个员工在初始解中分配到的每一个Flexible工单按顺序执行
Exchange算子操作,得到最终优化后的调度方案;Exchange算子操作的具体为,采用
“best′”策略:
[0059] 首先选择一名专员staff1,如果该专员不是虚拟员工且工作时长未超时,那么继续进行Exchange算子操作,否则选择下一位专员;
[0060] 然后初始化参数bestDelta'=0,随后将专员staff1当前工单列表中的一个工单和专员staff2工单列表中一个工单进行交换,然后根据步骤S5.2的内容重新计算这个新的
调度方案的得分,若这次交换后调度方案得分值与初始解的得分值相比较,改变没有大于
bestDelta′,则不进行Exchange操作,继续将staff1当前工单列表中的下一个工单和专员staff2工单列表中的工单进行交换,确认新的调度方案得分与初始解得分相比较,改变是
否大于bestDelta′;而若交换后调度方案得分值与初始解的得分值相比较,改变大于
bestDelta′,则更新bestDelta′为该差值;该差值指交换调整后调度方案得分与初始解得分之间的差值;
[0061] 遍历staff1的其他工单,将其与staff2列表中的工单进行交换,并计算调整后调度方案得分与初始解得分的差值,将差值与更新的bestDelta′参数相比较;并判断是否再次更新该参数值,以此完成staff1所有工单的遍历,对该员工的Exchange操作结束;
[0062] 同理,依次对其他专员的工单进行Exchange算子操作,以对初始解的调度方案进行优化,得到最终的调度方案。
[0063] 进一步地,步骤S6中使用Exchange算子对初始解迭代改进的过程中,“best′”策略可替换为“first′”策略,采用“first′”策略的具体内容为:
[0064] 首先选择一名专员staff1,如果该专员不是虚拟员工且工作时长未超时,那么继续进行Exchange算子操作,否则选择下一位员工;
[0065] 然后初始定义参数Delta′的值(First策略中Delta′为提前定义好的参数),随后将专员staff1当前工单列表中的一个工单和专员staff2的工单列表中的工单进行交换,然
后根据步骤S5.2的内容重新计算这个新的调度方案的得分,若这次插入后调度方案得分值
与初始解的得分值相比较,改变没有大于Delta′,则不进行Exchange操作,继续将staff1当前工单列表中的下一个工单与专员staff2工单列表的工单进行交换;确认新的调度方案得
分与初始解得分的改变是否大于Delta′,而若插入后调度方案得分值与初始解的得分值相比较,改变大于Delta′,则进行当前Delta′参数对应的Exchange操作,不再继续遍历staff1的其他工单,对该专员的Exchange操作结束;
[0066] 同理,依次对其他专员的工单进行Exchange算子操作,以对初始解的调度方案进行优化,得到最终的调度方案。
[0067] 进一步地,一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方案任一项所述方法的步骤。
[0068] 进一步地,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方案任一项所述方法的步骤。
[0069] 本发明的有益效果是:
[0070] 1、本申请方案可以自动进行订单的智能调度,生成每个员工的订单列表,工单列表按照建议送达顺序生成。不需要人工派单,节省了人工派单的人力,员工得到建议送达顺序的工单列表,避免了对工单送达的顺序选择,简化操作复杂度。
[0071] 2、员工的派单结果自动生成,在工单暴增的情况下也可以稳健地得到订单分配结果,而且方便动态调度分配结果,对分配结果进行动态的调整和追踪。
[0072] 3、合理地匹配工单和员工,需要考虑员工的处理能力和拥有技能,同时考虑工单的法院属性和紧迫程度设置合理的层级匹配方法,满足订单的分配需求。为了充分优化员
工处理工单数目和效率,本申请设计优化算法寻找最佳的工单分配结果同时优化单个员工
的工单列表排序。解决员工处理工单过程中的不确定性,将订单拨打过程中的可能存在情
况考虑到优化过程中。

附图说明

[0073] 图1是本发明调派方法示意图。
[0074] 图2是本发明向下兼容式的法院等级对应关系示意图。
[0075] 图3是本发明优化算法运行流程示意图。
[0076] 图4是本发明Relocate算子示意图。
[0077] 图5是本发明exchange算子示意图。
[0078] 图6是本发明送达业务工单调度流程示意图。
[0079] 图7是本发明优先级计算相关指标示意图。
[0080] 图8是本发明Relocate_best算子示意图。
[0081] 图9是本发明Relocate_first算子示意图。
[0082] 图10是本发明Exchange_best算子执行示意图。
[0083] 图11是本发明Exchange_first算子执行示意图。

具体实施方式

[0084] 现在结合附图对本发明作进一步详细的说明。
[0085] 本申请提供了一套不确定环境下的民事电话送达调度算法,使得送达业务更加智能化,并提升整体效率和送达成功率。
[0086] 本发明提出的民事送达业务环境下的调度算法基于滚动时域框架,在动态随机变化的工单、员工环境下,每隔固定的时间间隔对输入系统的工单运用优化方法进行调度,为员工分配接下来的一个时间段内应该拨打的工单序列。面对工单流转中的不确定性,提出
了一种Monte Carlo仿真方法评价优化过程中分配方案的质量;针对不同工单类型的差异,提出了一个双层工单优先级评估方法,用来量化每一个工单的优先级差异,优先级高的工
单在员工分配到的工作序列中排序更靠前,更优先拨打;针对司法送达业务中的来自不同
法院工单的定制化服务需求,制定了一个高级调度优化目标用来个性化分配不同业务水平
的专员给不同法院的工单;针对调度过程中的业务规则、优先性规则,建立了优化模型,使用一种变邻域搜索算法求解,并结合多种优化算子使用并行化计算,加速求解过程。
[0087] 本发明的主要发明点如下:
[0088] 1、提出了一种基于滚动时域的动态调度优化框架。现有的调度优化算法一般考虑一次静态的调度,而实际业务中的业务环境是动态变化的,调度系统每个时刻都有可能会
收到需要进行调度的新进工单,同时调度系统每隔一段固定的时间间隔就将工单池中累积
的工单分配给专员进行拨打。工单被拨打后会有对应的拨打结果产生,如果工单这一次拨
打未成功,下一次拨打需要间隔一定的时段再进行。对现有专员和工单进行分配是一个动
态的调度过程,本发明基于滚动时域的思想,每隔固定时间间隔收集待调度员工和工单信
息进行调度,然后员工执行调度结果,在下一个时刻再更新信息重复此过程,整个优化框架如图1所示:
[0089] 1)数据分析:在每一时期,针对累积的历史记录数据,分析各随机事件的概率分布、各专员的业务技能水平以及前期算法参数和策略规则的效果,计算当前的系统状态;
[0090] 2)随机仿真:针对当前的概率分布分析结果,应用Monte Carlo仿真模拟随机事件,即模拟专员拨打所分配工单的过程,进行一定规模的抽样,产生大量实例;
[0091] 3)调度优化算法:根据数据分析的结果,适当更新业务规则和匹配的优先性规则,基于这些规则确定优化模型的目标函数、约束条件等,输入仿真抽样实例数据以及系统状态数据,建立数学规划模型,调用仿真模块评估分配方案,依据需要调整优化算法的参数,高效求解当前时期的最优调度方案;
[0092] 4)特殊处理:确定分配方案后,在专员处理过程中,针对机器人拨打工单接通需要立即转人工的事件以及当事人回拨电话需要立即指派专员的事件,设计一个应急处理机制;
[0093] 5)评价和调试:记录当前调度方案的实际发生结果数据,评价调度方案,反馈至下一时期调度问题,不断进行算法参数定制和性能调优测试。
[0094] 需要注意的是,每一时期t之初,系统中存在之前到达(例如,甚至是一周以前的)但还未完结的工单,那么调度算法将把系统中积累的未完结工单和当前新到达的工单一起
处理,而不是仅仅去优化新到达工单的分配。滚动时域的思想就是系统中所有累积的工单
分配决策都将基于新的状态信息不断进行再优化,直到完结为止。每次调度分配时,都是以专员一天的工作量为上限。
[0095] 每一时期t,各专员根据工作列表(即所分配的工单集合)进行拨打。在下一次t+1时期进行调度优化前,各专员工作列表中的一些工单可能或已拨打完结、或拨打未接通、或正在处理过程中,或还未拨打。那么,进行调度优化前,需要及时更新工单的状态,并确定哪些工单可以重新再优化分配,保证算法在运行过程中专员不会出现空闲状态。下一次调度
优化算法运行后将产生新的分配方案,此时专员新的工作列表与专员上一时期列表中保留
的工单进行合并处理。
[0096] 2、提出了一种Monte Carlo仿真方法评价分配方案的质量。在司法送达业务中,专员对所分配的工单处理充满各种不确定性。对于任意给定的工单分配方案,需要通过仿真模拟专员的拨打过程,以估计实际能处理的工单量和结果。因而,所设计的调度优化模型是一个随机二阶段混合整数规划模型。精确求解最优解的计算复杂度太高,不符合实际的业
务场景需求。特别地,所有工单的拨打结果,实例集合常规模十分巨大,将给优化求解带来很大困难。
[0097] 为了解决这个问题,本发明基于Monte Carlo抽样的平均近似法Sample Average Approximation(SAA,Shapiro et al.,2014)。基于数据分析对不同类型专员拨打不同类型
工单的拨打次数随机性、处理时间随机性、送达成功随机性的数学分布进行估计后,得到
的概率分布估计结果,其中 分别表示j工单是
否拨通、员工i处理工单j的时间、工单j是否送达成功。
[0098] 然后通过分布对真实拨打情况进行随机采样,用Ω表示所有实例,用 表示所有抽样实例的集合。在调度优化模型中,以集合Θ代替Ω。抽样规模的大小Ω取决于估计误差的忍受水平以及计算时间的要求。抽样规模越大,误差越小,但是计算时间也越久。因此,t
可以根据J动态调整Θ集合的规模。
[0099] 在评价一个调度方案的好坏时,需要评估该调度方案在所有仿真实例上的表现,使结果更加真实可靠。
[0100] 3、提出了一个双层工单优先级评估方法。现有的调度优化方案一般不考虑工单之间的优先级,而本发明在生成调度方案时同时考虑工单的优先级,构建了一个双层工单优
先级评价体系,上层对所有工单按照Force/Bound/Flexible优先级由高到低进行分类,下
层对每一层内的工单再通过一个priority优先级函数进行打分。当通过优化确定各个专员
的工单池后,按照Force‑Bound‑Flexible顺序排序,每个分类内部的工单再按照优先级分数由高到低排序,最终得到推送给员工的工作序列。
[0101] 其中,在工单预处理阶段,对所有待分配工单进行分类,当前时段t必须拨打的强制性工单集合为 当前时段t允许灵活调度的工单集合 对于已经拨打过还未
完结的工单集合 这三个工单集合两两互斥,共同构成了所有工单,不同类型工单的
优先级为force>bound>flexible。
[0102] 同时,对属于同一类的工单,通过priority打分函数确定优先级,打分函数通过输入工单的各个优先级指标乘以该指标的权重系数得到工单的优先级评分。对于优先级打分函数,其一种含有七个指标的形式为
[0103]其中timeopen为工单距离开庭
期的天数、timeproof为工单距离开庭天数减去举证期时长后剩余可以拨打的天数、
freqLimit为工单到达三日内是否有一天拨打满了3次(是取1,非取0)、timedwell为工单在系统内停留天数、urgency为工单紧急程度(紧急取1,非紧急取0)、callstotal为累计已拨打次数、callstoday为今日已拨打次数,其中运用层次分析法对各个指标之间的相对重要性进行比较,计算得到各个指标的一个权重系数推荐为
[0104] wopen=0.3596,wproof=0.2493,wlimit=0.1719,wdwell=0.0989,wurgency=0.0605,wtotal=0.0345,wtoday=0.0251,推荐设定系数α=0.1,β=0.5,每个工单使用优先级计算公式计算得到的priority即为该工单的优先级,得分越高,优先级也越高。
[0105] 得到工单类型和工单优先级打分之后,一旦确定了一个员工的工单池,根据先Force,再Bound,后Flexible,每个类别内部按照优先级打分降序排列,就能确定最终该员工分配的工单序列。
[0106] 4、针对司法送达业务中的定制化服务需求,制定了一个高级调度优化目标用来个性化分配不同业务水平的专员。在实际的送达业务中,法院存在不同的等级,员工也存在不同的业务等级,业务部门需要提供定制化的服务,个性化分配不同业务水平的专员,以提高客户体验。
[0107] 一般的,若法院等级分为:S级,A级,B级,C级,专员等级进一步划分为:首席,资深,高级,中级。其中,S级法院优先由首席专员服务、A级法院优先由资深专员服务、C级法院优先由中级专员服务、C级法院优先由中级专员服务,由更高等级专员服务某法院仅作为次优备选,由更低等级专员服务某法院是最差备选,这种关系可以如图2表示。
[0108] 为了在生成调度方案时将这种等级匹配考虑进来,本发明在设计优化模型的优化目标 时,设计了一个得分值χij(ω)用来衡量将
工单i分配给员工j的合理性,一个等级派单得分矩阵如下表1所示。
[0109] 在得分矩阵中,得分越高,表示匹配的优先级也越高,同时,该得分表体现了同级匹配最优先,允许越级匹配,降级匹配最差;而且尽量不给首席专员处理过低等级工单,也尽量不给中级专员分配过高等级工单。这是因为需要考虑法院的难度级别;例如,S级法院的工单不论为何等级的困难,首席和资深都能完全处理,但是由更低等级专员处理就不一定能高效处理;A级法院的工单一般也是困难级别,由更低等级专员拨打效率越低,得分也应越低。另外,为了增加等级匹配灵活性,不设置过多的差别分数。
[0110] 5、针对调度过程中的业务规则、优先性规则,建立了优化模型,使用一种变邻域搜索算法求解,并结合多种优化算子使用并行化计算,加速求解过程。
[0111] 对于每一时期的调度问题,本发明建立了一个随机规划模型,包括优化目标和约束条件,所述优化目标为最大化调度结果的得分值函数:
[0112]
[0113] 其中ω为一个仿真实例,χij(ω)为在实例ω上将订单i匹配给员工j的得分值,其中,得分值的计算和员工类型和工单所属的法院类型有关。
[0114] 所述随规划模型的约束条件包括需求约束、方言约束、法院约束、处理能力约束,其中需求约束为
[0115]
[0116]
[0117]
[0118] 其中,N为待分配员工集合,xij为一个0‑1变量,表示是否将工单j分配给员工i,表示员工i的Bound工单集合。
[0119] 以上三个约束分别考虑Force、Bound、Flexible工单的需求满足方式。合并工单已t经过预处理作为一个工单包含在集合J内。其中,为方便表示,员工集合中添加一位dummy
员工用来表示工单不被分配,即若工单分配给dummy员工,则表示该工单在这次调度中不分配给任何一位真实员工。对于灵活工单集 受处理时间能力限制,不能保证每个工
单可在当前时期全部得到服务,因而部分将分配给dummy员工。特别地,集合 中的任一
工单不能分配给dummy员工。
[0120] 方言约束为
[0121]
[0122] 其中Lj为满足工单j方言要求的专员集合。该约束保证只有符合方言要求的专员才能匹配该工单,
[0123] 法院约束为
[0124]
[0125] 其中Cj为满足工单j所在法院指定的方言要求的专员集合。该约束保证只有专门指定的专员才能匹配该未开通智能调度法院的工单,
[0126] 处理能力约束为
[0127]
[0128] 该约束保证每个员工所有工单的处理时间之和不能超过该员工剩余工作时间上限。
[0129] 为了解决该随机规划问题,本发明提出了一种变邻域局部搜索算法,该算法基于变邻域局部搜索的思想,从一个较好的初始解出发,然后逐一使用优化算子构造邻域,直到在邻域中找到一个更好的解。所谓邻域,指的是与当前给定的解按照算子的规则可构造的
其他解的集合,并与给定的解变动在一定有限范围内。通过使用多种算子,来找到一个比初始解提高很多的解。算法的终止条件是计算时间达到一个预先给定的上限或者局部最优解
已经无法再改进。
[0130] 如图3所示,该算法具体步骤如下:
[0131] 首先使用贪婪算法构造初始解并计算得分,然后进入迭代搜索循环,使用Relocate算子对解进行改进,若已无法改进,再使用Exchange算子改进解直到达到算法终
止条件得到最终的调度方案。
[0132] 所述使用贪婪算法构造初始解构造规则如下:对一个待分配的工单,优先从对应等级的员工集合中找到当前工单最少、且符合约束条件的专员,将工单插入专员工作列表,若对应等级无专员满足条件,则考虑向高一等级寻找。在构造初始解时,要保证工单分配满足约束条件限制,同时使得各员工之间的工单量均衡。
[0133] 所述Relocate算子操作如下(如图4所示):
[0134] 在该算子中,随机选择一个工单j0,将其移出专员σ(j0)的工作列表,然后选择一个* *最优的专员i ,将工单j0移入专员i的工作列表,算子Relocate计算复杂性主要源自于搜寻*
最优专员i。全部穷举可选的专员可能需要花费大量计算时间,因此为降低计算复杂度,每*
次总是从 中选择一个工作列表期望处理时间最小的那个专员作为i ,即
[0135]
[0136] 其中
[0137] 所述Exchange算子操作如下(如图5所示):
[0138] 在该算子中,首先选择一个工单j0,再选择一个可由专员σ(j0)处理的工单j1放入*其工作列表;同时,工单j0既可以放入最优的专员i 或者σ(j1)。对于这一系列操作,选择成本改进最大的一个作为改进解。
[0139] 当所有类型的工单的算子操作都执行结束或达到算法的运行时间限制之后,就得到了最终的调度结果。
[0140] 下面将对调度算法的具体步骤进行阐述:
[0141] 步骤一,获取待调度的工单和人员数据,法院数据,当前时间。
[0142] 所述待调度工单信息包括工单标识id、法院标识id、案件id、身份证号、统一社会信用代码、联系方式、创建时间、开庭时间、举证期时长、方言信息、工单紧急程度、累计有效拨打次数、今日已拨打次数、上次拨打时间、上次拨打员工id、预约时间、合并工单id、解绑工单id、是否满足一天拨打三次限制标识;
[0143] 所述人员数据包括员工id、擅长方言、入职时长、目前工作状态、坐席级别、口音员工可拨打的非方言单所属法院的省份编码;
[0144] 所述法院数据包括法院id、所在省份id、所在城市id、普通案件拨打时长、加急案件拨打时长、工单每天要求拨打次数、法院所属级别;
[0145] 所述当前时间为算法运行所在服务器的当前时间。
[0146] 步骤二,进行蒙特卡洛抽样仿真,蒙特卡洛抽样仿真在本发明中的作用主要是处理工单流转过程中的不确定性,所述工单流转过程中的不确定性包括拨打次数的随机性、
处理时间的随机性、送达成功的随机性。所述的蒙特卡洛抽样仿真步骤包括:
[0147] 使用历史拨打记录对拨打次数、处理时间、送达成功的随机概率分布进行拟合,其中:
[0148] 使用几何分布对不同类型的工单接通所需拨打的总次数进行拟合,通过公式l
估计该几何分布的参数,其中nj为j工单接通所需的拨打次数,J为类型
为l的所有工单;
[0149] 使用指数分布对不同类型员工处理不同类型的工单的通话时间进行拟合,通过公式 估计该指数分布的参数,其中P为专员的类型,
W为工单的类型,procij为ij工单的通话时间,nkl为类型k员工处理类型l工单的总数;
[0150] 通过公式 估计不同类型员工处理不同类型的工单的拨打成功率,其中,succj表示工单j是否送达成功,ni表示类型l工单的总数;
[0151] 根据概率分布和仿真规模对待调度的工单和员工进行仿真抽样,其中,仿真规模表示抽样实例的大小,每个抽样实例下表示所有工单给不同类型员工处理的一个具体的拨
打结果,即是否接通,通话时间,是否拨打成功。
[0152] 步骤三,对工单进行预处理,将工单分成Force,Bound,Flexible三类,其中Force工单是最先被分配,认为是业务上最紧急的工单,包括:预约工单、离开庭时间不大于法院要求的拨打天数的工单、每日下午四点时刻尚未拨打过的当日新到达工单、根据参数“dayForForce”定义的距离开庭时间短于该参数的工单,Bound工单为已拨打过的工单,直接分配给上次拨打的员工,Flexible工单为灵活工单,为满足约束前提下可以灵活分配的
工单。
[0153] 步骤四,对属于同一类型的工单使用priority优先级计算公式计算优先级。
[0154] 步骤五,按照合并规则将某些工单合并为一个工单,合并后的工单在跟进时只需拨打一次。所述某些工单为:工单属于同一法院、联系人的联系方式相同。所述合并规则为:
优先使用代理人的联系方式尝试合并、定义合并工单的数量上限、选取工单中最高级别的
类别作为合并工单类别(Force/Bound/Flexible)、优先级选取工单中最高优先级、仿真实
例中拨打情况的模拟选取通话时长最长的。
[0155] 步骤六,建立调度模型,使用变邻域局部搜索解决调度优化问题。
[0156] 输出调度结果。
[0157] 下面以具体实施例对本申请的调度算法处理的进行说明
[0158] 本文专利是建立随机规划模型,包括优化目标和约束条件。目的是提出一种方法,解决不确定性环境中的调度优化问题:
[0159] 优化目标为最大化调度方案的得分值函数:
[0160]
[0161] 所述随规划模型的约束条件包括需求约束、方言约束、法院约束、处理能约束。
[0162] 其中需求约束为
[0163]
[0164]
[0165]
[0166] 以上三个约束分别考虑Force、Bound、Flexible工单的需求满足方式。合并工单已t经过预处理作为一个工单包含在集合J内。其中,为方便表示,员工集合中添加一位dummy
员工用来表示工单不被分配,即若工单分配给dummy员工,则表示该工单在这次调度中不分配给任何一位真实员工。对于灵活工单集 受处理时间能力限制,不能保证每个工
单可在当前时期全部得到服务,因而部分将分配给dummy员工。特别地,集合 中的任一
工单不能分配给dummy员工。
[0167] 方言约束为
[0168]
[0169] 其中Lj为满足工单j方言要求的专员集合。该约束保证只有符合方言要求的专员才能匹配该工单,
[0170] 法院约束为
[0171]
[0172] 其中Cj为满足工单j所在法院指定的方言要求的专员集合。该约束保证只有专门指定的专员才能匹配未开通智能调度法院的工单,
[0173] 处理能力约束为
[0174]
[0175] 其中, 表示员工i的剩余工作时间。该约束保证每个员工所有工单的处理时间之和不能超过该员工剩余工作时间上限。
[0176] 对于这一调度问题的求解过程,列举步骤如下:
[0177] 参照图6,给出了本发明提供的司法送达业务工单调度流程图。
[0178] 步骤S100,读入数据构造数据项,其中待调度的工单数据、人员数据、法院数据可以参照表2,表3,表4中的数据项进行定义。
[0179] 步骤S200,进行蒙特卡洛仿真抽样。
[0180] 步骤S2001:通过历史数据对拨打次数、处理时间、拨打成功的随机概率分布进行估计,这三个概率分布需要估计的参数分别为 λkl,
[0181] 其中,估计的内容为:
[0182] 拨打次数服从的几何分布参数 使用几何分布对不同类型的工单接通所需拨打的总次数的概率分布进行拟合,通过公式 估计该几何分布的参数
l
其中 为 的估计值,nj为历史数据中该类型工单j接通所需的拨打次数,J 为
类型为l的所有工单;
[0183] 处理时间服从的指数分布参数λkl,使用指数分布对不同类型员工处理不同类型的工单处理时间的分布进行拟合,通过公式 估计该指数分布的参数λkl,其中 为λkl的估计值,P为专员的类型,W为工单的类型,pi为员工i的类型,aj为工单j的类型,procij为专员i处理工单j的通话时间,nkl为类型k员工处理类型l工单的总数;
[0184] 拨打成功率 通过公式 对拨打成功率进行拟合,其中为 的估计值,succj表示工单j是否送达成功,ni表示类型l工单的总数。
[0185] 步骤S2002:根据概率分布结果对待调度的工单和员工进行仿真抽样,得到多个实例及各个实例的信息数据。在具体的实施例中,抽样的规模建议在600‑800个,仿真规模越大,越接近真实的拨打情况,但占用内存越大,优化步骤相应耗时增大。
[0186] 对一个仿真实例中工单j的抽样为 其中,抽样的内容和方式为:
[0187] 工单j是否拨通 根据公式 其中, 表示的概率, 为上一步中拟合的拨打次数的几何分布概率分布参数。在生成
时,首先生成一个服从均匀分布的随机数u,u~U(0,1),再将u和 进行比较,若

[0188] 工单j的处理时间 根据公式 其中u为一个服从均匀分布的随机数,即u~U(0,1),λkl为上一步中拟合的处理时间的指数分布概率分布参数。
[0189] 工单j是否送达成功。根据公式 其中, 表示 的概率, 为上一步中拟合的拨打成功率。在生成 时,首先生成一个
服从均匀分布的随机数u,u~U(0,1),再将u和 进行比较,若

[0190] 在一个仿真实例中对一个工单的拨打情况进行抽样的一个实施例如下:若通过数据分析得到的入职6个月以上的员工处理原告首次拨打工单的指数分布参数为0.7389,那
么当该工单分配给一位入职6个月以上的员工处理时,上述这类工单在该实例中抽样结果
为 其中,u表示一个服从均匀分布的随机数,该计算公式表示6个月以上员
工拨打该类型工单的通话时长为time。对所有的工单计算其拨通拨打次数、处理时间、送达是否成功之后,就能得到一个实例的结果。
[0191] 步骤S300,对工单进行预处理,将工单分成Force,Bound,Flexible三类,其中Force工单是最先被分配,认为是业务上最紧急的工单,包括:预约工单、离开庭时间不大于法院要求的拨打天数的工单、每日下午四点时刻尚未拨打过的当日新到达工单、根据参数
“dayForForce”定义的距离开庭时间短于该参数的工单,Bound工单为已拨打过的工单,直接分配给上次拨打的员工,Flexible工单为灵活工单,为满足约束前提下可以灵活分配的
工单。
[0192] 步骤S400,为每个工单计算优先级,其中priority优先级函数中的优先级指标的一个实施例如表5所示,图7表示了工单优先级计算指标中各时间相关指标的涵义。特别地,要求工单距离开庭时间的天数timeopen这一项的权重要高于工单距离开庭天数减去举证期
时长后剩余可以拨打的天数timeproof。根据表格中的解释,可知timeopen和timeproof是值越小,代表该工单越紧急的;而且,当这两个值越小,工单的紧急程度会增长的越快。其他指标的值越大,表示该工单的紧急性也应越高。
[0193] 具体的,优先级指标权重的一个实施例如表6所示,根据指标的权重,使用priority优先级函数就能计算出所有工单的优先级。优先级计算之后按照合并规则对工单
进行合并。
[0194] 步骤S500,使用贪婪算法构造初始解并计算得分,具体步骤如下:对一个待分配的工单,优先从对应等级的员工集合中找到当前工单最少、且符合约束条件的专员,将工单插入专员工作列表,若对应等级无专员满足条件,则考虑向高一等级寻找。
[0195] 其中,初始解和最终解的格式一致,都是满足约束条件的解,包括:每个员工分配到的工单列表,每个员工列表中的工单按照Force‑Bound‑Flexible的顺序排列,每个类别内部的工单则按照工单的优先级从高到低排列,工单分配结果的格式如表7所示;
[0196] 构造出初始解之后,计算调度方案的得分,根据得分值函数
[0197]
[0198] 以及打分矩阵,计算在所有实例下本调度方案的均值,即为调度方案的得分,调度方案得分越高,意味着拨打工单数越多,法院和拨打员工之间的等级匹配度越高。其中,打分矩阵表示将不同等级的员工和不同等级的法院进行匹配的分数,一个实施例如表1所示。
[0199] 一个调度方案x的得分是其在所有仿真实例上的均值 其中,调度方案x在一个仿真实例ω上的得分 又其中,χij(ω)为在实例ω
上将订单i匹配给员工j且拨打成功的得分值。
[0200] 在具体计算调度方案x的得分时,对该调度方案中所有的匹配,检查这个匹配在仿真实例ω上的拨打情况,若拨打成功,在根据员工和工单的属性查询得分矩阵得到一个匹
配的得分。检查的方式为:若在调度方案x中有一个匹配是将一个属于S级别法院的工单b分配给一位首席级别专员a,并且在仿真实例ω中,首席专员a成功拨打了这个S级法院的工单b,那么根据表1的打分矩阵,χab(ω)=2,所以该匹配获得的得分就是2,这样计算该调度方案中所有的匹配的得分,所有得分之和就是调度方案x在这个仿真实例ω上的得分Q(x,
ω)。最后取调度方案x在每一个仿真实例ω∈Ω的得分的均值 作为调度方案x的
得分。
[0201] 步骤S600,迭代搜索,得到初始分配之后,依次对Force和Flexible工单进行算子操作,Bound工单直接分配给上一次处理的员工。在执行算子操作时首先使用Relocate算子对解迭代改进,若已无法改进,再使用Exchange算子改进解直到达到算法终止条件得到最
终的调度方案。
[0202] 所述Relocate算子操作如下(如图4所示):
[0203] 在该算子中,随机选择一个工单j0,将其移出专员σ(j0)的工作列表,然后选择一个* *最优的专员i,将工单j0移入专员i的工作列表。
[0204] 优选的,在使用Relocate算子进行算子操作时,执行找到的所有可以使得调度方案得分改进最高的操作,即“best”策略,其实施例如图8所示,在对一个员工执行该算子时,直到查询到Relocate不能使调度方案的得分继续增加,执行对该员工的算子操作。首先选
择一名员工staff1,如果该员工不是虚拟员工且工作时长未超时,那么继续进行Relocate
算子操作,否则选择下一位员工。然后初始化bestDelta=0,随后将staff1当前工单列表中的一个工单插入staff2的工单列表,然后重新计算这个新的调度方案的得分,若这次插入
后调度方案得分值的改变大于bestDelta,则更新bestDelta为该值。遍历完staff1的所有
工单之后,进行当前bestDelta对应的Relocate操作,对该员工的Relocate操作结束。
[0205] 可选的,在使用Relocate算子进行算子操作时,执行第一个找到的可以使得调度方案得分更高的操作,即“first”策略,其实施例如图9所示,在对一个员工执行该算子时,当查询到使得分增加大于阈值delta的Relocate操作时,执行对该员工的算子操作。首先选择一名员工staff1,如果该员工不是虚拟员工且工作时长未超时,那么继续进行Relocate
算子操作,否则选择下一位员工。然后将staff1当前工单列表中的一个工单插入staff2的
工单列表,然后重新计算这个新的调度方案的得分,若这次插入后调度方案得分值的改变
大于参数Delta,进行当前Delta对应的Relocate操作,对该员工的Relocate操作结束。
[0206] 所述Exchange算子操作如下(如图5所示):
[0207] 在该算子中,首先选择一个工单j0,再选择一个可由专员σ(j0)处理的工单j1放入*其工作列表;同时,工单j0既可以放入最优的专员i 或者σ(j1)。对于这一系列操作,选择成本改进最大的一个作为改进解。
[0208] 优选的,在使用Exchange算子进行算子操作时,执行找到的所有可以使得调度方案得分改进最高的操作,即“best”策略,其实施例如图10所示,在对一个员工执行该算子时,直到查询到Exchange不能使调度方案的得分继续增加,执行对该员工的算子操作。首先选择一名员工staff1,如果该员工不是虚拟员工且工作时长未超时,那么继续进行
Exchange算子操作,否则选择下一位员工。然后初始化bestDelta=0,随后将staff1当前工单列表中的一个工单和staff2工单列表中一个工单进行交换,然后重新计算这个新的调度
方案的得分,若这次交换后调度方案得分值的改变大于bestDelta,则更新bestDelta为该
值。遍历完staff1的所有工单之后,进行当前bestDelta对应的Exchange操作,对该员工的Exchange操作结束。
[0209] 可选的,在使用Exchange算子进行算子操作时,执行第一个找到的可以使得调度方案得分更高的操作,即“first”策略,其实施例如图11所示,在对一个员工执行该算子时,当查询到使得分增加大于阈值delta的Exchange操作时,执行对该员工的算子操作。首先选择一名员工staff1,如果该员工不是虚拟员工且工作时长未超时,那么继续进行Exchange
算子操作,否则选择下一位员工。随后将staff1当前工单列表中的一个工单和staff2工单
列表中一个工单进行交换,然后重新计算这个新的调度方案的得分,若这次交换后调度方
案得分值的改变大于参数Delta,进行当前Delta对应的Exchange操作,对该员工的
Exchange操作结束。
[0210] 并且,本发明在进行邻域搜索时,还采用了一些技巧加速运算,当专员、工单的规模较大时,使用分组并行调度,减少算法耗时、接受算子操作的条件“delta”设置为得分矩阵中最大值*仿真规模/100、Relocate和Exchange算子寻优策略根据参数“strategy”决定,relocate和exchange操作都使用并行加速、并定期输出log展示优化过程。
[0211] 当所有类型的工单的算子操作都执行结束或达到算法的运行时间限制之后,就得到了最终的调度结果,即是将初始解的分数 进行不断优化,得到分数最大值
相应的调度方案即是最终方案的最优解。
[0212] 下面对本发明的调度算法可配置参数设置进行阐述。
[0213] strategy:算子操作策略,有“first”和“best”两种,建议采用“best”,first:在算子操作时,执行第一个找到的可以使得调度方案得分更高的操作,best:在算子操作时,执行找到的所有可以使得调度方案得分改进最高的操作。
[0214] timeInterval:时间间隔,每隔多久调用一次算法,计算调度方案得分时,作为员工未来可拨打工单的时长限制。
[0215] callTimeInterval:拨打时长间隔,工单前后两次拨打的最短时间间隔。
[0216] weightForPriority:优先级的权重,与上文中建议的一致,采用层次分析法计算得到七个指标项的权重值,所有项的权重和为1,权重越大,代表对应的指标越重要。
[0217] MonteCarloScale:仿真实例规模,建议采用600‑800,为了优化步骤而通过采样分布得到的实例个数,个数越多,占用内存越大,优化步骤相应耗时增大,当工单数目和员工数目增大时,仿真规模对调度时间的影响较大。
[0218] delta:算子优化接受条件,判断是否进行算子操作,通过将算子操作导致的调度方案得分的增长与delta进行比较,大于delta则进行算子操作,delta越大,算子操作接受条件更苛刻。
[0219] maxMergeNum:合并工单数量上限,限制合并工单包含的普通工单上限数量,超过该数量则应拆分为多个合并工单,由业务规定,建议采用100。
[0220] dayForForce:距离开庭期几天的工单划为force工单,由业务规定,建议采用7。
[0221] 调度算法参数设置的一个具体的实施例如表8所示。
[0222] 本申请不需要通过人工调度,系统优化调度结果节省了人工调度的人力,操作简单。能够处理工单数目激增的情况,不需要额外的人力。系统接受到当前待调度工单输出每个员工的工单列表并按照建议拨打顺序排序工单列表,调度结果中员工的工单列表按照建
议拨打顺序排序,帮助简化了员工拨打过程中的工单选择,提高员工处理工单的效率。
[0223] 通过设置员工和订单的两层优先级匹配和仿真工单处理情况,优化系统可以充分考虑到实际情况进行员工的工单分配结果优化。通过分析某公司一周的工单调度结果,优
化系统相比于传统的人工调度,处理工单量平均提升20.34%,完结工单量平均提升
15.47%,工单处理效率有明显的提升。
[0224] 系统提供灵活的可配置参数,包括优化策略,系统运行时长,调度时长间隔和具体的问题描述参数,可以根据需求调整参数适应不同的需求场景。
[0225] 另外补充的是各项表格内容为:
[0226] 表1:等级派单得分函数矩阵
[0227]
[0228] 表2:工单数据项设计表
[0229]
[0230] 表3:人员数据项设计表
[0231]
[0232] 表4:法院数据项设计表
[0233]
[0234] 表5:优先级指标说明表
[0235]
[0236] 表6:优先级权重设置
[0237]
[0238] 表7:工单分配结果格式表
[0239]
[0240] 表8:可配置参数说明表
[0241]
[0242] 需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
[0243] 以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的
普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护
范围。