我正在尝试遵循不同的论文和教程来学习如何解决模型模型的优化问题。在http://www.syscop.de/files/2015ss/events/opcon-thermal-systems/optimization_tool_chain_in_jmodelica.org_toivo_henningsson.pdf我找到了一个非常简单的教程。但是当我执行它时,我会收到一些非常开放的错误消息。我正在将 Python 2.7 与 jupyther 一起使用。这是我的记事本:
from pyjmi import transfer_optimization_problem
import matplotlib.pyplot as plt
import os.path
file_path = os.path.join("D:\Studies", "Integrator.mop")
op = transfer_optimization_problem('optI', file_path)
res = op.optimize()
t = res['time']
x = res['x']
u = res['u']
plt.plot(t,x,t,u)
我的模型文件:
package Integrator
model Integrator
Real x(start=2, fixed = true);
input Real u;
equation
der(x) = -u;
end Integrator;
optimization optI(objective = finalTime, objectiveIntegrand = x^2 + u^2, startTime = 0, finalTime(free = true, min = 0.5, max = 2, initialGuess = 1))
Real x (start = 2, fixed = true);
input Real u;
equation
der(x) = -u;
constraint
u <= 2;
x(finalTime) = 0;
end optI;
end Integrator;
当我执行代码时,我得到一个 RuntimeError,告诉我发生了一个 java 错误以及打印的详细信息。从 Traceback 我不知道注释是什么
该文件与经典类和新式类兼容
意思是。我知道我的设置工作正常,因为我执行了 modelon 提供的 CSTR 教程。但是现在,它尝试使用我自己的模型,它给了我这个错误。