1.一种基于遗传算法的医院排班方法,其特征在于,包括如下步骤:
s100、输入医生数量n、科室数量p、进化迭代次数c、运算因子数量f、淘汰阈值o、限制因素为p1科室有最大容量;
s200、将医生数量n、科室数量p构建一个n*p的矩阵运算因子
s300、利用阶梯算法运算t得到一个数量为f的运算因子集合;
s400、将f个运算因子转换成该科室下医生的数量矩阵,计算每个运算因子的波动系数,选择淘汰o个波动系数大的运算因子;
s500、随机从剩余的波动系数较小的运算因子中,通过交位算法进行矩阵元素上的高低峰值交位;
s600、进行运算因子条件检测,不符合限制条件中的科室最大容量则被淘汰;
s700、将保留下来的多个优秀运算因子作为基数,重新执行s300再次得到数量为f的运算因子集合;
s800、重复执行s400-s700,每执行一次迭代次数加1,当迭代次数大于c时,运算终止,在f个运算因子中找到波动系数最小的因子,即为最终排班结果。
2.根据权利要求1所述的一种基于遗传算法的医院排班方法,其特征在于:所述进化迭代次数c为500次,所述运算因子数量f为20个,所述淘汰阈值o为12。
3.根据权利要求1所述的一种基于遗传算法的医院排班方法,其特征在于:所述步骤s300中阶梯算法运算t具体为将第二行开始末尾元素p3提前至开始位置,第三行开始末尾元素p2提前至开始位置,剩余位置随机排列,得到一个数量为f的运算因子集合。
4.根据权利要求1所述的一种基于遗传算法的医院排班方法,其特征在于:所述步骤s500中的交位算法具体为将运算因子的最高值与最低值进行交换。
5.根据权利要求1所述的一种基于遗传算法的医院排班方法,其特征在于:所述科室最大容量为10。
6.根据权利要求1所述的一种基于遗传算法的医院排班方法,其特征在于:所述步骤s400中的将f个运算因子转换成该科室下医生的数量矩阵为
a1为第一列出现的p1的数量,a2为第二列出现的p1的数量,a3为第三列出现的p1的数量;
b1为第一列出现的p2的数量,b2为第二列出现的p2的数量;b3为第三列出现的p2的数量;
c1为第一列出现的p3的数量,c2为第二列出现的p3的数量,c3为第三列出现的p3的数量。
7.根据权利要求6所述的一种基于遗传算法的医院排班方法,其特征在于:所述波动系数r的计算公式为r=(avg(a1+a2+a3)+avg(b1+b2+b3)+avg(c1+c2+c3))/3。
8.根据权利要求7所述的一种基于遗传算法的医院排班方法,其特征在于:所述步骤s400还包括进行概率选择初步筛选,计算公式(1/f)*2-r/sum(r1....rn)得出每个运算因子被淘汰的概率。