961 research outputs found
Flow-Based Propagators for the SEQUENCE and Related Global Constraints
We propose new filtering algorithms for the SEQUENCE constraint and some
extensions of the SEQUENCE constraint based on network flows. We enforce domain
consistency on the SEQUENCE constraint in time down a branch of the
search tree. This improves upon the best existing domain consistency algorithm
by a factor of . The flows used in these algorithms are derived from
a linear program. Some of them differ from the flows used to propagate global
constraints like GCC since the domains of the variables are encoded as costs on
the edges rather than capacities. Such flows are efficient for maintaining
bounds consistency over large domains and may be useful for other global
constraints.Comment: Principles and Practice of Constraint Programming, 14th International
Conference, CP 2008, Sydney, Australia, September 14-18, 2008. Proceeding
Computing leximin-optimal solutions in constraint networks
AbstractIn many real-world multiobjective optimization problems one needs to find solutions or alternatives that provide a fair compromise between different conflicting objective functions—which could be criteria in a multicriteria context, or agent utilities in a multiagent context—while being efficient (i.e. informally, ensuring the greatest possible overall agents' satisfaction). This is typically the case in problems implying human agents, where fairness and efficiency requirements must be met. Preference handling, resource allocation problems are another examples of the need for balanced compromises between several conflicting objectives. A way to characterize good solutions in such problems is to use the leximin preorder to compare the vectors of objective values, and to select the solutions which maximize this preorder. In this article, we describe five algorithms for finding leximin-optimal solutions using constraint programming. Three of these algorithms are original. Other ones are adapted, in constraint programming settings, from existing works. The algorithms are compared experimentally on three benchmark problems
Recommended from our members
Combinatorial optimization and metaheuristics
Today, combinatorial optimization is one of the youngest and most active areas of discrete mathematics. It is a branch of optimization in applied mathematics and computer science, related to operational research, algorithm theory and computational complexity theory. It sits at the intersection of several fields, including artificial intelligence, mathematics and software engineering. Its increasing interest arises for the fact that a large number of scientific and industrial problems can be formulated as abstract combinatorial optimization problems, through graphs and/or (integer) linear programs. Some of these problems have polynomial-time (“efficient”) algorithms, while most of them are NP-hard, i.e. it is not proved that they can be solved in polynomial-time. Mainly, it means that it is not possible to guarantee that an exact solution to the problem can be found and one has to settle for an approximate solution with known performance guarantees. Indeed, the goal of approximate methods is to find “quickly” (reasonable run-times), with “high” probability, provable “good” solutions (low error from the real optimal solution). In the last 20 years, a new kind of algorithm commonly called metaheuristics have emerged in this class, which basically try to combine heuristics in high level frameworks aimed at efficiently and effectively exploring the search space. This report briefly outlines the components, concepts, advantages and disadvantages of different metaheuristic approaches from a conceptual point of view, in order to analyze their similarities and differences. The two very significant forces of intensification and diversification, that mainly determine the behavior of a metaheuristic, will be pointed out. The report concludes by exploring the importance of hybridization and integration methods
SLIDE: A Useful Special Case of the CARDPATH Constraint
We study the CardPath constraint. This ensures a given constraint holds a
number of times down a sequence of variables. We show that SLIDE, a special
case of CardPath where the slid constraint must hold always, can be used to
encode a wide range of sliding sequence constraints including CardPath itself.
We consider how to propagate SLIDE and provide a complete propagator for
CardPath. Since propagation is NP-hard in general, we identify special cases
where propagation takes polynomial time. Our experiments demonstrate that using
SLIDE to encode global constraints can be as efficient and effective as
specialised propagators.Comment: 18th European Conference on Artificial Intelligenc
Solving hard industrial combinatorial problems with SAT
The topic of this thesis is the development of SAT-based techniques and tools for solving industrial combinatorial problems. First, it describes the architecture of state-of-the-art SAT and SMT Solvers based on the classical DPLL procedure. These systems can be used as black boxes for solving combinatorial problems. However, sometimes we can increase their efficiency with slight modifications of the basic algorithm. Therefore, the study and development of techniques for adjusting SAT Solvers to specific combinatorial problems is the first goal of this thesis.
Namely, SAT Solvers can only deal with propositional logic. For solving general combinatorial problems, two different approaches are possible:
- Reducing the complex constraints into propositional clauses.
- Enriching the SAT Solver language.
The first approach corresponds to encoding the constraint into SAT. The second one corresponds to using propagators, the basis for SMT Solvers. Regarding the first approach, in this document we improve the encoding of two of the most important combinatorial constraints: cardinality constraints and pseudo-Boolean constraints. After that, we present a new mixed approach, called lazy decomposition, which combines the advantages of encodings and propagators.
The other part of the thesis uses these theoretical improvements in industrial combinatorial problems. We give a method for efficiently scheduling some professional sport leagues with SAT. The results are promising and show that a SAT approach is valid for these problems.
However, the chaotical behavior of CDCL-based SAT Solvers due to VSIDS heuristics makes it difficult to obtain a similar solution for two similar problems. This may be inconvenient in real-world problems, since a user expects similar solutions when it makes slight modifications to the problem specification. In order to overcome this limitation, we have studied and solved the close solution problem, i.e., the problem of quickly finding a close solution when a similar problem is considered
PYCSP3: Modeling Combinatorial Constrained Problems in Python
In this document, we introduce PYCSP, a Python library that allows us to
write models of combinatorial constrained problems in a simple and declarative
way. Currently, with PyCSP, you can write models of constraint satisfaction
and optimization problems. More specifically, you can build CSP (Constraint
Satisfaction Problem) and COP (Constraint Optimization Problem) models.
Importantly, there is a complete separation between modeling and solving
phases: you write a model, you compile it (while providing some data) in order
to generate an XCSP3 instance (file), and you solve that problem instance by
means of a constraint solver. In this document, you will find all that you need
to know about PYCSP, with more than 40 illustrative models
- …