进化算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Evolutionary Computation: An interview Back and Schwefel
• We present an overview of the most important representatives of algorithms gleaned from natural evolution, so-called evolutionary algorithms. Evolution strategies, evolutionary programming, and genetic algorithms are summarized, with special emphasis on the principle of strategy parameter self-adaptation utilized by the first two algorithms to learn their own strategy parameters such as mutation variances and covariances. Some experimental results are presented which demonstrate the working principle and robustness of the self-adaptation methods used in evolution strategies and evolutionary programming. General principles of evolutionary algorithms are discussed, and we identify certain properties of natural evolution which might help to improve the problem solving capabilities of evolutionary algorithms even further.
进化算法的优势
• 与经典算法相比,进化算法能够解决一些 不确定、多峰、不连续、有约束、有噪声 函数、多个决策过程甚至是仿真模型的问 题;
• 不需要对搜索空间做任何的要求; • 解决新的优化问题的代价低,可用性高; • 可交互运行,在算法执行过程中可以修改
参数。
进化算法的缺点
• 不能保证找到全局最优解,没有可靠的算 法终止条件和足够的理论基础;
2.2.2 基因的交叉
• 基因的单点交叉法是很容易实现的,同样多 点交叉法也很容易能够实现,统一交叉法是 一种更一般的方法,在这种方法中交叉点的 选择是随机的。
• 通常的交叉操作会有两个父母个体,但是有 些会有更多的父母个体,BSC就是一种这样 的方法,这种方法通过利用依赖于个体的目 标函数值的概率分布得出新的个体。
• 许多数学工具也被用来分析遗传算法, 比如马尔科夫链(Markov chain)、系 统动力学(dynamical systems)等等。
3 进化策略(ES)
3.1 进化策略简介
• 进化策略主要应用于连续空间,和遗传算法一 样,在算法的初始阶段会有一个初始种群,并 由初始种群优胜劣汰、产生子女个体,由此产 生新的种群。种群的演变过程的主要操作是由 两个或更多的个体产生新的个体;变异操作由 一个个体产生另一个新的个体,这两种操作都 是随机进行的,操作的结果未知但服从一定的 概率分布。选择操作则利用了最优存活准则。
率的方法,每个个体被选中的概率与
该个体所对应的函数值有关,可表示
为:
ps (x j )
h(x j )
n
h(xk )
k 1
2.1 简单遗传算法(SGA)
• 在简单遗传算法中的交叉操作是在两个个 体中利用概率选择一个交叉点进行单点交 叉。
• 变异操作是在一个基因上进行的,该操作 将‘0’变为‘1’,或者将‘1’变为‘0’。
• 进化策略的另一个重要操作就是重组。 在进化策略中,重组操作的作用很容易 被忽略。
3.2 进化策略(ES)的组成
• 在进化策略中,有两种主要类型的重组 操作。第一种方法叫做双个体重组法; 第二种方法叫做全局重组法。在全局重 组中,首先选取一个具有较高适应度的 个体,然后在群众中再随机选取一个个 体与之重组。
进化算法解决的问题
• TSP(旅行商问题/中国邮递员问题)
n1
h( )
d d i ,i1
n ,1
i 1
• N维空间中的Ackley函数
h( ) c1 *exp(c2
1 nn i 1来自xi2)exp(
1 n
n i 1
cos(c3 * xi )) c1 e
2.2.1 基因的选择
• 在进行基因的选择时,精英主义(Elitism) 是一个非常重要的理念,这种方法能够保证 种群中最好的个体在下一轮进化中能够存活 下来。
• 另外一个重要的理念是基因裂缝( generation gap),在简单遗传算法中子女个 体完全替代他们的父母个体,而在这种理念 中子女个体只是以一定的概率代替他们的父 母个体。
221基因的选择在竞争式选择法tournamentselection中每一个个体都有一个适应值q该方法会随机选择一个个体和和种群中q值最大的个体进行基因重组这种方法随后又被改进成为波尔兹曼竞争式选择法boltzmanntournamentselection221基因的选择时间验收法是在现实中应用最广泛的一种方法验收时间就是一个算法通过基因选择得到一致性种群的迭代时间
2.2 简单遗传算法的延伸和修正
• 早期的简单遗传算法是一种基础性算法, 在实际执行过程中需要进行延伸和修正, 这些对简单遗传算法的延伸和修正主要涉 及基因的操作(选择、交叉和变异)和个 体的编码方式。
Evolutionary Computation, 1996., Proceedings of IEEE International Conference on1996IEEE
2.2.1 基因的选择
• 时间验收法是在现实中应用最广泛的一种方 法,验收时间就是一个算法通过基因选择得 到一致性种群的迭代时间。如果一个选择操 作的验收时间短,那么该操作就会有较大的 被选择压力,反之选择压力就小。
• 在同样的选择机制下,选择压力由低到高依 次为:比例选择法,线性排列选择法,竞争 式选择法,截断选择法。
• 遗传算法在实际应用中必须确定一些 参数的值,这些参数包括:种群中个 体的数量N、基因交叉概率pc和基因 突变概率pm。对于这些优化参数的研 究目前已经有了很成熟的理论。
2.3 遗传算法的理论模型
• 在遗传算法的理论研究方面已经有了很 大的进展,最著名的是Holland于1975年 提出的图解理论(schema theorem)。
2.2.3 基因的编码
• 当我们用遗传算法解决一个优化问题时,我 们通常面临关于编码问题的选择,当我们把 可行解编码成‘0-1’字符串时,这样会导致 一些编码和解码的功能被限制,当我们采取 非二进制编码时,一些操作就可能具有了局 限性。
• 常用的非二进制编码有:整数编码、实数编 码和排列编码。
2.2.4 参数
2.1 简单遗传算法(SGA)
• 在简单遗传算法中,每一个个体都被编码 成一个长度为n的“0-1”字符串,那么每一 个个体都可以被写成:x=(x1,x2,…xn),搜索 空间Ω=IBn={0,1}n。
• 在产生新的个体时,将会有基因的交叉和 变异。
2.1 简单遗传算法(SGA)
• 在优势个体选择时,可以利用基于概
• 算法复杂度较高; • 需要通过一定的实验得出一个参数集,这
本身可能就是一个复杂的优化问题。
二、遗传算法
• 在遗传算法中,我们通常所说的一个种群 被看作问题的可行域,每一个解都被看作 一个个体,个体的一个部分被看作基因。
• 在遗传算法执行的过程中,种群的一部分 个体被保留下来,然后利用被保留下来的 个体随机组合成新的个体,从而构成新的 种群。
Ackley, D. : A Connectionist Machine for Genetic Hillclimbing, Kluwer Academic Publishers, Boston, 1987.
进化算法解决的问题
f = -20 Exp[ -0.2 Sqrt[ 0.5 [x1^2 + x2^2 ] ] ] - Exp[ 0.5 [Cos[ 2Pi x1 ] + Cos[ 2Pi x2 ] ] + 20 + 2.71282;
3.2 进化策略(ES)的组成
• 选择操作也是进化策略的重要内容。在 进化策略中,通常用μ表示父母种群的大 小,而用λ表示子女种群的大小。选择操 作机制的两种类型一般用(μ , λ)和( μ + λ)来表示。
3.2 进化策略(ES)的组成
• Therefore, Ackley's function provides a reasonable test case for genetic search.
• 遗传算法(Genetic algorithms)最早应用 在组合优化领域,而后在数值领域快速发 展。
• 进化策略(Evolution Strategies)和进化程 序(Evolutionary Programming)也有了比 较快的进展。
进化算法简介
J.A. Lozano University of the Basque Country
一、进化算法介绍
• 进化算法的灵感来自物种进化理论,选拔和随机 的改变是其主要的两种方式,这两种方式同样可 以用计算机实现。
• 这种方法重要应用在优化领域,用于解决复杂的 现实问题。
• 优化问题就是在搜索空间中寻找目标函数的最优 解,这种最优解可能不止一个,同时搜索空间也 可能比较复杂。
S IRn [ , ]n
• 因而,个体空间就可以由Ω×S确定,一个 个体a就可以表示为:
a

((1x14,4x22,
..4.,
4x3n
)
,
(114,422,
.4..4n3
)
,
(114,4
22,
..., 4
4n3
))
x


3.2 进化策略(ES)的组成
• 进化策略与遗传算法一个不同的地方就 是进化策略的参数是不断改变的,这种 过程叫做自适应(self-adaptation)。
3.1 进化策略简介
• 进化策略主要有以下方面组成:编码、适 应度或目标函数、父母个体的选择机制、 对重组和变异操作的定义、选择机制和算 法参数(种群大小、变异率和重组率)。
3.2 进化策略(ES)的组成
• 进化策略的变异参数空间包括标准差和协 方差转角,在不同的算法中都会有不同的 简化方法。搜索空间S可表示为:
Plot3D[f, {x1,-5, 5}, {x2, -5, 5}, PlotPoints ->1, AxesLabel ->{x1, x2, “f(x1,x2)”}];
Optimal solution: (x1*, x2*)=(0, 0), f(x1*, x2*)=0
进化算法解决的问题
• As Ackley pointed out, this function causes moderate complications to the search, since though a strictly local optimization algorithm that performs hill-climbing would surely get trapped in a local optimum, a search strategy that scans a slightly bigger neighborhood would be able to cross intervening valleys towards increasingly better optima.
2.2.1 基因的选择
• Brindle 在1991年用一个适应度函数来控制 子女个体代替父母个体的概率,在线性排 列选择法(linear ranking selection)中, 一个个体的选择概率与它自身的适应度函 数值在种群中的排序相关。
2.2.1 基因的选择
• 在竞争式选择法(Tournament selection) 中,每一个个体都有一个适应值Q,该方法会 随机选择一个个体和和种群中Q值最大的个 体进行基因重组,这种方法随后又被改进 成为波尔兹曼竞争式选择法(Boltzmann tournament selection ).
相关文档
最新文档