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:

 General solutions get you a 50% tip.

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.

pl/dydaktyka/csp/intro.1399931765.txt.gz · ostatnio zmienione: 2019/06/27 15:52 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0