当前位置: 首页 > 专利查询>天津大学专利>正文

一种基于融合算法的高效软硬件划分方法技术

技术编号:18710504 阅读:50 留言:0更新日期:2018-08-21 22:37
一种基于融合算法的高效软硬件划分方法:初始化参数;初始化青蛙种群;迭代更新开始,计算当前出现的连续无效迭代次数;判断连续无效迭代次数是否大于设定的最大连续无效迭代阈值;找出当前青蛙种群中的最优解以及最差解,并运行贪婪算法;若当前青蛙种群的最差解的适应度优于最优解的适应度,即通过贪婪算法找到了更优的解;对M个青蛙进行分组;进行组内寻优,使组内最差位置的青蛙向组内最优位置的青蛙跳跃从而获得新的位置;进行全局寻优,使组内最差位置的青蛙向着全局最优位置的青蛙进行跳跃;随机生成一个青蛙位置;所有青蛙重新混洗;输出当前的最优解作为软硬件划分方案。本发明专利技术是一种求解效率更高的融合算法。

An efficient hardware / software partitioning method based on fusion algorithm

An efficient hardware and software partitioning method based on fusion algorithm: initializing parameters; initializing frog population; calculating the number of successive invalid iterations at the beginning of iteration update; determining whether the number of successive invalid iterations is greater than the set maximum successive invalid iteration threshold; finding the optimal solution in the current frog population and If the fitness of the worst solution of the current frog population is better than the fitness of the optimal solution, the greedy algorithm finds a better solution; M frogs are grouped; the group is optimized so that the frogs in the worst position in the group jump to the frogs in the best position in the group to obtain a new position; Global optimization is carried out to make the frogs in the worst position in the group jump to the frogs in the global optimal position; a frog position is randomly generated; all frogs are re-washed; and the current optimal solution is output as the hardware and software partitioning scheme. The invention is a fusion algorithm with higher efficiency.

【技术实现步骤摘要】
一种基于融合算法的高效软硬件划分方法
本专利技术涉及一种软硬件划分方法。特别是涉及一种基于融合算法的高效软硬件划分方法。
技术介绍
1、现有技术的软硬件划分一个处理器的架构由硬件处理单元和软件处理单元共同组成。软硬件划分就是任务集中的子任务分别分配给软件或者硬件来执行。不同的分配方案会达到不同的执行效果,软硬件划分的目标就是找到最佳的软硬件划分方案从而获得最好的性能。软硬件划分问题是一个NP-hard问题,对于N个节点的任务,待划分的任务集可以用DAG图来表示。如图1所示,其中Nodei是第i个任务节点,si,hi和ai分别表示节点i的软件执行时间,硬件执行时间和硬件面积需求,ci,j表示节点i和节点j之间的通信时间,若节点i和节点j之间不存在依赖关系,则ci,j=0。对于N个任务节点的软硬件划分问题,其划分方案(即问题的解)可以表示为一个N维向量X,X=[x1,x2,x3…xN]。其中xi等于0或1,表示任务节点i的实现方式,0表示用软件实现,1表示用硬件实现。以所有任务节点的执行时间以及各节点之间的通信时间之和T(V)作为寻优目标,以硬件面积和Asum作为约束条件,则其数学模型描述如式(1)所示,其中AreaLimit代表其硬件面积约束的大小:min:subjectto:2、原始混洗蛙跳算法在软硬件划分上的应用混洗蛙跳算法(ShuffledFrogLeapAlgorithm,SFLA)是一种群体智能优化算法,算法过程主要模仿青蛙种群的觅食行为。当用SFLA求解软硬件划分问题时,一只青蛙的位置对应着一个解,即一个软硬件划分方案。以软硬件划分问题的目标函数作为解的适应度函数,评价当前解的好坏。混洗蛙跳算法通过对种群中青蛙位置的迭代更新,使得种群中每只青蛙所对应的解的质量不断提升,最终获得一个最优或接近最优的软硬件划分方案。算法主要步骤如下:(1)设置青蛙种群规模M、分组数G、算法终止条件等参数。(2)随机获取数量为M的符合约束条件的解,即初始化种群中所有M个青蛙的位置。(3)迭代更新开始,所有青蛙进行分组。首先将青蛙按照适应度函数值由好到坏进行排序,然后按照顺序将青蛙依次分配到G个组中。(4)对分组后的青蛙进行组内寻优,由组内最差青蛙向组内最优青蛙所在的位置进行一次跳跃,如果跳跃后的位置优于跳跃前,则用新位置代替旧位置,并进入步骤(7),否则,进行下一步。(5)进行全局寻优,组内最差青蛙向整个种群中最优青蛙的位置进行一次跳跃,如果跳跃后的位置优于跳跃前,则用新位置代替旧位置,并进入步骤(7),否则,进行下一步。(6)进行随机生成。随机生成一个新的位置代替组内最差青蛙现在的位置。(7)待各组中的最差青蛙位置依次更新完成后,将青蛙重新混洗,一次迭代完成。(8)判断是否达到算法终止条件,若是,则输出当前种群的最优青蛙位置即为求得的软硬件划分方案,否则回到步骤(3)开始下一轮的迭代更新。3.现有技术的贪婪算法贪婪算法(GreedyAlgorithms,GRA)是一种最简单的启发式算法,在对问题进行求解时,贪婪算法根据收益函数,做出当前状态下的最优选择。贪婪算法具有易实现,效率高等特点,但是贪婪算法所求得的解通常是局部最优解,因此在软硬件划分中不常被采用。原始的混洗蛙跳算法具有较强的全局寻优能力,但是在迭代过程中会出现大量无效迭代,从而使得算法执行时间增长。贪婪算法全局寻优能力不强,但是在算法终止前的每次迭代均能够找到一个更优的解,算法时间较短。
技术实现思路
本专利技术所要解决的技术问题是,提供一种在求解软硬件划分问题时可以在更短的时间内获得与原始混洗蛙跳算法相同质量的解,从而满足动态任务对软硬件划分算法实时性要求的基于融合算法的高效软硬件划分方法。本专利技术所采用的技术方案是:一种基于融合算法的高效软硬件划分方法,包括如下步骤:1)初始化参数,包括初始化青蛙种群规模M,分组数G,硬件面积约束LIM;2)初始化青蛙种群,包括对于由N个任务节点组成的任务集,首先生成M个符合硬件面积约束条件的青蛙位置坐标,即M个解,解的质量对应青蛙位置的适应度,每个解为0、1组成的N维向量;3)迭代更新开始,计算当前出现的连续无效迭代次数;4)判断连续无效迭代次数是否大于设定的最大连续无效迭代阈值,是,则执行步骤5),否则,跳至步骤7);5)找出当前青蛙种群中的最优解SBEST以及最差解SWORST,并运行贪婪算法;6)若当前青蛙种群的最差解SWORST的适应度优于最优解SBEST的适应度,即通过贪婪算法找到了更优的解,则进行步骤7),否则,跳至步骤12);7)对M个青蛙进行分组,得到G组子种群;8)进行组内寻优,使组内最差位置的青蛙向组内最优位置的青蛙跳跃从而获得新的位置;青蛙跳跃后所获得的新的位置如果符合硬件面积约束条件且比原来的位置更优,则组内寻优成功,用新的位置代替原来的位置,并进入步骤11),否则,进入步骤9);9)进行全局寻优,使组内最差位置的青蛙向着全局最优位置的青蛙进行跳跃,从而获得新的位置;青蛙完成跳跃之后获得的新位置如果满足硬件面积约束条件且比原来的位置更优,则全局寻优成功,用新的位置代替原来的位置,并进入步骤11),否则,进入步骤10);10)随机生成一个青蛙位置,即随机生成一个新的满足硬件面积约束条件的位置来代替组内的最差青蛙位置;11)所有青蛙重新混洗,即将分组后的青蛙种群混合并重新按照适应度由好到坏排序,一次迭代更新完成,返回步骤3)开始下一轮迭代;12)算法终止,输出当前的最优解作为软硬件划分方案。步骤3)所述的无效迭代是指:本轮迭代未能够搜索到比上一轮更优的解;所述的连续无效迭代次数是指连续多次迭代中,均未能搜索到质量比上一轮更优的解。步骤5)所述的贪婪算法包括:(1)以青蛙当前种群中的最优解SBEST作为贪婪算法的初始解SORI,即SORI=SBEST;SORI是一个N维向量,sor是向量每一维的值;(2)分别改变初始解SORI的向量每一维的值,获得N个新解,第i个新解为(3)判断所述N个新解是否满足硬件面积约束条件,将满足硬件面积约束条件的新解保留下来,然后计算保留下来的新解的适应度值,将N个新解中适应度最好的解Sbest记录下来;(4)如果所述的解Sbest的适应度好于初始解SORI的适应度,则用Sbest代替SORI,即SORI=Sbest,并回到第(2)步继续迭代;否则,进入第(5)步;(5)用初始解SORI替代当前青蛙种群的最差解SWORST,即SWORST=SORI,贪婪算法结束,进入步骤6)。步骤7)所述的分组包括:计算M个青蛙的适应度,并按照适应度由好到坏对M个青蛙进行排序,根据排序后的顺序将所有的青蛙分成G组,排在第1位的青蛙分到第1组,排在第2位的青蛙分到第2组…排在第G位的青蛙分到第G组,排在G+1位的青蛙重新分到第1组,依此类推。步骤8)所述的组内寻优采用如下公式进行:S'gw=Sgw+Rand×Step×(SgB-Sgw)其中,S'gw表示g组内最差青蛙跳跃后的位置,即搜索到的新的解;Sgw表示g组内最差青蛙跳跃前的初始位置;SgB表示第g组最优青蛙的最优位置;Rand是一个O到1之间的随机数,Step为搜索步长。步骤9)所述的全局寻优采用如下公式:S'gw=Sgw+Ra本文档来自技高网
...

【技术保护点】
1.一种基于融合算法的高效软硬件划分方法,其特征在于,包括如下步骤:1)初始化参数,包括初始化青蛙种群规模M,分组数G,硬件面积约束LIM;2)初始化青蛙种群,包括对于由N个任务节点组成的任务集,首先生成M个符合硬件面积约束条件的青蛙位置坐标,即M个解,解的质量对应青蛙位置的适应度,每个解为0、1组成的N维向量;3)迭代更新开始,计算当前出现的连续无效迭代次数;4)判断连续无效迭代次数是否大于设定的最大连续无效迭代阈值,是,则执行步骤5),否则,跳至步骤7);5)找出当前青蛙种群中的最优解SBEST以及最差解SWORST,并运行贪婪算法;6)若当前青蛙种群的最差解SWORST的适应度优于最优解SBEST的适应度,即通过贪婪算法找到了更优的解,则进行步骤7),否则,跳至步骤12);7)对M个青蛙进行分组,得到G组子种群;8)进行组内寻优,使组内最差位置的青蛙向组内最优位置的青蛙跳跃从而获得新的位置;青蛙跳跃后所获得的新的位置如果符合硬件面积约束条件且比原来的位置更优,则组内寻优成功,用新的位置代替原来的位置,并进入步骤11),否则,进入步骤9);9)进行全局寻优,使组内最差位置的青蛙向着全局最优位置的青蛙进行跳跃,从而获得新的位置;青蛙完成跳跃之后获得的新位置如果满足硬件面积约束条件且比原来的位置更优,则全局寻优成功,用新的位置代替原来的位置,并进入步骤11),否则,进入步骤10);10)随机生成一个青蛙位置,即随机生成一个新的满足硬件面积约束条件的位置来代替组内的最差青蛙位置;11)所有青蛙重新混洗,即将分组后的青蛙种群混合并重新按照适应度由好到坏排序,一次迭代更新完成,返回步骤3)开始下一轮迭代;12)算法终止,输出当前的最优解作为软硬件划分方案。...

【技术特征摘要】
1.一种基于融合算法的高效软硬件划分方法,其特征在于,包括如下步骤:1)初始化参数,包括初始化青蛙种群规模M,分组数G,硬件面积约束LIM;2)初始化青蛙种群,包括对于由N个任务节点组成的任务集,首先生成M个符合硬件面积约束条件的青蛙位置坐标,即M个解,解的质量对应青蛙位置的适应度,每个解为0、1组成的N维向量;3)迭代更新开始,计算当前出现的连续无效迭代次数;4)判断连续无效迭代次数是否大于设定的最大连续无效迭代阈值,是,则执行步骤5),否则,跳至步骤7);5)找出当前青蛙种群中的最优解SBEST以及最差解SWORST,并运行贪婪算法;6)若当前青蛙种群的最差解SWORST的适应度优于最优解SBEST的适应度,即通过贪婪算法找到了更优的解,则进行步骤7),否则,跳至步骤12);7)对M个青蛙进行分组,得到G组子种群;8)进行组内寻优,使组内最差位置的青蛙向组内最优位置的青蛙跳跃从而获得新的位置;青蛙跳跃后所获得的新的位置如果符合硬件面积约束条件且比原来的位置更优,则组内寻优成功,用新的位置代替原来的位置,并进入步骤11),否则,进入步骤9);9)进行全局寻优,使组内最差位置的青蛙向着全局最优位置的青蛙进行跳跃,从而获得新的位置;青蛙完成跳跃之后获得的新位置如果满足硬件面积约束条件且比原来的位置更优,则全局寻优成功,用新的位置代替原来的位置,并进入步骤11),否则,进入步骤10);10)随机生成一个青蛙位置,即随机生成一个新的满足硬件面积约束条件的位置来代替组内的最差青蛙位置;11)所有青蛙重新混洗,即将分组后的青蛙种群混合并重新按照适应度由好到坏排序,一次迭代更新完成,返回步骤3)开始下一轮迭代;12)算法终止,输出当前的最优解作为软硬件划分方案。2.根据权利要求1所述的一种基于融合算法的高效软硬件划分方法,其特征在于,步骤3)所述的无效迭代是指:本轮迭代未能够搜索到比上一轮更优的解;所述的连续无效迭代次数是指连续多次迭代中,均未能搜索到质量比上一轮更优的解。3.根据权利要求1所述的一种基于融合算法的高效软硬件划分...

【专利技术属性】
技术研发人员:张涛赵鑫岳倩宇
申请(专利权)人:天津大学
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1