[ PROMPT_NODE_27148 ]
problems
[ SKILL_DOCUMENTATION ]
# Pymoo 测试问题参考
pymoo 中基准优化问题的综合参考。
## 单目标测试问题
### Ackley 函数
**特征:**
- 高度多峰
- 存在许多局部最优解
- 测试算法跳出局部极小值的能力
- 连续变量
### Griewank 函数
**特征:**
- 具有规则分布局部极小值的多峰函数
- 乘积项引入了变量间的相互依赖性
- 全局最小值位于原点
### Rastrigin 函数
**特征:**
- 具有规则间隔局部极小值的高度多峰函数
- 对基于梯度的方法具有挑战性
- 测试全局搜索能力
### Rosenbrock 函数
**特征:**
- 单峰但通往全局最优解的路径是一条狭窄的谷底
- 测试算法在复杂地形中的收敛性
- 连续优化的经典基准
### Zakharov 函数
**特征:**
- 单峰
- 单一全局最小值
- 测试基础收敛能力
## 多目标测试问题 (2-3 个目标)
### ZDT 测试集
**目的:** 双目标优化的标准基准
**构造:** f₂(x) = g(x) · h(f₁(x), g(x)),其中 g(x) = 1 为帕累托最优解
#### ZDT1
- **变量:** 30 个连续变量
- **边界:** [0, 1]
- **帕累托前沿:** 凸形
- **目的:** 基础收敛性和多样性测试
#### ZDT2
- **变量:** 30 个连续变量
- **边界:** [0, 1]
- **帕累托前沿:** 非凸 (凹形)
- **目的:** 测试对非凸前沿的处理能力
#### ZDT3
- **变量:** 30 个连续变量
- **边界:** [0, 1]
- **帕累托前沿:** 不连续 (5 个独立区域)
- **目的:** 测试在不连续前沿上的多样性保持能力
#### ZDT4
- **变量:** 10 个连续变量 (x₁ ∈ [0,1], x₂₋₁₀ ∈ [-10,10])
- **帕累托前沿:** 凸形
- **难度:** 21⁹ 个局部帕累托前沿
- **目的:** 测试在存在大量局部最优解情况下的全局搜索能力
#### ZDT5
- **变量:** 11 个离散变量 (位串)
- **编码:** x₁ 使用 30 位,x₂₋₁₁ 每个使用 5 位
- **帕累托前沿:** 凸形
- **目的:** 测试离散优化和欺骗性地形
#### ZDT6
- **变量:** 10 个连续变量
- **边界:** [0, 1]
- **帕累托前沿:** 非凸且密度不均匀
- **目的:** 测试对有偏解分布的处理能力
**用法:**
python
from pymoo.problems.multi import ZDT1, ZDT2, ZDT3, ZDT4, ZDT5, ZDT6
problem = ZDT1() # 或 ZDT2(), ZDT3(), 等
### BNH (Binh and Korn)
**特征:**
- 2 个目标
- 2 个变量
- 约束问题
- 测试