108 research outputs found

    Improving the Asymmetric TSP by Considering Graph Structure

    Get PDF
    Recent works on cost based relaxations have improved Constraint Programming (CP) models for the Traveling Salesman Problem (TSP). We provide a short survey over solving asymmetric TSP with CP. Then, we suggest new implied propagators based on general graph properties. We experimentally show that such implied propagators bring robustness to pathological instances and highlight the fact that graph structure can significantly improve search heuristics behavior. Finally, we show that our approach outperforms current state of the art results.Comment: Technical repor

    Condition nécessaire pour la contrainte de partitionnement de graphes par des chemins

    Get PDF
    Etant donné un graphe orienté \cG, le problÚme des \NPATH-chemins disjoints consiste à trouver une partition de \cG en \NPATH chemins noeuds-disjoints, tel que chaque chemin termine sur un noeud appartenant à un sous-ensemble des noeuds de \cG. Cet article fournit une condition nécessaire, pour le problÚme des \NPATH-chemins disjoints, combinant (1) la structure du graphe réduit associé au graphe \cG, (2) la structure de chaque composante fortement connexe de \cG vis à vis des relations de dominance entre les noeuds de \cG, et (3) la structure des connexions entre les composantes fortement connexes de \cG. Finalement, nous montrons comment exploiter cette condition nécessaire pour en dériver une contrainte de partitionnement de graphes par des chemins

    Lazy Composition of Representations in Java

    Get PDF
    International audienceAbstract. The separation of concerns has been a core idiom of software engineering for decades. In general, software can be decomposed properly only according to a single concern, other concerns crosscut the prevailing one. This problem is well known as “the tyranny of the dominant decomposition”. Similarly, at the programming level, the choice of a representation drives the implementation of the algorithms. This article explores an alternative approach with no dominant representation. Instead, each algorithm is developed in its “natural” representation and a representation is converted into another one only when it is required. To support this approach, we designed a laziness framework for Java, that performs partial conversions and dynamic optimizations while preserving the execution soundness. Performance evaluations over graph theory examples demonstrates this approach provides a practicable alternative to a naive one

    Choco: an Open Source Java Constraint Programming Library

    Get PDF
    International audienceChoco is a java library for constraint satisfaction problems (CSP), constraint programming (CP) and explanation-based constraint solving (e-CP). It is built on a event-based propagation mechanism with backtrackable structures

    Contraintes de Partitionnement par des Arbres

    Get PDF
    Nous prĂ©sentons deux contraintes qui partitionnent les sommets d'un graphe non-orientĂ© G = (V, E), oĂč |V| = n et |E| = m, en un ensemble d'arbres disjoints. La premiĂšre contrainte, resource-forest, spĂ©cifie que chaque arbre dans la forĂȘt doit contenir au moins un sommet ressource. L'ensemble des ressources est un sous-ensemble R ⊆ V. Cette contrainte est la contrepartie non-orientĂ© de la contrainte d'arbre introduite dans [2], qui partitionne un graphe orientĂ© en une forĂȘt d'arbres orientĂ©s oĂč seulement certains sommets peuvent ĂȘtre des racines. Nous dĂ©crivons un algorithme de consistance-hybride pour la contrainte resource-forest ayant une complexitĂ© de O(m + n). Ceci constitue donc une amĂ©lioration de la complexitĂ© en O(mn) connue pour le cas orientĂ©. La seconde constrainte, proper-forest, est une variante de la premiĂšre ne nĂ©cessitant pas que chaque arbre contienne une ressource. Cependant, tout arbre construit doit ĂȘtre un arbre propre, i.e., un arbre contenant au moins deux sommets. Nous avons dĂ©veloppĂ© un algorithme de consistance-hybride ayant une complexitĂ© en O(mn) au pire des cas, et en O(m√n) dans la plupart des autres cas

    Explanation-Based Large Neighborhood Search

    Get PDF
    International audienceOne of the most well-known and widely used local search techniques for solving optimization problems in Constraint Programming is the Large Neigh-borhood Search (LNS) algorithm. Such a technique is, by nature, very flexible and can be easily integrated within standard backtracking procedures. One of its drawbacks is that the relaxation process is quite often problem dependent. Several works have been dedicated to overcome this issue through problem independent parameters. Nevertheless, such generic approaches need to be carefully parameter-ized at the instance level. In this paper, we demonstrate that the issue of finding a problem independent neighborhood generation technique for LNS can be addressed using explanation-based neighborhoods. An explanation is a subset of constraints and decisions which justifies a solver event such as a domain modification or a conflict. We evaluate our proposal for a set of optimization problems. We show that our approach is at least competitive with or even better than state-of-the-art algorithms and can be easily combined with state-of-the-art neighborhoods. Such results pave the way to a new use of explanation-based approaches for improving search

    A Generalized Arc-Consistency Algorithm for a Class of Counting Constraints: Revised Edition that Incorporates One Correction

    Full text link
    This paper introduces the SEQ BIN meta-constraint with a polytime algorithm achieving general- ized arc-consistency according to some properties. SEQ BIN can be used for encoding counting con- straints such as CHANGE, SMOOTH or INCREAS- ING NVALUE. For some of these constraints and some of their variants GAC can be enforced with a time and space complexity linear in the sum of domain sizes, which improves or equals the best known results of the literature

    Self-decomposable Global Constraints

    Get PDF
    International audienceScalability becomes more and more critical to decision support technologies. In order to address this issue in Constraint Programming, we introduce the family of self-decomposable constraints. These constraints can be satisfied by applying their own filtering algorithms on variable subsets only. We introduce a generic framework which dynamically decompose propagation, by filtering over variable subsets. Our experiments over the CUMULATIVE constraint illustrate the practical relevance of self-decomposition

    La contrainte Increasing NValue

    Get PDF
    National audienceCet article introduit la contrainte Increasing NValue, qui restreint le nombre de valeurs distinctes affectĂ©es Ă  une sĂ©quence de variables, de sorte que chaque variable de la sĂ©quence soit infĂ©rieure ou Ă©gale Ă  la variable la succĂ©dant immĂ©diatement. Cette contrainte est une spĂ©cialisation de la contrainte NValue, motivĂ©e par le besoin de casser des symĂ©tries. Il est bien connu que propager la contrainte NValue est un problĂšme NP-Difficile. Nous montrons que la spĂ©cialisation au cas d'une sĂ©quence ordonnĂ©e de variables rend le problĂšme polynomial. Nous proposons un algorithme d'arc-consistance ayant une complexitĂ© temporelle en O(sum D), oĂč sum D est la somme des tailles des domaines. Cet algorithme est une amĂ©lioration significative, en termes de complexitĂ©, des algorithmes issus d'une reprĂ©sentation de la contrainte Increasing NValue Ă  l'aide d'automates ou de la contrainte SLIDE. Nous utilisons notre contrainte dans le cadre d'un problĂšme d'allocation de ressources
    • 

    corecore