基于人工蜂群的软硬件划分方法

文档序号:6582687阅读:153来源:国知局
专利名称:基于人工蜂群的软硬件划分方法
技术领域
本发明涉及一种软硬件划分的方法。特别是涉及一种针对一个嵌入式系统实现复杂任务的基于人工蜂群的软硬件划分方法。
背景技术
1、蜂群算法简介蜂群算法(ABC algorithm)是建立在蜜蜂和蜜蜂群体群居行为的模型上。蜂群主要的行为包括搜索食物源、为食物源招募跟随蜂和放弃食物源。蜜蜂具有很强的群体适应能力,群体中的个体通过气味、舞蹈等信息交互的方式进行个体和群体的协同,进而完成比较复杂的任务,如:觅食、繁衍后代等。蜂群算法中的蜂群包含引领蜂(employed bees)、跟随蜂(onlookers)和侦察蜂(scouts)。在每一次循环中,引领蜂和侦察蜂的数目相同,当找到较好的食物源后,这个食物源处留一只蜜蜂,其他的侦察蜂重新侦查新的食物源。引领蜂和跟随蜂负责食物的开采,侦察蜂负责执行对食物源的寻找工作,通过三种蜂的协调完成蜂群对食物源的探索和开采,具有较快的收敛速度,能够达到较好的平衡,寻找到最佳的食物源。蜜蜂采蜜的过程相当于寻找最优解的过程,最终的最优解对应的编码信息即为系统任务划分的最佳方案。2、软硬件划分原理假设待划分系统由N个结点构成,每个结点既可以用软件实现(用O表示),也可以用硬件实现(用I表示),这样N个结点的软硬件划分构成了一个N维空间,将每一种划分方案看作一个食物源位置等信息。根 据此映射关系,将蜂群算法中的所有的食物源映射到N维空间中,我们要从所有的食物源中找到最优的食物源,而每一个食物源位置等信息可以被看作一个N维的编码信息,与编码信息对应的方案即为实现任务的软硬件划分的方案。我们将一个系统的任务分为若干个子任务来执行,这些任务可以由硬件(用I表示)和软件(用O表示)的结合来完成,这些任务的执行顺序对应的编码可以看做一组有序的二进制数。抽象为数学中的一个可行解。显然,从数学角度来讲,结点数越多,其对应的不同的任务软硬件划分方案越多,并且其数目成指数增长。对于一个由N个结点组成的DAG图,我们将第i个结点任务用硬件执行,其它结点任务用软件执行所对应的序列看作
^:=((10,0,...,2.,---0,0,0)(/:= 1,2,..\)由 ,..=(0,0Α..U.” 0,0)(/-1,2 \)组
成了集合Keys,其数学表达式如式1.1所示:Keys: = { ξ J (1: = I, 2,..., N) 1.1由Keys生成的解空间用spanKeys来表示,spanKeys的数学表达式如式1.2所示:
权利要求
1.一种基于人工蜂群的软硬件划分方法,其特征在于,包括如下步骤: 1)将蜂群算法映射到软硬件划分中,完成初始化,使用蜂群的一半进行食物源的侦察; 2)将侦察到的食物源进行评估,评估侦察到食物源的适应度大小和是否满足系统本身的约束条件,即计算在软硬件划分中,该方案的硬件占用面积和时间开销,是否满足系统的要求; 3)确定食物源的搜索邻域,然后根据邻域搜索方法对步骤2)中侦察到的每一个食物源进行邻域搜索,即招募跟随蜂对这些食物源进行开采,邻域搜索方法是通过随机改变当前食物源的位置来实现对邻域食物源的寻找,即为招募跟随蜂对食物源进行开采,记录开采过程中最优食物源的位置,并计算最优食物源的适应度,对应于软硬件划分中通过随机改变软硬件划分所对应的编码信息的若干位,编码为O (I)的改变为I (0),根据评估内容,选择改变前后最佳的软硬件划分方案; 4)计算每一只跟随蜂进行邻域搜索后得到的适应度高的食物源的收益度占所有食物源适应度总和的比重,然后根据该比重采用步骤3)中邻域搜索的方法再派遣跟随蜂进行新的邻域搜索,比重越大招募的跟随蜂就越多,即按比重招募跟随蜂对这些食物源进行开米; 5)将步骤4)每只跟随蜂邻域搜索到的食物源进行评估,选择每只跟随蜂适应度最高的食物源作为当前食物源;将选出的所有当前食物源进行评估,找到全局适应度最高的食物源,即当前最佳的软硬件划分方案; 6)将剩余的蜜蜂进行新的食物源搜索和开采,同时,如果觅食过程中连续不能更新的最大搜索次数大于限制条件时,初始化该食物源,转到步骤2)直到循环次数大于系统要求的最大循环次数为止。
2.根据权利要求1所述的基于人工蜂群的软硬件划分方法,其特征在于,步骤I)中蜂群算法的初始时刻,首先将一半的蜜蜂作为侦察蜂侦查食物源,将侦查到的食物源对应的N位编码信息的每一位进行O或I等概率随机选择,其中N是大于O的整数。
3.根据权利要求1所述的基于人工蜂群的软硬件划分方法,其特征在于,步骤2)中所述的评估是在侦察蜂侦察到的所有食物源中,找出适应度最大的食物源,具体是将侦察到的食物源对应的编码信息进行评估,评估内容包括硬件占用面积,时间开销因素,以减少硬件占用面积、降低时间开销为目标进行加权得到评估结果,找出当前最佳的软硬件划分方案,即适应度最大的食物源。
4.根据权利要求1所述的基于人工蜂群的软硬件划分方法,其特征在于,在步骤4)搜索的过程中,如果邻域搜索到的食物源的适应度没有提高,则搜索次数加一,记录下所有食物源在邻域搜索时适应度不能提高的最大连续搜索次数,如果邻域搜索的食物源适应度得到提高,则该计数清零。
5.根据权利要求1所述的基于人工蜂群的软硬件划分方法,其特征在于,在步骤5)中当邻域搜索到的食物源的适应度大于当前食物源的适应度时,将邻域的食物源的编码信息赋给当前食物源,作为当前食物源的编码信息,然后进行新的邻域搜索,同时将对该食物源搜索中适应度不能提高的计数次数清零;如果邻域搜索到的食物源的适应度没有提高,则搜索计数次数加一;记录下所有食物源在邻域搜索时适应度不能提高的最大连续搜索次数;对应于软硬件划分中更新编码后,将编码方案进行评估,如果编码方案优于更新前的编码方案,则将更新后的软硬件划分方案作为当前最优的划分方案,反之,保留当前食物源,进行新的划分方案的寻找;最后,将所有蜜蜂侦察到的各自的最优食物源的适应度进行对t匕,找出蜂群觅食的最佳食物源,该最佳食物源对应的编码信息映射到软硬件划分中,即为最佳的软硬件划分方案。
6.根据权利要求1所述的基于人工蜂群的软硬件划分方法,其特征在于,步骤6)在对每一个食物源进行搜索的过程中,最终在全局最优的食物源处保留一只引领蜂,即记录下此时系统最优的软硬件划分方案,其它的蜜蜂变为侦察蜂或跟随蜂,从新进行食物源的搜索和开采,即进行新的软硬件划分方案的寻找;同时,将每一个食物源连续无效更新的次数进行排序,如果最大次数大于最大限制次数,则对该食物源初始化,然后转到步骤2),直到循环次数大于系统要求的最大循环次数为止;循环结束时找到的最佳食物源即为最佳的软硬件划分 方案。
全文摘要
一种基于人工蜂群的软硬件划分方法,包括将蜂群算法映射到软硬件划分中,并进行食物源的侦察;将侦察到的食物源进行评估;确定食物源的搜索邻域,并进行邻域搜索;计算每一只跟随蜂得到的适应度高的食物源的收益度占所有食物源适应度总和的比重,再按比重对食物源进行开采;选择每只蜂适应度最高的食物源作为当前食物源进行评估,找到当前最佳的软硬件划分方案;将剩余的蜜蜂进行新的食物源搜索和开采,如果觅食过程中连续不能更新的最大搜索次数大于限制条件时,初始化该食物源,再评估和搜索邻域,直到循环次数大于系统要求的最大循环次数为止。本发明可以有效解决目前已有软硬件划分算法存在的搜索能力差、收敛速度慢等问题,更高效的完成软硬件划分任务。
文档编号G06F19/00GK103116693SQ201310012918
公开日2013年5月22日 申请日期2013年1月14日 优先权日2013年1月14日
发明者张涛, 全浩军, 韩宏业, 蔡晓, 王赞 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1