Scippy

    SCIP

    Solving Constraint Integer Programs

    SCIP_LpExact Struct Reference

    Detailed Description

    current LP data

    Definition at line 262 of file struct_lpexact.h.

    #include <struct_lpexact.h>

    Data Fields

    SCIP_LPfplp
     
    SCIP_PROJSHIFTDATAprojshiftdata
     
    SCIP_RATIONALlpobjval
     
    SCIP_RATIONALlooseobjval
     
    SCIP_RATIONALglbpseudoobjval
     
    SCIP_RATIONALpseudoobjval
     
    SCIP_RATIONAL ** divechgsides
     
    SCIP_SIDETYPEdivechgsidetypes
     
    SCIP_ROWEXACT ** divechgrows
     
    SCIP_Real cutoffbound
     
    SCIP_Real lpiobjlim
     
    SCIP_Real oldcutoffbound
     
    SCIP_LPIEXACTlpiexact
     
    SCIP_LPISTATEdivelpistate
     
    SCIP_COLEXACT ** lpicols
     
    SCIP_ROWEXACT ** lpirows
     
    SCIP_COLEXACT ** chgcols
     
    SCIP_ROWEXACT ** chgrows
     
    SCIP_COLEXACT ** cols
     
    SCIP_ROWEXACT ** rows
     
    SCIP_Longint divenolddomchgs
     
    SCIP_LPEXACTSOLVALSstoredsolvals
     
    int lpicolssize
     
    int nlpicols
     
    int lpifirstchgcol
     
    int lpirowssize
     
    int nlpirows
     
    int lpifirstchgrow
     
    int chgcolssize
     
    int nchgcols
     
    int chgrowssize
     
    int nchgrows
     
    int colssize
     
    int ncols
     
    int nremovablecols
     
    int firstnewcol
     
    int rowssize
     
    int nrows
     
    int nremovablerows
     
    int firstnewrow
     
    int looseobjvalinf
     
    int nloosevars
     
    int glbpseudoobjvalinf
     
    int pseudoobjvalinf
     
    int lpiitlim
     
    int lpitiming
     
    int lpirandomseed
     
    int lpiscaling
     
    int lpirefactorinterval
     
    int ndivingrows
     
    int ndivechgsides
     
    int divinglpiitlim
     
    SCIP_PRICING lpipricing
     
    SCIP_LPSOLSTAT lpsolstat
     
    SCIP_LPALGO lastlpalgo
     
    SCIP_Bool lpisolutionpolishing
     
    SCIP_Bool flushdeletedcols
     
    SCIP_Bool flushaddedcols
     
    SCIP_Bool flushdeletedrows
     
    SCIP_Bool flushaddedrows
     
    SCIP_Bool updateintegrality
     
    SCIP_Bool flushed
     
    SCIP_Bool solved
     
    SCIP_Bool primalfeasible
     
    SCIP_Bool primalchecked
     
    SCIP_Bool dualfeasible
     
    SCIP_Bool dualchecked
     
    SCIP_Bool solisbasic
     
    SCIP_Bool resolvelperror
     
    SCIP_Bool lpihasscaling
     
    SCIP_Bool lpihaspresolving
     
    SCIP_Bool projshiftpossible
     
    SCIP_Bool boundshiftuseful
     
    SCIP_Bool forceexactsolve
     
    SCIP_Bool allowexactsolve
     
    SCIP_Bool diving
     
    SCIP_Bool divelpwasprimfeas
     
    SCIP_Bool divelpwasprimchecked
     
    SCIP_Bool divelpwasdualfeas
     
    SCIP_Bool divelpwasdualchecked
     
    SCIP_Bool divingobjchg
     
    SCIP_Bool forcesafebound
     
    SCIP_Bool wasforcedsafebound
     

    Field Documentation

    ◆ fplp

    ◆ projshiftdata

    SCIP_PROJSHIFTDATA* SCIP_LpExact::projshiftdata

    data stored for usage in project+shift, NULL if ps not used

    Definition at line 265 of file struct_lpexact.h.

    Referenced by SCIPlpExactComputeSafeBound(), SCIPlpExactProjectShiftFree(), SCIPlpExactProjectShiftPossible(), and SCIPlpPsdataCreate().

    ◆ lpobjval

    ◆ looseobjval

    SCIP_RATIONAL* SCIP_LpExact::looseobjval

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

    Definition at line 267 of file struct_lpexact.h.

    Referenced by getFiniteLooseObjvalExact(), lpExactUpdateObjval(), SCIPlpExactDecNLoosevars(), and SCIPlpExactGetObjval().

    ◆ glbpseudoobjval

    SCIP_RATIONAL* SCIP_LpExact::glbpseudoobjval

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

    Definition at line 269 of file struct_lpexact.h.

    Referenced by lpExactUpdateObjval().

    ◆ pseudoobjval

    SCIP_RATIONAL* SCIP_LpExact::pseudoobjval

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

    Definition at line 271 of file struct_lpexact.h.

    Referenced by lpExactUpdateObjval(), and SCIPlpExactGetPseudoObjval().

    ◆ divechgsides

    SCIP_RATIONAL** SCIP_LpExact::divechgsides

    stores the lhs/rhs changed in the current diving

    Definition at line 273 of file struct_lpexact.h.

    Referenced by SCIPlpExactEndDive().

    ◆ divechgsidetypes

    SCIP_SIDETYPE* SCIP_LpExact::divechgsidetypes

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

    Definition at line 274 of file struct_lpexact.h.

    Referenced by SCIPlpExactEndDive().

    ◆ divechgrows

    SCIP_ROWEXACT** SCIP_LpExact::divechgrows

    stores the rows changed in the current diving

    Definition at line 275 of file struct_lpexact.h.

    Referenced by SCIPlpExactEndDive().

    ◆ cutoffbound

    SCIP_Real SCIP_LpExact::cutoffbound

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

    Definition at line 276 of file struct_lpexact.h.

    Referenced by lpExactFlushAndSolve(), SCIPlpExactSetCutoffbound(), and SCIPlpExactSolveAndEval().

    ◆ lpiobjlim

    SCIP_Real SCIP_LpExact::lpiobjlim

    current objective limit in LPI

    Definition at line 277 of file struct_lpexact.h.

    Referenced by lpExactFlushAndSolve(), lpExactSetObjlim(), and SCIPlpExactSolveAndEval().

    ◆ oldcutoffbound

    SCIP_Real SCIP_LpExact::oldcutoffbound

    place to store cutoffbound if it gets relaxed/removed for safe bounding

    Definition at line 278 of file struct_lpexact.h.

    Referenced by SCIPlpSolveAndEval().

    ◆ lpiexact

    ◆ divelpistate

    SCIP_LPISTATE* SCIP_LpExact::divelpistate

    stores LPI state (basis information) before exact diving starts

    Definition at line 280 of file struct_lpexact.h.

    Referenced by SCIPlpExactEndDive(), and SCIPlpExactStartDive().

    ◆ lpicols

    SCIP_COLEXACT** SCIP_LpExact::lpicols

    array with columns currently stored in the LP solver

    Definition at line 281 of file struct_lpexact.h.

    Referenced by ensureLpiExactcolsSize(), lpExactFlushAddCols(), lpExactFlushDelCols(), SCIPlpExactCreate(), SCIPlpExactGetDualfarkas(), SCIPlpExactGetPrimalRay(), and SCIPlpExactGetSol().

    ◆ lpirows

    SCIP_ROWEXACT** SCIP_LpExact::lpirows

    array with rows currently stored in the LP solver

    Definition at line 282 of file struct_lpexact.h.

    Referenced by ensureLpirowexactsSize(), lpExactFlushAddRows(), lpExactFlushDelRows(), SCIPlpExactDelRowset(), SCIPlpExactGetDualfarkas(), and SCIPlpExactGetSol().

    ◆ chgcols

    SCIP_COLEXACT** SCIP_LpExact::chgcols

    array of changed columns not yet applied to the LP solver

    Definition at line 283 of file struct_lpexact.h.

    Referenced by ensureChgcolsSize(), insertColChgcols(), and lpExactFlushChgCols().

    ◆ chgrows

    SCIP_ROWEXACT** SCIP_LpExact::chgrows

    array of changed rows not yet applied to the LP solver

    Definition at line 284 of file struct_lpexact.h.

    Referenced by ensureChgrowsSizeExact(), lpExactFlushChgRows(), and rowExactSideChanged().

    ◆ cols

    ◆ rows

    ◆ divenolddomchgs

    SCIP_Longint SCIP_LpExact::divenolddomchgs

    number of domain changes before diving has started

    Definition at line 287 of file struct_lpexact.h.

    Referenced by SCIPlpExactStartDive().

    ◆ storedsolvals

    SCIP_LPEXACTSOLVALS* SCIP_LpExact::storedsolvals

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

    Definition at line 288 of file struct_lpexact.h.

    Referenced by lpExactRestoreSolVals(), lpExactStoreSolVals(), SCIPlpExactEndDive(), and SCIPlpExactStartDive().

    ◆ lpicolssize

    int SCIP_LpExact::lpicolssize

    available slots in lpicols vector

    Definition at line 290 of file struct_lpexact.h.

    Referenced by ensureLpiExactcolsSize().

    ◆ nlpicols

    ◆ lpifirstchgcol

    int SCIP_LpExact::lpifirstchgcol

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

    Definition at line 292 of file struct_lpexact.h.

    Referenced by coefChangedExact(), lpExactFlushAddCols(), lpExactFlushDelCols(), SCIPlpExactFlush(), SCIPlpExactLink(), and SCIPlpExactShrinkCols().

    ◆ lpirowssize

    int SCIP_LpExact::lpirowssize

    available slots in lpirows vector

    Definition at line 293 of file struct_lpexact.h.

    Referenced by ensureLpirowexactsSize().

    ◆ nlpirows

    ◆ lpifirstchgrow

    int SCIP_LpExact::lpifirstchgrow

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

    Definition at line 295 of file struct_lpexact.h.

    Referenced by coefChangedExact(), lpExactFlushAddRows(), lpExactFlushDelRows(), SCIPlpExactDelRowset(), SCIPlpExactFlush(), SCIPlpExactLink(), and SCIPlpExactShrinkRows().

    ◆ chgcolssize

    int SCIP_LpExact::chgcolssize

    available slots in chgcols vector

    Definition at line 296 of file struct_lpexact.h.

    Referenced by ensureChgcolsSize().

    ◆ nchgcols

    int SCIP_LpExact::nchgcols

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

    Definition at line 297 of file struct_lpexact.h.

    Referenced by ensureChgcolsSize(), insertColChgcols(), lpExactFlushChgCols(), SCIPcolExactChgLb(), SCIPcolExactChgObj(), SCIPcolExactChgUb(), SCIPlpExactFlush(), and SCIPlpExactLink().

    ◆ chgrowssize

    int SCIP_LpExact::chgrowssize

    available slots in chgrows vector

    Definition at line 298 of file struct_lpexact.h.

    Referenced by ensureChgrowsSizeExact().

    ◆ nchgrows

    int SCIP_LpExact::nchgrows

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

    Definition at line 299 of file struct_lpexact.h.

    Referenced by ensureChgrowsSizeExact(), lpExactFlushChgRows(), rowExactSideChanged(), SCIPlpExactDelRowset(), SCIPlpExactFlush(), and SCIPlpExactLink().

    ◆ colssize

    int SCIP_LpExact::colssize

    available slots in cols vector

    Definition at line 300 of file struct_lpexact.h.

    Referenced by ensureColexsSize().

    ◆ ncols

    ◆ nremovablecols

    int SCIP_LpExact::nremovablecols

    number of removable columns in the LP

    Definition at line 302 of file struct_lpexact.h.

    ◆ firstnewcol

    int SCIP_LpExact::firstnewcol

    first column added at the current node

    Definition at line 303 of file struct_lpexact.h.

    ◆ rowssize

    int SCIP_LpExact::rowssize

    available slots in rows vector

    Definition at line 304 of file struct_lpexact.h.

    Referenced by ensureRowexsSize().

    ◆ nrows

    ◆ nremovablerows

    int SCIP_LpExact::nremovablerows

    number of removable rows in the LP

    Definition at line 306 of file struct_lpexact.h.

    Referenced by SCIPlpExactDelRowset().

    ◆ firstnewrow

    int SCIP_LpExact::firstnewrow

    first row added at the current node

    Definition at line 307 of file struct_lpexact.h.

    ◆ looseobjvalinf

    int SCIP_LpExact::looseobjvalinf

    number of loose variables with infinite best bound in current solution

    Definition at line 308 of file struct_lpexact.h.

    Referenced by getFiniteLooseObjvalExact(), lpExactUpdateObjval(), SCIPlpExactDecNLoosevars(), SCIPlpExactGetObjval(), SCIPlpExactUpdateVarColumn(), and SCIPlpExactUpdateVarLoose().

    ◆ nloosevars

    int SCIP_LpExact::nloosevars

    ◆ glbpseudoobjvalinf

    int SCIP_LpExact::glbpseudoobjvalinf

    number of variables with infinite best bound in global pseudo solution

    Definition at line 310 of file struct_lpexact.h.

    Referenced by lpExactUpdateObjval().

    ◆ pseudoobjvalinf

    int SCIP_LpExact::pseudoobjvalinf

    number of variables with infinite best bound in current pseudo solution

    Definition at line 311 of file struct_lpexact.h.

    Referenced by lpExactUpdateObjval(), and SCIPlpExactGetPseudoObjval().

    ◆ lpiitlim

    int SCIP_LpExact::lpiitlim

    current iteration limit setting in LPI

    Definition at line 312 of file struct_lpexact.h.

    Referenced by lpExactSetIterationLimit().

    ◆ lpitiming

    int SCIP_LpExact::lpitiming

    current timing type in LPI

    Definition at line 313 of file struct_lpexact.h.

    ◆ lpirandomseed

    int SCIP_LpExact::lpirandomseed

    current initial random seed in LPI

    Definition at line 314 of file struct_lpexact.h.

    ◆ lpiscaling

    int SCIP_LpExact::lpiscaling

    current SCALING setting in LPI

    Definition at line 315 of file struct_lpexact.h.

    ◆ lpirefactorinterval

    int SCIP_LpExact::lpirefactorinterval

    current refactorization interval

    Definition at line 316 of file struct_lpexact.h.

    ◆ ndivingrows

    int SCIP_LpExact::ndivingrows

    number of rows when entering diving mode

    Definition at line 317 of file struct_lpexact.h.

    Referenced by SCIPlpExactStartDive().

    ◆ ndivechgsides

    int SCIP_LpExact::ndivechgsides

    number of side changes in current diving

    Definition at line 318 of file struct_lpexact.h.

    Referenced by SCIPlpExactEndDive(), and SCIPlpExactStartDive().

    ◆ divinglpiitlim

    int SCIP_LpExact::divinglpiitlim

    LPI iteration limit when entering diving mode

    Definition at line 319 of file struct_lpexact.h.

    Referenced by SCIPlpExactEndDive(), and SCIPlpExactStartDive().

    ◆ lpipricing

    SCIP_PRICING SCIP_LpExact::lpipricing

    current pricing setting in LPI

    Definition at line 320 of file struct_lpexact.h.

    ◆ lpsolstat

    ◆ lastlpalgo

    SCIP_LPALGO SCIP_LpExact::lastlpalgo

    algorithm used for last LP solve

    Definition at line 322 of file struct_lpexact.h.

    Referenced by SCIPlpExactReset().

    ◆ lpisolutionpolishing

    SCIP_Bool SCIP_LpExact::lpisolutionpolishing

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

    Definition at line 323 of file struct_lpexact.h.

    ◆ flushdeletedcols

    SCIP_Bool SCIP_LpExact::flushdeletedcols

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

    Definition at line 324 of file struct_lpexact.h.

    Referenced by lpExactFlushDelCols(), SCIPlpExactFlush(), and SCIPlpExactLink().

    ◆ flushaddedcols

    SCIP_Bool SCIP_LpExact::flushaddedcols

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

    Definition at line 325 of file struct_lpexact.h.

    Referenced by lpExactFlushAddCols(), SCIPlpExactFlush(), and SCIPlpExactLink().

    ◆ flushdeletedrows

    SCIP_Bool SCIP_LpExact::flushdeletedrows

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

    Definition at line 326 of file struct_lpexact.h.

    Referenced by lpExactFlushDelRows(), SCIPlpExactFlush(), and SCIPlpExactLink().

    ◆ flushaddedrows

    SCIP_Bool SCIP_LpExact::flushaddedrows

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

    Definition at line 327 of file struct_lpexact.h.

    Referenced by lpExactFlushAddRows(), SCIPlpExactFlush(), and SCIPlpExactLink().

    ◆ updateintegrality

    SCIP_Bool SCIP_LpExact::updateintegrality

    does integrality information need to be updated?

    Definition at line 328 of file struct_lpexact.h.

    Referenced by lpExactFlushAddCols(), and lpExactFlushDelCols().

    ◆ flushed

    ◆ solved

    ◆ primalfeasible

    ◆ primalchecked

    ◆ dualfeasible

    ◆ dualchecked

    SCIP_Bool SCIP_LpExact::dualchecked

    ◆ solisbasic

    SCIP_Bool SCIP_LpExact::solisbasic

    is current LP solution a basic solution?

    Definition at line 335 of file struct_lpexact.h.

    Referenced by lpExactFlushAndSolve(), lpExactRestoreSolVals(), lpExactStoreSolVals(), SCIPlpExactGetSol(), SCIPlpExactReset(), and SCIPlpExactSetState().

    ◆ resolvelperror

    SCIP_Bool SCIP_LpExact::resolvelperror

    an error occured during resolving the LP after diving or probing

    Definition at line 336 of file struct_lpexact.h.

    ◆ lpihasscaling

    SCIP_Bool SCIP_LpExact::lpihasscaling

    does the LPI support the SCALING parameter?

    Definition at line 337 of file struct_lpexact.h.

    ◆ lpihaspresolving

    SCIP_Bool SCIP_LpExact::lpihaspresolving

    does the LPI support the PRESOLVING parameter?

    Definition at line 338 of file struct_lpexact.h.

    ◆ projshiftpossible

    SCIP_Bool SCIP_LpExact::projshiftpossible

    can a safe bound be computed with project-and-shift?

    Definition at line 339 of file struct_lpexact.h.

    ◆ boundshiftuseful

    SCIP_Bool SCIP_LpExact::boundshiftuseful

    is boundshift useful? set to FALSE if success rate too low

    Definition at line 340 of file struct_lpexact.h.

    Referenced by SCIPlpExactBoundShiftUseful().

    ◆ forceexactsolve

    SCIP_Bool SCIP_LpExact::forceexactsolve

    should the next safe bounding step be forced to solve the lp exactly?

    Definition at line 341 of file struct_lpexact.h.

    Referenced by SCIPlpExactComputeSafeBound(), and SCIPlpExactForceExactSolve().

    ◆ allowexactsolve

    SCIP_Bool SCIP_LpExact::allowexactsolve

    is the next bounding call allowed to be an exact solve? (this should only happen for the last call at each node)

    Definition at line 342 of file struct_lpexact.h.

    Referenced by SCIPlpExactAllowExactSolve(), and SCIPlpExactComputeSafeBound().

    ◆ diving

    SCIP_Bool SCIP_LpExact::diving

    LP is used for exact diving: col bounds and obj don't correspond to variables

    Definition at line 343 of file struct_lpexact.h.

    Referenced by SCIPlpExactDiving(), SCIPlpExactEndDive(), and SCIPlpExactStartDive().

    ◆ divelpwasprimfeas

    SCIP_Bool SCIP_LpExact::divelpwasprimfeas

    primal feasibility when diving started

    Definition at line 344 of file struct_lpexact.h.

    Referenced by SCIPlpExactEndDive(), and SCIPlpExactStartDive().

    ◆ divelpwasprimchecked

    SCIP_Bool SCIP_LpExact::divelpwasprimchecked

    primal feasibility was checked when diving started

    Definition at line 345 of file struct_lpexact.h.

    Referenced by SCIPlpExactEndDive(), and SCIPlpExactStartDive().

    ◆ divelpwasdualfeas

    SCIP_Bool SCIP_LpExact::divelpwasdualfeas

    dual feasibility when diving started

    Definition at line 346 of file struct_lpexact.h.

    Referenced by SCIPlpExactEndDive(), and SCIPlpExactStartDive().

    ◆ divelpwasdualchecked

    SCIP_Bool SCIP_LpExact::divelpwasdualchecked

    dual feasibility was checked when diving started

    Definition at line 347 of file struct_lpexact.h.

    Referenced by SCIPlpExactEndDive(), and SCIPlpExactStartDive().

    ◆ divingobjchg

    SCIP_Bool SCIP_LpExact::divingobjchg

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

    Definition at line 348 of file struct_lpexact.h.

    Referenced by SCIPlpExactEndDive().

    ◆ forcesafebound

    SCIP_Bool SCIP_LpExact::forcesafebound

    should the next safe bounding step be forced to execute, even in probing/diving/etc?

    Definition at line 349 of file struct_lpexact.h.

    Referenced by SCIPlpExactComputeSafeBound(), and SCIPlpExactForceSafeBound().

    ◆ wasforcedsafebound

    SCIP_Bool SCIP_LpExact::wasforcedsafebound

    was the last safe bound forced to execute?

    Definition at line 350 of file struct_lpexact.h.

    Referenced by SCIPlpExactComputeSafeBound(), and SCIPlpSolveAndEval().