当前位置: 首页 > 专利查询>孙凌宇专利>正文

基于多层次方法和离散粒子群的赋权超图优化划分方法技术

技术编号:11857605 阅读:129 留言:0更新日期:2015-08-12 01:22
本发明专利技术涉及一种基于多层次方法和离散粒子群的赋权超图优化划分方法,其读取赋权超图文件,采用改进压缩的内存存储格式进行存储,然后启动基于多层次方法和离散粒子群的赋权超图划分程序进行划分,将划分结果存储在赋权超图划分文件中。在粗化阶段,采用赋权超图的结点匹配程序将当前水平层粗化赋权超图的某些结点结合在一起,得到下一水平层的粗化赋权超图,重复此过程直到粗化赋权超图足够小为止;在初始划分阶段,运行基于FM方法的赋权超图划分程序,得到最小赋权超图的初始划分;在优化阶段,从最小赋权超图投影回初始赋权超图,在每一水平层的细化赋权超图中,采用离散粒子群搜索程序对细化赋权超图的投影划分进行优化。

【技术实现步骤摘要】
基于多层次方法和离散粒子群的赋权超图优化划分方法
本专利技术涉及一种电路划分和云计算任务调度中基于多层次方法和离散粒子群的赋权超图优化划分方法。
技术介绍
现有技术的划分系统中有若干种结点的划分方法,这些划分方法从依赖关系数目最小、划分后结点子集的结点数目均匀分布等不同的方面来实现,主要有基于迁移的划分方法、水平嵌套划分方法和多层次划分方法等。基于迁移的划分方法。该方法首先产生结点的随机初始划分,同一个结点不能同时属于两个结点子集。在迁移优化阶段,从两个结点子集中各选取一个结点进行成对交换,这两个结点分别属于两个不同的结点子集且收益最大,从而每次都利用交换过程最大限度地改进结点划分质量。记录割切达到最小值时刻的结点划分结果,且一旦交换了所选择的两个结点,在整个迁移过程余下的优化改进中,将这两个结点锁定使得它们不再被选中。重复上述过程直到所有可能的结点都经过迁移之后,回滚到累计收益最大值即割切最小值的时刻。该划分方法得到的结点划分结果不稳定,离散性很大,因此限制了该划分方法所能解决问题的规模。水平嵌套划分方法。该方法首先选择一个结点,将这个结点标上号码0,然后将所有和这个结点相连的结点标上号码1,之后对于那些还未标上号码,但是和已经标上号码的结点相连的结点,将其标号为相连结点的号码加1。直到一半的结点标上号码,标号过程才结束。那些已经标上号码的结点集合设为一个结点子集,其他结点为另一个结点子集。该划分方法只有在选取的初始结点接近外围时,得到的结点划分结果相对较好,总的来说该结点划分结果也不稳定。多层次划分方法。Karypis针对结点规模达到几百万的划分问题,提出了多层次划分的概念,在相对较短的时间内可以得到高质量的划分。该方法包含粗化、初始划分和迁移优化三个阶段。首先,它采用随机匹配策略将某些结点结合在一起,得到下一水平层的粗化图,重复此过程直到粗化图足够小为止,即得到一个最小图。然后,采用划分方法对最小图进行对分,得到一个初始划分。之后,将最小图投影回初始图,在每一水平层的细化划分中,按照贪心原则选择收益值最大的结点进行迁移优化,得到最后的结点划分结果。多层次划分方法在电路划分和云计算任务调度中的应用。自多层次划分的概念提出以来,得到了广泛地重视,并应用在电路划分和云计算任务调度等多个研究领域。2008年中国专利局公告的由冷明、郁松年和孙凌宇申报,中国专利号为200710043765.3号《基于多水平划分法的大规模集成电路划分方法》的专利技术专利,针对现有技术方案中因采用随机策略进行匹配和贪心原则进行迁移优化,导致无法逃离局部最优的划分,提供了一种改进的基于多水平划分法的大规模集成电路划分方法,有效地提高了大规模集成电路划分的效率和性能。该专利技术专利在多水平划分方法的粗化阶段,通过对结点属性进行赋权无向图中所有结点的核值求解排序,按照基于结点核值的非严格降序访问处于未匹配状态的结点,依据一定规则对其进行匹配,从而将连接性好的结点合并在一起;在多水平划分方法的优化阶段,采用免疫克隆优化程序改进贪心原则的局部搜索方法,对在每一水平层投影的划分进行优化,借助克隆操作、克隆变异操作、接种免疫疫苗操作和克隆选择操作,使得改进后的方法在利用启发信息搜索局部最优解的同时,能更自由地对具有潜力的解空间进行搜索,增加全局搜索能力。2012年中国专利局公告的由孙凌宇、冷明和冷子阳申报,中国专利号为201210155738.6号《基于多水平划分法和赋权超图的大规模集成电路划分方法》的专利技术专利,针对采用赋权无向图作为大规模集成电路划分问题的数学模型,存在着赋权无向图最优划分和大规模集成电路最优划分的不一致性,提供了一种基于多水平划分法和赋权无向超图的大规模集成电路划分方法,进一步提高了大规模集成电路划分的效率和性能。该专利技术采用赋权无向超图对电路划分问题进行数学建模,其中电路逻辑单元表示为赋权无向超图中的结点,电路单元间的连线表示为赋权无向超图中的超边。相比赋权无向图而言,赋权无向超图为电路提供了更为精确的模型:每条超边可以连接两个以上的结点,对应于电路单元间的信号可以连接两个以上的电路逻辑单元。该专利技术将大规模集成电路划分问题转换为赋权无向超图划分问题,其中大规模集成电路划分问题要求每个电路子集所包含的电路逻辑单元数目相等,对应于赋权无向超图划分问题的平衡约束条件,划分结果使得这些电路子集之间的内连线数据达到最小,对应于赋权无向超图划分问题的最小化总割切。2014年中国专利局公告的由孙凌宇、冷明和冷子阳申报,中国专利号为201410136320.X号《基于多水平划分法和赋权有向超图的云计算任务调度方法》的专利技术专利,提供了一种基于多水平划分法和赋权有向超图的云计算任务调度方法,进一步提高了任务调度的效率和性能。该专利技术采用赋权有向超图来构造任务划分问题的数学模型,描述任务的资源需求及依赖关系,其中任务表示为赋权有向超图的结点,任务结点间的先后依赖关系表示为赋权有向超图中的有向超边,并生成相应的赋权有向超图文件;然后启动基于多水平划分方法的赋权有向超图划分程序,对生成的赋权有向超图进行划分;最后依据赋权有向超图的划分结果构造任务子集,通过MapReduce任务调度模型对其进行映射和调度。
技术实现思路
本专利技术的目的在于针对已有技术存在的不足,提供一种基于多层次方法和离散粒子群的赋权超图优化划分方法,有效地缩短了划分所需的运行时间,减少了划分所需的存储空间。为达到上述目的,本专利技术的构思如下。一、在多层次方法的粗化阶段,通过对赋权超图中所有结点进行基于结点属性函数的核值求解排序,进而基于结点核值的非严格降序访问处于未匹配状态的结点,依据一定规则对其进行匹配,从而将连接性好的结点合并在一起,为多层次划分的后续阶段提供更优的粗化赋权超图。二、在多层次方法的优化阶段,采用多目标的离散粒子群搜索程序改进贪心原则的局部搜索方法,对在每一水平层粗化赋权超图投影的划分进行优化,其中粒子所处|V|维空间位置对应于一个划分方案,即粒子在每个维度空间的位置代表该维度空间对应结点所处划分的结点子集;伴随着优化阶段的细化过程,每个粒子解决方案代表的划分投影到当前水平层的细化赋权超图上,且粒子的自由度随着空间维度|V|的增加而增大;粒子之间进行直接通信或者间接通信,利用它们聚集协同表现出的智能行为,有效地搜索多约束条件下、多目标组合的Pareto有效解,使非劣迁移优化解向着Pareto-最优面逼近,增强迁移优化算法的多目标搜索能力。根据上述的专利技术构思,本专利技术的技术方案是这样实现的:一种基于多层次方法和离散粒子群的赋权超图优化划分方法,其特征在于,具体步骤如下。步骤1,读取赋权超图文件,读取按照改进压缩的文件存储格式保存的赋权超图文件。步骤2,在内存中存储赋权超图文件,采用改进压缩的内存存储格式对赋权超图进行存储。步骤3,对内存中的赋权超图划分,启动基于多层次方法和离散粒子群的赋权超图划分程序,对内存中的赋权超图进行划分,将最终得到的划分结果存储在赋权超图划分文件中。上述的步骤1中,所述的赋权超图的改进压缩的文件存储格式如下。步骤1.1,文件格式的第1行第1个参数代表着赋权超边的数目m,第2个参数代表着赋权结点的数目n。步骤1.2,文件格式的第2行开始到第m+1行本文档来自技高网
...
基于多层次方法和离散粒子群的赋权超图优化划分方法

【技术保护点】
一种基于多层次方法和离散粒子群的赋权超图优化划分方法,其特征在于,具体步骤如下:步骤1,读取赋权超图文件生成,读取按照改进压缩的文件存储格式保存的赋权超图文件;步骤2,在内存中存储赋权超图文件,采用改进压缩的内存存储格式对赋权超图进行存储;步骤3,对内存中的赋权超图划分,启动基于多层次方法和离散粒子群的赋权超图划分程序,对内存中的赋权超图进行划分,将最终得到的划分结果存储在赋权超图划分文件中;上述的步骤1中,所述的赋权超图的改进压缩的文件存储格式如下:步骤1.1,文件格式的第1行第1个参数代表着赋权超边的数目m,第2个参数代表着赋权结点的数目n;步骤1.2,文件格式的第2行开始到第m+1行的每行代表着一条赋权超边的相关信息,第1个数值为赋权超边的权值信息,其余数值为赋权超边的结点信息,其中每行的最后一个数值代表赋权超边的尾端结点信息,且赋权超边的源端结点信息处于赋权超边的权值信息和尾端结点信息之间;步骤1.3,文件格式的第m+2行开始到第m+n+1行的每行代表着一个赋权结点的权值信息;上述的步骤2中,所述的赋权超图的改进压缩的内存存储格式如下:步骤2.1,使用vwgts数组存储赋权超图中结点的权值信息,且vwgts数组的大小为赋权超图中的结点个数;步骤2.2,使用xadj数组存储每个结点所有邻接赋权超边列表的起始位置信息,即第i个结点的终止位置为第i+1个结点的起始位置减1,且xadj数组的大小为赋权超图中的结点个数加1,xadj数组最后一个元素用于存放最后一个结点的终止位置;步骤2.3,使用adjncy数组存储每个结点所有邻接赋权超边的列表信息,第i个结点的邻接赋权超边列表存储在adjncy数组中,从adjncy[xadj[i]]到adjncy[xadj[i+1]‑1];步骤2.4,使用eptr数组存储每条赋权超边所包含的结点列表的起始位置信息,即第j条赋权超边的终止位置为第j+1条赋权超边的起始位置减1,且eptr数组的大小为赋权超图中的赋权超边条数加1,eptr数组最后一个元素用于存放最后一条赋权超边的终止位置;步骤2.5,使用eind数组存储每条赋权超边所包含结点的列表信息,其中每条赋权超边的尾端结点只有1个,且每条赋权超边尾端结点的所有直接前驱结点都包含在该赋权超边的源端子集中;第j条赋权超边的结点列表存储在eind数组中,从eind[eptr[j]]到eind[eptr[j+1]‑1],其中第j条赋权超边的源端结点为eind[eptr[j]]到eind[eptr[j+1]‑2],第j条赋权超边的尾端结点为eind[eptr[j+1]‑1];步骤2.6,使用hewgts数组存储赋权超边的权值信息,且hewgts数组的大小为赋权超图中的赋权超边数目;上述的步骤3中,所述的基于多层次方法和离散粒子群的赋权超图划分程序的步骤如下:步骤3.1,进入到多层次方法的粗化阶段,采用赋权超图的结点匹配程序将当前水平层粗化赋权超图的某些结点结合在一起,得到每一水平层的粗化赋权超图,重复此过程直到粗化赋权超图足够小为止,即得到一个最小赋权超图;步骤3.2,进入到多层次方法的初始划分阶段,运行基于FM方法的赋权超图划分程序,得到最小赋权超图的初始划分;步骤3.3,多层次方法优化阶段的离散粒子群优化划分程序初始化,初始化全体粒子的全局历史最优位置向量和每个粒子的自身位置向量、自身速度向量、自身历史最优位置向量;步骤3.4,进入到多层次方法的优化阶段,从最小赋权超图投影回初始赋权超图,在每一水平层的细化赋权超图中,采用离散粒子群优化划分程序对细化赋权超图的投影划分进行优化,得到每一水平层细化赋权超图的近似非劣最优划分集;步骤3.5,由于在基于多层次方法的赋权超图划分过程中,可能违背赋权超图划分问题的平衡约束条件,因此在基于多层次方法的赋权超图划分所求解的基础上,运行基于EE‑FM方法的赋权超图划分程序,使原始赋权超图的近似非劣最优划分解满足平衡约束条件,从而得到赋权超图划分问题的划分结果;步骤3.6,将最终得到的赋权超图划分结果存储在赋权超图划分文件中;上述的步骤3.1中,所述的当前水平层粗化赋权超图的结点匹配程序的步骤如下:步骤3.1.1,标注当前水平层粗化赋权超图中所有结点处于未匹配状态;步骤3.1.2,运行赋权超图的结点核值计算程序,基于结点属性函数值进行当前水平层粗化赋权超图中所有结点的核值求解,并按照结点的核值进行非严格降序排序;步骤3.1.3,按照结点核值的非严格降序访问处于未匹配状态的结点v;如果结点v还有邻接结点未匹配,那么选取处于未匹配状态的且权值最大的邻接超边的邻接结点u和结点v匹配,且标注这两个结点为匹配状态;如果结点v所有邻接结点均处于匹配状态,则结点v仍处于未匹配状态,在粗化过程中直接拷贝到下一水平层的粗化赋权超图中...

【技术特征摘要】
1.一种基于多层次方法和离散粒子群的赋权超图优化划分方法,其特征在于,具体步骤如下:步骤1,读取赋权超图文件,读取按照改进压缩的文件存储格式保存的赋权超图文件;步骤2,在内存中存储赋权超图文件,采用改进压缩的内存存储格式对赋权超图进行存储;步骤3,对内存中的赋权超图划分,启动基于多层次方法和离散粒子群的赋权超图划分程序,对内存中的赋权超图进行划分,将最终得到的划分结果存储在赋权超图划分文件中;上述的步骤1中,所述的赋权超图的改进压缩的文件存储格式如下:步骤1.1,文件格式的第1行第1个参数代表着赋权超边的数目m,第2个参数代表着赋权结点的数目n;步骤1.2,文件格式的第2行开始到第m+1行的每行代表着一条赋权超边的相关信息,第1个数值为赋权超边的权值信息,其余数值为赋权超边的结点信息,其中每行的最后一个数值代表赋权超边的尾端结点信息,且赋权超边的源端结点信息处于赋权超边的权值信息和尾端结点信息之间;步骤1.3,文件格式的第m+2行开始到第m+n+1行的每行代表着一个赋权结点的权值信息;上述的步骤2中,所述的赋权超图的改进压缩的内存存储格式如下:步骤2.1,使用vwgts数组存储赋权超图中结点的权值信息,且vwgts数组的大小为赋权超图中的结点个数;步骤2.2,使用xadj数组存储每个结点所有邻接赋权超边列表的起始位置信息,即第i个结点的终止位置为第i+1个结点的起始位置减1,且xadj数组的大小为赋权超图中的结点个数加1,xadj数组最后一个元素用于存放最后一个结点的终止位置;步骤2.3,使用adjncy数组存储每个结点所有邻接赋权超边的列表信息,第i个结点的邻接赋权超边列表存储在adjncy数组中,从adjncy[xadj[i]]到adjncy[xadj[i+1]-1];步骤2.4,使用eptr数组存储每条赋权超边所包含的结点列表的起始位置信息,即第j条赋权超边的终止位置为第j+1条赋权超边的起始位置减1,且eptr数组的大小为赋权超图中的赋权超边条数加1,eptr数组最后一个元素用于存放最后一条赋权超边的终止位置;步骤2.5,使用eind数组存储每条赋权超边所包含结点的列表信息,其中每条赋权超边的尾端结点只有1个,且每条赋权超边尾端结点的所有直接前驱结点都包含在该赋权超边的源端子集中;第j条赋权超边的结点列表存储在eind数组中,从eind[eptr[j]]到eind[eptr[j+1]-1],其中第j条赋权超边的源端结点为eind[eptr[j]]到eind[eptr[j+1]-2],第j条赋权超边的尾端结点为eind[eptr[j+1]-1];步骤2.6,使用hewgts数组存储赋权超边的权值信息,且hewgts数组的大小为赋权超图中的赋权超边数目;上述的步骤3中,所述的基于多层次方法和离散粒子群的赋权超图划分程序的步骤如下:步骤3.1,进入到多层次方法的粗化阶段,采用赋权超图的结点匹配程序将当前水平层粗化赋权超图的某些结点结合在一起,得到每一水平层的粗化赋权超图,重复此过程直到粗化赋权超图足够小为止,即得到一个最小赋权超图;步骤3.2,进入到多层次方法的初始划分阶段,运行基于FM方法的赋权超图划分程序,得到最小赋权超图的初始划分;步骤3.3,多层次方法优化阶段的离散粒子群优化划分程序初始化,初始化全体粒子的全局历史最优位置向量和每个粒子的自身位置向量、自身速度向量、自身历史最优位置向量;步骤3.4,进入到多层次方法的优化阶段,从最小赋权超图投影回初始赋权超图,在每一水平层的细化赋权超图中,采用离散粒子群优化划分程序对细化赋权超图的投影划分进行优化,得到每一水平层细化赋权超图的近似非劣最优划分集;步骤3.5,由于在基于多层次方法的赋权超图划分过程中,可能违背赋权超图划分问题的平衡约束条件,因此在基于多层次方法的赋权超图划分所求解的基础上,运行基于EE-FM方法的赋权超图划分程序,使原始赋权超图的近似非劣最优划分解满足平衡约束条件,从而得到赋权超图划分问题的划分结果;步骤3.6,将最终得到的赋权超图划分结果存储在赋权超图划分文件中;上述的步骤3.1中,所述的当前水平层粗化赋权超图的结点匹配程序的步骤如下:步骤3.1.1,标注当前水平层粗化赋权超图中所有结点处于未匹配状态;步骤3.1.2,运行赋权超图的结点核值计算程序,基于结点属性函数值进行当前水平层粗化赋权超图中所有结点的核值求解,并按照结点的核值进行非严格降序排序;步骤3.1.3,按照结点核值的非严格降序访问处于未匹配状态的结点v;如果结点v还有邻接结点未匹配,那么选取处于未匹配状态的且权值最大的邻接超边的邻接结点u和结点v匹配,且标注这两个结点为匹配状态;如果结点v所有邻接结点均处于匹配状态,则结点v仍处于未匹配状态,在粗化过程中直接拷贝到下一水平层的粗化赋权超图中;步骤3.1.4,重复步骤3.1.3,直至所有结点访问结束;上述的步骤3.1.2中,所述的赋权超图的结点核值计算程序的步骤如下:步骤3.1.2.1,计算出所有结点的属性函数值;步骤3.1.2.2,对所有结点的属性函数值进行非严格降序排序;步骤3.1.2.3,按照结点属性函数值的非严格降序次序访问每个结点,计算每个结点的核值;上述的步骤3.1.2.2中,所述的对所有结点的属性函数值进行非严格降序排序的步骤如下:步骤3.1.2.2.1,根据结点的属性函数值属于在一定范围内的整数的特点,扫描所有结点的属性函数值,统计每一种属性函数值的结点个数,存储在计数辅助数组bin中;步骤3.1.2.2.2,针对每一种属性函数值,借助计数辅助数组bin,计算出在所有结点的属性函数值中,小于该属性函数值的结点个数,存储在位置辅助数组pos中;步骤3.1.2.2.3,扫描所有结点的属性函数值,针对每一个结点的属性函数值,借助位置辅助数组pos,得到该结点的属性函数值在非严格降序排序的次序,并将该次序存储在次序辅助数组vert中;上述的步骤3.1.2.3中,所述的计算结点v的核值的步骤如下:步骤3.1.2.3.1,将结点v的属性函数值作为核值输出;步骤3...

【专利技术属性】
技术研发人员:冷明孙凌宇冷子阳
申请(专利权)人:孙凌宇冷明冷子阳
类型:发明
国别省市:江西;36

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

1