24 research outputs found

    Octagonal Domains for Continuous Constraints

    Get PDF
    International audienceDomains in Continuous Constraint Programming (CP) are generally represented with intervals whose nn-ary Cartesian product (box) approximates the solution space. This paper proposes a new representation for continuous variable domains based on octagons. We generalize local consistency and split to this octagon representation, and we propose an octagonal-based branch and prune algorithm. Preliminary experimental results show promising performance improvements on several classical benchmarks

    Un solveur de contraintes basé sur les domaines abstraits

    Get PDF
    International audienceDans cet article, nous utilisons des techniques de l'interpréation abstraite (une théorie d'approximation des sémantiques) dans le cadre de la programmation par contraintes (basée sur la logique du premier ordre qui permet de résoudre des problÚmes combinatoires). Nous mettons en évidence certains liens et différences entre ces domaines de recherches : tous deux calculent itérativement des points fixes mais emploient des extrapolations et stratégies de raffinement différentes. De plus, nous pouvons mettre en correspondance les consistances en programmation par contraintes et les domaines abstraits non relationnels. Nous utilisons ensuite ces correspondances pour construire un solveur de contraintes abstrait qui s'appuie sur des techniques d'interprétation abstraite (comme les domaines relationnels) pour aller au-delà des solveurs classiques. Les résultats expérimentaux obtenus avec notre prototype sont encourageants

    Domaines abstraits en programmation par contraintes

    No full text
    Constraint Programming aims at solving hard combinatorial problems, with a computation time increasing in practice exponentially. The methods are today efficient enough to solve large industrial problems, in a generic framework. However, solvers are dedicated to a single variable type: integer or real. Solving mixed problems relies on ad hoc transformations. In another field, Abstract Interpretation offers tools to prove program properties, by studying an abstraction of their concrete semantics, that is, the set of possible values of the variables during an execution. Various representations for these abstractions have been proposed. They are called abstract domains. Abstract domains can mix any type of variables, and even represent relations between the variables. In this PhD dissertation, we define abstract domains for Constraint Programming, so as to build a generic solving method, dealing with both integer and real variables. We can also study the octagons abstract domain, already defined in Abstract Interpretation. Guiding the search by the octagonal relations, we obtain good results on a continuous benchmark. In a second part, we define our solving method using Abstract Interpretation techniques, in order to include existing abstract domains. Our solver, AbSolute, is able to solve mixed problems and use relational domains.La programmation par contraintes permet de formaliser et rĂ©soudre des problĂšmes fortement combinatoires, dont le temps de calcul Ă©volue en pratique exponentiellement. Les mĂ©thodes dĂ©veloppĂ©es aujourd’hui rĂ©solvent efficacement de nombreux problĂšmes industriels de grande taille dans des solveurs gĂ©nĂ©riques. Cependant, les solveurs restent dĂ©diĂ©s Ă  un seul type de variables : rĂ©elles ou entiĂšres, et rĂ©soudre des problĂšmes mixtes discrets-continus suppose des transformations ad hoc. Dans un autre domaine, l’interprĂ©tation abstraite permet de prouver des propriĂ©tĂ©s sur des programmes, en Ă©tudiant une abstraction de leur sĂ©mantique concrĂšte, constituĂ©e des traces des variables au cours d’une exĂ©cution. Plusieurs reprĂ©sentations de ces abstractions, appelĂ©es domaines abstraits, ont Ă©tĂ© proposĂ©es. TraitĂ©es de façon gĂ©nĂ©rique dans les analyseurs, elles peuvent mĂ©langer les types entiers, rĂ©els et boolĂ©ens, ou encore reprĂ©senter des relations entre variables. Dans cette thĂšse, nous dĂ©finissons des domaines abstraits pour la programmation par contraintes, afin de construire une mĂ©thode de rĂ©solution traitant indiffĂ©remment les entiers et les rĂ©els. Cette gĂ©nĂ©ralisation permet d’étudier des domaines relationnels, comme les octogones dĂ©jĂ  utilisĂ©s en interprĂ©tation abstraite. En exploitant l’information spĂ©cifique aux octogones pour guider la recherche de solutions, nous obtenons de bonnes performances sur les problĂšmes continus. Dans un deuxiĂšme temps, nous dĂ©finissons notre mĂ©thode gĂ©nĂ©rique avec des outils d’interprĂ©tation abstraite, pour intĂ©grer les domaines abstraits existants. Notre prototype, AbSolute, peut ainsi rĂ©soudre des problĂšmes mixtes et utiliser les domaines relationnels implĂ©mentĂ©s

    Abstract Domains for Constraint Programming, with the Example of Octagons

    No full text
    International audienceIn Constraint Programming (CP), the central notion of consistency can be defined as a fix point of some contracting operators. These operators always deal with cartesian products of domains of the same nature (real intervals, integer sets, etc), due to the cartesian nature of the CSP format. However, textit{inside} the solving process, there is no particular reason why the domains should be cartesian. In another research field, Abstract Interpretation (AI) in semantics relies on a strong and elegant theory dealing with over-approximations of variables. It allows in particular to mix abstract domains of different kinds (integer, reals...). Several numerical abstract domains for continuous variables have recently been proposed, some of them cartesian, other relational. In this article, we adapt to CP the AI definition of abstract domains. We give an abstract consistency definition, and show it extends the usual CP consistencies. We also give a general solving algorithm for abstract domains. Finally, we propose the octagon abstract domain and study its practical feasibility

    AmĂ©liorer la propagation : l'Importance d'ĂȘtre Inconsistant

    No full text
    International audienceAbstract Classical CSP solving methods often alternate two steps : propagation and exploration. Propagation reduces the domains of the variables according to the constraints. It can be seen as a discrimination of the search space in two sub-spaces : the inconsistent one that can be deleted from the solving process, and the undetermined one which may contain the solutions. The exploration step divides the undetermined sub-space into several sub-spaces in which the search continues. This step is usually implemented in solvers by split heuristics relying onto the domains of the variables and/or the constraints of the problem. This article introduces a new step into the solving process called elimination. It divides the search space into two sub-spaces : the undetermined one and the consistent one. It allows the solver to benefit more from the constraints, thus obtaining more significative frontiers for the exploration. It is based on a key observation : the consistent part of a problem is equivalent to the inconsistent part of the complementary problem. This new step is implemented in the AbSolute continuous solver. This solver combines methods from Abstract Interpretation and Constraint Programming. Our elimination technique can be easily added in it. Preliminary results show significative improvements of the solving process.Les mĂ©thodes classiques de rĂ©solution de problĂšmes de satisfaction de contraintes alternent gĂ©nĂ©ralement deux Ă©tapes : la propagation et l'exploration. La propagation rĂ©duit les domaines en fonction des contraintes. Elle peut ĂȘtre vue comme une Ă©tape de division de l'espace de recherche en deux parties : le sous-espace inconsistant, qui est Ă©liminĂ© du processus de rĂ©solution et le sous-espace indĂ©terminĂ© qui contient les solutions du problĂšme. L'Ă©tape d'exploration consiste alors Ă  diviser le sous-espace indĂ©terminĂ© en plusieurs sous-espaces oĂč continuer la rĂ©solution. Cette Ă©tape est implantĂ©e dans la plupart des solveurs de contraintes Ă  l'aide d'heuristiques de coupe qui reposent sur les domaines des variables et/ou les contraintes du problĂšme. Cet article introduit une nouvelle Ă©tape dans la rĂ©solution appelĂ©e Ă©limination. Elle divise l'espace de recherche en deux sous-espaces : l'espace indĂ©terminĂ© et l'espace consistant. Elle permet de mieux tirer profit des contraintes et ainsi d'obtenir des frontiĂšres plus pertinentes pour la rĂ©solution. Cette nouvelle Ă©tape est basĂ©e sur une observation clĂ© : la partie consistante d'un problĂšme est Ă©quivalente Ă  la partie inconsistante du problĂšme complĂ©mentaire. Nous avons implantĂ© cette mĂ©thode au sein du solveur continu AbSolute. Ce solveur mixe des mĂ©thodes d'Interpretation Abstraite et de Programmation Par Contraintes, et la technique d'Ă©limination s'y intĂšgre bien. Les premiers rĂ©sultats expĂ©rimentaux montrent des amĂ©liorations significatives des performances du processus de rĂ©solution

    Finding solutions by finding inconsistencies

    No full text
    International audienceIn continuous constraint programming, the solving process alternates propagation steps, which reduce the search space according to the constraints, and branching steps. In practice, the solvers spend a lot of computation time in propagation to separate feasible and infeasi-ble parts of the search space. The constraint propagators cut the search space into two subspaces: the inconsistent one, which can be discarded, and the consistent one, which may contain solutions and where the search continues. The status of all this consistent subspace is thus indeterminate. In this article, we introduce a new step called elimination. It refines the analysis of the consistent subspace by dividing it into an indeterminate one, where the search must continue, and a satisfied one, where the constraints are always satisfied. The latter can be stored and removed from the search process. Elimination relies on the propagation of the negation of the constraints, and a new difference operator to efficiently compute the obtained set as an union of boxes, thus it uses the same representations and algorithms as those already existing in the solvers. Combined with propagation, elimination allows the solver to focus on the frontiers of the constraints, which is the core difficult part of the problem. We have implemented our method in the AbSolute solver, and present experimental results on classic benchmarks with good performances

    Contraintes de cardinalité cachées dans les preuves d'insatisfaisabilité

    No full text
    International audienceLes solveurs SAT sont utilisés avec succÚs dans de nombreuses applications combinatoires et du monde réel. Il n'est maintenant pas rare de lire qu'une preuve mathé-matique implique des centaines de gigaoctets de traces de solveur SAT. L'ampleur de la preuve commence à consti-tuer une véritable limite à l'approche globale. Dans ce travail, nous proposons de rechercher des contraintes de haut niveau dans les preuves UNSAT. Un travail similaire a été proposé il y a quelques annéespour les contraintes de cardinalité les plus simples. Nous étendons cette idée à un cas plus général (sans limitation sur les bornes des contraintes de cardinalité) en généralisant l'algorithme de Bron & Kerbosh (pour l'énumération de cliques dans les graphes) aux hypergraphes. Nous démontrons expéri-mentalement la capacité de notre approche à trouver des contraintes de cardinalité dans les grandes preuves, ou-vrant ainsi un nouveau moyen de générer des preuves plus courtes et compréhensibles pour les problÚmes di ciles. Abstract SAT solvers are successfully used in many real-world and combinatoric applications. It is now not uncommon to read that a mathematical proof implied hundreds of gigabytes of SAT solver traces. The size of the proof by itself begins to be a real limit to the whole approach. In this work, we propose to search for higher-level constraints in UNSAT proofs. A similar work was proposed a few years ago, but only on the original formulafor the most simple cardinality constraints. We extend this idea to a more general case (with no limitations on the bounds of the cardinality constraints) by generalizing the Bron & Kerbosh algorithm (for clique enumeration in graphs) to hypergraphs. We experimentaly demonstrate the ability of our approach to find for cardinality constraints in large proofs, opening a new way of generating more shorter and human-understandable UNSAT proofs of hard problems
    corecore