Principi di programmazione a vincoli

August 9

programmazione a vincoli è un approccio alternativo alla programmazione di computer che comporta una combinazione di calcolo e la logica, o il ragionamento, le tecniche. Il principio di base della programmazione vincolo è specificare problemi con imprevedibile, informazioni incomplete e risolvere quei problemi dal o Proprietà affermando - altrimenti noti come vincoli - soddisfatti dalla soluzione.

Costrizione

programmazione vincolo si basa sull'idea di un vincolo: un rapporto, spesso un uguaglianza o disuguaglianza relazione tra i valori di due variabili matematiche. In altre parole, un vincolo può essere pensato come una condizione che indica quali combinazioni di valori della gamma dei possibili valori per ciascuna variabile sono ricevibili; "X> 3", per esempio, è un vincolo sulla "x".

sistema di vincolo

Un sistema di vincolo specifica formalmente le norme che disciplinano formule adeguatamente formate, o sintassi e verità o la falsità, o semantica, dei vincoli di interesse. Un sistema di vincolo specifica la lingua in cui sono espressi i vincoli, quali sono i simboli di vincolo sono, come vengono definiti e che le formule di vincolo sono utilizzati per la logica nel linguaggio di programmazione vincolo.

soddisfazione Constraint

In teoria, la programmazione vincolo consiste di due fasi: generare una rappresentazione di un problema e la soluzione del problema. In pratica, ognuna di queste fasi può essere suddiviso in una serie di passi più piccoli, che possono essere eseguite alternativamente. Per risolvere un problema con programmazione a vincoli, il problema deve prima essere specificato, o formulata, come un problema di soddisfacimento di vincoli, che consiste di un numero finito di vincoli che ogni applicano ad una specifica sequenza di variabili. soddisfazione vincolo tenta di assegnare valori alle variabili in modo che tutti i vincoli sono vere. Tipicamente, un problema di soddisfacimento di vincoli può essere rappresentato in più di un modo; programmazione a vincoli è altamente flessibile in quanto i vincoli possono essere aggiunte, modificate o rimosse.

vincolo Solver

Un risolutore di vincoli implementa una formula matematica, o algoritmo, che raccoglie i vincoli da uno o più programmi in esecuzione, semplifica e, se possibile, li risolve. Il risultato finale è noto come il vincolo risposta.

applicazioni

Problemi risolti con programmazione a vincoli sono tipicamente formulati in termini di requisiti, le proprietà o le leggi. Tali problemi si verificano di frequente nell'industria e nel commercio, compresa l'analisi, la progettazione, la pianificazione, l'allocazione delle risorse e dei trasporti. programmazione vincolo si applica con successo a numerosi altri settori, tra cui l'ingegneria elettrica, la biologia molecolare e la ricerca operativa.