遗传算法简介
优化问题
有三种类型的优化问题
- 第一种问题仅用一个优化函数和一个全局最优解来解决问题
- 第二种又叫做多目标优化问题,它用几个优化函数来优化问题。
- 第三种又叫做多模态问题,这种问题主要处理那种具有一个优化函数但是有几个全局或局部最优解的问题。
遗传算法
遗传算法是用在计算搜索和优化问题的可行解的全局搜索方法,遗传算法出现在20世纪60年代,它借鉴了自然界中如遗传、自然选择、交叉、变异的机制。
遗传算法的主要部分包括以下几个方面:
- 编码(Coding the solutions)
- 计算适应度(Evalution)
- 选择和重组(Selection & Recombination)
- 替代(Replacement)
简单的伪代码
- 对问题进行编码
- 生成初始种群的初始个体
- 计算种群中每个个体的适应度
- 迭代直到不再满足迭代条件:(时间限制、找到较优解等)
- 选择用来繁殖下一代最优的个体
- 通过交叉和变异算子来繁殖下一代
- 计算新个体的适应度
- 用新个体来替换次优的个体
- 对解进行解码
遗传算法基本概念
下面以旅行商问题(TSP)为例解释下遗传算法的基本概念。给定一个m个大小的城市列表和它们各自之间的距离,旅行商问题的任务是找到一个尽可能短的路径使得可以访问所有的城市一次且最后回到出发的地方,旅行商问题被一个城市间的距离矩阵所定义。