To jest stara wersja strony!
Constraint Programming
Programowanie z ograniczeniami (ang. Constraint Programming, dalej nazywane CSP) jest deklaratywnym paradygmatem programowania, skupionym na modelowaniu problemu i wypisanie wymagań (ograniczeń) stawianych jego rozwiązaniom. Do obowiązków programisty należy:
zamodelowanie problemu przez poprzez zdefiniowanie zmiennych o odpowiedniych dziedzinach,
zdefiniować ograniczenia, które określają dozwolone wartości zmiennych w rozwiązaniu
[opcjonalne] podać kryterium oceny rozwiązania, np. minimalizacja długości trasy w problemie komiwojażera
[opcjonalne] sprecyzowanie procesu przeszukiwania przestrzeni możliwych rozwiązań.
Poniższe laboratoria mają za zadanie przedstawić motywacje oraz podstawowe techniki programawania CSP.
Real Life Use Case
Przypuścmy, że pracujemy jako kelner w restauracji, która leży w pobliżu trwającej akurat konferencji informatyków zajmujących się optymalizacją dyskretną. Jest to bardzo niewdzięczna praca, przydarzają nam się nieprzyjemne przygody, takie jak opisana w poniższym komiksie:
Sytuacja byłaby beznadziejna, ale na szczęście jest CSP. W dalszej części laboratorium będziemy modelować i rozwiązywać problem przedstawiony w komiksie.