191,539 research outputs found

    Tools for Search Tree Visualization: The APT Tool

    Get PDF
    The control part of the execution of a constraint logic program can be conceptually shown as a search-tree, where nodes correspond to calis, and whose branches represent conjunctions and disjunctions. This tree represents the search space traversed by the program, and has also a direct relationship with the amount of work performed by the program. The nodes of the tree can be used to display information regarding the state and origin of instantiation of the variables involved in each cali. This depiction can also be used for the enumeration process. These are the features implemented in APT, a tool which runs constraint logic programs while depicting a (modified) search-tree, keeping at the same time information about the state of the variables at every moment in the execution. This information can be used to replay the execution at will, both forwards and backwards in time. These views can be abstracted when the size of the execution requires it. The search-tree view is used as a framework onto which constraint-level visualizations (such as those presented in the following chapter) can be attached

    Finite Domain Bounds Consistency Revisited

    Full text link
    A widely adopted approach to solving constraint satisfaction problems combines systematic tree search with constraint propagation for pruning the search space. Constraint propagation is performed by propagators implementing a certain notion of consistency. Bounds consistency is the method of choice for building propagators for arithmetic constraints and several global constraints in the finite integer domain. However, there has been some confusion in the definition of bounds consistency. In this paper we clarify the differences and similarities among the three commonly used notions of bounds consistency.Comment: 12 page

    Monadic constraint programming

    Get PDF
    A constraint programming system combines two essential components: a constraint solver and a search engine. The constraint solver reasons about satisfiability of conjunctions of constraints, and the search engine controls the search for solutions by iteratively exploring a disjunctive search tree defined by the constraint program. In this paper we give a monadic definition of constraint programming in which the solver is defined as a monad threaded through the monadic search tree. We are then able to define search and search strategies as first-class objects that can themselves be built or extended by composable search transformers. Search transformers give a powerful and unifying approach to viewing search in constraint programming, and the resulting constraint programming system is first class and extremely flexible

    Finding regions of local repair in hierarchical constraint satisfaction

    Get PDF
    Algorithms for solving constraint satisfaction problems (CSP) have been successfully applied to several fields including scheduling, design, and planning. Latest extensions of the standard CSP to constraint optimization problems (COP) additionally provided new opportunities for solving several problems of combinatorial optimization more efficiently. Basically, two classes of algorithms have been used for searching constraint satisfaction problems (CSP): local search methods and systematic tree search extended by the classical constraint-processing techniques like e.g. forward checking and backmarking. Both classes exhibit characteristic advantages and drawbacks. This report presents a novel approach for solving constraint optimization problems that combines the advantages of local search and tree search algorithms which have been extended by constraint-processing techniques. This method proved applicability in a commercial nurse scheduling system as well as on randomly generated problems
    • …
    corecore