From ca0dcbccdf2e77b459fc8074eb8a423636029929 Mon Sep 17 00:00:00 2001 From: "lperron@google.com" Date: Mon, 25 Jun 2012 18:22:01 +0000 Subject: [PATCH] more examples --- examples/flatzinc/candles.fzn | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 examples/flatzinc/candles.fzn diff --git a/examples/flatzinc/candles.fzn b/examples/flatzinc/candles.fzn new file mode 100644 index 0000000000..f273d85ac8 --- /dev/null +++ b/examples/flatzinc/candles.fzn @@ -0,0 +1,25 @@ +predicate all_different_int(array [int] of var int: x); +predicate count(array [int] of var int: x, var int: y, var int: c); +predicate fixed_cumulative(array [int] of var int: s, array [int] of int: d, array [int] of int: r, int: b); +predicate global_cardinality(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts); +predicate maximum_int(var int: m, array [int] of var int: x); +predicate minimum_int(var int: m, array [int] of var int: x); +predicate sort(array [int] of var int: x, array [int] of var int: y); +predicate table_bool(array [int] of var bool: x, array [int, int] of bool: t); +predicate table_int(array [int] of var int: x, array [int, int] of int: t); +predicate var_cumulative(array [int] of var int: s, array [int] of int: d, array [int] of int: r, var int: b); +var 0..86: INT____00002 :: is_defined_var :: var_is_introduced; +var 0..100: INT____00003 :: is_defined_var :: var_is_introduced; +var 0..100: now :: output_var = INT____00003; +var 0..86: twoyearsago :: output_var = INT____00002; +array [1..7] of var 0..20: vars :: output_array([1..7]); +constraint int_lin_eq([-1, 1], [INT____00002, INT____00003], 14) :: defines_var(INT____00002); +constraint int_lin_eq([-1, 2], [INT____00003, INT____00002], 0) :: defines_var(INT____00003); +constraint int_lin_eq([1, -1], [vars[1], vars[2]], 1); +constraint int_lin_eq([1, -1], [vars[2], vars[3]], 1); +constraint int_lin_eq([1, -1], [vars[3], vars[4]], 1); +constraint int_lin_eq([1, -1], [vars[4], vars[5]], 1); +constraint int_lin_eq([1, -1], [vars[5], vars[6]], 1); +constraint int_lin_eq([1, -1], [vars[6], vars[7]], 1); +constraint int_lin_eq([-1, 1, 1, 1, 1, 1, 1, 1], [INT____00003, vars[1], vars[2], vars[3], vars[4], vars[5], vars[6], vars[7]], 0); +solve satisfy;