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

一种基于烟花算法的多目标软硬件划分方法技术

技术编号:18764113 阅读:358 留言:0更新日期:2018-08-25 10:38
一种基于烟花算法的多目标软硬件划分方法:随机初始化满足硬件面积约束条件的N个解,且N个解对应于烟花算法中的N个烟花;将N个解放入一个集合P中,根据Pareto优化理论,依次找出集合P中的非支配解,并把依次找出的非支配解的非支配等级依次设置为1、2…;根据拥挤度计算方法,计算同一非支配等级内的非支配解的分散性;对所有获得非支配等级和分散性的非支配解进行排序;根据排序信息计算烟花爆炸生成火花的数目和烟花爆炸幅度;生成所有的爆炸火花;生成所有的高斯火花;将所有的烟花、爆炸火花和高斯火花进行排序,获的前N个烟花或爆炸火花或高斯火花作为下一代的烟花;达到设定的迭代次数。本发明专利技术提高系统的运行速度以及降低系统的功耗。

【技术实现步骤摘要】
一种基于烟花算法的多目标软硬件划分方法
本专利技术涉及一种软硬件划分方法。特别是涉及一种应用于复杂嵌入式系统设计中的基于烟花算法的多目标软硬件划分方法。
技术介绍
1、烟花算法烟花算法是受烟花爆炸现象的启发专利技术的一种新型的群体智能优化算法,主要用于解决数学上复杂度较高的NP-hard问题。烟花算法的主要思想是:在地面上随机放置几个烟花并对它们的质量进行评估,质量好的烟花爆炸发射出较多的火花,并且都围绕在其周围,呈现出壮观的景象;质量差的烟花爆炸发射出的火花数目较少而且比较分散。对应到数学问题就是:先随机生成解决问题的几种方案并对这些方案进行评估。对于适应度较好的解决方案,在其附近生成较多的新的解决方案,分配比较多的资源对其进行邻域搜索,主要用于对解空间进行开采;对于适应度较差的解决方案,在距离其较远的位置生成比较少的新的解决方案,主要用于对解空间进行探测。烟花算法在平衡算法的开采与探测能力,以及跳出局部最优解方面表现出较好的性能。2、Pareto优化理论在多目标优化问题中,多个优化目标往往是相互冲突的,为了得到一组较好的解决方案,意大利经济学家帕累托提出了一种比较多目标解的方法。Pareto优化理论的基本概念如下:多目标优化问题:以最小化问题为例,多目标优化问题可以描述为如下形式:min:f(x)=(f1(x),f2(x),…,fn(x))Tsubjectto:gi(x)≥0,i∈Ihj(x)=0,j∈E其中f(x)为优化目标,gi(x)和hj(x)分别为不等式约束和等式约束。Pareto支配:一个给定的目标向量x=(x1,x2,…,xn)支配另一个目标向量y=(y1,y2,…,yn)(记为),当且仅当f(xi)≤f(yi),并且使得f(xj)<f(yj)。Pareto最优解:如果一个解x*被称为Pareto最优解,当且仅当x*不被其他的解支配。Pareto最优解集:集合XPareto={x|x为Pareto最优解}。Pareto前沿:集合FPareto={f(x)|x为Pareto最优解}。3、软硬件划分一个复杂的嵌入式系统通常会被划分为多个子任务来实现,子任务的实现方式对整个嵌入式系统的性能有较大的影响。在软硬件划分中,假设将一个复杂的嵌入式系统分成N个子任务,每个子任务既可以用软件实现(用0表示)也可以用硬件实现(用1表示)。整个划分方案可以用一组有序的二进制序列来表示,例如10110表示第1,3,4个子任务用软件实现,第2,5个子任务用硬件实现。子任务用软件或硬件实现在运行时间,功耗,占用面积方面表现出不同的性能。为了得到一组在有限的占用面积上运行时间短并且功耗低的软硬件划分方案,本专利技术提出了一种基于烟花算法的多目标软硬件划分方法,以达到同时优化多个目标,在运行时间和功耗方面同时得到较优解的一组解决方案。多目标软硬件划分的数学模型可以表示为:min:T=max{TE(i)|0<i<N}subjectto:其中T,P和A表示系统运行的总时间,功耗和占用面积。所有有依赖关系的子任务组成一条路径,在一条路径上,如果两个节点之间有数据依赖关系并且分别用软件和硬件实现,那么需要计算该节点之间的通信时间,TE(i)表示第i条路径下的运行时间。w(i)∈{0,1}表示子任务的实现方式,其中w(i)=0表示第i个子任务用软件实现,w(i)=1表示第i个子任务用硬件实现。ph(i)和ps(i)分别表示第i个子任务用硬件实现和用软件实现的功耗。ah(i)和as(i)分别表示第i个子任务用硬件实现和用软件实现的面积。现有多目标软硬件划分方法存在的搜索能力差,效率低,求解质量差的问题。
技术实现思路
本专利技术所要解决的技术问题是,提供一种在可接受的时间范围内找到质量好,数量多,差别大的一组软硬件划分方案的基于烟花算法的多目标软硬件划分方法。本专利技术所采用的技术方案是:一种基于烟花算法的多目标软硬件划分方法,包括如下步骤:1)随机初始化N个满足硬件面积约束条件的解,每一个解都是由0和1组成的二进制数,其中,每一个数代表一个节点,二进制数的所有位数构成总节点,且N个解对应于烟花算法中的N个烟花;2)将N个解放入一个集合P中,根据Pareto优化理论,找出集合P中的非支配解,把找出的非支配解的非支配等级设置为1,并将所述的非支配解从集合P移入另一个集合Q中;对集合P中所有剩余的解,根据Pareto优化理论,找出非支配解,并将第二次找出的非支配解的非支配等级设置为2,同样将第二次找出的非支配解从集合P移入集合Q中,以此类推,直至集合P中的元素为0;3)根据拥挤度计算方法,计算同一非支配等级内的非支配解的分散性;4)对所有获得非支配等级和分散性的非支配解进行排序;5)根据排序信息计算烟花爆炸生成火花的数目zi和烟花爆炸幅度Ai,计算公式如下:其中,zmax、zmin、Amax和Amin是预先定义的常数,zmax和zmin分别表示最大爆炸火花数目和最小爆炸火花数目,Amax和Amin分别表示最大爆炸幅度和最小爆炸幅度;i表示排序后烟花的序号;N表示烟花的数目;6)生成爆炸火花,包括:对第i个烟花生成zi个爆炸火花,首先获得爆炸火花的位置x=xi,xi表示第i个烟花,从总节点数中随机选择a个节点,如果节点被选中,当被选中的节点为1的改为0,当被选中的节点为0的改为1,生成一个爆炸火花,其中a个节点的计算公式:a=Ai·rand(0,1),Ai是第i个烟花的爆炸幅度,rand(0,1)是0~1之间的随机数;7)重复步骤6)直至生成所有的爆炸火花;8)生成高斯火花,包括:获得高斯火花的位置x,x从N个烟花中随机选择,对一个节点生成一个高斯分布的随机数,如果该随机数在设定范围内,则当所述节点为1的改为0,当所述节点为0的改为1,生成一个高斯火花;9)重复步骤8)直至生成所有的高斯火花;10)将所有的烟花、爆炸火花和高斯火花按照步骤2)-步骤4)进行排序,排序后获得的前N个烟花或爆炸火花或高斯火花作为下一代的烟花;11)重复步骤2)-步骤8)直至达到设定的迭代次数。步骤3)所述的拥挤度计算方法包括:首先对同一个非支配等级中的非支配解按照一个优化目标进行排序,设定任一个非支配等级共有L个非支配解,第1个和第L个非支配解的拥挤度为无穷大,则第k个解的拥挤度采用如下公式计算:crowd(k)=2×((t(k+1)-t(k-1))+(p(k-1)-p(k+1)))其中crowd(k)表示第k个解的拥挤度,1<k<L,t和p分别表示在目标空间中系统的总执行时间和总功耗。步骤4)所述排序的标准是:对于任意两个解m和n,当第m个解的非支配等级比第n个解的非支配等级低或者第m个解和第n个解在同一个非支配等级中并且第m个解的拥挤度比第n个解的拥挤度大,则第m个解优于第n个解。本专利技术的一种基于烟花算法的多目标软硬件划分方法,将烟花算法应用于多目标软硬件划分问题,对烟花算法的爆炸火花数目和爆炸幅度的计算公式进行调整,可以有效解决已有算法的搜索能力差,效率低,求解质量差的问题,从而高效的完成多目标软硬件划分任务。本专利技术的方法能够在可接受的时间范围内找到质量好,数量多,差别大的一组软硬件划分方本文档来自技高网
...

【技术保护点】
1.一种基于烟花算法的多目标软硬件划分方法,其特征在于,包括如下步骤:1)随机初始化N个满足硬件面积约束条件的解,每一个解都是由0和1组成的二进制数,其中,每一个数代表一个节点,二进制数的所有位数构成总节点,且N个解对应于烟花算法中的N个烟花;2)将N个解放入一个集合P中,根据Pareto优化理论,找出集合P中的非支配解,把找出的非支配解的非支配等级设置为1,并将所述的非支配解从集合P移入另一个集合Q中;对集合P中所有剩余的解,根据Pareto优化理论,找出非支配解,并将第二次找出的非支配解的非支配等级设置为2,同样将第二次找出的非支配解从集合P移入集合Q中,以此类推,直至集合P中的元素为0;3)根据拥挤度计算方法,计算同一非支配等级内的非支配解的分散性;4)对所有获得非支配等级和分散性的非支配解进行排序;5)根据排序信息计算烟花爆炸生成火花的数目zi和烟花爆炸幅度Ai,计算公式如下:

【技术特征摘要】
1.一种基于烟花算法的多目标软硬件划分方法,其特征在于,包括如下步骤:1)随机初始化N个满足硬件面积约束条件的解,每一个解都是由0和1组成的二进制数,其中,每一个数代表一个节点,二进制数的所有位数构成总节点,且N个解对应于烟花算法中的N个烟花;2)将N个解放入一个集合P中,根据Pareto优化理论,找出集合P中的非支配解,把找出的非支配解的非支配等级设置为1,并将所述的非支配解从集合P移入另一个集合Q中;对集合P中所有剩余的解,根据Pareto优化理论,找出非支配解,并将第二次找出的非支配解的非支配等级设置为2,同样将第二次找出的非支配解从集合P移入集合Q中,以此类推,直至集合P中的元素为0;3)根据拥挤度计算方法,计算同一非支配等级内的非支配解的分散性;4)对所有获得非支配等级和分散性的非支配解进行排序;5)根据排序信息计算烟花爆炸生成火花的数目zi和烟花爆炸幅度Ai,计算公式如下:其中,zmax、zmin、Amax和Amin是预先定义的常数,zmax和zmin分别表示最大爆炸火花数目和最小爆炸火花数目,Amax和Amin分别表示最大爆炸幅度和最小爆炸幅度;i表示排序后烟花的序号;N表示烟花的数目;6)生成爆炸火花,包括:对第i个烟花生成zi个爆炸火花,首先获得爆炸火花的位置x=xi,xi表示第i个烟花,从总节点数中随机选择a个节点,如果节点被选中,当被选中的节点为1的改为0,当被选中的节点为0的改为1,生成一个爆炸火花,其中a个节点的计算公式:a=Ai·rand(0,1),Ai是第...

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

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

1