def __init__(self, *args, **kwargs): self.rule = kwargs.pop('rule', None) self._init_expr = kwargs.pop('expr', None) #if self.rule is None and self._init_expr is None: # raise ValueError("A simple Constraint component requires a 'rule' or 'expr' option") kwargs.setdefault('ctype', Constraint) ActiveIndexedComponent.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): """ Constructor """ # # The 'initialize' or 'rule' argument # initialize = kwargs.pop('initialize', None) initialize = kwargs.pop('rule', initialize) if not initialize is None: if 'var' in kwargs: raise TypeError("Cannot specify the 'var' argument with the 'rule' or 'initialize' argument") if 'index' in kwargs: raise TypeError("Cannot specify the 'index' argument with the 'rule' or 'initialize' argument") if 'weights' in kwargs: raise TypeError("Cannot specify the 'weights' argument with the 'rule' or 'initialize' argument") # # The 'var' argument # sosVars = kwargs.pop('var', None) if sosVars is None and initialize is None: raise TypeError("SOSConstraint() requires either the 'var' or 'initialize' arguments") # # The 'weights' argument # sosWeights = kwargs.pop('weights', None) # # The 'index' argument # sosSet = kwargs.pop('index', None) # # The 'sos' or 'level' argument # if 'sos' in kwargs and 'level' in kwargs: raise TypeError("Specify only one of 'sos' and 'level' -- " \ "they are equivalent keyword arguments") sosLevel = kwargs.pop('sos', None) sosLevel = kwargs.pop('level', sosLevel) if sosLevel is None: raise TypeError("SOSConstraint() requires that either the " \ "'sos' or 'level' keyword arguments be set to indicate " \ "the type of SOS.") # # Set attributes # self._sosVars = sosVars self._sosWeights = sosWeights self._sosSet = sosSet self._sosLevel = sosLevel self._rule = initialize # # Construct the base class # kwargs.setdefault('ctype', SOSConstraint) ActiveIndexedComponent.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): _init = self._pop_from_kwargs('Constraint', kwargs, ('rule', 'expr'), None) # Special case: we accept 2- and 3-tuples as constraints if type(_init) is tuple: self.rule = Initializer(_init, treat_sequences_as_mappings=False) else: self.rule = Initializer(_init) kwargs.setdefault('ctype', Constraint) ActiveIndexedComponent.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): _init = tuple(_arg for _arg in (kwargs.pop('rule', None), kwargs.pop('expr', None)) if _arg is not None) if len(_init) == 1: _init = _init[0] elif not _init: _init = None else: raise ValueError("Duplicate initialization: Constraint() only " "accepts one of 'rule=' and 'expr='") kwargs.setdefault('ctype', Constraint) ActiveIndexedComponent.__init__(self, *args, **kwargs) self.rule = Initializer(_init, treat_sequences_as_mappings=False)
def __init__(self, *args, **kwargs): _sense = kwargs.pop('sense', minimize) _init = tuple(_arg for _arg in (kwargs.pop('rule', None), kwargs.pop('expr', None)) if _arg is not None) if len(_init) == 1: _init = _init[0] elif not _init: _init = None else: raise ValueError("Duplicate initialization: Objective() only " "accepts one of 'rule=' and 'expr='") kwargs.setdefault('ctype', Objective) ActiveIndexedComponent.__init__(self, *args, **kwargs) self.rule = Initializer(_init) self._init_sense = Initializer(_sense)
def __init__(self, *args, **kwargs): self.rule = kwargs.pop('rule', None) self._init_expr = kwargs.pop('expr', None) kwargs.setdefault('ctype', LogicalConstraint) ActiveIndexedComponent.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): self._init_sense = kwargs.pop('sense', minimize) self.rule = kwargs.pop('rule', None) self._init_expr = kwargs.pop('expr', None) kwargs.setdefault('ctype', Objective) ActiveIndexedComponent.__init__(self, *args, **kwargs)