小编Nat*_*iel的帖子

如何在 python 的 gekko 优化器中使用数组

我试图gekko python通过使用列表array x[]而不是变量来转换优化器中的示例x1.. x4。这是给出结果的代码,但我认为它不正确

from gekko import GEKKO
import numpy as np
# Initialize Model
m = GEKKO(remote=False)

#help(m)

#define parameter
eq = m.Param(value=40)

#initialize variables
x = [m.Var(value=1,lb=1,ub=5) for i in range(4)]
x[1].value=5
x[2].value=5

#Equations
m.Equation(np.prod([x[i] for i in range(0,4)])>=25)
m.Equation(np.sum([x[i]**2 for i in range(0,4)])==eq)

#Objective
m.Obj(x[0]*x[3]*(x[0]+x[1]+x[2])+x[2])

#Set global options
m.options.IMODE = 3 #steady state optimization

#Solve simulation
m.solve() # solve on public server

#Results
print('')
print('Results')
print('x1: ' + str(x[0].value))
print('x2: …
Run Code Online (Sandbox Code Playgroud)

python gekko

6
推荐指数
2
解决办法
2491
查看次数

Gekko非线性优化,约束函数评估if语句中的对象类型错误

我正在尝试解决非线性优化问题。我通过创建下面的代码来复制我的问题。Python返回TypeError: object of type 'int' has no len()。如何在约束函数中包含IF语句?

控制台将打印以下内容:

  File "<ipython-input-196-8d29d410dcea>", line 1, in <module>
    runfile('C:/Users/***/Documents/***/Project/untitled.py', wdir='C:/Users/***/Documents/***/***/Project')

  File "C:\Users\***\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 704, in runfile
    execfile(filename, namespace)

  File "C:\Users\***\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 108, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/***/Documents/***/***/Project/untitled.py", line 27, in <module>
    m.Equation(Cx(x1,x2,x3,x4) < 0)

  File "C:/Users/***/Documents/***/***/Project/untitled.py", line 17, in Cx
    if K > 15:

  File "C:\Users\***\Anaconda3\lib\site-packages\gekko\gk_operators.py", line 25, in __len__
    return len(self.value)

  File "C:\Users\***\Anaconda3\lib\site-packages\gekko\gk_operators.py", line 134, in __len__
    return len(self.value)

TypeError: object of type 'int' has no len() …
Run Code Online (Sandbox Code Playgroud)

python optimization ipopt gekko

5
推荐指数
1
解决办法
145
查看次数

标签 统计

gekko ×2

python ×2

ipopt ×1

optimization ×1