2017-06-19 3 views
0

Ich benutze Julia, um ein ganzzahliges Programm zu lösen. Meine Variablen haben die Form z[i,j], i in N and j in N und N=10 und z[i,j] ist eine binäre Variable. In der ersten Hälfte des Programms habe ich eine Reihe von Lösungen für die z[1,2]= 1 und z[1,3]=1 und alle anderen Variablen sind Null. Jetzt muss ich diese Werte an eine andere Menge S so übergeben, dass S={1,2,3}. Ich habe versucht, es in Julia zu programmieren, aber ich konnte es nicht richtig verstehen. Das Folgende ist das, was ich versucht habe. Hier ist z_value die Art, wie ich meine Variablen z[i,j] deklariere. Kann mir bitte jemand helfen, es richtig zu machen?Kontrollfluss - wenn Bedingung in Julia

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

Was ist das Problem? Ich sehe einige Probleme: 'z_value == 1 'wird immer falsch zurückgeben, da 1 kein Paar ist. Und du hast S nicht zugeteilt, bevor du darauf geschossen hast. –

Antwort

0

Danke, Michael und Stefan, habe ich Set S erforderlich, indem Sie den Code als

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

Vielen Dank für Ihre Mühe Neuanordnung !!