一种混合智能优化方法.pdf

上传人:xia****o6 文档编号:6146643 上传时间:2019-04-19 格式:PDF 页数:16 大小:693.67KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410137336.2

申请日:

2014.04.04

公开号:

CN103942419A

公开日:

2014.07.23

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 19/00申请日:20140404|||公开

IPC分类号:

G06F19/00(2011.01)I

主分类号:

G06F19/00

申请人:

南京邮电大学

发明人:

程春玲; 殷小龙; 张登银; 付雄; 华禹铭

地址:

210046 江苏省南京市新模范马路66号

优先权:

专利代理机构:

南京经纬专利商标代理有限公司 32200

代理人:

杨楠

PDF下载: PDF下载
内容摘要

本发明公开了一种混合智能优化方法,属于人工智能与数据挖掘技术领域。本发明将遗传优化算法与细菌觅食优化算法有机结合,首先利用遗传优化算法的广度搜索性得到初步的较优解,并将其作为后期细菌觅食算法中的初始细菌种群,充分利用细菌觅食算法的趋化、复制和驱散操作,不断产生优秀个体,最终逐渐向最优解收敛。本发明进一步在上述技术方案基础上,从遗传选择算子、最佳结合点、细菌趋化和复制操作四个方面分别进行了改进。相比现有技术,本发明能够提高最优解集的收敛速度和精度,且具有更广泛的适用性。

权利要求书

权利要求书
1.  一种混合智能优化方法,用于从对象的若干可行解中搜索出最优解,其特征在于,首先将对象的可行解进行编码,然后利用遗传优化算法得到一组较优解,最后利用细菌觅食优化算法从所述较优解中得到最优解。

2.  如权利要求1所述混合智能优化方法,其特征在于,所述细菌觅食优化算法中的趋化操作具体如下:
首先对将进行趋化的细菌进行第一次变异操作:将该细菌编码序列的中间位置两边的两个一级子序列互换;
对第一次变异操作前、后的两个细菌中适应度较高的细菌进行第二次变异操作:将该细菌编码序列的中间位置左/右边的一级子序列从中间位置划分为两个二级子序列,将这两个二级子序列互换;
对第二次变异操作前、后的两个细菌中适应度较高的细菌进行第三次变异操作:将该细菌编码序列最左/右边的二级子序列从中间位置划分为两个三级子序列,将这两个三级子序列互换;
依此方式不断向细菌编码序列的左/右递归,直到细菌编码序列的首/末位,趋化操作结束。

3.  如权利要求1所述混合智能优化方法,其特征在于,所述细菌觅食优化算法中的复制操作具体如下:
将当前细菌种群中的细菌按照适应度从小到大或从大到小的顺序进行排序;
对其中的第i个细菌                                               和第个细菌进行以下交叉操作,,,S为所述细菌种群的规模:分别从细菌和细菌的编码序列中截取相同长度的片段;然后将从细菌截取的片段插入细菌剩余部分之前/后,将从细菌截取的片段插入细菌剩余部分之前/后,得到两个新的细菌并保留其中适应度较高的细菌;
待当前细菌种群中的所有细菌均完成交叉操作后,对保留的细菌进行复制,得到新的细菌种群。

4.  如权利要求3所述混合智能优化方法,其特征在于,在从细菌和细菌的编码序列中截取片段时,截取位置为随机生成。

5.  如权利要求1所述混合智能优化方法,其特征在于,所述遗传优化算法中的选择操作是指从当前种群中选择被选择概率较高的部分个体,第个染色体在代的被选择概率按照下式得到:
  ,
式中,为第个染色体的适应度,为第代种群的适应度方差,e为自然常数,N为第代种群规模。

6.  如权利要求1所述混合智能优化方法,其特征在于,在所述遗传优化算法中,将每一代种群的适应度方差与一预设的阈值进行比较,如当前种群的适应度方差小于所述阈值,则停止遗传优化算法,转而执行细菌觅食优化算法。

7.  一种云环境下的虚拟机调度方法,其特征在于,利用权利要求1~6任一项所述混合智能优化方法从若干可行的调度方案中搜索出最优的调度方案,具体编码方法如下:用一个一维整数串来表示可行调度方案的编码,个体的长度为当前需调度的任务数量,个体的每一位序号代表任务的编号,每一位上的值代表虚拟机节点的编号。

8.  一种物流车辆的路径优化方法,其特征在于,利用权利要求1~6任一项所述混合智能优化方法从若干可行的运输方案中搜索出最优的运输方案,具体编码方法如下:用一个一维整数串来表示可行运输方案的编码,个体的长度为当前运输货物的车量数,个体的每一位序号代表车辆的编号,每一位上的值代表需要送货的地点编号。

9.  一种基于二维熵阈值的图像分割方法,其特征在于,利用权利要求1~6任一项所述混合智能优化方法从若干可行的分割阈值中搜索出最优的分割阈值,具体编码方法如下:用8位二进制代码表示256级灰度的图像,每个染色体表示一个阈值。

10.  一种旅行商问题的优化方法,其特征在于,利用权利要求1~6任一项所述混合智能优化方法从若干可行的巡回路径中搜索出最优的巡回路径,具体编码方法如下:用一个一维整数串来表示可行巡回路径的编码,个体的长度为所有城市的数量,个体的每一位为城市的编号。

说明书

说明书一种混合智能优化方法
技术领域
本发明涉及一种优化方法,尤其涉及一种混合智能优化方法,属于人工智能与数据挖掘技术领域。 
背景技术
自上个世纪70年代以来,智能优化算法凭借着高效的优化性能一直受到各领域的研究与应用。尤其是针对大规模优化问题,传统的基于线性规划的方法获得较优解的时间十分漫长,而智能优化算法能够在较短的时间内获得最优解,因此智能优化算法不仅得到了业界的认同,而且也成为了学者们的研究热点。目前,智能算法可分为两大类:传统的智能优化算法和混合智能优化算法。 
1975年,美国Michigan大学J.Holland教授的一篇著作《Adaptation in Natural and Artificial Systems》开启了学术界智能优化算法研究领域的大门,J.Holland提出的遗传优化算法(Genrtic Algorithm,GA)源于达尔文生物进化论中的适者生存、优胜劣汰理论。接着,伴随着时间的推移以及人们对自然界规律的不断认识与探索,新的智能优化算法慢慢地别学者们研究出来。1983年,S.Kirkpatrick等人基于固体物质退火思想提出了模拟退火算法(Simulated Annealing,SA);1991年,Dorigo等人通过模拟蚂蚁在寻找食物过程中的发现路径行为,提出了蚁群优化算法(Ant Colony Optimization,ACO);1995年,Eberhart和Kennedy通过模拟鸟群觅食行为提出了基于群体协作的粒子群优化算法(Particle Swarm Optimization,PSO);2002年,Passino通过对人类肠道中大肠杆菌在觅食过程中所体现出来的智能行为进行模拟,提出了细菌觅食优化算法(Bacteria Foraging Optimization,BFO)。 
由于单一智能优化算法都存在各自的缺点,如遗传优化算法前期容易陷入局部最优,后期搜索缓慢;细菌觅食算法不能使用整数编码等,而且有的智能优化算法不能很好地适应某一类应用,如大规模的动态资源调度问题等,因此混合优化算法应运而生,鉴于传统智能优化算法的优点和缺点,大量学者提出了混合优化算法。 
基于粒子群算法和遗传优化算法的混合优化算法是首先用粒子群优化算法对种群进行迭代到一定次数后,保留最优的M个粒子,然后以剩余的粒子为基础,进行重编 码后执行遗传优化算法的交叉和变异操作,经过多次迭代后得到N个个体,最后将之前保留的M个粒子和后来的N个个体组合成新的粒子种群,进入下一个循环。该算法在进化迭代的过程中能够实现信息的交换,充分发挥各自的优势,具有收敛速度快、优化精度高的优点。 
基于人工鱼群和粒子群的混合优化算法的思想是:初始种群分为两个独立的子群体A和B,每一次迭代的过程中,群体A采用人工鱼群算法进行优化,群体B采用粒子群算法进行优化,最后将两个群体的解结合后进入下一次迭代。该混合优化算法不仅利用了人工鱼群算法的随机快速搜索能力和发挥了粒子群算法不断追逐优秀个体的收敛性,而且克服了人工鱼群算法运行速度慢和粒子群容易陷入局部最优的缺点。 
基于遗传-粒子群混合优化的模糊C均值算法混合了遗传优化算法、粒子群算法和模糊C均值聚类算法,首先以粒子群算法为基础,将遗传优化算法的选择、交叉和变异操作用于粒子,然后以粒子群算法的编码方式为聚类中心编码,最后采用基于遗传操作的粒子群算法进行聚类中心的选取。改进后的算法不仅解决了模糊C均值算法的收敛速度对初始值敏感的问题,而且由于基于遗传操作的粒子群算法具备的全局寻优能力也解决了模糊C均值算法采用梯度下降法所带来的局部最优问题。 
基于模拟退火和粒子群的混合优化算法是在总体并行搜索的前提下对每个温度串行地依次进行粒子群和模拟退火搜索,将粒子群算法的一代结果作为模拟退火算法的初始解P,P经过Metropolis抽样后得到的解Q又成为下一代粒子群算法的初始种群。该混合算法将粒子群算法和模拟退火算法的并行搜索结构串连起来,增强了全局和局部的搜索能力和效率。 
综上所述,混合优化算法是将两个或者更多的智能优化算法通过某种方式进行融合,吸取各自算法的优点,摒弃各自算法的缺点,从而使得混合后的算法具有高效的搜索能力。 
发明内容
本发明所要解决的技术问题在于克服现有技术的不足,提供一种将遗传优化算法与细菌觅食优化算法相结合的混合智能优化方法,有效提高优化效率。 
本发明具体采用以下技术方案: 
一种混合智能优化方法,用于从对象的若干可行解中搜索出最优解,首先将对象的可行解进行编码,然后利用遗传优化算法得到一组较优解,最后利用细菌觅食优化算法从所述较优解中得到最优解。 
作为本发明的第一个进一步改进方案,所述细菌觅食优化算法中的趋化操作具体如下: 
首先对将进行趋化的细菌进行第一次变异操作:将该细菌编码序列的中间位置两边的两个一级子序列互换; 
对第一次变异操作前、后的两个细菌中适应度较高的细菌进行第二次变异操作:将该细菌编码序列的中间位置左/右边的一级子序列从中间位置划分为两个二级子序列,将这两个二级子序列互换; 
对第二次变异操作前、后的两个细菌中适应度较高的细菌进行第三次变异操作:将该细菌编码序列最左/右边的二级子序列从中间位置划分为两个三级子序列,将这两个三级子序列互换; 
依此方式不断向细菌编码序列的左/右递归,直到细菌编码序列的首/末位,趋化操作结束。 
作为本发明的第二个进一步改进方案,所述细菌觅食优化算法中的复制操作具体如下: 
将当前细菌种群中的细菌按照适应度从小到大或从大到小的顺序进行排序; 
对其中的第i个细菌Xi和第i+S′个细菌Xi+S′进行以下交叉操作,i=1,2,",S′, 
S′=S/2,S为所述细菌种群的规模:分别从细菌Xi和细菌Xi+S′的编码序列中截取相同长度的片段;然后将从细菌Xi截取的片段插入细菌Xi+S′剩余部分之前/后,将从细菌Xi+S′截取的片段插入细菌Xi剩余部分之前/后,得到两个新的细菌并保留其中适应度较高的细菌; 
待当前细菌种群中的所有细菌均完成交叉操作后,对保留的细菌进行复制,得到新的细菌种群。 
作为本发明的第三个进一步改进方案,所述遗传优化算法中的选择操作是指从当前种群中选择被选择概率较高的部分个体,第i个染色体在j代的被选择概率Pi按照下式得到: 
Pi=efi/D(j)/Σi=1Nefi/D(j),]]>
式中,fi为第i个染色体的适应度,D(j)为第j代种群的适应度方差,e为自然常数, N为第j代种群规模。 
作为本发明的第四个进一步改进方案,在所述遗传优化算法中,将每一代种群的适应度方差与一预设的阈值进行比较,如当前种群的适应度方差小于所述阈值,则停止遗传优化算法,转而执行细菌觅食优化算法。 
本发明将遗传优化算法与细菌觅食优化算法有机结合,首先利用遗传优化算法的广度搜索性得到初步的较优解,并将其作为后期细菌觅食算法中的初始细菌种群,充分利用细菌觅食算法的趋化、复制和驱散操作,不断产生优秀个体,最终逐渐向最优解收敛。本发明进一步基于适应度方差设计了两个算法的最佳结合点,并且基于变异的细菌趋化操作使得两个算法的编码方式统一。在算法的执行过程中,为了避免遗传优化算法陷入局部最优和后期进化缓慢的问题,设计了基于适应度方差的选择算子,同时为了增强菌群内部信息的交流,设计了基于遗传基因交叉的细菌复制操作。相比现有技术,本发明能够提高最优解集的收敛速度和精度,且具有更广泛的适用性。 
附图说明
图1为遗传优化算法的基本流程示意图; 
图2为细菌觅食优化算法的基本流程示意图; 
图3为本发明混合智能优化方法的一个优选方案的流程示意图。 
具体实施方式
下面结合附图对本发明的技术方案进行详细说明: 
遗传优化算法作为经典的智能优化算法,其基本流程如图1所示,单一的遗传优化算法存在前期容易陷入局部最优,后期搜索缓慢的不足。细菌觅食优化算法作为一种新型的智能优化算法,其基本流程如图2所示,单一的细菌觅食优化算法存在不能使用整数编码的不足,影响了其应用范围。 
本发明的思路是将遗传优化算法与细菌觅食优化算法有机结合,设计了一种新的混合智能优化方法,首先利用遗传优化算法的广度搜索性得到初步的较优解,并将其作为后期细菌觅食算法中的初始细菌种群,充分利用细菌觅食算法的趋化、复制和驱散操作,不断产生优秀个体,最终逐渐向最优解收敛。本发明的混合智能优化方法具体如下:首先将对象的可行解进行编码,然后利用遗传优化算法得到一组较优解,最后利用细菌觅食优化算法从所述较优解中得到最优解。 
本发明又在上述技术方案的基础上,从遗传选择算子、最佳结合点、细菌趋化和复 制操作四个方面分别进行了改进,具体如下: 
一、遗传选择算子的改进 
遗传优化算法在运行早期个体差异较大,当采用传统的轮盘赌选择方法时,后代产生的概率和适应度大小成正比。这样会使遗传优化算法早期优秀个体的后代充斥整个种群,造成早熟现象。而在遗传优化算法后期,适配值趋于一致,优秀个体在后代中优势不明显,使整个种群进化速度趋于停滞。因此本发明进一步根据每代个体的适应度方差对染色体的选择概率进行改进,第i个染色体在j代被选择概率的计算方法如下式: 
Pi=efi/D(j)/Σi=1Nefi/D(j)]]>
D(j)=Σi=1n(fi-f‾)2n]]>
其中Pi为第i(1≤i≤N)个染色体的被选择概率;fi为第i个染色体的适应度;e为自然常数;N为第j代种群规模;D(j)为第j代种群的适应度方差,适应度方差的计算公式如下: 
D(j)=Σi=1n(fi-f‾)2N]]>
其中,表示第j代种群的适应度均值。 
由上面公式可以看出,对于第j代种群,如果D(j)较大,种群中个体被选择的概率会比较接近,而遗传优化算法容易陷入局部最优多是由适应度较高的个体引起,因此D(j)较大时可以拉近种群中高适应度和低适应度个体被选择的概率,从而在很大程度上使得算法避免陷入局部最优。而如果D(j)较小时,适应度相近的个体被选择的概率差异将会放大,使得优秀个体的优势更加明显,提高了算法的搜索速度。 
遗传优化算法前期的优劣个体参差不齐,后期的优秀个体充斥着整个种群,适应度比较接近,所以随着j的增大,D(j)逐渐变小。在选择算子中引入适应度方差不仅能够使得遗传优化算法早期的时候大幅度避免陷入局部最优而且能够改善算法后期的进化速度。 
二、最佳结合点的确定 
结合点是指两种算法切换的时机,在结合点之前釆用遗传优化算法,在结合点之后釆用细菌觅食优化算法,可见如何选择最佳结合点将成为两个算法混合的关键,选择的时间过早会导致遗传算法未进化到较优解时就停止迭代,影响细菌觅食算法的初始种群,进而影响算法的搜索效率;选择的时间过晚会导致遗传算法进行多次无用的冗余迭代后才进入细菌觅食算法,使得整个算法的最优解收敛速度变慢。因此,只有选择恰当的时机才能保证混合优化算法的整体性能。 
两种算法的切换可通过最简单的预设遗传优化算法的最大进化代数来实现,然而最大进化代数的设定主要依靠经验,对于不同的应用场合,其效果难以保证。在遗传算法后期,算法搜索速度会变得十分缓慢,因此要在该趋势来临的时候转入细菌觅食算法,而遗传算法后期搜索速度较慢的主要原因是由于染色体的适应度趋于一致,优秀个体的优势不明显。本发明利用种群的适应度方差D(j)来确定结合点,预先设定某一阈值λ,当D(j)低于阈值λ时,则终止遗传算法进入细菌觅食算法;其中阈值λ的值可根据算法的最大迭代次数确定范围并通过实验在该范围内调节。 
三、细菌趋化操作的改进 
细菌优化算法中的趋化操作针对的是实数,而遗传优化算法的编码多为整数序列,当然,可以采用数学方法将实数表示的浮点数值向以整数表示的序列进行转换,但这样不可避免地会带了误差,从而影响最终结果。因此本发明进一步对细菌的趋化操作进行改进,以实现与遗传优化算法的编码规则相统一。趋化的首次方向定位在序列的中间位置,通过对细菌个体的变异实现翻转,变异方式为两边子序列的替换,计算变异前后的个体适应度,选择适应度高的个体,将其左序列的中间位置为下一次趋化方向,同上述方法直到趋化方向定位到序列的首位。具体方法如下: 
首先对将进行趋化的细菌进行第一次变异操作:将该细菌编码序列的中间位置两边的两个一级子序列互换; 
对第一次变异操作前、后的两个细菌中适应度较高的细菌进行第二次变异操作:将该细菌编码序列的中间位置左(或右)边的一级子序列从中间位置划分为两个二级子序列,将这两个二级子序列互换; 
对第二次变异操作前、后的两个细菌中适应度较高的细菌进行第三次变异操作:将该细菌编码序列最左(或右)边的二级子序列从中间位置划分为两个三级子序列,将这两个三级子序列互换; 
依此方式不断向细菌编码序列的左(或右)递归,直到细菌编码序列的首(或末) 位,趋化操作结束。 
四、细菌复制操作的改进 
细菌经过一段时间的觅食过程后,部分寻找食物能力弱的细菌会被自然淘汰,而为了维持种群规模不变,剩余的寻找食物能力强的细菌会进行繁殖。在细菌觅食算法中模拟这种现象称为复制操作,即以趋化过程中各细菌的适应度为标准,对其进行排序,较差的半数细菌淘汰,对较好的半数细菌复制,生成同样的细菌。但是此操作不仅缺乏菌群的多样性,同时也缺少菌群内部信息的交流,降低细菌的觅食能力。因此,本发明设计了基于遗传基因的细菌复制操作,即对较优的一半细菌和较差的一半细菌进行交叉,比较交叉后新细菌的适应度,留下较优的细菌进行复制操作。具体方法如下: 
设菌群的规模为S,在复制操作的过程中,按适应度排序后优秀细菌个体的数量和要被淘汰的个体数量均为S′=S/2。需要进行交叉的两个细菌个体为Xi和Xi+S′,其中i(1≤i≤S′)为细菌按适应度排序后的序号,交叉方法如下: 
首先对个体Xi和Xi+S′产生两个随机的交叉位置,然后删除Xi中Xi+S′的交叉部分中所对应的基因,同样删除Xi+S′中Xi的交叉部分所对应的基因,最后将Xi+S′中的交叉基因插入到Xi的后面(或者前面),Xi中的交叉基因插到Xi+S′的后面(或者前面)。下面举个例子来说明,Xi=35|231|264和Xi+S′=15|136|264为需要交叉的较优和较差个体,||为随机生成的交叉位置,其中|231|和|136|为交叉基因。首先删除Xi中的231后为35264,再把Xi+S′中的交叉部分136插到后面得到新的细菌个体35264136,同样可得到另一个体15264231。 
按照上述交叉方法,每次可以得到两个新的细菌个体,计算其适应度,留下适应度较高的个体,当完成所有的细菌交叉后,会得到S′个优秀细菌,对其进行复制操作生成新一代种群,种群规模仍为S。 
图3显示了本发明一个优选方案的基本流程,如图所示,该优选方案中包含了以上四个方面的改进。 
本发明所提出的混合智能优化方法可广泛适用于模式识别、图像处理、任务调度等领域的各类优化问题,只要根据实际优化对象进行相应的编码并根据所需的优化目标设定相应的适应度函数,即可采用本发明快速准确地获得最优结果。为了便于公众理解及使用本发明的技术方案,下面以几个应用实例来进行进一步说明。 
应用实例1、云环境下的虚拟机调度 
在云计算环境下,通过Map/Reduce框架将一个作业划分成若干个更细粒度的任务,并将这些任务调度到虚拟机上,缩短整个作业的完成时间。所以如何为这些任务寻求合适的虚拟机节点,即虚拟机调度,对作业的有效完成具有重要意义。可利用本发明的优化方法进行云环境下的虚拟机调度,从而保证任务的执行时间最短(或者根据实际需要设定的其它优化目标),具体实施方式如下: 
1、遗传-细菌编码: 
对于规模为N×M的虚拟机调度问题(其中N表示调度系统中的N个任务,M表示共有M台虚拟机对这些任务进行处理),采用一个一维整数串来表示可行调度方案的编码,个体的长度为当前需调度的任务数量,个体的每一位序号代表任务的编号,每一位上的值代表虚拟机节点的编号。 
2、初始种群确定: 
设种群的个数为Psize,按步骤1的编码规则随机生成Psize个个体以对应N个子任务与M个虚拟机的映射关系。 
3、先期遗传算法: 
1)、根据公式的选择算子进行选择操作; 
2)、采用双点交叉的方式以pc概率相互交换某两个个体之间的部分染色体; 
3)、对个体某一个或某一些基因座上的基因值按某一较小的概率pm进行改变; 
4)、计算适应度方差D(j),当D(j)大于λ时,转步骤1),当D(j)小于λ时,遗传算法转入细菌觅食算法。 
4、后期细菌觅食算法: 
1)、按照本发明提出的改进细菌趋化操作循环j次,趋化步骤如下: 
(A)计算群体中将进行趋化的第一个细菌A的适应度fA; 
(B)选定该编码序列的中间位置并保持不变,在某种意义上相当于确定了此次趋化的方向; 
(C)对该细菌进行变异操作,即交换中间位置两边的子序列,计算新细菌的适应度fA′; 
(D)比较适应度fA和fA′,选择适应度较高的细菌执行下一步的趋化操作; 
(E)选定细菌左子序列的中间位置作为趋化方向,交换左序列的两边子序列,比较适应度,选择适应度较高的细菌执行下一步的趋化操作; 
(F)同步骤(E),不断递归细菌的左序列直到序列的首位,代表该细菌趋化操作结束; 
(G)判断是否为最后一个细菌,如果是则结束趋化操作,如果不是则转步骤(A)。 
2)、以上述趋化过程后各细菌的适应度为标准,对其进行排序,对较优和较差的一半细菌个体进行交叉,比较新细菌个体的适应度,留下较优的一半细菌进行复制为相同的细菌; 
3)、判断复制操作循环数k是否到达最大,若没有达则到转步骤1); 
4)、将细菌以0.001~0.1的概率驱散到搜索空间中任意位置,即随机改变细菌编码; 
5)、判断驱散循环数l是否达到最大,若没有达到则转步骤2); 
6)、输出最优解。 
应用实例2物流车辆的路径问题 
随着电子商务的蓬勃发展,物流业已逐渐成为我国社会发展中最引人注目和极具价值潜力的新领域,受到各大企业和研究部门的重视。物流运输的费用主要分为管理费用、保管费用和运输费用,其中运输费用占有很大的比重,因此有必要解决车辆路径问题(Vehicle Routing Problem,VRP),从而达到降低物流运输的费用。利用本发明的算法解决车辆路径问题,合理安排每辆车的行驶路径,使总的运输成本最低,具体实施方式如下: 
1、遗传-细菌编码: 
对于规模为N×M的车辆路径问题(其中N表示物流运输系统中的N辆车,M表示共有M个地方需要送货),采用一个一维整数串来表示可行运输方案的编码,个体的长度为当前运输货物的车量数,个体的每一位序号代表车辆的编号,每一位上的值代表需要送货的地点编号。 
2、初始种群确定: 
设种群的个数为Psize,按上述步骤的编码规则随机生成Psize个个体以对应N辆运输车与M个送货地点的映射关系。 
3、先期遗传算法: 
1)、根据公式的选择算子进行选择操作; 
2)、采用双点交叉的方式以pc概率相互交换某两个个体之间的部分染色体; 
3)、对个体某一个或某一些基因座上的基因值按某一较小的概率pm进行改变; 
4)、计算适应度方差D(j),当D(j)大于λ时,转步骤1),当D(j)小于λ时,遗传算法转入细菌觅食算法。 
4、后期细菌觅食算法: 
1)、按照本发明提出的改进细菌趋化操作循环j次,趋化步骤如下: 
(A)计算群体中将进行趋化的第一个细菌A的适应度fA; 
(B)选定该编码序列的中间位置并保持不变,在某种意义上相当于确定了此次趋化的方向; 
(C)对该细菌进行变异操作,即交换中间位置两边的子序列,计算新细菌的适应度fA′; 
(D)比较适应度fA和fA′,选择适应度较高的细菌执行下一步的趋化操作; 
(E)选定细菌左子序列的中间位置作为趋化方向,交换左序列的两边子序列,比较适应度,选择适应度较高的细菌执行下一步的趋化操作; 
(F)同步骤(E),不断递归细菌的左序列直到序列的首位,代表该细菌趋化操作结束; 
(G)判断是否为最后一个细菌,如果是则结束趋化操作,如果不是则转步骤(A)。 
2)、以上述趋化过程后各细菌的适应度为标准,对其进行排序,对较优和较差的一半细菌个体进行交叉,比较新细菌个体的适应度,留下较优的一半细菌进行复制为相同的细菌; 
3)、判断复制操作循环数k是否到达最大,若没有达则到转步骤1); 
4)、将细菌以0.001~0.1的概率驱散到搜索空间中任意位置,即随机改变细菌编码; 
5)、判断驱散循环数l是否达到最大,若没有达到则转步骤2); 
6)、输出最优解。 
应用实例3图像处理 
图像处理是计算机视觉中的一个重要研究领域,在图像处理过程中,如扫描、特征提取、图像分割等不可避免地会存在一些误差,从而影响图像的效果,如何使这些误差最小是使计算机视觉达到实用化的重要要求。图像分割是图像处理中的重要问题,也是计算机视觉研究中的经典难题。图像分割是将目标和背景分离,为后继图像分类、识别等提供准备。利用本发明的算法解决图像分割问题,确定最优的分割阈值,使得二维熵阈值分割法取得良好的分割效果,具体实施方式如下: 
1、遗传-细菌编码: 
采用8位二进制代码表示256级灰度的图像,每个染色体表示一个阈值。 
2、初始种群确定: 
设种群的个数为Psize,按上述步骤的编码规则随机生成Psize个个体以对应Psize个门限值。 
3、先期遗传算法: 
1)、根据公式的选择算子进行选择操作; 
2)、采用双点交叉的方式以pc概率相互交换某两个个体之间的部分染色体; 
3)、对个体某一个或某一些基因座上的基因值按某一较小的概率pm进行改变; 
4)、计算适应度方差D(j),当D(j)大于λ时,转步骤1),当D(j)小于λ时,遗传算法转入细菌觅食算法。 
4、后期细菌觅食算法: 
1)、按照本发明提出的改进细菌趋化操作循环j次,趋化步骤如下: 
(A)计算群体中将进行趋化的第一个细菌A的适应度fA; 
(B)选定该编码序列的中间位置并保持不变,在某种意义上相当于确定了此次趋化的方向; 
(C)对该细菌进行变异操作,即交换中间位置两边的子序列,计算新细菌的适应度fA′; 
(D)比较适应度fA和fA′,选择适应度较高的细菌执行下一步的趋化操作; 
(E)选定细菌左子序列的中间位置作为趋化方向,交换左序列的两边子序列, 比较适应度,选择适应度较高的细菌执行下一步的趋化操作; 
(F)同步骤(E),不断递归细菌的左序列直到序列的首位,代表该细菌趋化操作结束; 
(G)判断是否为最后一个细菌,如果是则结束趋化操作,如果不是则转步骤(A)。 
2)、以上述趋化过程后各细菌的适应度为标准,对其进行排序,对较优和较差的一半细菌个体进行交叉,比较新细菌个体的适应度值,留下较优的一半细菌进行复制为相同的细菌; 
3)、判断复制操作循环数k是否到达最大,若没有达则到转步骤1); 
4)、将细菌以0.001~0.1的概率驱散到搜索空间中任意位置,即随机改变细菌编码; 
5)、判断驱散循环数l是否达到最大,若没有达到则转步骤2); 
6)、输出最优解。 
应用实例4旅行商问题 
旅行商问题(Traveling Salesman problem,TSP)是一个经典的组合优化问题,它描述为旅行商从某一个城市出发,遍历所有城市且仅一次,再回到出发城市,要求所得到一条巡回路径是最短的。TSP问题具有广泛的工程应用背景,许多实际应用问题都可以归类为TSP问题,如邮局问题、航班着陆排序、电路板设计、计算机网络、电缆和光缆布线等,经过简单处理,都可以建模为TSP问题。因此,对TSP寻找出实际而又有效的算法具有重要的理论意义。利用本发明的算法解决旅行商问题,使得走完所有城市所有的时间最短,具体实施方式如下: 
1、遗传-细菌编码: 
采用旅行遍历城市最自然的编码方案,即路径表示法。个体的长度为所有城市的数量,个体的每一位为城市的编号。例如:(7,4,9,5,6,1,2,8,10),表示从城市7出发,然后经由城市4-9-5-6-1-2-8-10,最后又回到出发城市7的一条路径。 
2、初始种群确定: 
设种群的个数为Psize,按上述步骤的编码规则随机生成Psize个个体以对应Psize种路径。 
3、先期遗传算法: 
1)、根据公式的选择算子进行选择操作; 
2)、采用双点交叉的方式以pc概率相互交换某两个个体之间的部分染色体; 
3)、对个体某一个或某一些基因座上的基因值按某一较小的概率pm进行改变; 
4)、计算适应方差D(j),当D(j)大于λ时,转步骤1),当D(j)小于λ时,遗传算法转入细菌觅食算法。 
4、后期细菌觅食算法: 
1)、按照本发明提出的改进细菌趋化操作循环j次,趋化步骤如下: 
(A)计算群体中将进行趋化的第一个细菌A的适应度fA; 
(B)选定该编码序列的中间位置并保持不变,在某种意义上相当于确定了此次趋化的方向; 
(C)对该细菌进行变异操作,即交换中间位置两边的子序列,计算新细菌的适应度fA′; 
(D)比较适应度fA和fA′,选择适应度较高的细菌执行下一步的趋化操作; 
(E)选定细菌左子序列的中间位置作为趋化方向,交换左序列的两边子序列,比较适应度,选择适应度较高的细菌执行下一步的趋化操作; 
(F)同步骤(E),不断递归细菌的左序列直到序列的首位,代表该细菌趋化操作结束; 
(G)判断是否为最后一个细菌,如果是则结束趋化操作,如果不是则转步骤(A)。 
2)、以上述趋化过程后各细菌的适应度为标准,对其进行排序,对较优和较差的一半细菌个体进行交叉,比较新细菌个体的适应度,留下较优的一半细菌进行复制为相同的细菌; 
3)、判断复制操作循环数k是否到达最大,若没有达则到转步骤1); 
4)、将细菌以0.001~0.1的概率驱散到搜索空间中任意位置,即随机改变细菌编码; 
5)、判断驱散循环数l是否达到最大,若没有达到则转步骤2); 
6)、输出最优解。 

一种混合智能优化方法.pdf_第1页
第1页 / 共16页
一种混合智能优化方法.pdf_第2页
第2页 / 共16页
一种混合智能优化方法.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《一种混合智能优化方法.pdf》由会员分享,可在线阅读,更多相关《一种混合智能优化方法.pdf(16页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103942419 A (43)申请公布日 2014.07.23 CN 103942419 A (21)申请号 201410137336.2 (22)申请日 2014.04.04 G06F 19/00(2011.01) (71)申请人 南京邮电大学 地址 210046 江苏省南京市新模范马路 66 号 (72)发明人 程春玲 殷小龙 张登银 付雄 华禹铭 (74)专利代理机构 南京经纬专利商标代理有限 公司 32200 代理人 杨楠 (54) 发明名称 一种混合智能优化方法 (57) 摘要 本发明公开了一种混合智能优化方法, 属于 人工智能与数据挖掘技术领域。本发明将。

2、遗传优 化算法与细菌觅食优化算法有机结合, 首先利用 遗传优化算法的广度搜索性得到初步的较优解, 并将其作为后期细菌觅食算法中的初始细菌种 群, 充分利用细菌觅食算法的趋化、 复制和驱散操 作, 不断产生优秀个体, 最终逐渐向最优解收敛。 本发明进一步在上述技术方案基础上, 从遗传选 择算子、 最佳结合点、 细菌趋化和复制操作四个方 面分别进行了改进。 相比现有技术, 本发明能够提 高最优解集的收敛速度和精度, 且具有更广泛的 适用性。 (51)Int.Cl. 权利要求书 2 页 说明书 10 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书。

3、10页 附图3页 (10)申请公布号 CN 103942419 A CN 103942419 A 1/2 页 2 1. 一种混合智能优化方法, 用于从对象的若干可行解中搜索出最优解, 其特征在于, 首 先将对象的可行解进行编码, 然后利用遗传优化算法得到一组较优解, 最后利用细菌觅食 优化算法从所述较优解中得到最优解。 2. 如权利要求 1 所述混合智能优化方法, 其特征在于, 所述细菌觅食优化算法中的趋 化操作具体如下 : 首先对将进行趋化的细菌进行第一次变异操作 : 将该细菌编码序列的中间位置两边的 两个一级子序列互换 ; 对第一次变异操作前、 后的两个细菌中适应度较高的细菌进行第二次变异。

4、操作 : 将该 细菌编码序列的中间位置左 / 右边的一级子序列从中间位置划分为两个二级子序列, 将这 两个二级子序列互换 ; 对第二次变异操作前、 后的两个细菌中适应度较高的细菌进行第三次变异操作 : 将该 细菌编码序列最左 / 右边的二级子序列从中间位置划分为两个三级子序列, 将这两个三级 子序列互换 ; 依此方式不断向细菌编码序列的左/右递归, 直到细菌编码序列的首/末位, 趋化操作 结束。 3. 如权利要求 1 所述混合智能优化方法, 其特征在于, 所述细菌觅食优化算法中的复 制操作具体如下 : 将当前细菌种群中的细菌按照适应度从小到大或从大到小的顺序进行排序 ; 对其中的第i个细菌和第。

5、个细菌进行以下交叉操作, ,S为所述细菌种群的规模 : 分别从细菌和细菌的编码序列中截取相同长 度的片段 ; 然后将从细菌截取的片段插入细菌剩余部分之前 / 后, 将从细菌 截取的片段插入细菌剩余部分之前 / 后, 得到两个新的细菌并保留其中适应度较高的细 菌 ; 待当前细菌种群中的所有细菌均完成交叉操作后, 对保留的细菌进行复制, 得到新的 细菌种群。 4. 如权利要求 3 所述混合智能优化方法, 其特征在于, 在从细菌和细菌的编码 序列中截取片段时, 截取位置为随机生成。 5. 如权利要求 1 所述混合智能优化方法, 其特征在于, 所述遗传优化算法中的选择操 作是指从当前种群中选择被选择概。

6、率较高的部分个体, 第 个染色体在代的被选择概率 按照下式得到 : , 式中, 为第 个染色体的适应度,为第代种群的适应度方差,e为自然常数,N 为第代种群规模。 6. 如权利要求 1 所述混合智能优化方法, 其特征在于, 在所述遗传优化算法中, 将每一 权 利 要 求 书 CN 103942419 A 2 2/2 页 3 代种群的适应度方差与一预设的阈值进行比较, 如当前种群的适应度方差小于所述阈值, 则停止遗传优化算法, 转而执行细菌觅食优化算法。 7.一种云环境下的虚拟机调度方法, 其特征在于, 利用权利要求16任一项所述混合 智能优化方法从若干可行的调度方案中搜索出最优的调度方案, 具。

7、体编码方法如下 : 用一 个一维整数串来表示可行调度方案的编码, 个体的长度为当前需调度的任务数量, 个体的 每一位序号代表任务的编号, 每一位上的值代表虚拟机节点的编号。 8.一种物流车辆的路径优化方法, 其特征在于, 利用权利要求16任一项所述混合智 能优化方法从若干可行的运输方案中搜索出最优的运输方案, 具体编码方法如下 : 用一个 一维整数串来表示可行运输方案的编码, 个体的长度为当前运输货物的车量数, 个体的每 一位序号代表车辆的编号, 每一位上的值代表需要送货的地点编号。 9.一种基于二维熵阈值的图像分割方法, 其特征在于, 利用权利要求16任一项所述 混合智能优化方法从若干可行的。

8、分割阈值中搜索出最优的分割阈值, 具体编码方法如下 : 用 8 位二进制代码表示 256 级灰度的图像, 每个染色体表示一个阈值。 10. 一种旅行商问题的优化方法, 其特征在于, 利用权利要求 1 6 任一项所述混合智 能优化方法从若干可行的巡回路径中搜索出最优的巡回路径, 具体编码方法如下 : 用一个 一维整数串来表示可行巡回路径的编码, 个体的长度为所有城市的数量, 个体的每一位为 城市的编号。 权 利 要 求 书 CN 103942419 A 3 1/10 页 4 一种混合智能优化方法 技术领域 0001 本发明涉及一种优化方法, 尤其涉及一种混合智能优化方法, 属于人工智能与数 据挖。

9、掘技术领域。 背景技术 0002 自上个世纪 70 年代以来, 智能优化算法凭借着高效的优化性能一直受到各领域 的研究与应用。尤其是针对大规模优化问题, 传统的基于线性规划的方法获得较优解的时 间十分漫长, 而智能优化算法能够在较短的时间内获得最优解, 因此智能优化算法不仅得 到了业界的认同, 而且也成为了学者们的研究热点。目前, 智能算法可分为两大类 : 传统的 智能优化算法和混合智能优化算法。 0003 1975年, 美国Michigan大学J.Holland教授的一篇著作 Adaptation in Natural and Artificial Systems 开启了学术界智能优化算法研。

10、究领域的大门, J.Holland 提出 的遗传优化算法 (Genrtic Algorithm, GA) 源于达尔文生物进化论中的适者生存、 优胜劣 汰理论。 接着, 伴随着时间的推移以及人们对自然界规律的不断认识与探索, 新的智能优化 算法慢慢地别学者们研究出来。1983 年, S.Kirkpatrick 等人基于固体物质退火思想提出 了模拟退火算法 (Simulated Annealing, SA) ; 1991 年, Dorigo 等人通过模拟蚂蚁在寻找 食物过程中的发现路径行为, 提出了蚁群优化算法 (Ant Colony Optimization, ACO) ; 1995 年, Eb。

11、erhart 和 Kennedy 通过模拟鸟群觅食行为提出了基于群体协作的粒子群优化算法 (Particle Swarm Optimization, PSO) ; 2002 年, Passino 通过对人类肠道中大肠杆菌在觅 食过程中所体现出来的智能行为进行模拟, 提出了细菌觅食优化算法 (Bacteria Foraging Optimization, BFO) 。 0004 由于单一智能优化算法都存在各自的缺点, 如遗传优化算法前期容易陷入局部最 优, 后期搜索缓慢 ; 细菌觅食算法不能使用整数编码等, 而且有的智能优化算法不能很好地 适应某一类应用, 如大规模的动态资源调度问题等, 因此混。

12、合优化算法应运而生, 鉴于传统 智能优化算法的优点和缺点, 大量学者提出了混合优化算法。 0005 基于粒子群算法和遗传优化算法的混合优化算法是首先用粒子群优化算法对种 群进行迭代到一定次数后, 保留最优的 M 个粒子, 然后以剩余的粒子为基础, 进行重编 码 后执行遗传优化算法的交叉和变异操作, 经过多次迭代后得到 N 个个体, 最后将之前保留 的M个粒子和后来的N个个体组合成新的粒子种群, 进入下一个循环。 该算法在进化迭代的 过程中能够实现信息的交换, 充分发挥各自的优势, 具有收敛速度快、 优化精度高的优点。 0006 基于人工鱼群和粒子群的混合优化算法的思想是 : 初始种群分为两个独。

13、立的子群 体A和B, 每一次迭代的过程中, 群体A采用人工鱼群算法进行优化, 群体B采用粒子群算法 进行优化, 最后将两个群体的解结合后进入下一次迭代。该混合优化算法不仅利用了人工 鱼群算法的随机快速搜索能力和发挥了粒子群算法不断追逐优秀个体的收敛性, 而且克服 了人工鱼群算法运行速度慢和粒子群容易陷入局部最优的缺点。 0007 基于遗传 - 粒子群混合优化的模糊 C 均值算法混合了遗传优化算法、 粒子群算法 说 明 书 CN 103942419 A 4 2/10 页 5 和模糊 C 均值聚类算法, 首先以粒子群算法为基础, 将遗传优化算法的选择、 交叉和变异操 作用于粒子, 然后以粒子群算法。

14、的编码方式为聚类中心编码, 最后采用基于遗传操作的粒 子群算法进行聚类中心的选取。改进后的算法不仅解决了模糊 C 均值算法的收敛速度对初 始值敏感的问题, 而且由于基于遗传操作的粒子群算法具备的全局寻优能力也解决了模糊 C 均值算法采用梯度下降法所带来的局部最优问题。 0008 基于模拟退火和粒子群的混合优化算法是在总体并行搜索的前提下对每个温度 串行地依次进行粒子群和模拟退火搜索, 将粒子群算法的一代结果作为模拟退火算法的初 始解 P, P 经过 Metropolis 抽样后得到的解 Q 又成为下一代粒子群算法的初始种群。该混 合算法将粒子群算法和模拟退火算法的并行搜索结构串连起来, 增强了。

15、全局和局部的搜索 能力和效率。 0009 综上所述, 混合优化算法是将两个或者更多的智能优化算法通过某种方式进行融 合, 吸取各自算法的优点, 摒弃各自算法的缺点, 从而使得混合后的算法具有高效的搜索能 力。 发明内容 0010 本发明所要解决的技术问题在于克服现有技术的不足, 提供一种将遗传优化算法 与细菌觅食优化算法相结合的混合智能优化方法, 有效提高优化效率。 0011 本发明具体采用以下技术方案 : 0012 一种混合智能优化方法, 用于从对象的若干可行解中搜索出最优解, 首先将对象 的可行解进行编码, 然后利用遗传优化算法得到一组较优解, 最后利用细菌觅食优化算法 从所述较优解中得到。

16、最优解。 0013 作为本发明的第一个进一步改进方案, 所述细菌觅食优化算法中的趋化操作具体 如下 : 0014 首先对将进行趋化的细菌进行第一次变异操作 : 将该细菌编码序列的中间位置两 边的两个一级子序列互换 ; 0015 对第一次变异操作前、 后的两个细菌中适应度较高的细菌进行第二次变异操作 : 将该细菌编码序列的中间位置左 / 右边的一级子序列从中间位置划分为两个二级子序列, 将这两个二级子序列互换 ; 0016 对第二次变异操作前、 后的两个细菌中适应度较高的细菌进行第三次变异操作 : 将该细菌编码序列最左 / 右边的二级子序列从中间位置划分为两个三级子序列, 将这两个 三级子序列互。

17、换 ; 0017 依此方式不断向细菌编码序列的左/右递归, 直到细菌编码序列的首/末位, 趋化 操作结束。 0018 作为本发明的第二个进一步改进方案, 所述细菌觅食优化算法中的复制操作具体 如下 : 0019 将当前细菌种群中的细菌按照适应度从小到大或从大到小的顺序进行排序 ; 0020 对其中的第 i 个细菌 Xi和第 i+S个细菌 Xi+S进行以下交叉操作, i=1,2,“,S, 0021 S=S/2, S为所述细菌种群的规模 : 分别从细菌Xi和细菌Xi+S的编码序列中截取 相同长度的片段 ; 然后将从细菌 Xi截取的片段插入细菌 Xi+S剩余部分之前 / 后, 将从细菌 说 明 书 。

18、CN 103942419 A 5 3/10 页 6 Xi+S截取的片段插入细菌 Xi剩余部分之前 / 后, 得到两个新的细菌并保留其中适应度较高 的细菌 ; 0022 待当前细菌种群中的所有细菌均完成交叉操作后, 对保留的细菌进行复制, 得到 新的细菌种群。 0023 作为本发明的第三个进一步改进方案, 所述遗传优化算法中的选择操作是指从当 前种群中选择被选择概率较高的部分个体, 第 i 个染色体在 j 代的被选择概率 Pi按照下式 得到 : 0024 0025 式中, fi为第 i 个染色体的适应度, D(j) 为第 j 代种群的适应度方差, e 为自然常 数, N 为第 j 代种群规模。 。

19、0026 作为本发明的第四个进一步改进方案, 在所述遗传优化算法中, 将每一代种群的 适应度方差与一预设的阈值进行比较, 如当前种群的适应度方差小于所述阈值, 则停止遗 传优化算法, 转而执行细菌觅食优化算法。 0027 本发明将遗传优化算法与细菌觅食优化算法有机结合, 首先利用遗传优化算法的 广度搜索性得到初步的较优解, 并将其作为后期细菌觅食算法中的初始细菌种群, 充分利 用细菌觅食算法的趋化、 复制和驱散操作, 不断产生优秀个体, 最终逐渐向最优解收敛。本 发明进一步基于适应度方差设计了两个算法的最佳结合点, 并且基于变异的细菌趋化操作 使得两个算法的编码方式统一。在算法的执行过程中, 。

20、为了避免遗传优化算法陷入局部最 优和后期进化缓慢的问题, 设计了基于适应度方差的选择算子, 同时为了增强菌群内部信 息的交流, 设计了基于遗传基因交叉的细菌复制操作。 相比现有技术, 本发明能够提高最优 解集的收敛速度和精度, 且具有更广泛的适用性。 附图说明 0028 图 1 为遗传优化算法的基本流程示意图 ; 0029 图 2 为细菌觅食优化算法的基本流程示意图 ; 0030 图 3 为本发明混合智能优化方法的一个优选方案的流程示意图。 具体实施方式 0031 下面结合附图对本发明的技术方案进行详细说明 : 0032 遗传优化算法作为经典的智能优化算法, 其基本流程如图 1 所示, 单一的。

21、遗传优 化算法存在前期容易陷入局部最优, 后期搜索缓慢的不足。细菌觅食优化算法作为一种新 型的智能优化算法, 其基本流程如图 2 所示, 单一的细菌觅食优化算法存在不能使用整数 编码的不足, 影响了其应用范围。 0033 本发明的思路是将遗传优化算法与细菌觅食优化算法有机结合, 设计了一种新的 混合智能优化方法, 首先利用遗传优化算法的广度搜索性得到初步的较优解, 并将其作为 后期细菌觅食算法中的初始细菌种群, 充分利用细菌觅食算法的趋化、 复制和驱散操作, 不 断产生优秀个体, 最终逐渐向最优解收敛。 本发明的混合智能优化方法具体如下 : 首先将对 象的可行解进行编码, 然后利用遗传优化算法。

22、得到一组较优解, 最后利用细菌觅食优化算 说 明 书 CN 103942419 A 6 4/10 页 7 法从所述较优解中得到最优解。 0034 本发明又在上述技术方案的基础上, 从遗传选择算子、 最佳结合点、 细菌趋化和复 制操作四个方面分别进行了改进, 具体如下 : 0035 一、 遗传选择算子的改进 0036 遗传优化算法在运行早期个体差异较大, 当采用传统的轮盘赌选择方法时, 后代 产生的概率和适应度大小成正比。 这样会使遗传优化算法早期优秀个体的后代充斥整个种 群, 造成早熟现象。而在遗传优化算法后期, 适配值趋于一致, 优秀个体在后代中优势不明 显, 使整个种群进化速度趋于停滞。因。

23、此本发明进一步根据每代个体的适应度方差对染色 体的选择概率进行改进, 第 i 个染色体在 j 代被选择概率的计算方法如下式 : 0037 0038 0039 其中 Pi为第 i(1 i N) 个染色体的被选择概率 ; fi为第 i 个染色体的适应度 ; e 为自然常数 ; N 为第 j 代种群规模 ; D(j) 为第 j 代种群的适应度方差, 适应度方差的计算 公式如下 : 0040 0041 其中, 表示第 j 代种群的适应度均值。 0042 由上面公式可以看出, 对于第j代种群, 如果D(j)较大, 种群中个体被选择的概率 会比较接近, 而遗传优化算法容易陷入局部最优多是由适应度较高的个体。

24、引起, 因此 D(j) 较大时可以拉近种群中高适应度和低适应度个体被选择的概率, 从而在很大程度上使得算 法避免陷入局部最优。而如果 D(j) 较小时, 适应度相近的个体被选择的概率差异将会放 大, 使得优秀个体的优势更加明显, 提高了算法的搜索速度。 0043 遗传优化算法前期的优劣个体参差不齐, 后期的优秀个体充斥着整个种群, 适应 度比较接近, 所以随着j的增大, D(j)逐渐变小。 在选择算子中引入适应度方差不仅能够使 得遗传优化算法早期的时候大幅度避免陷入局部最优而且能够改善算法后期的进化速度。 0044 二、 最佳结合点的确定 0045 结合点是指两种算法切换的时机, 在结合点之前。

25、釆用遗传优化算法, 在结合点之 后釆用细菌觅食优化算法, 可见如何选择最佳结合点将成为两个算法混合的关键, 选择的 时间过早会导致遗传算法未进化到较优解时就停止迭代, 影响细菌觅食算法的初始种群, 进而影响算法的搜索效率 ; 选择的时间过晚会导致遗传算法进行多次无用的冗余迭代后才 进入细菌觅食算法, 使得整个算法的最优解收敛速度变慢。 因此, 只有选择恰当的时机才能 保证混合优化算法的整体性能。 0046 两种算法的切换可通过最简单的预设遗传优化算法的最大进化代数来实现, 然而 最大进化代数的设定主要依靠经验, 对于不同的应用场合, 其效果难以保证。 在遗传算法后 期, 算法搜索速度会变得十分。

26、缓慢, 因此要在该趋势来临的时候转入细菌觅食算法, 而遗传 说 明 书 CN 103942419 A 7 5/10 页 8 算法后期搜索速度较慢的主要原因是由于染色体的适应度趋于一致, 优秀个体的优势不明 显。 本发明利用种群的适应度方差D(j)来确定结合点, 预先设定某一阈值, 当D(j)低于 阈值时, 则终止遗传算法进入细菌觅食算法 ; 其中阈值的值可根据算法的最大迭代次 数确定范围并通过实验在该范围内调节。 0047 三、 细菌趋化操作的改进 0048 细菌优化算法中的趋化操作针对的是实数, 而遗传优化算法的编码多为整数序 列, 当然, 可以采用数学方法将实数表示的浮点数值向以整数表示的。

27、序列进行转换, 但这样 不可避免地会带了误差, 从而影响最终结果。因此本发明进一步对细菌的趋化操作进行改 进, 以实现与遗传优化算法的编码规则相统一。 趋化的首次方向定位在序列的中间位置, 通 过对细菌个体的变异实现翻转, 变异方式为两边子序列的替换, 计算变异前后的个体适应 度, 选择适应度高的个体, 将其左序列的中间位置为下一次趋化方向, 同上述方法直到趋化 方向定位到序列的首位。具体方法如下 : 0049 首先对将进行趋化的细菌进行第一次变异操作 : 将该细菌编码序列的中间位置两 边的两个一级子序列互换 ; 0050 对第一次变异操作前、 后的两个细菌中适应度较高的细菌进行第二次变异操作。

28、 : 将该细菌编码序列的中间位置左 (或右) 边的一级子序列从中间位置划分为两个二级子序 列, 将这两个二级子序列互换 ; 0051 对第二次变异操作前、 后的两个细菌中适应度较高的细菌进行第三次变异操作 : 将该细菌编码序列最左 (或右) 边的二级子序列从中间位置划分为两个三级子序列, 将这两 个三级子序列互换 ; 0052 依此方式不断向细菌编码序列的左 (或右) 递归, 直到细菌编码序列的首 (或末) 位, 趋化操作结束。 0053 四、 细菌复制操作的改进 0054 细菌经过一段时间的觅食过程后, 部分寻找食物能力弱的细菌会被自然淘汰, 而 为了维持种群规模不变, 剩余的寻找食物能力强。

29、的细菌会进行繁殖。在细菌觅食算法中模 拟这种现象称为复制操作, 即以趋化过程中各细菌的适应度为标准, 对其进行排序, 较差的 半数细菌淘汰, 对较好的半数细菌复制, 生成同样的细菌。 但是此操作不仅缺乏菌群的多样 性, 同时也缺少菌群内部信息的交流, 降低细菌的觅食能力。因此, 本发明设计了基于遗传 基因的细菌复制操作, 即对较优的一半细菌和较差的一半细菌进行交叉, 比较交叉后新细 菌的适应度, 留下较优的细菌进行复制操作。具体方法如下 : 0055 设菌群的规模为 S, 在复制操作的过程中, 按适应度排序后优秀细菌个体的数量 和要被淘汰的个体数量均为 S =S/2。需要进行交叉的两个细菌个体。

30、为 Xi和 Xi+S, 其中 i(1 i S ) 为细菌按适应度排序后的序号, 交叉方法如下 : 0056 首先对个体 Xi和 Xi+S产生两个随机的交叉位置, 然后删除 Xi中 Xi+S的交叉部分 中所对应的基因, 同样删除 Xi+S中 Xi的交叉部分所对应的基因, 最后将 Xi+S中的交叉基因 插入到 Xi的后面 (或者前面) , Xi中的交叉基因插到 Xi+S的后面 (或者前面) 。下面举个例子 来说明, Xi=35|231|264 和 Xi+S=15|136|264 为需要交叉的较优和较差个体, | 为随机生成 的交叉位置, 其中 |231| 和 |136| 为交叉基因。首先删除 Xi。

31、中的 231 后为 35264, 再把 Xi+S 中的交叉部分 136 插到后面得到新的细菌个体 35264136, 同样可得到另一个体 15264231。 说 明 书 CN 103942419 A 8 6/10 页 9 0057 按照上述交叉方法, 每次可以得到两个新的细菌个体, 计算其适应度, 留下适应度 较高的个体, 当完成所有的细菌交叉后, 会得到 S个优秀细菌, 对其进行复制操作生成新 一代种群, 种群规模仍为 S。 0058 图 3 显示了本发明一个优选方案的基本流程, 如图所示, 该优选方案中包含了以 上四个方面的改进。 0059 本发明所提出的混合智能优化方法可广泛适用于模式识。

32、别、 图像处理、 任务调度 等领域的各类优化问题, 只要根据实际优化对象进行相应的编码并根据所需的优化目标设 定相应的适应度函数, 即可采用本发明快速准确地获得最优结果。为了便于公众理解及使 用本发明的技术方案, 下面以几个应用实例来进行进一步说明。 0060 应用实例 1、 云环境下的虚拟机调度 0061 在云计算环境下, 通过 Map/Reduce 框架将一个作业划分成若干个更细粒度的任 务, 并将这些任务调度到虚拟机上, 缩短整个作业的完成时间。 所以如何为这些任务寻求合 适的虚拟机节点, 即虚拟机调度, 对作业的有效完成具有重要意义。 可利用本发明的优化方 法进行云环境下的虚拟机调度,。

33、 从而保证任务的执行时间最短 (或者根据实际需要设定的 其它优化目标) , 具体实施方式如下 : 0062 1、 遗传 - 细菌编码 : 0063 对于规模为 NM 的虚拟机调度问题 (其中 N 表示调度系统中的 N 个任务, M 表示 共有 M 台虚拟机对这些任务进行处理) , 采用一个一维整数串来表示可行调度方案的编码, 个体的长度为当前需调度的任务数量, 个体的每一位序号代表任务的编号, 每一位上的值 代表虚拟机节点的编号。 0064 2、 初始种群确定 : 0065 设种群的个数为 Psize, 按步骤 1 的编码规则随机生成 Psize个个体以对应 N 个子任 务与 M 个虚拟机的映。

34、射关系。 0066 3、 先期遗传算法 : 0067 1) 、 根据公式的选择算子进行选择操作 ; 0068 2) 、 采用双点交叉的方式以 pc概率相互交换某两个个体之间的部分染色体 ; 0069 3) 、 对个体某一个或某一些基因座上的基因值按某一较小的概率 pm进行改变 ; 0070 4) 、 计算适应度方差 D(j), 当 D(j) 大于 时, 转步骤 1) , 当 D(j) 小于 时, 遗传 算法转入细菌觅食算法。 0071 4、 后期细菌觅食算法 : 0072 1) 、 按照本发明提出的改进细菌趋化操作循环 j 次, 趋化步骤如下 : 0073 (A) 计算群体中将进行趋化的第一个。

35、细菌 A 的适应度 fA; 0074 (B) 选定该编码序列的中间位置并保持不变, 在某种意义上相当于确定了此次趋 化的方向 ; 0075 (C) 对该细菌进行变异操作, 即交换中间位置两边的子序列, 计算新细菌的适应度 fA ; 0076 (D) 比较适应度 fA和 fA, 选择适应度较高的细菌执行下一步的趋化操作 ; 0077 (E) 选定细菌左子序列的中间位置作为趋化方向, 交换左序列的两边子序列, 比较 说 明 书 CN 103942419 A 9 7/10 页 10 适应度, 选择适应度较高的细菌执行下一步的趋化操作 ; 0078 (F) 同步骤 (E) , 不断递归细菌的左序列直到。

36、序列的首位, 代表该细菌趋化操作结 束 ; 0079 (G) 判断是否为最后一个细菌, 如果是则结束趋化操作, 如果不是则转步骤 (A) 。 0080 2) 、 以上述趋化过程后各细菌的适应度为标准, 对其进行排序, 对较优和较差的一 半细菌个体进行交叉, 比较新细菌个体的适应度, 留下较优的一半细菌进行复制为相同的 细菌 ; 0081 3) 、 判断复制操作循环数 k 是否到达最大, 若没有达则到转步骤 1) ; 0082 4) 、 将细菌以0.0010.1的概率驱散到搜索空间中任意位置, 即随机改变细菌编 码 ; 0083 5) 、 判断驱散循环数 l 是否达到最大, 若没有达到则转步骤 。

37、2) ; 0084 6) 、 输出最优解。 0085 应用实例 2 物流车辆的路径问题 0086 随着电子商务的蓬勃发展, 物流业已逐渐成为我国社会发展中最引人注目和极具 价值潜力的新领域, 受到各大企业和研究部门的重视。物流运输的费用主要分为管理费 用、 保管费用和运输费用, 其中运输费用占有很大的比重, 因此有必要解决车辆路径问题 (Vehicle Routing Problem, VRP), 从而达到降低物流运输的费用。 利用本发明的算法解决 车辆路径问题, 合理安排每辆车的行驶路径, 使总的运输成本最低, 具体实施方式如下 : 0087 1、 遗传 - 细菌编码 : 0088 对于规模。

38、为 NM 的车辆路径问题 (其中 N 表示物流运输系统中的 N 辆车, M 表示 共有 M 个地方需要送货) , 采用一个一维整数串来表示可行运输方案的编码, 个体的长度为 当前运输货物的车量数, 个体的每一位序号代表车辆的编号, 每一位上的值代表需要送货 的地点编号。 0089 2、 初始种群确定 : 0090 设种群的个数为 Psize, 按上述步骤的编码规则随机生成 Psize个个体以对应 N 辆运 输车与 M 个送货地点的映射关系。 0091 3、 先期遗传算法 : 0092 1) 、 根据公式的选择算子进行选择操作 ; 0093 2) 、 采用双点交叉的方式以 pc概率相互交换某两个。

39、个体之间的部分染色体 ; 0094 3) 、 对个体某一个或某一些基因座上的基因值按某一较小的概率 pm进行改变 ; 0095 4) 、 计算适应度方差 D(j), 当 D(j) 大于 时, 转步骤 1) , 当 D(j) 小于 时, 遗传 算法转入细菌觅食算法。 0096 4、 后期细菌觅食算法 : 0097 1) 、 按照本发明提出的改进细菌趋化操作循环 j 次, 趋化步骤如下 : 0098 (A) 计算群体中将进行趋化的第一个细菌 A 的适应度 fA; 0099 (B) 选定该编码序列的中间位置并保持不变, 在某种意义上相当于确定了此次趋 化的方向 ; 0100 (C) 对该细菌进行变异。

40、操作, 即交换中间位置两边的子序列, 计算新细菌的适应度 说 明 书 CN 103942419 A 10 8/10 页 11 fA ; 0101 (D) 比较适应度 fA和 fA, 选择适应度较高的细菌执行下一步的趋化操作 ; 0102 (E) 选定细菌左子序列的中间位置作为趋化方向, 交换左序列的两边子序列, 比较 适应度, 选择适应度较高的细菌执行下一步的趋化操作 ; 0103 (F) 同步骤 (E) , 不断递归细菌的左序列直到序列的首位, 代表该细菌趋化操作结 束 ; 0104 (G) 判断是否为最后一个细菌, 如果是则结束趋化操作, 如果不是则转步骤 (A) 。 0105 2) 、 。

41、以上述趋化过程后各细菌的适应度为标准, 对其进行排序, 对较优和较差的一 半细菌个体进行交叉, 比较新细菌个体的适应度, 留下较优的一半细菌进行复制为相同的 细菌 ; 0106 3) 、 判断复制操作循环数 k 是否到达最大, 若没有达则到转步骤 1) ; 0107 4) 、 将细菌以0.0010.1的概率驱散到搜索空间中任意位置, 即随机改变细菌编 码 ; 0108 5) 、 判断驱散循环数 l 是否达到最大, 若没有达到则转步骤 2) ; 0109 6) 、 输出最优解。 0110 应用实例 3 图像处理 0111 图像处理是计算机视觉中的一个重要研究领域, 在图像处理过程中, 如扫描、 。

42、特征 提取、 图像分割等不可避免地会存在一些误差, 从而影响图像的效果, 如何使这些误差最小 是使计算机视觉达到实用化的重要要求。图像分割是图像处理中的重要问题, 也是计算机 视觉研究中的经典难题。图像分割是将目标和背景分离, 为后继图像分类、 识别等提供准 备。 利用本发明的算法解决图像分割问题, 确定最优的分割阈值, 使得二维熵阈值分割法取 得良好的分割效果, 具体实施方式如下 : 0112 1、 遗传 - 细菌编码 : 0113 采用 8 位二进制代码表示 256 级灰度的图像, 每个染色体表示一个阈值。 0114 2、 初始种群确定 : 0115 设种群的个数为 Psize, 按上述步。

43、骤的编码规则随机生成 Psize个个体以对应 Psize个 门限值。 0116 3、 先期遗传算法 : 0117 1) 、 根据公式的选择算子进行选择操作 ; 0118 2) 、 采用双点交叉的方式以 pc概率相互交换某两个个体之间的部分染色体 ; 0119 3) 、 对个体某一个或某一些基因座上的基因值按某一较小的概率 pm进行改变 ; 0120 4) 、 计算适应度方差 D(j), 当 D(j) 大于 时, 转步骤 1) , 当 D(j) 小于 时, 遗传 算法转入细菌觅食算法。 0121 4、 后期细菌觅食算法 : 0122 1) 、 按照本发明提出的改进细菌趋化操作循环 j 次, 趋化。

44、步骤如下 : 0123 (A) 计算群体中将进行趋化的第一个细菌 A 的适应度 fA; 0124 (B) 选定该编码序列的中间位置并保持不变, 在某种意义上相当于确定了此次趋 化的方向 ; 说 明 书 CN 103942419 A 11 9/10 页 12 0125 (C) 对该细菌进行变异操作, 即交换中间位置两边的子序列, 计算新细菌的适应度 fA ; 0126 (D) 比较适应度 fA和 fA, 选择适应度较高的细菌执行下一步的趋化操作 ; 0127 (E) 选定细菌左子序列的中间位置作为趋化方向, 交换左序列的两边子序列, 比 较适应度, 选择适应度较高的细菌执行下一步的趋化操作 ; 。

45、0128 (F) 同步骤 (E) , 不断递归细菌的左序列直到序列的首位, 代表该细菌趋化操作结 束 ; 0129 (G) 判断是否为最后一个细菌, 如果是则结束趋化操作, 如果不是则转步骤 (A) 。 0130 2) 、 以上述趋化过程后各细菌的适应度为标准, 对其进行排序, 对较优和较差的一 半细菌个体进行交叉, 比较新细菌个体的适应度值, 留下较优的一半细菌进行复制为相同 的细菌 ; 0131 3) 、 判断复制操作循环数 k 是否到达最大, 若没有达则到转步骤 1) ; 0132 4) 、 将细菌以0.0010.1的概率驱散到搜索空间中任意位置, 即随机改变细菌编 码 ; 0133 5。

46、) 、 判断驱散循环数 l 是否达到最大, 若没有达到则转步骤 2) ; 0134 6) 、 输出最优解。 0135 应用实例 4 旅行商问题 0136 旅行商问题(Traveling Salesman problem, TSP)是一个经典的组合优化问题, 它 描述为旅行商从某一个城市出发, 遍历所有城市且仅一次, 再回到出发城市, 要求所得到一 条巡回路径是最短的。 TSP问题具有广泛的工程应用背景, 许多实际应用问题都可以归类为 TSP 问题, 如邮局问题、 航班着陆排序、 电路板设计、 计算机网络、 电缆和光缆布线等, 经过简 单处理, 都可以建模为 TSP 问题。因此, 对 TSP 寻。

47、找出实际而又有效的算法具有重要的理论 意义。 利用本发明的算法解决旅行商问题, 使得走完所有城市所有的时间最短, 具体实施方 式如下 : 0137 1、 遗传 - 细菌编码 : 0138 采用旅行遍历城市最自然的编码方案, 即路径表示法。个体的长度为所有城市的 数量, 个体的每一位为城市的编号。 例如 : (7, 4, 9, 5, 6, 1, 2, 8, 10), 表示从城市7出发, 然后 经由城市 4-9-5-6-1-2-8-10, 最后又回到出发城市 7 的一条路径。 0139 2、 初始种群确定 : 0140 设种群的个数为 Psize, 按上述步骤的编码规则随机生成 Psize个个体以。

48、对应 Psize种 路径。 0141 3、 先期遗传算法 : 0142 1) 、 根据公式的选择算子进行选择操作 ; 0143 2) 、 采用双点交叉的方式以 pc概率相互交换某两个个体之间的部分染色体 ; 0144 3) 、 对个体某一个或某一些基因座上的基因值按某一较小的概率 pm进行改变 ; 0145 4) 、 计算适应方差 D(j), 当 D(j) 大于 时, 转步骤 1) , 当 D(j) 小于 时, 遗传算 法转入细菌觅食算法。 0146 4、 后期细菌觅食算法 : 说 明 书 CN 103942419 A 12 10/10 页 13 0147 1) 、 按照本发明提出的改进细菌趋化操作循环 j 次, 趋化步骤如下 : 0148 (A) 计算群体中将进行趋化的第一个细菌 A 的适应度 fA; 0149 (B) 选定该编码序列的中间位置并保持不变, 在某种意义上相当于确定了此次趋 化的方向 ; 0150 (C) 对该细菌进行变异操作, 即交换中间位置两边的子序列, 计算新细菌的适应度 fA ; 0151 (D) 比较适应度 fA和 fA, 选择适应度较高的细菌执行下一步的趋化操作 ; 0152 (E) 选定细菌左子序列的中间位置作。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1