11 research outputs found

    A geometric constraint over k-dimensional objects and shapes subject to business rules

    Get PDF
    This report presents a global constraint that enforces rules written in a language based on arithmetic and first-order logic to hold among a set of objects. In a first step, the rules are rewritten to Quantifier-Free Presburger Arithmetic (QFPA) formulas. Secondly, such formulas are compiled to generators of k-dimensional forbidden sets. Such generators are a generalization of the indexicals of cc(FD). Finally, the forbidden sets generated by such indexicals are aggregated by a sweep-based algorithm and used for filtering. The business rules allow to express a great variety of packing and placement constraints, while admitting efficient and effective filtering of the domain variables of the k-dimensional object, without the need to use spatial data structures. The constraint was used to directly encode the packing knowledge of a major car manufacturer and tested on a set of real packing problems under these rules, as well as on a packing-unpacking problem

    Des règles aux contraintes avec le langage de modélisation Rules2CP

    Get PDF
    National audienceDans cet article, nous montrons que le paradigme de représentation des connaissances règles métier, large- ment utilisé dans l'industrie, peut être développé comme un langage de modélisation pour la programmation par contraintes. Nous présentons un langage de modélisation général à base de règles, nommé Rules2CP, et décrivons sa compilation vers des programmes de contraintes sur les domaines finis avec contraintes réifiées et contraintes globales, basée sur la réécriture de termes et l'évaluation partielle. Nous prouvons la conuence de ces transformations et fournissons une borne de complexité sur la taille des programmes de contraintes génerés. L'expressivité de Rules2CP est illustrée avec une librairie complète de modélisation des problèmes de placement, appellée PKML, qui, en plus des problèmes purs Bin Packing et Bin Design, gère des règles de bon sens portant sur des contraintes de poids, de gravité et d'équilibre, ainsi que des règles métiers spécifiques compilées efficacement en des programmes de contraintes

    Reifying Global Constraints

    Get PDF
    Global constraints were introduced two decades ago as a means to model some core aspects of combinatorial problems with one single constraint for which an efficient domain filtering algorithm can be provided, possibly using a complete change of representation. However, global constraints are just constraint schemas on which one would like to apply usual constraint operations such as reification, i.e. checking entailment, disentailment and negating the constraint. This is currently not the case in state-of-the-art tools and was not considered in the global constraint catalog until recently. In this paper, we propose a general framework for reifying global constraints and apply it to some important constraints of the catalog, such as the cumulative constraint for instance. We show that several global constraints that were believed to be hard to negate can in fact be efficiently negated, and that entailment and disentailment can be efficiently tested. We also point out some new global constraints that are worth studying from this point of view and provide some performance figures obtained with an implementation in Choco.Les contraintes globales ont été introduites il y a une vingtaine d'années afin de modéliser certains aspects centraux des problèmes combinatoires avec une seule contrainte dotée d'un algorithme de filtrage efficace, au besoin via un changement complet de représentation. Cependant, les contraintes globales ne sont que des schémas de contraintes sur lesquelles on souhaiterait pouvoir appliquer les opérations usuelles des contraintes comme la réification, ce qui suppose de tester l'implication et de nier la contrainte. Ceci n'est pas le cas dans les outils de l'état de l'art et n'a été considéré que récemment dans le catalogue des contraintes globales. Dans cet article nous proposons un cadre général pour réifier les contraintes globales, et l'appliquons aux principales contraintes du catalogue, comme par exemple la contrainte cumulative. Nous montrons que plusieurs contraintes réputées difficiles à nier peuvent l'être efficacement, et que l'implication peuvent être testée efficacement. Nous montrons aussi que de nouvelles contraintes globales vaudraient la peine d'être étudiées de ce point de vue, et fournissons une évaluation préliminaire des performances obtenues avec une implémentation en Choco

    Conception de traces, et applications, vers une méta-théorie des traces (Towards a Meta-Thoery of traces)

    Get PDF
    By "trace" we mean any sequence of discrete events, each consisting of a set of attributes that may reflect in part the behavior of a system or observed phenomenon. What we want to study here is the process by which a trace (and its tracer) is finally designed. Traces development of a process or a family of processes is based on a serie of observations and analysis that led gradually to identify any measurable concepts and useful analysis. This analysis will eventually itself help to find new concepts for understanding the phenomenon, which, in turn, may lead to the introduction of new concepts and new measurable attributes in the trace. The identification of concepts is related to an activity of modeling and abstracting, and their transcription in a trace is seeking a representation in an easily transmissible form, also usable for analysis. What we expect from such a study, in addition, of course, of a better understanding of how the traces are built, is a rigorous methodology for developing traces based on reliable tools. An interesting result, for example, could be a domain independent prototyping language for generic trace construction. At this stage, only experimentations in the field of constraints solvers have been realized. The observation of traces showing unexpected behavior of solvers, where each constraint can be seen as an agent acting on a domain, has highlighted the potential of such a methodological approach. It was shown in particular how it was possible to improve the development of tracers using this approach for design as for implementation aspects as well. The concept of trace is used in many fields of studies, ranging from software engineering to neuronal trace, through mediated learning environment. One of the goal of this study is to facilitate, by a systematized approach of traces, a possible cross-fertilization between fields as diverse as software engineering, data analysis, education, medicine and philosophy

    Conception de traces et applications (vers une méta-théorie des traces).

    Get PDF
    Méta Théorie des traces et applications Manuscrit. Etat au 5/2/2010 Il s'agit de la première version dans laquelle tous les exemples ont été mis en cohérence avec le texte.Ce document est une synthèse en évolution constante de quelques travaux et réflexions conduits après 2004 (la fin du projet OADymPPaC) et concernant une méthodologie de constructions de traces. Par "trace" nous entendons toute suite discrète non bornée d'événements constitués chacun d'un ensemble d'attributs et susceptibles de rendre compte en partie du comportement d'un système ou phénomène observé. Ce que nous voulons étudier ici est le processus par lequel une trace est finalement conçue. Le développement de traces pour un processus ou une famille de processus repose sur un cycle d'observations et d'analyses qui conduit progressivement à identifier les concepts éventuellement mesurables et utiles à une analyse. Cette analyse permettra éventuellement elle-même de trouver de nouveaux concepts utiles à la compréhension du phénomène observé, qui, à leur tour, pourront amener à introduire de nouveaux concepts mesurables et de nouveaux attributs dans la trace. L'identification des concepts est liée à une activité de modélisation et d'abstraction, et leur transcription dans une trace relève de la recherche de leur représentation sous une forme aisément transmissible, mais aussi utilisable pour les analyses. Ce que nous attendons d'une telle étude, outre bien sûr une meilleure compréhension de la manière dont sont construites les traces, c'est une méthode rigoureuse de développement de traces susceptible de s'appuyer sur des outils. Un résultat intéressant, par exemple, peut -être un langage de prototypage de trace indépendant des processus observés. Au stade où en est cette étude l'auteur n'a pu conduire que des expérimentations dans le domaine des solveurs de contraintes. L'observation par des traces du comportement parfois inattendu d'un solveur, où chaque contrainte peut-être vue comme un agent agissant sur un domaine, a mis en évidence l'intérêt potentiel d'une approche méthodologique. On a pu montrer en particulier comment il était possible d'améliorer la réalisation de traceurs grâce à cette approche tant au plan de la conception que de l'implantation. De manière générale on retrouve le concept de trace dans de nombreux champs d'études allant du génie logiciel aux traces mémorielles dans le système nerveux, en passant par l'apprentissage en environnement médié

    From rules to constraint programs with the Rules2CP modelling language

    Get PDF
    Abstract. In this paper, we present a rule-based modelling language for constraint programming, called Rules2CP. Unlike other modelling languages, Rules2CP adopts a single knowledge representation paradigm based on rules without recursion, and a restricted set of data structures based on records and enumerated lists given with iterators. We show that this is sufficient to model constraint satisfaction problems, together with search strategies where search trees are expressed by logical formulae, and heuristic choice criteria are defined by preference orderings on variables and formulae. We describe the compilation of Rules2CP statements to constraint programs over finite domains, by a term rewriting system and partial evaluation. We prove the confluence of these transformations and provide a complexity bound on the size of the generated programs. The expressiveness of Rules2CP is illustrated first with simple examples, and then with a complete library for packing problems, called PKML, which, in addition to pure bin packing and bin design problems, can deal with common sense rules about weights, stability, as well as specific packing business rules. The performances of both the compiler and the generated code are evaluated on Korf’s benchmarks of optimal rectangle packing problems.
    corecore