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

时间:2019-02-05 13:36:12

标签: python-3.x pyomo

我正在尝试最大化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

1 个答案:

答案 0 :(得分:0)

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