1.一种基于双时间指针的实时相控阵雷达波束驻留调度方法,其特征为:
假设在当前调度间隔[t0,tend]内有N个驻留任务T=[T1,T2,...,TN]申请调度,其中,t0为当前调度间隔的起始时刻,tend为当前调度间隔的结束时刻,(t0‑tend)为本调度间隔的时长;驻留任务模型为Ti={rti,sti,li,pi,Δti},其中,rti为期望执行时刻,sti为实际执行时刻,li为时间窗,pi为工作方式优先级,Δti为驻留时长;基于双时间指针的相控阵雷达波束驻留调度方法包括如下步骤:步骤1:在一个调度间隔内,均匀取L个点,记作s1:sL,令j=1;
步骤2:令s=sj,tp1=sj,tp2=sj,k=0,从sj点开始分别向左和向右选择任务调度;对于Ti(i=1,...,N)依次判断是属于sj的左侧任务还是右侧任务,具体来说,若Ti期望执行时刻满足(1)式,则为sj点左侧的任务,否则为sj点右侧的任务,即任务的驻留时间完全或大部分属于哪一侧,则此任务就属于哪一侧;
|rti‑sj|>|rti+△ti‑sj| (1)
步骤3:若左侧任务满足tp1‑△ti
步骤4:在任务请求队列中,假设对于右侧任务满足tp2
然后结合一级综合优先级与时间偏移构建二级综合优先级:
其中,X1i是在X2个任务中对一级综合优先级sw1i从小到大排序的序号,Xsi为X2个任务中将时间偏移 从大到小排序的序号;Xdi,Xpi与Xsi取值范围均为[1,X2];取综合优先级最大的记为步骤6:更新时间指针tp1=tp1‑△tl,△tl为 的驻留时间,tp2=tp2+△tr,△tr为的驻留时间;
步骤7:若tp1≤t0,则本次SI左边分析结束,否则将 放入Sche(j)队列,并把 从任务请求队列中删除, 的实际执行时刻为tp1,k=k+1;若tp2+△tr>tend,则本次SI右边分析结束,否则将 放入Sche(j)队列,并把 从任务请求队列中删除, 的实际执行时刻为tp2‑△tr,k=k+1;
步骤8:若两侧分析都结束,则执行步骤10,否则执行下一步骤;
步骤9:若k=N,本调度间隔以s(j)处作为分离点的分析结束,执行下一步骤,否则跳到步骤3;
步骤10:将s=s(j)时的调度序列Sche(j)存起来,选择Sche(j)作为最终调度序列的代价Cos(j)采用(6)式计算,其中任务i的代价Cos(i,j)由(7)式计算,j=j+1;
Cdp是任务丢失的惩罚因子,d描述了优先级对于任务丢失的代价的影响;
步骤11:若j>L,则当前调度间隔的s设置在使Cos(j)最小的位置smin,其对应的调度序列为最佳调度序列,本次调度间隔分析结束;否则,跳到步骤2。