2017-06-19 18 views
0

私はジュリアを使って整数プログラムを解いています。私の変数はz[i,j], i in N and j in NN=10の形であり、z[i,j]はバイナリ変数です。コントロールフロー - 条件がジュリアの場合

プログラムの前半では、z[1,2]= 1z[1,3]=1であり、他のすべての変数がゼロであるソリューションのセットがあります。今、これらの値を別の集合Sに渡す必要があります。そのような方法では、S={1,2,3}です。私はJuliaでそれをコード化しようとしましたが、正しい方法では取得できませんでした。以下は私が試したことです。ここで、z_valueは私の変数z[i,j]を宣言する方法です。誰かが私にそれを正すために手伝ってもらえますか?

for i in N 
for j in N 
    z_value = Pair(i,j) 
    if z_value == 1; 
    push!(S, Pair(i,j)) 
    print(S) 
    end 
end 
end 
+1

問題は何ですか?私はいくつかの問題を見ています: 'z_value == 1'は常に1がペアではないので、falseを返します。そしてあなたはそれを押す前にSを割り当てなかった。 –

答えて

0

おかげで、マイケルとステファンは、私はあなたの努力のための

for i in N 
    for j in N 
     if getvalue(z[i,j]) == 1 
      push!(S, i) 
      push!(S, j) 
     end 
    end 
end 

おかげように、コードを再配置することにより、集合Sを必要しまいました!