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().