【问题标题】:no solver display while running in mode 6 python gekko在模式 6 python gekko 下运行时没有求解器显示
【发布时间】:2020-03-17 23:00:36
【问题描述】:

我在 Gekko (python) 中显示 IPOPT 求解器时遇到问题,因为从 0.2.0 版升级脚本按预期工作,但在求解器工作时控制台中没有更多实时显示,请解决(disp=true) 不会改变任何东西。 我在 spyder 中运行 Ipython。 有没有人有办法解决吗 ?我的脚本运行大约需要 10 分钟,很高兴看到它是否未能更早地停止它。谢谢你的时间

阿德里安

【问题讨论】:

  • 请提供几行代码。

标签: python console display gekko


【解决方案1】:

您可以在更改求解选项debug=2 时逐行显示求解器输出。

m.solve(disp=True,debug=2)

更改是针对本地解决方案进行的,因为 Python 无法处理某些问题的文本输出速率,并且导致缓冲区填满并阻止程序完成。默认情况下,有一个enhancement request on Github 可以再次启用逐行输出。如果您的问题需要 10 分钟才能完成,那么缓冲区溢出应该不是问题。

【讨论】:

  • 感谢您的快速回复,我发现这个功能对于运行速度很快的问题很有意义,我只是尝试了两个:m.solve(disp=True, debug=2) 和 m.options。 DIAGLEVEL=2 单独运行,第二个不逐行运行并给出解决方案(因为它是 apm 选项所以有意义?), debug=2 输出“-------------- --------" 标题行,然后 apm 永远不会停止。当我杀死它(任务管理器)时,通常的输出是可见的
  • 我认为当你有 debug=2 时缓冲区会填满并创建一个锁。你试过m.options.DIAGLEVEL=0debug=2吗?关于如何在 Github 链接上使用本地解决方案进行逐行处理以跟踪问题,还有一些其他想法。我会尽快重温一遍。这似乎是一个受欢迎的选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-20
  • 2014-11-03
  • 1970-01-01
  • 2022-11-12
  • 2019-11-16
  • 2018-07-11
  • 1970-01-01
相关资源
最近更新 更多