Pyomo 可以优化函数内部的方程式吗

Can Pyomo Optimise equations inside functions

我正在尝试最大化 10 个非常长的线性方程,除了一个变量(例如 Z)外,所有方程都相似。

我正在考虑将单个方程式放入函数中并将 Z 作为参数传递。

我们可以优化 python 函数吗?

我查看了 pyomo、pulp、cvxpy 文档,但没有找到任何代码示例。这让我觉得这是不可能的

#This is what currently it is 

Maximize 

(X*fun(1,Z))   +  (X2*fun(1,Z)) + ...
(X*fun(1,Z1))  +  (X2*fun(1,Z1)) + ...
..
..
Solve for
X1 and X2


#This an example what I am trying to do

Def optimise(Z):
   (X*fun(1,Z))  +  (X2*fun(1,Z)) + ...
Maximize
optimise(13)
optimise(24)
optimise(34)
optimise(14)
optimise(12)
optimise(11)  #is optimizing with funtions possible ?

Solve for
X1 and X2

这取决于你的功能returns。 Pyomo 是一种 algebraic 建模语言,需要访问完整的代数方程。如果您的 Python 函数 returns 涉及 Pyomo Var 组件的表达式,那么它应该可以工作。如果函数只是 returns 一个取决于 Pyomo Var 的当前值的值,那么它将不起作用。您需要提供有关您尝试解决的功能和模型的更多详细信息,以便我们确定是否支持它。