#[repr(C)]pub struct SCIP_Col {Show 43 fields
pub obj: f64,
pub lb: f64,
pub ub: f64,
pub unchangedobj: f64,
pub lazylb: f64,
pub lazyub: f64,
pub flushedobj: f64,
pub flushedlb: f64,
pub flushedub: f64,
pub primsol: f64,
pub redcost: f64,
pub farkascoef: f64,
pub minprimsol: f64,
pub maxprimsol: f64,
pub sbdown: f64,
pub sbup: f64,
pub sbsolval: f64,
pub sblpobjval: f64,
pub sbnode: c_longlong,
pub obsoletenode: c_longlong,
pub storedsolvals: *mut SCIP_COLSOLVALS,
pub var: *mut SCIP_VAR,
pub rows: *mut *mut SCIP_ROW,
pub vals: *mut f64,
pub validredcostlp: c_longlong,
pub validfarkaslp: c_longlong,
pub validsblp: c_longlong,
pub linkpos: *mut c_int,
pub index: c_int,
pub size: c_int,
pub len: c_int,
pub nlprows: c_int,
pub nunlinked: c_int,
pub lppos: c_int,
pub lpipos: c_int,
pub lpdepth: c_int,
pub sbitlim: c_int,
pub nsbcalls: c_int,
pub age: c_int,
pub var_probindex: c_int,
pub _bitfield_align_1: [u8; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2]>,
pub __bindgen_padding_0: [u16; 3],
}Expand description
LP column; The row vector of the LP column is partitioned into two parts: The first col->nlprows rows in the rows array are the ones that belong to the current LP (col->rows[j]->lppos >= 0) and that are linked to the column (col->linkpos[j] >= 0). The remaining col->len - col->nlprows rows in the rows array are the ones that don’t belong to the current LP (col->rows[j]->lppos == -1) or that are not linked to the column (col->linkpos[j] == -1).
Fields§
§obj: f64< current objective value of column in LP (might be changed in diving or probing)
lb: f64< current lower bound of column in LP
ub: f64< current upper bound of column in LP
unchangedobj: f64< unchanged objective value of column (ignoring diving or probing changes)
lazylb: f64< lazy lower bound of the column; if the current lower bound is not greater than the lazy lower bound, then the lower bound has not to be added to the LP
lazyub: f64< lazy upper bound of the column; if the current upper bound is not smaller than the lazy upper bound, then the upper bound has not to be added to the LP
flushedobj: f64< objective value of column already flushed to the LP solver
flushedlb: f64< lower bound of column already flushed to the LP solver
flushedub: f64< upper bound of column already flushed to the LP solver
primsol: f64< primal solution value in LP, is 0 if col is not in LP
redcost: f64< reduced cost value in LP, or SCIP_INVALID if not yet calculated
farkascoef: f64< coefficient in dual Farkas infeasibility proof (== dualfarkas^T A_c)
minprimsol: f64< minimal LP solution value, this column ever assumed
maxprimsol: f64< maximal LP solution value, this column ever assumed
sbdown: f64< strong branching information for downwards branching
sbup: f64< strong branching information for upwards branching
sbsolval: f64< LP solution value of column at last strong branching call
sblpobjval: f64< LP objective value at last strong branching call on the column
sbnode: c_longlong< node number of the last strong branching call on this column
obsoletenode: c_longlong< last node where this column was removed due to aging
storedsolvals: *mut SCIP_COLSOLVALS< values stored before entering diving or probing mode
var: *mut SCIP_VAR< variable, this column represents; there cannot be a column without variable
rows: *mut *mut SCIP_ROW< rows of column entries, that may have a nonzero dual solution value
vals: *mut f64< coefficients of column entries
validredcostlp: c_longlong< LP number for which reduced cost value is valid
validfarkaslp: c_longlong< LP number for which Farkas coefficient is valid
validsblp: c_longlong< LP number for which strong branching values are valid
linkpos: *mut c_int< position of col in col vector of the row, or -1 if not yet linked
index: c_int< consecutively numbered column identifier
size: c_int< size of the row- and val-arrays
len: c_int< number of nonzeros in column
nlprows: c_int< number of linked rows in column, that belong to the current LP
nunlinked: c_int< number of column entries, where the rows don’t know about the column
lppos: c_int< column position number in current LP, or -1 if not in current LP
lpipos: c_int< column position number in LP solver, or -1 if not in LP solver
lpdepth: c_int< depth level at which column entered the LP, or -1 if not in current LP
sbitlim: c_int< strong branching iteration limit used to get strong branching values, or -1
nsbcalls: c_int< number of times, strong branching was applied on the column
age: c_int< number of successive times this variable was in LP and was 0.0 in solution
var_probindex: c_int< copy of var->probindex for avoiding expensive dereferencing
_bitfield_align_1: [u8; 0]§_bitfield_1: __BindgenBitfieldUnit<[u8; 2]>§__bindgen_padding_0: [u16; 3]