SCIP_LP

Type Alias SCIP_LP 

Source
pub type SCIP_LP = SCIP_Lp;
Expand description

LP structure

  • \ref PublicLPMethods “List of all available methods”

Aliased Type§

#[repr(C)]
pub struct SCIP_LP {
Show 127 fields pub lpobjval: f64, pub looseobjval: f64, pub rellooseobjval: f64, pub glbpseudoobjval: f64, pub relglbpseudoobjval: f64, pub pseudoobjval: f64, pub relpseudoobjval: f64, pub rootlpobjval: f64, pub rootlooseobjval: f64, pub cutoffbound: f64, pub feastol: f64, pub lpiobjlim: f64, pub lpifeastol: f64, pub lpidualfeastol: f64, pub lpibarrierconvtol: f64, pub lpiconditionlimit: f64, pub lpimarkowitz: f64, pub objsqrnorm: f64, pub objsumnorm: f64, pub degeneracy: f64, pub varconsratio: f64, pub lpi: *mut SCIP_LPi, pub lpicols: *mut *mut SCIP_Col, pub lpirows: *mut *mut SCIP_Row, pub chgcols: *mut *mut SCIP_Col, pub chgrows: *mut *mut SCIP_Row, pub cols: *mut *mut SCIP_Col, pub lazycols: *mut *mut SCIP_Col, pub rows: *mut *mut SCIP_Row, pub lpexact: *mut SCIP_LpExact, pub soldirection: *mut f64, pub divelpistate: *mut SCIP_LPiState, pub divechgsides: *mut f64, pub divechgsidetypes: *mut u32, pub divechgrows: *mut *mut SCIP_Row, pub storedsolvals: *mut SCIP_LpSolVals, pub validsoldirsol: *mut SCIP_Sol, pub validsollp: i64, pub validfarkaslp: i64, pub validsoldirlp: i64, pub validdegeneracylp: i64, pub divenolddomchgs: i64, pub lpicolssize: i32, pub nlpicols: i32, pub lpifirstchgcol: i32, pub lpirowssize: i32, pub nlpirows: i32, pub lpifirstchgrow: i32, pub chgcolssize: i32, pub nchgcols: i32, pub chgrowssize: i32, pub nchgrows: i32, pub colssize: i32, pub soldirectionsize: i32, pub ncols: i32, pub lazycolssize: i32, pub nlazycols: i32, pub nremovablecols: i32, pub firstnewcol: i32, pub rowssize: i32, pub nrows: i32, pub nremovablerows: i32, pub firstnewrow: i32, pub looseobjvalinf: i32, pub nloosevars: i32, pub glbpseudoobjvalinf: i32, pub pseudoobjvalinf: i32, pub ndivingrows: i32, pub ndivechgsides: i32, pub divechgsidessize: i32, pub divinglpiitlim: i32, pub lpiitlim: i32, pub lpifastmip: i32, pub lpithreads: i32, pub lpitiming: i32, pub lpirandomseed: i32, pub lpiscaling: i32, pub lpirefactorinterval: i32, pub lpipricing: u32, pub lpsolstat: u32, pub lastlpalgo: u32, pub objsqrnormunreliable: u32, pub lpisolutionpolishing: u32, pub looseobjvalid: u32, pub glbpseudoobjvalid: u32, pub pseudoobjvalid: u32, pub flushdeletedcols: u32, pub flushaddedcols: u32, pub flushdeletedrows: u32, pub flushaddedrows: u32, pub updateintegrality: u32, pub flushed: u32, pub solved: u32, pub primalfeasible: u32, pub primalchecked: u32, pub dualfeasible: u32, pub dualchecked: u32, pub solisbasic: u32, pub rootlpisrelax: u32, pub isrelax: u32, pub installing: u32, pub strongbranching: u32, pub probing: u32, pub strongbranchprobing: u32, pub diving: u32, pub divingobjchg: u32, pub divinglazyapplied: u32, pub resolvelperror: u32, pub adjustlpval: u32, pub lpifromscratch: u32, pub lpipresolving: u32, pub lpilpinfo: u32, pub lpihasfeastol: u32, pub lpihasdualfeastol: u32, pub lpihasbarrierconvtol: u32, pub lpihasfastmip: u32, pub lpihasscaling: u32, pub lpihaspresolving: u32, pub lpihasrowrep: u32, pub lpihaspolishing: u32, pub lpihasrefactor: u32, pub lpirowrepswitch: f64, pub divelpwasprimfeas: u32, pub divelpwasprimchecked: u32, pub divelpwasdualfeas: u32, pub divelpwasdualchecked: u32, pub hasprovedbound: u32,
}

Fields§

§lpobjval: f64

< objective value of LP without loose variables, or SCIP_INVALID

§looseobjval: f64

< current solution value of all loose variables set to their best bounds, ignoring variables, with infinite best bound

§rellooseobjval: f64

< last reliable solution value of all loose variables set to their best bounds, ignoring variables, with infinite best bound

§glbpseudoobjval: f64

< global pseudo solution value with all variables set to their best global bounds, ignoring variables, with infinite best bound

§relglbpseudoobjval: f64

< last reliable global pseudo solution value

§pseudoobjval: f64

< current pseudo solution value with all variables set to their best bounds, ignoring variables, with infinite best bound

§relpseudoobjval: f64

< last reliable pseudo solution value

§rootlpobjval: f64

< objective value of root LP without loose variables, or SCIP_INVALID

§rootlooseobjval: f64

< objective value of loose variables in root node, or SCIP_INVALID

§cutoffbound: f64

< upper objective limit of LP (copy of primal->cutoffbound)

§feastol: f64

< current feasibility tolerance

§lpiobjlim: f64

< current objective limit in LPI

§lpifeastol: f64

< current feasibility tolerance in LPI

§lpidualfeastol: f64

< current reduced costs feasibility tolerance in LPI

§lpibarrierconvtol: f64

< current convergence tolerance used in barrier algorithm in LPI

§lpiconditionlimit: f64

< current condition number limit in LPI

§lpimarkowitz: f64

< current markowitz threshold

§objsqrnorm: f64

< squared Euclidean norm of objective function vector of problem variables

§objsumnorm: f64

< sum norm of objective function vector of problem variables

§degeneracy: f64

< share of degenerate non-basic variables in the current LP

§varconsratio: f64

< variable-constraint ratio of the optimal face

§lpi: *mut SCIP_LPi

< LP solver interface

§lpicols: *mut *mut SCIP_Col

< array with columns currently stored in the LP solver

§lpirows: *mut *mut SCIP_Row

< array with rows currently stored in the LP solver

§chgcols: *mut *mut SCIP_Col

< array of changed columns not yet applied to the LP solver

§chgrows: *mut *mut SCIP_Row

< array of changed rows not yet applied to the LP solver

§cols: *mut *mut SCIP_Col

< array with current LP columns in correct order

§lazycols: *mut *mut SCIP_Col

< array with current LP lazy columns

§rows: *mut *mut SCIP_Row

< array with current LP rows in correct order

§lpexact: *mut SCIP_LpExact

< pointer to exact rational lp, or null if in normal fp soliving mode

§soldirection: *mut f64

< normalized vector in direction of primal solution from current LP solution

§divelpistate: *mut SCIP_LPiState

< stores LPI state (basis information) before diving starts

§divechgsides: *mut f64

< stores the lhs/rhs changed in the current diving

§divechgsidetypes: *mut u32

< stores the side type of the changes done in the current diving

§divechgrows: *mut *mut SCIP_Row

< stores the rows changed in the current diving

§storedsolvals: *mut SCIP_LpSolVals

< collected values of the LP data which depend on the LP solution

§validsoldirsol: *mut SCIP_Sol

< primal solution for which the currently stored solution direction vector is valid

§validsollp: i64

< LP number for which the currently stored solution values are valid

§validfarkaslp: i64

< LP number for which the currently stored Farkas row multipliers are valid

§validsoldirlp: i64

< LP number for which the currently stored solution direction vector is valid

§validdegeneracylp: i64

< LP number for which the currently stored degeneracy information is valid

§divenolddomchgs: i64

< number of domain changes before diving has started

§lpicolssize: i32

< available slots in lpicols vector

§nlpicols: i32

< number of columns in the LP solver

§lpifirstchgcol: i32

< first column of the LP which differs from the column in the LP solver

§lpirowssize: i32

< available slots in lpirows vector

§nlpirows: i32

< number of rows in the LP solver

§lpifirstchgrow: i32

< first row of the LP which differs from the row in the LP solver

§chgcolssize: i32

< available slots in chgcols vector

§nchgcols: i32

< current number of chgcols (number of used slots in chgcols vector)

§chgrowssize: i32

< available slots in chgrows vector

§nchgrows: i32

< current number of chgrows (number of used slots in chgrows vector)

§colssize: i32

< available slots in cols vector

§soldirectionsize: i32

< available slots in soldirection vector

§ncols: i32

< current number of LP columns (number of used slots in cols vector)

§lazycolssize: i32

< available slots in lazycols vector

§nlazycols: i32

< current number of LP lazy columns (number of used slots in lazycols vector)

§nremovablecols: i32

< number of removable columns in the LP

§firstnewcol: i32

< first column added at the current node

§rowssize: i32

< available slots in rows vector

§nrows: i32

< current number of LP rows (number of used slots in rows vector)

§nremovablerows: i32

< number of removable rows in the LP

§firstnewrow: i32

< first row added at the current node

§looseobjvalinf: i32

< number of loose variables with infinite best bound in current solution

§nloosevars: i32

< number of loose variables in LP

§glbpseudoobjvalinf: i32

< number of variables with infinite best bound in global pseudo solution

§pseudoobjvalinf: i32

< number of variables with infinite best bound in current pseudo solution

§ndivingrows: i32

< number of rows when entering diving mode

§ndivechgsides: i32

< number of side changes in current diving

§divechgsidessize: i32

< size of the arrays

§divinglpiitlim: i32

< LPI iteration limit when entering diving mode

§lpiitlim: i32

< current iteration limit setting in LPI

§lpifastmip: i32

< current FASTMIP setting in LPI

§lpithreads: i32

< current THREADS setting in LPI

§lpitiming: i32

< current timing type in LPI

§lpirandomseed: i32

< current initial random seed in LPI

§lpiscaling: i32

< current SCALING setting in LPI

§lpirefactorinterval: i32

< current refactorization interval

§lpipricing: u32

< current pricing setting in LPI

§lpsolstat: u32

< solution status of last LP solution

§lastlpalgo: u32

< algorithm used for last LP solve

§objsqrnormunreliable: u32

< is squared Euclidean norm of objective function vector of problem variables unreliable and need recalculation?

§lpisolutionpolishing: u32

< LP solution polishing method (0: disabled, 1: enabled)

§looseobjvalid: u32

< is the loose objective value valid or should it be recomputed from scratch?

§glbpseudoobjvalid: u32

< is the global pseudo solution value valid or should it be recomputed from scratch?

§pseudoobjvalid: u32

< is the pseudo solution value valid or should it be recomputed from scratch?

§flushdeletedcols: u32

< have LPI-columns been deleted in the last lpFlush() call?

§flushaddedcols: u32

< have LPI-columns been added in the last lpFlush() call?

§flushdeletedrows: u32

< have LPI-rows been deleted in the last lpFlush() call?

§flushaddedrows: u32

< have LPI-rows been added in the last lpFlush() call?

§updateintegrality: u32

< does integrality information need to be updated?

§flushed: u32

< are all cached changes applied to the LP solver?

§solved: u32

< is current LP solved?

§primalfeasible: u32

< is current LP solution (rather LPI state) primal feasible?

§primalchecked: u32

< was current LP solution checked for primal feasibility??

§dualfeasible: u32

< is current LP solution (rather LPI state) dual feasible?

§dualchecked: u32

< was current LP solution checked for primal feasibility??

§solisbasic: u32

< is current LP solution a basic solution?

§rootlpisrelax: u32

< is root LP a relaxation of the problem and its solution value a valid global lower bound?

§isrelax: u32

< is the current LP a relaxation of the problem for which it has been solved and its solution value a valid local lower bound?

§installing: u32

< whether the solution process is in stalling

§strongbranching: u32

< whether the lp is used for strong branching

§probing: u32

< are we currently in probing mode?

§strongbranchprobing: u32

< are we currently in probing mode for strong branching?

§diving: u32

< LP is used for diving: col bounds and obj don’t correspond to variables

§divingobjchg: u32

< objective values were changed in diving or probing: LP objective is invalid

§divinglazyapplied: u32

< lazy bounds were applied to the LP during diving

§resolvelperror: u32

< an error occurred during resolving the LP after diving or probing

§adjustlpval: u32

< does an infinite LP objective value has been adjusted so far?

§lpifromscratch: u32

< current FROMSCRATCH setting in LPI

§lpipresolving: u32

< current PRESOLVING setting in LPI

§lpilpinfo: u32

< current LPINFO setting in LPI

§lpihasfeastol: u32

< does the LPI support the FEASTOL parameter?

§lpihasdualfeastol: u32

< does the LPI support the DUALFEASTOL parameter?

§lpihasbarrierconvtol: u32

< does the LPI support the BARRIERCONVTOL parameter?

§lpihasfastmip: u32

< does the LPI support the FASTMIP parameter?

§lpihasscaling: u32

< does the LPI support the SCALING parameter?

§lpihaspresolving: u32

< does the LPI support the PRESOLVING parameter?

§lpihasrowrep: u32

< does the LPI support row representation of a simplex basis?

§lpihaspolishing: u32

< does the LPI support solution polishing?

§lpihasrefactor: u32

< does the LPI support changing the refactorization interval?

§lpirowrepswitch: f64

< simplex algorithm shall use row representation of the basis if number of rows divided by number of columns exceeds this value

§divelpwasprimfeas: u32

< primal feasibility when diving started

§divelpwasprimchecked: u32

< primal feasibility was checked when diving started

§divelpwasdualfeas: u32

< dual feasibility when diving started

§divelpwasdualchecked: u32

< dual feasibility was checked when diving started

§hasprovedbound: u32

< is the bound of the lp proved to be exactly dual feasible