一种资源可调整的卫星并行测试资源配置方法.pdf

上传人:111****112 文档编号:4059764 上传时间:2018-08-13 格式:PDF 页数:20 大小:636.23KB
返回 下载 相关 举报
摘要
申请专利号:

CN201210046714.7

申请日:

2012.02.27

公开号:

CN102662756A

公开日:

2012.09.12

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 9/50申请公布日:20120912|||实质审查的生效IPC(主分类):G06F 9/50申请日:20120227|||公开

IPC分类号:

G06F9/50

主分类号:

G06F9/50

申请人:

北京航空航天大学

发明人:

郑征; 郭泽; 刘一帆; 闫金栋; 林树民; 蔡开元

地址:

100191 北京市海淀区学院路37号

优先权:

专利代理机构:

北京慧泉知识产权代理有限公司 11232

代理人:

王顺荣;唐爱华

PDF下载: PDF下载
内容摘要

一种资源可调整的卫星并行测试资源配置方法,包括以下步骤:步骤1、使用遗传算法求解卫星并行测试任务调度模型;步骤2、获得调度方案以及资源信息;步骤3、根据资源信息调整资源量;步骤4、调整结束。该方法根据项目的具体需求匹配资源,以达到减小项目工期并提高资源使用率的目的,从而提高调度方案品质。它在航空航天并行测试技术领域里具有良好的应用前景。

权利要求书

1.一种资源可调整的卫星并行测试资源配置方法,其特征在于:该方法具体步骤如下:第一步使用遗传算法求解卫星并行测试任务调度模型使用遗传算法求解该问题的关键在于设计编码方式、解码方式、种群初始化、遗传算子即选择算子、交叉算子和变异算子,遗传算法具体设计如下:1)编码方式编码采用基于任务列表的带有优先级的编码方式,它将一个调度方案表示为一个任务序列,假设N艘卫星的优先级是递减的,那么所有卫星的测试任务按如下方式编码:其中,Ai0,…, 表示卫星i的全部测试任务,i越大则卫星的优先级越小;Ai0和 虚拟任务的位置始终保持不变,其余任务在满足时序约束的前提下能够任意改变位置;可见,这种编码方式是按照卫星的优先级分段编码的,即将优先级高的卫星的测试任务排在前面,只要保证每艘卫星首尾两个虚拟测试任务的编码位置不变,无论在符合时序约束的前提下其它测试任务的位置如何变化,当从左到右地调度任务时,总能保证优先级高的卫星的测试任务首先被安排执行,这样就保证了卫星的优先级关系不会被打破;这种分级的编码方式除了保证卫星的优先级关系外,还极大的缩小到了搜索空间,因为它限制了每个任务位置变化的范围; 2)解码方式解码是编码的逆过程,它将染色体转化为调度方案,从而计算出目标函数值;根据编码特点,采用串行解码方法,它得到积极的调度方案;所谓积极的调度方案是指,任何测试任务都不可能在不改变其它测试任务开始时刻的前提下更早的开始;将一条染色体解码实际上就是确定各个测试任务的开始时刻,由于每条染色体编码都已满足卫星的优先级关系和测试任务的时序约束,那么解码依据的规则是资源约束关系;将染色体按照从左到右的顺序,依次确定每个测试任务的最早开始时刻,该最早开始时刻满足:①不小于其紧前任务结束时刻;②该任务在整个执行阶段满足资源约束;③满足条件①和②的最小时刻;按照上述解码方式,每个测试任务的最早开始时刻,为某个已确定开始时刻的测试任务的结束时刻;设共有J个测试任务,π为由J个测试任务编码而成的染色体,πg(0≤g<J)表示其第g个基因,Sg和fg分别表示第g个基因的开始和结束时刻,dg表示第g个基因的测试时间,L为由所有当前已确定开始时刻的测试任务的结束时刻组成的递增时间序列,Li为其第i个元素,串行解码的流程如下:(1)令g=1,S0=0,f0=0,L={0};(2)计算πg所有紧前任务最晚结束时刻tg,并确定tg在L中的位置i;(3)若当t∈[Li,Li+dg]时πg满足资源约束,则令Sg=Li,fg=Sg+dg,L=L∪{fg},并对T进行递增排序,转(4),否则令i=i+1,转(3);(4)g=g+1,若g<J,则转(2),否则转(5);(5)结束; 3)种群初始化初始种群应该保证充分的多样性,以减小计算陷入局部极小的可能性,初始种群采用随机的方式产生,也能够依据优先规则产生,或者将二者结合以得到更加分散的个体;无论哪种产生方式,都必须保证卫星优先级关系和测试任务时序约束不被打破;假设共有J个任务{A0,A1,…,AJ-1},则编码可以分为J-1个阶段,每个阶段g对应一个未完成编码的染色体π和一个可行任务集合Dg,Dg包含在当前阶段所有未被安排且其所有紧前任务已包含在π中的任务;当一艘卫星的测试任务编码完毕后,其末任务看作是下一艘应被编码的卫星的首任务的紧前任务,这样就能将各卫星按优先级顺序依次编码;在每一阶段,随机或根据一定的优先规则从Dg中选择一个任务,在满足资源约束和其它约束的情况下加入π中;编码流程如下:(1)令g=0,π=[A0];(2)计算可行活动集合Dg,在Dg中选择即随机或依优先规则选择一个任务Aj,令π=[A0,…,Aj];(3)g=g+1,若g<J-1,则转(2),否则转(4);(4)结束;另外,虽然较大的种群规模能增加种群的多样性,但是过大的种群规模可能使较优个体过早占据种群从而造成过早收敛,而且会增加计算负担,因此,种群规模应该适中;4)选择算子选择算子采用2-联赛选择机制,即每次随机选择两条染色体选取其中测试 总工期较短的一条,直到满足种群规模;5)交叉算子交叉算子采用一点交叉方式;设两条交叉的染色体分别为:首先,随机产生一个正整数r(0≤r<M)作为交叉点,交叉产生的子代染色体πD的前r+1个基因继承自πF,后M-r-1个基因继承自πG并保持在πG中的相对顺序不变,即其中,另一个子代染色体πS的产生方式与此相似,即其中,这种交叉方式不会改变时序约束和各艘卫星的优先级;6)变异算子变异算子采用插入变异方式,对某个任务进行变异操作时,首先找到其所有紧前任务最后位置r1和所有紧后任务的最前位置r2,然后随机产生一个正整数r(r1<r≤r2),将该任务插入位置r上;每艘卫星的首任务的紧前任务认为是其自身,而末任务的紧后任务也认为是其自身;这种插入变异方式也不会改变任务的时序约束和各艘卫星的优先级;第二步获得调度方案以及资源信息根据第一步的遗传算法得到项目的调度方案,即各卫星所有任务的开始时 间与结束时间;首先,根据测试时序约束和航天器的优先级进行染色体的编码,此时就将任务调度问题转化为了遗传算法能处理的形式;经过遗传算法的遗传算子即选择算子、交叉算子和变异算子的操作和足够的迭代次数便会产生一个最优的染色体;最后通过解码将该染色体解码为调度方案,此时就将遗传算法的求解结果还原成了调度问题的解,这个解就被称为项目的调度方案,需要在测试开始后不断地进行调整以保持可行性;根据得到的调度方案,计算各资源的使用情况,作为调整资源的一个依据;第三步根据资源信息调整资源量资源量的调整量由上层决策求解,依据两方面的信息:由下层提供的当前调度方案的资源使用情况和规则库;(1)资源信息下层反馈的资源信息是,在当前调度方案下,每种资源的在各个时刻的使用率 及其平均使用率AverResRatek,这些信息反映了调度方案对资源的使用情况;其中,Rk表示资源k的可用量, 表示资源k在时刻t的使用量,makespan表示总工期;(2)规则库规则库的作用是,根据下层反馈的资源信息,对资源进行相应的调整;根据问题的要求,制定了三条规则: 规则1:对任何一种资源 若 使得 且AverResRatek>ηk,其中ηk为资源k平均利用率的阈值,且 则Rk=Rk+1;规则2:对任何一种资源 若 使得 且 则Rk=Rk-1;规则3:若在任何两次资源调整后,各资源量相同,或者调整达到一定次数,则决策停止,输出调度方案和资源方案;第一条规则的作用是对使用频繁的资源进行适量增加,而第二条规则的作用是减少闲置的资源;在上层决策中,起主要作用的是第一条规则,因为要减小调度方案的总工期,资源总是趋向于增加;第一条规则保证调度方案和资源方案总是向总工期减小和鲁棒性增加的方向演化;第二条规则是对第一条规则进行补充,当资源的增加不起太大作用的时候,就减少该种资源;第三条规则设置了停止条件;上层决策根据这些规则调整结束后,将调整后的资源信息返回下层,下层采用第一步中的遗传算法重新调度;第四步调整结束整个设计过程是一个动态地求解过程,通过上下层的不断相互作用优化结果;围绕保持调度方案的可行性和较短的测试总工期这两个指标,进一步考虑了资源的均衡性;第一步和第二步给出了基线调度产生方法;第三步给出了调整资源的具体方式以及上下层的作用方式,通过以上三个步骤能够使测试工作顺利完成并较好地达到指标要求,设计结束。 

说明书

一种资源可调整的卫星并行测试资源配置方法

技术领域

本发明涉及一种资源可调整的卫星并行测试资源配置方法,特别是涉及一种
在不确定环境下的资源可调整的卫星并行测试资源配置方法。本发明属于航空
航天并行测试技术领域。

背景技术

近年来,我国航天技术发展迅猛,航天技术开始从国防军事领域迅速向民
用航天领域扩展,我国拥有的卫星数目急剧增多,卫星的研制和生产开始步入
批量化阶段。而传统的卫星测试采用的是串行测试方式——测试效率低,资源
利用率低,测试成本高,这种测试方式已不能适应卫星批量化生产的要求。在
这种情况下,迫切需要改变现有的卫星测试模式,实现卫星的并行测试,以提
高测试效率和资源利用率,同时降低测试成本。

在卫星并行测试资源配置中,调度方案的确定不仅依赖调度模型及其求解
方法,而且依赖测试资源的数量之间的关系。在给定资源数量的前提下进行调
度,实际上暗含假定,给定的各种资源的数量是匹配的。在资源量匹配的前提
下,可以得到总工期较短而各资源的使用率较高的调度方案。而事实上,在调
度方案制定之前,很难做到使各种资源的数量匹配,因为资源量的确定往往具
有随意性。显然,测试资源和调度方案形成了一个相互影响,相互依赖的关系:
调度方案的生成依赖测试资源,而测试资源的匹配也需要调度方案执行的信息。
这说明,将测试资源的确定和调度方案的生成进行联合考虑,才会得到更优的
结果。

资源可调整的卫星并行测试资源配置问题是卫星并行测试资源配置问题的
扩展,它使资源的数量也变成了决策变量,从而也更加复杂。资源可调整的卫
星并行测试资源配置问题可以描述为:代表L个并行测试的卫星集
合,如果i1<i2,则的优先级高于卫星的优先级,即当卫星i1和卫星i2
竞争资源时,卫星i1具有优先使用资源的权利而禁止抢断。卫星由具有时
序关系的测试活动组成,其中测试活动1和Ni是虚拟测试活动,
分别用来表示卫星i测试的开始和结束。虚拟测试活动的不需要测试资源,并
且其工期为零,其它测试活动的工期具有不确定性。所有卫星测试共享K种可
更新资源测试资源的可用量可在 [ [ ( 1 - υ k ) R k 0 ] , [ ( 1 + μ k ) R k 0 ] ] ]]>
的范围内进行调整,其中是资源k的初始给定量。测试活动间是开始-结束型
关系。测试活动具有两种约束:

①时序约束,任何一个测试活动只有当其所有紧前活动集合
里的活动执行完才可以开始;

②资源约束,卫星i的每个测试活动在其工期dij内对第k种资源的需
求量为rijk,资源一旦被释放可以立即被其它测试活动使用。

资源可调整的卫星并行测试资源配置问题比单纯的卫星并行测试资源配置
问题多了一层决策,它不但要求确定调度方案,而且还要确定匹配的资源量。
资源量的确定和调度方案的确定是相互影响的,首先调度方案需要在测试资源
分配的前提下产生,而产生的调度方案可以反馈测试资源的使用信息,从而作
为资源调整的依据。显然,这是一种带有主从性质的两层决策:资源的调整作
为上层决策行为,而调度方案的产生可以作为下层决策行为。其目标是,确定
每种资源的数量,同时生成满足指标的调度方案,以确定每个测试活动的开始
时间 S = ( s 11 , · · · , s 1 N 1 , · · · , s L 1 , · · · , s LN L ) ]]>和结束时间 F = ( f 11 , · · · , f 1 N 1 , · · · , f L 1 , · · · , f LN L ) . ]]>

此外测试资源是一种稀缺资源,有些测试资源非常昂贵,不可能大量增加,
它的调整幅度也就不可能太大,而只能进行微量调整。因此,在卫星并行测试
中,要求测试资源在现有数量的基础上进行少量调整,以使各种资源的数量更
加匹配,从而明显提高测试总工期和资源利用率。本发明首先提出这种通过少
量增加资源提升调度方案质量的方法。

对卫星并行测试进行资源配置,无论是通过静态调度还是动态调度,都是
在资源给定的情况下进行的,也就是在调度时每种资源的数量已经确定了。但
是,在卫星并行测试中,资源的数量可能存在不平衡性,即每种资源的数量不
匹配,从而导致无论如何进行调度,其资源利用率都不高。这就提出了资源量
的匹配问题。为解决该问题并克服传统并行测试任务调度方法的局限性,针对
卫星并行测试任务调度的特点,本发明提出一种资源可调整的卫星并行测试资
源配置方法。

发明内容

本发明一种资源可调整的卫星并行测试资源配置方法,其目的是:针对卫
星并行测试中,资源的数量可能存在的不平衡性,即每种资源的数量不匹配,
从而导致无论如何进行调度,其资源利用率都不高的问题,提出一种资源可调
整的卫星并行测试资源配置方法调整资源配置方案。通过对资源的少量调整,
使各种资源的数量更加匹配,从而明显提高测试总工期和资源利用率。

本发明一种资源可调整的卫星并行测试资源配置方法,其设计思想是:下
层根据初始资源方案得到调度方案并求取资源使用率;上层根据各资源的使用
率调整资源可用量并反馈回下层,下层据此重新调度;重复此过程直至满足停
止条件。基于上面的思想,下面具体介绍本发明的技术方案。

本发明一种资源可调整的卫星并行测试资源配置方法,该方法具体步骤如
下:

第一步使用遗传算法求解卫星并行测试任务调度模型。

使用遗传算法求解该问题的关键在于设计编码方式、解码方式、种群初
始化、遗传算子(选择算子、交叉算子和变异算子)等,遗传算法的基本流程
如图2所示,具体设计如下:

1、编码方式

编码采用基于任务列表的带有优先级的编码方式,它将一个调度方案表示
为一个任务序列。假设N艘卫星的优先级是递减的,那么所有卫星的测试任务
可以按如下方式编码:


其中,Ai0,…,表示卫星i的全部测试任务,i越大则卫星的优先级越小。
Ai0和(虚拟任务)的位置始终保持不变,其余任务在满足时序约束的前
提下可以任意改变位置。

可见,这种编码方式是按照卫星的优先级分段编码的,即将优先级高的卫
星的测试任务排在前面。只要保证每艘卫星首尾两个虚拟测试任务的编码位置
不变,无论其他测试任务的位置如何变化(在符合时序约束的前提下),当从左
到右地调度任务时,总能保证优先级高的卫星的测试任务首先被安排执行,这
样就保证了卫星的优先级关系不会被打破。这种分级的编码方式除了可以保证
卫星的优先级关系外,还极大的缩小到了搜索空间,因为它限制了每个任务位
置变化的范围。

2、解码方式

解码是编码的逆过程,它将染色体转化为调度方案,从而计算出目标函数
值。根据编码特点,本发明采用串行解码方法,它可以得到积极的调度方案。
所谓积极的调度方案是指,任何测试任务都不可能在不改变其它测试任务开始
时刻的前提下更早的开始。

将一条染色体解码实际上就是确定各个测试任务的开始时刻。由于每条染
色体编码都已满足卫星的优先级关系和测试任务的时序约束,那么解码依据的
规则主要是资源约束关系。将染色体按照从左到右的顺序,依次确定每个测试
任务的最早开始时刻,该最早开始时刻满足:①不小于其紧前任务结束时刻;
②该任务在整个执行阶段满足资源约束;③满足条件①和②的最小时刻。按照
上述解码方式,每个测试任务的最早开始时刻,为某个已确定开始时刻的测试
任务的结束时刻。

设共有J个测试任务,π为由J个测试任务编码而成的染色体,
πg(0≤g<J)表示其第g个基因,Sg和fg分别表示第g个基因的开始和结束时
刻,dg表示第g个基因的测试时间,L为由所有当前已确定开始时刻的测试任
务的结束时刻组成的递增时间序列,Li为其第i个元素。串行解码的流程如下:

(1)令g=1,S0=0,f0=0,L={0};

(2)计算πg所有紧前任务最晚结束时刻tg,并确定tg在L中的位置i;

(3)若当t∈[Li,Li+dg]时πg满足资源约束,则令Sg=Li,fg=Sg+dg,
L=L∪{fg},并对T进行递增排序,转(4),否则令i=i+1,转(3);

(4)g=g+1,若g<J,则转(2),否则转(5);

(5)结束。

3、种群初始化

初始种群应该保证充分的多样性,以减小计算陷入局部极小的可能性。初
始种群可以采用随机的方式产生,也可以依据优先规则产生,或者将二者结合
以得到更加分散的个体。无论哪种产生方式,都必须保证卫星优先级关系和测
试任务时序约束不被打破。

假设共有J个任务{A0,A1,…,AJ-1},则编码可以分为J-1个阶段,每个阶段
g对应一个未完成编码的染色体π和一个可行任务集合Dg,Dg包含在当前阶
段所有未被安排且其所有紧前任务已包含在π中的任务。当一艘卫星的测试任
务编码完毕后,其末任务看作是下一艘应被编码的卫星的首任务的紧前任务,
这样就能将各卫星按优先级顺序依次编码。在每一阶段,随机或根据一定的优
先规则从Dg中选择一个任务,在满足资源约束和其它约束的情况下加入π中。
编码流程如下:

(1)令g=0,π=[A0];

(2)计算可行活动集合Dg,在Dg中选择(随机或依优先规则)一个任务
Aj,令π=[A0,…,Aj];

(3)g=g+1,若g<J-1,则转(2),否则转(4);

(4)结束。

另外,虽然较大的种群规模可以增加种群的多样性,但是过大的种群规模
可能使较优个体过早占据种群从而造成过早收敛,而且会增加计算负担。因此,
种群规模应该适中。

4、选择算子

选择算子采用2-联赛选择机制,即每次随机选择两条染色体选取其中测
试总工期较短的一条,直到满足种群规模。

5、交叉算子

交叉算子采用一点交叉方式。设两条交叉的染色体分别为:

π F = [ A 0 F , A 1 F , A 2 F , · · · A M F ] ]]>

π G = [ A 0 G , A 1 G , A 2 G , · · · A M G ] ]]>

首先,随机产生一个正整数r(0≤r<M)作为交叉点,交叉产生的子代染
色体πD的前r+1个基因继承自πF,后M-r-1个基因继承自πG并保持在πG
中的相对顺序不变,即

π D = [ A 0 F , A 1 F , · · · , A r F , A ( r + 1 ) G · · · , A M G ] ]]>

其中, A k G { A 0 F , A 1 F , · · · , A r F } , k = r + 1 , · · · , M . ]]>

另一个子代染色体πS的产生方式与此相似,即

π S = [ A 0 G , A 1 G , · · · , A r G , A ( r + 1 ) F · · · , A M F ] ]]>

其中, A k F { A 0 G , A 1 G , · · · , A r G } , k = r + 1 , · · · , M . ]]>

这种交叉方式不会改变时序约束和各艘卫星的优先级。

6、变异算子

变异算子采用插入变异方式。对某个任务进行变异操作时,首先找到其
所有紧前任务最后位置r1和所有紧后任务的最前位置r2,然后随机产生一个
正整数r(r1<r≤r2),将该任务插入位置r上。每艘卫星的首任务的紧前任务
认为是其自身,而末任务的紧后任务也认为是其自身。这种插入变异方式也
不会改变任务的时序约束和各艘卫星的优先级。

第二步获得调度方案以及资源信息

根据第一步的遗传算法得到项目的调度方案,即各卫星所有任务的开始时
间与结束时间。首先,根据测试时序约束和航天器的优先级进行染色体的编码,
此时就将任务调度问题转化为了遗传算法可以处理的形式;经过遗传算法的遗
传算子等的操作和足够的迭代次数便会产生一个最优的染色体;最后通过解码
将该染色体解码为调度方案,此时就将遗传算法的求解结果还原成了调度问题
的解,这个解就被称为项目的调度方案,需要在测试开始后不断地进行调整以
保持可行性。

根据得到的调度方案,计算各资源的使用情况,作为调整资源的一个依据。
第三步根据资源信息调整资源量

资源量的调整量由上层决策求解,主要依据两方面的信息:由下层提供
的当前调度方案的资源使用情况和规则库。

(1)资源信息

下层反馈的资源信息是,在当前调度方案下,每种资源的在各个时刻的
使用率及其平均使用率AverResRatek。这些信息反映了调度方案对资源
的使用情况;

ResRate k t = R k t R k ]]>

AverResRate k = 1 makespan Σ t = 0 makespan - 1 R k t R k ]]>

其中,Rk表示资源k的可用量,表示资源k在时刻t的使用量,makespan
表示总工期。

(2)规则库

规则库的作用是,根据下层反馈的资源信息,对资源进行相应的调整。
根据问题的要求,我们制定了三条规则。

规则1:对任何一种资源若 t [ 0 , makespan ) , ]]>使得 ResRate k t = 1 , ]]>
AverResRatek>ηk,其中ηk为资源k平均利用率的阈值,且则
Rk=Rk+1;

规则2:对任何一种资源若使得 ResRate k t = 1 , ]]>
R k > [ ( 1 - υ k ) R k 0 ] , ]]>则Rk=Rk-1;

规则3:若在任何两次资源调整后,各资源量相同,或者调整达到一定
次数,则决策停止,输出调度方案和资源方案。

第一条规则的作用是对使用频繁的资源进行适量增加,而第二条规则的
作用是减少闲置的资源。在上层决策中,起主要作用的是第一条规则,因为
要减小调度方案的总工期,资源总是趋向于增加。第一条规则可以保证,调
度方案的和资源方案总是向总工期减小和鲁棒性增加的方向演化。第二条规
则主要是对第一条规则进行补充,当资源的增加不起太大作用的时候,就减
少该种资源。第三条规则设置了停止条件。

上层决策根据这些规则调整结束后,将调整后的资源信息返回下层,下
层采用第一步中的遗传算法重新调度。

第四步调整结束

整个设计过程是一个动态地求解过程,通过上下层的不断相互作用优化
结果。围绕保持调度方案的可行性和较短的测试总工期这两个指标,本发明
进一步考虑了资源的均衡性;第一步和第二步给出了基线调度产生方法;第
三步给出了调整资源的具体方式以及上下层的作用方式。通过以上三个步骤
能够使测试工作顺利完成并较好地达到指标要求,设计结束。

本发明一种资源可调整的卫星并行测试资源配置方法,其优点是:本发明
能够有效解决卫星并行测试中资源的数量可能存在的不平衡性,即每种资源的
数量不匹配,从而导致无论如何进行调度,其资源利用率都不高的问题。通过
对资源的少量调整,使各种资源的数量更加匹配,从而明显提高测试总工期和
资源利用率。其优点具体包括:①考虑了卫星并行测试中对于资源匹配的需求;
②生成的调度方案具有较短的测试总工期;③通过少量资源调整即能够有效
地提高资源使用率,减少单一资源的过分损耗。

附图说明

图1本发明的卫星并行测试任务调度方法的基本流程框图;

图2本发明遗传算法流程图;

图3资源调整前后总工期对比示意图(RC=0.1);

图4资源调整前后鲁棒性对比示意图(RC=0.1);

图5资源调整前后总工期对比示意图(RC=0.3);

图6资源调整前后鲁棒性对比示意图(RC=0.3);

图7资源调整前后总工期对比示意图(RC=0.5);

图8资源调整前后鲁棒性对比示意图(RC=0.5);

图9资源调整前后总工期对比示意图(RC=0.7);

图10资源调整前后鲁棒性对比示意图(RC=0.7);

对图中符号说明如下:

图3中横坐标为解序号,纵坐标为总工期,圆圈虚线表示调整前总工期,
方块实线表示调整后总工期;

图4中横坐标为解序号,纵坐标为鲁棒性,圆圈虚线表示调整前鲁棒性,
方块实线表示调整后鲁棒性;

图5中横坐标为解序号,纵坐标为总工期,圆圈虚线表示调整前总工期,
方块实线表示调整后总工期;

图6中横坐标为解序号,纵坐标为鲁棒性,圆圈虚线表示调整前鲁棒性,
方块实线表示调整后鲁棒性;

图7中横坐标为解序号,纵坐标为总工期,圆圈虚线表示调整前总工期,
方块实线表示调整后总工期;

图8中横坐标为解序号,纵坐标为鲁棒性,圆圈虚线表示调整前鲁棒性,
方块实线表示调整后鲁棒性;

图9中横坐标为解序号,纵坐标为总工期,圆圈虚线表示调整前总工期,
方块实线表示调整后总工期;

图10中横坐标为解序号,纵坐标为鲁棒性,圆圈虚线表示调整前鲁棒
性,方块实线表示调整后鲁棒性;

具体实施方式

本发明通过3艘相同卫星的并行测试任务调度问题的简单实例来说明其具
体实施方式。每艘卫星具有8个测试任务,其第0个和第7个任务为虚拟测试
任务,每艘卫星的测试时序约束如图3所示,每艘卫星的测试任务的测试时间、
资源需求及资源总量如表1所示。卫星1的优先级最高,卫星2的优先级次之,
卫星3的优先级最低。


表1

根据以上数据,见图1,本发明一种资源可调整的卫星并行测试资源配置
方法,该方法的具体实施步骤如下:

第一步使用遗传算法求解卫星并行测试任务调度模型。

根据发明内容中第一步提出的遗传算法,实现对多卫星并行测试任务调
度模型的求解。其具体实现步骤如下:

(1)编码方式

编码需要符合测试任务的时序约束和卫星的优先级关系。按照本发明提
出的编码规则,在该实例中染色体可以编码为如下形式:

π=[10,11,12,14,13,15,16,17,20,21,22,24,23,25,26,27,30,31,32,34,33,35,36,37]

其中,染色体的每个基因的第1位表示卫星编号,第2位表示任务编号。

(2)解码方式

按照发明内容第一步(2)中提出的串行解码步骤,确定所有染色体的测试
任务的开始时刻,并计算其测试总工期(卫星3的最后一个虚拟任务的开始
时刻即为测试总工期)。下面给出其具体计算步骤,设某条染色体为:

π=[10,11,12,14,13,15,16,17,20,21,23,22,24,25,26,27,30,31,33,32,35,34,36,37]

首先,令基因10的开始时间S10=0,结束时间f10=0,时间序列L={0};
基因11的紧前任务的最晚结束时刻为基因10的结束时刻L0=0,当
t∈[L0,L0+d11]时满足资源约束,基因11可以执行,S11=0,f11=5,L={0,5};
基因12的紧前任务的最晚结束时刻为基因11的结束时刻L1=5,当
t∈[L1,L1+d12]时满足资源约束,基因12可以执行,S12=5,f12=10,L={0,5,
10};基因14的紧前任务的最晚结束时刻为基因12的结束时刻L2=10,当
t∈[L2,L2+d14]时满足资源约束,基因14可以执行,S14=10,f14=14,L={0,5,
10,14};基因13的紧前任务的最晚结束时刻为基因11的结束时刻L1=5,当
t∈[L1,L1+d13]时满足资源约束,基因13可以执行,S13=5,f13=14,L={0,5,
10,14};基因15的紧前任务的最晚结束时刻为基因13的结束时刻L3=14,
当t∈[L3,L3+d15]时满足资源约束,基因15可以执行,S15=14,f15=22,L={0,
5,10,14,22};基因16的紧前任务的最晚结束时刻为基因15的结束时刻L4=22,
当t∈[L4,L4+d16]时满足资源约束,基因16可以执行,S16=22,f16=29,L={0,
5,10,14,22,29};基因17的紧前任务的最晚结束时刻为基因16的结束时刻
L5=29,当t∈[L5,L5+d17]时满足资源约束,基因17可以执行,S17=29,
f17=29,L={0,5,10,14,22,29};基因20的开始时间S20=0,结束时间f20=0,
L={0,5,10,14,22,29};基因21的紧前任务的最晚结束时刻为基因20的结束
时刻L0=0,当t∈[L0,L0+d21]时满足资源约束,基因21可以执行,S21=0,
f21=5,L={0,5,10,14,22,29};基因23的紧前任务的最晚结束时刻为基因21
的结束时刻L1=5,当t∈[L3,L3+d23]时最早满足资源约束,这时基因23可以
执行,S23=14,f23=23,L={0,5,10,14,22,23,29};基因22的紧前任务的最晚
结束时刻为基因21的结束时刻L1=5,当t∈[L4,L4+d22]时最早满足资源约束,
这时基因22可以执行,S22=22,f22=27,L={0,5,10,14,22,23,27,29};基因24
的紧前任务的最晚结束时刻为基因22的结束时刻L6=27,当t∈[L7,L7+d24]
时最早满足资源约束,这时基因24可以执行,S24=29,f24=33,L={0,5,10,14,
22,23,27,29,33};基因25的紧前任务最晚结束时刻为基因23的结束时刻
L5=23,当t∈[L7,L7+d25]时最早满足资源约束,这时基因25可以执行,
S25=29,f25=37,L={0,5,10,14,22,23,27,29,33,37};基因26的紧前任务最晚
结束时刻为基因25的结束时刻L9=37,当t∈[L9,L9+d26]时满足资源约束,
这时基因26可以执行,S26=37,f26=44,L={0,5,10,14,22,23,27,29,33,37,44};
基因27的紧前任务最晚结束时刻为基因26的结束时刻L10=44,当
t∈[L10,L10+d27]时满足资源约束,这时基因27可以执行,S27=44,f27=44,
L={0,5,10,14,22,23,27,29,33,37,44};同理可计算出其余基因(测试任务)的开
始和结束时间。

(3)种群初始化

按照发明内容第一步(3)中提出的步骤随机产生100条满足测试任务时
序约束和卫星优先级关系的染色体,这里种群的规模设为100。下面给出其
具体计算步骤:

首先,令π=[10],则Dg={11};在Dg中随机选择一个任务11,则
π=[10,11],Dg={12,13};在Dg中随机选择一个任务13,则π=[10,11,13],
Dg={12,15};在Dg中随机选择一个任务12,则π=[10,11,13,12],Dg={14,15};
在Dg中随机选择一个任务14,则π=[10,11,13,12,14],Dg={15};在Dg中随
机选择一个任务15,则π=[10,11,13,12,14,15],Dg={16};在Dg中随机选择
一个任务16,则π=[10,11,13,12,14,15,16],Dg={17};在Dg中随机选择一个
任务17,则π=[10,11,13,12,14,15,16,17],Dg={20};同理可对卫星2和卫星
3的测试任务进行编码,最后得到染色体:

π=[10,11,13,12,14,15,16,17,20,21,22,23,24,25,26,27,30,31,33,32,35,34,36,37,]。

重复上述过程100次,即可得到规模为100的初始种群。

(4)选择算子

根据2-联赛选择机制,每次随机选择两条染色体比较其测试总工期,选
择测试总工期较短的那条染色体,若两条染色体的测试总工期相同则随机选
择其中一条,直到满足种群规模。

(5)交叉算子

设两条交叉的染色体分别为:

πF=[10,11,12,14,13,15,16,17,20,21,22,24,23,25,26,27,30,31,33,35,32,34,36,37]

πG=[10,11,13,12,15,14,16,17,20,21,22,24,23,25,26,27,30,31,32,34,33,35,36,37]

若随机产生的交叉点为2,那么子代染色体πS的前3个基因继承自πF,
其余基因继承自πG并保持顺序不变;子代染色体πD的前3个基因继承自πG,
其余基因继承自πF并保持顺序不变,由此可以得到:

πS=[10,11,12,13,15,14,16,17,20,21,22,24,23,25,26,27,30,31,32,34,33,35,36,37]

πD=[10,11,13,12,14,15,16,17,20,21,22,24,23,25,26,27,30,31,33,35,32,34,36,37]

(6)变异算子

设某条染色体为:

π=[10,11,12,13,14,15,16,17,20,21,22,24,23,25,26,27,30,31,32,34,33,35,36,37]

要对基因15进行变异,那么其所有紧前任务最后位置r1=3,所有紧后任务
的最前位置r2=6。若随机产生正整数r=4,那么将基因15插入到位置4上,
可以得到:

π=[10,11,12,13,15,14,16,17,20,21,22,24,23,25,26,27,30,31,32,34,33,35,36,37]

(7)其它参数

算法的其它参数设置如下:交叉率0.9,变异率0.1,最大运行代数(停
止条件)500,算法流程图如图2所示。

第二步获得基线调度方案

根据表1中的数据以及卫星的优先级关系,按照第一步描述的遗传算法
的各步骤进行计算,得到任务的开始时间集为

ST ij = 0 5 5 10 14 22 0 22 14 29 29 37 14 33 22 44 44 52 ]]>

卫星测试的总工期为59,资源各时刻的最大使用率分别为82%,100%,
70%,100%,平均利用率分别为55%,66%,61%,53%;

第三步根据资源信息调整资源量

设置资源阈值ηk=0.5,k=1,2,3,4,采用发明内容第三步的规则库进行
判断,显然此时资源2和资源4的最大使用率为1,且平均使用率高于阈值。
因此,将资源2和资源4都增加1个单位,资源1和资源3保持不变,重新
使用第一步的遗传算法求解,得到总工期为56,计算资源的最大使用率以
及平均使用率,判断是否需要调整。重复以上过程直至满足停止条件,得到
调整后的四种资源量分别为10,10,12,10,此时得到的调度方案总工期变为
50。即通过对资源的少量调整,有效的减小了测试总工期。

第四步调整结束

为了进一步说明本发明在双目标环境下的效果,选取Demeulemeester
等在《RanGen:面向AoN网络的随机网络生成器》(详见2003年《运筹
学》)提出的项目用例生成器(可预先设置任务数,网络复杂度和资源松紧
度等随机生成实验用例)产生多组实验用例,在保证总工期的基础上考虑调
度方案的鲁棒性,仍采用前三步进行调整。

将以上步骤在VC2008中使用C#编程实现,仿真结果如图3~10所示。

从结果中可以看出,当RC=0.1,0.3,0.5,0.7时,经过资源调整而使资源总
量少量提高后,不但总工期明显减少,而且鲁棒性也有明显的提高,这说明
在卫星并行测试资源配置中,对资源进行调整是必要和有效的。

综上,本发明一种资源可调整的卫星并行测试资源配置方法,针对卫星并
行测试中,资源的数量可能存在的不平衡性,即每种资源的数量不匹配,从而
导致无论如何进行调度,其资源利用率都不高的问题,通过对资源的少量调整,
使各种资源的数量更加匹配,明显提高测试总工期和鲁棒性。

一种资源可调整的卫星并行测试资源配置方法.pdf_第1页
第1页 / 共20页
一种资源可调整的卫星并行测试资源配置方法.pdf_第2页
第2页 / 共20页
一种资源可调整的卫星并行测试资源配置方法.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《一种资源可调整的卫星并行测试资源配置方法.pdf》由会员分享,可在线阅读,更多相关《一种资源可调整的卫星并行测试资源配置方法.pdf(20页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102662756 A(43)申请公布日 2012.09.12CN102662756A*CN102662756A*(21)申请号 201210046714.7(22)申请日 2012.02.27G06F 9/50(2006.01)(71)申请人北京航空航天大学地址 100191 北京市海淀区学院路37号(72)发明人郑征 郭泽 刘一帆 闫金栋林树民 蔡开元(74)专利代理机构北京慧泉知识产权代理有限公司 11232代理人王顺荣 唐爱华(54) 发明名称一种资源可调整的卫星并行测试资源配置方法(57) 摘要一种资源可调整的卫星并行测试资源配置方法,包括以下步骤:步骤1、。

2、使用遗传算法求解卫星并行测试任务调度模型;步骤2、获得调度方案以及资源信息;步骤3、根据资源信息调整资源量;步骤4、调整结束。该方法根据项目的具体需求匹配资源,以达到减小项目工期并提高资源使用率的目的,从而提高调度方案品质。它在航空航天并行测试技术领域里具有良好的应用前景。(51)Int.Cl.权利要求书4页 说明书10页 附图5页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书 4 页 说明书 10 页 附图 5 页1/4页21.一种资源可调整的卫星并行测试资源配置方法,其特征在于:该方法具体步骤如下:第一步使用遗传算法求解卫星并行测试任务调度模型使用遗传算法求解该问题的关。

3、键在于设计编码方式、解码方式、种群初始化、遗传算子即选择算子、交叉算子和变异算子,遗传算法具体设计如下:1)编码方式编码采用基于任务列表的带有优先级的编码方式,它将一个调度方案表示为一个任务序列,假设N艘卫星的优先级是递减的,那么所有卫星的测试任务按如下方式编码:其中,Ai0, 表示卫星i的全部测试任务,i越大则卫星的优先级越小;Ai0和 虚拟任务的位置始终保持不变,其余任务在满足时序约束的前提下能够任意改变位置;可见,这种编码方式是按照卫星的优先级分段编码的,即将优先级高的卫星的测试任务排在前面,只要保证每艘卫星首尾两个虚拟测试任务的编码位置不变,无论在符合时序约束的前提下其它测试任务的位置。

4、如何变化,当从左到右地调度任务时,总能保证优先级高的卫星的测试任务首先被安排执行,这样就保证了卫星的优先级关系不会被打破;这种分级的编码方式除了保证卫星的优先级关系外,还极大的缩小到了搜索空间,因为它限制了每个任务位置变化的范围; 2)解码方式解码是编码的逆过程,它将染色体转化为调度方案,从而计算出目标函数值;根据编码特点,采用串行解码方法,它得到积极的调度方案;所谓积极的调度方案是指,任何测试任务都不可能在不改变其它测试任务开始时刻的前提下更早的开始;将一条染色体解码实际上就是确定各个测试任务的开始时刻,由于每条染色体编码都已满足卫星的优先级关系和测试任务的时序约束,那么解码依据的规则是资源。

5、约束关系;将染色体按照从左到右的顺序,依次确定每个测试任务的最早开始时刻,该最早开始时刻满足:不小于其紧前任务结束时刻;该任务在整个执行阶段满足资源约束;满足条件和的最小时刻;按照上述解码方式,每个测试任务的最早开始时刻,为某个已确定开始时刻的测试任务的结束时刻;设共有J个测试任务,为由J个测试任务编码而成的染色体,g(0gJ)表示其第g个基因,Sg和fg分别表示第g个基因的开始和结束时刻,dg表示第g个基因的测试时间,L为由所有当前已确定开始时刻的测试任务的结束时刻组成的递增时间序列,Li为其第i个元素,串行解码的流程如下:(1)令g1,S00,f00,L0;(2)计算g所有紧前任务最晚结束。

6、时刻tg,并确定tg在L中的位置i;(3)若当tLi,Li+dg时g满足资源约束,则令SgLi,fgSg+dg,LLfg,并对T进行递增排序,转(4),否则令ii+1,转(3);(4)gg+1,若gJ,则转(2),否则转(5);(5)结束; 权 利 要 求 书CN 102662756 A2/4页33)种群初始化初始种群应该保证充分的多样性,以减小计算陷入局部极小的可能性,初始种群采用随机的方式产生,也能够依据优先规则产生,或者将二者结合以得到更加分散的个体;无论哪种产生方式,都必须保证卫星优先级关系和测试任务时序约束不被打破;假设共有J个任务A0,A1,AJ-1,则编码可以分为J-1个阶段,每。

7、个阶段g对应一个未完成编码的染色体和一个可行任务集合Dg,Dg包含在当前阶段所有未被安排且其所有紧前任务已包含在中的任务;当一艘卫星的测试任务编码完毕后,其末任务看作是下一艘应被编码的卫星的首任务的紧前任务,这样就能将各卫星按优先级顺序依次编码;在每一阶段,随机或根据一定的优先规则从Dg中选择一个任务,在满足资源约束和其它约束的情况下加入中;编码流程如下:(1)令g0,A0;(2)计算可行活动集合Dg,在Dg中选择即随机或依优先规则选择一个任务Aj,令A0,Aj;(3)gg+1,若gJ-1,则转(2),否则转(4);(4)结束;另外,虽然较大的种群规模能增加种群的多样性,但是过大的种群规模可能。

8、使较优个体过早占据种群从而造成过早收敛,而且会增加计算负担,因此,种群规模应该适中;4)选择算子选择算子采用2-联赛选择机制,即每次随机选择两条染色体选取其中测试 总工期较短的一条,直到满足种群规模;5)交叉算子交叉算子采用一点交叉方式;设两条交叉的染色体分别为:首先,随机产生一个正整数r(0rM)作为交叉点,交叉产生的子代染色体D的前r+1个基因继承自F,后M-r-1个基因继承自G并保持在G中的相对顺序不变,即其中,另一个子代染色体S的产生方式与此相似,即其中,这种交叉方式不会改变时序约束和各艘卫星的优先级;6)变异算子变异算子采用插入变异方式,对某个任务进行变异操作时,首先找到其所有紧前任。

9、务最后位置r1和所有紧后任务的最前位置r2,然后随机产生一个正整数r(r1rr2),将该任务插入位置r上;每艘卫星的首任务的紧前任务认为是其自身,而末任务的紧后任务也认为是其自身;这种插入变异方式也不会改变任务的时序约束和各艘卫星的优先级;第二步获得调度方案以及资源信息权 利 要 求 书CN 102662756 A3/4页4根据第一步的遗传算法得到项目的调度方案,即各卫星所有任务的开始时 间与结束时间;首先,根据测试时序约束和航天器的优先级进行染色体的编码,此时就将任务调度问题转化为了遗传算法能处理的形式;经过遗传算法的遗传算子即选择算子、交叉算子和变异算子的操作和足够的迭代次数便会产生一个最。

10、优的染色体;最后通过解码将该染色体解码为调度方案,此时就将遗传算法的求解结果还原成了调度问题的解,这个解就被称为项目的调度方案,需要在测试开始后不断地进行调整以保持可行性;根据得到的调度方案,计算各资源的使用情况,作为调整资源的一个依据;第三步根据资源信息调整资源量资源量的调整量由上层决策求解,依据两方面的信息:由下层提供的当前调度方案的资源使用情况和规则库;(1)资源信息下层反馈的资源信息是,在当前调度方案下,每种资源的在各个时刻的使用率 及其平均使用率AverResRatek,这些信息反映了调度方案对资源的使用情况;其中,Rk表示资源k的可用量, 表示资源k在时刻t的使用量,makespa。

11、n表示总工期;(2)规则库规则库的作用是,根据下层反馈的资源信息,对资源进行相应的调整;根据问题的要求,制定了三条规则: 规则1:对任何一种资源 若 使得 且AverResRatekk,其中k为资源k平均利用率的阈值,且 则RkRk+1;规则2:对任何一种资源 若 使得 且 则RkRk-1;规则3:若在任何两次资源调整后,各资源量相同,或者调整达到一定次数,则决策停止,输出调度方案和资源方案;第一条规则的作用是对使用频繁的资源进行适量增加,而第二条规则的作用是减少闲置的资源;在上层决策中,起主要作用的是第一条规则,因为要减小调度方案的总工期,资源总是趋向于增加;第一条规则保证调度方案和资源方案。

12、总是向总工期减小和鲁棒性增加的方向演化;第二条规则是对第一条规则进行补充,当资源的增加不起太大作用的时候,就减少该种资源;第三条规则设置了停止条件;上层决策根据这些规则调整结束后,将调整后的资源信息返回下层,下层采用第一步中的遗传算法重新调度;第四步调整结束整个设计过程是一个动态地求解过程,通过上下层的不断相互作用优化结果;围绕保权 利 要 求 书CN 102662756 A4/4页5持调度方案的可行性和较短的测试总工期这两个指标,进一步考虑了资源的均衡性;第一步和第二步给出了基线调度产生方法;第三步给出了调整资源的具体方式以及上下层的作用方式,通过以上三个步骤能够使测试工作顺利完成并较好地达。

13、到指标要求,设计结束。 权 利 要 求 书CN 102662756 A1/10页6一种资源可调整的卫星并行测试资源配置方法技术领域0001 本发明涉及一种资源可调整的卫星并行测试资源配置方法,特别是涉及一种在不确定环境下的资源可调整的卫星并行测试资源配置方法。本发明属于航空航天并行测试技术领域。背景技术0002 近年来,我国航天技术发展迅猛,航天技术开始从国防军事领域迅速向民用航天领域扩展,我国拥有的卫星数目急剧增多,卫星的研制和生产开始步入批量化阶段。而传统的卫星测试采用的是串行测试方式测试效率低,资源利用率低,测试成本高,这种测试方式已不能适应卫星批量化生产的要求。在这种情况下,迫切需要改。

14、变现有的卫星测试模式,实现卫星的并行测试,以提高测试效率和资源利用率,同时降低测试成本。0003 在卫星并行测试资源配置中,调度方案的确定不仅依赖调度模型及其求解方法,而且依赖测试资源的数量之间的关系。在给定资源数量的前提下进行调度,实际上暗含假定,给定的各种资源的数量是匹配的。在资源量匹配的前提下,可以得到总工期较短而各资源的使用率较高的调度方案。而事实上,在调度方案制定之前,很难做到使各种资源的数量匹配,因为资源量的确定往往具有随意性。显然,测试资源和调度方案形成了一个相互影响,相互依赖的关系:调度方案的生成依赖测试资源,而测试资源的匹配也需要调度方案执行的信息。这说明,将测试资源的确定和。

15、调度方案的生成进行联合考虑,才会得到更优的结果。0004 资源可调整的卫星并行测试资源配置问题是卫星并行测试资源配置问题的扩展,它使资源的数量也变成了决策变量,从而也更加复杂。资源可调整的卫星并行测试资源配置问题可以描述为:代表L个并行测试的卫星集合,如果i1i2,则的优先级高于卫星的优先级,即当卫星i1和卫星i2竞争资源时,卫星i1具有优先使用资源的权利而禁止抢断。卫星由具有时序关系的测试活动组成,其中测试活动1和Ni是虚拟测试活动,分别用来表示卫星i测试的开始和结束。虚拟测试活动的不需要测试资源,并且其工期为零,其它测试活动的工期具有不确定性。所有卫星测试共享K种可更新资源测试资源的可用量。

16、可在的范围内进行调整,其中是资源k的初始给定量。测试活动间是开始-结束型关系。测试活动具有两种约束:0005 时序约束,任何一个测试活动只有当其所有紧前活动集合里的活动执行完才可以开始;0006 资源约束,卫星i的每个测试活动在其工期dij内对第k种资源的需求量为rijk,资源一旦被释放可以立即被其它测试活动使用。0007 资源可调整的卫星并行测试资源配置问题比单纯的卫星并行测试资源配置问说 明 书CN 102662756 A2/10页7题多了一层决策,它不但要求确定调度方案,而且还要确定匹配的资源量。资源量的确定和调度方案的确定是相互影响的,首先调度方案需要在测试资源分配的前提下产生,而产生。

17、的调度方案可以反馈测试资源的使用信息,从而作为资源调整的依据。显然,这是一种带有主从性质的两层决策:资源的调整作为上层决策行为,而调度方案的产生可以作为下层决策行为。其目标是,确定每种资源的数量,同时生成满足指标的调度方案,以确定每个测试活动的开始时间和结束时间0008 此外测试资源是一种稀缺资源,有些测试资源非常昂贵,不可能大量增加,它的调整幅度也就不可能太大,而只能进行微量调整。因此,在卫星并行测试中,要求测试资源在现有数量的基础上进行少量调整,以使各种资源的数量更加匹配,从而明显提高测试总工期和资源利用率。本发明首先提出这种通过少量增加资源提升调度方案质量的方法。0009 对卫星并行测试。

18、进行资源配置,无论是通过静态调度还是动态调度,都是在资源给定的情况下进行的,也就是在调度时每种资源的数量已经确定了。但是,在卫星并行测试中,资源的数量可能存在不平衡性,即每种资源的数量不匹配,从而导致无论如何进行调度,其资源利用率都不高。这就提出了资源量的匹配问题。为解决该问题并克服传统并行测试任务调度方法的局限性,针对卫星并行测试任务调度的特点,本发明提出一种资源可调整的卫星并行测试资源配置方法。发明内容0010 本发明一种资源可调整的卫星并行测试资源配置方法,其目的是:针对卫星并行测试中,资源的数量可能存在的不平衡性,即每种资源的数量不匹配,从而导致无论如何进行调度,其资源利用率都不高的问。

19、题,提出一种资源可调整的卫星并行测试资源配置方法调整资源配置方案。通过对资源的少量调整,使各种资源的数量更加匹配,从而明显提高测试总工期和资源利用率。0011 本发明一种资源可调整的卫星并行测试资源配置方法,其设计思想是:下层根据初始资源方案得到调度方案并求取资源使用率;上层根据各资源的使用率调整资源可用量并反馈回下层,下层据此重新调度;重复此过程直至满足停止条件。基于上面的思想,下面具体介绍本发明的技术方案。0012 本发明一种资源可调整的卫星并行测试资源配置方法,该方法具体步骤如下:0013 第一步使用遗传算法求解卫星并行测试任务调度模型。0014 使用遗传算法求解该问题的关键在于设计编码。

20、方式、解码方式、种群初始化、遗传算子(选择算子、交叉算子和变异算子)等,遗传算法的基本流程如图2所示,具体设计如下:0015 1、编码方式0016 编码采用基于任务列表的带有优先级的编码方式,它将一个调度方案表示为一个任务序列。假设N艘卫星的优先级是递减的,那么所有卫星的测试任务可以按如下方式编码:0017 说 明 书CN 102662756 A3/10页80018 其中,Ai0,表示卫星i的全部测试任务,i越大则卫星的优先级越小。Ai0和(虚拟任务)的位置始终保持不变,其余任务在满足时序约束的前提下可以任意改变位置。0019 可见,这种编码方式是按照卫星的优先级分段编码的,即将优先级高的卫星。

21、的测试任务排在前面。只要保证每艘卫星首尾两个虚拟测试任务的编码位置不变,无论其他测试任务的位置如何变化(在符合时序约束的前提下),当从左到右地调度任务时,总能保证优先级高的卫星的测试任务首先被安排执行,这样就保证了卫星的优先级关系不会被打破。这种分级的编码方式除了可以保证卫星的优先级关系外,还极大的缩小到了搜索空间,因为它限制了每个任务位置变化的范围。0020 2、解码方式0021 解码是编码的逆过程,它将染色体转化为调度方案,从而计算出目标函数值。根据编码特点,本发明采用串行解码方法,它可以得到积极的调度方案。所谓积极的调度方案是指,任何测试任务都不可能在不改变其它测试任务开始时刻的前提下更。

22、早的开始。0022 将一条染色体解码实际上就是确定各个测试任务的开始时刻。由于每条染色体编码都已满足卫星的优先级关系和测试任务的时序约束,那么解码依据的规则主要是资源约束关系。将染色体按照从左到右的顺序,依次确定每个测试任务的最早开始时刻,该最早开始时刻满足:不小于其紧前任务结束时刻;该任务在整个执行阶段满足资源约束;满足条件和的最小时刻。按照上述解码方式,每个测试任务的最早开始时刻,为某个已确定开始时刻的测试任务的结束时刻。0023 设共有J个测试任务,为由J个测试任务编码而成的染色体,g(0gJ)表示其第g个基因,Sg和fg分别表示第g个基因的开始和结束时刻,dg表示第g个基因的测试时间,。

23、L为由所有当前已确定开始时刻的测试任务的结束时刻组成的递增时间序列,Li为其第i个元素。串行解码的流程如下:0024 (1)令g1,S00,f00,L0;0025 (2)计算g所有紧前任务最晚结束时刻tg,并确定tg在L中的位置i;0026 (3)若当tLi,Li+dg时g满足资源约束,则令SgLi,fgSg+dg,LLfg,并对T进行递增排序,转(4),否则令ii+1,转(3);0027 (4)gg+1,若gJ,则转(2),否则转(5);0028 (5)结束。0029 3、种群初始化0030 初始种群应该保证充分的多样性,以减小计算陷入局部极小的可能性。初始种群可以采用随机的方式产生,也可以。

24、依据优先规则产生,或者将二者结合以得到更加分散的个体。无论哪种产生方式,都必须保证卫星优先级关系和测试任务时序约束不被打破。0031 假设共有J个任务A0,A1,AJ-1,则编码可以分为J-1个阶段,每个阶段g对应一个未完成编码的染色体和一个可行任务集合Dg,Dg包含在当前阶段所有未被安排且其所有紧前任务已包含在中的任务。当一艘卫星的测试任务编码完毕后,其末任务看作是下一艘应被编码的卫星的首任务的紧前任务,这样就能将各卫星按优先级顺序依次编码。在每一阶段,随机或根据一定的优先规则从Dg中选择一个任务,在满足资源约束和其它约束的情况下加入中。编码流程如下:说 明 书CN 102662756 A4。

25、/10页90032 (1)令g0,A0;0033 (2)计算可行活动集合Dg,在Dg中选择(随机或依优先规则)一个任务Aj,令A0,Aj;0034 (3)gg+1,若gJ-1,则转(2),否则转(4);0035 (4)结束。0036 另外,虽然较大的种群规模可以增加种群的多样性,但是过大的种群规模可能使较优个体过早占据种群从而造成过早收敛,而且会增加计算负担。因此,种群规模应该适中。0037 4、选择算子0038 选择算子采用2-联赛选择机制,即每次随机选择两条染色体选取其中测试总工期较短的一条,直到满足种群规模。0039 5、交叉算子0040 交叉算子采用一点交叉方式。设两条交叉的染色体分别。

26、为:0041 0042 0043 首先,随机产生一个正整数r(0rM)作为交叉点,交叉产生的子代染色体D的前r+1个基因继承自F,后M-r-1个基因继承自G并保持在G中的相对顺序不变,即0044 0045 其中,0046 另一个子代染色体S的产生方式与此相似,即0047 0048 其中,0049 这种交叉方式不会改变时序约束和各艘卫星的优先级。0050 6、变异算子0051 变异算子采用插入变异方式。对某个任务进行变异操作时,首先找到其所有紧前任务最后位置r1和所有紧后任务的最前位置r2,然后随机产生一个正整数r(r1rr2),将该任务插入位置r上。每艘卫星的首任务的紧前任务认为是其自身,而末。

27、任务的紧后任务也认为是其自身。这种插入变异方式也不会改变任务的时序约束和各艘卫星的优先级。0052 第二步获得调度方案以及资源信息0053 根据第一步的遗传算法得到项目的调度方案,即各卫星所有任务的开始时间与结束时间。首先,根据测试时序约束和航天器的优先级进行染色体的编码,此时就将任务调度问题转化为了遗传算法可以处理的形式;经过遗传算法的遗传算子等的操作和足够的迭代次数便会产生一个最优的染色体;最后通过解码将该染色体解码为调度方案,此时就将遗传算法的求解结果还原成了调度问题的解,这个解就被称为项目的调度方案,需要在测试开始后不断地进行调整以保持可行性。0054 根据得到的调度方案,计算各资源的。

28、使用情况,作为调整资源的一个依据。第三步根据资源信息调整资源量说 明 书CN 102662756 A5/10页100055 资源量的调整量由上层决策求解,主要依据两方面的信息:由下层提供的当前调度方案的资源使用情况和规则库。0056 (1)资源信息0057 下层反馈的资源信息是,在当前调度方案下,每种资源的在各个时刻的使用率及其平均使用率AverResRatek。这些信息反映了调度方案对资源的使用情况;0058 0059 0060 其中,Rk表示资源k的可用量,表示资源k在时刻t的使用量,makespan表示总工期。0061 (2)规则库0062 规则库的作用是,根据下层反馈的资源信息,对资源。

29、进行相应的调整。根据问题的要求,我们制定了三条规则。0063 规则1:对任何一种资源若使得且AverResRatekk,其中k为资源k平均利用率的阈值,且则RkRk+1;0064 规则2:对任何一种资源若使得且则RkRk-1;0065 规则3:若在任何两次资源调整后,各资源量相同,或者调整达到一定次数,则决策停止,输出调度方案和资源方案。0066 第一条规则的作用是对使用频繁的资源进行适量增加,而第二条规则的作用是减少闲置的资源。在上层决策中,起主要作用的是第一条规则,因为要减小调度方案的总工期,资源总是趋向于增加。第一条规则可以保证,调度方案的和资源方案总是向总工期减小和鲁棒性增加的方向演化。

30、。第二条规则主要是对第一条规则进行补充,当资源的增加不起太大作用的时候,就减少该种资源。第三条规则设置了停止条件。0067 上层决策根据这些规则调整结束后,将调整后的资源信息返回下层,下层采用第一步中的遗传算法重新调度。0068 第四步调整结束0069 整个设计过程是一个动态地求解过程,通过上下层的不断相互作用优化结果。围绕保持调度方案的可行性和较短的测试总工期这两个指标,本发明进一步考虑了资源的均衡性;第一步和第二步给出了基线调度产生方法;第三步给出了调整资源的具体方式以及上下层的作用方式。通过以上三个步骤能够使测试工作顺利完成并较好地达到指标要求,设计结束。0070 本发明一种资源可调整的卫星并行测试资源配置方法,其优点是:本发明能够有效解决卫星并行测试中资源的数量可能存在的不平衡性,即每种资源的数量不匹配,从而导致无论如何进行调度,其资源利用率都不高的问题。通过对资源的少量调整,使各种资源的数量更加匹配,从而明显提高测试总工期和资源利用率。其优点具体包括:考虑了卫星并行测试中对于资源匹配的需求;生成的调度方案具有较短的测试总工期;通过少量说 明 书CN 102662756 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1