小编Jul*_*ann的帖子

能源系统的 Python GEKKO MINLP 优化:如何构建二维数组的中间体

我目前正在 Python GEKKO 中实施 MINLP 优化问题,以确定三代能源系统的最佳运行策略。由于我将不同代表性日子的所有时期的能源需求视为输入数据,因此基本上我所有的决策变量、中间体等都是二维数组。我怀疑 2D 中间体的声明是我的问题。现在我使用列表理解来声明 2D 中间体,但似乎 python 不能使用这些中间体。此外,误差这个稳态 IMODE 只允许标量值。发生。

每当我像这样使用 GEKKO m.Array 函数时: e_GT = m.Array(m.Intermediate(E_GT[z][p]/E_max_GT) for z in range(Z) for p in range(P), (Z,P)) 它说,GEKKO 对象 m.Intermediate 不能被调用。

如果有人能给我提示,我将不胜感激。

这是完整的代码:

"""
Created on Fri Nov 22 10:18:33 2019

@author: julia
"""
# __Get GEKKO & numpy___
from gekko import GEKKO
import numpy as np

# ___Initialize model___
m = GEKKO()

# ___Global options_____
m.options.SOLVER = 1                                                            # APOPT is MINLP Solver

# …
Run Code Online (Sandbox Code Playgroud)

python arrays optimization gekko

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

标签 统计

arrays ×1

gekko ×1

optimization ×1

python ×1