Module constraint :: Class MinSumConstraint
[show private | hide private]
[frames | no frames]

Type MinSumConstraint

object --+    
Constraint --+

Constraint enforcing that values of given variables sum at least to a given amount

>>> problem = Problem()
>>> problem.addVariables(["a", "b"], [1, 2])
>>> problem.addConstraint(MinSumConstraint(3))
>>> sorted(sorted(x.items()) for x in problem.getSolutions())
[[('a', 1), ('b', 2)], [('a', 2), ('b', 1)], [('a', 2), ('b', 2)]]

Method Summary
  __init__(self, minsum, multipliers)
bool __call__(self, variables, domains, assignments, forwardcheck)
Perform the constraint checking
    Inherited from Constraint
bool forwardCheck(self, variables, domains, assignments, _unassigned)
Helper method for generic forward checking
  preProcess(self, variables, domains, constraints, vconstraints)
Preprocess variable domains
    Inherited from object
x.__delattr__('name') <==> del
x.__getattribute__('name') <==>
x.__hash__() <==> hash(x)
  __new__(T, S, ...)
T.__new__(S, ...) -> a new object with type S, a subtype of T
helper for pickle
helper for pickle
x.__repr__() <==> repr(x)
x.__setattr__('name', value) <==> = value
x.__str__() <==> str(x)

Method Details

__init__(self, minsum, multipliers=None)

minsum - Value to be considered as the minimum sum
multipliers - If given, variable values will be multiplied by the given factors before being summed to be checked
           (type=sequence of numbers)

__call__(self, variables, domains, assignments, forwardcheck=False)
(Call operator)

Perform the constraint checking

If the forwardcheck parameter is not false, besides telling if the constraint is currently broken or not, the constraint implementation may choose to hide values from the domains of unassigned variables to prevent them from being used, and thus prune the search space.
variables - Variables affected by that constraint, in the same order provided by the user
domains - Dictionary mapping variables to their domains
assignments - Dictionary mapping assigned variables to their current assumed value
forwardcheck - Boolean value stating whether forward checking should be performed or not
Boolean value stating if this constraint is currently broken or not
constraint.Constraint.__call__ (inherited documentation)

Generated by Epydoc 2.1 on Thu Jul 7 02:05:09 2005