Let's say I want to count the number of 80 element subsets of {1,2,..100} such that their sum is 3690.
I have the following model:
array[1..100] of var 0..1: b;
constraint (sum (i in 1..100) (i*b[i])) == 3690;
constraint (sum (i in 1..100) (b[i])) == 80;
solve satisfy;
To count the total number of solutions, I run
$ ./minizinc --all-solutions ~/Documents/code/xmas.mzn > sol.out
$ wc -l sol.out
Essentially, I am printing out all the solutions and counting them. Is there a simpler minizinc statement instead of solve satisfy
that lets me count the solutions instead of finding them?