一种嵌套式的动态环境变化检测方法

文档序号:9631841阅读:548来源:国知局
一种嵌套式的动态环境变化检测方法
【技术领域】
[0001] 本发明涉及一种动态环境变化检测方法。特别是涉及一种嵌套式的动态环境变化 检测方法。
【背景技术】
[0002] 动态软硬件划分问题是指在解决软硬件划分问题时,系统所面对的待划分的任务 集是不确定的,优化算法必须检测任务集的结构才能确定采用什么策略进行划分以适应最 新的环境。在动态环境中,非常注重划分算法的实时性,要求划分算法有处理动态软硬件划 分的能力。因此,划分算法需要针对动态环境的特性,设计自适应算法,以满足实际系统对 性能及可靠性的要求。
[0003] 动态软硬件划分的数学模型:软硬件划分问题的模型通常用一个任务流图(Task Graph)来描述,整个任务流图是一个有向无环图(DAG图),可以用一个二元组表示:G= (V,E)。其中V= {V。,Vi,…,VJ是整个系统中任务单元的集合,Vi表示第i个任务节点,E ={(H)lueV}表示两个任务节点之间的数据依赖关系或流程控制,ei= (VJ,) 表示第i个节点和第j个节点之间的数据依赖关系或流程控制。t称为V,的前驱节点,V, 称为t的后继节点,两者产生了单向的依存关系。图1为一个DAG图表示的软硬件划分系 统模型图。
[0004] 每个节点详细的属性特征描述:
[0005] 队={Tsw,Thw,Asw,AhwCsw,Chw,Psw,Phw,Ssw,Shw,…,X⑴}
[0006] 其中,Tsw和Thw分别表示任务节点用软件和硬件实现的任务执行时间,Asw和Ahw分 别表示任务节点用软件和硬件实现时所需的硬件面积,Csw和Chw分别表示任务节点用软件 和硬件实现时的成本,Psw和Phw分别表示任务节点用软件和硬件实现时的功耗,Ssw和Shw分 别表示任务节点用软件和硬件实现时的存储开销。x(i)表示该节点所选定的映射模式,表 示任务所选择的软硬件实现方式。边集E是任务调度需要考虑的范畴,为了简化系统描述 和增强对划分问题的针对性,在划分问题中不引入任务调度带来的对实际总执行时间的增 益。因此对调度参数E的取值考虑为理想情况下的0。根据上述对系统任务属性的定义,将 软硬件划分问题的适应度函数与约束函数定义为:
[0007]
[0008] 在动态软硬件划分问题中,可以描述为如下数学模型。
[0009]
[0010] 处理动态软硬件划分的优化问题,首先对环境变化的准确探测是非常关键的一 步,这是进化算法及时对环境变化做出相关反应的必要前提。检测方法的好坏会直接影响 到划分算法整体的时间效率和系统可靠性。然而,在现有的大多数科学研究中,基本上都 是预先假设算法己经知道环境的变化情况,比如环境变化的准确时间点和任务集变化的情 况,但实际情况并非如此。例如,在动态调度的问题中,调度任务随时都有可能发生变化。那 么,问题就来了。如何对外部环境进行有效、准确地探测是动态进化计算研究的首要任务。
[0011] 进化算法作为一种盲优化算法,即没有直接使用目标函数的变量和计算公式对寻 优过程进行引导,而是将目标函数视为黑盒,通过对目标函数输入和输出的迭代性测试来 寻找最优解。由于目标函数的计算过程对于盲优化算法来说是不可见的,因此这种优化称 为盲优化。通常情况下,进化算法是不能感知外界环境的变化,需要借助一些外在的辅助方 法,帮助进化算法检测环境的变化,这种检测是非常重要的。如果检测算法复杂度高,实现 起来困难,会占用宝贵的计算资源,不利于任务的划分;如果检测算法准确率低,常常出现 对环境变化的误判,这会严重影响到系统的可靠性。如果检测算法的反应速度很慢,实际环 境变化后很长时间后才能被检测出来,这会浪费一部分计算资源在无用功上,也会使系统 可靠性降低。因此,好的检测方法能快速检测到环境的变化,为划分算法腾出更多的时间和 准备进行任务的划分,提高划分的效率能准确地预测到环境的变化,提高系统的可靠性,避 免耗费宝贵的计算资源。最后,好的检测算法实现起来的复杂度要低,耗费的计算资源少。
[0012] 常用的动态环境检测方法有:
[0013] 1、采样评估法。
[0014] 在可行域的搜索空间中随机采样几个点,记录这些采样点并进行适应度评估,如 果其中只要有一个个体的适应度值发生了变化,那么就认为环境发生了变化。这种方法的 性能依赖于采样点的数量。如果采样点过多,采样和评估都可能会占用宝贵的计算资源。如 果采样点过少,采样点所在的解空间并没有发生变化,则也无法检测出环境的变化,影响算 法的判断的准确率。
[0015] 2、最优评估法。
[0016] 在下一代进化发生之前,把目前最好的个体最优解进行重新评价,如果适应度值 在此刻发生了改变,那么就认为环境发生了变化。这种方法能检测最优解位置发生改变的 动态环境取得较好的检测效果,但是对最优解位置没有发生变化的环境变化是无效的。在 大多数情况下,环境的变化会带来最优解位置的改变。但是,在有些情况下,单一的最优解 采样点无法准确地判断环境的变化。
[0017] 3、统计评估法。
[0018] 把种群性能的退化(deterioration),或者最好个体平均性能的降低作为环境是 否发生变化的指示器,通常用平均适应度和适应度方差作为种群性能退化的衡量标准。这 种方法是假设环境的变化引起原来解的性能降低作为前提的。一般来说,环境的变化会引 起种群性能的退化,所以它适应于大多数情况。然而,在一些情况下,种群的性能可能会提 高,这种方法就不能适用。
[0019] 总之,如果检测的采样点较多,则势必占用大量有限的、宝贵的计算资源,花在环 境变化的检测上的代价较高,不利于算法对变化的最优解的跟踪。考虑到现实世界中环境 的变化是间隔一段时间才发生的,有的算法则采用了间隔若干代再进行环境检测的方法。
[0020] 然而,这些检测方法都存在片面性,只能针对特殊情况对做出正确反应,不能对大 多数情况适用。对于一个可靠性要求非常高的系统而言,这将引起灾难性后果。

【发明内容】

[0021] 本发明所要解决的技术问题是,提供一种嵌套式的动态环境变化检测方法。
[0022] 本发明所采用的技术方案是:一种嵌套式的动态环境变化检测方法,包括如下步 骤:
[0023] 1)提取和当前划分任务集有关的特征参数,设置环境变化标志位flag= 0,并规 定当环境变化标志位flag为1时,表示环境发生变化;当环境变化标志位flag为0时,表 示环境未发生变化;
[0024] 2)设置采样数目为Μ;
[0025] 3)判断当前环境划分规模η_和之前的环境划分规模η_是否相等;
[0026] 4)在当前环境下评估Μ个采样个体的适应度,判断所述适应度和之前的环境评估 下的适应度是否相同,以此来判断当前环境适应度函数和上一次环境适应度函数f 是否相等;
[0027] 5)依次判断当前环境性能约束组中的每一个分量和之前的环境性能约束组 中的每一个相对应的分量是否相等;
[0028] 6)依次判断当前环境邻接矩阵UP之前的环境邻接矩阵E中的Μ个对应位置 上的值是否相等;
[0029] 7)依次判断当前环境节点属性NodemjP之前的环境节点属性Node中的Μ个对 应位置上的值是否相等;
[0030] 8)结束检测。
[0031] 步骤1)所述的特征参数包括:节点个数η,适应度函数f,邻接矩阵ΕηΧη,性能约束 向量LnX1,节点属性矩阵NodenX2。
[0032] 步骤3)中如果不相等,将环境变化标志位flag置1,表示环境发生变化,转到步骤 8);否则,转到步骤4)。
[0033] 步骤4)中如果Μ个采样个体的适应度和之前环境评估下的适应度不全
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1