【问题标题】:Gekko Optimization Suite for Python - if3 always <0适用于 Python 的 Gekko 优化套件 - if3 始终 <0
【发布时间】:2022-01-19 16:29:32
【问题描述】:

我正在使用 python 3.8.10 和 gekko 1.0.1。我尝试使用model.if3 来检查变量是否与内部-model.abs3 相等。我观察到一个我无法解释的奇怪行为,这就是为什么我从 https://gekko.readthedocs.io/en/latest/model_methods.html (if3) 运行示例代码:

import numpy as np
import matplotlib.pyplot as plt
from gekko import GEKKO
m = GEKKO(remote=False)
p = m.Param()
y = m.if3(p-4,p**2,p+1)

# solve with condition<0
p.value = 3
print(p.value)
m.solve(disp=False)
print(y.value)

# solve with condition>=0
p.value = 5
print(p.value)
m.solve(disp=False)
print(y.value)

但我得到以下输出:

3
[9.0]
5
[9.0]

如果有任何帮助,我将不胜感激!

【问题讨论】:

    标签: python gekko


    【解决方案1】:

    我将 gekko 1.0.1 升级到 gekko 1.0.2,这解决了我的问题。 也许我的缓存变量有问题,或者升级解决了这个问题。

    【讨论】:

    • 感谢升级和测试。对于也需要它的其他人,这里是升级命令:pip install gekko --upgrade 以获取最新版本。版本 ChangeLog 中的一件事可能会影响此问题:github.com/BYU-PRISM/GEKKO/compare/v1.0.1...v1.0.2 变量的初始化方式。
    猜你喜欢
    • 2020-12-25
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多