Skip to content

GarrentDSTRC/MMGP_Optimalization

Repository files navigation

  • 项目名称和简介
  • 安装和使用方法
  • 使用示例和结果
  • 常见问题和解决方法
  • 联系方式和反馈渠道

多可信度多任务高斯过程回归模型

这是一个使用PyTorch和GPyTorch实现的多可信度多任务高斯过程回归模型

安装

本项目需要以下依赖包:

  • math
  • numpy
  • torch
  • gpytorch
  • pyKriging
  • GPy(自建函数库)

你可以使用pip或conda来安装这些包,例如:

pip install numpy torch gpytorch pyKriging GPy

用法

本项目提供了三个主程序文件multi-Fidelity.pyinteract_predict.pyoptimalization.py, 你可以直接运行它来对应实现精度预测,模型交互预测,模型多目标优化三个功能例如:

python multi-Fidelity.py

在运行之前,你需要查看一些参数,例如:

  • num_tasks:任务的数量参数(默认为-2,表示两个任务)
  • num_input:输入变量的数量(默认为7)
  • Episode:训练轮数
  • device:设备类型(默认为"cpu")

你还需要提供以下数据文件:

  • .\Database\multifidelity_database.pth:保存数据库状态的文件

  • .\Database\singlefidelity_database.pth:保存单可信度数据库状态的文件

  • .\Database\saveX_gpytorch_multifidelity_multitask.npy:保存输入变量X的文件

  • .\Database\saveI_gpytorch_multifidelity_multitask.npy:保存可信度指标I的文件

  • .\Database\saveY_gpytorch_multifidelity_multitask.npy:保存输出变量Y的文件

  • .\Database\saveTestXdict_gpytorch_multifidelity_multitask.npy:保存测试数据索引的文件

  • .\Database\saveX_gpytorch_multi_EI_MS_H.npy:保存高保真度输入变量X的文件

  • .\Database\savey_gpytorch_multi_EI_MS_H.npy:保存高保真度输出变量Y的文件

    精度预测

    python multi-Fidelity.py 实现多可信度模型精度预测

    MAE测试平均误差 1.3093659 1.4386977
    MAE测试平均误差百分比 3.273414671421051 % 和 7.1934884786605835 %
    

    作为对比 python single_GP.py 实现多可信度模型精度预测, 体现多可信度方法的优越性

    MAE测试平均误差 4.6830754 3.448529
    MAE测试平均误差百分比 11.707688570022583 % 和 17.242645025253296 %
    

    模型交互预测

在运行过程中,你可以输入新的测试点,分别对应 运动参数"st", "ad","theta","phi", NACA翼型的 "m","p","t",并查看模型预测的推力和效率值,例如:

请输入第1个值(0.6-1.0): 0.8
请输入第2个值(0.1-0.6): 0.3
请输入第3个值(5.0-40.0): 10.0
请输入第4个值(0.0-180.0): 90.0
请输入第5个值(0.0-9.0): 5.0
请输入第6个值(0.0-9.0): 5.0
请输入第7个值(10.0-35.0): 20.0

测试点预测值(推力:效率) tensor([1.0234]) tensor([1.2345])

模型多目标优化

python optimalization.py 采用遗传算法实现多目标优化。可以在文件根目录得到帕利托前沿图 以及非支配解构成的表格,可以根据需求从非支配解里选取目标翼型

st,ad,theta,phi,m,p,t,ct,eta
0.9737145211936145,0.5975043704207346,27.631374748183617,70.93764239759362,3.010698739169989,7.246433694125961,27.33306805996405,0.698278546333313,0.49079960584640503
0.9957492632407522,0.5968743362806166,21.734313499067582,33.97845310063554,0.01518936395459769,4.686102042672794,27.01788877025963,0.48684003949165344,0.506516695022583
0.9968407953810151,0.596855308586465,22.1109194269274,33.02488081019345,0.01518936395459769,7.092601080240992,27.042698855355543,0.4944378733634949,0.5017181038856506
0.9955929245693657,0.5968743362806166,21.734313499067582,33.98554293350196,0.0034497126864950767,7.47464240244068,27.01788877025963,0.4814474880695343,0.5120450258255005
0.9957402467082492,0.5968743362806166,21.734313499067582,33.98554293350196,0.008343701489031408,7.092601080240992,27.01788877025963,0.48315665125846863,0.5088688731193542
0.9737145211936145,0.5975043704207346,27.631374748183617,83.96229986038662,3.010698739169989,7.246433694125961,27.032219634899356,0.6179041862487793,0.4953116774559021

联系方式和反馈渠道

如果你对本项目有任何问题或建议,欢迎通过以下方式联系我:

About

multitask and multifidelity GP (702 project)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published