主权项 |
一种基于关键路径和禁忌搜索的测试任务调度方法,其特征在于,具体该方法包括如下步骤:步骤1:确定和分析测试任务,具体是:确定测试任务集T={t1,t2,…,ti,...,tN},ti为第i个测试任务,N为测试任务总数,测试任务ti对应的测试方案总数为wi;确定仪器资源集R={r1,r2,…,rj,...,rM},rj为第j个仪器,M为仪器总数;确定测试任务之间的时序约束关系,并用约束矩阵[TS]N×N表示,若测试任务tj优先于测试任务ti,[TS]N×N(j,i)=1,否则[TS]N×N(j,i)=0;步骤2:初始化参数设置,所述的参数包括:任务序列最大变换次数Gmax、禁忌搜索最大迭代次数G′max、禁忌表长度L和当前迭代次数Gcurrent;当前迭代次数Gcurrent的初始值为1;步骤3:判断当前迭代次数Gcurrent是否满足条件:Gcurrent=Gmax,若是,执行步骤8,若否,更新当前迭代次数Gcurrent=Gcurrent+1,执行步骤4;步骤4:首先采用优先权编码生成初始的测试任务序列TP,然后随机选择各测试任务的测试方案,生成测试方案选择集合SC,并将生成的测试任务序列和测试方案选择集合作为全局最优解;步骤5:确定当前测试任务序列TP的测试方案选择集合SC的测试完成时间f;步骤6:更新当前测试任务序列TP的测试方案选择集合,并寻找当前测试任务序列TP下的局部最优解;步骤7:首先,判断当前步骤6得到的局部最优解对应的测试完成时间是否比全局最优解对应的测试完成时间小,若是,则将全局最优解替换为当前步骤6得到的局部最优解,否则,不替换;然后,转步骤3执行;步骤8:输出全局最优解对应的测试任务调度序列与测试方案选择集合,结束本方法。 |