jmodelica 优化有运行时错误
jmodelica optimization has runtime error
我正在尝试按照不同的论文和教程来学习如何解决 modelica 模型的优化问题。
在 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 我不知道注释什么
This file is compatible with both classic and new-style classes
意思是。我知道我的设置正在运行,因为我执行了 modelon 提供的 CSTR 教程。但是现在,它尝试使用我自己的模型,但它给了我那个错误。
Runtime Error desciption
使用与 Modelica 中相同的语法 import
例如
import Modelica.SIunits.Temperature;
包结构是模型识别的一部分应该可以解决问题。
op = transfer_optimization_problem('Integrator.optI', file_path)
我正在尝试按照不同的论文和教程来学习如何解决 modelica 模型的优化问题。 在 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 我不知道注释什么
This file is compatible with both classic and new-style classes
意思是。我知道我的设置正在运行,因为我执行了 modelon 提供的 CSTR 教程。但是现在,它尝试使用我自己的模型,但它给了我那个错误。
Runtime Error desciption
使用与 Modelica 中相同的语法 import
例如
import Modelica.SIunits.Temperature;
包结构是模型识别的一部分应该可以解决问题。
op = transfer_optimization_problem('Integrator.optI', file_path)