• search hit 1 of 9
Back to Result List

Optimierung und Regularisierung von Constraint Satisfaction-Problemen (CSPs)

Optimization and regularization of constraint satisfaction problems (CSPs)

  • Mit Hilfe der Constraint-Programmierung können komplexe, häufig NP-vollständige Probleme, wie zum Beispiel Graphfärbungs-, Optimierungs-, Konfigurations- sowie Schichtplanungs-, Raum- und Zeitplanungsprobleme modelliert und gelöst werden. Im Vordergrund der Constraint-Programmierung steht dabei die deklarative Modellierung, also eine Beschreibung des eigentlichen Problems und nicht dessen Lösungsvorgangs. Während es Aufgabe des Entwicklers ist, das Problem zu modellieren, wird die Lösung einem separat implementierten Solver (Löser) überlassen. Im Idealfall löst dieser Solver das Problem, unabhängig von der konkreten Modellierung, immer schnellstmöglich. In der Praxis kann von diesem Idealfall in der Regel nicht ausgegangen werden und somit hat die Art und Weise der Modellierung ein und desselben Problems und dessen Remodellierung teilweise einen erheblichen Einfluss auf die Lösungsgeschwindigkeit. Bisher bestehende Remodellierungsverfahren transformieren entweder Constraint-Probleme im Ganzen (zum Beispiel beim Umwandeln in SAT-Mit Hilfe der Constraint-Programmierung können komplexe, häufig NP-vollständige Probleme, wie zum Beispiel Graphfärbungs-, Optimierungs-, Konfigurations- sowie Schichtplanungs-, Raum- und Zeitplanungsprobleme modelliert und gelöst werden. Im Vordergrund der Constraint-Programmierung steht dabei die deklarative Modellierung, also eine Beschreibung des eigentlichen Problems und nicht dessen Lösungsvorgangs. Während es Aufgabe des Entwicklers ist, das Problem zu modellieren, wird die Lösung einem separat implementierten Solver (Löser) überlassen. Im Idealfall löst dieser Solver das Problem, unabhängig von der konkreten Modellierung, immer schnellstmöglich. In der Praxis kann von diesem Idealfall in der Regel nicht ausgegangen werden und somit hat die Art und Weise der Modellierung ein und desselben Problems und dessen Remodellierung teilweise einen erheblichen Einfluss auf die Lösungsgeschwindigkeit. Bisher bestehende Remodellierungsverfahren transformieren entweder Constraint-Probleme im Ganzen (zum Beispiel beim Umwandeln in SAT- oder binäre Constraint-Probleme) oder erfordern eine präzise Angabe und Steuerung seitens des Nutzers der Constraint-Programmierung (zum Beispiel bei der Tabularisierung). Während die erste Variante in der Regel nur bei sehr speziellen Problemen zu einer Beschleunigung des Lösungsvorganges führt, benötigt die zweite Variante vom Constraint-Modellierer zusätzliches Expertenwissen über das Lösungsverfahren des verwendeten Solvers. Die bisherigen Verfahren erlauben somit keine (voll)-automatisierte Transformation von Constraint-Problemen, bei der Transformationen nur durchgeführt werden, wenn diese auch zu einer Beschleunigung führen. Für das dieser Arbeit übergeordnete Ziel der automatisierten Optimierung von Constraint-Problemen mittels Remodellierung, ohne dass dafür zusätzliches Expertenwissen notwendig ist, werden ausreichend viele verschiedene, gute und gut untersuchte Remodellierungen benötigt. In dieser Arbeit werden daher sowohl bestehende Verfahren für die Transformation von Constraint-Problemen weiterentwickelt, als auch völlig neue entworfen und deren Korrektheit nachgewiesen. Die in dieser Arbeit entwickelten Transformationen werden bezüglich ihrer beschleunigenden Wirkung auf Constraint-Probleme untersucht. Anhand von generierten und von realen Praxisbeispielen wird die Wirksamkeit der Transformationen evaluiert und es werden Schlussfolgerungen darüber gezogen, wann welche Substituierungen besonders vielversprechend sind.show moreshow less
  • Constraint programming allows modeling and solving complex, often NP-complete problems, such as graph coloring, optimization, configuration, shift and room planning, and scheduling problems. The focus of constraint programming is declarative modeling, i.e. describing the problem rather than how to solve it. While it is up to the user to model the problem, its solution is left to a separately implemented solver. In a perfect declarative world, this solver always solves the problem as quickly as possible, regardless of its concrete modeling. Unfortunately, this is often not the case and the different ways one and the same problem can be modeled and remodeled can have a significant influence on its solution speed. Already existing remodeling procedures transform either the whole constraint problem (i.e. transformations into SAT- or binary constraint problems) or are applied only when the modeler explicitly controls the optimization process (i.e. by tabulation). While the first method improves the solution speed only for very specificConstraint programming allows modeling and solving complex, often NP-complete problems, such as graph coloring, optimization, configuration, shift and room planning, and scheduling problems. The focus of constraint programming is declarative modeling, i.e. describing the problem rather than how to solve it. While it is up to the user to model the problem, its solution is left to a separately implemented solver. In a perfect declarative world, this solver always solves the problem as quickly as possible, regardless of its concrete modeling. Unfortunately, this is often not the case and the different ways one and the same problem can be modeled and remodeled can have a significant influence on its solution speed. Already existing remodeling procedures transform either the whole constraint problem (i.e. transformations into SAT- or binary constraint problems) or are applied only when the modeler explicitly controls the optimization process (i.e. by tabulation). While the first method improves the solution speed only for very specific problems, the second method requires a great deal of expert knowledge on the part of the modeler regarding the solution processes of a constraint problem. Therefore, the existing methods do not provide a fully automated transformation of constraint problems, in which transformations are only carried out if they also lead to an acceleration. For the higher goal of automatic optimization of constraint problems with remodeling methods without the necessity of extra expert knowledge, many different, well performing and well researched transformation methods are necessary. In this dissertation, existing methods for such model optimizations will be developed further and completely new ones will be designed, and their correctness proven. The transformations developed in the process of this dissertation will be investigated regarding their accelerating effect on constraint problems. Using both generated and real practical examples, the effectiveness of the transformations will be evaluated, and conclusions will be drawn at which time which substitutions are particularly promising.show moreshow less

Download full text files

Export metadata

Additional Services

Search Google Scholar Stastistics
Metadaten
Author: Sven Löffler
URN:urn:nbn:de:kobv:co1-opus4-61490
DOI:https://doi.org/10.26127/BTUOpen-6149
Referee / Advisor:Prof. Dr. Habil. Petra Hofstedt, Prof. Dr. Habil. Herbert Kuchen
Document Type:Doctoral thesis
Language:German
Year of Completion:2022
Date of final exam:2022/09/21
Release Date:2022/11/23
Tag:Constraint Satisfaction-Problem; Optimierung; Regularisierung
Constraint satisfaction problem; Optimization; Regularization
CSP; SAT
GND Keyword:Constraint-Erfüllung; Regularisierung; Optimierung
Institutes:Fakultät 1 MINT - Mathematik, Informatik, Physik, Elektro- und Informationstechnik / FG Programmiersprachen und Compilerbau
Licence (German):Keine Lizenz vergeben. Es gilt das deutsche Urheberrecht.
Einverstanden ✔
Diese Webseite verwendet technisch erforderliche Session-Cookies. Durch die weitere Nutzung der Webseite stimmen Sie diesem zu. Unsere Datenschutzerklärung finden Sie hier.