model:
sets:
num/1..12/:a,b,c,d;
endsets
min=5*a(1)+3*a(2)+2*a(3)+3*a(4)+2*a(5)+6*a(6)+5*a(7)+3*a(8)+2*a(9)+3*a(10)+2*a(11)+6*a(12)
+6*b(1)+3*b(2)+2*b(3)+8*b(4)+7*b(5)+6*b(6)+5*b(7)+3*b(8)+2*b(9)+8*b(10)+7*b(11)+6*b(12)
+2*(c(1)+c(2)+c(4)+c(6)+c(7)+c(8)+c(10)+c(12))+3*(c(3)+c(5)+c(9)+c(11))
+2*(d(1)+d(2)+d(4)+d(6)+d(7)+d(8)+d(10)+d(12))+3*(d(3)+d(5)+d(9)+d(11));
@sum(num(i):a(i))=14;
@sum(num(i):b(i))=22;
@sum(num(i):c(i))=12;
@sum(num(i):d(i))=30;
@for(num(i):a(i)>0);
@for(num(i):b(i)>0);
@for(num(i):c(i)>0);
@for(num(i):d(i)>0); !lingo中“大于”号等价于“大于等于”;
lingo写比较简单
每句话后面加;
最小值那句的格式min=.....;
乘法加*就可以了