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)