产生和发展
基本思想
基本流程
求解过程实例
编码
用字符串表达所研究的问题,成为编码。表达问题的字符串相当于遗传中的染色体,每个字符串称为个体,每一遗传代次中个体的组合成为群体。
形成初始群体
遗传算法中,常用随机的方法产生初始群体,即随机生成一组任意排列的字符串。
计算适应度
衡量字符串好坏的标准是适应度,就是目标函数,适应度是以后优胜劣汰的主要判据。
复制
从旧群中选择优良个体予以复制,直接进入下一代群体。选择的依据是个体适应度的大小,大的赋值;小的删除。
交叉
复制可以改善总性能,但是交叉可以产生新个体。对字符串某些部分进行交叉交换。
变异
将个体字符串某位符号进行逆变,得到新个体。
个体是否变异以及变异的位置,由变异概率决定。通常变异概率很小。
终止
重复3~6,直到求出满意结果。
基本算法
编码
- 二进制编码
- 格雷编码
- 实数编码
- 多参数级联编码
群体设定
规模太小,优化性能不好,容易陷入局部最优解;规模太大,计算复杂。
模式定理:若群体规模为M,则遗传操作可以从这M个个体中生成和检测M**3个模式。
适应度函数
尺度变换:
- 线性变换
- 幂函数变换
- 指数变换
选择
个体选择概率分配方法:
-
适应度比例
个体被选择的概率与其适应度成正比;即个体i的被选择概率为fi / fi(i=0…M)。 -
排序
选择个体的方法: -
转盘赌选择
-
锦标赛选择
-
最佳个体保存方法
交叉
变异
一般步骤
应用(TSP问题)