Page 200 - 6734
P. 200
Іван
Марія
python-constraint – задачі виконання обмежень
python-constraint 1.3.1 (http://pypi.org/project/python-constraint) –
модуль для розв’язування задач виконання обмежень, ціллю яких є
знаходження значень змінних, які відповідають заданим
обмеженням. Щоб сформулювати таку задачу потрібно визначити
змінні, множину їхніх значень і обмеження. Модуль може бути
використаний для програмування в обмеженнях, яке є видом
декларативного програмування. У модулі доступні такі види
обмежень: FunctionConstraint, AllDifferentConstraint,
AllEqualConstraint, ExactSumConstraint,
MaxSumConstraint, MinSumConstraint, InSetConstraint,
NotInSetConstraint, SomeInSetConstraint,
SomeNotInSetConstraint.
from constraint import *
problem = Problem() # створити задачу
problem.addVariable('a', [1,2,3]) # додати змінну і
множину її значень
problem.addVariable('b', [1,2,4])
print problem.getSolutions() # розв'язати задачу
(обмежень немає)
# додати обмеження (розкоментуйте потрібні):
problem.addConstraint(lambda a,b: a+b>3, ('a', 'b'))
# a+b>3
#problem.addConstraint(AllDifferentConstraint()) # a
і b різні
#problem.addConstraint(AllEqualConstraint()) # a і b
однакові
#problem.addConstraint(InSetConstraint([2,3])) # a і
b в множині {2,3}
print problem.getSolutions() # розв'язати задачу -
знайти значення a і b, які відповідають обмеженням
199