From 242f04c55363b49a0f6d314e4a4013b71dc590ad Mon Sep 17 00:00:00 2001 From: "Jip J. Dekker" Date: Mon, 23 Jan 2017 15:18:58 +0100 Subject: [PATCH] Update presolve annotation --- black-hole/black-hole.mzn | 2 +- block-party/block-party.mzn | 2 +- handball/handball7.mzn | 4 ++-- handball/handball9.mzn | 4 ++-- jp-encoding/jp-encoding.mzn | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/black-hole/black-hole.mzn b/black-hole/black-hole.mzn index d87ccda..ec351f5 100644 --- a/black-hole/black-hole.mzn +++ b/black-hole/black-hole.mzn @@ -90,7 +90,7 @@ array[1..52] of var 1..52: y; constraint x[1] == 1; % Consecutive cards match -predicate adjacent(var 1..52: a, var 1..52: b) ::presolve +predicate adjacent(var 1..52: a, var 1..52: b) :: presolve(autotable) = ((x-y) in {13*i+1 | i in -4..3} union {13*i-1 | i in -3..4}) :: domain; constraint forall(i in 1..51) ( adjacent(x[i], x[i+1]) ); diff --git a/block-party/block-party.mzn b/block-party/block-party.mzn index 4f7ba70..546dc47 100644 --- a/block-party/block-party.mzn +++ b/block-party/block-party.mzn @@ -72,7 +72,7 @@ predicate party(array[1..4] of var 0..63: symbols) ); %Linking cube IDs with the three symbols appearing in relevant positions -predicate link_cube_and_symbols(array[1..4] of var int: cs) ::presolve +predicate link_cube_and_symbols(array[1..4] of var int: cs) :: presolve(autotable) = let{ var 1..24: pos; var int: cube = cs[1]; diff --git a/handball/handball7.mzn b/handball/handball7.mzn index 3e2dba4..041b535 100644 --- a/handball/handball7.mzn +++ b/handball/handball7.mzn @@ -158,7 +158,7 @@ array[int,int] of int: transition = % cost function -predicate part_cost(var breakable: bt, var team: r, var team: t, var 0..max(allperiod): part) ::presolve = ( +predicate part_cost(var breakable: bt, var team: r, var team: t, var 0..max(allperiod): part) :: presolve(autotable) = ( if dopresolve then bt in breakable /\ let {array[period] of var A..H: lhap} in ( @@ -206,7 +206,7 @@ constraint ); % channel break <---> hap (2) -predicate channel_break_hap(var breakable: bt, array[period] of var A..H: hapt, var team: t) ::presolve(model) = +predicate channel_break_hap(var breakable: bt, array[period] of var A..H: hapt, var team: t) :: presolve(autotable(model)) = bt in breakable /\ (t in north_team -> hapt[(t mod divsize)+1] = A) /\ (t in south_team -> hapt[(t mod divsize)+1] = H) /\ diff --git a/handball/handball9.mzn b/handball/handball9.mzn index 8e81bb2..59e4d2e 100644 --- a/handball/handball9.mzn +++ b/handball/handball9.mzn @@ -180,7 +180,7 @@ array[int,int] of int: transition = % cost function -predicate part_cost(var breakable: bt, var team: r, var team: t, var 0..max(allperiod): part) ::presolve = ( +predicate part_cost(var breakable: bt, var team: r, var team: t, var 0..max(allperiod): part) :: presolve(autotable) = ( if dopresolve then bt in breakable /\ let {array[period] of var A..H: lhap} in ( @@ -228,7 +228,7 @@ constraint ); % channel break <---> hap (2) -predicate channel_break_hap(var breakable: bt, array[period] of var A..H: hapt, var team: t) ::presolve(model) = +predicate channel_break_hap(var breakable: bt, array[period] of var A..H: hapt, var team: t) :: presolve(presolve(model)) = bt in breakable /\ (t in north_team -> hapt[(t mod divsize)+1] = A) /\ (t in south_team -> hapt[(t mod divsize)+1] = H) /\ diff --git a/jp-encoding/jp-encoding.mzn b/jp-encoding/jp-encoding.mzn index 6a8b80c..6d5178e 100644 --- a/jp-encoding/jp-encoding.mzn +++ b/jp-encoding/jp-encoding.mzn @@ -137,7 +137,7 @@ constraint objective = sum (i in rng) ( score_of(encoding[i],stream[i]) ); -predicate score_computation(var 0..e_unknown:encoding_i, var 0..255:stream_i, var scoreType: score_i) ::presolve(model) = +predicate score_computation(var 0..e_unknown:encoding_i, var 0..255:stream_i, var scoreType: score_i) :: presolve(autotable(model)) = score_i = (bool2int(encoding_i == e_euc_jp) * eucjp_score[stream_i+1] + bool2int(encoding_i == e_sjis) * sjis_score[stream_i+1] + bool2int(encoding_i == e_utf8) * utf8_score[stream_i+1] @@ -162,7 +162,7 @@ constraint forall (i in rng) ( stream_to_status(i,stream,byte_status[i]) ); -predicate link_vars(var int: encoding_i, var int: byte_status_i, var int: char_start_i) ::presolve = +predicate link_vars(var int: encoding_i, var int: byte_status_i, var int: char_start_i) :: presolve(autotable) = (forall([ % % byte_status -> encoding @@ -403,7 +403,7 @@ predicate stream_to_status_old(int:i, array[int] of int: stream, var int: byte_s ); -predicate link_statuses(var int: byte_status_i, var int: byte_status_im1) ::presolve = +predicate link_statuses(var int: byte_status_i, var int: byte_status_im1) :: presolve(autotable) = ( forall([ % % UTF-8