如何纠正 Knapsack 编译错误 MiniZinc?
How to correct Knapsack compiling error MiniZinc?
如何修改以下程序中的错误
item= record( int: id, profit, weight);
set of item: All_Items ;
int :Max_Capacity;
var set of item: Selected_Items;
我在MiniZinc中有如下解决背包问题的代码,但是有很多错误。
constraint sum([holds(X in Selected_Items)*X.weight | X in All_Items])=< Max_Capacity;
constraint Selected_Items >= All_Items;
maximize
sum([holds(S in Selected_Items)*S.profit |S in All_Items]);
错误列表
Compiling knapsack1.mzn
C:/Program Files/MiniZinc IDE (bundled)/examples/knapsack1.mzn:3.7-12:
item= record( int: id, profit, weight);
^^^^^^
Error: syntax error, unexpected record
C:/Program Files/MiniZinc IDE (bundled)/examples/knapsack1.mzn:11.45:
constraint sum([holds(X in Selected_Items)*X.weight | X in All_Items])=< Max_Capacity;
^
Error: syntax error, unexpected $undefined, expecting ]
C:/Program Files/MiniZinc IDE (bundled)/examples/knapsack1.mzn:15.1-8:
maximize
^^^^^^^^
Error: syntax error, unexpected maximize, expecting end of file
Process finished with non-zero exit code 1
Finished in 89msec
尽管 MiniZinc 目前不包含任何记录类型(读取类似结构的类型),但它们在未来是可能的。为了防止将来破坏模型,单词 record
因此已经是保留关键字,不能用作模型中的标识符。将名称从 record
更改为其他名称将解决您的问题。
如何修改以下程序中的错误
item= record( int: id, profit, weight);
set of item: All_Items ;
int :Max_Capacity;
var set of item: Selected_Items;
我在MiniZinc中有如下解决背包问题的代码,但是有很多错误。
constraint sum([holds(X in Selected_Items)*X.weight | X in All_Items])=< Max_Capacity;
constraint Selected_Items >= All_Items;
maximize
sum([holds(S in Selected_Items)*S.profit |S in All_Items]);
错误列表
Compiling knapsack1.mzn C:/Program Files/MiniZinc IDE (bundled)/examples/knapsack1.mzn:3.7-12: item= record( int: id, profit, weight); ^^^^^^ Error: syntax error, unexpected record C:/Program Files/MiniZinc IDE (bundled)/examples/knapsack1.mzn:11.45: constraint sum([holds(X in Selected_Items)*X.weight | X in All_Items])=< Max_Capacity; ^ Error: syntax error, unexpected $undefined, expecting ] C:/Program Files/MiniZinc IDE (bundled)/examples/knapsack1.mzn:15.1-8: maximize ^^^^^^^^ Error: syntax error, unexpected maximize, expecting end of file Process finished with non-zero exit code 1 Finished in 89msec
尽管 MiniZinc 目前不包含任何记录类型(读取类似结构的类型),但它们在未来是可能的。为了防止将来破坏模型,单词 record
因此已经是保留关键字,不能用作模型中的标识符。将名称从 record
更改为其他名称将解决您的问题。