[ PROMPT_NODE_27146 ]
Pymoo 操作符
[ SKILL_DOCUMENTATION ]
# Pymoo 遗传算子参考
pymoo 中遗传算子的综合参考。
## 采样算子
采样算子在优化开始时初始化种群。
### 随机采样
**目的:** 生成随机初始解
**类型:**
- `FloatRandomSampling`: 连续变量
- `BinaryRandomSampling`: 二进制变量
- `IntegerRandomSampling`: 整数变量
- `PermutationRandomSampling`: 基于排列的问题
**用法:**
python
from pymoo.operators.sampling.rnd import FloatRandomSampling
sampling = FloatRandomSampling()
### 拉丁超立方采样 (LHS)
**目的:** 空间填充式初始种群
**优势:** 比随机采样更好地覆盖搜索空间
**类型:**
- `LHS`: 标准拉丁超立方
**用法:**
python
from pymoo.operators.sampling.lhs import LHS
sampling = LHS()
### 自定义采样
通过 Population 对象或 NumPy 数组提供初始种群
## 选择算子
选择算子为繁殖选择父代。
### 锦标赛选择
**目的:** 通过锦标赛竞争选择父代
**机制:** 随机选择 k 个个体,选择最优者
**参数:**
- `pressure`: 锦标赛规模 (默认: 2)
- `func_comp`: 比较函数
**用法:**
python
from pymoo.operators.selection.tournament import TournamentSelection
selection = TournamentSelection(pressure=2)
### 随机选择
**目的:** 均匀随机选择父代
**用例:** 基准测试或侧重探索的算法
**用法:**
python
from pymoo.operators.selection.rnd import RandomSelection
selection = RandomSelection()
## 交叉算子
交叉算子重组父代解以产生后代。
### 针对连续变量
#### 模拟二进制交叉 (SBX)
**目的:** 连续优化的主要交叉算子
**机制:** 模拟二进制编码变量的单点交叉
**参数:**
- `prob`: 交叉概率 (默认: 0.9)
- `eta`: 分布指数 (默认: 15)
- eta 越高 → 后代越接近父代
- eta 越低 → 探索性越强
**用法:**
python
from pymoo.operators.crossover.sbx import SBX
crossover = SBX(prob=0.9, eta=15)
**字符串简写:** `"real_sbx"`
#### 差分进化交叉
**目的:** DE 特有的重组
**变体:**
- `DE/rand/1/bin`
- `DE/best/1/bin`
- `DE/current-to-best/1/bin`
**参数:**
- `CR`: 交叉率
- `F`: 缩放因子
### 针对二进制变量