CN103345384A - 一种基于分解的变邻域多目标测试任务调度方法及平台 - Google Patents
一种基于分解的变邻域多目标测试任务调度方法及平台 Download PDFInfo
- Publication number
- CN103345384A CN103345384A CN2013103036674A CN201310303667A CN103345384A CN 103345384 A CN103345384 A CN 103345384A CN 2013103036674 A CN2013103036674 A CN 2013103036674A CN 201310303667 A CN201310303667 A CN 201310303667A CN 103345384 A CN103345384 A CN 103345384A
- Authority
- CN
- China
- Prior art keywords
- module
- test assignment
- test
- dispatching method
- scheduling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于分解变邻域多目标测试任务调度方法及平台,属于并行测试任务调度领域。平台包括用户管理模块、测试任务调度实例输入模块、数据库模块、测试实例导入模块、调度方法模块、调度方法扩展模块、调度结果决策模块以及调度结果显示输出模块。平台将测试任务实例信息从数据库中提取;利用基于分解的变邻域多目标测试任务调度方法进行计算;将得到的非劣解利用层次分析法进行决策,并将调度结果进行输出。本发明还提供了调度方法扩展模块,利于整个平台功能的升级。本发明为测试任务调度提供了统一的研究平台,并具有良好的可扩展性。另外本发明提出了变邻域策略,使得个体交叉范围更为合理,有效地提高了调度方法的性能。
Description
技术领域
本发明属于自动测试***并行测试任务调度领域,具体涉及到一种基于分解的变邻域多目标测试任务调度方法及平台。
背景技术
随着现代工业的迅猛发展,电子产品的发展趋向于集成化和复杂化,测试的需求越来越多,测试***所需要的资源以及维护成本也不断增加,自动测试***已经成为现代装备维修的必要手段。传统自动测试***,受测试接口容量和测试方法调度方式的限制,大多沿用串行测试工作模式,不能同时对被测设备进行测试,测试吞吐量较低。所以串行测试已经不能满足实际要求,并行测试已经成为自动测试领域的主要发展潮流。并行测试技术依赖于并行处理技术,表现为多个被测单元在并行测试调度机制下同时进行测试。并行测试技术通过增加单位时间内被测件的数量来提高***的吞吐率,通过减少仪器及CPU的闲置时间来提高设备的利用率,并且通过对贵重设备的共享来节约测试成本。并行测试技术通过对测试资源的合理利用,有效地提高了测试效率,降低了测试消耗。
并行测试要求对不同的测试任务选择合适的测试方案,以达到测试仪器资源的合理利用。并行测试核心技术为测试调度方法,调度方法的选择对于最终输出结果有着举足轻重的作用。并行测试问题属于典型的NP-Complete问题,解空间巨大,难以通过穷举的方法得到所有的解集。对于并行测试调度问题来说,智能搜索方法可以有效地降低计算时间,并且得到近似最优解或者最优解。目前成功应用于并行测试调度问题的方法有遗传、模拟退火、蚁群、图禁忌等方法。大多关于并行测试研究主要着眼于测试任务方法本身,并局限于单目标问题,即将测试时间作为最终评价标准。而随着设备的复杂度增大,测试仪器的维护费用也随之增加。决策者在制定测试方案时应综合考虑最短测试时间、测试仪器平均负荷等因素。因此多目标测试任务调度的研究对并行测试***有着重要的意义。
多目标测试任务调度方法研究主要集中在智能优化方法上。目前大多数智能优化方法在解决多目标问题时大都采用加权和方法将多目标问题转换为单目标问题,加权和参数的设定在整个搜索过程中起着重要的作用。而目前并没有一种公认的有效的如何设置加权和参数的方法被提出,人为因素将极大的影响智能优化方法的效果。
目前国内外对于并行测试研究缺少一个完整的设计平台来实现并行测试调度整体研究。因此,搭建一个完整的具有可扩展性的多目标测试任务调度平台,对于提高测试效率,加快并行测试任务调度研究进度有着重要作用。
发明内容
针对现有缺少完整的设计平台来实现并行测试调度整体研究的问题,本发明提供了一个统一的多目标测试任务调度平台。同时为了解决现有调度方法容易陷入局部最优、适应性差的问题,本发明提出了一种基于分解的变邻域多目标测试任务调度方法。
本发明提供的一种多目标测试任务调度平台,包括如下模块:用户管理模块、测试任务调度实例添加及维护模块、数据库模块、测试实例导入模块、调度方法模块、调度方法扩展模块、调度结果决策模块以及调度结果显示输出模块。
用户管理模块用于管理用户的信息和密码,是测试任务调度平台的入口。测试任务调度实例添加及维护模块用于对测试中的五种信息表进行添加和维护,并将数据存储在数据库模块中;所述的五种信息表为:测试任务集表、测试任务表、仪器资源表、测试任务间的时序约束关系表以及测试方案集表。测试实例导入模块根据用户选定的测试任务集,从数据库模块中获得调度所需要的信息表,并输出到调度方法模块。调度方法模块中集成一种以上的调度方法,用户从调度方法模块中选取一种调度方法,并对所选调度方法的参数进行设定,调度方法模块运行测试任务集,将所有得到的非劣解输入调度结果决策模块。调度结果决策模块通过层次分析法对非劣解进行最终决策,并输出最优解给调度结果显示输出模块。调度结果显示输出模块将最优解的目标函数点图和对应的调度甘特图显示给用户。调度方法扩展模块用于将新的调度方法加入调度方法模块中。
调度方法模块中集成有本发明提供的基于分解的变邻域多目标测试任务调度方法。
本发明提供的基于分解的变邻域多目标测试任务调度方法,具体包括如下步骤:
步骤一:获取选定测试任务集的信息,包括:
测试任务表r={t1,t2,···,tj,…,tN},tj为第j个测试任务,N为测试任务总数;
仪器资源表R={r1,r2,···,ri,…,rM},ri为第i个仪器,M为仪器总数;
以及测试任务间的时序约束关系表;
步骤二:初始化,包括步骤2.1:确定目标函数~步骤2.4;
步骤2.1:确定目标函数:测试时间f1(x)和各步平均负荷f2(x);
设d表示并行步数,初始值为1,在所有的测试任务都安排仪器资源后,每存在两个测试任务的仪器资源有重复时,更新d=d+1,计算总的并行步数,然后确定各步平均负荷:
步骤2.2:变量及参数初始化;
记保存非劣解的集合为EP,且初始
初始化参考点最优解集z=(z1,z2)T,z1=min{f1(x),x∈Ω},z2=min{f2(x),x∈Ω},其中Ω代表解空间。
初始化的参数包括:最大迭代次数M';种群大小N',也称权重矢量个数;邻域变化范围,最大值为Thigh,最小值为Tlow;交叉概率CR和变异概率p;迭代次数为ger时,对应代的领域大小T=floor(((Thigh-Tlow)/(M')2)*(ger-M')2)+Tlow,floor表示向下取整。
步骤2.3:计算权重矢量邻域索引集;找到与第i个权重矢量最近的T个权重矢量,定义第i个权重矢量邻域索引集为B(i)={i1,···,iT},i∈[1,N']。
步骤2.4:产生初始解;随机产生初始种群,并确定每个个体对应的目标函数的值;每个个体中包含N个决策变量,其中第j个决策变量的值越大表示对应的第j个测试任务的执行时间越靠前。
步骤四:个体变异;
步骤五:更新邻域及参考点;
对于j∈B(i),定义参考点为zi的第j个子问题的适应度为其中表示第i个权重矢量邻域索引集中的第j个权重矢量值;设个体y'为第i个个体变异后得到的解,对j∈B(i),若适应度值F(y')≤F(xj),则更新种群个体xj=y',F(xj)=F(y');否则,保持种群个体xj不变。
更新z:对任意i=1,···,m,若zi<fi(y'),则赋值zi=fi(y')。
步骤六:保存非劣解;每一代进化完成后,将所有得到的非劣解保存到集合EP中,并将集合EP中的劣解去除;
设两个解及其目标函数值分别为:A1(f1(A1),f2(A1)),A2(f1(A2),f2(A2));若f1(A1)≥f1(A2)且f2(A1)≥f2(A2),则解A1为劣解,删除解A1。
步骤七:通过层次分析法对集合EP中的非劣解进行最终决策;
步骤八:将最终方案输出。
所述的步骤七具体实现方法是:建立三层次结构:最高层为最终决策结果,中间层为维度n2=2的目标函数,最底层为集合EP中的非劣解,非劣解个数为n1;
首先,对最底层的各个非劣解关于中间层每个维度的目标函数的重要性进行两两比较,构造判断矩阵,矩阵为n1×n1的矩阵;对于某一维度,判断矩阵中第i行第j列元素aij表示解Ai相对于解Aj的重要程度,fi和fj是解Ai和解Aj在对应维度的目标函数值,fmax和fmin分别是对应维度上目标函数的最大及最小值;元素aij的值为:
其中,round表示对计算结果小数部分进行四舍五入。
然后,对判断矩阵进行一致性检验,具体是:先计算一致性指标CI=(λmax-n)/(n-1),λmax是判断矩阵的最大特征值,n是判断矩阵的阶数;再计算一致性比率CRT=CI/RI,RI为平均随机一致性指标;若CRT≤0.10,则判断矩阵通过一致性检验,否则需要修正判断矩阵。
一致性检验通过后,对判断矩阵的最大特征值对应的特征向量u=(u1,u2,...,un)T,进行归一化处理,得到对应单一准则下元素的相对排序权重向量w=(w1,w2,...,wn)T,对应两个目标函数,得到排序权重向量w3;
同样,根据目标函数对最终决策结果的重要性,建立中间层对于最高层的判断矩阵,矩阵为n2×n2的矩阵;获取中间层的合成权重向量W2,最终得到最底层合成权重向量
W3=w3W2;找到最底层合成权重向量中的最大值,该值对应的方案就是最优方案。
本发明的主要优点在于:
(1)本平台将用户管理、测试任务调度实例维护、多目标测试任务调度等进行集成,将资源信息进行了高度整合,便于***的维护与升级。
(2)平台具有良好的可扩展性,提供了调度方法的扩展机制,便于平台整体性能的提升。
(3)基于分解的变邻域测试任务调度方法使得个体交叉范围更为合理,有效地提高了解的质量,获取更优的测试任务调度序列。
附图说明
图1是本发明的多目标测试任务调度平台的结构示意图;
图2是本发明的基于分解的变邻域多目标测试任务调度方法流程图;
图3是本发明中变邻域多目标测试任务调度方法中邻域大小的控制曲线示意图;
图4是本发明中判别非劣解的示意图;
图5是本发明中层次分析法的层次结构示意图;
图6是本发明中最终结果输出示意图。
其中:
1A.用户管理模块 2B.测试任务调度实例添加及维护模块 3C.数据库模块
4D.测试实例导入模块 5E.调度方法模块 6F.调度方法扩展模块
7G.调度结果决策模块 8H.调度结果显示输出模块
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
本发明是一种并行测试任务调度平台,该平台的结构如图1所示,包括用户管理模块1A、测试任务调度实例添加及维护模块2B、数据库模块3C、测试实例导入模块4D、调度方法模块5E、测试方法扩展模块6F、调度结果决策模块7G以及调度结果显示输出模块8H。
用户管理模块1A是测试任务调度平台的入口。用户可以在此模块注册新用户、删除用户信息、修改用户信息,并进行密码修改等。
测试任务调度实例添加及维护模块2B与数据库模块3C连接。测试任务调度实例添加及维护模块2B可以输入的信息包括测试任务集表、测试任务表、仪器资源表、测试任务间的时序约束关系表以及测试方案集表五个部分,并且每部分信息都可以对应的添加、删除操作以适应各种调度要求。输入的数据保存至数据库模块3C。
在测试任务集表中可以对测试任务集进行添加,并进行描述,方便用户的使用。如表1所示:
表1测试任务集表
任务集名 | 备注 |
None_Set1 | 无约束6任务8资源 |
None_Set2 | 无约束20任务8资源 |
None_Set3 | 无约束40任务12资源 |
Strong_Set1 | 强约束20任务8资源 |
Srong_Set2 | 强约束40任务12资源 |
每个任务集的备注中注明了该任务集是否具有约束关系、包含的任务个数以及所需要的资源数量。每个任务集都对应有一个测试任务表、仪器资源表和测试方案集表。
以任务集None_Set1为例,该任务集对应的测试任务表、仪器资源表和测试方案集表分别如下表2、表3和表4所示。用户同样可以对各表的信息进行修改和添加。
表2测试任务表
任务集名 | 任务ID | 测试任务描述 |
None_Set1 | 1 | 直流信号电压 |
None_Set1 | 2 | 接收灵敏度 |
None_Set1 | 3 | 交流信号频率 |
None_Set1 | 4 | 交流信号幅值 |
None_Set1 | 5 | 对地阻值1 |
None_Set1 | 6 | 对地阻值2 |
测试任务表中包含任务集名、任务ID以及测试任务描述。
表3仪器资源表
测试资源ID | 仪器资源描述 |
1 | 直流电源 |
2 | 示波器通道1 |
3 | 示波器通道2 |
4 | 函数发生器 |
5 | 射频信号源 |
6 | 调制分析仪 |
7 | 计数器 |
8 | 频谱仪 |
仪器资源表中包括测试资源ID和仪器资源描述。
表4测试方案集表
测试任务集 | 任务ID | 方案ID | 所用仪器1ID | 所用仪器2ID | 测试时间 |
None_Set1 | 1 | 1 | 1 | 4 | 2 |
None_Set1 | 1 | 2 | 3 | 5 | 5 |
None_Set1 | 2 | 1 | 2 | 8 | 3 |
None_Set1 | 2 | 2 | 1 | 5 | 4 |
None_Set1 | 3 | 1 | 1 | 3 | 6 |
None_Set1 | 4 | 1 | 3 | 7 | 10 |
None_Set1 | 4 | 2 | 1 | 2 | 8 |
None_Set1 | 5 | 1 | 2 | 5 | 13 |
None_Set1 | 6 | 1 | 1 | 6 | 17 |
None_Set1 | 6 | 2 | 3 | 6 | 22 |
测试方案集表中包含测试任务集、任务ID、方案ID、所用仪器和测试时间。其中,方案是指针对该测试任务集设定的测试方案,表4中设定了两种方案。以测试方案集表中的第一个测试方案为例,表示测试任务集None_Set1的测试任务1选择第一种测试方案,所选用的仪器为仪器1与仪器4,所用的测试时间为2秒。
测试任务集的约束关系记录在测试任务间的时序约束关系表中,以表1中的测试任务集Strong_Set1为例,测试任务间的时序约束关系表如表5所示。
表5测试任务间的时序约束关系表
测试任务集 | 前项约束 | 后项约束 |
Strong_Set1 | 2 | 13 |
Strong_Set1 | 2 | 15 |
Strong_Set1 | 3 | 11 |
Strong_Set1 | 4 | 16 |
Strong_Set1 | 5 | 7 |
测试任务间的时序约束关系表中包含测试任务集、前项约束和后项约束,以表5中第一行中的前项约束2,后约束13为例,表示测试任务集Strong_Set1中的任务13只有在任务2完成后才能进行,体现了测试任务集中的时序约束。
数据库模块3C可以从测试任务调度实例添加及维护模块2B得到数据信息,并将其存储到数据库中。
测试实例导入模块4D中连接数据库模块3C以及调度方法模块5E。测试实例导入模块4D根据用户选定的测试任务集,从数据库模块3C中获得调度所需要的测试任务表、仪器资源表、测试任务间的时序约束关系表以及测试方案集表,并将其输出到调度方法模块5E。
调度方法模块5E中集成一种以上的调度方法,用户可以对平台已集成的各调度方法进行选择,并对所选调度方法参数进行设定。调度方法模块5E运行选定的测试任务集,在调度方法在运行结束后,将所有得到的非劣解(非支配解)进行保存并输入调度结果决策模块7G。本发明提供的基于分解的变邻域多目标测试任务调度方法也集成在调度方法模块5E中。
调度方法扩展模块6F为调度方法模块5E提供一种扩展机制,可以将新的调度方法加入调度方法模块5E中,并且可以将新加入的调度方法与原来的方法的各方面性能进行比较,选择最优的调度方法作为平台主调度方法,提高整个平台的性能。
调度结果决策模块7G与调度方法模块5E连接。在调度方法进化过程完成后,通过层次分析法对多个非劣解进行最终决策。
调度结果显示输出模块8H将调度结果决策模块7G确定的最终最优解进行显示输出。输出最优解对应目标函数点图及其对应调度甘特图。
本发明还提供了一种基于分解的变邻域多目标测试任务调度方法。基于分解的变邻域多目标优化方法将一个多目标优化问题在其目标函数空间中通过权重矢量分解为一组子优化问题。在进化过程中子优化问题之间通过获得其邻域的信息完成更新进化,并且多个目标是并行优化。采用这种优化方式可以避开加权和方法的使用,从而减少了人为因素在优化结果中的影响,并且变邻域策略的采用可以使个体交叉范围更为合理,提高调度结果解的质量。
如图2所示,本发明的一种基于分解的变邻域多目标测试任务调度方法,具体包括如下步骤:
步骤一:获取测试任务实例数据。
对多目标测试任务调度平台的数据库中已有的测试任务实例进行调用选择。如可选择None_Set1(无约束6任务8资源)、Strong_Set1(强约束20任务8资源)、Strong_Set2(强约束40任务12资源)等测试任务集。并得到所选择的测试任务集相关数据的信息表。得到的信息包括:
测试任务表T={t1,t2···,tj,…,tN},tj为第j个测试任务,N为测试任务总数;
仪器资源表R={r1,r2,···,ri,…rM},ri为第i个仪器,M为仪器总数;
以及测试任务间的时序约束关系表,如对于测试任务集Strong_Set1,存在前项约束2,后项约束13,即测试任务t13要在测试任务t2完成后才能进行。
步骤二:调度方法初始化。
调度方法初始化包括确定目标函数、调度方法变量及参数初始化、计算权重矢量邻域索引集并产生初始解等步骤。
步骤2.1:确定目标函数。
在本发明多任务调度平台中两个目标函数分布为测试时间C1和各步平均负荷C2。目标函数介绍如下:
在测试任务实例导入之后,得到测试任务表T={tl,t2,···,tj,…,tN}、仪器资源表R={r1,r2,···,ri,…,rM}、测试方案表以及测试任务间的时序约束关系表。
假设与分别代表在测试任务tj在仪器资源ri进行时的起始时间、完成时间以及消耗时间,有在自动测试调度中,存在一个测试任务的完成往往需要多个测试资源的共同协作。因此,可以用一个判断矩阵表示仪器资源与测试任务的需求关系。判断矩阵定义为:
测试方案集之间的资源约束可表示为:
测试时间
其中,N为测试任务总数,kj是测试任务tj的测试方案总数。
使用符号d表示并行步数。d的初始值设置为1。在给所有的任务都安排测试资源后,如果则d=d+1。计算得到并行总步数,因此目标函数2如下:
各步平均负荷
步骤2.2,变量及参数初始化。
记保存非劣解的集合为EP,且初始初始化参考点最优解集z=(z1,z2)T,z1=min{f1(x),x∈Ω},z2=min{f2(x),x∈Ω};其中Ω代表解空间。即zi为各目标函数在定义域Ω内的理论最小值,其中z为暂时最优解,随着进化过程而变化。
初始化的参数包括:迭代次数M';种群大小N',也称权重矢量个数;邻域变化范围,最大值Thigh以及最小值Tlow;交叉概率CR和变异概率p。各参数可以根据测试任务调度实例的变化而变化,邻域变化范围根据种群大小变化而变化。以无约束20任务8资源测试实例为例,调度方法参数设置如表6所示:
表6:调度方法基本参数设置
迭代次数 | 种群大小 | 邻域最大值 | 邻域最小值 | 交叉概率 | 变异概率 |
200 | 200 | 30 | 10 | 0.5 | 0.1 |
本调度方法中邻域大小随着进化过程而变化。进化前期邻域较大以保证个体交叉充分,进化后期邻域较小以防止个体退化。邻域变化控制曲线如图3所示:
图中,横坐标为迭代次数,纵坐标为邻域大小。控制曲线为二次抛物线,曲线在进化结束(即迭代次数为200)时斜率为0。体现了邻域在进化前期变化快,后期变化慢,在进化结束时变化速度为0的特点。假设每一代邻域大小为T,对应的迭代次数为ger,邻域变化范围为30到10。则图中有T=floor(0.0005*(ger-200)2+10),floor表示向下取整。
步骤2.3:计算权重矢量邻域索引集。
计算与第i个权重矢量最近的T个权重矢量邻域索引集。其中索引集记为B(i)={i1,···,iT},记λi为均匀分布的N'个权重矢量中的第i个权重值,i∈[1,N'],是λi的T个最近的权重值,两个权重矢量间距离由其欧式距离决定,N'为基于分解和最优解跟随策略的多目标测试任务调度方法的子问题的数目即种群大小,T为距离每单个的权重矢量最近的权重矢量的数量即邻域大小。
假设种群数为50,则权重矢量集为:λ1={1/50,49/50},λ2={2/50,48/50}…,λ50={1,0}。
以权重矢量λ10={10/50,40/50}为例,若本次迭代中邻域大小为10,则对应的权重矢量领域索引集B(10)=(5,6,7,8,9,11,12,13,14,15)。
步骤2.4:产生初始解。
随机产生初始种群记为x1,···,xN',并令每个个体对应目标函数的解为fi(xl),其中i∈[1,2],l∈[1,N']。每个个体中包含N个决策变量,N为当前测试任务总数,本发明实施例中决策变量的取值范围为0~1,第j个决策变量的值越大表示对应的第j个测试任务的执行时间越靠前。
以测试任务集None_Set1为例,种群大小N'设置为50。假设初始种群中一个个体为x1={0.125,0.325,0.245,0.865,0.742,个体中数据的个数等于测试任务集集中任务总数。数据分别代表测试任务的决策变量,用以决定测试任务的先后执行顺序。对于存在时序约束的测试任务集,则得到的任务先后顺序需要与时序约束进行核对,如果不满足时序约束,则决策变量需进行调整以符合时序约束。则六个测试任务所对应的决策变量依次为0.125,0.325,0.245,0.865,0.742,0.631。进行排序确定各测试任务的时序可得六个测试任务时序关系为t4>t5>t6>t2>t3>t1。在利用公式k=[xj×10]mod kj+1获得对应测试任务的仪器资源选择,其中k为所选择的测试方案序数,xj为测试任务对应的决策变量,kj为测试任务可选的测试方案总数。以任务t2为例,k=[0.325×10]mod2+1=2,则所选择的测试方案对应的仪器资源为
步骤三:个体交叉。
其中,与为权重矢量B(i)中随机挑选的权重矢量,常数F1与F2一般均设置为1,rand(1)为变化范围为0到1的一随机小数。以6个任务8个资源为例,邻域大小T设置为10。个体对应的权重矢量索引值为10,从对应的领域内随机挑选的个体 和 其对应的权重矢量索引值为7,12。rand(1)=0.7>CR,所以在交叉操作后,按照交叉公式得到
步骤四:个体变异,变异采用高斯变异。
个体变异前为xi={0.047,0.580,0.432,0.076,0.444,0.826},在本例中决策变量变化范围为由0到1,σ为0.05。高斯变异后所得的新个体为
xi*={0.063,0.629,0.483,0.120,0.431,0.842}。
步骤五:更新邻域及参考点。
对于最小化问题,解得到的适应度值越小则代表解越优,对j∈B(i),若适应度值F(y')≤F(xj),则更新种群个体xj=y',F(xj)=F(y'),否则,保持种群个体不变。
更新z:对任意i=1,···,m,若zi<fi(y'),则赋值zi=fi(y'),zi为任意一最优解。
步骤六:保存非劣解到集合EP中。
调度方法在每一代进化过程完成后,将所有得到的非劣解(非支配解)进行保存,并将其与之前保存的非劣解进行合并。在合并后的解集中再将劣解去除,保留非劣解到EP。如图4中所示,假设调度方法最终得到4个解A1、A2、A3和A4,对应的目标函数值分布为A1(10,20),A2(15,15),A3(20,10),A4(13,22)。可以看出4个解对应的目标函数点中,对于A1、A2和A3,没有一个解的目标函数值可以在两个维度上都比其更小。而对于A4,A1的两个维度上的值都比其更小。所以对于最小值优化问题来说,解A1、A2和A3为非劣解,解A4为劣解。删除解A4,最终保存下的解为A1、A2和A3。
步骤七:调度结果决策。
在调度方法进化过程完成后,通过层次分析法对最终保留的多个非劣解进行最终决策。层次分析法首先建立问题的层次结构。最高层为总目标,中间层表示分析问题所需考虑的准则、子准则,最底层表示为实现目标可供选择的各种方案、措施等,也称为方案层。本发明所建立的自动测试***任务调度问题层次分析法的层次结构如图5所示。其中,准则层C分为测试时间C1和各步平均负荷C2,方案层A由调度方法得到的非劣解构成。
对同一层的各个元素关于上一层中某一准则的重要性进行两两比较,构造判断矩阵。在传统的层次分析法中,一般都通过打分的方式来构造判断矩阵,比较常用的打分标度是1~9标度,如表7所示:
表7判断矩阵标度的定义
标度 | 含义 |
1 | 同样重要 |
3 | 前者稍重要 |
5 | 前者明显重要 |
7 | 前者强烈重要 |
9 | 前者极端重要 |
2,4,6,8 | 上述相邻判断的中间值 |
倒数 | 后者比前者的重要性标度 |
由于打分标度人为因素影响很大,在备选方案较多时会产生判断会不准确甚至冲突,导致很难满足判断矩阵一致性检验。因此本发明采用了一种变尺度判断矩阵生成算子来自动生成判断矩阵。它能将决策信息定量化,使得层次分析法可以控制决策过程中的不确定性,容易通过一致性检验,无需考虑标度选择问题。假设对于目标函数的每一维度,其中fmax和fmin分别是这一维度上目标函数的最大及最小值。aij是判断矩阵中的元素,表明了方案Ai相对于方案Aj的重要程度,fi和fj是方案Ai和方案Aj某一维度的目标函数值。本发明中有两个目标函数,目标函数维度为2,每一维度对应的元素aij用下式确定。
其中round表示对计算结果小数部分进行四舍五入。
对每一维度目标函数都计算得到一个判断矩阵。得到判断矩阵后,首先对判断矩阵进行一致性检验。利用判断矩阵的最大特征值λmax计算一致性指标CI,CI=(λmax-n)/(n-1)。n是判断矩阵的阶数,对于本发明第二层n为目标函数个数2,第三层n为保存的非劣解的个数。然后计算一致性比率CRT,CRT=CI/RI。其中RI为平均随机一致性指标,1到15阶平均随机一致性指标表如表8所示。
表8:1阶~15阶平均随机一致性指标
阶数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
RI | 0 | 0 | 0.52 | 0.89 | 1.12 | 1.26 | 1.36 | 1.41 | 1.46 | 1.49 | 1.52 | 1.54 | 1.56 | 1.58 | 1.59 |
若CRT≤0.10,则认为判断矩阵通过一致性检验,否则需要修正判断矩阵。
一致性检验通过后,由判断矩阵计算被比较要素对于该准则的相对权重。设最大特征值λmax对应的特征向量为u=(u1,u2,...,un)T。将u归一化处理,即对于i=1,2,...,n,求得到w=(w1,w2,...,wn)T即为单一准则下元素的相对排序权重向量。
得到单一准则下元素的相对排序权重向量后,对单一计算各层元素对***目标的合成权重并进行排序。假设第(k-1)层合成权重矢量W(k-1)以及第k层的单一准则下元素的相对排序权重向量wk已知,则第k层合成权重矢量Wk=wkW(k-1),k>1,得到方案层各元素关于总目标的排序权重。本发明中第二层合成权重矢量W2由判断矩阵直接计算得到,第三层以后通过公式Wk=wkW(k-1),k>1迭代获得。
以无约束20任务8资源测试***任务调度问题实例利用某一调度方法得到的一组非劣解为[(39,14.357),(34,19.546),(45,14.286),(52,13.667),(38,15.539),(32,20.000),(33,19.636),(35,18.182),(59,13.533),(65,12.813)]。假设目标函数1对于目标函数2的重要程度为5(即目标1明显重要),则得到中间层关于最高层的判断矩阵,如表9所示:
表9判断矩阵Goal-C
Goal | C1 | C2 |
C1 | 1 | 5 |
C2 | 1/5 | 1 |
可以得到特征值为λ1=2,λ2=0,λmax=λ1=2。CI=0,CRT=0<0.1通过一致性检验。对应可得到第二层合成权重矢量W2=w2=(0.833,0.167)T
通过判断矩阵变尺度判断矩阵生成算子来自动生成判断矩阵,相对于目标函数1与目标函数2分别得到的判断矩阵如表10和表11所示。
表10判断矩阵C1-A
C1 | A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 |
A1 | 1 | 1/2 | 2 | 4 | 1 | 1/3 | 1/2 | 1/2 | 6 | 7 |
A2 | 2 | 1 | 4 | 5 | 2 | 1 | 1 | 1 | 7 | 9 |
A3 | 1/2 | 1/4 | 1 | 3 | 1/3 | 1/4 | 1/4 | 1/3 | 4 | 6 |
A4 | 1/4 | 1/5 | 1/3 | 1 | 1/4 | 1/6 | 1/6 | 1/5 | 3 | 4 |
A5 | 1 | 1/2 | 3 | 4 | 1 | 1/2 | 1/2 | 1/2 | 6 | 8 |
A6 | 3 | 1 | 4 | 6 | 2 | 1 | 1 | 2 | 8 | 9 |
A7 | 2 | 1 | 4 | 6 | 2 | 1 | 1 | 1 | 7 | 9 |
A8 | 2 | 1 | 3 | 5 | 2 | 1/2 | 1 | 1 | 7 | 8 |
A9 | 1/6 | 1/7 | 1/4 | 1/3 | 1/6 | 1/8 | 1/7 | 1/7 | 1 | 2 |
A10 | 1/7 | 1/9 | 1/6 | 1/4 | 1/8 | 1/9 | 1/9 | 1/8 | 1/2 | 1 |
表11判断矩阵C2-A
C2 | A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | A10 |
A1 | 1 | 7 | 1 | 1/2 | 2 | 7 | 7 | 5 | 1/2 | 1/3 |
A2 | 1/7 | 1 | 1/7 | 1/8 | 1/5 | 2 | 1 | 1/3 | 1/8 | 1/8 |
A3 | 1 | 7 | 1 | 1/2 | 2 | 7 | 7 | 5 | 1/2 | 1/3 |
A4 | 2 | 8 | 2 | 1 | 3 | 8 | 8 | 6 | 1 | 1/2 |
A5 | 1/2 | 5 | 1/2 | 1/3 | 1 | 6 | 6 | 4 | 1/3 | 1/4 |
A6 | 1/7 | 1/2 | 1/7 | 1/8 | 1/6 | 1 | 1 | 1/3 | 1/8 | 1/9 |
A7 | 1/7 | 1 | 1/7 | 1/8 | 1/6 | 1 | 1 | 1/3 | 1/8 | 1/9 |
A8 | 1/5 | 3 | 5 | 1/6 | 1/4 | 3 | 3 | 1 | 1/6 | 1/7 |
A9 | 2 | 8 | 2 | 1 | 3 | 8 | 8 | 6 | 1 | 1/2 |
A10 | 3 | 8 | 3 | 2 | 4 | 9 | 9 | 7 | 2 | 1 |
对于判断矩阵C1-A,可得λmax=10.338,CI=0.038,CRT=0.025<0.10通过一致性检验。可得第三层相对排序权重向量:
对于判断矩阵C2-A,可得λmax=10.404,CI=0.045,CRT=0.030<0.10通过一致性检验。可得第三层相对排序权重向量:
因此可得综合考虑目标函数两个维度得到的排序权重向量为w3=(0.093,0.167,0.056,0.033,0.103,0.195,0.170,0.150,0.019,0.014;
。
0.115,0.020,0.115,0.174,0.078,0.017,0.018,0.034,0.174,0.256)T
最终的合成权重为:
W3=w3W2=(0.097,0.142,0.066,0.056,0.099,0.166,0.144,0.131,0.045,0.054)T。
对所有非劣解的排序为6,3,7,8,5,1,2,4,10,9。
找到最底层合成权重向量中的最大值,该值对应的方案就是最优方案,也就是最满意解,所以实施例中对应最满意解为A6(32,20.000)。
步骤八:最终结果输出。
在调度结果决策之后,对最终调度结果进行输出。输出信息包括最优解对应目标函数点图及其对应调度甘特图。以无约束20任务8资源为例,最终结果输出如图6所示。
其中图6左侧显示了最终确定的最优解对应的两个目标函数值,右侧最优解对应的甘特图提供了各测试任务的时序安排及其占用的测试仪器资源。
Claims (3)
1.一种基于分解的变邻域多目标测试任务调度方法,其特征在于,包括如下步骤:
步骤一:获取选定测试任务集的信息,包括:
测试任务表T={t1,t2,···,tj…,tN},tj为第j个测试任务,N为测试任务总数;
仪器资源表R={r1,r2,···,ri,…,rM},ri为第i个仪器,M为仪器总数;
以及测试任务间的时序约束关系表;
步骤二:初始化,具体包括步骤2.1~2.4;
步骤2.1:确定目标函数,目标函数包括测试时间f1(x)和各步平均负荷f2(x);
设d表示并行步数,初始值为1,在所有的测试任务都安排仪器资源后,每存在两个测试任务的仪器资源有重复时,更新d=d+1,计算总的并行步数,然后确定各步平均负荷:
步骤2.2:变量及参数初始化;
记保存非劣解的集合为EP,且初始
初始化参考点最优解集z=(z1,z2)T,z1=min{f1(x),x∈Ω},z2=min{f2(x),x∈Ω};其中Ω代表解空间;
初始化的参数包括:最大迭代次数M';种群大小N';邻域变化范围,最大值为Thigh,最小值为Tlow;交叉概率CR和变异概率p;迭代次数为ger时,对应代的领域大小为
T=floor(((Thigh-Tlow)/(M')2)*(ger-M')2)+Tlow,floor表示向下取整;
步骤2.3:计算权重矢量邻域索引集;找到与第i个权重矢量最近的T个权重矢量,定义第i个权重矢量邻域索引集为B(i)={i1,···,iT},i∈[1,N'];
步骤2.4:产生初始解;随机产生初始种群,并确定每个个体对应的目标函数的值;每个个体中包含N个决策变量,其中第j个决策变量的值越大表示对应的第j个测试任务的执行时间越靠前;
步骤四:个体变异;
步骤五:更新邻域及参考点;
更新邻域:对于j∈B(i),定义参考点为zi的第j个子问题的适应度为
其中表示第i个权重矢量邻域索引集中的第j个权重矢量值;设个体y'为第i个个体变异后得到的解,对j∈B(i),若适应度值F(y')≤F(xj),则更新种群个体xj=y',F(xj)=F(y'),否则,保持种群个体xj不变;
更新z:对任意i=1,2,若zi<fi(y'),则赋值zi=fi(y');
步骤六:保存非劣解;每一代进化完成后,将所有得到的非劣解保存到集合EP中,并将集合EP中的劣解去除;
设两个解及其目标函数值分别为:A1(f1(A1),f2(A1)),A2(f1(A2),f2(A2));若f1(A1)≥f1(A2)且f2(A1)≥f2(A2),则解A1为劣解,删除解A1;
步骤七:通过层次分析法对集合EP中的非劣解进行最终决策;
步骤八:将最优方案输出。
2.根据权利要求1所述的基于分解的变邻域多目标测试任务调度方法,其特征在于,所述的步骤七具体实现方法是:建立三层次结构:最高层为最终决策结果,中间层为维度n2=2的目标函数,最底层为集合EP中的非劣解,非劣解个数为n1;
首先,对最底层的各个非劣解关于中间层每个维度的目标函数的重要性进行两两比较,构造判断矩阵,矩阵为n1×n1的矩阵;对于某一维度,判断矩阵中第i行第j列元素aij表示解Ai相对于解Aj的重要程度,fi和fj是解Ai和解Aj在对应维度的目标函数值,fmax和fmin分别是对应维度上目标函数的最大及最小值;元素aij的值为:
其中,round表示对计算结果小数部分进行四舍五入;
然后,对判断矩阵进行一致性检验,具体是:先计算一致性指标CI=(λmax-n)/(n-1),λmax是判断矩阵的最大特征值,n是判断矩阵的阶数;再计算一致性比率CRT=CI/RI,RI为平均随机一致性指标;若CRT≤0.10,则判断矩阵通过一致性检验,否则需要修正判断矩阵;
一致性检验通过后,对判断矩阵的最大特征值对应的特征向量u=(u1,u2,...,un)T,进行归一化处理,得到对应单一准则下元素的相对排序权重向量w=(w1,w2,...,wn)T,对应两个目标函数,得到排序权重向量w3;
同样,根据目标函数对最终决策结果的重要性,建立中间层对于最高层的判断矩阵,矩阵为n2×n2的矩阵;获取中间层的合成权重向量W2,最终得到最底层合成权重向量W3=w3W2;找到最底层合成权重向量中的最大值,该值对应的方案就是最优方案。
3.一种基于权利要求1或2所述的多目标测试任务调度平台,其特征在于,包括如下模块:用户管理模块、测试任务调度实例添加及维护模块、数据库模块、测试实例导入模块、调度方法模块、调度方法扩展模块、调度结果决策模块以及调度结果显示输出模块;
用户管理模块用于管理用户的信息和密码,是测试任务调度平台的入口;测试任务调度实例添加及维护模块用于对测试中的五种信息表进行添加和维护,并将数据存储在数据库模块中;所述的五种信息表为:测试任务集表、测试任务表、仪器资源表、测试任务间的时序约束关系表以及测试方案集表;测试实例导入模块根据用户选定的测试任务集,从数据库模块中获得调度所需要的信息表,并输出到调度方法模块;调度方法模块中集成一种以上的调度方法,用户从调度方法模块中选取一种调度方法,并对所选调度方法的参数进行设定,调度方法模块运行测试任务集,将所有得到的非劣解输入调度结果决策模块,调度方法模块中集成有基于分解的变邻域多目标测试任务调度方法;调度结果决策模块通过层次分析法对非劣解进行最终决策,并输出最优解给调度结果显示输出模块;调度结果显示输出模块将最优解的目标函数点图和对应的调度甘特图显示给用户;调度方法扩展模块用于将新的调度方法加入调度方法模块中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310303667.4A CN103345384B (zh) | 2013-07-18 | 2013-07-18 | 一种基于分解的变邻域多目标测试任务调度方法及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310303667.4A CN103345384B (zh) | 2013-07-18 | 2013-07-18 | 一种基于分解的变邻域多目标测试任务调度方法及平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103345384A true CN103345384A (zh) | 2013-10-09 |
CN103345384B CN103345384B (zh) | 2015-12-09 |
Family
ID=49280182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310303667.4A Active CN103345384B (zh) | 2013-07-18 | 2013-07-18 | 一种基于分解的变邻域多目标测试任务调度方法及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103345384B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902340A (zh) * | 2014-03-28 | 2014-07-02 | 南京航空航天大学 | 一种提高软件版本升级决策效率的方法 |
CN106021100A (zh) * | 2016-05-12 | 2016-10-12 | 中国电子科技集团公司第四十研究所 | 一种支持并行测试的测试任务运行调度方法 |
CN108093083A (zh) * | 2018-01-10 | 2018-05-29 | 北京航空航天大学 | 云制造任务调度方法、装置及终端 |
CN109298930A (zh) * | 2017-07-24 | 2019-02-01 | 西安电子科技大学昆山创新研究院 | 一种基于多目标优化的云工作流调度方法及装置 |
CN111967642A (zh) * | 2020-07-10 | 2020-11-20 | 北京航空航天大学 | 一种基于时间窗策略的资源约束型动态船舶调度方法及调度平台 |
CN112579280A (zh) * | 2020-12-30 | 2021-03-30 | 奇瑞汽车股份有限公司 | 云资源的调度方法、装置及计算机存储介质 |
CN112835334A (zh) * | 2020-12-31 | 2021-05-25 | 广州明珞装备股份有限公司 | 工业数据平台测试方法、装置、计算机设备和存储介质 |
CN113010288A (zh) * | 2021-03-16 | 2021-06-22 | 奇瑞汽车股份有限公司 | 云资源的调度方法、装置及计算机存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138812A1 (en) * | 2008-12-01 | 2010-06-03 | Wipro Limited | System and method for analyzing performance of a software testing system |
CN101976221A (zh) * | 2010-10-14 | 2011-02-16 | 北京航空航天大学 | 一种基于粒子群禁忌组合的并行测试任务调度方法及平台 |
CN103235743A (zh) * | 2013-04-07 | 2013-08-07 | 北京航空航天大学 | 一种基于分解和最优解跟随策略的多目标测试任务调度方法 |
-
2013
- 2013-07-18 CN CN201310303667.4A patent/CN103345384B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138812A1 (en) * | 2008-12-01 | 2010-06-03 | Wipro Limited | System and method for analyzing performance of a software testing system |
CN101976221A (zh) * | 2010-10-14 | 2011-02-16 | 北京航空航天大学 | 一种基于粒子群禁忌组合的并行测试任务调度方法及平台 |
CN103235743A (zh) * | 2013-04-07 | 2013-08-07 | 北京航空航天大学 | 一种基于分解和最优解跟随策略的多目标测试任务调度方法 |
Non-Patent Citations (1)
Title |
---|
闫丽琴等: "基于组合禁忌搜索的并行测试任务调度研究", 《微计算机信息》, vol. 27, no. 7, 15 July 2011 (2011-07-15) * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902340A (zh) * | 2014-03-28 | 2014-07-02 | 南京航空航天大学 | 一种提高软件版本升级决策效率的方法 |
CN103902340B (zh) * | 2014-03-28 | 2017-02-22 | 南京航空航天大学 | 一种提高软件版本升级决策效率的方法 |
CN106021100A (zh) * | 2016-05-12 | 2016-10-12 | 中国电子科技集团公司第四十研究所 | 一种支持并行测试的测试任务运行调度方法 |
CN106021100B (zh) * | 2016-05-12 | 2018-12-04 | 中国电子科技集团公司第四十一研究所 | 一种支持并行测试的测试任务运行调度方法 |
CN109298930B (zh) * | 2017-07-24 | 2022-12-13 | 西安电子科技大学昆山创新研究院 | 一种基于多目标优化的云工作流调度方法及装置 |
CN109298930A (zh) * | 2017-07-24 | 2019-02-01 | 西安电子科技大学昆山创新研究院 | 一种基于多目标优化的云工作流调度方法及装置 |
CN108093083B (zh) * | 2018-01-10 | 2020-06-05 | 北京航空航天大学 | 云制造任务调度方法、装置及终端 |
CN108093083A (zh) * | 2018-01-10 | 2018-05-29 | 北京航空航天大学 | 云制造任务调度方法、装置及终端 |
CN111967642A (zh) * | 2020-07-10 | 2020-11-20 | 北京航空航天大学 | 一种基于时间窗策略的资源约束型动态船舶调度方法及调度平台 |
CN112579280A (zh) * | 2020-12-30 | 2021-03-30 | 奇瑞汽车股份有限公司 | 云资源的调度方法、装置及计算机存储介质 |
CN112579280B (zh) * | 2020-12-30 | 2022-11-29 | 奇瑞汽车股份有限公司 | 云资源的调度方法、装置及计算机存储介质 |
CN112835334A (zh) * | 2020-12-31 | 2021-05-25 | 广州明珞装备股份有限公司 | 工业数据平台测试方法、装置、计算机设备和存储介质 |
CN113010288A (zh) * | 2021-03-16 | 2021-06-22 | 奇瑞汽车股份有限公司 | 云资源的调度方法、装置及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103345384B (zh) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103345384B (zh) | 一种基于分解的变邻域多目标测试任务调度方法及平台 | |
Zhu et al. | An efficient evolutionary grey wolf optimizer for multi-objective flexible job shop scheduling problem with hierarchical job precedence constraints | |
Mavrotas et al. | An improved version of the augmented ε-constraint method (AUGMECON2) for finding the exact pareto set in multi-objective integer programming problems | |
CN103235743B (zh) | 一种基于分解和最优解跟随策略的多目标测试任务调度方法 | |
CN109657354A (zh) | 一种基于数字孪生的混流装配车间快速重构方法及*** | |
CN106527381B (zh) | 一种面向并行批处理机动态调度的快速评估方法 | |
CN103810104A (zh) | 一种软件测试用例优化方法及*** | |
CN103188695B (zh) | 一种室内天线的布放方法及*** | |
CN105929690B (zh) | 一种基于分解多目标进化算法的柔性车间鲁棒调度方法 | |
CN104239213A (zh) | 一种面向航天器自动化测试的并行测试任务两阶段调度方法 | |
CN106022480B (zh) | 基于d-s证据理论的机器人功能模块粒度划分评价方法 | |
CN107330589A (zh) | 卫星网络协调风险的定量化评估方法及*** | |
CN109886464A (zh) | 基于优化奇异值分解生成特征集的低信息损失短期风速预测方法 | |
CN113837311B (zh) | 一种基于需求响应数据的居民客户聚类方法及装置 | |
CN113191828B (zh) | 一种用户用电价值等级标签构建方法、装置、设备及介质 | |
CN105893669A (zh) | 一种基于数据挖掘的全局仿真性能预测方法 | |
CN104809235A (zh) | 一种节目评价***及方法 | |
CN104899101B (zh) | 基于多目标差异演化算法的软件测试资源动态分配方法 | |
Wang et al. | Transmission network dynamic planning based on a double deep-Q network with deep ResNet | |
CN103353895A (zh) | 一种配电网线损数据的预处理方法 | |
CN114995964A (zh) | 一种组合服务重构方法、装置、设备和计算机可读介质 | |
CN115034473A (zh) | 一种电价预测方法、***及装置 | |
CN114091776A (zh) | 一种基于K-means的多分支AGCNN短期电力负荷预测方法 | |
CN107180286A (zh) | 基于改进型花粉算法的制造服务供应链优化方法及*** | |
CN103729297A (zh) | 一种基于分层遗传算法的测试用例生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |