AND/OR tree search for constraint optimization (original) (raw)
Related papers
Optimization-oriented global constraints
Constraints, 2002
In this paper, we propose a way of exploiting Operations Research techniques within global constraints for cost-based domain filtering. In Constraint Programming, constraint propagation is aimed at removing from variable domains combinations of values which are proven infeasible. Pruning derives from feasibility reasoning. When coping with optimization problems, pruning can be performed also on the basis of costs, i.e., optimality reasoning. Cost-based filtering removes combination of values which are proven sub-optimal. For this purpose, we encapsulate in global constraints optimization components representing suitable relaxations of the constraint itself. These components embed efficient Operations Research algorithms computing the optimal solution of the relaxed problem and a gradient function representing the estimated cost of each variable-value assignment. We exploit these pieces of information for pruning and for guiding the search. We have applied these techniques to a couple of ILOG Solver global constraints (a constraint of difference and a path constraint) and tested the approach on a variety of combinatorial optimization problems such as Timetabling, Travelling Salesman Problems and Scheduling Problems with sequence dependent setup times. Comparisons with pure Constraint Programming approaches and related literature clearly show the benefits of the proposed approach.
Advances in and/or branch-and-bound search for constraint optimization
2005
AND/OR search spaces have recently been introduced as a unifying paradigm for advanced algorithmic schemes for graphical models. The main virtue of this representation is its sensitivity to the structure of the model, which can translate into exponential time savings for search algorithms. In [1] we introduced a linear space AND/OR Branch-and-Bound (AOBB) search scheme that explores the AND/OR search tree for solving optimization tasks. In this paper we extend the algorithm by equipping it with a context-based adaptive caching scheme similar to good and nogood recording, thus it explores an AND/OR graph rather than the AND/OR tree. We also improve the algorithm by using a new heuristic for generating close to optimal height pseudo-trees, based on a well known recursive decomposition of the hypergraph representation. We illustrate our results using a number of benchmark networks, including the very challenging ones that arise in genetic linkage analysis.
In Search of the Best Constraint Satisfaction Search
National Conference on Artificial Intelligence, 1994
We present the results of an empirical study of severalconstraint satisfaction search algorithms and heuristics.Using a random problem generator that allows usto create instances with given characteristics, we showhow the relative performance of various search methodsvaries with the number of variables, the tightnessof the constraints, and the sparseness of the constraintgraph. A version of backjumping using a dynamicvariable ordering heuristic
A bit of history ... Constraints have recently emerged as a research area that combines researchers from a number of fields, including Artificial Intelligence, Programming Languages, Symbolic Computing and Computational Logic. Constraint networks and constraint satisfaction problems have been studied in Artificial Intelligence starting from the seventies (Montanary, 1974), (Waltz, 1975). Systematic use of constraints in programming has started in the eighties (Gallaire, 1985), (Jaffar, Lassez, 1987). The constraint satisfaction origins from Artificial Intelligence where the problems like scene labelling was studied (Waltz, 1975). The scene labelling problem is probably the first constraint satisfaction problem that was formalised. The goal is to recognise the objects in the scene by interpreting lines in the drawings. First, the lines or edges are labelled, i.e., they are categorised into few types, namely convex (+), concave (-) and occluding edges (<). In some advanced systems, the shadow border is recognised as well. There are a lot ways how to label the scene (exactly 3 n , where n is a number of edges) but only few of them has any 3D meaning. The idea how to solve this combinatorial problem is to find legal labels for junctions satisfying the constraint that the edge has the same label at both ends. This reduces the problem a lot because there are only a very limited number of legal labels for junctions. ... and some applications. Constraint programming has been successfully applied in numerous domains. Recent applications include computer graphics (to express geometric coherence in the case of scene analysis), natural language processing (construction of efficient parsers), database systems (to ensure and/or restore consistency of the data), operations research problems (like optimisation problems), molecular biology (DNA sequencing), business applications (option trading), electrical engineering (to locate faults), circuit design (to compute layouts), etc. Current research in this area deals with various foundational issues, with implementation aspects, and with new applications of constraint programming. What does the constraint programming deal with? Constraint programming is the study of computational systems based on constraints. The idea of constraint programming is to solve problems by stating constraints (conditions, properties, requirements) which must be satisfied by the solution.
Algorithms and Constraint Programming
Lecture Notes in Computer Science, 2006
Constraint Programming is a powerful programming paradigm with a great impact on a number of important areas such as logic programming [45], concurrent programming [42], artificial intelligence [12], and combinatorial optimization [46]
Constraint optimization techniques for multiobjective branch and bound search
2008
In Constraint Optimization Problems (COP) the task is to find the best solution according to some preferences expressed by means of cost functions [1]. Branch and Bound (BB)[2] is an exact general search algorithm for COPs solving. BB is the most usual algorithm in the mono-objective case. The efficiency of BB depends on its hability to detect dead-ends, that is, nodes that do not have any solution below. Dead-end detection is done with a heuristic function that computes an underestimation or lower bound of the current subproblem.
International Journal of Advanced Research in Artificial Intelligence, 2012
Many researchers in Artificial Intelligence seek for new algorithms to reduce the amount of memory/ time consumed for general searches in Constraint Satisfaction Problems. These improvements are accomplished by the use of heuristics which either prune useless tree search branches or even indicate the path to reach the (optimal) solution faster than the blind version of the search. Many heuristics were proposed in the literature, like the Least Constraining Value (LCV). In this paper we propose a new pre-processing search heuristic to reduce the amount of backtracking calls, namely the Least Suggested Value First: a solution whenever the LCV solely cannot measure how much a value is constrained. In this paper, we present a pedagogical example, as well as the preliminary results.