Compiler errors “迷你锌”;正是;问题。编译时出错

Compiler errors “迷你锌”;正是;问题。编译时出错,compiler-errors,minizinc,Compiler Errors,Minizinc,我有一个关于“精确”谓词的问题 include "exactly.mzn"; %Scalar data int: Warehouses; int: Stores; %Vectors array [1..Stores, 1..Warehouses] of int: SupplyCost; %delivery price array [1..Warehouses] of int: Capacity; %warehouse capacity array [1..Warehouses] of i

我有一个关于“精确”谓词的问题

include "exactly.mzn";


%Scalar data
int: Warehouses; 
int: Stores; 
%Vectors
array [1..Stores, 1..Warehouses] of int: SupplyCost; %delivery price
array [1..Warehouses] of int: Capacity; %warehouse capacity
array [1..Warehouses] of int: FixedCost; %cost of warehouses to be open.
array [1..Stores] of int: Goods; %request of goods from each store

%Decision Variables
array [1..Stores, 1..Warehouses] of var 0..max(Goods): GoodsMoved; 
array [1..Warehouses] of var 0..1: OpenWarehouses;
var 0..sum(SupplyCost): TransportationCost;
var 0..sum(FixedCost): OpeningCost;
var int: TotalCost; 


%Constraints


          %quantity of goods requested equal to request
constraint forall(r in 1..Stores)
           (sum (c in 1..Warehouses)
            (GoodsMoved[r,c]) = Goods[r]); 

          %total quantity of goods taken from a warehouse cannot exceed capacity
constraint forall(y in 1..Warehouses)
           (sum (x in 1..Stores) 
            (GoodsMoved[x,y]) <= Capacity[y]);


          %Exactly one 1 in OpenWarehouses: only one warehouse is open
constraint forall (c in  1..Warehouses) (exactly(1,OpenWarehouses[c],1));


            %Which warehouses are open
constraint forall (c in 1..Warehouses)
        (if (sum(r in 1..Stores) (GoodsMoved[r,c]))=0
        then OpenWarehouses[c]=0
        else OpenWarehouses[c]=1
        endif);




           %Assignment 2        
constraint TotalCost = sum (r in 1..Stores) (sum(c in 1..Warehouses) (SupplyCost[r,c]*GoodsMoved[r,c])) + sum(x in 1..Warehouses) (OpenWarehouses[x]*FixedCost[x]);






solve minimize TotalCost;


output ["\(GoodsMoved[s,w])" ++ if w=Warehouses then "\n" else " " endif | s in 1..Stores, w in 1..Warehouses];
output["\(OpenWarehouses)" ++ "\n"];
output["\(TotalCost)"];
包括“精确的.mzn”;
%标量数据
内部:仓库;
国际:商店;
%载体
int:SupplyCost的数组[1..Stores,1..Warehouses];%交货价格
int:Capacity的数组[1..Warehouses];%仓库容量
int:FixedCost的数组[1..Warehouses];%开放仓库的成本。
int:Goods的数组[1..Stores];%向每家商店索取商品
%决策变量
变量为0..max(货物)的数组[1..Stores,1..Warehouses]:GoodsMoved;
变量0..1的数组[1..Warehouses]:OpenWarehouses;
var 0..sum(供应成本):运输成本;
var 0..sum(固定成本):期初成本;
var int:总成本;
%约束条件
%所要求的货物数量等于所要求的数量
对所有(1..Stores中的r)的约束
(金额(1.仓库中的c)
(GoodsMoved[r,c])=货物[r];
%从仓库提取的货物总量不能超过容量
所有约束(1..仓库中的y)
(总和(1.个存储中的x)

(GoodsMoved[x,y])这是一个sintax错误…
严格限制(1,OpenWarehouses,1);
这显然是正确的辛塔克斯