Constraint programmering is een alternatieve benadering van computer programmeren dat een combinatie van informatica en logica of redenering , technieken gaat . Het basisprincipe van constraint programmeren problemen geven met onvoorspelbare , onvolledige informatie en die problemen oplossen door te stellen voorwaarden of onroerend - ook wel bekend als beperkingen - voldaan door de oplossing . Constraint Constraint programmering is gebaseerd op het idee van een beperking : een relatie , vaak een gelijkheid of ongelijkheid relatie tussen de waarden van twee mathematische variabelen . Met andere woorden , kan een beperking worden beschouwd als een vereiste dat aangeeft welke combinaties van waarden uit het bereik van mogelijke waarden voor elke variabele ontvankelijk ; " x > 3 ' is bijvoorbeeld een beperking voor " x . " constraint System Een constraint systeem specificeert formeel de regels voor goed gevormde formules , of de syntaxis , en de waarheid of onwaarheid , of semantiek , van de beperkingen van rente . Een constraint systeem specificeert de taal waarin beperkingen worden uitgedrukt , wat de beperking symbolen zijn , hoe ze gedefinieerd en welke dwang formules worden gebruikt voor logica in de constraint programmeertaal . Constraint tevredenheid In theorie , constraint programming bestaat uit twee fasen : het genereren van een voorstelling van een probleem en het oplossen van het probleem . In de praktijk kan elk van deze fasen worden onderverdeeld in een aantal kleinere stappen , die afwisselend kan worden uitgevoerd . Problemen met behulp constraint programming lossen , moet het probleem eerst worden gespecificeerd , of geformuleerd als constraint satisfaction probleem , dat bestaat uit een eindig aantal beperkingen die elk op een specifiek reeks variabelen . Constraint satisfaction probeert waarden toekennen aan variabelen , zodat alle beperkingen waar zijn . Meestal kan een constraint satisfaction probleem in meer dan een manier zijn vertegenwoordigd; constraint programmeren is zeer flexibel omdat beperkingen kunnen worden toegevoegd , gewijzigd of verwijderd Constraint Solver . een beperking oplosser implementeert een mathematische formule of algoritme , dat beperkingen van een of meer actieve programma verzamelt , vereenvoudigt hen en , indien mogelijk , lost ze . Het uiteindelijke resultaat is bekend als het antwoord beperking . Toepassingen Problemen opgelost met behulp van constraint programming worden meestal geformuleerd in termen van eisen , eigenschappen of wetten . Dergelijke problemen komen vaak voor in de industrie en handel , met inbegrip van analyse, ontwerp , planning , toewijzing van middelen en het transport . Constraint programmeren met succes is van toepassing op tal van andere terreinen , zoals elektrotechniek , moleculaire biologie en operations research .
|