一种基于贪心模拟退火算法的软硬件划分的方法

文档序号:6439735阅读:333来源:国知局
专利名称:一种基于贪心模拟退火算法的软硬件划分的方法
技术领域
本发明主要涉及到嵌入式系统设计领域,特指一种基于贪心模拟退火算法的软硬件划分的方法。
背景技术
软硬件划分是指在系统设计时确定各个模块的实现方式,以解决系统功能模块的映射问题。软硬件划分是嵌入式系统软硬件协同设计的关键步骤,划分结果直接决定系统设计的优劣。其基本目标是在满足设计约束的条件下,将任务合理地划分到软件或者硬件处理单元上执行,以实现系统目标最优化,具体包括硬件实现面积最小或功能模块运行时间最小等。根据目标体系结构的不同,软硬件划分问题可分为双路划分和多路划分。其中双路划分应用最广泛,也是软硬件划分问题的基础。软硬件划分被证明是一个NP完全问题,随着任务规模的增加,解空间成指数增长。现有的软硬件划分主要是基于启发式算法,包括遗传算法、模拟退火、禁忌搜索、免疫算法等。遗传算法有较强的全局搜索性能,但它的爬山能力弱,在进化后期收敛速度较慢, 在实际应用中容易出现早熟现象;模拟退火算法具有摆脱局部最优解的能力,能抑制遗传算法的早熟现象,但它的进化速度慢,特别是前期的退火效率低,需要较长时间才能趋向于系统最优解;禁忌搜索法通过引入灵活的存储结构和相应禁忌准则来避免迂回搜索,并通过赦免一些被禁忌的优良状态,具有较好的爬山能力,但数据存取操作频繁,影响了搜索速度;免疫算法是基于免疫系统的学习算法,具有良好的系统应答性和自平衡能力,但机理复杂、系统庞大,可以借鉴的研究成果不多,在算法理论基础、建模方法等方面都存在问题。国内外诸多学者也尝试将不同划分算法相结合,比较典型的是遗传和禁忌搜索融合算法、遗传和蚂蚁算法融合算法以及遗传粒子群优化算法等。这些算法在各自的领域都取得了一定的效果,但已有的方法大都结合两种启发式算法用于软硬件划分,难以避免启发式算法所存在的初始化参数难以确定以及初始训练过程漫长等问题。这些问题处理不当可能导致算法运行时间过长,并降低找到近似最优解的可能性。

发明内容
本发明要解决的技术问题就在于针对现有技术存在的技术问题,本发明提供一种能够减少算法运行时间、提高搜索质量、减少计算复杂度的基于贪心模拟退火算法的软硬件划分的方法。为解决上述技术问题,本发明采用以下技术方案—种基于贪心模拟退火算法的软硬件划分的方法,其流程为(1)、将软硬件划分问题规约为0-1背包问题,使用时间复杂度较低的贪心算法对任务集进行初始划分,然后将此划分结果作为模拟退火算法的初始值;(2)、模拟退火算法主要由两层循环构成,内层循环根据扰动模型产生新划分并采用接收准则对其进行判断接收;外层循环根据温度阈值以及连续未接受新划分的次数来
3判断是否退出循环过程。作为本发明的进一步改进所述步骤(1)中对任务集进行初始划分的流程为首先计算每个任务的收益质量比,然后按照非升序进行排序,将其压入队列Q ;接下来进行初始化操作,将任务全部划分到软件上执行;每次循环寻找未划分到硬件任务队列Q中最大收益比任务\到硬件上实现,如果该任务\需要硬件A^的大小小于剩余硬件Kes大小,就把任务\划分到硬件上执行,剩余可用硬件Ares大小为KJi ;否则,任务\不能划分到硬件执行,只能划分到软件上执行;再把任务\从任务队列Q中删除,直到Q为空或硬件资源分配完成为止,最后输出贪心算法的初始划分结果,将该初始划分结果作为模拟退火算法的初始值。所述步骤O)中,内层循环所采用接收准则的执行流程为(2.1.1)以当前划分X为原点,系统时间的增量ΔΤ为横轴,硬件面积的增量 ΔΑ为纵轴,建立系统扰动示意图;用直线1平分第二象限和第四象限,将第二象限分为 Regionl (区域1)和Region2 (区域2),将第四象限分为Region3 (区域3)和Region4 (区域4);(2. 1. 2)在第一象限中的新划分不是理想的解,采用梅特罗波利斯(Metropolis) 准则对其进行接收;对于第四象限中的Region4(区域4)中的划分,采用梅特罗波利斯 (Metropolis)准则对其进行接收;(2. 1. 3)位于第三象限的新划分是较理想的划分,直接接收该解;第二象限中的 Region2中的新划分在增加较少硬件面积的同时降低了较多系统时间,直接接收该区域的解;(2. 1.4)对于第二象限中的Regionl (区域1),采用传统接收准则将直接接收该解;(2. 1. 5)对于第四象限中的Regi0n3(区域3),采用传统接收准则接收该解。所述步骤O)中,外层循环的执行流程为首先采用贪心算法的求解结果对模拟退火进行初始化,然后进行模拟退火操作;对每个温度进行K次循环,每次循环根据扰动模型产生新的软硬件划分,采用改进的模拟退火接收准则对新划分进行判断,决定是否接受新解;如果更新,则连续未接受新的划分次数NuselessW 1,否则,连续未接受新的划分次数Nus&ssS新赋值O ;再降低当前温度值,直循环直至算法满足退出条件,即当前温度Tcot 小于等于阈值Tted或连续未接受新划分的次数Nuseless大于等于M ;最后输出划分结果,算法结束。与现有技术相比,本发明的优点在于本发明首先采用数学规约的方法,将双路软硬件划分问题映射成一个0-1背包问题,然后使用时间复杂度较低的贪心算法对任务集进行初始划分,得到位于全局近似最优解附近的解空间;在此基础上,采用贪心算法的求解结果对模拟退火算法进行初始化,解决了初始化参数难以确定以及初始训练过程漫长等问题。本发明进一步根据解空间的扰动特征通过改进模拟退火算法的接收准则,在选择新解的过程中,对解空间进行引导,增加算法在近似最优解区域的搜索概率,从而在加快算法收敛速度的同时提高了软硬件划分的质量。本发明中的模拟退火算法属于一种启发式算法, 在运行前,采用接近全局最优解的划分对算法进行初始化,这样就可以加快启发式算法的收敛速度,增大其搜索近似最优解的概率。综上所述,本发明通过将贪心算法和模拟退火算法相结合,从运行时间和划分质量两个方面对软硬件划分问题进行综合优化。


图1是本发明的流程示意图;图2是本发明中基于贪心算法的软硬件初始划分的流程示意图;图3是本发明中模拟退火在软硬件划分的系统扰动示意图;图4是本发明中接收准则的流程示意图;图5是本发明中利用模拟退火算法进行软硬件划分的流程示意图。
具体实施例方式以下将结合说明书附图和具体实施例对本发明做进一步详细说明。如图1所示,本发明基于贪心模拟退火算法的软硬件划分的方法,其流程为(1)、将软硬件划分问题规约为0-1背包问题,使用时间复杂度较低的贪心算法对任务集进行初始划分,然后将此划分结果作为模拟退火算法的初始值,使得模拟退火算法在开始搜索时就能够接近全局近似最优解所在区域,减少算法运行时间。(2)、模拟退火算法主要由两层循环构成,内层循环根据扰动模型产生新划分并采用改进接收准则对其进行判断接收;外层循环根据温度阈值以及连续未接受新划分的次数来判断是否退出循环过程。本发明通过采用贪心算法的求解结果对模拟退火算法进行初始化,通过模拟退火算法的接收准则,在全局范围内快速搜索近似最优解。算法通过将贪心算法和模拟退火算法相结合,从运行时间和划分质量两个方面对软硬件划分问题进行了综合优化。由于0-1背包问题是典型的组合优化问题,软硬件划分也是组合优化问题。因此, 本发明在步骤(1)中将软硬件划分问题规约为0-1背包问题,然后采用背包问题的经典方法对其进行求解。软硬件划分问题是给定一个任务集,找到一个最优可行解X= (Xl,X2,…,xn)。其中Xi e {0,1},i = 1,2, -,n,X1 = 1表示任务vi划分到硬件执行,Xi = 0表示划分到软件,Taw表示第i个任务划分到硬件(hw)执行的时间,7广表示第i个任务划分到软件(sw) 上执行的时间。定义硬件执行代价H(X)及软件执行代价S(X)如式(1)和式( 所示
权利要求
1.一种基于贪心模拟退火算法的软硬件划分的方法,其特征在于,流程为(1)、将软硬件划分问题规约为0-1背包问题,使用时间复杂度较低的贪心算法对任务集进行初始划分,然后将此划分结果作为模拟退火算法的初始值;(2)、模拟退火算法主要由两层循环构成,内层循环根据扰动模型产生新划分并采用接收准则对其进行判断接收;外层循环根据温度阈值以及连续未接受新划分的次数来判断是否退出循环过程。
2.根据权利要求1所述的基于贪心模拟退火算法的软硬件划分的方法,其特征在于, 所述步骤(1)中对任务集进行初始划分的流程为首先计算每个任务的收益质量比,然后按照非升序进行排序,将其压入队列Q ;接下来进行初始化操作,将任务全部划分到软件上执行;每次循环寻找未划分到硬件任务队列Q中最大收益比任务、到硬件上实现,如果该任务\需要硬件Ki的大小小于剩余硬件Ares大小,就把任务\划分到硬件上执行,剩余可用硬件Ares大小为KJi ;否则,任务\不能划分到硬件执行,只能划分到软件上执行;再把任务^从任务队列Q中删除,直到Q为空或硬件资源分配完成为止,最后输出贪心算法的初始划分结果,将该初始划分结果作为模拟退火算法的初始值。
3.根据权利要求1所述的基于贪心模拟退火算法的软硬件划分的方法,其特征在于, 所述步骤O)中,内层循环所采用接收准则的执行流程为(2. 1. 1)以当前划分X为原点,系统时间的增量ΔΤ为横轴,硬件面积的增量ΔΑ为纵轴,建立系统扰动示意图;用直线1平分第二象限和第四象限,将第二象限分为Regionl和 Region2,将第四象限分为Region3和Region4 ;(2. 1. 2)在第一象限中的新划分不是理想的解,采用梅特罗波利斯准则对其进行接收; 对于第四象限中的Region4中的划分,采用梅特罗波利斯准则对其进行接收;(2. 1.3)位于第三象限的新划分是较理想的划分,直接接收该解;第二象限中的 Regi0n2中的新划分在增加较少硬件面积的同时降低了较多系统时间,直接接收该区域的解;(2. 1. 4)对于第二象限中的Regionl,采用传统接收准则将直接接收该解;(2. 1. 5)对于第四象限中的Regi0n3,采用传统接收准则接收该解。
4.根据权利要求1所述的基于贪心模拟退火算法的软硬件划分的方法,其特征在于, 所述步骤O)中,外层循环的执行流程为首先采用贪心算法的求解结果对模拟退火进行初始化,然后进行模拟退火操作;对每个温度进行K次循环,每次循环根据扰动模型产生新的软硬件划分,采用改进的模拟退火接收准则对新划分进行判断,决定是否接受新解;如果 Xbest未更新,则连续未接受新的划分次数Nuseless加1,否则,连续未接受新的划分次数Nuseless 重新赋值O ;再降低当前温度值,直循环直至算法满足退出条件,即当前温度Tcot小于等于阈值Tted或连续未接受新划分的次数Nuseless大于等于M ;最后输出划分结果,算法结束。
全文摘要
一种基于贪心模拟退火算法的软硬件划分的方法,其流程为(1)、将软硬件划分问题规约为0-1背包问题,使用时间复杂度较低的贪心算法对任务集进行初始划分,然后将此划分结果作为模拟退火算法的初始值;(2)、模拟退火算法主要由两层循环构成,内层循环根据扰动模型产生新划分并采用接收准则对其进行判断接收;外层循环根据温度阈值以及连续未接受新划分的次数来判断是否退出循环过程。本发明能够减少算法运行时间、提高搜索质量、减少计算复杂度。
文档编号G06F9/50GK102508721SQ20111039100
公开日2012年6月20日 申请日期2011年11月30日 优先权日2011年11月30日
发明者刘彦, 张婷, 徐成, 李蕊, 杨志邦, 王奕, 王辉, 骆伟, 黄兵 申请人:湖南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1