python中的非线性约束优化——变量和除法
我有一个优化问题。我的所有其他约束都是线性的,但我有一个约束如下: 在这个方程中,s、r和k是常数,我有值,a和s是未知参数 实际上,目标函数是: 它还有一些其他的线性约束 我正在寻找一个python包,它可以解决这个问题,并且可以将上面提到的约束作为优化问题的参数。 我首先搜索线性规划解决方案,但当我试图在纸浆中进行约束时,我得到了以下错误:python中的非线性约束优化——变量和除法,python,optimization,linear-programming,Python,Optimization,Linear Programming,我有一个优化问题。我的所有其他约束都是线性的,但我有一个约束如下: 在这个方程中,s、r和k是常数,我有值,a和s是未知参数 实际上,目标函数是: 它还有一些其他的线性约束 我正在寻找一个python包,它可以解决这个问题,并且可以将上面提到的约束作为优化问题的参数。 我首先搜索线性规划解决方案,但当我试图在纸浆中进行约束时,我得到了以下错误: TypeError: Non-constant expressions cannot be multiplied 这可以通过以下方式实现: 你可以
TypeError: Non-constant expressions cannot be multiplied
这可以通过以下方式实现:
你可以用这种方法表达任何多项式表达式。请发布一篇尝试非线性规划的文章。如果一个约束是非线性的,则不能使用LP。p值已知还是未知?可以引入辅助变量
t>0
,并将约束替换为C_i=t*a_i*p_i^(1-r)
@GZ0。它们在一个数组中已知,其中包含值。
from pyscipopt import Model
model = Model()
x = model.addVar("x")
y = model.addVar("y")
z = model.addVar("z")
model.setObjective(c)
model.addCons(x / (y*z) >= 0)
model.optimize()