MATLAB智能算法—遗传算法

1.遗传算法的介绍

遗传算法(Genetic Algorithm,GA)关键是把问题参数编码成染色体,再利用迭代方式进行选择、交叉、变异等运算交换种群中的染色体信息,根据适应度的好坏选择一定数量优秀的染色体,经过若干代的进化后,最终收敛于最好的符合优化目标染色体。

特点:

  1. 全局搜索能力强,局部搜索能力弱
  2. 一般得到的是次优解,而非最优解(问题规模小可得最优解,问题规模大一般只能得近似解)

术语:

  1. 个体(individual)
  2. 适应度函数(fitness function)、适应度函数值(fitness value)
  3. 种群(population)、种群大小(population size)
  4. 代(generation)
  5. 父代(parents)、子代(children)
  6. 选择(select)、交叉(crossover)、变异(mutation)
  7. 精英数目(eliteCount)、交叉后代比例(crossover fraction)

步骤:

  1. 初始化种群:位串编码、Grey编码、实数编码、多级参数编码、有序串编码、结构式编码
  2. 适应度函数:由目标函数变换得到,函数值越大/小,个体越优
  3. 选择操作:个体适应度函数值越高,被选中概率越大,轮盘赌法、锦标赛法
  4. 交叉操作:随机抽取种群两个个体,通过染色体的交换组合,把父串的优秀特征传给子串,从而产生新的优秀个体
  5. 变异操作:维持种群多样性,随机抽取种群单个体,选择染色体的一点变异
  6. 收敛寻优࿱

你可能感兴趣的:(数学建模,matlab,算法)