一种基于混合遗传算法的地铁乘务排班算法的制作方法

文档序号:6353958阅读:710来源:国知局
专利名称:一种基于混合遗传算法的地铁乘务排班算法的制作方法
技术领域
本发明涉及一种基于混合遗传算法的组合优化问题,尤其涉及一种地铁乘务排班算法。
背景技术
排班的主要功能是解决地铁系统采用轮乘制分配运营任务,产生合理的任务序列,保证乘务人员休息日和工作任务之间的合理交替。目前排班系统主要基于手工方式而且约束条件较多,普遍存在着重复劳动,不能以已有的工作为基础,不能充分利用过去应用系统开发中积累的知识和经验。现行排班软件适应性差,应变能力弱,移植困难。所以需要建立新的排班模型,最大程度的满足运营部门的需要、并且具有随机性、科学性、合理性。

发明内容
本发明提出了一种基于混合遗传算法的乘务排班组合优化方法,该方法包括:产生可行任务集合、构造初始种群、建立遗传算子(包括编码、适应度分析、选择算子、交叉算子、变异算子)、构造局部搜索策略。其中,通过分析运行图的行车计划,对每个作业段生成一个树型结构,子节点和父节点采用休息线连接,任务树的根节点到每一个叶结点皆为一个可行的乘务任务,这样可以保证任务集合对作业段均匀覆盖,如果一个乘务任务覆盖的作业段被其它任务以更小的代价覆盖,则删除该乘务任务,通过这种方式可以得到用来排班的所有集合分支,保证了任务的完整性。通过采用随机构造策略和贪婪构造策略,根据之前生成的乘务集合构造初始种群,并进行后续的并行搜索,种群形成的多样化保证其搜索过程的有效性。而采用不同的启发性算法,提高种群个体的多样性,防止“早熟”,同时保证某些个体的质量,提高寻优能力。在遗传算子求解过程中,将作业段设为求解矩阵的行,将乘务任务对应求解矩阵的列,采用非二进制基于列的编码方式,将每个染色体用变长数组表示,其长度表示作业段被完全覆盖时乘务集合(即轮乘卡)的数量,这种编码方式简洁易懂并且利于计算个体适应度是否达到收敛;本发明中将每个解得冗余列个数作为适应度函数,若最终冗余度为0,则算法将收敛;采用选择、交叉、变异的方式,对每一次得到的解进行优化,避免有效解基因的损失,同时使高性能的个体以更大的概率生存,在产生新个体的同时降低对有效模式的破坏概率,以及按一定概率改变基因串中某个基因值,增加基因的多样性,提高全局收敛和计算效率。通过局部搜索策略,采用领域变换的思想,与遗传算法混合使用,对部分个体进行爬山搜索,改善群体质量,从而提高了对最有乘务任务划分的生成质量。本发明的有益技术效果是:根据遗传算法策略和局部搜索算法策略混合使用,对地铁运行计划进行分解、组合、搜索、优化,提高了解的灵活性、收敛性和完整性。
具体实施例方式根据地铁运营部门提供的运行图数据将该图所有的作业段进行分解,形成若干张作业卡组合成轮乘图。其中,作业段的分解需要满足一定的约束条件,包括:
I乘务员每月(周)累计出行时间的最大阈值。I乘务员每月(周)行车次数的最大阈值。I必须保证乘务员连续多个工作日之后获得规定的休息日。I必须保证乘务员值班天数(周、月、年)的最大阈值。I同等级乘务员出 勤天数、月小时数、在外值班数相差的最大阈值。I每轮倒班中给每一位乘务员分配的工作在时间上不重叠。如果需要调用新的运行图将重新运行该程序,确认后可不再执行,形成统一的轮乘图。每张图包括班次类型、出勤时间、折返车次、接/换车时间等。在性能上,要做到
I要求该程序具有收敛性,需要覆盖运行图上所有的作业段。I程序需避免局部收敛,需要调试好其中的参数。I程序运行并获取结果的时间需要控制在30分钟以内。I算法需要具有可读性 具体步骤如下:
一、产生可行任务集合
I)对行车计划上每个作业段生成一个树型结构,子节点与父节点之间使用休息连接线。2)任务树的根节点到每一个叶结点即为一个可行的乘务任务。可以一定程度保证生成的任务集对作业段覆盖均匀。3)如果一个乘务任务覆盖的所有作业段被其它乘务任务以更小的代价覆盖,则删除该乘务任务。二、初始种群的生成
O由多个初始序列构成一个初始种群以便进行后续的并行搜索。2)采用启发算法优良性的特点
3)分为随机构造策略和贪婪随机构造策略
I)随机构造策略
a.X=NULLj w=0, I in I
b.1=I
c.Repeat
c.1在覆盖行i的所有列中随机选择一列j
c.2将j加入到X中,设置w(i) = w⑴+1
c.3 i=i+l;
d.Until i= 111 ;
e.T = X
f.Repeat
f.1随机从T中选择一列j, f.2 if 对于 I (j)都有 w(i)>=2从X中移出j,并且w(i) = W(i)-1
g.Until T|=0
h.算法结束
II)贪婪随机构造策略需处理基本元素是:作业段和任务集合(FE),把结合FE中的任务j加入到解X时,使用的指标函数为:
f (C(j), k(j))=C(j)/k(j);
其中C(j) = I, k(j)是添加乘务任务j所带来的新增覆盖作业段的数量,
其中restriction:升高,随机性:升高,质量:一般
restriction:降低,解相似度:升高,种群多样性:降低所以,增加评价函数,将在priority的概率下选择评价函数f(C(j), k(j))最好的任务加入到解中,剩余情况从候选集CL中随机选择任务,保证种群的多样性。所以,当一个可行解构造完毕以后,荣誉的乘务任务,使用上述随机构造策略中的方法移出。三、遗传算子设计
1)编码
处理作业段集合和乘务任务集合。每个作业段对应矩阵A的一行,每一个乘务任务对应矩阵A的一列。所以,存在基于行的编码和基于列的编码两种情况,确认按照列编码的方式求解。染色体由变长数组表示,长度为SCP矩阵的行辈完全覆盖时解中列的个数。
2)适应度
一般选取目标函数作为适应度函数 Fitness(X) = I/所有 C (j) *X (j)求和 3)选择算子(复制或繁殖)
采用轮盘赌的方式,
算法:
a.从当前种群中选择一个最好的个体作为父个体之一;
b.另一个父个体通过轮盘赌算法从剩余的种群中获取,若两个父个体不同则结束;
c.1ter=I;
d.Repeat
d.1通过轮盘赌操作获取另一个父个体,若两个个体相异也退出;
d.2 iter = iter + I ;
e.如果循环10次还没有得到结果,则退出本操作。4)交叉算子 这是算法中最主要的个体重组和配对操作过程,同时降低对有效模式的破坏概率。通过算子在迭代构造子染色体时使用已选出的基因集合覆盖行的数量,和加入新基因后增加的覆盖行数量差最多的因子,加入解集合,当增量相同时,则挑选增新基因后重复覆盖最少的因子。
算法:
a.合并父个体的基因,P=PlU P2, PC=NULL ;
b.对P中所有的基因计算包含相同乘务段数量;
c.Repeat
C.1设置评价函数,从P中选择最好的基因集合;
c.2如果新选择基因集合>=2,则选择乘务段中重复覆盖最小的基因j,PC=PC U {j},P=P-J ;
c.3累加已覆盖的作业段;
d.如果所有的乘务段已经排完,则退出循环;
e.从PC中删除冗余的基因。 5)变异算子
删除染色体中部分基因,并通过贪婪和随机算法重新构造该染色体,有利于增强种群的多样性。评价函数为Pr = I/(染色体覆盖作业段的数量-染色体去掉该基因后覆盖行的数量),这样如果移出该基因对乘务段覆盖减少得越多,则被移出的几率就越小;
算法:
a.Repeat
a.1随机从染色体中选择一个基因;
a.2计算Pr,若Pr小于设定概率则移出该基因;
c.当移出基因数量达到设定值后,则退出。6)局部搜索策略
通过两个步骤获得一个邻居解:
a.将当前解X中一定数量的列随机的选择并移出,此时有部分行未被完全覆盖,转为不可行解X*。将目前未被覆盖的行和不属于当前解的列组合成一个缩小问题的组合优化问题。b.通过对该问题得到新解XI,合并原来不可行的解,得到X=Xl U X*,移出X中冗余的列得到最终解。
四、混合遗传总算法
1.生成初始种群
2.T=O, count=0,设置best_fit为pop中最好个体的适应度
3.Repeat
3.1使用轮盘赌操作获得两个相异的附带染色体Pl和P2,使用交叉策略得到子代染色体Pc;
3.2从pop中随机选一个个体Pm,如果Pm适应度小于POP中个体的平均适应度,用Pc替换Pm,否则重新选择。3.3按适应度由高到低对POP中个体排序
3.4 if rand (O, I)〈pmute,从POP中随机选择一个个体Pm,如果Pm不在POP的前10位,对Pm进行变异操作。3.5 t=t+l;3.6 if t mod POP—SIZE = 0
3.6.1对POP中适应度前10位的个体依次调用局部搜索算法,以提高种群中的个体质

3.6.2if pop 中最好个体适应度 fitness〈best—fit
Best_fit = fitness, count=0
3.6.3else count = count+1
4.Until count >= max_count 或 t/pop_size = gen
5.算法终止,取 POP中适应度最好的个体为算法的最终解。
权利要求
1.一种基于混合遗传算法的地铁乘务排班方法,其特征在于:根据已有的地铁列车运行图数据获得行车计划,将行车计划组合成若干树型结构的任务集,根据随机策略和贪婪策略这两种启发算法构造初始种群。
2.根据权利要求1所述的种群进行遗传算子设计分析,其特征在于:对作业段集合和乘务集合进行编码,采用选择、交叉、变异的方式,对每一次得到的解进行优化,避免有效解基因的损失,同时使高性能的个体以更大的概率生存,在产生新个体的同时降低对有效模式的破坏概率,以及按一定概率改变基因串中某个基因值,增加基因的多样性,提高全局收敛和计算效率。
3.根据权利要求1所述的遗传算子分析进行局部搜索策略,其特征在于:对不断进行遗传优化的种群和全局结果实行部分进行最差列删除和随机选择评价,提高解个体的多样性。
全文摘要
本发明提出了一种基于混合遗传算法的地铁乘务排班的方法,该方法包括根据地铁运营的列车运行图数据和乘务司机工作的约束条件以及性能要求,动态将运行图数据分割为每日的任务轮乘卡。本发明有益的技术效果是解决了地铁系统采用轮乘制分配运营任务,产生合理的任务序列,保证乘务人员休息日和工作任务之间的合理交替,不再用手工进行繁琐的任务划分工作。
文档编号G06N3/12GK103177292SQ201110431628
公开日2013年6月26日 申请日期2011年12月21日 优先权日2011年12月21日
发明者万礼华, 邹灿, 刘俊, 张跃泷 申请人:重庆金美通信有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1