问题标签 [gekko]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
87 浏览

python - Gekko 中的模类型约束

我想知道是否可以使用混合整数非线性规划求解器(例如APOPT求解器)添加整数约束,例如:变量应该是 5 的倍数。

0 投票
1 回答
327 浏览

python - 在 gekko 中定义最大函数时出错

我在 gekko-python 中定义 max 函数时遇到问题。

sum 函数工作正常,但是当我创建另一个函数时,只需将 sum 替换为 max ,然后它就会引发以下错误:

这是我使用的脚本的描述(带有模型、一些数据和结果)

0 投票
1 回答
236 浏览

python - 使用 GEKKO 获取非线性方程的所有根

以下面的非线性方程为例:

很明显,方程有 2 个根。

方程的根

但是,我使用 GEKKO 只能获得 1 个 root,更改 的初始值x,y可以得到另一个。

如何同时获得所有根?

0 投票
1 回答
268 浏览

python-3.x - Gekko优化问题中IMODE的选择

我在这里看到 imode=3 等效于稳态模拟(我猜 imode=2),除了允许额外的自由度。

我如何决定使用 imode=3 而不是 imode=2?

我正在使用 imode=2 进行优化,其中我正在定义求解器计算的变量以满足使用 m.Var 和其他使用 m.P​​aram 的约束。我需要对变量进行哪些更改才能使用 imode=3 ?

0 投票
1 回答
735 浏览

python - Gekko error " Results files not found. APM did not find a solution or the server is unreachable"

I follow course on this site: https://apmonitor.com/wiki/index.php/Main/GekkoPythonOptimization

I tried some Gekko script and get same error:

How can I fix it? Thank you!

0 投票
1 回答
194 浏览

python - 我可以在 Gekko 的中间变量中使用累积分布函数吗?

我正在尝试使用 Gekko 解决非线性优化问题,其中我的一个中间变量是使用正态分布的累积分布函数计算的,即 1-CDF(μ,σ, Rs-X) 其中 Rs 是另一个 Gekko 中间变量μ、σ 和 X 是 Gekko 参数/Python 变量。

我还使用 Gekko 的 if3 函数实现了这一点,如果 Rs-X 不是正数,则返回数字 1。

我在上面的最后一行代码中收到“TypeError:'int' 类型的对象没有 len()”。这个错误似乎是由中间变量 Rs 引起的。我尝试用固定数字替换它,错误消失了。

回溯(最后一次调用):文件“solve_v2.py”,第 59 行,在 pi_s[i,0].value = m.if3(R_s[i,0]-x<=0,1,1-norm. cdf(R_s[i,0]-x,df_inputs['Mu'].iloc[i]*0.5,df_inputs['Sigma'].iloc[i]*0.707)) ... 文件“C:\Users\ Programs\Python\Python37\lib\site-packages\gekko\gk_operators.py”,第 25 行,在len 返回 len(self.value) 文件“C:\Users\Programs\Python\Python37\lib\site-packages\ gekko\gk_operators.py",第 137 行,在len中 返回 len(self.value) TypeError: 'int' 类型的对象没有 len()

如何解决此错误?

0 投票
1 回答
360 浏览

python - 如何从先前的解决方案重新初始化 Python Gekko 中的优化

我正在用 Gekko 循环解决非线性优化问题,并希望使用先前的解决方案来初始化下一个解决方案。我用下面的代码创建了一个简化的问题来显示问题。

控制台打印:

在“再次求解”尝试之前,x1x2返回初始猜测值 1 和 5。我试过x1.value = x1.value了,但这又回来了RecursionError: maximum recursion depth exceeded。从 Gekko 的先前解决方案中初始化值的正确方法是什么?

0 投票
1 回答
145 浏览

python-3.x - 无法分配给函数 callPython(parser-80)

我正在尝试将激活函数参数从字符串列表传递给 b.layer() 。

我试过 eval('b.layer(parameters[1] = 3)')

'''

'''

0 投票
1 回答
1123 浏览

optimization - 使用数组模型函数在 gekko 中初始化变量

定义 Gekko 变量数组不允许任何参数来初始化变量。例如,我无法使用 m.Array 函数创建一个整数变量数组。

我可以使用以下语法创建一个变量数组:m.Array(m.Var, (42, 42))。但是,我不知道如何使这个数组成为整数变量数组,因为传递给 m.Array 函数的 m.Var 不接受任何参数。

  • 我有一个变量作为整数变量: my_var_is_an_integer_var = m.Var(0, lb=0, ub=1, integer=True)

  • 我有一个不是整数变量的变量数组: my_array_vars_are_not_integer_vars = m.Array(m.Var, (42, 42))

  • 我想要一个整数变量数组:my_array_vars_are_integer_vars = m.Array(m.Var(0, lb=0, ub=1, integer=True), (42,42)) (抛出错误)

我如何将数组中的变量初始化为整数变量???

尝试将数组初始化为整数变量时出错:

0 投票
1 回答
1075 浏览

python - 如何从 Matlab 正确调用 GEKKO

我找到了一个从 Matlab 调用 python 的函数。所以,我尝试使用这个函数从 Matlab 调用 GEKKO 包来解决 ODE。将 gekko 选项 (remote=true) 定义为函数或变量时出现错误。

我用 Anaconda Prompt 打开了 Matlab。

错误消息未定义的函数或变量“远程”。

ODE_gekko_matlab 中的错误(第 5 行)m = py.gekko.GEKKO(remote==True); % 在本地机器上解决