ortools.math_opt.elemental.python.enums

DO NOT EDIT: This file is autogenerated.

 1'''DO NOT EDIT: This file is autogenerated.'''
 2
 3import enum
 4from typing import Generic, TypeVar, Union
 5
 6import numpy as np
 7class ElementType(enum.Enum):
 8  VARIABLE = 0
 9  LINEAR_CONSTRAINT = 1
10  AUXILIARY_OBJECTIVE = 2
11  QUADRATIC_CONSTRAINT = 3
12  INDICATOR_CONSTRAINT = 4
13
14
15AttrValueType = TypeVar('AttrValueType', np.bool_, np.float64, np.int64)
16
17AttrPyValueType = TypeVar('AttrPyValueType', bool, float, int)
18
19class Attr(Generic[AttrValueType]):
20  pass
21
22class PyAttr(Generic[AttrPyValueType]):
23  pass
24
25class BoolAttr0(Attr[np.bool_], PyAttr[bool], int, enum.Enum):
26  MAXIMIZE = 0
27
28
29class BoolAttr1(Attr[np.bool_], PyAttr[bool], int, enum.Enum):
30  VARIABLE_INTEGER = 0
31  AUXILIARY_OBJECTIVE_MAXIMIZE = 1
32  INDICATOR_CONSTRAINT_ACTIVATE_ON_ZERO = 2
33
34
35class IntAttr0(Attr[np.int64], PyAttr[int], int, enum.Enum):
36  OBJECTIVE_PRIORITY = 0
37
38
39class IntAttr1(Attr[np.int64], PyAttr[int], int, enum.Enum):
40  AUXILIARY_OBJECTIVE_PRIORITY = 0
41
42
43class DoubleAttr0(Attr[np.float64], PyAttr[float], int, enum.Enum):
44  OBJECTIVE_OFFSET = 0
45
46
47class DoubleAttr1(Attr[np.float64], PyAttr[float], int, enum.Enum):
48  VARIABLE_LOWER_BOUND = 0
49  VARIABLE_UPPER_BOUND = 1
50  OBJECTIVE_LINEAR_COEFFICIENT = 2
51  LINEAR_CONSTRAINT_LOWER_BOUND = 3
52  LINEAR_CONSTRAINT_UPPER_BOUND = 4
53  AUXILIARY_OBJECTIVE_OFFSET = 5
54  QUADRATIC_CONSTRAINT_LOWER_BOUND = 6
55  QUADRATIC_CONSTRAINT_UPPER_BOUND = 7
56  INDICATOR_CONSTRAINT_LOWER_BOUND = 8
57  INDICATOR_CONSTRAINT_UPPER_BOUND = 9
58
59
60class DoubleAttr2(Attr[np.float64], PyAttr[float], int, enum.Enum):
61  LINEAR_CONSTRAINT_COEFFICIENT = 0
62  AUXILIARY_OBJECTIVE_LINEAR_COEFFICIENT = 1
63  QUADRATIC_CONSTRAINT_LINEAR_COEFFICIENT = 2
64  INDICATOR_CONSTRAINT_LINEAR_COEFFICIENT = 3
65
66
67class SymmetricDoubleAttr2(Attr[np.float64], PyAttr[float], int, enum.Enum):
68  OBJECTIVE_QUADRATIC_COEFFICIENT = 0
69
70
71class SymmetricDoubleAttr3(Attr[np.float64], PyAttr[float], int, enum.Enum):
72  QUADRATIC_CONSTRAINT_QUADRATIC_COEFFICIENT = 0
73
74
75class VariableAttr1(Attr[np.int64], PyAttr[int], int, enum.Enum):
76  INDICATOR_CONSTRAINT_INDICATOR = 0
77
78AnyAttr = Union[BoolAttr0, BoolAttr1, IntAttr0, IntAttr1, DoubleAttr0, DoubleAttr1, DoubleAttr2, SymmetricDoubleAttr2, SymmetricDoubleAttr3, VariableAttr1]
class ElementType(enum.Enum):
 9class ElementType(enum.Enum):
10  VARIABLE = 0
11  LINEAR_CONSTRAINT = 1
12  AUXILIARY_OBJECTIVE = 2
13  QUADRATIC_CONSTRAINT = 3
14  INDICATOR_CONSTRAINT = 4
VARIABLE = <ElementType.VARIABLE: 0>
LINEAR_CONSTRAINT = <ElementType.LINEAR_CONSTRAINT: 1>
AUXILIARY_OBJECTIVE = <ElementType.AUXILIARY_OBJECTIVE: 2>
QUADRATIC_CONSTRAINT = <ElementType.QUADRATIC_CONSTRAINT: 3>
INDICATOR_CONSTRAINT = <ElementType.INDICATOR_CONSTRAINT: 4>
class Attr(typing.Generic[~AttrValueType]):
21class Attr(Generic[AttrValueType]):
22  pass

Abstract base class for generic types.

On Python 3.12 and newer, generic classes implicitly inherit from Generic when they declare a parameter list after the class's name::

class Mapping[KT, VT]:
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

On older versions of Python, however, generic classes have to explicitly inherit from Generic.

After a class has been declared to be generic, it can then be used as follows::

def lookup_name[KT, VT](mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
class PyAttr(typing.Generic[~AttrPyValueType]):
24class PyAttr(Generic[AttrPyValueType]):
25  pass

Abstract base class for generic types.

On Python 3.12 and newer, generic classes implicitly inherit from Generic when they declare a parameter list after the class's name::

class Mapping[KT, VT]:
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

On older versions of Python, however, generic classes have to explicitly inherit from Generic.

After a class has been declared to be generic, it can then be used as follows::

def lookup_name[KT, VT](mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
27class BoolAttr0(Attr[np.bool_], PyAttr[bool], int, enum.Enum):
28  MAXIMIZE = 0

Abstract base class for generic types.

On Python 3.12 and newer, generic classes implicitly inherit from Generic when they declare a parameter list after the class's name::

class Mapping[KT, VT]:
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

On older versions of Python, however, generic classes have to explicitly inherit from Generic.

After a class has been declared to be generic, it can then be used as follows::

def lookup_name[KT, VT](mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
MAXIMIZE = <BoolAttr0.MAXIMIZE: 0>
31class BoolAttr1(Attr[np.bool_], PyAttr[bool], int, enum.Enum):
32  VARIABLE_INTEGER = 0
33  AUXILIARY_OBJECTIVE_MAXIMIZE = 1
34  INDICATOR_CONSTRAINT_ACTIVATE_ON_ZERO = 2

Abstract base class for generic types.

On Python 3.12 and newer, generic classes implicitly inherit from Generic when they declare a parameter list after the class's name::

class Mapping[KT, VT]:
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

On older versions of Python, however, generic classes have to explicitly inherit from Generic.

After a class has been declared to be generic, it can then be used as follows::

def lookup_name[KT, VT](mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
VARIABLE_INTEGER = <BoolAttr1.VARIABLE_INTEGER: 0>
AUXILIARY_OBJECTIVE_MAXIMIZE = <BoolAttr1.AUXILIARY_OBJECTIVE_MAXIMIZE: 1>
INDICATOR_CONSTRAINT_ACTIVATE_ON_ZERO = <BoolAttr1.INDICATOR_CONSTRAINT_ACTIVATE_ON_ZERO: 2>
37class IntAttr0(Attr[np.int64], PyAttr[int], int, enum.Enum):
38  OBJECTIVE_PRIORITY = 0

Abstract base class for generic types.

On Python 3.12 and newer, generic classes implicitly inherit from Generic when they declare a parameter list after the class's name::

class Mapping[KT, VT]:
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

On older versions of Python, however, generic classes have to explicitly inherit from Generic.

After a class has been declared to be generic, it can then be used as follows::

def lookup_name[KT, VT](mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
OBJECTIVE_PRIORITY = <IntAttr0.OBJECTIVE_PRIORITY: 0>
41class IntAttr1(Attr[np.int64], PyAttr[int], int, enum.Enum):
42  AUXILIARY_OBJECTIVE_PRIORITY = 0

Abstract base class for generic types.

On Python 3.12 and newer, generic classes implicitly inherit from Generic when they declare a parameter list after the class's name::

class Mapping[KT, VT]:
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

On older versions of Python, however, generic classes have to explicitly inherit from Generic.

After a class has been declared to be generic, it can then be used as follows::

def lookup_name[KT, VT](mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
AUXILIARY_OBJECTIVE_PRIORITY = <IntAttr1.AUXILIARY_OBJECTIVE_PRIORITY: 0>
45class DoubleAttr0(Attr[np.float64], PyAttr[float], int, enum.Enum):
46  OBJECTIVE_OFFSET = 0

Abstract base class for generic types.

On Python 3.12 and newer, generic classes implicitly inherit from Generic when they declare a parameter list after the class's name::

class Mapping[KT, VT]:
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

On older versions of Python, however, generic classes have to explicitly inherit from Generic.

After a class has been declared to be generic, it can then be used as follows::

def lookup_name[KT, VT](mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
OBJECTIVE_OFFSET = <DoubleAttr0.OBJECTIVE_OFFSET: 0>
49class DoubleAttr1(Attr[np.float64], PyAttr[float], int, enum.Enum):
50  VARIABLE_LOWER_BOUND = 0
51  VARIABLE_UPPER_BOUND = 1
52  OBJECTIVE_LINEAR_COEFFICIENT = 2
53  LINEAR_CONSTRAINT_LOWER_BOUND = 3
54  LINEAR_CONSTRAINT_UPPER_BOUND = 4
55  AUXILIARY_OBJECTIVE_OFFSET = 5
56  QUADRATIC_CONSTRAINT_LOWER_BOUND = 6
57  QUADRATIC_CONSTRAINT_UPPER_BOUND = 7
58  INDICATOR_CONSTRAINT_LOWER_BOUND = 8
59  INDICATOR_CONSTRAINT_UPPER_BOUND = 9

Abstract base class for generic types.

On Python 3.12 and newer, generic classes implicitly inherit from Generic when they declare a parameter list after the class's name::

class Mapping[KT, VT]:
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

On older versions of Python, however, generic classes have to explicitly inherit from Generic.

After a class has been declared to be generic, it can then be used as follows::

def lookup_name[KT, VT](mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
VARIABLE_LOWER_BOUND = <DoubleAttr1.VARIABLE_LOWER_BOUND: 0>
VARIABLE_UPPER_BOUND = <DoubleAttr1.VARIABLE_UPPER_BOUND: 1>
OBJECTIVE_LINEAR_COEFFICIENT = <DoubleAttr1.OBJECTIVE_LINEAR_COEFFICIENT: 2>
LINEAR_CONSTRAINT_LOWER_BOUND = <DoubleAttr1.LINEAR_CONSTRAINT_LOWER_BOUND: 3>
LINEAR_CONSTRAINT_UPPER_BOUND = <DoubleAttr1.LINEAR_CONSTRAINT_UPPER_BOUND: 4>
AUXILIARY_OBJECTIVE_OFFSET = <DoubleAttr1.AUXILIARY_OBJECTIVE_OFFSET: 5>
QUADRATIC_CONSTRAINT_LOWER_BOUND = <DoubleAttr1.QUADRATIC_CONSTRAINT_LOWER_BOUND: 6>
QUADRATIC_CONSTRAINT_UPPER_BOUND = <DoubleAttr1.QUADRATIC_CONSTRAINT_UPPER_BOUND: 7>
INDICATOR_CONSTRAINT_LOWER_BOUND = <DoubleAttr1.INDICATOR_CONSTRAINT_LOWER_BOUND: 8>
INDICATOR_CONSTRAINT_UPPER_BOUND = <DoubleAttr1.INDICATOR_CONSTRAINT_UPPER_BOUND: 9>
62class DoubleAttr2(Attr[np.float64], PyAttr[float], int, enum.Enum):
63  LINEAR_CONSTRAINT_COEFFICIENT = 0
64  AUXILIARY_OBJECTIVE_LINEAR_COEFFICIENT = 1
65  QUADRATIC_CONSTRAINT_LINEAR_COEFFICIENT = 2
66  INDICATOR_CONSTRAINT_LINEAR_COEFFICIENT = 3

Abstract base class for generic types.

On Python 3.12 and newer, generic classes implicitly inherit from Generic when they declare a parameter list after the class's name::

class Mapping[KT, VT]:
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

On older versions of Python, however, generic classes have to explicitly inherit from Generic.

After a class has been declared to be generic, it can then be used as follows::

def lookup_name[KT, VT](mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
LINEAR_CONSTRAINT_COEFFICIENT = <DoubleAttr2.LINEAR_CONSTRAINT_COEFFICIENT: 0>
AUXILIARY_OBJECTIVE_LINEAR_COEFFICIENT = <DoubleAttr2.AUXILIARY_OBJECTIVE_LINEAR_COEFFICIENT: 1>
QUADRATIC_CONSTRAINT_LINEAR_COEFFICIENT = <DoubleAttr2.QUADRATIC_CONSTRAINT_LINEAR_COEFFICIENT: 2>
INDICATOR_CONSTRAINT_LINEAR_COEFFICIENT = <DoubleAttr2.INDICATOR_CONSTRAINT_LINEAR_COEFFICIENT: 3>
69class SymmetricDoubleAttr2(Attr[np.float64], PyAttr[float], int, enum.Enum):
70  OBJECTIVE_QUADRATIC_COEFFICIENT = 0

Abstract base class for generic types.

On Python 3.12 and newer, generic classes implicitly inherit from Generic when they declare a parameter list after the class's name::

class Mapping[KT, VT]:
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

On older versions of Python, however, generic classes have to explicitly inherit from Generic.

After a class has been declared to be generic, it can then be used as follows::

def lookup_name[KT, VT](mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
OBJECTIVE_QUADRATIC_COEFFICIENT = <SymmetricDoubleAttr2.OBJECTIVE_QUADRATIC_COEFFICIENT: 0>
73class SymmetricDoubleAttr3(Attr[np.float64], PyAttr[float], int, enum.Enum):
74  QUADRATIC_CONSTRAINT_QUADRATIC_COEFFICIENT = 0

Abstract base class for generic types.

On Python 3.12 and newer, generic classes implicitly inherit from Generic when they declare a parameter list after the class's name::

class Mapping[KT, VT]:
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

On older versions of Python, however, generic classes have to explicitly inherit from Generic.

After a class has been declared to be generic, it can then be used as follows::

def lookup_name[KT, VT](mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
QUADRATIC_CONSTRAINT_QUADRATIC_COEFFICIENT = <SymmetricDoubleAttr3.QUADRATIC_CONSTRAINT_QUADRATIC_COEFFICIENT: 0>
77class VariableAttr1(Attr[np.int64], PyAttr[int], int, enum.Enum):
78  INDICATOR_CONSTRAINT_INDICATOR = 0

Abstract base class for generic types.

On Python 3.12 and newer, generic classes implicitly inherit from Generic when they declare a parameter list after the class's name::

class Mapping[KT, VT]:
    def __getitem__(self, key: KT) -> VT:
        ...
    # Etc.

On older versions of Python, however, generic classes have to explicitly inherit from Generic.

After a class has been declared to be generic, it can then be used as follows::

def lookup_name[KT, VT](mapping: Mapping[KT, VT], key: KT, default: VT) -> VT:
    try:
        return mapping[key]
    except KeyError:
        return default
INDICATOR_CONSTRAINT_INDICATOR = <VariableAttr1.INDICATOR_CONSTRAINT_INDICATOR: 0>