Esempio n. 1
0
 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)
Esempio n. 2
0
 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)
Esempio n. 3
0
File: sos.py Progetto: GPhaust/pyomo
 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)
Esempio n. 4
0
File: sos.py Progetto: Pyomo/pyomo
 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)
Esempio n. 5
0
    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)
Esempio n. 6
0
    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)
Esempio n. 7
0
    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)
Esempio n. 8
0
 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)
Esempio n. 9
0
 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)
Esempio n. 10
0
 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)