[转载]利用遗传算法解决话务员排班问题

浏览: 3282

虽然没看到具体的方法案例,但值得思考和借鉴

    话务员排班问题是呼叫中心中每天都会用到的问题,如何根据每个时间段的话务量来对话务员进行排班,既能够保证每个时间段的接通率达到最大,又能够协调好话务人员的休息和工作时间,保证每个话务人员的总工时大致相等。因此,话务员排班问题需要考虑许多的约束条件,在没有这个算法之前,该本地网是采用手工排班的方式来对话务员进行排班的,该本地网共有四个班制:班制1、班制2、班制3、班制4四个班制。并且每个班制下面又有若干个班次。每个班次的上班时间不同。并且每个班制内部是可以调整的,即一名话务员只能在本班制内的班次之间调岗,而不能调到其他的班制中。如何对话务员进行排班呢?

    利用遗传算法对话务员进行排班的关键步骤如下:

    1、编码机制。可以对每个人进行编码。如果总人数为60人的话,一条染色体的长度即为60*n。其中n为二进制编码长度。这里可以采用两种编码方式:二进制编码和全排列编码。其中二进制编码是采用二进制的方式进行编码,将二进制转化为十进制的数字即为该话务员所属的班次代号。如班制1有6个班次,其班次可以用1-6的数字来表示。全排列编码则直接利用班次代码进行标示。由于四个班制中班次的数量不同,如班制2有6个班次;早晚班有5个班次;班制3有3个班次;班制4有4个班次。每个班制中都有20名话务员,则编码的总长度为80。但行政班的20名话务员的班次代码是从1-6的整数。而早晚班中的20个人只能取1-5之间的整数。

    2.交叉运算。交叉只能是在班制之间进行交叉。规则同基本遗传算法。

    3.变异运算。变异运算采用取模并在结果+1的方式。如某个行政班的话务员的编码为3.对其进行变异则按照3对6(该班制下的班次总数)去摸并且+1,变异后则为4.

    4.适应值的选择。适应值可以采用实际话务量的曲线与排班后所能处理的话务量两条曲线的拟合情况。可以采用欧式距离和拟合优度指标来度量。

    经过这样的设计就能够得到最优的排班规则了。嘿嘿。排出来的对比图如下:

Clipboard Image.png

可以看到曲线的拟合情况比较好。

推荐 0
本文由 面包君 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册