遗传算法(
Genetic Algorithm
)是一类借鉴生物界的进化规律(适者
生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。它是由
美国
的
J.Holland
教授
1975
年首先提出,其主要特点是直接对结构对象进行操作,
不存在求导和函数连续性的限定;
具有内在的隐并行性和更好的全局寻优能
力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地
调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地
应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它
是现代有关智能计算中的
关键技术
。
对于一个求函数最大值的优化问题
(
求函数最小值也类同
)
,
一般可以描
述为下列数学规划模型
:
遗传算法
式中为决策变量,为目标函数式,式
2-2
、
2-3
为约束条件,
U
是基本
空间,
R
是
U
的子集。满足约束条件的解
X
称为可行解,集合
R
表示所有满
足约束条件的解所组成的集合,称为可行解集合。
遗传算法的基本运算过程如下
:
a)
初始化
:
设置进化代数计数器
t=0
,设置最大进化代数
T
,随机生成
M
个个体作为初始群体
P(0)
。
b)
个体评价
:
计算群体
P(t)
中各个个体的适应度。
c)
选择运算
:
将选择算子作用于群体。选择的目的是把优化的个体直接
遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。
选择操作是建
立在群体中个体的适应度评估基础上的。
d)
交叉运算;将交叉算子作用于群体。所谓交叉是指把两个父代个体的
部分结构加以替换重组而生成新个体的操作。
遗传算法中起核心作用的就是
交叉算子。
e)
变异运算
:
将变异算子作用于群体。即是对群体中的个体串的某些基
因座上的基因值作变动。
群体
P(t)
经过选择、交叉、变异运算之后得到下一代群体
P(t 1)
。
f)
终止条件判断
:
若
tT,
则以进化过程中所得到的具有最大适应度
个体作为最优解输出,终止计算。
模拟退火算法新解的产生和接受可分为如下四个步骤:
第一步是由一个产生函数
从当前解产生一个位于解空间的新解;为便于后续的计算和接受,减少算法耗时,通