Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Julia 跳跃环境中的元素乘法_Julia_Julia Jump - Fatal编程技术网

Julia 跳跃环境中的元素乘法

Julia 跳跃环境中的元素乘法,julia,julia-jump,Julia,Julia Jump,我试图在跳转环境中实现以下约束: @constraint(m, ((c*x) + (p*o)) + (r.*z) - d .== g') 不幸的是,我得到了以下错误error:MethodError:no method matching append 但是,单独尝试元素相乘不会返回任何错误,并正确地将其实现到模型中 这里有一个我正在使用的最小示例 m = Model(solver = GLPKSolverLP()); np = 3; #number of products c = [3 7

我试图在跳转环境中实现以下约束:

@constraint(m, ((c*x) + (p*o)) + (r.*z) - d .== g')
不幸的是,我得到了以下错误
error:MethodError:no method matching append

但是,单独尝试元素相乘不会返回任何错误,并正确地将其实现到模型中

这里有一个我正在使用的最小示例

 m = Model(solver = GLPKSolverLP());
np = 3; #number of products
c = [3 7 5;
     6 5 7;
     3 6 5;
     -28 -40 -32];
g = [200 200 200 -1500];
n = length(g);
o = [1 1 1]';
@variable(m, x[1:np] >= 0);
@variable(m, d[1:n] >= 0);
@variable(m, z[1:n] >= 0);
@variable(m, r[1:n] >= 0);
@variable(m, p[1:n,1:np] >= 0);
@objective(m, Min, sum(d));
@constraint(m, ((c*x) + (p*o)) + (r.*z) - d .== g')

在将二次项添加到线性项时,似乎存在一个问题,二次项位于
@constraint
宏中加法的右侧

有两种解决方案:

A.首先写出二次项,如下所示:

@constraint(m, (r.*z) + ((c*x) + (p*o)) - d .== g')
B.定义方程式外部的LHS(现在术语的顺序无关紧要)


作为旁注:您的问题是二次的,所以
GLPKSolverLP
不会解决它,因为它不允许此类约束。

当您将二次项添加到线性项中,并且二次项位于
@constraint
宏中的加法的右侧时,似乎存在问题

有两种解决方案:

A.首先写出二次项,如下所示:

@constraint(m, (r.*z) + ((c*x) + (p*o)) - d .== g')
B.定义方程式外部的LHS(现在术语的顺序无关紧要)

请注意:您的问题是二次问题,因此
GLPKSolverLP
无法解决,因为它不允许此类约束