Constraint-Programmierung ist ein alternativer Ansatz zur Computer-Programmierung , die eine Kombination von Computer-und Logik oder Denken, Techniken beinhaltet . Das Grundprinzip der Constraint-Programmierung ist es, Probleme mit unvorhersehbaren , unvollständige Informationen angeben und lösen diese Probleme durch die Angabe Bedingungen oder Eigenschaften - anders als Randbedingungen bekannt - von der Lösung zufrieden. Constraint
Constraint Programmierung basiert auf der Idee einer Einschränkung basiert : eine Beziehung , die oft eine Gleichheit oder Ungleichheit Beziehung zwischen den Werten der beiden mathematischen Variablen . In anderen Worten kann eine Einschränkung als eine Anforderung, welche Kombinationen von Werten aus dem Bereich der möglichen Werte für jede Variable zulässig sind zeigt gedacht werden ; "x > 3 , " zum Beispiel, ist eine Einschränkung auf "x . "
Constraint -System
Constraint-System offiziell legt die Regeln richtig gebildet Formeln oder Syntax und Wahrheit oder Lüge, oder Semantik , von den Zwängen der Interesse. Ein Constraint-System gibt die Sprache, in der Einschränkungen ausgedrückt werden, was die Einschränkung Symbole , wie sie definiert sind und die Einschränkung Formeln für Logik in der Constraint-Programmierung Sprache verwendet.
Constraint Satisfaction
In der Theorie besteht Constraint-Programmierung aus zwei Phasen: Erzeugen einer Darstellung eines Problems und der Lösung des Problems . In der Praxis kann jede dieser Phasen in eine Reihe von kleineren Schritten , die abwechselnd durchgeführt werden kann gebrochen werden. Um ein Problem mit Constraint-Programmierung lösen , muss das Problem zuerst angegeben werden, oder formuliert als Constraint Problem, das von einer endlichen Anzahl von Einschränkungen, die jeweils mit einer bestimmten Abfolge von verschiedenen Variablen besteht . Constraint Zufriedenheit versucht, Variablen Werte zuweisen, so dass alle Einschränkungen wahr sind. Typischerweise kann ein Constraint Satisfaction Problem in mehr als einer Weise dargestellt werden ; Constraint-Programmierung ist sehr flexibel, da Einschränkungen können hinzugefügt, geändert oder entfernt werden
Constraint Solver
. ein Constraint Solver implementiert eine mathematische Formel oder Algorithmus , die Einschränkungen aus einem oder mehreren laufenden Programmen sammelt , vereinfacht sie und , wenn möglich, sie löst . Das Endergebnis wird als Antwort Einschränkung bekannt.
Anwendungen
Probleme gelöst mit Constraint-Programmierung sind in der Regel in Bezug auf die Anforderungen , Eigenschaften oder Gesetze formuliert . Solche Probleme treten häufig in Industrie und Handel, einschließlich der Analyse , Konzeption, Planung , Ressourcenzuteilung und Transport. Constraint-Programmierung erfolgreich gilt für zahlreiche andere Felder , einschließlich Elektrotechnik , Molekularbiologie und Operations Research .