【问题标题】:jmodelica optimization has runtime errorjmodelica 优化存在运行时错误
【发布时间】:2018-08-15 12:05:05
【问题描述】:

我正在尝试遵循不同的论文和教程来学习如何解决 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 我不知道注释是什么

此文件兼容经典类和新式类

意思。我知道我的设置工作正常,因为我执行了 modelon 提供的 CSTR 教程。但现在,它尝试使用我自己的模型,却给了我这个错误。

Runtime Error desciption

【问题讨论】:

    标签: python-2.7 optimization modelica jmodelica


    【解决方案1】:

    使用与 Modelica 中相同的语法用于 import 例如

    import Modelica.SIunits.Temperature;
    

    如果包结构是模型识别的一部分,应该可以解决问题。

    op  = transfer_optimization_problem('Integrator.optI', file_path)
    

    【讨论】:

    • 虽然此代码可以回答问题,但提供有关 如何为什么 解决问题的附加上下文将提高​​答案的长期价值。
    • 请说明为什么这可以解决问题。 meta.stackexchange.com/questions/114762/…
    猜你喜欢
    • 2010-10-08
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    • 2021-06-23
    • 2010-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多