pub struct RowBatch {
pub num_rows: usize,
pub row_starts: Vec<i32>,
pub col_indices: Vec<i32>,
pub values: Vec<f64>,
pub row_lower: Vec<f64>,
pub row_upper: Vec<f64>,
}Expand description
Batch of constraint rows for addition to a loaded LP, in CSR (row-major) form.
Assembled from the row-pool activity bitmap before each LP rebuild
and passed to crate::SolverInterface::add_rows for a single batch call.
Rows are appended at the bottom of the constraint matrix in the dynamic
constraint region per
Solver Abstraction SS2.2.
See Solver Interface Trait SS4.5 and the row-pool assembly protocol in Solver Abstraction SS5.4.
Fields§
§num_rows: usizeNumber of active constraint rows in this batch.
row_starts: Vec<i32>CSR row start offsets (i32 for HiGHS FFI compatibility).
Length: num_rows + 1. Entry row_starts[i] is the index into
col_indices and values where row i begins.
row_starts[num_rows] equals the total number of non-zeros.
col_indices: Vec<i32>CSR column indices for each non-zero entry (i32 for HiGHS FFI compatibility).
Length: total non-zeros across all rows. Entry col_indices[k] is the
column of the k-th non-zero value.
values: Vec<f64>CSR non-zero values.
Length: total non-zeros across all rows. Entry values[k] is the
coefficient at column col_indices[k] in its row.
row_lower: Vec<f64>Row lower bounds (RHS lower bounds for >= constraints).
Length: num_rows. For >= constraints, this is the RHS lower bound.
row_upper: Vec<f64>Row upper bounds.
Length: num_rows. Use f64::INFINITY for >= constraints (no finite upper bound).