SCIP_Col

Struct SCIP_Col 

Source
#[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]

Implementations§

Source§

impl SCIP_Col

Source

pub fn basisstatus(&self) -> c_uint

Source

pub fn set_basisstatus(&mut self, val: c_uint)

Source

pub unsafe fn basisstatus_raw(this: *const Self) -> c_uint

Source

pub unsafe fn set_basisstatus_raw(this: *mut Self, val: c_uint)

Source

pub fn lprowssorted(&self) -> c_uint

Source

pub fn set_lprowssorted(&mut self, val: c_uint)

Source

pub unsafe fn lprowssorted_raw(this: *const Self) -> c_uint

Source

pub unsafe fn set_lprowssorted_raw(this: *mut Self, val: c_uint)

Source

pub fn nonlprowssorted(&self) -> c_uint

Source

pub fn set_nonlprowssorted(&mut self, val: c_uint)

Source

pub unsafe fn nonlprowssorted_raw(this: *const Self) -> c_uint

Source

pub unsafe fn set_nonlprowssorted_raw(this: *mut Self, val: c_uint)

Source

pub fn objchanged(&self) -> c_uint

Source

pub fn set_objchanged(&mut self, val: c_uint)

Source

pub unsafe fn objchanged_raw(this: *const Self) -> c_uint

Source

pub unsafe fn set_objchanged_raw(this: *mut Self, val: c_uint)

Source

pub fn lbchanged(&self) -> c_uint

Source

pub fn set_lbchanged(&mut self, val: c_uint)

Source

pub unsafe fn lbchanged_raw(this: *const Self) -> c_uint

Source

pub unsafe fn set_lbchanged_raw(this: *mut Self, val: c_uint)

Source

pub fn ubchanged(&self) -> c_uint

Source

pub fn set_ubchanged(&mut self, val: c_uint)

Source

pub unsafe fn ubchanged_raw(this: *const Self) -> c_uint

Source

pub unsafe fn set_ubchanged_raw(this: *mut Self, val: c_uint)

Source

pub fn coefchanged(&self) -> c_uint

Source

pub fn set_coefchanged(&mut self, val: c_uint)

Source

pub unsafe fn coefchanged_raw(this: *const Self) -> c_uint

Source

pub unsafe fn set_coefchanged_raw(this: *mut Self, val: c_uint)

Source

pub fn integral(&self) -> c_uint

Source

pub fn set_integral(&mut self, val: c_uint)

Source

pub unsafe fn integral_raw(this: *const Self) -> c_uint

Source

pub unsafe fn set_integral_raw(this: *mut Self, val: c_uint)

Source

pub fn impliedintegral(&self) -> c_uint

Source

pub fn set_impliedintegral(&mut self, val: c_uint)

Source

pub unsafe fn impliedintegral_raw(this: *const Self) -> c_uint

Source

pub unsafe fn set_impliedintegral_raw(this: *mut Self, val: c_uint)

Source

pub fn removable(&self) -> c_uint

Source

pub fn set_removable(&mut self, val: c_uint)

Source

pub unsafe fn removable_raw(this: *const Self) -> c_uint

Source

pub unsafe fn set_removable_raw(this: *mut Self, val: c_uint)

Source

pub fn sbdownvalid(&self) -> c_uint

Source

pub fn set_sbdownvalid(&mut self, val: c_uint)

Source

pub unsafe fn sbdownvalid_raw(this: *const Self) -> c_uint

Source

pub unsafe fn set_sbdownvalid_raw(this: *mut Self, val: c_uint)

Source

pub fn sbupvalid(&self) -> c_uint

Source

pub fn set_sbupvalid(&mut self, val: c_uint)

Source

pub unsafe fn sbupvalid_raw(this: *const Self) -> c_uint

Source

pub unsafe fn set_sbupvalid_raw(this: *mut Self, val: c_uint)

Source

pub fn new_bitfield_1( basisstatus: c_uint, lprowssorted: c_uint, nonlprowssorted: c_uint, objchanged: c_uint, lbchanged: c_uint, ubchanged: c_uint, coefchanged: c_uint, integral: c_uint, impliedintegral: c_uint, removable: c_uint, sbdownvalid: c_uint, sbupvalid: c_uint, ) -> __BindgenBitfieldUnit<[u8; 2]>

Trait Implementations§

Source§

impl Clone for SCIP_Col

Source§

fn clone(&self) -> SCIP_Col

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SCIP_Col

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for SCIP_Col

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.