2,025 research outputs found
CID : Disjonction Constructive sur Intervalles
Le ``rognage'' ({\it shaving}) et la disjonction constructive sont deux principes de réfutation utilisés en programmation par contraintes. Le rognage est utilisé pour calculer la propriété de {\it singleton} arc-cohérence sur les CSP en domaines finis et la 3B-cohérence sur les CSP numériques. Il est également au c{\oe}ur de l'algorithme SATZ~\cite{Chuminli97} pour montrer la satisfiabilité d'une formule booléenne. Si l'on considère les domaines comme des contraintes unaires disjonctives, on peut adapter la {\it disjonction constructive}, proposée par Van Hentenryck et al. dans les années 1990, pour produire un opérateur de filtrage du modèle classique (où le problème est vu comme une conjonction de contraintes). Un avantage sur le rognage est que les étapes de (sous-)filtrage exécutées durant la disjonction constructive sont mieux réutilisées. Pour traiter les CSP numériques (systèmes comportant des contraintes sur les réels et résolus par des techniques d'intervalles), cet article présente deux nouveaux opérateurs de filtrage, appelés {\tt CID} et {\tt 3BCID}, basés sur la disjonction constructive, et une nouvelle heuristique de bissection basée sur {\tt CID}. {\tt CID} est exclusivement basé sur la disjonction constructive alors que {\tt 3BCID} est un algorithme hybridant rognage et disjonction constructive. Pendant que l'opérateur de filtrage {\tt CID} établit la CID-cohérence, l'heuristique de bissection basée sur {\tt CID} est capable d'apprendre sans surcoût la prochaine variable à bissecter. Des expérimentations ont été menées sur 20 benchmarks. {\tt CID} and {\tt 3BCID} produisent sur plusieurs benchmarks des gains en performance d'un ou plusieurs ordres de grandeur par rapport à une stratégie standard. {\tt CID} se compare avantageusement par rapport à l'opérateur de {\tt 3B} tout en étant plus simple à implanter. Ces expérimentations suggèrent de fixer dans {\tt 3BCID} le paramètre lié à {\tt CID}, offrant ainsi en quelque sorte à l'utilisateur une variante prometteuse de l'opérateur {\tt 3B}
IGC : Une nouvelle consistance partielle pour les CSPs continus
http://www710.univ-lyon1.fr/~csolnonDans cet article, nous proposons une nouvelle classe de consistances partielles sur les CSPs continus, jusque-là ignorée. Cette approche est motivée par le caractère infructueux des algorithmes de propagation de type AC3 conçus pour des problèmes discrets, et appliqués tels quels en domaine continu, c'est à dire avec la même notion de support (au sens des valeurs réelles). Nous donnons une nouvelle définition, celle de support-intervalle, coïncidant avec une autre abstraction du problème, et déclinons plusieurs propriétés des CSPs liées à cette définition. Nous montrons que seule l'une d'elles (IGC) semble exploitable, et qu'il est possible à partir de l'algorithme de base AC3 de l'obtenir, moyennant le recours à des ROBDD (reduced ordered binary decision diagrams), au lieu de simples intervalles, pour la représentation des domaines
New Light on Arc Consistency over Continuous Domains
Hyvönen and Faltings observed that propagation algorithms with continuous variables are computationally extremely inefficient when unions of intervals are used to precisely store refinements of domains. These algorithms were designed in the hope of obtaining the interesting property of arc consistency, that guarantees every value in domains to be consistent w.r.t. every constraint. In the first part of this report, we show that a pure backtrack-free filtering algorithm enforcing arc consistency will never exist. But surprisingly, we show that it is easy to obtain a property stronger than arc consistency with a few steps of bisection. We define this so-called box-set consistency and detail a generic method to enforce it. In the second part, a concrete algorithm, derived from the lazy version of the generic method is proposed. Correctness is proved and the properties are studied precisely
A Priori Error Analysis and Spring Arithmetic
WOSInternational audienceError analysis is defined by the following concern: bounding the output variation of a (nonlinear) function with respect to a given variation of the input variables. This paper investigates this issue in the framework of interval analysis. The classical way of analyzing the error is to linearize the function around the point corresponding to the actual input, but this method is local and not reliable. Both drawbacks can be easily circumvented by a combined use of interval arithmetic and domain splitting. However, because of the underlying linearization, a standard interval algorithm leads to a pessimistic bound, and even simply fails (i.e., returns an infinite error) in case of singularity. We propose an original nonlinear approach where intervals are used in a more sophisticated way through the so-called "springs". This new structure allows to represent an (infinite) set of intervals constrained by their midpoints and their radius. The output error is then calculated with a spring arithmetic in the same way as the image of a function is calculated with interval arithmetic. Our method is illustrated on two examples, including an application of geopositioning
Contractor Programming
WOSInternational audienceThis paper describes a solver programming method, called "contractor programming", that copes with two issues related to constraint processing over the reals. First, continuous constraints involve an inevitable step of solver design. Existing softwares provide an insufficient answer by restricting users to choose among a list of fixed strategies. Our first contribution is to give more freedom in solver design by introducing programming concepts where only configuration parameters were previously available. Programming consists in applying operators (intersection, composition, etc.) on algorithms called "contractors" that are somehow similar to propagators. Second, many problems with real variables cannot be cast as the search for vectors simultaneously satisfying the set of constraints, but a large variety of different outputs may be demanded from a set of constraints (e.g., a paving with boxes inside and outside of the solution set). These outputs can actually be viewed as the result of different "contractors" working concurrently on the same search space, with a bisection procedure intervening in case of deadlock. Such algorithms (which are not strictly speaking solvers) will be made easy to build thanks to a new branch & prune system, called "paver". Thus, this paper gives a way to deal harmoniously with a larger set of problems while giving a fine control on the solving mechanisms. The contractor formalism and the paver system are the two contributions. The approach is motivated and justified through different cases of study. An implementation of this framework named Quimper is also presented
Global Optimization based on Contractor Programming
International audienceIn this paper, we will present a general pattern based on contractor programmingfor designing a global optimization solver. This approach allows to solve problems with awide variety of constraints. The complexity and the performance of the algorithm rely on theconstruction of contractors which characterize the feasible region
Controlling Contractors with Monads for Hybrid Dynamical Systems
Physical systems with intelligent behaviors result from inter-actions of different fields: sensor networks, robotics, optimization, reasoning, etc. Rooted in this philosophy of interdisciplinary, this paper makes a connexion between hybrid dynamical systems, interval-based constraint propagation and functional programming. It shows how to build a monadic program in Haskell to control contractors (constraint propagators) for the state estimation of multi-model (hy- brid) dynamical systems, subject to partial and uncertain measurements. The example of system taken here is an elevator that can either be moving upward, downward or stopped. The altitude is measured directly and the estimation problem is simply to track its motion. The purpose of the Haskell library is to offer both a high-level and flexible framework for building propagation strategies based on user knowledge or user requirements.L'élaboration de sytèmes autonomes est le résultat d'interactions entre différents domaines: réseau de capteurs, robotique, optimisation, raison- nement automatique, etc. Cet article, ancré dans cette philosophie pluridis- ciplinaire, montre une connexion entre les systèmes hybrides dynamiques, la propagation de contraintes sur intervalles et la programmation fonctionnelle. Plus précisément, il montre comment concevoir un programme monadique en Haskell pour contrôler les contracteurs (propagateurs de contraintes) permet- tant l'estimation d'état de systèmes dynamiques multi-modéles (hybrides), su- jets à des mesures partielles et incertaines. L'exemple de système pris ici est un ascenseur qui peut monter, descendre ou être stopé. L'altitude est mesurée directement et le problème d'estimation est simplement de suivre son mouve- ment. L'objectif de la bibliothéque Haskell est d'offrir un cadre à la fois flexible et de haut niveau pour construire des stratégies de propagation basées sur les connaissances ou les pré-requis de l'utilisateur
From Implicit to Explicit Pavings
A combinatorial search can either be performed by using an implicit search tree, where an initial state is recursively transformed until some goal state is reached, or by using an explicit search tree, where an initial tree structure containing the root state is iteratively expanded until the leaves match the set of goal states. This paper proposes an exploratory study aimed at showing that explicit search trees can play a distinguished role in the field of numerical constraints. The first advantage of an explicit search is expressiveness: we can write new algorithms or reformulate existing ones in a simple and unified way. The second advantage is efficiency, since an implicit search may also lead to a blowup of redundant computations. This is illustrated through various examples.Une recherche combinatoire peut être réalisée soit en utilisant un arbre de recherche implicite, où l'état initial est récursivement transformé jusqu'à atteindre un état but, soit en utilisant un arbre de recherche explicite, où la structure d'arbre initiale contenant l'état racine est itérativement étendue jusqu'aux feuilles qui satisfont l'ensemble des états buts. Ce rapport propose une étude exploratoire visant à montrer que les arbres de recherche explicites peuvent jouer un rôle notable dans le cas des contraintes numériques. Le premier avantage de la recherche explicite est son expressivité : on peut écrire de nouveaux algorithmes ou reformuler des algorithmes existants d'une manière simple et unifiée. Le second avantage est l'efficacité car une recherche explicite permet d'éviter, dans certains cas, une explosion de calculs redondants. Ceci est illustré à travers plusieurs exemple
IbexOpt : un module d'optimisation globale sous contraintes fiable
National audienceIbexOpt est un module de la bibliothèque logicielle Ibex [3] de résolution de systèmes de contraintes sur intervalles. Ce module traite les problèmes d'optimisation globale sous contraintes. Il permet de trouver le minimum global d'une fonction non convexe de n variables réelles définie sur une boîte (chaque variable prend ses valeurs dans un intervalle borné) et soumis à des contraintes également non linéaires. Il applique une méthode complète de recherche arborescente par séparation - évaluation (Branch & Bound) en meilleur d'abord
Inner Regions and Interval Linearizations for Global Optimization
International audienceResearchers from interval analysis and constraint (logic) programming communities have studied intervals for their ability to manage infinite solution sets of numerical constraint systems. In particular, inner regions represent subsets of the search space in which all points are solutions. Our main contribution is the use of recent and new inner region extraction algorithms in the upper bounding phase of constrained global optimization. Convexification is a major key for efficiently lower bounding the objective function. We have adapted the convex interval taylorization proposed by Lin & Stadtherr for producing a reliable outer and inner polyhedral approximation of the solution set and a linearization of the objective function. Other original ingredients are part of our optimizer, including an efficient interval constraint propagation algorithm exploiting monotonicity of functions. We end up with a new framework for reliable continuous constrained global optimization. Our interval B&B is implemented in the interval-based explorer Ibex and extends this free C++ library. Our strategy significantly outperforms the best reliable global optimizers
- …