繁体   English   中英

修复 JuMP / Julia 中的变量

[英]Fixing a variable in JuMP / Julia

我有一个这样的 AMPL 代码:

param N;
set R := 1..N;
set V := 1..N;
initializeSendPrepareReq{i in R, v in V}: SendPrepReq[1, i, v] = 0;

我需要使用 JuMP 在 Julia 中编写它。

N = 10
R = 1:N
V = 1:N
?

我知道我可能需要使用 JuMP.fix() 但不知道如何。 谢谢

for i in R, v in V
   fix(SendPrepReq[1, i, v], 0)
end

如果SendPrepReq有其他界限,你需要

for i in R, v in V
   fix(SendPrepReq[1, i, v], 0; force = true)
end

以下是相关文档: https://www.juliaopt.org/JuMP.jl/stable/variables/#JuMP.fix

只需使用 zeros() 函数

N=10
SendPrepReq=zeros(1,N,N) or SendPrepReq=zeros(Int,1,N,N)

或者如果你真的想使用 for 循环:

N=10
R = 1:N
V = 1:N
for r in R
   for v in V 
      SendPrepReq[1,r,v]=0
   end
end

如果 SendPrepReq 是一个变量:

for r in R
   for v in V 
      @constraint(model, SendPrepReq[1,r,v] == 0 )
   end
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM