繁体   English   中英

适用于 Python 的 Gekko 优化套件 - if3 始终 <0

[英]Gekko Optimization Suite for Python - if3 always <0

我正在使用 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)

但我得到了以下 output:

3
[9.0]
5
[9.0]

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM