Constraint programmering er en alternativ tilgang til programmering af computere , der indebærer en kombination af computere og logik, eller ræsonnement , teknikker. Det grundlæggende princip i constraint programmering er at angive problemer med uforudsigelige , ufuldstændige oplysninger og løse disse problemer ved at erklære betingelser eller egenskaber - ellers kendt som begrænsninger - opfyldes ved løsningen. Constraint
Constraint programmering er baseret på ideen om en begrænsning: en relation , ofte er en lighed eller ulighed relation mellem værdierne af to matematiske variabler. Med andre ord kan en begrænsning opfattes som et krav , der angiver hvilke kombinationer af værdier fra den række af mulige værdier for hver variabel er realitetsbehandling "x > 3 ", for eksempel , er en begrænsning for "x ".
Constraint System
constraint -system formelt specificerer reglerne for korrekt dannet formler eller syntaks og sandhed eller falskhed , eller semantik , af de begrænsninger af interesse. En begrænsning Systemet angiver det sprog, som begrænsninger , der udtrykkes, hvad constraint symboler , hvordan de er defineret, og som tvang formler anvendes til logikken i den begrænsning programmeringssprog.
Constraint tilfredshed
i teorien constraint programmering består af to faser : genererer en repræsentation af et problem og løse problemet. I praksis kan hver af disse faser opdeles i en række mindre skridt , som kan udføres skiftevis . For at løse et problem ved hjælp constraint programmering , skal problemet først angives , eller formuleret , som en begrænsning tilfredshed problem , som består af et endeligt antal begrænsninger, som hver gælder for en bestemt sekvens af variabler. Constraint tilfredshed forsøger at tildele værdier til variabler , således at alle begrænsninger er sande. Typisk kan en begrænsning tilfredshed problem være repræsenteret i mere end én måde , constraint programmering er meget fleksibel , fordi begrænsninger kan tilføjes , ændres eller fjernes
Constraint Solver
. en begrænsning solver implementerer en matematisk formel eller algoritme , der indsamler begrænsninger fra en eller flere kørende programmer, forenkler dem og , hvis det er muligt , løser dem. Det endelige resultat er kendt som svaret tvang.
Applications
problemer løst ved hjælp af tvang programmering typisk formuleret som krav, egenskaber eller love. Sådanne problemer forekommer hyppigt i industri og handel, herunder analyse , design , planlægning, ressourceallokering og transport. Constraint programmering held gælder mange andre områder, herunder elektroteknik, molekylærbiologi og operationer forskning.