def __init__(self, variables):
     Constraint.__init__(self, lambda *values: len([row1 for name1, row1 in zip(variables, values) if \
     len([row2 for name2, row2 in zip(variables, values) if \
         row2 == row1 or \
         abs(name2 - name1) == abs(row2 - row1) \
     ]) != 1 \
 ]) == 0, variables)
 def __init__(self, variables):
     Constraint.__init__(self, lambda *values: len([row1 for name1, row1 in zip(variables, values) if \
     len([row2 for name2, row2 in zip(variables, values) if \
         row2 == row1 or \
         abs(name2 - name1) == abs(row2 - row1) \
     ]) != 1 \
 ]) == 0, variables)
 def __init__(self, variables1, value1, variables2, value2):
     Constraint.__init__(
         self, lambda vars1, vars2: abs(
             vars1.index(value1) - vars2.index(value2)) == 1,
         (variables1, variables2))
     self.value1 = value1
     self.value2 = value2
 def __init__(self, variables1, value1, variables2, value2):
     Constraint.__init__(
         self, lambda vars1, vars2: len([
             i for i, val1 in enumerate(vars1)
             if val1 == value1 and vars2[i] == value2
         ]) == 1, (variables1, variables2))
     self.value1 = value1
     self.value2 = value2
Exemple #5
0
    def __init__(self,
                 _name,
                 _type,
                 _demand_list,
                 _priority=0,
                 _qualifier=None,
                 _category=None,
                 _location=None):
        Constraint.__init__(self, _name, _type, _demand_list, _priority)

        self.qualifier = _qualifier  # different or same
        self.category = _category  # disaster, region, or update
        self.location = _location
        self.comparison_operator = None

        if self.qualifier == "same":
            self.comparison_operator = operator.eq
        elif self.qualifier == "different":
            self.comparison_operator = operator.ne
 def __init__(self, variables1, value1, variables2, value2):
     Constraint.__init__(self, lambda vars1, vars2: len([i for i, val1 in enumerate(vars1) if val1 == value1 and vars2[i] == value2]) == 1, (variables1, variables2))
     self.value1 = value1
     self.value2 = value2
 def __init__(self, variable, value):
     Constraint.__init__(self, lambda var: var == value, (variable, ))
 def __init__(self, prices, variables, exact_price):
     Constraint.__init__(self, lambda *values: sum([num*prices[var] for var, num in zip(variables, values)]) == exact_price, variables)
 def __init__(self, variable1, variable2, diff):
     Constraint.__init__(self, lambda var1, var2: abs(var1 - var2) == diff, (variable1, variable2))
 def __init__(self, variable1, variable2, variable3):
     Constraint.__init__(self, lambda var1, var2, var3: (var1 + var2) % 10 == var3 or (var1 + var2) % 10 + 1 == var3, (variable1, variable2, variable3))
 def __init__(self, variables, value):
     Constraint.__init__(self, lambda vars: len([x for x in vars if x == value]) > 0, (variables,))
 def __init__(self, variable1, variable2):
     Constraint.__init__(self, lambda var1, var2: var1 == var2, (variable1, variable2))
Exemple #13
0
 def __init__(self, _name, _type, _demand_list, _priority=0):
     Constraint.__init__(self, _name, _type, _demand_list, _priority)
     if not len(self.demand_list) == 2:
         LOG.debug("More than two demands in the list")
         raise ValueError
 def __init__(self, variable, value):
     Constraint.__init__(self, lambda var: var == value, (variable,))
 def __init__(self, touched_variables):
     Constraint.__init__(self, lambda variables: len([x for x in variables if len([y for y in variables if x == y]) > 1]) == 0, (touched_variables,))
Exemple #16
0
	def __init__(self, order, machine):
		Constraint.__init__(self)
		self.order = order
		self.machine = machine
 def __init__(self, variables, value):
     Constraint.__init__(
         self, lambda vars: len([x for x in vars if x == value]) > 0,
         (variables, ))
 def __init__(self, prices, variables, exact_price):
     Constraint.__init__(
         self, lambda *values: sum(
             [num * prices[var]
              for var, num in zip(variables, values)]) == exact_price,
         variables)
 def __init__(self, variable1, variable2):
     Constraint.__init__(self, lambda var1, var2: var1 == var2,
                         (variable1, variable2))
 def __init__(self, variable1, variable2, variable3):
     Constraint.__init__(
         self, lambda var1, var2, var3:
         (var1 + var2) % 10 == var3 or (var1 + var2) % 10 + 1 == var3,
         (variable1, variable2, variable3))
 def __init__(self, variable1, variable2, diff):
     Constraint.__init__(self, lambda var1, var2: abs(var1 - var2) == diff,
                         (variable1, variable2))
 def __init__(self, variables1, value1, variables2, value2):
     Constraint.__init__(self, lambda vars1, vars2: vars1.index(value1) - vars2.index(value2) == 1, (variables1, variables2))
     self.value1 = value1
     self.value2 = value2
 def __init__(self, touched_variables):
     Constraint.__init__(
         self, lambda variables: len([
             x for x in variables
             if len([y for y in variables if x == y]) > 1
         ]) == 0, (touched_variables, ))