## A portable and efficient implementation of global constraints: the tree constraint case

Citations: | 1 - 0 self |

### BibTeX

@MISC{Richaud_aportable,

author = {Guillaume Richaud and Xavier Lorca and Narendra Jussien},

title = {A portable and efficient implementation of global constraints: the tree constraint case},

year = {}

}

### OpenURL

### Abstract

Abstract. Global constraints represent invaluable modeling tools for Constraint Programming (CP). Efficiently solving recurrent subproblems is a key point for CP successes. However, global constraints mainly remain strongly attached to a given constraint solver. Indeed, they heavily rely on internal mechanisms in order to be as efficient as possible. In this paper, we emphasize the interest of decoupling global constraint implementations from the underlying solver. We show, on a tree constraint, that even more decoupling it by providing fully dynamic algorithms enhances efficiency and, which is much more important, allow an efficient portability of the constraint. We illustrate this for the Choco and Gecode solvers. 1

### Citations

989 | Depth first search and linear graph algorithms
- Tarjan
- 1972
(Show Context)
Citation Context ...e contraint, the ad-hoc version of the tree constraint computes the strongly connected components (scc) associated with the digraph G, by a suitable depth first search procedure, introduced by Tarjan =-=[14]-=-, running in O(n + m) time. However, computing scc at each waking up of the constraint is useless. Indeed, during the propagation/search steps, removing or adding arcs in G is a local modification of ... |

142 | A fast algorithm for finding dominators in a flowgraph
- Lengauer, Tarjan
- 1979
(Show Context)
Citation Context ..., E) is a door of the strongly connected component associated with u iff there exists (u, v) ∈ E such that u and v do not belong to the same strongly connected component of G. Definition 4 (Dominator =-=[9]-=-). Given a digraph G and two distinct nodes i, j of G such that there is at least one path from i to j, a node d is a dominator of j with respect to i iff there is no path from i to j in G \ {d}. The ... |

90 | Introducing Global Constraints in CHIP
- Beldiceanu, Contejean
- 1994
(Show Context)
Citation Context ...xists a trade-off between efficiency (i.e. running time) and effectiveness (i.e. filtering power).Powerful global constraints are generally attached to one solver: cycle, diffn, cumulative with chip =-=[1]-=-, tree [2] with choco, standard deviation [12] with Ilog. This is probably due to the fact that implementing a global constraint can be highly solver-dependent. Indeed, global constraint implementatio... |

54 | Dynamic graph algorithms
- Eppstein, Galil, et al.
- 1999
(Show Context)
Citation Context ...y record and restore some graph properties like strongly connected components and dominator nodes of the digraph G. However, state-of-the-art graph algorithms propose several fully dynamic algorithms =-=[5]-=- maintaining the graph properties involved in the tree constraint like strongly connected components and transitive closure. Then, two straightforward issues are: is it really necessary to use backtra... |

36 | Comparing trailing and copying for constraint programming
- Schulte
- 2000
(Show Context)
Citation Context ...E according toMINTREE andMAXTREE. 2. Propagate according to new dominators of G. 3. Propagate according to the doors and the potential roots of G. The choco constraint solver is based on a trailing 4 =-=[13]-=- approach to record a decision (e.g., instantiation of variables, removals of values in the domains, etc) and its effects on the data structures involved in the constraint. In our purpose, these effec... |

20 | The tree constraint
- BELDICEANU, FLENER, et al.
- 2005
(Show Context)
Citation Context ...ade-off between efficiency (i.e. running time) and effectiveness (i.e. filtering power).Powerful global constraints are generally attached to one solver: cycle, diffn, cumulative with chip [1], tree =-=[2]-=- with choco, standard deviation [12] with Ilog. This is probably due to the fact that implementing a global constraint can be highly solver-dependent. Indeed, global constraint implementations usually... |

12 | Identifying and exploiting problem structures using explanation-based constraint programming
- Cambazard, Jussien
- 2006
(Show Context)
Citation Context ... are open: such a constraint could be plugged in other problem solvers. For example, a good candidate could be COMET, a local search development environment [8], another interesting one would be PaLM =-=[4]-=-, the explanation-based extension of the Choco solver. 3.2 A pluggable tree constraint On the one hand, one can summarize the bottleneck of the complexity of a tree constraint to repeatedly maintainin... |

11 | The deviation constraint
- Schaus, Deville, et al.
- 2007
(Show Context)
Citation Context ...nning time) and effectiveness (i.e. filtering power).Powerful global constraints are generally attached to one solver: cycle, diffn, cumulative with chip [1], tree [2] with choco, standard deviation =-=[12]-=- with Ilog. This is probably due to the fact that implementing a global constraint can be highly solver-dependent. Indeed, global constraint implementations usually involve both internal data structur... |

8 | X.: Combining tree partitioning, precedence, and incomparability constraints
- Beldiceanu, Flener, et al.
- 2008
(Show Context)
Citation Context ...proach proposed throughout this new constraint is, on average, much less sensitive to the variation of the input digraph density which was originally the bottleneck of the previous constraint version =-=[3]-=-. This set of experiments points out two main features of the pluggable tree constraint. For each order of graph in {25, 50, 75, 100, 150, 200},and the densities in [0.05; 1] with steps of 0.05, we ge... |

7 | Using Dominators for Solving Constrained Path Problems
- Quesada, Roy, et al.
- 2006
(Show Context)
Citation Context ...i-arborescences 1 . tree is a useful constraint that can be used for modeling various graph-related problems like, for example, surpertree phylogenetic problems [3, 6], ordered disjoint path problems =-=[3, 10]-=-, or mission planning problems [7]. The constraint has the form tree(NTREE,VER), whereNTREE is a domain variable 2 specifying the number of trees in the forest (MINTREE andMAXTREE respectively denote ... |

4 |
Supertree construction using constraint programming
- Gent, Prosser, et al.
- 2003
(Show Context)
Citation Context ...titioned into a set of nodedisjoint anti-arborescences 1 . tree is a useful constraint that can be used for modeling various graph-related problems like, for example, surpertree phylogenetic problems =-=[3, 6]-=-, ordered disjoint path problems [3, 10], or mission planning problems [7]. The constraint has the form tree(NTREE,VER), whereNTREE is a domain variable 2 specifying the number of trees in the forest ... |

1 |
Solving Planning and Scheduling Problems in Network based Operations
- Guettier
- 2007
(Show Context)
Citation Context ...onstraint that can be used for modeling various graph-related problems like, for example, surpertree phylogenetic problems [3, 6], ordered disjoint path problems [3, 10], or mission planning problems =-=[7]-=-. The constraint has the form tree(NTREE,VER), whereNTREE is a domain variable 2 specifying the number of trees in the forest (MINTREE andMAXTREE respectively denote the minimum and maximum values of ... |

1 |
Growing COMET
- Hentenryck, Michel
- 2007
(Show Context)
Citation Context ...dent global constraints, other perspectives are open: such a constraint could be plugged in other problem solvers. For example, a good candidate could be COMET, a local search development environment =-=[8]-=-, another interesting one would be PaLM [4], the explanation-based extension of the Choco solver. 3.2 A pluggable tree constraint On the one hand, one can summarize the bottleneck of the complexity of... |