5005
Localizing POAC
Table 1: Lookahead with POAC-based algorithms
We introduce two localizations of POAC: Neighborhood Benchmark GAC POAC cyc POACQ APOAC Acyc POACQ
POAC (NPOAC) and Union-Cycle POAC (cyc POAC). The Adaptive POAC the best
denitions of these properties restrict the singleton test in TSP-25 15 14 15 15 15
Denition 1 to the neighborhood of a variable and to the (# inst 15) 4,303.12 >41,382.27 32,654.67 6,152.91 2,418.41
union of the MCB cycles in which the variable appears. cril 6 7 7 8 8
We derive our algorithms from POAC-1, which enforces (# inst 8) >30,458.10 >16,282.45 >16,651.04 2,321.96 1,831.60
QWH-20 10 10 10 10 10
POAC (Balafrej et al. 2014). The algorithm POAC-1 runs a
(# inst 10) 2,256.61 6,154.43 3,007.98 2,236.32 2,061.63
singleton test on each variable-value pair of the CSP. In each
k-ins. 17 17 18 18 18
test, it enforces arc consistency on the entire CSP. When- (# inst 32) >17,034.30 >21,639.31 11,814.83 6,129.92 8,940.59
ever the domain of any variable is updated, the entire pro- Non-adaptive POAC the best
cess is repeated: POAC-1 re-runs the singleton test on all mug 6 6 8 6 6
the variables. Our algorithm for enforcing NPOAC (respec- (# inst 8) >54,724.38 >29,385.02 13,655.87 >34,207.98 >41,583.97
tively, cyc POAC) modies POAC-1 in two ways. First, we GAC the best
restrict the singleton test to the neighborhood of the variable TSP-20 15 15 15 15 15
(respectively, to the union of the MCB cycles in which it (# inst 15) 302.21 2,750.90 3,096.07 593.04 384.13
appears). Second, we use a dynamic queue for propagation. renault 50 50 50 50 50
That is, when a variables domain is updated, we add only (# inst 50) 55.87 277.74 176.28 196.04 155.88
the variables in its neighborhood (respectively, only those myciel 13 12 12 13 13
that appear in its MCB cycles) to the queue. The resulting (# inst 16) 1,711.93 >21,564.06 >26,196.15 3,118.86 2,555.54
algorithms are NPOACQ and cyc POACQ.
5006