Quadratic

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.