1 |
Maintaining Global Consistency in Advanced Database SystemsJohn Gilmore Unknown Date (has links)
The thesis examines issues of consistency maintenance in advanced database systems; primarily, multidatabase systems. A multidatabase system consists of a number of pre-existing local database systems. A local database system is unaware of its participation in the multidatabase system and, likewise, the multidatabase system has no knowledge of local transaction executions. Enforcing global constraints in such an environment is clearly a challenging task. A methodology for constraint enforcement is presented which utilises existing technology for the replication of data in an attempt to enforce global consistency. While it is shown to have limited applicability, it is nonetheless an interesting study and serves to qualify the limits of such a solution. An alternative method for global consistency maintenance, which relies on the existence of triggers at each of the participant local databases, is then discussed. This method is shown to be particularly suitable when the issue of local database autonomy is of concern. It is, however, only suited to systems where each of the local databases provides a capability for triggering external actions based on the occurrence of particular database events. As a result of this methodology, the requirement for identification of enforcement actions which access sites where the instigating transaction originated becomes apparent. Such enforcement actions can cause deadlock in certain circumstances when they are executed at the same site which initially triggered the global constraint. This issue is dealt with in a novel way by proposing a methodology for statically checking relations at each participant site with a view to determining their susceptibility to this form of deadlock. The method, a graphical representation of the constraint enforcement process in a distributed system, is also shown to have other desirable properties. Arising from the requirements of other work within the thesis, an algorithm for detecting all cycles in a given directed graph is presented. It is shown that, while the well-known adaptation of the Depth First Search algorithm to cycle detection in directed graphs can detect the existence of cycles, it cannot in all circumstances identify all cycles. An algorithm which performs this task is presented together with an analysis of its complexity and correctness. In a more general sense, the issue of deferred constraint enforcement is discussed. Several scenarios where deferred enforcement of constraints is required are presented, together with a method for detecting the presence of cyclic dependencies within a given database schema.
|
2 |
Použití programování s omezujícími podmínkami při řešení diskrétních úloh / Constraint Programming as Means for Solving Discrete ProblemsJanečková, Jitka January 2010 (has links)
Application of constraint programming (CP) is one of the possible ways of solving discrete problems. It can be used for both search for feasible solution and optimization. CP offers a whole range of approaches for either a solution search or for acceleration of the process of its search -- from search algorithms or consistency techniques to propagation algorithms, which are basically only a combination of the two preceding methods. For optimization we most often use branch and bound approach, which differs in some aspects from a method of the same name used in mathematical programming (MP). Comparison of CP and MP is interesting in many other aspects. With CP the formulation of problems is more flexible, which allows for creation of often simpler and smaller models. On the other hand, its disadvantage is a limited use: Constraint satisfaction (optimisation) problem, as we call the constraint programming problem, cannot contain any discrete variables. CP is suitable especially for problems with a lot of constraints and only few variables, ideally only two. In the beginning, the paper introduces the basic terms of constraint programming, then it describes algorithms and techniques used for solving discrete problems and compares CP with mathematical programming.
|
3 |
Programmation par contraintes pour le dimensionnement de lots de production / Constraint programming for lot-sizing problemsGerman, Grigori 05 March 2018 (has links)
Cette thèse a pour objectif d'étudier l'utilisation de la programmation par contraintes pour développer un solveur de planification de production. Nous nous concentrons sur des problèmes de dimensionnement de lots de production (lot-sizing) qui sont des problèmes majeurs et difficiles de la planification de la production et profitons d'une des principales forces de la programmation par contraintes, à savoir les contraintes globales. Nous définissons une contrainte globale LotSizing qui s'appuie sur un problème générique de lot-sizing mono-produit à un seul niveau, qui tient compte des capacités de production et de stockage, des coûts unitaires de production et de stockage et des coûts fixes. Cette contrainte globale est un outil de modélisation intuitif pour les problèmes complexes de lot-sizing car elle permet de modéliser chaque nœud des réseaux de distribution. Nous utilisons des techniques de programmation dynamique classiques du lot-sizing pour développer des algorithmes de filtrage pour la contrainte globale. Nous modélisons également des problèmes multi-produits.Enfin, nous introduisons un nouvel algorithme de filtrage générique s'appuyant sur la programmation linéaire. Nous montrons que la cohérence d'arc pour les contraintes considérées peut être obtenue avec la résolution d'un seul programme linéaire lorsque la contrainte a une formulation idéale et nous généralisons le résultat pour faire du filtrage partiel lorsqu'aucune restriction n'est faite sur ces contraintes. Cette technique peut être pertinente lors de la résolution de sous-problèmes de flot ou de séquence sous-jacents au lot-sizing. / In this thesis we investigate the potential use of constraint programming to develop a production planning solver. We focus on lot-sizing problems that are crucial and challenging problems of the tactical level of production planning and use one of the main strengths of constraint programming, namely global constraints. The goal of this work is to set the grounds of a constraint programming framework for solving complex lot-sizing problems. We define a LotSizing global constraint based on a generic single-item, single-level lot-sizing problem that considers production and inventory capacities, unitary production and inventory costs and setup costs. This global constraint is an intuitive modeling tool for complex lot-sizing problems as it can model the nodes of lot-sizing networks. We use classical dynamic programming techniques of the lot-sizing field to develop powerful filtering algorithms for the global constraint. Furthermore we model multi-item problems that are natural extensions of the core problem.Finally we introduce a new generic filtering algorithm based on linear programming. We show that arc consistency can be achieved with only one call to a linear programming solver when the global constraint has an ideal formulation and adapt the result to provide partial filtering when no restriction is made on the constraints. This technique can be useful to tackle polynomial lot-sizing underlying flow and sequence sub-problems.
|
Page generated in 0.0624 seconds