我试图用Python GEKKO解决一个最小线性规划优化问题。有两件事我想问你。
首先;我仔细检查了下面的链接,并试图理解Hedengren先生所做的更改。
Python-GEKKO-MINLP能源系统优化:如何构建二维阵列的中间产物
在这个例子的带有文本编辑器的. apm模型文件中;有“连接”。我理解那里的操作,但是我不知道代码中的哪一部分带来了这些连接。我试着遵循这个例子;我使用了类似的中间结构,但是在我自己的模型中从来没有得到过类似的连接。
另一件事;在我的中间代码中,我有和函数。在模型的文本文件版本中,我再次看到求和总是从0开始,然后它将变量添加到彼此。例如:
......[(((((((0 (((((((((15))^(-9)))(2711)))(v230)))*(int_v340)))
在模型中;T=10 G=11,上面的等式是这样的:
INV=m.中级([[sum(pow((1 r),-t)*IC[g]*Z[g, t]*Y[g, t]表示范围(G)中的g)]表示范围(T)中的t])
操作看起来是正确的,但我不明白为什么每个括号中都有0(零)?它给出无效元素错误,并用最后一个t值指向变量。。。
***函数字符串语法错误:无效元素:v230
这个变量(v230)代表Z[11,10]。我发现它总是给出去年的错误,这意味着最高的t值。
同样,如果我用m.sum代替sum;它给出了这个错误:“x必须是GEKKO参数、变量或表达式的python列表”
如果你能给我一个提示,我将不胜感激。这可能不是什么大问题,但我自己找不到任何解决方案。
感谢您的时间和理解。
最好的问候
中间变量总是在开头加零,以防表达式中没有参数。下面是一个简单的Gekko脚本,它显示了中间产物和m.sum()的使用。
from gekko import GEKKO
m = GEKKO()
x = m.Array(m.Var,3)
m.Equation(m.sum(x)==3)
y = m.Intermediate(sum(x))
m.Minimize(y)
for i,xi in enumerate(x):
m.Minimize((xi-i)**2)
m.solve()
m.open_folder()
print(x)
这是gk_模型0。由Gekko生成并由APMonitor编译为字节码的apm模型文件。
Model
Variables
v1 = 0
v2 = 0
v3 = 0
End Variables
Intermediates
i0=(((0+v1)+v2)+v3)
End Intermediates
Equations
((v1+v2)+v3)=3
minimize i0
minimize (((v1-0))^(2))
minimize (((v2-1))^(2))
minimize (((v3-2))^(2))
End Equations
End Model
如果x
numpy数组转换为带有x=list(x)
的列表,则它会创建一个对象并连接到这些对象,如留档所示。这是APMonitor模型。
Model
Variables
v1 = 0
v2 = 0
v3 = 0
v4 = 0
End Variables
Intermediates
i0=(((0+v1)+v2)+v3)
End Intermediates
Equations
v4=3
minimize i0
minimize (((v1-0))^(2))
minimize (((v2-1))^(2))
minimize (((v3-2))^(2))
End Equations
Connections
v1 = sum_1.x[1]
v2 = sum_1.x[2]
v3 = sum_1.x[3]
v4 = sum_1.y
End Connections
Objects
sum_1 = sum(3)
End Objects
End Model
DocBook 中的一些元素,在发布的时候会作为条目被收进目录。它们表示的是文档内部的结构,所以它们是结构元素,如下: <set> <book><part><chapter> <sect1> <sect2> ………… </sect2> </sect1></chapter> </part> </book> </set> 如果 DocBook 的根元素是art
问题内容: 我有一个结构“ Guest”,其中包含聚会客人的元数据(唯一的ID,名称,姓氏以及作为该客人的朋友的客人的唯一ID的列表。 我有以下代码从朋友列表中删除ID: 问题是:我要删除的元素被元素的移位覆盖,但是切片不会变短。而是将切片的最后一个元素相乘。 举一个例子:是。我打电话后,结果却不是理想的。 那么,我在做什么错呢? 问题答案: 任何打算/确实修改接收器的方法都必须使用指针接收器。
构建的应用程序:React Native 0.62.2 用于测试的工具:Appium v1.17.1 问题描述:Appium Inspector未检查/定位iOS层次结构中的子元素。 我们使用testID和accessibilityLabel属性为元素提供ID: 返回{testID:id,accessibilityLabel:id,}; 但是appium仍然不能识别iOS层次结构中的元素。 在An
问题内容: 如果您具有这样的功能: 如果getUsers返回仅包含一个元素的,则生成的JSON只是JSON对象,而不是JSON数组。 是否有使XStream返回JSON数组的变通办法,而不管该函数是否返回单个数组List? 问题答案: 解决方案是降级到Jettison 1.2 根据XStream数组错误https://github.com/jettison- json/jettison/issue
问题内容: 我想单击一个单选按钮,出现在网页上。代码如下: HTML代码: Tesstcase: 此测试通过错误: 1)量角器演示应用检查项目数 信息: 失败:元素不可见 我也尝试过: 它给出了错误: [16:16:26] E / launcher-参数列表后出现错误:SyntaxError:缺少) 请提出建议,单选按钮将如何获得点击? 问题答案: 在使用硒进行测试自动化中,这是一个相当普遍的问题
我想点击一个单选按钮,出现在网页上。代码如下所示: HTML代码: 泰斯特案例: 此测试通过错误: 1)量角器演示应用程序检查项目计数 消息: 失败:元素不可见 我还尝试了: 它给出错误: [16:16:26]E/启动器-参数列表后的错误:语法错误:缺失) 请建议,单选按钮将如何获得点击?