我正在尝试最大化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
答案 0 :(得分:0)
这取决于您的函数返回什么。 Pyomo是一种代数建模语言,需要访问完整的代数方程式。如果您的Python函数返回的表达式涉及Pyomo Var
组件,则它应该可以工作。如果该函数仅根据Pyomo Var
的当前值返回一个值,则它将不起作用。您需要为您要解决的功能和模型提供更多详细信息,以便我们确定是否支持该功能。