我想通过最小化测量数据和实验模型参数之间的误差来估计Modelica模型的参数。我发现的唯一实现是Nelder-Mead算法优化,目前尚不清楚如何实现。
############################## MODEL #####################################
from pyfmi import load_fmu
# Load model
model = load_fmu("TrialPython.fmu") ###Model with 13 defined input variables
output_fmu=['results.P_DC']### The output variable of the model
res = model.simulate(input=input_object, ##Simulation
start_time = tstart,
final_time = tstop)
P = res[output_fmu[0]]#### Output of the simulation
RealP_DC= pd.read_csv(path)### Real data
def MSE (parameters):#### OBJECTIVE FUNCTION WE WANT TO MINIMIZE
return (((SIMULATED(parameters))-RealP_DC)**2).mean())
与其手动调整参数(13个变量)以使目标函数MSE最小化,就像在模拟数据与实测数据之间的平方差定义的那样,我如何使用pYFMI来实现它。欢迎任何提示