个体(Individual)类
个体类是优化算法中的基本单位,用于表示一个解及其相关信息。
主要属性
| 属性名 | 类型 | 说明 |
|---|---|---|
| X | numpy.ndarray | 决策变量向量 |
| F | numpy.ndarray | 目标值向量 |
| G | numpy.ndarray | 约束值向量 |
| feasible | bool | 是否可行 |
| rank | int | NSGA-II等算法的排序等级 |
| crowding_distance | float | 拥挤距离 |
核心方法
1. 复制方法
copy(): 创建个体的深拷贝- 返回:
Individual实例,包含所有属性的深拷贝
- 返回:
result_copy(): 创建个体的结果拷贝- 返回:
Individual实例,只复制必要的属性(X, F, G, feasible, rank, crowding_distance)
- 返回:
使用示例
python
# 创建个体
X = np.random.random(10) # 10维决策变量
ind = Individual(X)
# 复制个体
ind_copy = ind.copy() # 深拷贝
ind_result = ind.result_copy() # 结果拷贝提示
- 个体类主要用于存储单个解的信息
- 支持深拷贝和结果拷贝两种复制方式
- 结果拷贝只复制必要的属性,适用于保存优化结果
