如何在python gekko包中索引变量以解决非线性优化问题?例如,我如何将下面的目标函数写入一个索引变量x的方程中?

For example:

推荐答案

使用m.Array()函数创建变量(或参数)array.np.prod()m.sum()函数用于定义目标函数m.Maximize()和等式m.Equation().

import numpy as np
from gekko import GEKKO
n = 5
m = GEKKO(remote=False)
x = m.Array(m.Var,n,value=1)
m.Maximize(np.prod([m.sqrt(xi) for xi in x]))
m.Equation(m.sum(x)==100)
m.solve(disp=False)
print(x)

解决方案:

[[20.0] [20.0] [20.0] [20.0] [20.0]]

Python相关问答推荐

如何从同一类的多个元素中抓取数据?

螺旋桨图上意外颠倒的次y轴

使用Python OpenCV的文本检测分割

按 struct 值对Polars列表[struct[]]排序

如何在不使用字符串的情况下将namedtuple属性传递给方法?

Polars -转换为PL后无法计算熵.列表

绘制系列时如何反转轴?

"如果发生特定错误,返回值

如何将带有逗号分隔的数字的字符串解析为int Array?

强制venv在bin而不是收件箱文件夹中创建虚拟环境

Python中是否有方法从公共域检索搜索结果

Pandas 第二小值有条件

pandas DataFrame GroupBy.diff函数的意外输出

抓取rotowire MLB球员新闻并使用Python形成表格

使用索引列表列表对列进行切片并获取行方向的向量长度

两个pandas的平均值按元素的结果串接元素.为什么?

Godot:需要碰撞的对象的AdditionerBody2D或Area2D以及queue_free?

在极性中创建条件累积和

使用密钥字典重新配置嵌套字典密钥名

Maya Python脚本将纹理应用于所有对象,而不是选定对象