基于云控制器的自适应多核并行模拟退火遗传方法

文档序号:6600170阅读:273来源:国知局

专利名称::基于云控制器的自适应多核并行模拟退火遗传方法
技术领域
:本发明属于计算机仿真与智能优化领域,具体涉及一种基于云控制器的自适应多核并行模拟退火遗传方法。
背景技术
:智能优化方法是一个近年来发展起来的非常活跃的研究领域。系统工程、自动化、计算机、管理工程、机械等许多领域都在广泛的采用智能优化方法。比如,遗传方法、蚁群方法、禁忌搜索方法、模拟退火方法等在国民经济的各个行业中都获得了广泛的应用。遗传方法(GeneticAlgorithm,简称GA)起源于对生物系统所进行的计算机模拟研究。美国Michigan大学的Holland教授于1975年提出了一种基于生物遗传和进化机制的适应于复杂系统优化的自适应概率优化技术_遗传方法。它将问题的可行解编码为由基因组成的个体,模拟生物界“优胜劣汰、适者生存”的机制,通过种群的选择、交叉和变异等操作,不断迭代,最终收敛到高适应度值的个体,从而求得问题的最优解或满意解。然而遗传方法作为一种优化方法,它存在自身的局限性,其中最主要的是它容易产生“早熟”现象、局部寻优能力较差等。传统遗传方法的交叉概率和变异概率是固定不变的,对不同的优化问题,需要反复实验来确定它们,过程非常繁琐且很难找到每个问题的最佳值。模拟退火方法是一种随机寻优方法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。该方法在某一初温下,伴随温度的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解。模拟退火基于Metropolis准则进行随机搜索,最终达到一种平衡状态。其中Metropolis准则是指用概率来接受新状态,经过大量的概率接受过程,系统将趋于能量最低的平衡状态。该方法具有跳出局部最优的能力,将其与遗传方法结合可以发挥各自的优势,提高方法的搜索能力。传统的智能优化方法由于其固有的密集计算特性,存在的主要问题是运行时间长和计算内存大,这是大型数据库求解的主要瓶颈。随着问题规模不断扩大,基于单核串行智能优化方法所消耗的时间迅速增长,往往不能满足人们的实时处理数据要求,智能优化方法的并行实现技术能大幅度地提高其性能,能从本质上减少处理数据的时间。随着计算机技术向着多处理器及多核架构的发展,使单机上的多核并行处理数据成为可能,以刚刚推出的线程构造模块(ThreadingBuildingBlocks,简称为TBB)开发库为代表的多核处理器并行处理平台引起工程人员的重视。TBB与其他并行编程模型相比,编程难度较低、自动调度效率高,有丰富的函数库,还有良好的扩展功能,可以和消息传递接口(MessagePassingInterface,简称MPI)、OpenMP等结合,是一种简单高效的并行技术。但是目前TBB技术和智能优化领域的结合仍然很少,TBB并行处理平台和模拟退火遗传方法的结合更是空白。
发明内容本发明的目的是改进传统遗传方法的不足,将其与模拟退火方法结合,利用现有的并行技术,实现混合方法的并行处理,使其能在实际的生产和科研领域中快速有效地执行,提高运行效率,更快更好地解决组合优化和函数优化等优化问题。在本发明中,提出了一种基于云控制器的自适应并行模拟退火遗传方法(Adaptive&ParallelSimulatedAnnealingGeneticAlgorithmbasedonCloudController,简称APSAGABC)。该方法的改进主要包含以下几点第一点,遗传方法的编码机制改进。传统的遗传方法是采用二进制编码,这不便于反映所求问题的结构特征,对于一些连续函数的优化问题等,也由于遗传方法的随机特性而使得其局部搜索能力较差。采用格雷码便于提高遗传方法的局部搜索能力,同时交叉、变异等遗传操作易于实现。第二点,遗传算子的云控制自适应调节。在遗传操作过程中,交叉操作和变异操作的概率影响着遗传过程的进行。交叉率Pc和变异率Pm过大或过小都会影响收敛速度和过程。所以P。和Pm的选择很重要,最好能够根据遗传算法的进程自动地改变P。和Pm。利用已有的规则构造云控制器,自动调整交叉概率和变异概率,使交叉概率和变异概率能根据优化的进程自动的调节,防止遗传方法陷入局部最优。第三点,多种群优化机制引入。引入多种群优化机制实现多个种群之间相互独立的进行选择、交叉和变异。多种群之间的相互协调主要体现是在每代进行交叉变异之前,用迄今的最优个体替换当前每个种群中最差的个体。该操作易于实现,而且种群之间的通信较少,在并行操作的过程中,不会造成方法运行效率的减少。第四点,模拟退火和遗传方法的结合。模拟退火和遗传方法的结合主要是在以下三方面第一方面,自适应机制,在本方法中,将对适应度进行指数尺度变换,如式(1)所示,T是适应度尺度变换的重要参数。f'(Xi)=exp(f(XiVT)(1)式中f(Xi)为原适应度,f‘(Xi)为变换后的适应度,T为温度。方法初期,温度T很大,原有适应值高的个体的新适应度就与其他个体的新适应度差距变小,f'(Xi)的选择灵敏度降低,超级个体的选择概率降低,其他个体的选择概率增加,这样便增加了整个种群的多样性;方法后期,τ变很小,原有适应度高的个体的新适应度就与其他个体的新适应度差距变大,f'(Xi)选择的灵敏度增加,有利于种群的收敛速度。第二方面,混合方法的交叉概率由云模型推导出,经交叉后的新个体代替旧个体依据模拟退火中的Metropolis接受准则;第三方面,混合方法的变异概率由云模型推导出,经变异后的新个体代替旧个体依据模拟退火中的Metropolis接受准则。Metropolis接受准则应用到混合方法中的规则是个体χ经过交叉或变异后,得到新的个体X',f(x')表示新个体X'的适应值,f(X)表示个体X的适应值,若适应值f(x')>f(X),则接受新的个体,若适应值f(X')<f(X),则采用Boltiziman机制来接受新的个体。Boltiziman机制是若p^>rand(0,1),则接受新的个体,否则不接受;其中rand(0,1)表示0到1之间的随机数,^表示是否接受新个体的概率,^越大表示接受新个体的概率越大,Pr的获取方式如下pr=exp((f(x')-f(x))/T)(2)本发明利用了改进模拟退火遗传方法可以构造并行结构的优势,结合线程构造模块TBB并行处理平台设计了一种简单适用的基于云控制器的自适应多核并行模拟退火遗传方法。线程构造模块TBB是基于运行时的C++线程并行模型,用于支持多核处理器的并行处理,具有成熟的数据结构,支持可扩展的线程嵌套并行,支持可扩展内存分配以及不需要编译器支持。使用TBB的具体步骤主要包括TBB并行处理平台的安装和环境设置;根据实际问题选择可以使用的TBB并行模板,如parallel_f0r模板和parallelreduce模板,编写并行处理模板,其中parallelfor模板为处理相互独立的for循环的并行模板,parallel_reduce模板为处理之间有联系的for循环的并行模板;TBB任务调度的初始化;调用并行处理模板;结束TBB的任务调度。由于TBB定义了任务的概念,在初始化TBB任务调度时,由任务调度器对象task_scheduler_init实现多任务的分配和并行,支持对多线程的划分。在调用并行模块时,由模块参数指定循环处理的数值范围以及任务粒度参数。任务粒度参数决定了任务划分的粒度,如果粒度太大,不能充分提高运行效率;如果粒度太小,过度的并行化任务分配造成的开销反而降低了运行效率。在无法获得合适任务粒度情况下可以使用TBB提供的自动分配函数aut0_partiti0ner()帮助用户设置合适的任务粒度参数。本发明利用TBB技术根据需要选择不同的并行处理模板,将可以并行处理的各个循环改写为符合TBB调用的规范类,并且将每组初始状态分配到不同的线程,这是提高系统运行效率的一种简单有效的方法。通过利用TBB并行技术的并行模拟退火遗传方法和现有的模拟退火遗传方法相比,具有明显的两个优点(1)提高了模拟退火遗传方法的运行效率,减少了运行时间,为大规模组合优化工程问题的实时处理提供了可能性;(2)并行优化过程简单灵活,易于操作,而且符合计算机技术向着多处理器及多核架构的发展趋势。图1是本发明采用的双条件单规则云控制器;图2是本发明基于TBB的APSAGABC方法的流程图;图3是本发明未使用TBB并行技术的APSAGABC运行时计算机中央处理单元CPU使用记录图;图4是本发明采用TBB并行技术的APSAGABC运行时计算机中央处理单元CPU使用记录图。具体实施例方式下面将结合附图和实例对本发明作进一步的详细说明。图1所示的云控制器是双条件单规则的云控制器。双条件单规则的形式化表达为IfA1,A2thenB,其中If-then表示单规则,A1、A2表示双条件。双条件单规则的云控制器的条件称为前件云,结论称为后件云。前件云由第一云模型1、第二云模型2组成,其中第一云模型1表示样本差异性,第二云模型2表示样本个体差异性。后件云是第三云模型3,既可以表交叉概率P。,也可以表示变异概率Pm;前件云和后件云通过云模型软与4连接在一起。Exi表示第一云模型1的期望、Enl表示第一云模型1的熵、Hel表示第一云模型1的超熵。Ex2表示第二云模型2的期望、En2表示第二云模型2的熵、He2表示第二云模型2的超熵。由于第三云模型3既可以表示交叉概率P。,也可以表示变异概率Pm,所以当表示交叉概率P。时,Expc表示第三云模型3的期望、Enpc表示第三云模型3的熵、Hepe表示第一云模型1的超熵;当表示变异概率Pm时,Expm表示第三云模型3的期望、Enpm表示第三云模型3的熵、Hepm表示第一云模型1的超熵。在优化的进程中,由样本的差异性和样本个体的差异性在特定时刻的输入值Ε”Ε2触发前件云,得到相应的隶属度ul、u2;隶属度ul、u2经过软与4得到综合隶属度u;在综合隶属度u触发后件云的情况下,第三云模型3输出对应的交叉概率P。或是变异概率Pm。其中,样本的差异性和样本个体的差异性在特定时刻的输入值EpE2的获取方式如下<formula>formulaseeoriginaldocumentpage7</formula>(3)<formula>formulaseeoriginaldocumentpage7</formula>⑷其中,E1为样本的差异性,E2为样本个体的差异性,f为个体适应度,favg为种群中个体的平均适应度,ffflax为种群中个体的最大适应度。图2展示了本发明基于TBB的APSAGABC方法的具体步骤步骤一初始化参数。初始化参数包括两部分使用TBB时环境变量的设置以及APSAGABC方法本身的参数初始化。TBB并行数据处理平台的安装与环境设置,在计算机里置入TBB的文件包,并在VisualC++目录中添加TBB的包含文件、库文件和可执行文件。设置问题规模,包括种群的数目、每个种群中个体的数目、每个个体中变量的数目、每个变量的编码长度、最大遗传代数、温度收敛系数、最低温度和目标函数。步骤二初始化每个种群中的个体。初始化每个个体,就是将个体中的每个变量赋值。由于种群中个体的初始化是相互独立,可以并行处理,利用TBB的并行模板规范类parallelfor构造并行模块。构造的方式是在TBB提供的固定parallelfor并行模板中加入要进行并行处理的内容,在调用模块时只要指定循环的次数和并行处理的内容名称就可以对并行模块中的内容进行并行处理。在所有个体中找到适应度最大值和适应度最小值,根据公式(5)获得初始温度T0<formula>formulaseeoriginaldocumentpage7</formula>⑶其中min为适应度最小值,max为适应度最大值。步骤三每个种群独立选择遗传个体。采用确定法选择遗传个体,确定法的具体操作过程是步骤3.1获取种群中各个个体在下一代中的期望生存数目N,N的获取方式如下<formula>formulaseeoriginaldocumentpage8</formula>,其中f(x)为个体的适应值,Σf(x)为种群中所有个体的适应值之和,M为种群中个体的数目,[..]表示取符号内实数的整数部分。步骤3.2将N的整数部分作为对应个体在下一代种群中的生存数目。步骤3.3:将N的小数部分进行从大到小的降序排序,顺序取前M个作为加入到下一代种群中的个体,其中M+N为每个种群中个体的数目。至此可完全确定出下一代种群中的个体。由上述过程可知,每个种群选择遗传个体的过程是相互独立的,可以采用TBB的并行模板规范类parallelfor构造并行模块。步骤四获取当前最优个体。当迭代次数为1时,在种群的所有个体中选择适应度最高个体作为最优个体;当迭代次数大于1时,将当前种群中适应度最大的个体与最优个体比较,取二者适应度较大者作为当前迭代次数下的最优个体。这里涉及到比较环节,利用TBB的并行模板规范类parallelreduce构造并行模块。构造的方式是在TBB提供的固定parallelreduce并行模板中加入要进行并行处理的内容,在调用模块时只要指定循环的次数和并行处理的内容名称,就可以对并行模块中的内容进行并行处理。步骤五最优个体替换每个种群中的最差个体。用最优个体替换每个种群中的最差个体,替换的过程是相互独立,可以采用TBB的并行模板规范类parallelfor构造并行模块。步骤六每个种群中的个体进行交叉。交叉方式选择两点交叉,具体的操作过程为步骤6.1在相互配对的两个个体编码串中随机设置两个交叉点。步骤6.2交换两个个体在所设定的两个交叉点之间的部分染色体。交叉概率的是由图1所示的云控制器确定的。根据公式(3)、(4)获得第一云模型1的输入值为样本差异性E1,以及第二云模型2的输入值为样本个体差异性E2;根据样本差异性E1和样本个体差异性E2与交叉概率之间的规律而得到的云控制器,在输入值的触发下,得到对应的第三云模型3在特定值输入下的输出值交叉概率P。。表1显示了EpE2与交叉概率Pc之间的规律表1云控制器自适应遗传算子规则<table>tableseeoriginaldocumentpage9</column></row><table>步骤七=Mertropolis准则接受交叉后新的个体。经过交叉后得到新的个体,利用Metropolis准则判断新的个体是否能代替旧的个体。如果符合Metropo1is准则要求,则用新的个体代替丨日的个体,否则保持丨日个体不变。步骤八每个种群中的个体进行变异。变异方式选择基本位变异,其具体操作过程如下步骤8.1对个体的每一个基因位,依照变异概率指定其为变异点。确定方式是如果随机生成的O到1之间的数小于变异概率,则该位为变异点,否则不是。步骤8.2对每一个指定的变异点,对其基因值做取反运算。若是0,则为1;若是1,则为O。变异概率是由图1所示的云控制器确定的。根据公式(3)、(4)获得第一云模型1的输入值为样本差异性E1,以及第二云模型2的输入值为样本个体差异性E2;根据样本差异性E1和样本个体差异性E2与变异概率之间的规律而得到的云控制器,在输入值的触发下,得到对应的第三云模型3在特定值输入下的输出值变异概率Pm。表1显示了EpE2与变异概率Pm之间的规律。步骤九=Mertropolis准则接受变异后新的个体。经过变异后得到新的个体,利用Metropolis准则判断新的个体是否能代替旧的个体。如果符合Metropo1is准则要求,则用新的个体代替丨日的个体,否则保持丨日个体不变。步骤十降温操作。利用公式T'=TXa获取新的温度值T',其中α为温度收敛系数,T为当前温度,T'为新的温度;步骤十一判断是否满足终止条件。终止条件有如下三条,只要满足其中的一条,则转向步骤十二,否则转向步骤三。(1)达到最大遗传代数;(2)当前温度小于最低温度;(3)最优个体50代保持不变。步骤十二结束。最终寻到问题的最优解。在步骤六、步骤七、步骤八和步骤九中,各个种群的交叉变异过程是相互独立的,可以利用TBB的并行模板规范类parallelfor构造并行模块。构造的方式是在TBB提供的固定parallel_f0r并行模板的代码中加入要进行并行处理内容的代码,在调用模块时只要指定循环的次数就可以对并行模块中的内容进行并行处理。在步骤三、步骤四、步骤五、步骤六、步骤七、步骤八、步骤九中实质上是引入了多种群群体优化机制。种群之间的独立性体现在步骤三、步骤六、步骤七、步骤八和步骤九中,表明种群内部的选择、交叉和变异是相互独立的进行操作,为并行操作提供了可行性。在步骤四和步骤五中,体现出群体之间的交互,使群体的优化过程能协同发展。实例验证首先,测试改进方法的求解质量。为了验证该方法的有效性,选择最新文献中的数据作为比较对象,获取下面三个函数的极大值,其中fJhy)为第一因变量,f2(x,y)为第二因变量,f3(x,y)为第三因变量,χ代表自变量,y代表自变量。<formula>formulaseeoriginaldocumentpage10</formula>本实现将与彭勇刚,罗小平等著的《一种新的模糊自适应模拟退火遗传方法[J].控制与决策,2009.6,24(6):843_848》中的模糊自适应模拟退火遗传方法(FuzzyAdaptiveSimulatedAnnealingGeneticAlgorithm,简称FASAGA)、自适应遗传方法(AdaptiveGeneticAlgorithm,简称AGA)和模拟退火遗传方法(SimulatedAnnealingGeneticAlgorithm,简称SAGA)仿真得到的结果进行比较。表2显示了以精度为0.0001作为停止条件时,各方法所需要的平均遗传代数;表3显示了以相同遗传代数100代作为停止条件时,不同方法的寻优结果。表2表3数据来源于《一种新的模糊自适应模拟退火遗传方法[J].控制与决策,2009.6,24(6):843_848》。表2四种方法相同精度平均遗传代数比较<table>tableseeoriginaldocumentpage10</column></row><table>表3四种方法相同代数不同函数寻优精度比较<table>tableseeoriginaldocumentpage11</column></row><table>由表2可知,APSAGABC达到相同的寻优精度所需要的迭代次数明显比其他方法要少很多,表明该方法和其他三种方法相比,能在遗传较早的阶段进入收敛区域。由表3可知,APSAGABC在相同的遗传代数的情况下,经过APSAGABC寻到函数的极大值大于其他三个方法寻到的极大值,有此可见寻优的结果明显优于其他的三种方法。其次,测试改进方法采用TBB并行技术的运行速度。为了验证TBB技术可以大大提高方法的运行效率,将其与最新文献中的实验数据进行比较;为了验证TBB技术可以充分利用计算机多核资源,方法在不采用TBB并行技术和采用TBB并行技术两种情况下,将对计算机中央处理单元(CentralProcessingUnit,简称CPU)的使用率进行比较。为检验APSAGABC的寻优性能,选择J.D.Schaffer提出的函数<formula>formulaseeoriginaldocumentpage11</formula>该函数理论上的最优状态和最优值为min(f(Ζ))=f(0,0)=_1,此函数在距离全局最优点大约3.14范围内存在无穷多个局部极小将其包围,并且函数强烈振荡。袁煜明,范文慧等著的《一种基于多样化成长策略的遗传方法[J].控制与决策,2009.1224(12)1801-1804))中提出的完全的多样化成长策略的遗传方法在解决Schaffer函数优化问题中取得很好的效果,在满足一定精度的情况下,该方法求得该函数的最优解。为证实APSAGABC在解决同样问题得到同样的最优解情况下运行效率更高,使用该方法解决此函数,并与文献中记录的实验结果进行比较。如表4所示,实验记录下10次测试结果的最差结果,以及10次的正确率,其中传统遗传方法、完全的多样化成长策略的遗传方法的实验数据来自《一种基于多样化成长策略的遗传方法[J].控制与决策,2009.1224(12)1801-1804》。表4算例测试结果<table>tableseeoriginaldocumentpage12</column></row><table>由表4知,APSAGABC和传统遗传方法相比,虽然运行时间较长,但是能寻到问题的最优解,而且正确率是100%,传统遗传方法的正确率只有30%,因此,APSAGABC比传统遗传方法在求解质量上具备更大的优势。APSAGABC和文献提出的完全的多样化成长策略的遗传方法相比,在求解质量上取得了相同的效果,但是APSAGABC所需要的迭代次数远远小于完全的多样化成长策略的遗传方法。在运行时间方面,由于完全的多样化成长策略的遗传方法的运行平台未知,而APSAGABC是在双核平台上运行,所以取完全的多样化成长策略的遗传方法运行时间14.Is的一半7.05s与APSAGABC运行时间4.375s比较,APSAGABC的运行时间是完全的多样化成长策略的遗传方法运行时间的62.06%,可知,APSAGABC在运行效率方面取得了很大的进步。由图3、图4可知,在未使用TBB并行技术时,CPU的使用率在48%左右,造成了资源的浪费,并没有体现出计算机双核的优势;利用TBB技术实现APSAGABC在多核计算机上的并行运算,CPU的使用率达到了100%,充分利用了计算机的多核资源,这正是APSAGABC能够运行效率得到提高的重要原因。权利要求基于云控制器的自适应多核并行模拟退火遗传方法,其特征在于,该方法包括如下步骤步骤一初始化参数;初始化参数包括两部分使用线程构造模块TBB时环境变量的设置以及自适应并行模拟退火遗传方法APSAGABA本身的参数初始化;TBB并行数据处理平台的安装与环境设置,在计算机里置入TBB的文件包,并添加TBB的包含文件、库文件和可执行文件;设置问题规模,包括种群的数目、每个种群中个体的数目、每个个体中变量的数目、每个变量的编码长度、最大遗传代数、温度收敛系数、最低温度和目标函数;步骤二初始化每个种群中的个体;初始化每个个体,就是将个体中的每个变量赋值;利用TBB的并行模板规范类parallel_for构造并行模块;在所有个体中找到适应度最大值和适应度最小值,并获得初始温度T0<mrow><msub><mi>T</mi><mn>0</mn></msub><mo>=</mo><mfrac><mrow><mi>min</mi><mo>-</mo><mi>max</mi></mrow><mrow><mi>log</mi><mn>0.95</mn></mrow></mfrac></mrow>其中min为适应度最小值,max为适应度最大值;步骤三每个种群独立选择遗传个体;采用确定法选择遗传个体,确定法的具体操作过程是步骤3.1获取种群中各个个体在下一代中的期望生存数目N,N的获取方式如下<mrow><mi>N</mi><mo>=</mo><mo>[</mo><mfrac><mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mrow><mi>&Sigma;f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></mfrac><mo>&times;</mo><mi>M</mi><mo>]</mo></mrow>其中f(x)为个体的适应值,∑f(x)为种群中所有个体的适应值之和,M为种群中个体的数目,[..]表示取符号内实数的整数部分;步骤3.2将N的整数部分作为对应个体在下一代种群中的生存数目;步骤3.3将N的小数部分进行从大到小的降序排序,顺序取前M个作为加入到下一代种群中的个体,其中M+N为每个种群中个体的数目;至此确定出下一代种群中的个体;其中所述的每个种群选择遗传个体的过程是相互独立的,采用TBB的并行模板规范类parallel_for构造并行模块;步骤四获取当前最优个体;当迭代次数为1时,在种群的所有个体中选择适应度最高个体作为最优个体;当迭代次数大于1时,将当前种群中适应度最大的个体与最优个体比较,取二者适应度较大者作为当前迭代次数下的最优个体;其中所述的比较是利用TBB的并行模板规范类parallel_reduce构造并行模块;步骤五最优个体替换每个种群中的最差个体;用最优个体替换每个种群中的最差个体,替换的过程是相互独立,采用TBB的并行模板规范类parallel_for构造并行模块;步骤六每个种群中的个体进行交叉;交叉方式选择两点交叉,具体的操作过程为步骤6.1在相互配对的两个个体编码串中随机设置两个交叉点;步骤6.2交换两个个体在所设定的两个交叉点之间的部分染色体;交叉概率是由云控制器确定的;步骤七Mertropolis准则接受交叉后新的个体;经过交叉后得到新的个体,利用Metropolis准则判断新的个体是否能代替旧的个体;如果符合Metropolis准则要求,则用新的个体代替旧的个体,否则保持旧个体不变;步骤八每个种群中的个体进行变异;变异方式选择基本位变异,其具体操作过程如下步骤8.1对个体的每一个基因位,依照变异概率指定其为变异点;如果随机生成的0到1之间的数小于变异概率,则该位为变异点,否则不是;步骤8.2对每一个指定的变异点,对其基因值做取反运算;若是0,则为1;若是1,则为0;变异概率是由云控制器确定的;步骤九Mertropolis准则接受变异后新的个体;经过变异后得到新的个体,利用Metropolis准则判断新的个体是否能代替旧的个体;如果符合Metropolis准则要求,则用新的个体代替旧的个体,否则保持旧个体不变;步骤十降温操作;利用公式T′=T×α获取新的温度值T′,其中α为温度收敛系数,T为当前温度,T′为新的温度;步骤十一判断是否满足终止条件;终止条件有如下三条,只要满足其中的一条,则转向步骤十二,否则转向步骤三;(1)达到最大遗传代数;(2)当前温度小于最低温度;(3)最优个体50代保持不变;步骤十二结束;最终寻到问题的最优解。2.根据权利要求1所述的的基于云控制器的自适应多核并行模拟退火遗传方法,其特征在于,步骤二、步骤三和步骤五中所述的利用TBB的并行模板规范类parallelfor构造并行模块是在TBB提供的固定parallelfor并行模板中加入要进行并行处理的内容,在调用模块时只要指定循环的次数和并行处理的内容名称就能够对并行模块中的内容进行并行处理。3.如权利要求1所述的基于云控制器的自适应多核并行模拟退火遗传方法,其特征在于,步骤四中所述的利用TBB的并行模板规范类parallelreduce构造并行模块是在TBB提供的固定parallelreduce并行模板中加入要进行并行处理的内容,在调用模块时只要指定循环的次数和并行处理的内容名称就能够对并行模块中的内容进行并行处理。4.如权利要求1所述的基于云控制器的自适应多核并行模拟退火遗传方法,其特征在于,步骤六和步骤七中所述的各个种群的交叉过程是相互独立的,能够利用TBB的并行模板规范类parallelfor构造并行模块。5.如权利要求1所述的基于云控制器的自适应多核并行模拟退火遗传方法,其特征在于,步骤八和步骤九中所述的各个种群的变异过程是相互独立的,能够利用TBB的并行模板规范类parallelfor构造并行模块。全文摘要本发明公开了一种基于云控制器的自适应多核并行模拟退火遗传方法,主要解决传统遗传算法容易“早熟”和陷入局部最优的缺点,引进多种群机制,利用线程构造模块支持多核处理器并行计算和支持扩展的线程嵌套并行的优点,实现方法在多核计算机上的高效运行。该方法首先初始化参数和每个种群中的个体;接着各种群独立地选择遗传个体,并获取当前最优个体;之后每个种群独立交叉和变异,在该过程中包含了云控制器自适应调节和模拟退火的Metropolis机制。最后判断是否满足终止条件,不满足则继续选择遗传个体进行交叉变异等操作。设计过程简单灵活,易于扩展,符合计算机朝着多处理器和多核架构的发展趋势,是一种方便快速、实用性强的智能方法。文档编号G06N3/12GK101826167SQ20101013921公开日2010年9月8日申请日期2010年3月31日优先权日2010年3月31日发明者李妮,董丽丽,龚光红申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1