API Reference

Optimization API

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

UQPyL.optimization

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

导入

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

通用调用

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