欧拉图的构造方法及基于该方法进行测试序列优化的方法技术

技术编号:8594160 阅读:206 留言:0更新日期:2013-04-18 07:24
本发明专利技术公开了一种欧拉图的构造方法及基于该方法进行测试序列优化的方法,其中,欧拉图构造的方法包括:判断有向图中各个顶点的出度与入度是否平衡,其中,有向图中所有的顶点间的弧均有出入方向,出度为以当前顶点为起始点的弧的总数,入度为以当前顶点为终点的弧的总数;若顶点A的出度与入度的差为W,则查找距离所述顶点A最近的W个顶点,分别以所述W个顶点为起始点构建以所述顶点A为终点的重复弧,或分别以所述顶点A为起始点分别构建以所述W个顶点为终点的重复弧。通过采用本发明专利技术公开的方法减少了辅助空间的使用,提高了欧拉图构造的效率。

【技术实现步骤摘要】
欧拉图的构造方法及基于该方法进行测试序列优化的方法
本专利技术涉及中国列车运行控制系统,尤其涉及一种欧拉图的构造方法及基于该方法进行测试序列优化的方法。
技术介绍
测试案例为对列车车载设备某个功能特征进行的验证与测试。执行特定测试案例要求系统必须到达此测试案例所需的初始状态。这些初始状态只有通过执行特定系统功能才能达到,并且这些特定系统功能包含在其它测试案例中。测试序列是通过一定的方法对测试案例进行串联,从而形成一个可以实际运行的测试场景,并确保测试结束后,所有的测试案例都被测试过至少一次。测试序列不是随意产生的,而是遵循一定的方法,将若干测试案例有序串联起来,形成一个测试场景式的有序测试案例集。由于测试案例数量庞大,并且车载设备功能复杂,在测试序列中,重复使用测试案例的情况较多。为了更方便的对测试序列进行优化,可将一组测试序列转化为有向图,列车各工作模式作为有向图的顶点,测试子序列作为顶点之间的有向弧,测试子序列中所包含的测试案例数量看作有向弧的费用。现有技术中通过对有向图进行欧拉图的构造来优化有向弧,以减少测试案例的重复使用。但是在进行欧拉图构造时,辅助弧的添加个数较多,额外占用一定的内存空间,影响了欧拉图构造的效率,并且,通过欧拉图构造后的有向图重复弧的数量较大,导致测试序列的成本增加。
技术实现思路
本专利技术的目的是提供一种欧拉图的构造方法及基于该方法进行测试序列优化的方法,减少了辅助空间的使用,提高了欧拉图构造的效率。本专利技术的目的是通过以下技术方案实现的:一种欧拉图的构造方法,该方法包括:判断有向图中各个顶点的出度与入度是否平衡,其中,有向图中所有的顶点间的弧均有出入方向,出度为以当前顶点为起始点的弧的总数,入度为以当前顶点为终点的弧的总数;若顶点A的出度与入度的差为W,则查找距离所述顶点A最近的W个顶点,分别以所述W个顶点为起始点构建以所述顶点A为终点的重复弧,或分别以所述顶点A为起始点分别构建以所述W个顶点为终点的重复弧。一种测试序列优化的方法,该方法包括:为有向图添加重复弧后,通过弗罗莱Fleury算法对添加重复弧后的有向图进行欧拉回路的计算,获得以某一顶点为起始点并通过所有弧至少一次的测试序列。由上述本专利技术提供的技术方案可以看出,通过利用贪婪策略,使局部最优达到全局最优,逐步构造最优解,并减少了辅助空间的使用,提高了欧拉图构造的效率。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图1为本专利技术实施例一提供的一种欧拉图的构造方法的流程图;图2为本专利技术实施例二提供的又一种欧拉图的构造方法的流程图;图3为本专利技术实施例二提供的一种测试序列有向图的示意图;图4为本专利技术实施例二提供的一种构造重复弧后的有向图的示意图;图5为本专利技术实施例三提供的一种测试序列优化的方法的流程图。具体实施方式下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。实施例一图1为本专利技术实施例一提供的一种欧拉图的构造方法的流程图,该方法主要包括如下步骤:步骤101、判断有向图中各个顶点的出度与入度是否平衡。其中,顶点为列车的各个工作模式,有向图中所有的顶点间的弧均有出入方向,出度为以当前顶点为起始点的弧的总数,入度为以当前顶点为终点的弧的总数,所述弧为工作模式间的测试子序列。判断有向图是否为欧拉图,主要判断有向图中各个顶点的出入度是否平衡,即判断以当前顶点为起始点的弧个数与以当前顶点为终点的弧个数是否相同。步骤102、若顶点A的出度与入度的差为W,则查找距离所述顶点A最近的W个顶点,分别以所述W个顶点为起始点构建以所述顶点A为终点的重复弧,或分别以所述顶点A为起始点分别构建以所述W个顶点为终点的重复弧。若出入度不平衡则表明当前有向图不是欧拉图,则需要添加重复弧。利用贪婪策略求解:通过局部最优达到全局最优,即在每个阶段选取一个最优决策,逐步构造最优解。从问题的初始状态出发,通过若干次的贪婪选择而得出最优值(或较优解)。例如,分别计算各个顶点的出入度是否平衡,当顶点A出入度不平衡时,求出度与入度的差W,当出度大于入度时,则查找距离所述顶点A最近的W个顶点,分别以所述W个顶点为起始点构建以所述顶点A为终点的重复弧;当入度大于出度时,则分别以所述顶点A为起始点分别构建以所述W个顶点为终点的重复弧。当通过添加重复弧平衡顶点A的出入度后,再为其他出入度不平衡的顶点添加重复弧,直至所有顶点的出入度平衡。本专利技术实施例通过利用贪婪策略,使局部最优达到全局最优,逐步构造最优解,并减少了辅助空间的使用,提高了欧拉图构造的效率。实施例二为了更具体的介绍本专利技术,下面结合附图2-4对本专利技术做进一步描述。如图2所示,包括以下步骤:步骤201、判断有向图中各个顶点的出度与入度是否平衡。若不平衡则转入步骤202。其中,顶点为列车的各个工作模式,有向图中所有的顶点间的弧均有出入方向,出度为以当前顶点为起始点的弧的总数,入度为以当前顶点为终点的弧的总数,所述弧为工作模式间的测试子序列。若出入度不平衡则表明当前有向图不是欧拉图,则需要添加重复弧来平衡顶点的出入度,此时转入步骤202。步骤202、计算有向图的距离矩阵及路由矩阵。当前有向图不是欧拉图,需要添加重复弧来平衡定点的出入度。而在此之前需要计算所述有向图的距离矩阵与路由矩阵,可以使用弗洛伊德Floyd算法来计算,其计算流程为:从任意2个顶点i到j的距离的带权邻接矩阵(i与j相连)开始,每次插入一个顶点k,然后将i到j间的已知最短路径与以插入顶点k作为中间顶点的路径距离相比较,取较小值为新的距离矩阵。并以此循环迭代,依次构造出n个矩阵D(1),D(2),……D(n)。例如,对如图3所示的有向图计算距离矩阵的结果为:其中,顶点顺序为:NP、SB、SH、OS、PT、TR、CO、FS。矩阵D(n)的i行j列元素便是i号顶点到j号顶点的最短路径长度,例如,第1行第2列的距离“1”为顶点NP到顶点SB的最短路径长度;第3行第2列的距离“1”为顶点SH到顶点SB的最短路径长度。根据计算得到的距离矩阵可引入一个后继节点矩阵path(路由矩阵)来记录两点间的最短路径。例如,根据图3再结合图3的距离矩阵得知,D(TR,SH)=PT,则表示顶点TR到顶点SH经过了顶点PT,再如,D(SB,CO)=CO,则表示顶点SB与CO直接相连。步骤203、对所述有向图进行欧拉图构造。对有向图进行欧拉图构造使得有向图各个顶点的出入度达到平衡。而本专利技术在使得有向图各个顶点的出入度平衡的基础上需确保总费用最低。一个有向图的总费用是根据原有弧及重复弧的费用权值(包含的测试案例的个数)计算得来,而有向图的原有弧及弧的费用权值是不会发生变化的,因此,有向图总费用的决策变量为:重复弧数量和重复弧的费用权值。可通过下述式子表示:其中,s.t.为约束条件,为顶点i的出本文档来自技高网...
欧拉图的构造方法及基于该方法进行测试序列优化的方法

【技术保护点】
一种欧拉图的构造方法,其特征在于,该方法包括:判断有向图中各个顶点的出度与入度是否平衡,其中,有向图中所有的顶点间的弧均有出入方向,出度为以当前顶点为起始点的弧的总数,入度为以当前顶点为终点的弧的总数;若顶点A的出度与入度的差为W,则查找距离所述顶点A最近的W个顶点,分别以所述W个顶点为起始点构建以所述顶点A为终点的重复弧,或分别以所述顶点A为起始点分别构建以所述W个顶点为终点的重复弧。

【技术特征摘要】
1.一种欧拉图的构造方法,其特征在于,该方法包括:判断有向图中各个顶点的出度与入度是否平衡,其中,有向图中所有的顶点间的弧均有出入方向,出度为以当前顶点为起始点的弧的总数,入度为以当前顶点为终点的弧的总数;若顶点A的出度与入度的差为W,则查找距离所述顶点A最近的W个顶点,分别以所述W个顶点为起始点构建以所述顶点A为终点的重复弧,或分别以所述顶点A为起始点分别构建以所述W个顶点为终点的重复弧;根据弗洛伊德Floyd算法计算所述有向图的距离矩阵与路由矩阵,并根据所述距离矩阵与所述路由矩阵查找距离所述顶点A最近的W个顶点;其中,所述距离矩阵表示两个顶点最短路径的长度,所述路由矩阵表示各个顶点的连接路径;从任意2个顶点i到j的距离的带权邻接矩阵开始,每次插入一个顶点k,然后将i到j间的已知最短路径与以插入顶点k作为中间顶点的路径距离相比较,取较小值为新的距离矩阵;根据计算得到的距离矩阵引入一个路由矩阵来记录两点间的最短路径;通过回溯法来求解最优路径,已知路由矩阵path,利用回溯法求解定点i与定点j的最短路径,若Pij=k1,则分别从顶点i和顶点j开始回溯;Pij从定点i到定点j的路径,k1表示最短路径;当所述有向图中重复弧的数量最少,且每个重复弧的费用权值最小时,所述重复弧的总费用最低,其中重复弧的费用权值为所述重复弧包含的测试案例的个数;

【专利技术属性】
技术研发人员:杨志杰徐宁吕旌阳王财进王瑞王丁刘佳
申请(专利权)人:中国铁道科学研究院中国铁道科学研究院通信信号研究所北京市华铁信息技术开发总公司北京锐驰国铁智能运输系统工程技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1