【技术实现步骤摘要】
基于多层次方法和离散粒子群的赋权超图优化划分方法
本专利技术涉及一种电路划分和云计算任务调度中基于多层次方法和离散粒子群的赋权超图优化划分方法。
技术介绍
现有技术的划分系统中有若干种结点的划分方法,这些划分方法从依赖关系数目最小、划分后结点子集的结点数目均匀分布等不同的方面来实现,主要有基于迁移的划分方法、水平嵌套划分方法和多层次划分方法等。基于迁移的划分方法。该方法首先产生结点的随机初始划分,同一个结点不能同时属于两个结点子集。在迁移优化阶段,从两个结点子集中各选取一个结点进行成对交换,这两个结点分别属于两个不同的结点子集且收益最大,从而每次都利用交换过程最大限度地改进结点划分质量。记录割切达到最小值时刻的结点划分结果,且一旦交换了所选择的两个结点,在整个迁移过程余下的优化改进中,将这两个结点锁定使得它们不再被选中。重复上述过程直到所有可能的结点都经过迁移之后,回滚到累计收益最大值即割切最小值的时刻。该划分方法得到的结点划分结果不稳定,离散性很大,因此限制了该划分方法所能解决问题的规模。水平嵌套划分方法。该方法首先选择一个结点,将这个结点标上号码0,然后将所有和这个结点相连的结点标上号码1,之后对于那些还未标上号码,但是和已经标上号码的结点相连的结点,将其标号为相连结点的号码加1。直到一半的结点标上号码,标号过程才结束。那些已经标上号码的结点集合设为一个结点子集,其他结点为另一个结点子集。该划分方法只有在选取的初始结点接近外围时,得到的结点划分结果相对较好,总的来说该结点划分结果也不稳定。多层次划分方法。Karypis针对结点规模达到几百万的划分问题, ...
【技术保护点】
一种基于多层次方法和离散粒子群的赋权超图优化划分方法,其特征在于,具体步骤如下:步骤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数组存储赋权超图 ...
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。