Основна ідея програмування обмежень полягає в тому користувач вказує обмеження, і для їх вирішення використовується програма вирішення обмежень загального призначення. У розділі пояснюється, що обмеження – це просто відношення, а проблема задоволення обмежень (CSP) визначає, які відношення повинні дотримуватися між заданими змінними рішення.
Обмеження є відношення між кількома змінними, яке обмежує значення, які ці змінні можуть приймати одночасно.
Один зі спрощених способів уявлення про те, як працює програма вирішення обмежень, полягає в тому він неодноразово пробує різні значення для випадкових змінних, поки не знайде значення, які роблять вираз істинним. Потім ці значення залишаються як результат для випадкових змінних.
Оптимізація обмежень або програмування обмежень (CP) – це назва виявлення можливих рішень із дуже великого набору кандидатів, де проблему можна змоделювати в термінах довільних обмежень. Проблеми CP виникають у багатьох наукових та інженерних дисциплінах.
Виразність і компактність: логічне програмування обмежень дозволяє стисле представлення складних проблем, полегшуючи інтуїтивне вирішення проблем. Поширення обмежень: Поширення обмежень у логічній структурі сприяє ефективному дослідженню простору пошуку.
Обмежене програмування (CP) є особливо корисний для проблем із дуже обмеженими можливостями. Це потужний і гнучкий інструмент, який відносно легко виражає складні обмеження.