16 research outputs found

    Using Restarts in Constraint Programming over Finite Domains - An Experimental Evaluation

    Get PDF
    The use of restart techniques in complete Satisfiability (SAT) algorithms has made solving hard real world instances possible. Without restarts such algorithms could not solve those instances, in practice. State of the art algorithms for SAT use restart techniques, conflict clause recording (nogoods), heuristics based on activity variable in conflict clauses, among others. Algorithms for SAT and Constraint problems share many techniques; however, the use of restart techniques in constraint programming with finite domains (CP(FD)) is not widely used as it is in SAT. We believe that the use of restarts in CP(FD) algorithms could also be the key to efficiently solve hard combinatorial problems. In this PhD thesis we study restarts and associated techniques in CP(FD) solvers. In particular, we propose to including in a CP(FD) solver restarts, nogoods and heuristics based in nogoods as this should improve search algorithms, and, consequently, efficiently solve hard combinatorial problems. We thus intend to: a) implement restart techniques (successfully used in SAT) to solve constraint problems with finite domains; b) implement nogoods (learning) and heuristics based on nogoods, already in use in SAT and associated with restarts; and c) evaluate the use of restarts and the interplay with the other implemented techniques. We have conducted the study in the context of domain splitting backtrack search algorithms with restarts. We have defined domain splitting nogoods that are extracted from the last branch of the search algorithm before the restart. And, inspired by SAT solvers, we were able to use information within those nogoods to successfully help the variable selection heuristics. A frequent restart strategy is also necessary, since our approach learns from restarts

    Hybrid meta-heuristics for combinatorial optimization

    Get PDF
    Combinatorial optimization problems arise, in many forms, in vari- ous aspects of everyday life. Nowadays, a lot of services are driven by optimization algorithms, enabling us to make the best use of the available resources while guaranteeing a level of service. Ex- amples of such services are public transportation, goods delivery, university time-tabling, and patient scheduling. Thanks also to the open data movement, a lot of usage data about public and private services is accessible today, sometimes in aggregate form, to everyone. Examples of such data are traffic information (Google), bike sharing systems usage (CitiBike NYC), location services, etc. The availability of all this body of data allows us to better understand how people interacts with these services. However, in order for this information to be useful, it is necessary to develop tools to extract knowledge from it and to drive better decisions. In this context, optimization is a powerful tool, which can be used to improve the way the available resources are used, avoid squandering, and improve the sustainability of services. The fields of meta-heuristics, artificial intelligence, and oper- ations research, have been tackling many of these problems for years, without much interaction. However, in the last few years, such communities have started looking at each other’s advance- ments, in order to develop optimization techniques that are faster, more robust, and easier to maintain. This effort gave birth to the fertile field of hybrid meta-heuristics.openDottorato di ricerca in Ingegneria industriale e dell'informazioneopenUrli, Tommas

    SAT and CP: Parallelisation and Applications

    Get PDF
    This thesis is considered with the parallelisation of solvers which search for either an arbitrary, or an optimum, solution to a problem stated in some formal way. We discuss the parallelisation of two solvers, and their application in three chapters.In the first chapter, we consider SAT, the decision problem of propositional logic, and algorithms for showing the satisfiability or unsatisfiability of propositional formulas. We sketch some proof-theoretic foundations which are related to the strength of different algorithmic approaches. Furthermore, we discuss details of the implementations of SAT solvers, and show how to improve upon existing sequential solvers. Lastly, we discuss the parallelisation of these solvers with a focus on clause exchange, the communication of intermediate results within a parallel solver. The second chapter is concerned with Contraint Programing (CP) with learning. Contrary to classical Constraint Programming techniques, this incorporates learning mechanisms as they are used in the field of SAT solving. We present results from parallelising CHUFFED, a learning CP solver. As this is both a kind of CP and SAT solver, it is not clear which parallelisation approaches work best here. In the final chapter, we will discuss Sorting networks, which are data oblivious sorting algorithms, i. e., the comparisons they perform do not depend on the input data. Their independence of the input data lends them to parallel implementation. We consider the question how many parallel sorting steps are needed to sort some inputs, and present both lower and upper bounds for several cases

    Algorithms and efficient encodings for argumentation frameworks and arithmetic problems

    Get PDF
    In this thesis we focus on the design and implementation of a particular framework of Possibilistic Defeasible Logic Programming (RP-DeLP). This framework is based on a general notion of collective (non-binary) conflict among arguments allowing to ensure direct and indirect consistency properties with respect to the strict knowledge. An output of an RP-DeLP program is a pair of sets of warranted and blocked conclusions (literals), all of them recursively based on warranted conclusions but, while warranted conclusions do not generate any conflict, blocked conclusions do. An RP-DeLP program may have multiple outputs in case of circular definitions of conflicts among arguments. We introduce two semantics, the first one where all possible outputs are computed and the second one which is a characterization of an unique output property. The computation of the outputs for both semantics relies on two main problems: the problem of finding a collective conflict among a set of arguments and the problem of finding almost valid arguments for a conclusion. Both problems are combinatorial problems, so we propose two resolution approaches: a first one based on SAT techniques and a second one based on Answer Set Programming techniques. We propose an implementation and we empirically test our algorithms. We provide an analysis on the performance of the implementation of the algorithms, and we explain the results on the resolution of some randomly generated problems. In this thesis we also focus on the resolution of some combinatorial problems. We analyze, design and implement some resolution tools for arithmetic problems, modular constraints and networking problems. We studied empirically how our approaches perform and we compared them to other solving techniques known as best proposals in the literature.Esta tesis se centra en el diseño e implementación de un framework particular para Possibilistic Defeasible Logic Programming (RP-DeLP). Este framework está basado en la noción general de conflicto colectivo entre argumentos (no binario) que permite asegurar las propiedades de consistencia directa e indirecta respecto al conocimiento estricto. Una salida de un programa RP-DeLP es una tupla de conjuntos de conclusiones (literales) garantizadas y bloqueadas, todas ellas basadas recursivamente sobre conclusiones garantizadas con la particularidad de que mientras las conclusiones garantizadas no generan ningún conflicto, las conclusiones bloqueadas sí lo hacen. Un programa RP-DeLP puede tener múltiples salidas en el caso de que existan definiciones circulares de conflictos entre los argumentos. Se introducen dos semánticas, la primera donde se computan todas las posibles salidas del programa y una segunda que nace de la caracterización de la propiedad de la salida única. El cómputo de las salidas para ambas semánticas se basa en la solución de dos problemas principales: el problema de la búsqueda de argumentos almost valid para una conclusión y la búsqueda de conflictos colectivos entre un conjunto de argumentos. Ambos problemas son problemas combinatorios y se proponen dos aproximaciones de resolución diferentes: una primera aproximación basada en técnicas SAT y otra segunda aproximación basada en técnicas de Answer Set Programming. Se propone una implementación y también se prueba empíricamente el comportamiento de los algoritmos propuestos. A través de un análisis sobre el comportamiento de la implementación se explican los resultados obtenidos. Para ello se generan problemas aleatorios donde algunas propiedades pueden ser controladas mediante la configuración de parámetros de entrada. Adicionalmente esta tesis también se centra en la resolución de otros problemas combinatorios. Se analizan e implementan herramientas para la resolución de problemas aritméticos, restricciones modulares y problemas de redes de comunicaciones. Se propone un estudio empírico de las propuestas y se comparan con las aproximaciones, conocidas como más eficientes hasta el momento, de la literatura.Aquesta tesi doctoral se centra en el disseny i implementació d'un framework particular per Possibilistic Defeasible Logic Programming (RP-DeLP). Aquest framework es basa en una noció de conflicte col·lectiu (no binària) entre arguments que permet assegurar les propietats de consistència directa i indirecta respecte del coneixement estricte. Una sortida d'un programa RP-DeLP és una parella de conjunts de conclusions garantides i bloquejades (literals), totes elles basades recursivament en conclusions prèviament garantides. La diferència radica en què mentre les conclusions garantides no generen cap conflicte, les conclusions bloquejades sí que ho fan. Un programa RP-DeLP pot tenir múltiples sortides en el cas de definicions circulars de conflictes entre arguments. S'introdueixen dues semàntiques pel sistema d'argumentació presentat. La primera d'elles pren en consideració totes les possibles sortides que poden ser obtingudes d'un programa RP-DeLP tenint en compte les diferents maneres de resoldre els conflictes circulars que poden sorgir. La segona semàntica se centra en el còmput d'una única sortida que està basada en la caracterització del que anomenem maximal ideal output. Aquesta sortida conté un nombre maximal de literals garantits, però que inclou només literals els arguments dels quals tenen els seus suports inclosos en la sortida. El comput de les sortides per ambdues semàntiques es basa en la resolució de dos problemes principals: el problema de trobar conflictes col·lectius entre un conjunt d'arguments i el problema de trobar arguments almost valid per una conclusió. Ambdós problemes són considerats problemes combinatoris i es proposen dues aproximacions per a la resolució: una primera aproximació basada en tècniques SAT i una segona basada en Answer Set Programming. Es proposa una implementació i una anàlisi empírica dels algorismes implementats. Aquests algorismes es proven sobre un conjunt de problemes generats aleatòriament mitjançant un generador que permet la configuració dels diferents paràmetres dels problemes generats. Un cop obtinguts els resultats, s'estudia quina afectació han tingut els diferents paràmetres observant el temps de resolució i la informació obtinguda. En aquesta tesi també s'estudien diferents tècniques de resolució per a altres problemes combinatoris. S'analitzen, dissenyen i implementen algunes eines de resolució per a problemes aritmètics, restriccions modulars i problemes de xarxes de comunicacions. S'ha estudiat com les aproximacions proposades es comporten en comparació amb altres tècniques proposades a la literatura considerades com les més eficients fins al moment

    Towards hybrid methods for solving hard combinatorial optimization problems

    Full text link
    Tesis doctoral leída en la Escuela Politécnica Superior de la Universidad Autónoma de Madrid el 4 de septiembre de 200

    Contrôle de la propagation et de la recherche dans un solveur de contraintes

    Get PDF
    La programmation par contraintes est souvent décrite, utopiquement, comme un paradigme déclaratif dans lequel l utilisateur décrit son problème et le solveur le résout. Bien entendu, la réalité des solveurs de contraintes est plus complexe, et les besoins de personnalisation des techniques de modélisation et de résolution évoluent avec le degré d expertise des utilisateurs. Cette thèse porte sur l enrichissement de l arsenal des techniques disponibles dans les solveurs de contraintes. D une part, nous étudions la contribution d un système d explications à l exploration de l espace de recherche, dans le cadre spécifique d une recherche locale. Deux heuristiques de voisinages génériques exploitant singulièrement les explications sont décrites. La première se base sur la difficulté de réparer une solution partiellement détruite, la seconde repose sur la nature non-optimale de la solution courante. Ces heuristiques mettent à jour la structure interne des problèmes traités pour construire des voisins de bonne qualité pour une recherche à voisinage large. Elles sont complémentaires d autres heuristiques de voisinages génériques, avec lesquels elles peuvent être combinées efficacement. De plus, nous proposons de rendre le système d explications paresseux afin d en minimiser l empreinte. D autre part, nous effectuons un état des lieux des savoir-faire relatifs aux moteurs de propagation pour les solveurs de contraintes. Ces données sont exploitées opérationnellement à travers un langage dédié qui permet de personnaliser la propagation au sein d un solveur, en fournissant des structures d implémentation et en définissant des points de contrôle dans le solveur. Ce langage offre des concepts de haut niveau permettant à l utilisateur d ignorer les détails de mise en œuvre du solveur, tout en conservant un bon niveau de flexibilité et certaines garanties. Il permet l expression de schémas de propagation spécifiques à la structure interne de chaque problème. La mise en œuvre et les expérimentations ont été effectués dans le solveur de contraintes Choco. Cette thèse a donné lieu à une nouvelle version de l outil globalement plus efficace et nativement expliqué.Constraint programming is often described, idealistically, as a declarative paradigm in which the user describes the problem and the solver solves it. Obviously, the reality of constraint solvers is more complex, and the needs in customization of modeling and solving techniques change with the level of expertise of users. This thesis focuses on enriching the arsenal of available techniques in constraint solvers. On the one hand, we study the contribution of an explanation system to the exploration of the search space in the specific context of a local search. Two generic neighborhood heuristics which exploit explanations singularly are described. The first one is based on the difficulty of repairing a partially destroyed solution, the second one is based on the non-optimal nature of the current solution. These heuristics discover the internal structure of the problems to build good neighbors for large neighborhood search. They are complementary to other generic neighborhood heuristics, with which they can be combined effectively. In addition, we propose to make the explanation system lazy in order to minimize its footprint. On the other hand, we undertake an inventory of know-how relative to propagation engines of constraint solvers. These data are used operationally through a domain specific language that allows users to customize the propagation schema, providing implementation structures and defining check points within the solver. This language offershigh-level concepts that allow the user to ignore the implementation details, while maintaining a good level of flexibility and some guarantees. It allows the expression of propagation schemas specific to the internal structure of each problem solved. Implementation and experiments were carried out in the Choco constraint solver, developed in this thesis. This has resulted in a new version of the overall effectiveness and natively explained tool.NANTES-ENS Mines (441092314) / SudocSudocFranceF

    Solving hard industrial combinatorial problems with SAT

    Get PDF
    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

    Proceedings of SAT Challenge 2012 : Solver and Benchmark Descriptions

    Get PDF
    Peer reviewe

    Streamlined constraint reasoning : an automated approach from high level constraint specifications

    Get PDF
    Constraint Programming (CP) is a powerful technique for solving large-scale combinatorial (optimisation) problems. Solving a problem proceeds in two distinct phases: modelling and solving. Effective modelling has a huge impact on the performance of the solving process. Even with the advance of modern automated modelling tools, search spaces involved can be so vast that problems can still be difficult to solve. To further constrain the model a more aggressive step that can be taken is the addition of streamliner constraints, which are not guaranteed to be sound but are designed to focus effort on a highly restricted but promising portion of the search space. Previously, producing effective streamlined models was a manual, difficult and time-consuming task. This thesis presents a completely automated process to the generation, search and selection of streamliner portfolios to produce a substantial reduction in search effort across a diverse range of problems. First, we propose a method for the generation and evaluation of streamliner conjectures automatically from the type structure present in an Essence specification. Second, the possible streamliner combinations are structured into a lattice and a multi-objective search method for searching the lattice of combinations and building a portfolio of streamliner combinations is defined. Third, the problem of "Streamliner Selection" is introduced which deals with selecting from the portfolio an effective streamliner for an unseen instance. The work is evaluated by presenting two sets of experiments on a variety of problem classes. Lastly, we explore the effect of model selection in the context of streamlined specifications and discuss the process of streamlining for Constrained Optimization Problems."This work was supported by: EPSRC funding award EP/N509759/1" -- Fundin
    corecore