4 U% V- C) q' @( A8 e; D5 [$ a V. \7 i) V3 J% S/ d T
三、遗传算法的基本流程及实现技术# y: }: w2 {# |1 Y+ ]$ M
- V. P6 U, _" m; R2 {. E
8 y$ A& o0 k& ~0 j" n
3.1 遗传算法的基本流程 # K4 H; _3 d( u! h' ^2 A) N* z) a1 W" {# u& f$ J
3 U# E @0 ?! n2 M! o- F. g+ a |
3.2 遗传算法的实现技术 0 k' P9 L& s: @, P; Z" I, M* w) s: n& a6 f
; F3 m* q5 i5 `6 F# N+ t/ U1.编码- d, L( E* Y* F0 Z8 u, B6 e4 l
$ x4 l: ?/ Z7 |6 l B, o9 Y! \! a# {" T( E- A5 S7 a) l4 [0 _
2.适应度函数0 q3 a- n F. t* U# d
1 v; J- c' T( a* X& q, o* G+ ^- m% L
( h Z/ ~1 x8 o
3.选择算子1 O, m6 T0 z$ U" d% R4 ^& Z
: s9 n( G7 ~! u2 k6 x1 u7 s4. 使用概率搜索而非确定性规则。) l! D9 z/ I' B; u4 X5 d
7 b0 }/ J* J& \! v5 _6 S
+ K! [: l- K$ P) _7 t) W 传统的优化算法往往使用确定性的搜索方法,一个搜索点到另一个搜索点的转移有确定的转移方向和转移关系,这种确定性可能使得搜索达不到最优店,限制了算法的应用范围。$ i1 r3 v, \/ f( c! f
5 `3 J. C' W/ D; f- S( ] ^; f' Y2 ~( O
遗传算法是一种自适应搜索技术,其选择、交叉、变异等运算都是以一种概率方式进行的,增加了搜索过程的灵活性,而且能以较大概率收敛于最优解,具有较好的全局优化求解能力。但,交叉概率、变异概率等参数也会影响算法的搜索结果和搜索效率,所以如何选择遗传算法的参数在其应用中是一个比较重要的问题。 ! l- h' L' e, y 7 s7 o8 Q P" b, k5 [5 b; {, g$ E, V 2 \9 e3 J+ ~' h) l. Q8 {9 w综上,由于遗传算法的整体搜索策略和优化搜索方式在计算时不依赖于梯度信息或其他辅助知识,只需要求解影响搜索方向的目标函数和相应的适应度函数,所以遗传算法提供了一种求解复杂系统问题的通用框架。它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,所以广泛应用于各种领域,包括:/ o; y: N8 G8 G4 Z/ `' P: S
% I$ O; E* s* F' W# _$ p) k b
/ w" f+ V0 \7 c4 O: K9 B2.适应度函数/ ?7 t" V2 `' H1 k. R
适应度函数要有效反映每一个染色体与问题的最优解染色体之间的差距。/ S/ N+ j# E) Y2 @' I! f! ~6 Y3 v
$ E- O; X6 g( y& H4 G5 g2 \
# |; i# O' g4 l1 M0 r( x
3.选择算子 * P5 H* ]4 |! Y通过选择算子模拟“优胜劣汰”,适应度高的个体被遗传到下一代的概率较大,适应度低的算子被遗传到下一代的概率较小。6 A' f [7 i0 Y, q/ M% f* l: O. x
5 k+ h. O5 a2 ~' H" m( K% h / _6 e: ?: E0 b1 X& e/ A常用的选择算法:轮盘赌选择法,即令表示群体的适应度函数值的总和,表示群体中第i个染色体的适应度值,则它产生后代的能力刚好为其适应度值所占的份额 , o$ T2 V7 }: ?1 _2 q2 Q9 W. ^, ?3 e
& P8 B! |! B0 H7 g# Y Q3 F4.交叉算子+ }5 T/ R* b4 Z9 E! L2 u/ f. i; R# D
交叉运算是指对两个相互配对的染色体按某种方式相互交换其部分基因,从而形成两个新的个体; V6 I% n( o6 ?2 V: k0 {$ i交叉运算是遗传算法区别于其他进化算法的重要特征,是产生新个体的主要方法。 8 r2 I7 s8 N3 z. k在交叉之前需要将群体中的个体进行配对,一般采取随机配对原则。$ t& [; h' j! Z: U/ S, T
' {* j5 K1 c; B( J% i+ t2 z' ~' p5 q: d7 x4 s" p( s7 ?2 k
常用的交叉方式: 0 q2 k- e1 A4 S ' D4 |- s& s* E. y# F3 W) f8 j3 k- U J* v
单点交叉) a- v9 _: S1 I+ O
双点交叉(多点交叉,交叉点数越多,个体的结构被破坏的可能性越大,一般不采用多点交叉的方式): [. S; y7 E+ ~# Q6 X5 q' p" R
均匀交叉# d2 J# A) ~# I+ x% g' M! U u1 b; L( X
算术交叉; X) l* m3 _* x6 l
5.变异算子 2 r9 f% z; K: a$ d3 k遗传算法中的变异运算是指将个体染色体编码串中的某些基因座上的基因值用该基因座的其他等位基因来替换,从而形成一个新的个体。( ?& s7 `1 n1 `! m2 E0 g
' ^/ |. t9 N* V
+ v8 Y4 Y7 p K+ d/ \就遗传算法运算过程中产生新个体的能力方面来说,交叉运算是产生新个体的主要方法,它决定了遗传算法的全局搜索能力;而变异运算只是产生新个体的辅助方法,但也是必不可少的一个运算步骤,它决定了遗传算法的局部搜索能力。交叉算子与变异算子的共同配合完成了其对搜索空间的全局搜索和局部搜索,从而使遗传算法能以良好的搜索性能完成最优化问题的寻优过程。: a) F* k/ k9 b% f
; H0 O/ s3 _5 ^7 Y; o; a, Y# m- y6 D J. j1 P5 p( {# a7 C
6.运行参数/ i$ b6 _5 U# \6 C3 ^* \! l! ^# ]
编码长度。编码长度取决于问题解的精度,精度越高,编码越长;0 L' \2 C( Y$ R+ `; Q; v
种群规模。规模小,收敛快但降低了种群的多样性,; 7 b9 u9 h8 D7 H- e; W h8 [: T交叉概率。较大的交叉概率容易破坏种群中已形成的优良结构,使搜索具有太大随机性;较小的交叉概率发现新个体的速度太慢,一般取值为 - K) C0 D, ^& H& T5 n' @; R! Q7 t变异概率。变异概率太小,则变异操作产生新个体的能力和抑制早熟现象的能力会较差;变异概率过高随机性过大,一般建议取值范围为0.005~0.01( i+ b; a+ b5 W" d2 j" e
终止进化代数。算法运行结束的条件之一,一般取100~10005 t2 c+ G: T! Y: ~2 {. p4 ]/ e
四、遗传算法的基本原理 3 i& w1 A% D% t) c' j) E4.1 模式定理 ! C: S0 {' j+ E% R) @6 x8 I R定义1:模式H是由{0,1,*}中的元素组成的一个编码串,其中“*”表示通配符,既能被当作0,也能被当作1。e.g. H=10**1( S, @, V% Q$ s) ~6 X
7 }8 j8 a1 q' Y+ t, l* d
6 n; g0 G& u) O " H% L7 D# F# {7 V2 I. F. a' l定义5:在选择、交叉、变异遗传算子的作用下,低阶、长度短、超过群体平均适应值的模式的生存数量,将随迭代次数以指数规律增长。8 T9 h9 t2 @/ b# f6 B0 D$ H) v
/ a; `. e' b' B$ ]+ C9 V# g
! ^ o% r+ x' V+ T* m模式定理不仅说明基因块的样本呈指数增长,也说明用遗传算法寻求最优样本的可能性,但它并未指出遗传算法一定能够寻求到最优解,积木块假设说明了遗传算法的寻找最优解的能力。5 S4 ^1 d& m, ]# K/ R, i
5 {9 F9 g2 f% [4 J * T2 P2 g. ?) N4.2 积木块假设 0 R. ?& s1 g" [/ b& j具有低阶、定义长度短,且适应度值高于群体平均适应度值的模式称为基因块或积木块。 F( e* N. ?5 c* w$ J- B/ T 8 F% C3 T. \2 u" p- J 4 e( W9 \# T0 |2 O+ r积木块假设:个体的基因块通过选择、交叉、变异等遗传算子的作用,能够相互拼接在一起,形成适应度更高的个体编码串。- Y0 f2 ~) D6 E+ u- S% Z, M( F
0 }( O" ?" a( `; V. T ~: ^: x' u' x& E# h+ h
积木块假设说明了用遗传算法求解各类问题的基本思想,即通过积木块直接相互拼接在一起能够产生更好的解。 , G2 q+ i- Y( l5 Y$ O / Q' w3 J7 Z+ P 2 i& a5 n0 L% i1 t# _五、遗传算法编程实例(MATLAB)) r4 e' z: s, F. d) P# E( B
https://github.com/strawberry-magic-pocket/Genetic-Algorithm.git ; Q/ v) N/ l! c' w8 }& O2 l: ]————————————————" c$ q9 ?6 U% s0 h: g9 h9 N
版权声明:本文为CSDN博主「草莓酱土司」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。3 M# D1 n# W$ J( P
原文链接:https://blog.csdn.net/qq_34554039/article/details/90521834 K0 R9 y8 o% j" Q: q! p- g4 N
3 a f; F, @, r( l" o
) S; J0 b0 q! _4 a