Using Dominators for Solving Constrained Path Problems Luis Quesada, Peter Van Roy, Yves Deville, and Rapha¨ el Collet Universit´ e catholique de Louvain Place Sainte Barbe, 2, B-1348 Louvain-la-Neuve, Belgium {luque,pvr,yde,raph }@info.ucl.ac.be Abstract. Constrained path problems have to do with finding paths in graphs subject to constraints. We present a constraint programming approach for solving the Ordered disjoint-paths problem (ODP), i.e., the Disjoint-paths problem where the pairs are associated with ordering constraints. In our approach, we reduce ODP to the Ordered simple path with mandatory nodes problem (OSPMN), i.e., the problem of finding a simple path containing a set of mandatory nodes in a given order. The reduction of the problem is motivated by the fact that we have an appropriate way of dealing with OSPMN based on DomReachability, a propagator that implements a generalized reachability constraint on a directed graph based on the concept of graph variables. The DomReachability constraint has three arguments: (1) a flow graph, i.e., a directed graph with a source node; (2) the dominance relation graph on nodes and edges of the flow graph; and (3) the transitive closure of the flow graph. Our experimental evaluation of DomReachability shows that it provides strong pruning, obtaining solutions with very little search. Furthermore, we show that DomReachability is also useful for defining a good labeling strategy. These ex- perimental results give evidence that DomReachability is a useful primitive for solving constrained path problems over directed graphs. 1 Introduction Constrained path problems have to do with finding paths in graphs subject to con- straints. One way of constraining the graph is by enforcing reachability between nodes. For instance, it may be required that a node reaches a particular set of nodes by respect- ing some restrictions like visiting a particular set of nodes or edges in a given order. We find instances of this problem in Vehicle routing problems [PGPR96,CL97,FLM99] and Bioinformatics [DDD04]. An approach to solve this problem is by using concurrent constraint programming (CCP) [Sch00,M¨ ul01]. In CCP, we solve the problem by interleaving two processes: propagation and labeling. Propagation consists in filtering the domains of a set of finite domain variables, according to the semantics of the constraints that have to be satisfied. Labeling consists in defining the way the search tree is created, i.e., which constraint is used for branching. In this paper, we present a propagator called DomReachability, that implements a generalized reachability constraint on a directed graph. The DomReachability constraint