DecisionVariable
- class DecisionVariable
Decision variable in an optimization problem.
This class represents a variable that will be optimized in a mathematical programming problem. It supports various types (binary, integer, continuous, semi-integer, semi-continuous) and can be used in arithmetic expressions to build objective functions and constraints.
Note that this object overloads
==for creating a constraint, not for equality comparison.Examples
>>> x = DecisionVariable.integer(1) >>> x == 1 # Returns Constraint, not bool Constraint(...)
For object equality comparison, use the
equals_to()method or compare IDs:>>> y = DecisionVariable.integer(2) >>> x.id == y.id False
- __add__(rhs: int | float | DecisionVariable | Parameter | Linear) Linear
- __add__(rhs: Quadratic) Quadratic
- __add__(rhs: Polynomial) Polynomial
- __copy__() DecisionVariable
- __eq__(other: ToFunction) Constraint
Create an equality constraint: self == other → Constraint with EqualToZero
- __ge__(other: ToFunction) Constraint
Create a greater-than-or-equal constraint: self >= other → Constraint
- __le__(other: ToFunction) Constraint
Create a less-than-or-equal constraint: self <= other → Constraint
- __mul__(rhs: int | float) Linear
- __mul__(rhs: DecisionVariable | Parameter | Linear) Quadratic
- __mul__(rhs: Quadratic | Polynomial) Polynomial
- __neg__() Linear
Negation operator: -x → Linear(-1 * x)
- __new__(id: int, kind: int, bound: Bound, name: Optional[str] = None, subscripts: Sequence[int] = [], parameters: Mapping[str, str] = {}, description: Optional[str] = None) DecisionVariable
- __radd__(lhs: int | float | DecisionVariable | Parameter | Linear) Linear
- __radd__(lhs: Quadratic) Quadratic
- __radd__(lhs: Polynomial) Polynomial
- __repr__() str
- __rmul__(lhs: int | float) Linear
- __rmul__(lhs: DecisionVariable | Parameter | Linear) Quadratic
- __rmul__(lhs: Quadratic | Polynomial) Polynomial
- __rsub__(lhs: int | float | DecisionVariable | Parameter | Linear) Linear
- __rsub__(lhs: Quadratic) Quadratic
- __rsub__(lhs: Polynomial) Polynomial
- __sub__(rhs: int | float | DecisionVariable | Parameter | Linear) Linear
- __sub__(rhs: Quadratic) Quadratic
- __sub__(rhs: Polynomial) Polynomial
- binary(id: int, name: Optional[str] = None, subscripts: Sequence[int] = [], parameters: Mapping[str, str] = {}, description: Optional[str] = None) DecisionVariable
- continuous(id: int, lower: float = float('-inf'), upper: float = float('inf'), name: Optional[str] = None, subscripts: Sequence[int] = [], parameters: Mapping[str, str] = {}, description: Optional[str] = None) DecisionVariable
- equals_to(other: DecisionVariable) bool
Compare two DecisionVariable objects for equality.
This is different from
__eq__which creates a Constraint. Use this method when you want to check if two variables represent the same variable.
- from_bytes(bytes: bytes) DecisionVariable
- integer(id: int, lower: float = float('-inf'), upper: float = float('inf'), name: Optional[str] = None, subscripts: Sequence[int] = [], parameters: Mapping[str, str] = {}, description: Optional[str] = None) DecisionVariable
- semi_continuous(id: int, lower: float = float('-inf'), upper: float = float('inf'), name: Optional[str] = None, subscripts: Sequence[int] = [], parameters: Mapping[str, str] = {}, description: Optional[str] = None) DecisionVariable
- semi_integer(id: int, lower: float = float('-inf'), upper: float = float('inf'), name: Optional[str] = None, subscripts: Sequence[int] = [], parameters: Mapping[str, str] = {}, description: Optional[str] = None) DecisionVariable
- to_bytes() bytes
- BINARY: int
- CONTINUOUS: int
- INTEGER: int
- SEMI_CONTINUOUS: int
- SEMI_INTEGER: int
- property bound: Bound
Read-only property.
- property description: str
Read-only property.
- property id: int
Read-only property.
- property kind: int
Read-only property.
- property name: str
Read-only property.
- property parameters: dict[str, str]
Read-only property.
- property subscripts: list[int]
Read-only property.