响应面
组件名称 | 响应面 | ||
---|---|---|---|
工具集 | 设计分析优化 | ||
组件作者 | 雪浪云-古风 | ||
文档版本 | 1.0 | ||
功能 | 可用于DoE计算结果的响应面分析 | ||
镜像名称 | suanpan_mdo:latest | ||
开发语言 | Python |
组件原理
读取优化问题定义和设计表csv文件(设计表中包含所有设计点的参数和响应),在弹窗界面中勾选的两个输入参数和一个输出变量拟合响应曲面,输入预测点的坐标,计算对应的预测值和梯度。
输入桩
输入端子1
- 端口名称:优化问题定义
- 输入类型:对象
- 功能描述:输入优化问题定义(optimizationProblem),基于其中输入参数取值范围定义响应面预测的范围。
- 示例:优化文档定义包含内容如下
{
"inputs": [
{"param": "Section1", "min": 0.001508619, "max": 0.006460916, "default":0.003 },
{"param": "Section2", "min": 0.001517848, "max": 0.006473421, "default": 0.003},
{"param": "Section3", "min": 0.001548177, "max": 0.006457974, "default": 0.003}
],
"outputs": ["First_Mode", "Max_Stress", "Mass", "Max_Displacement", "Cost"],
"objectives": [{"objective": "Volume", "option": "MaximizeValue"}],
"constraints": [{"function": "10-Surface"}, {"function": "Surface-2"}]
}
输入端子2
- 端口名称:设计表
- 输入类型:Csv文件
- 功能描述:输入设计表CSV文件
- 示例:CSV文件示例格式如下
tutorial_Stage09_LatinHypercube100_SUMMARY.csv
输出桩
组件为弹窗展示组件,无输出
数据接收方式
异步模式
参数配置
响应面模型类型
- 功能描述:在单选下来中选则支持SMT响应面拟合模型
- 必选参数:是
- 默认值:Kriging
- 示例:
响应面模型参数
- 功能描述:设置响应面模型类型参数,参考SMT库。
- 必选参数:否
- 默认值:
{}
,即使用如下响应面模型类型默认参数:- Kriging,调用SMT库KRG模型,默认参数
{theta0=[1e-2]*ndim,print_prediction = False}
- Quadratic,调用SMT库QP模型,默认参数
{print_prediction = False}
- RBF调用SMT库RBF模型,默认参数
{print_prediction = False,poly_degree = 0}
- Kriging,调用SMT库KRG模型,默认参数
- 示例:如,
{"print_global":False}
显示数据颗粒度
- 功能描述:x、y轴分别取样数目,
- 必选参数:否
- 默认值:50
- 示例:
运行调优
建议不进行特别配置,按照平台的默认分配运行。
使用方法
未部署状态下的操作步骤
后面板连接
响应面组件接收两个输入:
- 输入框前面板组件将优化问题定义发送给组件的输入端子1,
- 上传文件将设计表csv文件发送给组件的输入端子2.
其中上传文件右面版中将设计表上传并选择,具体操作参见上传文件组件,上传文件的输出桩需要设置为Csv文件。需要上传的设计表文件如上,输入端子2示例。
右面版配置
右面版参数配置如下,所有参数保持默认值。
部署状态下的操作步骤
前面板操作
- 在输入框中输入优化问题定义,内容同输入端子1的示例。
- 点击按钮触发上传文件组件输出Csv文件。
弹窗操作
- 节点收到数据后打开弹窗界面
- 选择拟合响应面的两个输入参数和一个输出响应,右侧可以看到拟合的响应面
- 修改预测点的坐标,可以得到预测值和梯度数据,在右侧响应面中可以看到预测点小球位置的变化。
弹窗界面布局如下: