首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GEKKO AttributeError : sos1

GEKKO AttributeError : sos1
EN

Stack Overflow用户
提问于 2019-11-13 16:56:15
回答 1查看 142关注 0票数 4

在python中使用example时,错误显示如下: AttributeError:'GEKKO‘对象没有属性'sos1’

如何修复此错误?

代码如下所示:

代码语言:javascript
复制
import numpy as np
from gekko import GEKKO
m = GEKKO()
x = []
x1 = m.Var(value=20,lb=20, ub=6555)  #integer=True
x2 = m.Var(value=1,lb=1,ub=10000)  #integer=True
x3 = m.sos1([30, 42, 45, 55])
x3.value = 1.0
x = [x1, x2, x3]
m.Equation((x1 * x2* x3) * 1e-6 >= 50)
def fun(x):
    return 44440 + ((np.pi * x[0] * x[1] * x[2]) * 1e-4)**0.613
m.Obj(fun(x))

# Change to True to initialize with IPOPT
init = False
if init:
    m.options.SOLVER=3  
    m.solve(disp=False) # Solve

m.options.SOLVER=1
m.solve(disp=True) # Solve

print('Results')
print('x1: ' + str(x1.value))
print('x2: ' + str(x2.value))
print('x3: ' + str(x3.value))
print('Objective: ' + str(m.options.objfcnval))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-13 23:36:13

sos1函数是最近添加的。您可以通过以下方式升级gekko包来使用它:

代码语言:javascript
复制
pip install gekko --upgrade

如果您没有管理权限,则可能需要添加--user标志。

代码语言:javascript
复制
pip install gekko --upgrade --user

您可以使用以下命令检查您的gekko版本:

代码语言:javascript
复制
import gekko
print(gekko.__version__)

它应该是v0.2.5或更高。这是pypi.org上的current version and release history of Gekko。以下是有关package management in Python的其他说明。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58833419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档