2016-04-19 9 views
1

Ich habe diesen kleinen Code:Deklarieren 3 Sätze in GLPK-> Syntaxfehler in wörtlichen Satz

param n, integer, > 0; # number of clients 
param m, integer, > 0; # number of facilities 
param g, integer, > 0; 

set I := 1..n; 
set J := 1..m; 
set G := 1..g; 

param d{i in I, j in J};/* distance for client i to factory j*/ 
param w{i in I, j in J};/* distance for client i to factory j*/ 
param l{j in J}; # distance from factory j to factory 1 
param F{j in J}; # cost of open a factory in J 
param s{i in I, g in G}; 

Das Problem auf dem s ist, ist es immer sagt drdrd.mod: 13: Syntaxfehler in wörtlichen Satz, wenn ich das G in G für j in J ändere, ist alles in Ordnung. Ist es nicht möglich 3 verschiedene Sets zu haben?

Und eine andere Frage konnte ich nicht lösen, wenn ich anstelle von I in I, 2 in I setze (weil ich die ersten 2 Zahlen berücksichtigen will) sagt es auch die selbe Fehlermeldung.

Danke für Ihre Zeit.

Antwort

0

g wird als Parameter definiert in

param g, integer, > 0; 

so können Sie es nicht als Indexnamen in

param s{i in I, g in G}; 

dies den Index zu beheben umbenennen (oder Parameter):

param s{i in I, gg in G};