遗传算法总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhenguipa8450/article/details/81035584

遗传算法中实数编码的经典文章

实数编码遗传算法的评述

遗传算法中各种选择算子的选择压力

演化算法中各种选择算子的选择压力比较_林广明

遗传算法基本思想

1、首先实现从性状到基因的映射,即编码工作,然后从代表问题可能潜在解集的一个种群开始进行进化求解;
2、初代种群(编码集合)产生后,按照优胜劣汰的原则,根据个体适应度大小挑选(选择)个;
3、进行复制、交叉、变异,产生出代表新的解集的群体,再对其进行挑选以及一系列遗传操作,如此往复,逐代演化产生出越来越好的近似解。

遗传算法与经典算法的区别

1、两者的区别
遗传算法以决策变量的编码作为运算对象。传统的优化算法往往直接利用决策变量的实际值本身进行优化计算,但遗传算法不是直接以决策变量的值,而是以决策变量的某种形式的编码为运算对象,从而可以很方便地引入和应用遗传操作算子。(编码)
遗传算法直接以目标函数值作为搜索信息。传统的优化算法往往不只需要目标函数值,还需要目标函数的导数等其它信息。这样对许多目标函数无法求导或很难求导的函数,遗传算法就比较方便。(对函数要求低)
遗传算法同时进行解空间的多点搜索。传统的优化算法往往从解空间的一个初始点开始搜索,这样容易陷入局部极值点。遗传算法进行群体搜索,而且在搜索的过程中引入遗传运算,使群体又可以不断进化。这也是遗传算法所特有的一种隐含并行性。(群体优化,并行计算,避免陷入局部最优)
遗传算法使用概率搜索技术 。遗传算法属于一种自适应概率搜索技术,其选择、交叉、变异等运算都是以一种概率的方式来进行的,从而增加了其搜索过程的灵活性。实践和理论都已证明了在一定条件下遗传算法总是以概率1收敛于问题的最优解。(概率搜索)

2、遗传算法的特点:
- 遗传算法是对决策变量的编码进行操作,这样提供的参数信息量大,优化效果好。(编码)
- 遗传算法是从许多点开始并行操作,因而可以有效地防止搜索过程收敛于局部最优解。(多点并行)
- 遗传算法通过目标函数来计算适配值,而不需要其他推导和附加信息,从而对问题的依赖性小。(函数要求低)
- 遗传算法的寻优规则是由概率决定的,而非确定性的。 (概率搜索)
- 遗传算法对于待寻优的函数基本无限制,因而应用范围较广。(函数无限制)
- 遗传算法在解空间进行高效启发式搜索,而非盲目地穷举或完全随机搜索。(启发式搜索)
- 遗传算法具有并行计算的特点,因而可通过大规模并行计算来提高计算速度。(并行计算)
- 遗传算法更适合大规模复杂问题的优化。(大规模)
- 遗传算法计算简单,功能强。

3、传统算法的特点:
渐进收敛;经典的优化搜索算法往往是基于梯度的,梯度方向提高个体性能;单点搜索;局部最优。

遗传算法的五个关键问题

A genetic representation of potential solutions to the problem.(编码);
A way to create a population (an initial set of potential solutions).(群体初始化);
An evaluation function rating solutions in terms of their fitness.(个体评价);
Genetic operators that alter the genetic composition of offspring (selection, crossover, mutation, etc.).(遗传算子) ;
Parameter values that genetic algorithm uses (population size, probabilities of applying genetic operators, etc.).(参数选择)。

二进制编码需要会求解精度

2mj1<(bjaj)×1052mj1
xj=aj+decimal(substringj)×bjaj2mj1

轮盘赌的基本思想

轮盘赌是适应度比例选择的一种,它根据个体适应度来分配选择概率,个体适应度越好,则它被选中的概率越高。例如:种群大小为n,个体ind的适应度为Find,则它被选中的概率为:Pind=Findi=1nFi

编码需要满足的条件

  • 条件:
    1、染色体的可行性:是指由染色体解码的解是否位于给定问题的可行区域内。
    2、染色体的合法性:染色体是否代表某个问题的解决方案
    3、映射的唯一性
  • 原则(或性能):
    1、不冗余性:码空间到解空间是1对1影射;
    2、合法性:对编码的任意排列对对应一个解;
    3、完备性:任意一个解都对应一个排列;
    4、拉马赫性质:某个基因的等位基因的含义不依赖于其他基因

选择压力对算法的影响

选择压力大会使种群迅速收敛,失去多样性。较小会使种群收敛速度变得很慢。在算法的初始阶段,希望选择压力小一些,保证种群的多样性,在算法的后期希望选择压力大一些使算法迅速收敛。

选择压力的比较

轮盘赌 < 线性排序选择 < 锦标赛选择 <(μ+λ) 选择 <(μ,λ) 选择。
确定性选择 > 混合性选择 > 随机选择
精英保留策略 > 锦标赛选择 > 轮盘赌
①不确定性选择:轮盘赌(比例)选择,个体被选中的概率与其适应度大小成正比;
普通采样,采用均匀分布且个数等于种群规模的旋转指针。
②确定性选择:[λ+μ]选择(选择压力最大);[μ,λ]选择;截断选择;块选择;贪婪选择
③混合选择:竞赛选择;规模为2的竞赛选择。

常见的选择算子交叉算子和变异算子

  • 选择算子:轮盘赌选择,(μ+λ)选择,锦标赛选择法,共享函数法,排序法,截断选择法,精英保留选择。
  • 交叉算子:单点交叉,两点交叉,算术交叉
  • 变异算子: 随机变异,非一致性变异, 多项式变异

适应度调整的目的

To maintain a reasonable differential between relative fitness ratings of chromosomes.(维持个体之间的合理差距,加速竞争);
To prevent a too-rapid takeover by some supper chromosomes in order to meet the requirement to limit competition early on, but to stimulate it later.(避免个体之间的差距过大,限制竞争)。

遗传算子的分类

经典算子: 简单交叉(单割点,二割点,多割点,均匀);随机交叉(平面交叉,混合交叉);随机突变(边界突变,纯突变)。
算数算子:算术交叉(凸、仿射变换、线性、平均,中间);扩展的中间交叉;动态突变(非均匀突变)。
PSO算子:基于方向交叉;定向突变。
随机算子:单峰正态分布的交叉;高斯变异。

  • 选择:通过适应度的计算,淘汰不合理的个体,类似于自然界的物竞天择。
  • 交叉:编码的交叉重组,类似于染色体的交叉重组。
  • 变异:编码按小概率扰动产生的变化,类似于基因的突变。
  • 复制:编码的拷贝,类似于细胞分裂中染色体的复制。

模式定理

遗传算法中在选择,交叉,变异算子的作用下,具有低阶,短距,高平均适应度的模式将呈现指数增长;
模式阶:指模式中具有明确含义的字符个数记作o(s)
模式的长度:指模式中第一个和最后一个具有明确含义字符之间的距离,记作δ(s)=ba
遗传算法中的模式定理:经过交叉和变异的操作之后,下一代种群中模式s所拥有的个数为:
复制:
m(s,t+1)=m(s,t)f¯(s)f
交叉:
ps=1pcδ(s)λ1
变异:
ps=(1pm)o(s)1pmo(s)
结果:
m(s,t+1)m(s,t)f¯(s)f¯[1pcδ(s)λ1pmo(s)]
其中λ表示字符串的长度。

积木块定理

低阶,短距,且高适应度的模式,在选择,交叉和变异的遗传算子的作用下,相互结合,能生成高阶、长距、平均适应度高的模式,最终找到最优值。

其他

  • 遗传算法是由J.H.Holland于1975年提出
  • 遗传算法的生物基础是自然选择和遗传理论
  • 遗传算法是模拟生物进化机制的一种随机性全局优化算法
  • 遗传算法中最常用的选择算子是轮盘赌选择,和锦标赛选择
  • 最常用的交叉算子是单点交叉和两点交叉
  • 最常用的变异算子是基本位变异算子

多目标优化是什么

所谓优化就是在某种确定规则下,使得个体的性能最优。多目标优化,多于一个的数值目标在给定区域上的最优化问题称为多目标优化。

多目标优化问题的解及其形式

求解多目标优化问题的过程就是寻找Pareto最优解(非劣解、有效解)的过程。即在多目标优化中对某些子目标的优化不能影响到其它子目标的优化而容许的整个多目标的最优解。所谓多目标优化问题的最优解就是指Pareto最优解,且不再包含其他最优解。

基本求解方法(找出Pareto里面需要的一个解)

  • 产生式方法
    如果没有先验知识,只能采用产生式方法来检验所有的非支配可选解。需要作者从整个Pareto解中做选择来进行必要的价值判断。
  • 基于偏好的方法
    基于偏好的方法试图得到妥协解或偏好解。基于偏好的方法能够用正式和有结构的方式来清晰表达其偏好。
    权重和方法:权重可以理解为目标之间相对重要性或价值,或者对目标的偏好。
    效用函数法:效用函数是偏好结果的一种数学表示方法,它将目标空间的点影射为实数,数越大表明对该点偏好程度越高
    妥协函数法:寻找与理想点最接近的解
  • 约束法

适应度分配方法有哪些

(1)权重和方法:权重可以理解为目标之间相对重要性或价值,或者对目标的偏好。
(优点:通过算中和求得的全局最优解对应Pareto前端的一个解;局部最优解对应局部Pareto最优解;通过改变权值可以搜索到所有凸Pareto解)
(缺点:不能处理非凸的Pareto;很难找到均匀分布的Pareto解)
(2)矢量评价法(VEGA):在循环过程中根据多个目标选出若干下一代中的优秀个体(即子种群),然后将整个种群打乱并执行交叉变异,目的在于不同种群之间进行信息交流,它保护了单个目标上的最优个体的生存,同时为那些多于一个目标上好于平均值的个体提供合理被选择概率。(优点:简单,适合寻找Pareto front 的端点),(缺点:很难处理非凸问题)
(3)Pareto等级法:根据占优划分等级,对个体适应度的分配策略。
(优点:可以快速找到Pareto前端,有效保护种群多样性)
(缺点:非支配排序的时间复杂度很大;不支持精英策略;需要自己指定共享参数)
(4)贪婪保护法(SPEA):在外部群体中对占优解进行排序;个体适应度与外部群体比它性能优的个体数目相关,使用Pareto支配关系保持种群多样性,使用聚类方法减少非支配集。
(优点:可处理任意的目标函数,可产生解的分布,确定了一种无需参数的共享方法)
(缺点:因为确定了一个外部解集,故计算量大)

解的性能比较(评价标准)是什么?性能比较方法有哪些?

(1)多目标优化算法的评级指标通常有以下几项:逼近性GD(Generational Distance)、均匀性SP(Spacing)、宽广性EX、最优解数目ER(Error Ratio)、收敛性度量值γ和多样性度量值Δ
逼近性GD用来描述算法所获得的非劣最优解与Pareto前端的距离
均匀性SP用来描述非劣解在Pareto前端上的分布范围。
宽广性EX用来描述非劣最优解的分布范围。
收敛性度量值γ用来衡量一组已知的Pareto最优解集的收敛范围。
多样性度量值Δ用来衡量Pareto前端的分布。

(2)以上三点对应于多目标求解的三个目标
- 希望算法找到的Pareto 前端与实际的Pareto 前端的距离应尽可能的接近;
- 希望找到的Pareto 最优解具有较好的分布(如均匀分布、正态分布);
- 希望所找到的Pareto 前端的分布范围尽可能的宽广,即尽可能的覆盖每个子目标函数的可能取值范围

(3)性能的比较
- 直接比较法:它比较了两个非支配集AB 直接使用标量测度RAB,其中描述了A 比B 好多少。如:AB。计算RAB
优点:与独立比较相比,计算量低,不需要知道任何帕累托集;
缺点:如果两套不同的基数和/或集合的分布是不均匀的,那么C 的度量提供了不可靠的结果。
- 间接比较法:它选择一个参考集,比较两个非支配集与这个参考集,然后比较结果。如:AB。中间变量为Pareto,分别和他进行对比。
优点:易于理解、计算量低;
缺点:需要知道Pareto 前端,:度量只适用于有限数量的帕累托最优解。
- 独立比较法:它是衡量某些独立的属性的每个设置,并比较了这两种测量结果。如:S(A),和S(B),再比较它们。
优点:没有必要知道帕累托或其他参考点使用、它是独立的、意义直观;
缺点:需要非常大的计算量,这使得它完全适合于目标或大非大量支配集。

展开阅读全文

没有更多推荐了,返回首页