【模式识别与机器学习(6)】主要算法与技术(下篇:高级模型与集成方法)之进化计算(Evolutionary Computation)

本文内容一览(快速理解)

  1. 进化计算是什么? 受生物进化过程启发的优化算法,模拟"物竞天择,适者生存",通过选择、交叉、变异等操作寻找最优解

  2. 为什么需要进化计算? 不需要梯度信息(适用于不可导函数),可以处理离散和连续优化,有概率跳出局部最优找到全局最优,适用于复杂的多峰值问题

  3. 基本概念是什么? 个体(问题的潜在解)、染色体(个体的编码表示)、基因(染色体的组成部分)、种群(多个个体组成的集合)、适应度函数(衡量个体好坏的函数)

  4. 进化过程是什么? 选择(根据适应度选择优秀父代)→ 交叉(父代交换基因生成子代)→ 变异(子代基因随机变化)→ 评估(计算适应度)→ 生存选择(形成新一代种群)

  5. 遗传算法的五个要素? 编码方案(如何编码解)、初始种群生成(如何生成第一代)、适应度函数(如何评估好坏)、遗传操作(选择/交叉/变异)、参数设置(种群大小/交叉概率/变异概率)

  6. 交叉操作的作用? 从父母染色体中选择基因生成子代,组合父代的优秀基因,探索新的解空间,保持种群多样性,交叉概率通常0.6-0.9

  7. 变异操作的作用? 染色体某些基因位置产生突变,防止陷入局部最优,保持种群多样性,探索新的解空间,变异概率通常0.001-0.1

  8. 遗传算法vs进化策略? 遗传算法用位串编码(二进制),可能找到全局最优,适合离散优化;进化策略用实数串编码,通常找到局部最优,适合连续优化

  9. 算法优缺点? 优点:不需要梯度信息、处理复杂问题、可能找到全局最优;缺点:编码方案选择困难、适应度函数设计困难、可能找不到全局最优、参数调优困难

  10. 适用场景? 遗传算法适合离散优化、组合优化、复杂的多峰值问题;进化策略适合连续优化、实值函数优化

学习路线建议

初学者:理解进化计算"物竞天择"的核心思想,掌握个体、染色体、种群、适应度函数等基本概念 | 进阶者:深入理解遗传算法的五个要素和基本流程,掌握交叉和变异操作的作用和参数设置 | 考试复习:重点掌握进化过程、遗传算法流程、交叉和变异操作、遗传算法与进化策略的区别

总结口诀

  • 核心思想:物竞天择 → 选择优秀 → 交叉变异 → 多代演化 → 找到最优
  • 五个要素:编码方案 → 初始种群 → 适应度函数 → 遗传操作 → 参数设置
  • 进化过程:选择 → 交叉 → 变异 → 评估 → 生存选择
  • 交叉操作:父母基因重组 → 组合优秀基因 → 探索新解空间(概率0.6-0.9)
  • 变异操作:基因随机突变 → 防止局部最优 → 保持多样性(概率0.001-0.1)
  • 算法对比:GA(位串编码,全局最优,离散优化)vs ES(实数编码,局部最优,连续优化)
  • 参数设置:种群大小20-200,交叉概率0.6-0.9,变异概率0.001-0.1

一、考试范围知识框架

[!NOTE]
📝 关键点总结:考试重点围绕进化计算的基本概念、遗传算法的基本流程和操作、遗传算法与进化策略的区别,需要理解适应度函数设计和进化过程。

考查重点

  • 进化计算框架:基本概念(个体、染色体、基因、种群、适应度函数)、进化过程(选择、交叉、变异、评估、生存选择)
  • 遗传算法:五个要素(编码方案、初始种群、适应度函数、遗传操作、参数设置)、基本流程、算法步骤
  • 遗传操作:交叉操作(单点交叉、两点交叉、均匀交叉)和变异操作(二进制编码变异、实数编码变异)的作用和参数设置
  • 遗传算法与进化策略的区别:编码方式(位串编码vs实数串编码)、优化能力(全局最优vs局部最优)、适用问题(离散优化vs连续优化)

可能考查的问题:遗传算法的基本流程和操作、遗传算法与进化策略的区别、适应度函数的设计、交叉和变异操作的作用、参数设置的影响

考试范围

  • 进化计算框架

  • 遗传算法(Genetic Algorithm)

  • 进化策略与进化规划

  • 遗传算法基本流程

可能考查的问题

  • 遗传算法的基本流程和操作

  • 遗传算法与进化策略的区别

  • 适应度函数的设计

 

二、进化计算框架

[!NOTE]
📝 关键点总结:进化计算是受生物进化过程启发的优化算法,通过选择、交叉、变异等操作模拟"物竞天择,适者生存"的过程,经过多代演化找到问题的最优解。

核心思想

  • 生物进化启发:模拟"物竞天择,适者生存"的过程
  • 基本过程:选择优秀个体 → 交叉生成子代 → 变异引入随机性 → 评估适应度 → 形成新一代种群
  • 形象比喻:就像培育新品种植物,选择最好的植株,让它们杂交,偶尔发生变异,经过多代培育得到更好的品种

基本概念

  • 个体和染色体:个体是问题的潜在解,染色体是个体的编码表示(由基因组成的基因串),基因是染色体的组成部分
  • 种群:由多个个体组成的集合,一代是当前的所有个体,演化是从一代到下一代的进化过程
  • 适应度函数:衡量个体"好坏"的函数,适应度越高个体越优秀,通常就是目标函数(或目标函数的某种变换)

进化过程

  1. 选择:根据适应度选择优秀的个体作为父代
  2. 交叉:父代个体交换基因,生成子代
  3. 变异:子代个体的某些基因发生随机变化
  4. 评估:计算新个体的适应度
  5. 生存选择:从父代和子代中选择个体形成新一代种群

决策标准:适应度越高 → 越可能被选中繁殖;经过多代演化 → 种群中的个体越来越接近最优解

2.1 什么是进化计算?

进化计算(Evolutionary Computation)是一种受生物进化过程启发的优化算法。简单来说,就是模拟"物竞天择,适者生存"的过程来寻找问题的最优解。

核心思想:就像生物进化一样,通过选择、交叉、变异等操作,让"优秀"的个体(解)更可能生存和繁殖,经过多代演化,种群中的个体越来越优秀,最终找到问题的最优解或近似最优解。

生活例子:就像培育新品种的植物:选择最好的植株,让它们杂交,偶尔发生变异,经过多代培育,得到更好的品种。

 

2.2 进化计算的发展历史

  • 20世纪50年代:进化计算研究开始

  • 20世纪60年代:Rechenberg提出进化策略(Evolution Strategies, ES),用于优化实值函数;Fogel、Owens和Walsh提出进化规划(Evolution Programming),将问题描述成有限状态机

  • 20世纪70年代:Holland提出遗传算法(Genetic Algorithms, GA)

这三种方法构成了进化计算的主要框架。

 

2.3 基本概念

1. 个体和染色体
  • 个体:问题的一个潜在解

  • 染色体:个体的编码表示,由一系列基因组成的基因串

  • 基因:染色体上的一个位置,表示解的一个组成部分

例子:如果我们要优化一个函数 f ( x 1 , x 2 ) f(x_1, x_2) f(x1,x2)

  • 个体: ( x 1 , x 2 ) = ( 3.5 , 2.1 ) (x_1, x_2) = (3.5, 2.1) (x1,x2)=(3.5,2.1)(一个解)

  • 染色体:可能是二进制编码 11010101 或实数编码 [3.5, 2.1]

  • 基因:染色体上的每一位或每个数值

2. 种群
  • 种群:由多个个体组成的集合

  • 一代:当前的所有个体

  • 演化:从一代到下一代的进化过程

3. 适应度函数
  • 适应度函数:衡量个体"好坏"的函数

  • 适应度越高,个体越优秀,越可能被选中繁殖

  • 通常就是我们要优化的目标函数(或目标函数的某种变换)

例子:优化函数 f ( x ) = x 2 f(x) = x^2 f(x)=x2

  • 个体 x = 5 x = 5 x=5 的适应度: f ( 5 ) = 25 f(5) = 25 f(5)=25

  • 个体 x = 3 x = 3 x=3 的适应度: f ( 3 ) = 9 f(3) = 9 f(3)=9

  • 如果我们要最大化 f ( x ) f(x) f(x),则 x = 5 x = 5 x=5 更优秀

 

2.4 进化过程

进化计算通过以下步骤完成一代的进化:

  1. 选择(Selection):根据适应度选择优秀的个体作为父代

  2. 交叉(Crossover):父代个体交换基因,生成子代

  3. 变异(Mutation):子代个体的某些基因发生随机变化

  4. 评估(Evaluation):计算新个体的适应度

  5. 生存选择(Survival Selection):从父代和子代中选择个体形成新一代种群

形象比喻选择是挑选优秀的父母;交叉是父母基因重组,生出孩子;变异是孩子发生基因突变;评估是测试孩子的能力;生存选择是让优秀的孩子和父母一起进入下一代。

经过多代演化,种群中的个体越来越适应环境(越来越接近最优解)。

 

三、遗传算法(Genetic Algorithm)

[!NOTE]
📝 关键点总结:遗传算法是进化计算中最常用的方法,模拟生物遗传和进化过程求解优化问题,需要定义五个要素:编码方案、初始种群、适应度函数、遗传操作、参数设置。

核心特点

  • 不需要梯度信息:适用于不可导函数
  • 处理能力强:可以处理离散和连续优化问题
  • 全局搜索能力:有概率跳出局部最优,找到全局最优
  • 适用场景:复杂的、多峰值的优化问题

五个要素

  1. 编码方案:如何将问题的解编码成染色体(二进制编码、实数编码、排列编码等)
  2. 初始种群生成:如何生成第一代个体(通常随机生成,保证多样性)
  3. 适应度函数:如何评估个体的好坏(通常就是目标函数或目标函数的倒数)
  4. 遗传操作:选择(如何选择父代)、交叉(如何生成子代)、变异(如何引入随机变化)
  5. 参数设置:种群大小(通常20-200)、交叉概率(通常0.6-0.9)、变异概率(通常0.001-0.1)、最大迭代次数

基本流程

  1. 初始化:随机生成初始种群 P ( 0 ) P(0) P(0) t = 0 t = 0 t=0
  2. 评估:计算种群 P ( t ) P(t) P(t) 中每个个体的适应度
  3. 重复:选择 → 交叉 → 变异 → 评估 → 生存选择 → 形成新一代种群 P ( t + 1 ) P(t+1) P(t+1)
  4. 终止条件:达到最大迭代次数、找到满足要求的解、种群适应度不再提升

决策标准:适应度高的个体 → 更可能被选中作为父代;经过多代演化 → 种群中的个体越来越接近最优解

3.1 什么是遗传算法?

遗传算法(Genetic Algorithm, GA)是进化计算中最常用的方法,模拟生物遗传和进化的过程来求解优化问题。

核心特点

  • 不需要问题的梯度信息(适用于不可导函数)

  • 可以处理离散和连续优化问题

  • 有概率跳出局部最优,找到全局最优

  • 适用于复杂的、多峰值的优化问题

 

3.2 遗传算法的五个要素

应用遗传算法解决某个具体问题,需要定义或选择五个成分:

1. 编码方案(Chromosome Encoding)

如何将问题的解编码成染色体。常见编码:二进制编码、实数编码、排列编码等。

例子:优化函数 f ( x ) f(x) f(x) x ∈ [ 0 , 10 ] x \in [0, 10] x[0,10]

  • 二进制编码:用8位二进制表示,如 10110101 表示 x = 181 / 255 × 10 ≈ 7.1 x = 181/255 \times 10 \approx 7.1 x=181/255×107.1

  • 实数编码:直接使用 x x x 的值,如 [7.1]

2. 初始种群生成

如何生成第一代个体。通常随机生成,保证多样性。

例子:生成10个随机个体

  • 二进制编码:随机生成10个8位二进制串

  • 实数编码:在 [ 0 , 10 ] [0, 10] [0,10] 范围内随机生成10个值

3. 适应度函数(Fitness Function)

如何评估个体的好坏。通常就是目标函数(最大化问题)或目标函数的倒数(最小化问题)。

例子:最大化 f ( x ) = x 2 f(x) = x^2 f(x)=x2

  • 适应度函数: F ( x ) = x 2 F(x) = x^2 F(x)=x2

  • 个体 x = 5 x = 5 x=5 的适应度: F ( 5 ) = 25 F(5) = 25 F(5)=25

  • 个体 x = 3 x = 3 x=3 的适应度: F ( 3 ) = 9 F(3) = 9 F(3)=9

4. 遗传操作(Genetic Operators)
  • 选择(Selection):如何选择父代个体

  • 交叉(Crossover):如何生成子代

  • 变异(Mutation):如何引入随机变化

5. 参数设置
  • 种群大小(通常20-200)

  • 交叉概率(通常0.6-0.9)

  • 变异概率(通常0.001-0.1)

  • 最大迭代次数

 

3.3 遗传算法的基本流程

算法步骤

  1. 初始化:随机生成初始种群 P ( 0 ) P(0) P(0) t = 0 t = 0 t=0

  2. 评估:计算种群 P ( t ) P(t) P(t) 中每个个体的适应度

  3. 重复以下过程直到满足终止条件

    • 选择:根据适应度选择父代个体

    • 交叉:父代个体交叉,生成子代

    • 变异:子代个体发生变异

    • 评估:计算子代的适应度

    • 生存选择:从父代和子代中选择个体形成新一代种群 P ( t + 1 ) P(t+1) P(t+1)

    • t = t + 1 t = t + 1 t=t+1

终止条件

  • 达到最大迭代次数

  • 找到满足要求的解

  • 种群适应度不再提升

算法流程图

开始
  │
  ├─→ 初始化种群P(0), t=0
  │
  ├─→ 评估种群P(t)中每个个体的适应度
  │
  ├─→ [判断] 满足终止条件?
  │         │
  │         ├─→ 是 → 输出最优解 → 结束
  │         │
  │         └─→ 否 → 选择父代个体
  │                    │
  │                    ├─→ 交叉操作生成子代
  │                    │
  │                    ├─→ 变异操作
  │                    │
  │                    ├─→ 评估子代适应度
  │                    │
  │                    ├─→ 生存选择,形成新一代种群P(t+1)
  │                    │
  │                    └─→ t = t+1 → 返回判断

例子:优化函数 f ( x ) = x 2 f(x) = x^2 f(x)=x2 x ∈ [ 0 , 10 ] x \in [0, 10] x[0,10]

假设使用二进制编码,种群大小为4:

  1. 初始化:随机生成4个8位二进制串

    • 个体1:01010101 x 1 ≈ 3.3 x_1 \approx 3.3 x13.3,适应度 f ( x 1 ) ≈ 10.9 f(x_1) \approx 10.9 f(x1)10.9

    • 个体2:10101010 x 2 ≈ 6.7 x_2 \approx 6.7 x26.7,适应度 f ( x 2 ) ≈ 44.9 f(x_2) \approx 44.9 f(x2)44.9

    • 个体3:11110000 x 3 ≈ 9.4 x_3 \approx 9.4 x39.4,适应度 f ( x 3 ) ≈ 88.4 f(x_3) \approx 88.4 f(x3)88.4

    • 个体4:00001111 x 4 ≈ 0.6 x_4 \approx 0.6 x40.6,适应度 f ( x 4 ) ≈ 0.4 f(x_4) \approx 0.4 f(x4)0.4

  2. 选择:选择适应度高的个体作为父代(如个体2和个体3)

  3. 交叉:父代交换部分基因,生成子代

  4. 变异:子代随机改变某些位

  5. 评估和选择:计算新个体的适应度,选择优秀的进入下一代

  6. 重复:经过多代演化,种群中的个体越来越接近最优解 x = 10 x = 10 x=10

 

四、遗传操作

[!NOTE]
📝 关键点总结:遗传操作包括交叉和变异,交叉操作组合父代的优秀基因探索新解空间,变异操作防止陷入局部最优保持种群多样性,需要平衡利用和探索。

交叉操作

  • 核心思想:从父母染色体中选择基因来生成新的子代,就像生物的有性繁殖
  • 单点交叉:随机选择一个交叉点,将父母基因链在交叉点切开,交换其后半部分
  • 其他方式:两点交叉(选择两个交叉点,交换中间部分)、均匀交叉(每个基因位置随机选择来自哪个父代)
  • 交叉概率:通常0.6-0.9,如果交叉不发生,子代直接复制父代
  • 作用:组合父代的优秀基因、探索新的解空间、保持种群的多样性

变异操作

  • 核心思想:通过染色体上的某些基因位置产生突变,使得新产生的个体与其他个体有所不同
  • 二进制编码变异:随机选择某些基因位,将该位的值取反(0变1,1变0)
  • 实数编码变异:随机选择某些基因,在该基因的值附近随机扰动
  • 变异概率:通常0.001-0.1,每个基因位独立地决定是否变异
  • 作用:防止陷入局部最优(引入随机性,可能跳出局部最优解)、保持种群多样性(避免所有个体都相同)、探索新的解空间(发现父代和交叉无法产生的解)

交叉和变异的关系

  • 互补作用:交叉利用现有信息组合优秀基因(利用),变异引入新信息探索未知区域(探索)
  • 平衡:交叉概率太大→种群过早收敛失去多样性,变异概率太大→种群随机游走失去方向性
  • 实际应用建议:交叉概率0.6-0.9(主要操作),变异概率0.001-0.1(辅助操作,保持多样性)

决策标准:交叉概率适中 → 平衡利用和探索;变异概率适中 → 防止局部最优保持多样性

4.1 交叉操作(Crossover)

核心思想:从父母染色体中选择基因来生成新的子代,就像生物的有性繁殖。

单点交叉(One-Point Crossover):最简单的方式:随机选择一个交叉点,将父母基因链在交叉点切开,并交换其后半部分。

例子

假设有两个父代个体(二进制编码):

  • 父代1:1010|1010(交叉点在中间)

  • 父代2:0101|0101

交叉后生成两个子代:

  • 子代1:1010|0101(父代1的前半部分 + 父代2的后半部分)

  • 子代2:0101|1010(父代2的前半部分 + 父代1的后半部分)

其他交叉方式

  • 两点交叉:选择两个交叉点,交换中间部分

  • 均匀交叉:每个基因位置随机选择来自哪个父代

交叉概率:交叉操作以一定概率发生(通常0.6-0.9)。如果交叉不发生,子代直接复制父代。

作用

  • 组合父代的优秀基因

  • 探索新的解空间

  • 保持种群的多样性

 

4.2 变异操作(Mutation)

核心思想:通过染色体上的某些基因位置产生突变,使得新产生的个体与其他个体有所不同。

二进制编码的变异:随机选择某些基因位,将该位的值取反(0变1,1变0)。

例子

假设有一个个体:10101010

随机选择第3位和第6位进行变异:

  • 变异前:10101010

  • 变异后:10001110(第3位和第6位取反)

实数编码的变异:随机选择某些基因,在该基因的值附近随机扰动。

例子

假设有一个个体:[3.5, 2.1, 7.8]

随机选择第2个基因进行变异(在 [ 2.1 − 0.5 , 2.1 + 0.5 ] [2.1-0.5, 2.1+0.5] [2.10.5,2.1+0.5] 范围内随机取值):

  • 变异前:[3.5, 2.1, 7.8]

  • 变异后:[3.5, 1.9, 7.8](第2个基因变为1.9)

变异概率:变异操作以一定概率发生(通常0.001-0.1)。每个基因位独立地决定是否变异。

作用

  • 防止陷入局部最优(引入随机性,可能跳出局部最优解)

  • 保持种群多样性(避免所有个体都相同)

  • 探索新的解空间(发现父代和交叉无法产生的解)

形象比喻交叉是父母基因重组,生出孩子(组合现有特征);变异是孩子发生基因突变(产生新特征)。

 

4.3 交叉和变异的关系

互补作用

  • 交叉:利用现有信息,组合优秀基因(利用)

  • 变异:引入新信息,探索未知区域(探索)

平衡

  • 交叉概率太大 → 种群过早收敛,失去多样性

  • 变异概率太大 → 种群随机游走,失去方向性

需要平衡利用和探索。

实际应用建议

  • 交叉概率:0.6-0.9(主要操作)

  • 变异概率:0.001-0.1(辅助操作,保持多样性)

 

五、遗传算法与进化策略的区别

[!NOTE]
📝 关键点总结:遗传算法使用位串编码(二进制),可能找到全局最优,适合离散优化;进化策略使用实数串编码,通常找到局部最优,适合连续优化。

编码方式的区别

  • 遗传算法(GA):通常使用位串编码(二进制编码),如 01101001111001010110(一串0和1),编码简单交叉和变异操作容易实现,但需要编码和解码可能损失精度
  • 进化策略(ES):使用实数串编码(直接使用实数值),如 [5, 1.2, 8, 3.11, 19, 7, 2, 4.3](直接是数值),不需要编码解码精度高适合连续优化,但交叉和变异操作需要特殊设计

优化能力的区别

  • 遗传算法(GA):计算速度相对较慢(需要编码解码),有可能找到全局最优解,适合离散优化、组合优化、复杂的多峰值问题,位串编码和交叉操作有助于跳出局部最优
  • 进化策略(ES):计算速度很快(直接操作实数),通常只能找到可行解或局部极值解,适合连续优化、实值函数优化,主要依赖变异容易陷入局部最优

算法对比

特性遗传算法(GA)进化策略(ES)
编码位串编码(二进制)实数串编码
速度较慢较快
优化能力可能找到全局最优通常找到局部最优
适用问题离散、组合优化连续优化
操作重点交叉为主变异为主

决策标准:离散优化问题 → 使用遗传算法;连续优化问题 → 使用进化策略

5.1 编码方式的区别

遗传算法(GA)

  • 编码方式:通常使用位串编码(二进制编码)

  • 例子01101001111001010110(一串0和1)

  • 优点:编码简单,交叉和变异操作容易实现

  • 缺点:需要编码和解码,可能损失精度

进化策略(ES)

  • 编码方式:使用实数串编码(直接使用实数值)

  • 例子[5, 1.2, 8, 3.11, 19, 7, 2, 4.3](直接是数值)

  • 优点:不需要编码解码,精度高,适合连续优化

  • 缺点:交叉和变异操作需要特殊设计

 

5.2 优化能力的区别

遗传算法(GA)

  • 计算速度:相对较慢(需要编码解码)

  • 优化能力:有可能找到全局最优解

  • 适用问题:离散优化、组合优化、复杂的多峰值问题

  • 原因:位串编码和交叉操作有助于跳出局部最优

进化策略(ES)

  • 计算速度:很快(直接操作实数)

  • 优化能力:通常只能找到可行解局部极值解

  • 适用问题:连续优化、实值函数优化

  • 原因:主要依赖变异,容易陷入局部最优

 

5.3 实际应用对比

特性遗传算法(GA)进化策略(ES)
编码位串编码(二进制)实数串编码
速度较慢较快
优化能力可能找到全局最优通常找到局部最优
适用问题离散、组合优化连续优化
操作重点交叉为主变异为主

例子

问题1:旅行商问题(TSP)(离散优化)

  • 适合:遗传算法

  • 编码:城市顺序的排列编码

  • 原因:问题是离散的,需要组合优化

问题2:优化函数 f ( x 1 , x 2 ) = x 1 2 + x 2 2 f(x_1, x_2) = x_1^2 + x_2^2 f(x1,x2)=x12+x22(连续优化)

  • 适合:进化策略

  • 编码:实数编码 [x_1, x_2]

  • 原因:问题是连续的,直接优化实数值

 

5.4 共同缺点

[!NOTE]
📝 关键点总结:遗传算法和进化策略都有编码方案选择困难、适应度函数设计困难、可能找不到全局最优解、参数调优困难等缺点,可以通过自适应参数调整、结合局部搜索算法、使用多种群并行演化等方法改进。

算法缺点

  • 编码方案选择困难:针对特定问题,选择合适的编码方案需要经验,编码方式直接影响算法性能
  • 适应度函数设计困难:需要将问题转化为适应度函数,适应度函数的设计影响搜索方向
  • 可能找不到全局最优解:算法是随机的,不保证找到全局最优,可能陷入局部最优或收敛到次优解
  • 参数调优困难:种群大小、交叉概率、变异概率等需要调优,不同问题需要不同的参数设置

改进方法

  • 使用自适应参数调整
  • 结合局部搜索算法
  • 使用多种群并行演化

决策标准:选择合适的编码方案和适应度函数 → 提高算法性能;使用自适应参数和多种群 → 提高找到全局最优的概率

遗传算法和进化策略都有以下缺点:

1. 编码方案选择困难

针对特定问题,选择合适的编码方案需要经验,编码方式直接影响算法性能。

2. 适应度函数设计困难

需要将问题转化为适应度函数,适应度函数的设计影响搜索方向。

3. 可能找不到全局最优解

算法是随机的,不保证找到全局最优,可能陷入局部最优或收敛到次优解。

4. 参数调优困难

种群大小、交叉概率、变异概率等需要调优,不同问题需要不同的参数设置。

改进方法

  • 使用自适应参数调整

  • 结合局部搜索算法

  • 使用多种群并行演化

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roman_日积跬步-终至千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值