如何使约束ci’Xci> = 0更快?

时间:2019-07-16 21:51:41

标签: julia julia-jump

我使用Julia JuMP。我对如何实现约束ci’Xci>=0感到困惑。 X这里是一个大的稀疏矩阵。 X的尺寸为1512 * 1512。

Q=sparse(eigvecs(Y)) //Y is value of variable X
for i=1:1512
   if P[i]<=-1.0e-5 // P[i] is the ith eigenvalue of X
     @constraint(model, Q[:,i]'*X*Q[:,i]>=0) //(Q[:,i] is the ith eigenvector of X)
   end
end

运行此代码时,出现以下警告:

  

加法运算符已在JuMP表达式上多次使用。此警告可以忽略不计,但可能表明模型生成的速度比必要的慢。出于性能原因,您不应在循环中添加表达式。代替x + =,使用append!(x,y)修改x。如果y是单个变量,则也可以使用push!(x,coef,y)代替x + = coef * y”。

是否要避免这种情况?谢谢!

0 个答案:

没有答案