Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的非线性约束优化——变量和除法_Python_Optimization_Linear Programming - Fatal编程技术网

python中的非线性约束优化——变量和除法

python中的非线性约束优化——变量和除法,python,optimization,linear-programming,Python,Optimization,Linear Programming,我有一个优化问题。我的所有其他约束都是线性的,但我有一个约束如下: 在这个方程中,s、r和k是常数,我有值,a和s是未知参数 实际上,目标函数是: 它还有一些其他的线性约束 我正在寻找一个python包,它可以解决这个问题,并且可以将上面提到的约束作为优化问题的参数。 我首先搜索线性规划解决方案,但当我试图在纸浆中进行约束时,我得到了以下错误: TypeError: Non-constant expressions cannot be multiplied 这可以通过以下方式实现: 你可以

我有一个优化问题。我的所有其他约束都是线性的,但我有一个约束如下:

在这个方程中,s、r和k是常数,我有值,a和s是未知参数

实际上,目标函数是:

它还有一些其他的线性约束

我正在寻找一个python包,它可以解决这个问题,并且可以将上面提到的约束作为优化问题的参数。 我首先搜索线性规划解决方案,但当我试图在纸浆中进行约束时,我得到了以下错误:

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()