2,552 research outputs found

    Reasoning from Last Conflict(s) in Constraint Programming

    Get PDF
    International audienceConstraint programming is a popular paradigm to deal with combinatorial problems in arti cial intelligence. Backtracking algorithms, applied to constraint networks, are commonly used but su er from thrashing, i.e. the fact of repeatedly exploring similar subtrees during search. An extensive literature has been devoted to prevent thrashing, often classi ed into look-ahead (constraint propagation and search heuristics) and look-back (intelligent backtracking and learning) approaches. In this paper, we present an original look-ahead approach that allows to guide backtrack search toward sources of conicts and, as a side e ect, to obtain a behavior similar to a backjumping technique. The principle is the following: after each conict, the last assigned variable is selected in priority, so long as the constraint network cannot be made consistent. This allows us to find, following the current partial instantiation from the leaf to the root of the search tree, the culprit decision that prevents the last variable from being assigned. This way of reasoning can easily be grafted to many variations of backtracking algorithms and represents an original mechanism to reduce thrashing. Moreover, we show that this approach can be generalized so as to collect a (small) set of incompatible variables that are together responsible for the last conict. Experiments over a wide range of benchmarks demonstrate the e ectiveness of this approach in both constraint satisfaction and automated arti cial intelligence planning

    Models and Strategies for Variants of the Job Shop Scheduling Problem

    Full text link
    Recently, a variety of constraint programming and Boolean satisfiability approaches to scheduling problems have been introduced. They have in common the use of relatively simple propagation mechanisms and an adaptive way to focus on the most constrained part of the problem. In some cases, these methods compare favorably to more classical constraint programming methods relying on propagation algorithms for global unary or cumulative resource constraints and dedicated search heuristics. In particular, we described an approach that combines restarting, with a generic adaptive heuristic and solution guided branching on a simple model based on a decomposition of disjunctive constraints. In this paper, we introduce an adaptation of this technique for an important subclass of job shop scheduling problems (JSPs), where the objective function involves minimization of earliness/tardiness costs. We further show that our technique can be improved by adding domain specific information for one variant of the JSP (involving time lag constraints). In particular we introduce a dedicated greedy heuristic, and an improved model for the case where the maximal time lag is 0 (also referred to as no-wait JSPs).Comment: Principles and Practice of Constraint Programming - CP 2011, Perugia : Italy (2011

    Solving optimal satisfiability problems through ClA*

    Get PDF
    Thesis (M.Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2002.Includes bibliographical references (p. 37-38).Real-world applications, such as diagnosis and embedded control, are increasingly being framed as OpSAT problems - problems of finding the best solution that satisfies a formula in propositional state logic. Previous methods, such as Conflict-directed A*, solve OpSAT problems through a weak coupling of A* search, used to generate optimal candidates, and a DPLL-based SAT solver, used to test feasibility. This paper achieves a substantial performance improvement by introducing a tightly coupled approach, Clause-directed A * (CIA *). ClA* simultaneously directs the search towards assignments that are feasible and optimal. First, satisfiability is generalized to state logic by unifying the DPLL satisfiability procedure with forward checking. Second, optimal assignments are found by using A* to guide variable splitting within DPLL. Third, search is directed towards feasible regions of the state space by treating all clauses as conflicts, and by selecting only assignments that entail more clauses. Finally, ClA* climbs towards the optimum by using a variable ordering heuristic that emulates gradient search. Empirical experiments on real-world and randomly-generated instances demonstrate an order of magnitude increase in performance over Conflict-directed A*.by Robert J. Ragno.M.Eng

    A constraint-based framework for configuration

    Get PDF
    The research presented here aims at providing a comprehensive framework for solving configuration problems, based on the Constraint Satisfaction paradigm. This thesis is addressing the two main issues raised by a configuration task: modeling the problem and solving it efficiently. Our approach subsumes previous approaches, incorporating both Simplification and further extension, offering increased representational power and efficiency. Modeling. We advance the idea of local, context independent models for the types of objects in the application domain, and show how the model of an artifact can be built as a composition of local models of the constituent parts. Our modeling technique integrates two mechanisms for dealing with complexity, namely composition and abstraction. Using concepts such as locality, aggregation and inheritance, it offers support and guidance as to the appropriate content and organization of the domain knowledge, thus making knowledge specification and representation less error prone, and knowledge maintenance much easier. There are two specific aspects which make modeling configuration problems challenging: the complexity and heterogeneity of relations that must be expressed, manipulated and maintained, and the dynamic nature of the configuration process. We address these issues by introducing Composite Constraint Satisfaction Problems, a new, nonstandard class of problems which extends the classic Constraint Satisfaction paradigm. Efficiency. For the purpose of the work presented here, we are only interested in providing a guaranteed optimal solution to a configuration problem. To achieve this goal, our research focused on two complementary directions. The first one led to a powerful search algorithm called Maintaining Arc Consistency Extended (MACE). By maintaining arc consistency and taking advantage of the problem structure, MACE turned out to be one of the best general purpose CSP search algorithms to date. The second research direction aimed at reducing the search effort involved in proving the optimality of the proposed solution by making use of information which is specific to individual configuration problems. By adding redundant specialized constraints, the algorithm improves dramatically the lower bound computation. Using abstraction through focusing only on relevant features allows the algorithm to take advantage of context-dependent interchangeability between component instances and discard equivalent solutions, involving the same cost as solutions that have already been explored

    Constraint programming on hierarchical multiprocessor systems

    Get PDF
    The work reported in this thesis is about constraint processing in the context of hierarchical multiprocessor systems, including distributed systems. More speci cally, it develops techniques and a system to help bringing the power available in today's multiprocessing networked systems into the constraint processing eld. Solving constraint speci ed problems is a process which lends itself naturally to parallelisation, as it usually implies going through very large search spaces, looking for a solution. Parallel constraint solving draws on the idea of dividing the search space among several workers, so the search may proceed faster, and thanks to the declarative nature of constraint programming, the parallelisation happens transparently as far as the user is concerned. However, to fully take advantage of the parallel computing power available, techniques must be developed to help ensure that the workers executing the search are kept busy at all times, which is an issue tackled by this work; RESUMO: Esta tese debruça-se sobre a programação por restrições no contexto dos sistemas multiprocessador hierárquicos, incluindo os sistemas distribuídos. Mais especificamente, o trabalho elaborado desenvolve as técnicas de resolução de problemas de satisfação de restrições recorrendo ao paralelismo. A actualidade do tema prende-se com a cada vez maior divulgação de que são objecto os sistemas multiprocessador que, juntamente com a omnipresença das redes de computadores, põe à nossa disposição uma capacidade de cálculo que necessita de ser posta a uso, o que tarda em acontecer. Nesta tese desenvolve-se um sistema que permite tirar partido desses recursos através do processamento de restrições A programação por restrições é um paradigma declarativo, em que o utilizador não tem de se preocupar com o controlo da computação, e a introdução de paralelismo nesta área pode realizar-se transparentemente. Por outro lado, o processo de pesquisa de soluções para problemas especificados por restrições adapta-se particularmente bem a ser paralelizado. Este tese apresenta uma abordagem _à resolução paralela de restrições, que junta paralelismo local, sob a forma de trabalhadores, com paralelismo distribuído, em que os actores são as equipas. O sistema construído, destinado a sistemas distribuídos de larga escala, que _é descrito e os seus resultados apresentados, inclui distribuição de trabalho, através de roubo de trabalho. Este funciona, localmente, sem a colaboração do roubado e, remotamente, com colaboração, num ambiente em que todas as equipas cooperam na procura da solução
    corecore