API Reference

Optimization API

Optimization API

UQPyL.optimization

optimization 模块运行单目标、多目标和昂贵模型优化算法。

导入

python
from UQPyL.optimization.soea import GA, PSO, DE
from UQPyL.optimization.moea import NSGAII
from UQPyL.optimization.runtime import OptReader

公共对象

类别对象
单目标算法GA, PSO, DE, SCE_UA, ML_SCE_UA, CSA, ABC
多目标算法NSGAII, NSGAIII, MOEAD, RVEA
昂贵优化算法EGO, ASMO, MOASMO
结果对象OptResult, OptHistory
种群对象Population
保存结果 readerOptReader

通用调用

text
result = algorithm.run(problem, seed=123)

构造函数通常接受:

参数含义
nPop种群规模。
maxFEs最大函数评估次数。
maxIters最大迭代次数。
verboseFlag, verboseFreq终端输出控制。
logFlag是否写文本日志。
saveFlag, saveFreq是否保存 sqlite 和快照间隔。

算法选择

任务推荐起点
普通单目标连续优化GA, PSO, DE
水文/参数校准类全局搜索SCE_UA, ML_SCE_UA
多目标 Pareto 搜索NSGAII
参考方向多目标优化NSGAIII, RVEA, MOEAD
昂贵单目标优化EGO, ASMO
昂贵多目标优化MOASMO

OptResult

字段含义
bestDecs最佳决策行;多目标时通常是 Pareto 决策矩阵。
bestObjsbestDecs 对应目标值。
bestCons对应约束值,无约束时为 None
bestFeasible最佳解是否可行。
bestMetric多目标或特定算法的进展指标。
FEs函数评估次数。
iters迭代数。
history运行历史。
summary()摘要字典。

Population

Population 存储优化中的成员。

字段含义
decs决策矩阵。
objs目标矩阵。
cons约束矩阵。
cv约束违反度。
feasible可行性标记。

OptReader

用于读取 saveFlag=True 保存的优化 sqlite。

方法含义
list_runs(result_dir)列出优化结果。
get_run_summary()读取运行摘要。
get_run_params()读取运行参数。
list_snapshots()列出保存的快照。
load_last_snapshot_members()读取最后一个快照中的成员。
load_result()重建 OptResult

下一步

目标阅读
用户指南Optimization
定义优化问题Problem API
代理辅助优化Surrogate API