Spelling suggestions: "subject:"constraintprogramming"" "subject:"constraintprogrammierung""
101 |
Programmation par contraintes et découverte de motifs sur données séquentielles / Constraint programming for sequential pattern miningVigneron, Vincent 08 December 2017 (has links)
Des travaux récents ont montré l’intérêt de la programmation par contraintes pour la fouille de données. Dans cette thèse, nous nous intéressons à la recherche de motifs sur séquences, et en particulier à la caractérisation, à l’aide de motifs, de classes de séquences pré-établies. Nous proposons à cet effet un langage de modélisation à base de contraintes qui suppose une représentation matricielle du jeu de séquences. Un motif s’y définit comme un ensemble de caractères (ou de patrons) et pour chacun une localisation dans différentes séquences. Diverses contraintes peuvent alors s’appliquer : validité des localisations, couverture d’une classe de séquences, ordre sur les localisations des caractères commun aux séquences, etc. Nous formulons deux problèmes de caractérisation NP-complets : la caractérisation par motif totalement ordonné (e.g. sous-séquence exclusive à une classe) ou partiellement ordonné. Nous en donnons deux modélisations CSP qui intègrent des contraintes globales pour la preuve d’exclusivité. Nous introduisons ensuite un algorithme mémétique pour l’extraction de motifs partiellement ordonnés qui s’appuie sur la résolution CSP lors des phases d’initialisation et d’intensification. Cette approche hybride se révèle plus performante que l’approche CSP pure sur des séquences biologiques. La mise en forme matricielle de jeux de séquences basée sur une localisation des caractères peut être de taille rédhibitoire. Nous proposons donc de localiser des patrons plutôt que des caractères. Nous présentons deux méthodes ad-hoc, l’une basée sur un parcours de treillis et l’autre sur la programmation dynamique. / Recent works have shown the relevance of constraint programming to tackle data mining tasks. This thesis follows this approach and addresses motif discovery in sequential data. We focus in particular, in the case of classified sequences, on the search for motifs that best fit each individual class. We propose a language of constraints over matrix domains to model such problems. The language assumes a preprocessing of the data set (e.g., by pre-computing the locations of each character in each sequence) and views a motif as the choice of a sub-matrix (i.e., characters, sequences, and locations). We introduce different matrix constraints (compatibility of locations with the database, class covering, location-based character ordering common to sequences, etc.) and address two NP-complete problems: the search for class-specific totally ordered motifs (e.g., exclusive subsequences) or partially ordered motifs. We provide two CSP models that rely on global constraints to prove exclusivity. We then present a memetic algorithm that uses this CSP model during initialisation and intensification. This hybrid approach proves competitive compared to the pure CSP approach as shown by experiments carried out on protein sequences. Lastly, we investigate data set preprocessing based on patterns rather than characters, in order to reduce the size of the resulting matrix domain. To this end, we present and compare two alternative methods, one based on lattice search, the other on dynamic programming.
|
102 |
SAT Compilation for Constraints over Structured Finite DomainsBau, Alexander 22 March 2017 (has links) (PDF)
A constraint is a formula in first-order logic expressing a relation between values of various domains. In order to solve a constraint, constructing a propositional encoding is a successfully applied technique that benefits from substantial progress made in the development of modern SAT solvers. However, propositional encodings are generally created by developing a problem-specific generator program or by crafting them manually, which often is a time-consuming and error-prone process especially for constraints over complex domains. Therefore, the present thesis introduces the constraint solver CO4 that automatically generates propositional encodings for constraints over structured finite domains written in a syntactical subset of the functional programming language Haskell. This subset of Haskell enables the specification of expressive and concise constraints by supporting user-defined algebraic data types, pattern matching, and polymorphic types, as well as higher-order and recursive functions. The constraint solver CO4 transforms a constraint written in this high-level language into a propositional formula. After an external SAT solver determined a satisfying assignment for the variables in the generated formula, a solution in the domain of discourse is derived. This approach is even applicable for finite restrictions of recursively defined algebraic data types. The present thesis describes all aspects of CO4 in detail: the language used for specifying constraints, the solving process and its correctness, as well as exemplary applications of CO4.
|
103 |
Parallélisme en programmation par contraintes / Parallelism in constraint programmingRezgui, Mohamed 08 July 2015 (has links)
Nous étudions la parallélisation de la procédure de recherche de solution d’un problème en Programmation Par Contraintes (PPC). Après une étude de l’état de l’art, nous présentons une nouvelle méthode, nommée Embarrassingly Parallel Search (EPS). Cette méthode est basée sur la décomposition d’un problème en un très grand nombre de sous-problèmes disjoints qui sont ensuite résolus en parallèle par des unités de calcul avec très peu, voire aucune communication. Le principe d’EPS est d’arriver statistiquement à un équilibrage des temps de résolution de chaque unité de calcul afin d’obtenir une bonne répartition de la charge de travail. EPS s’appuie sur la propriété suivante : la somme des temps de résolution de chacun des sous-problèmes est comparable au temps de résolution du problème en entier. Cette propriété est vérifiée en PPC, ce qui nous permet de disposer d’une méthode simple et efficace en pratique. Dans nos expérimentations, nous nous intéressons à la recherche de toutes les solutions d’un problème en PPC, à prouver qu’un problème n’a pas de solution et à la recherche d’une solution optimale d’un problème d’optimisation. Les résultats montrent que la décomposition doit générer au moins 30 sous-problèmes par unité de calcul pour obtenir des charges de travail par unité de calcul équivalentes. Nous évaluons notre approche sur différentes architectures (machine multi-coeurs, centre de calcul et cloud computing) et montrons qu’elle obtient un gain pratiquement linéaire en fonction du nombre d’unités de calcul. Une comparaison avec les méthodes actuelles telles que le work stealing ou le portfolio montre qu’EPS obtient de meilleurs résultats. / We study the search procedure parallelization in Constraint Programming (CP). After giving an overview on various existing methods of the state-of-the-art, we present a new method, named Embarrassinqly Parallel Search (EPS). This method is based on the decomposition of a problem into many disjoint subproblems which are then solved in parallel by computing units with little or without communication. The principle of EPS is to have a resolution times balancing for each computing unit in a statistical sense to obtain a goodDépôt de thèse – Données complémentaireswell-balanced workload. We assume that the amount of resolution times of all subproblems is comparable to the resolution time of the entire problem. This property is checked with CP and allows us to have a simple and efficient method in practice. In our experiments, we are interested in enumerating all solutions of a problem, and proving that a problem has no solution and finding an optimal solution of an optimization problem. We observe that the decomposition has to generate at least 30 subproblems per computing unit to get equivalent workloads per computing unit. Then, we evaluate our approach on different architectures (multicore machine, cluster and cloud computing) and we observe a substantially linear speedup. A comparison with current methods such as work stealing or portfolio shows that EPS gets better results.
|
104 |
Ordonnancement cumulatif en programmation par contraintes : caractérisation énergétique des raisonnements et solutions robustes / Cumulative scheduling in constraint programming : energetic characterization of reasoning and robust solutionsDerrien, Alban 27 November 2015 (has links)
La programmation par contraintes est une approche régulièrement utilisée pour traiter des problèmes d’ordonnancement variés. Les problèmes d’ordonnancement cumulatifs représentent une classe de problèmes dans laquelle des tâches non morcelable peuvent être effectuées en parallèle. Ces problèmes apparaissent dans de nombreux contextes réels, tels que par exemple l’allocation de machines virtuelles ou l’ordonnancement de processus dans le "cloud", la gestion de personnel ou encore d’un port. De nombreux mécanismes ont été adaptés et proposés en programmation par contraintes pour résoudre les problèmes d’ordonnancement. Les différentes adaptations ont abouti à des raisonnements qui semblent à priori significativement distincts. Dans cette thèse nous avons effectué une analyse détaillée des différents raisonnements, proposant à la fois une notation unifiée purement théorique mais aussi des règles de dominance, permettant une amélioration significative du temps d’exécution d’algorithmes issus de l’état de l’art, pouvant aller jusqu’à un facteur sept. Nous proposons aussi un nouveau cadre de travail pour l’ordonnancement cumulatif robuste, permettant de trouver des solutions supportant qu’à tout moment une ou plusieurs tâches soit retardées, sans remise en cause de l’ordonnancement généré et en gardant une date de fin de projet satisfaisante. Dans ce cadre, nous proposons une adaptation d’un algorithme de l’état de l’art, Dynamic Sweep. / Constraint programming is an approach regularly used to treat a variety of scheduling problems. Cumulative scheduling problems represent a class of problems in which non-preemptive tasks can be performed in parallel. These problems appear in many contexts, such as for example the allocation of virtual machines, the ordering process in the "cloud", personnel management or a port. Many mechanisms have been adapted and offered in constraint programming to solve scheduling problems. The various adaptations have resulted in reasoning that appear a priori significantly different. In this thesis we performed a detailed analysis of the various arguments, offering both a theoretical unified caracterization but also dominance rules, allowing a significant improvement in execution time of algorithms from the state of the art, up to a factor of seven. we also propose a new framework for robust cumulative scheduling, to find solutions that support at any time one or more tasks to be delayed while keeping a satisfactory end date of the project and without calling into question the generated scheduling. In this context, we propose an adaptation of an algorithm of the state of the art, Dynamic Sweep.
|
105 |
Contribution à la prise en compte d'exigences dynamiques en conception préliminaire de systèmes complexes / Contribution in the consideration of dynamic requirements in the preliminary design of complex systemsTrabelsi, Hassen 16 January 2014 (has links)
Cette thèse traite de problématique de dimensionnement d'un système technique complexe. L'objectif est de proposer et d'outiller un processus de conception selon lequel le dimensionnement statique de l'architecture initiale d'un système satisfait dès le début les exigences statiques et dynamiques sans nécessité de redimensionnement. Ainsi, nous avons proposé une nouvelle démarche de conception dans laquelle la prise en compte des exigences statiques et dynamiques est effectuée de maniéré simultanée et globale dans la phase de conception préliminaire. Cette démarche se base sur les exigences pour déterminer les solutions admissibles et utilise des méthodes de résolution ensemblistes telles que la méthode de calcul par intervalle et la méthode de propagation par contraintes. En effet, les variables de conception sont exprimées par intervalles et les exigences statiques et dynamiques sont implémentées dans un même modèle NCSP. Les exigences dynamiques sont plus difficiles à intégrer. Il s'agit des exigences fonctionnelles du système, de la résonance et des critères de stabilité, de commandabilité et de transmittance. Dans un premier temps, nous avons réussi à intégrer le comportement dynamique d'un système technique sous forme d'équation différentielle ordinaire par intervalles et dans un deuxième temps, nous avons traduit les exigences dynamiques sous forme de contraintes algébriques définies par un ensemble d'équations et inéquations. La solution générée représente les valeurs admissibles des variables de conception satisfaisant simultanément les exigences statiques et dynamiques imposées. Ce couplage entre le dimensionnement statique et dynamique dans l'approche de conception proposée permet d'éviter le sur-dimensionnement puisque les exigences dynamiques interviennent dans le choix des coefficients de sécurité, et d'éviter les boucles de redimensionnement en cas d'échec ce qui permet de gagner en temps de calcul et de réduire le coût de conception. La démarche de conception proposée est validée par application sur le cas de dimensionnement d'un système de suspension active MacPherson. / This thesis deals with design problems of a complex technical system. The objective is to find a design process which the static design of the initial architecture of a system meets from the first static and dynamic requirements with no need to resize it. Thus, we propose a new design approach which the consideration of static and dynamic requirements is done simultaneously and globally in the preliminary design phase. This approach is based on the requirements to determine admissible solutions and uses set-based methods such as interval computation and constraint propagation. Indeed, the design variables are expressed by intervals and the static and dynamic requirements are implemented in a NCSP model. The dynamic requirements are more difficult to integrate. They represent the functional requirements of the system, the resonance and stability criteria, controllability and transmittance. On the one hand, we succeed to integrate the dynamic behavior of a technical system in the form of ordinary differential equation by intervals. On the other hand, we formalize the dynamic requirements in the form of algebraic constraints defined by a set of equations and inequalities. The generated solution is the set of acceptable values of design variables satisfying simultaneously static and dynamic requirements. This coupling between the static and dynamic sizing steps in the proposed design approach avoids over- sizing of the system as the dynamic requirements involved in the choice of safety factors. Il also avoid resizing loops in case of failure, which saves significant computation time and reduce the cost of design. The proposed design approach is applied on the sizing of a MacPherson active suspension system.
|
106 |
Estimating the number of solutions on cardinality constraints / Estimer le nombre de solutions sur les contraintes de cardinalitéLo Bianco Accou, Giovanni Christian 30 October 2019 (has links)
La richesse de la programmation par contraintes repose sur la très large variété des algorithmes qu’elle utilise en puisant dans les grands domaines de l’Intelligence Artificielle, de la Programmation Logique et de la Recherche Opérationnelle. Cependant, cette richesse, qui offre aux spécialistes une palette quasi-illimitée de configurations possibles pour attaquer des problèmes combinatoires, devient une frein à la diffusion plus large du paradigme, car les outils actuels sont très loin d’une boîte noire, et leur utilisation suppose une bonne connaissance du domaine, notamment en ce qui concerne leur paramétrage. Dans cette thèse, nous proposons d’analyser le comportement des contraintes de cardinalité avec des modèles probabilistes et des outils de dénombrement, pour paramétrer automatiquement les solveurs de contraintes : heuristiques de choix de variables et de choix de valeurs et stratégies de recherche. / The main asset of constraint programming is its wide variety of algorithms that comes from the major areas of artificial intelligence, logic programming and operational research. It offers specialists a limitless range of possible configurations to tackle combinatorial problems, but it becomes an obstacle to the wider diffusion of the paradigm. The current tools are very far from being used as a black-box tool, and it assumes a good knowledge of the field, in particular regarding the parametrization of solvers.In this thesis, we propose to analyze the behavior of cardinality constraints with probabilistic models and counting tools, to automatically parameterize constraint solvers: heuristics of choice of variables and choice of values and search strategies.
|
107 |
Automated Scheduling of Mining Operation TasksOlsson Granlund, David January 2021 (has links)
The task of scheduling mining operations is a strikingly tough task yet it is still largely done manually by hand or with the help of simple gantt planning tools. This thesis aim is to explore the feasibility of an automatic scheduling solution that can incorporate the constraints specific to mining operations. A constraint programming based solution is presented and evaluated based on its correctness, viability and performance. With its rich set of operators, the constraint programming library OR-Tools is able to capture most of the mining specific constraints and two different objective functions are developed to suit different use cases. One is the well established makespan objective which purpose is to minimize the completion time of the last task. The second objective function, named the sub goal deviation objective, minimizes the deviation from the overall production goal divided into sub goals. The underlying scheduling problem is notoriously hard to solve optimally for large instances. This is supported by several related studies and also by experimental results. To mitigate the performance degradation for large scheduling instances, an iterative solver strategy is presented. With this strategy the scheduler is able to solve much larger instances and initial tests resulted in the same objective values as the optimal strategy. A rescheduling procedure is presented to support schedule maintenance due to unforeseen circumstances such as delays or machine breakdowns. It is concluded that automatic scheduling and rescheduling is feasible but that it first needs to be evaluated by experienced schedulers in the field before being applied in a production environment.
|
108 |
Parallel Portfolio Search for Gecode / Parallel Portföljsökning för GecodeFrom, Anton January 2015 (has links)
Constraint programming is used to solve hard combinatorial problems in a variety of domains, such as scheduling, networks and bioinformatics. Search for solving these problems in constraint programming is brittle and even slight variations in the problem data or search heuristic used can dramatically affect the runtime. But using portfolios of search engines on several variants of a problem by adding randomness to the heuristic used has been proved to counter this problem. A portfolio is defined as a collection of assets that combined gives it a desired return and risk. Unfortunately not all constraint programming systems have implementations of portfolio search, such as Gecode. Therefore were two portfolio search prototypes, sequential and parallel, designed and implemented for Gecode. The design is not system dependent and could easily be implemented in other constraint programming systems. The design and implementation is tested by both validity and performance tests to ensure its soundness. Validity is tested by finding all possible solutions on a moderately difficult combinatorial problem known as the N-Queens problem. Performance is tested by finding the first solution on a very difficult combinatorial problem known as the Latin Square Completion problem with different numbers of search engines. To compare against the same validity and performance tests were run with just one search engine. Results show that the design and implementation of portfolio search is sound. The parallel variant of portfolio search finds solutions faster with more search engines and outperforms the sequential variant. The sequential variant finds solutions about as fast as running with just one search engine. Successfully designing and implementing portfolio search in Gecode will help researchers and companies who use Gecode to save both time and money as they are now able to find better solutions faster by using this portfolio search. It may also contribute to the research within this area and the continued development of Gecode / Villkorsprogrammering används till att lösa svåra kombinatoriska problem inom en mängd områden, såsom schemaläggning, nätverk och bioinformatik. Men sökning för att lösa dessa problem inom villkorsprogrammering är skör och även små variationer i problemets data eller använd sökheuristik kan dramatiskt påverka körtiden. Men att använda portföljer av sökmotorer på flera varianter av ett problem genom att införa slumpmässighet i sökheuristiken har bevisats kontra detta problem. En poftfölj är definierad som en samling tillgångar som kombinerad ger den en önskvärd avkastning och risk. Olyckligtvis så har inte alla villkorsprogrammeringssystem implementationer av portföljsökning, såsom Gecode. Därför designades och implementerades två portföljsökningsprototyper, sekventiell och parallell, för Gecode. Designen är inte systemberoende och kan enkelt implementeras i andra villkorsprogrammeringssystem. Designen och implementationen är testad av både validitets och prestandatest för att försäkra dess sundhet. Validiteten testas genom att finna alla möjliga lösningar för ett lagom svårt kombinatoriskt problem känt som N-Queens problemet. Prestandan testas genom att finna första lösningen för ett väldigt svårt kombinatoriskt problem känt som Latin Square completion problemet med olika många sökmotorer. För att jämföra mot så kör en ensam sökmotor samma validitets och prestandatest. Resultaten visar att designen och implementationen av portföljsökning är sund. Den parallella varianten av portföljsökning hittar lösningar snabbare med fler sökmotorer och överträffar den sekventiella varianten. Den sekventiella varianten hittar lösningar ungefär lika snabbt som en ensam sökmotor. Att framgångsrikt designa och implementera portföljsökning i Gecode kommer hjälpa forskare och företag som använder Gecode att spara både tid och pengar när de nu kan hitta bättre lösningar snabbare genom att använda denna portföljsökning. Det kan också bidra till forskningen inom det här området och den fortsatta utvecklingen av Gecode.
|
109 |
Constraint Programming for Random Testing of a Trading SystemCastañeda Lozano, Roberto January 2010 (has links)
Financial markets use complex computer trading systems whose failures can cause serious economic damage, making reliability a major concern. Automated random testing has been shown to be useful in finding defects in these systems, but its inherent test oracle problem (automatic generation of the expected system output) is a drawback that has typically prevented its application on a larger scale. Two main tasks have been carried out in this thesis as a solution to the test oracle problem. First, an independent model of a real trading system based on constraint programming, a method for solving combinatorial problems, has been created. Then, the model has been integrated as a true test oracle in automated random tests. The test oracle maintains the expected state of an order book throughout a sequence of random trade order actions, and provides the expected output of every auction triggered in the order book by generating a corresponding constraint program that is solved with the aid of a constraint programming system. Constraint programming has allowed the development of an inexpensive, yet reliable test oracle. In 500 random test cases, the test oracle has detected two system failures. These failures correspond to defects that had been present for several years without being discovered neither by less complete oracles nor by the application of more systematic testing approaches. The main contributions of this thesis are: (1) empirical evidence of both the suitability of applying constraint programming to solve the test oracle problem and the effectiveness of true test oracles in random testing, and (2) a first attempt, as far as the author is aware, to model a non-theoretical continuous double auction using constraint programming. / Winner of the Swedish AI Society's prize for the best AI Master's Thesis 2010.
|
110 |
Unrelated Machine Scheduling with Deteriorating Jobs and Non-zero Ready TimesSpegal, Christopher S. 14 June 2019 (has links)
No description available.
|
Page generated in 0.0783 seconds