Quadratic

class Quadratic

Quadratic function of decision variables.

A quadratic function has the form: \(c_0 + \sum_i c_i x_i + \sum_{ij} q_{ij} x_i x_j\) where \(x_i\) are decision variables and \(c_i\), \(q_{ij}\) are coefficients.

Examples

Create via DecisionVariable multiplication:

>>> x = DecisionVariable.integer(1)
>>> y = DecisionVariable.integer(2)
>>> q = x * y + 2*x + 3*y + 1

Note that ==, <=, >= create Constraint objects:

>>> constraint = q <= 10  # Returns Constraint
__add__(rhs: int | float | DecisionVariable | Parameter | Linear | Quadratic) Quadratic
__add__(rhs: Polynomial) Polynomial
__copy__() Quadratic
__deepcopy__(_memo: Any) Quadratic
__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

__iadd__(rhs: Quadratic) Quadratic
__le__(other: ToFunction) Constraint

Create a less-than-or-equal constraint: self <= other → Constraint

__mul__(rhs: int | float) Quadratic
__mul__(rhs: DecisionVariable | Parameter | Linear | Quadratic | Polynomial) Polynomial
__neg__() Quadratic

Negation operator

__new__(columns: Sequence[int], rows: Sequence[int], values: Sequence[float], linear: Optional[Linear] = None) Quadratic
__radd__(lhs: int | float | DecisionVariable | Parameter | Linear | Quadratic) Quadratic
__radd__(lhs: Polynomial) Polynomial
__repr__() str
__rmul__(lhs: int | float) Quadratic
__rmul__(lhs: DecisionVariable | Parameter | Linear | Quadratic | Polynomial) Polynomial
__rsub__(lhs: int | float | DecisionVariable | Parameter | Linear | Quadratic) Quadratic
__rsub__(lhs: Polynomial) Polynomial
__sub__(rhs: int | float | DecisionVariable | Parameter | Linear | Quadratic) Quadratic
__sub__(rhs: Polynomial) Polynomial
add_assign(rhs: Quadratic) None
add_linear(linear: Linear) Quadratic
add_scalar(scalar: float) Quadratic
almost_equal(other: Quadratic, atol: float = 1e-06) bool
evaluate(state: ToState, atol: Optional[float] = None) float
from_bytes(bytes: bytes) Quadratic
mul_linear(linear: Linear) Polynomial
mul_scalar(scalar: float) Quadratic
partial_evaluate(state: ToState, atol: Optional[float] = None) Quadratic
random(rng: Rng, num_terms: int = 5, max_id: int = 10) Quadratic
terms() dict
to_bytes() bytes
property constant_term: float

Read-only property.

property linear_terms: dict[int, float]

Read-only property.

property quadratic_terms: dict[tuple[int, int], float]

Read-only property.