An indicator constraint: a linear row that must hold when a binary variable
takes a given value (bin = active_value -> a^T x SENSE rhs). Stored
normalized like Optex.Constraint (pure a^T x on the left). Solved natively
by capable backends; never reformulated.
Summary
Types
@type t() :: %Optex.Indicator{ active_value: 0 | 1, aff: Optex.Aff.t(), bin_id: non_neg_integer(), id: non_neg_integer(), name: term(), rhs: number(), sense: :le | :ge | :eq }