methods to build and access LP relaxation information
Modules | |
LP Column | |
public methods for LP columns | |
LP Row | |
methods for LP rows | |
Cuts and Cutpools | |
common methods used to manipulate, generate, and strengthen cuts and to organize the cutpool | |
LP Diving | |
methods to initiate and conduct LP diving | |
returns, whether the LP was or is to be solved in the current node
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 28863 of file scip.c.
References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeHasCurrentNodeLP(), Scip::tree, and TRUE.
Referenced by applyVbounds(), consdataGetGlbActivityResiduals(), enforcePseudo(), execRelpscost(), SCIP_DECL_BRANCHEXECPS(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), and SCIPperformGenericDivingAlgorithm().
returns, whether the LP of the current node is already constructed
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 28881 of file scip.c.
References checkStage(), FALSE, SCIP_CALL_ABORT, SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.
Referenced by applyVbounds(), createNewSol(), and SCIP_DECL_HEUREXEC().
SCIP_RETCODE SCIPconstructLP | ( | SCIP * | scip, |
SCIP_Bool * | cutoff | ||
) |
makes sure that the LP of the current node is loaded and may be accessed through the LP information methods
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
cutoff | pointer to store whether the node can be cut off |
Definition at line 28904 of file scip.c.
References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::cutpool, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::pricestore, SCIP_Mem::probmem, Scip::reopt, SCIP_CALL, SCIP_OKAY, SCIPconstructCurrentLP(), Scip::sepastore, Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.
Referenced by applyVbounds(), and SCIP_DECL_HEUREXEC().
SCIP_RETCODE SCIPflushLP | ( | SCIP * | scip | ) |
makes sure that the LP of the current node is flushed
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 28928 of file scip.c.
References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPlpFlush(), Scip::set, and TRUE.
Referenced by applyVbounds(), and SCIP_DECL_HEUREXEC().
SCIP_LPSOLSTAT SCIPgetLPSolstat | ( | SCIP * | scip | ) |
gets solution status of current LP
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 28948 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIP_LPSOLSTAT_NOTSOLVED, SCIPlpGetSolstat(), SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.
Referenced by analyzeStrongbranch(), applyBoundHeur(), applyVbounds(), execRelpscost(), fixAndPropagate(), fixDiscreteVars(), generateCut(), generateCutLTI(), generateCutUnboundedLP(), getNLPFracVars(), performLPRandRounding(), performLPSimpleRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), replaceByLinearConstraints(), replaceViolatedByLinearConstraints(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPapplyHeurSubNlp(), SCIPperformGenericDivingAlgorithm(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPvisualUpdateChild(), selectVarMultAggrBranching(), separatePoint(), solveLp(), tryOneOpt(), and trySolCandidate().
returns whether the current LP solution passed the primal feasibility check
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
returns whether the current LP solution passed the primal feasibility check
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 28969 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpIsPrimalReliable(), and TRUE.
returns whether the current LP solution passed the dual feasibility check
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 28987 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpIsDualReliable(), and TRUE.
returns whether the current lp is a relaxation of the current problem and its optimal objective value is a local lower bound
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29005 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpIsRelax(), and TRUE.
Referenced by performStrongbranchWithPropagation().
gets objective value of current LP (which is the sum of column and loose objective value)
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29027 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetObjval(), Scip::set, Scip::transprob, and TRUE.
Referenced by execRelpscost(), getBranchingDecisionStrongbranchSOS1(), performLPRandRounding(), performLPSimpleRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIPperformGenericDivingAlgorithm(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPsolveDiveLP(), selectVarMultAggrBranching(), separateCuts(), and solveProbingLP().
gets part of objective value of current LP that results from COLUMN variables only
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29045 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetColumnObjval(), and TRUE.
gets part of objective value of current LP that results from LOOSE variables only
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29063 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetLooseObjval(), Scip::set, Scip::transprob, and TRUE.
gets the global pseudo objective value; that is all variables set to their best (w.r.t. the objective function) global bound
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29088 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetGlobalPseudoObjval(), Scip::set, Scip::transprob, and TRUE.
Referenced by propagateCutoffboundGlobally(), and resolvePropagation().
gets the pseudo objective value for the current search node; that is all variables set to their best (w.r.t. the objective function) local bound
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29113 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetPseudoObjval(), Scip::set, Scip::transprob, and TRUE.
Referenced by SCIP_DECL_DISPOUTPUT().
returns whether the root lp is a relaxation of the problem and its optimal objective value is a global lower bound
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29131 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpIsRootLPRelax(), and TRUE.
gets the objective value of the root node LP or SCIP_INVALID if the root node LP was not (yet) solved
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29152 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetRootObjval(), and TRUE.
gets part of the objective value of the root node LP that results from COLUMN variables only; returns SCIP_INVALID if the root node LP was not (yet) solved
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29175 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetRootColumnObjval(), and TRUE.
gets part of the objective value of the root node LP that results from LOOSE variables only; returns SCIP_INVALID if the root node LP was not (yet) solved
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29198 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetRootLooseObjval(), and TRUE.
SCIP_RETCODE SCIPgetLPColsData | ( | SCIP * | scip, |
SCIP_COL *** | cols, | ||
int * | ncols | ||
) |
gets current LP columns along with the current number of LP columns
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
cols | pointer to store the array of LP columns, or NULL |
ncols | pointer to store the number of LP columns, or NULL |
Definition at line 29217 of file scip.c.
References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpGetCols(), SCIPlpGetNCols(), SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.
Referenced by aggregation(), computeCut(), createCGCutDirect(), createSubscip(), extractCapacities(), extractNodes(), generateAverageNBRay(), mcfnetworkExtract(), mcfnetworkFill(), SCIP_DECL_HEUREXEC(), and SCIP_DECL_SEPAEXECLP().
gets current LP columns
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29252 of file scip.c.
References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL_ABORT, SCIPlpGetCols(), SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.
Referenced by findUncapacitatedArcs(), getNextFlowrow(), and mcfnetworkFill().
int SCIPgetNLPCols | ( | SCIP * | scip | ) |
gets current number of LP columns
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29273 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetNCols(), SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.
Referenced by addFlowrowToCommodity(), cleanupNetwork(), collectIncidentFlowCols(), deleteCommodity(), extractCapacityRows(), extractFlow(), extractFlowRows(), findUncapacitatedArcs(), generateClusterCuts(), getFlowrowFit(), getIncidentNodes(), getNextFlowrow(), getNodeSimilarityScore(), identifySourcesTargets(), invertCommodity(), mcfnetworkExtract(), mcfnetworkFill(), nodepairqueueCreate(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_SEPAEXECLP(), and separateCuts().
SCIP_RETCODE SCIPgetLPRowsData | ( | SCIP * | scip, |
SCIP_ROW *** | rows, | ||
int * | nrows | ||
) |
gets current LP rows along with the current number of LP rows
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
rows | pointer to store the array of LP rows, or NULL |
nrows | pointer to store the number of LP rows, or NULL |
Definition at line 29295 of file scip.c.
References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpGetNRows(), SCIPlpGetRows(), SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.
Referenced by aggregation(), cleanupNetwork(), computeCut(), createCGCutCMIR(), createCGCutStrongCG(), createRows(), createSubscip(), extractCapacities(), extractCapacityRows(), extractFlowRows(), extractNodes(), generateAverageNBRay(), generateAverageRay(), initMatrix(), mcfnetworkExtract(), mcfnetworkFill(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), and separateCuts().
gets current LP rows
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29330 of file scip.c.
References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL_ABORT, SCIPlpGetRows(), SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.
Referenced by applyNlobbt(), applyRepair(), computeInteriorPoint(), extractFlow(), findUncapacitatedArcs(), mcfnetworkFill(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), SCIP_DECL_RELAXEXEC(), and SCIP_DECL_SEPAEXECLP().
int SCIPgetNLPRows | ( | SCIP * | scip | ) |
gets current number of LP rows
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29351 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpGetNRows(), SCIPtreeIsFocusNodeLPConstructed(), Scip::tree, and TRUE.
Referenced by applyNlobbt(), applyRepair(), calcShiftVal(), computeInteriorPoint(), createCGCuts(), extractFlow(), findUncapacitatedArcs(), generateClusterCuts(), getFlowrowFit(), getIncidentNodes(), getNActiveConsScore(), getNextFlowrow(), getNodeSimilarityScore(), identifySourcesTargets(), invertCommodity(), mcfnetworkFill(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPdummyDebugMethodForSun(), separateCuts(), and updateRowActivities().
returns TRUE iff all columns, i.e. every variable with non-empty column w.r.t. all ever created rows, are present in the LP, and FALSE, if there are additional already existing columns, that may be added to the LP in pricing
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29374 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPprobAllColsInLP(), Scip::set, Scip::transprob, and TRUE.
Referenced by branch(), execRelpscost(), performRandRounding(), performSimpleRounding(), performStrongbranchWithPropagation(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_PROPEXEC(), SCIP_DECL_RELAXEXEC(), SCIPgetVarStrongbranchWithPropagation(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), and selectVarMultAggrBranching().
returns whether the current LP solution is basic, i.e. is defined by a valid simplex basis
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
Definition at line 29392 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL_ABORT, SCIPlpIsSolBasic(), and TRUE.
Referenced by execRelpscost(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), and SCIPperformGenericDivingAlgorithm().
SCIP_RETCODE SCIPgetLPBasisInd | ( | SCIP * | scip, |
int * | basisind | ||
) |
gets all indices of basic columns and rows: index i >= 0 corresponds to column i, index i < 0 to row -i-1
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
basisind | pointer to store basis indices ready to keep number of rows entries |
Definition at line 29411 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpGetBasisInd(), SCIPlpIsSolBasic(), and TRUE.
Referenced by SCIP_DECL_SEPAEXECLP(), and SCIPdummyDebugMethodForSun().
SCIP_RETCODE SCIPgetLPBInvRow | ( | SCIP * | scip, |
int | r, | ||
SCIP_Real * | coefs, | ||
int * | inds, | ||
int * | ninds | ||
) |
gets a row from the inverse basis matrix B^-1
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
r | row number |
coefs | array to store the coefficients of the row |
inds | array to store the non-zero indices, or NULL |
ninds | pointer to store the number of non-zero indices, or NULL (-1: if we do not store sparsity informations) |
Definition at line 29439 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPdebugCheckBInvRow, SCIPerrorMessage, SCIPlpGetBInvRow(), SCIPlpIsSolBasic(), and TRUE.
Referenced by SCIP_DECL_SEPAEXECLP().
SCIP_RETCODE SCIPgetLPBInvCol | ( | SCIP * | scip, |
int | c, | ||
SCIP_Real * | coefs, | ||
int * | inds, | ||
int * | ninds | ||
) |
gets a column from the inverse basis matrix B^-1
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
c | column number of B^-1; this is NOT the number of the column in the LP returned by SCIPcolGetLPPos(); you have to call SCIPgetBasisInd() to get the array which links the B^-1 column numbers to the row and column numbers of the LP! c must be between 0 and nrows-1, since the basis has the size nrows * nrows |
coefs | array to store the coefficients of the column |
inds | array to store the non-zero indices, or NULL |
ninds | pointer to store the number of non-zero indices, or NULL (-1: if we do not store sparsity informations) |
Definition at line 29474 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpGetBInvCol(), SCIPlpIsSolBasic(), and TRUE.
SCIP_RETCODE SCIPgetLPBInvARow | ( | SCIP * | scip, |
int | r, | ||
SCIP_Real * | binvrow, | ||
SCIP_Real * | coefs, | ||
int * | inds, | ||
int * | ninds | ||
) |
gets a row from the product of inverse basis matrix B^-1 and coefficient matrix A (i.e. from B^-1 * A)
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
r | row number |
binvrow | row in B^-1 from prior call to SCIPgetLPBInvRow(), or NULL |
coefs | array to store the coefficients of the row |
inds | array to store the non-zero indices, or NULL |
ninds | pointer to store the number of non-zero indices, or NULL (-1: if we do not store sparsity informations) |
Definition at line 29510 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpGetBInvARow(), SCIPlpIsSolBasic(), and TRUE.
Referenced by SCIP_DECL_SEPAEXECLP().
SCIP_RETCODE SCIPgetLPBInvACol | ( | SCIP * | scip, |
int | c, | ||
SCIP_Real * | coefs, | ||
int * | inds, | ||
int * | ninds | ||
) |
gets a column from the product of inverse basis matrix B^-1 and coefficient matrix A (i.e. from B^-1 * A), i.e., it computes B^-1 * A_c with A_c being the c'th column of A
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
c | column number which can be accessed by SCIPcolGetLPPos() |
coefs | array to store the coefficients of the column |
inds | array to store the non-zero indices, or NULL |
ninds | pointer to store the number of non-zero indices, or NULL (-1: if we do not store sparsity informations) |
Definition at line 29544 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, SCIPlpGetBInvACol(), SCIPlpIsSolBasic(), and TRUE.
Referenced by generateAverageRay().
SCIP_RETCODE SCIPsumLPRows | ( | SCIP * | scip, |
SCIP_Real * | weights, | ||
SCIP_REALARRAY * | sumcoef, | ||
SCIP_Real * | sumlhs, | ||
SCIP_Real * | sumrhs | ||
) |
calculates a weighted sum of all LP rows; for negative weights, the left and right hand side of the corresponding LP row are swapped in the summation
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
weights | row weights in row summation |
sumcoef | array to store sum coefficients indexed by variables' probindex |
sumlhs | pointer to store the left hand side of the row summation |
sumrhs | pointer to store the right hand side of the row summation |
Definition at line 29577 of file scip.c.
References checkStage(), FALSE, Scip::lp, SCIP_CALL, SCIP_OKAY, SCIPlpSumRows(), Scip::set, Scip::transprob, and TRUE.
SCIP_RETCODE SCIPcalcMIR | ( | SCIP * | scip, |
SCIP_SOL * | sol, | ||
SCIP_Real | boundswitch, | ||
SCIP_Bool | usevbds, | ||
SCIP_Bool | allowlocal, | ||
SCIP_Bool | fixintegralrhs, | ||
int * | boundsfortrans, | ||
SCIP_BOUNDTYPE * | boundtypesfortrans, | ||
int | maxmksetcoefs, | ||
SCIP_Real | maxweightrange, | ||
SCIP_Real | minfrac, | ||
SCIP_Real | maxfrac, | ||
SCIP_Real * | weights, | ||
SCIP_Real | maxweight, | ||
int * | weightinds, | ||
int | nweightinds, | ||
int | rowlensum, | ||
int * | sidetypes, | ||
SCIP_Real | scale, | ||
SCIP_Real * | mksetcoefs, | ||
SCIP_Bool * | mksetcoefsvalid, | ||
SCIP_Real * | mircoef, | ||
SCIP_Real * | mirrhs, | ||
SCIP_Real * | cutactivity, | ||
SCIP_Bool * | success, | ||
SCIP_Bool * | cutislocal, | ||
int * | cutrank | ||
) |
calculates a MIR cut out of the weighted sum of LP rows; The weights of modifiable rows are set to 0.0, because these rows cannot participate in a MIR cut.
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
sol | the solution that should be separated, or NULL for LP solution |
boundswitch | fraction of domain up to which lower bound is used in transformation |
usevbds | should variable bounds be used in bound transformation? |
allowlocal | should local information allowed to be used, resulting in a local cut? |
fixintegralrhs | should complementation tried to be adjusted such that rhs gets fractional? |
boundsfortrans | bounds that should be used for transformed variables: vlb_idx/vub_idx, -1 for global lb/ub, -2 for local lb/ub, or -3 for using closest bound; NULL for using closest bound for all variables |
boundtypesfortrans | type of bounds that should be used for transformed variables; NULL for using closest bound for all variables |
maxmksetcoefs | maximal number of nonzeros allowed in aggregated base inequality |
maxweightrange | maximal valid range max(|weights|)/min(|weights|) of row weights |
minfrac | minimal fractionality of rhs to produce MIR cut for |
maxfrac | maximal fractionality of rhs to produce MIR cut for |
weights | row weights in row summation; some weights might be set to zero |
maxweight | largest magnitude of weights; set to -1.0 if sparsity information is unknown |
weightinds | sparsity pattern of weights; size nrowinds; NULL if sparsity info is unknown |
nweightinds | number of nonzeros in weights; -1 if rowinds is NULL |
rowlensum | total number of non-zeros in used rows (row associated with nonzero weight coefficient); -1 if unknown |
sidetypes | specify row side type (-1 = lhs, 0 = unkown, 1 = rhs) or NULL for automatic choices |
scale | additional scaling factor multiplied to all rows |
mksetcoefs | array to store mixed knapsack set coefficients: size nvars; or NULL |
mksetcoefsvalid | pointer to store whether mixed knapsack set coefficients are valid; or NULL |
mircoef | array to store MIR coefficients: must be of size SCIPgetNVars() |
mirrhs | pointer to store the right hand side of the MIR row |
cutactivity | pointer to store the activity of the resulting cut |
success | pointer to store whether the returned coefficients are a valid MIR cut |
cutislocal | pointer to store whether the returned cut is only valid locally |
cutrank | pointer to store the rank of the returned cut; or NULL |
Definition at line 29603 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPcutsCalcLpMIR(), and TRUE.
Referenced by createCGCutCMIR(), createZerohalfCutFromZerohalfWeightvector(), cutGenerationHeuristic(), generateClusterCuts(), SCIP_DECL_SEPAEXECLP(), SCIPcutGenerationHeuristicCmir(), and tryDelta().
SCIP_RETCODE SCIPcalcStrongCG | ( | SCIP * | scip, |
SCIP_Real | boundswitch, | ||
SCIP_Bool | usevbds, | ||
SCIP_Bool | allowlocal, | ||
int | maxmksetcoefs, | ||
SCIP_Real | maxweightrange, | ||
SCIP_Real | minfrac, | ||
SCIP_Real | maxfrac, | ||
SCIP_Real * | weights, | ||
int * | inds, | ||
int | ninds, | ||
SCIP_Real | scale, | ||
SCIP_Real * | mircoef, | ||
SCIP_Real * | mirrhs, | ||
SCIP_Real * | cutactivity, | ||
SCIP_Bool * | success, | ||
SCIP_Bool * | cutislocal, | ||
int * | cutrank | ||
) |
calculates a strong CG cut out of the weighted sum of LP rows; The weights of modifiable rows are set to 0.0, because these rows cannot participate in a MIR cut.
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
boundswitch | fraction of domain up to which lower bound is used in transformation |
usevbds | should variable bounds be used in bound transformation? |
allowlocal | should local information allowed to be used, resulting in a local cut? |
maxmksetcoefs | maximal number of nonzeros allowed in aggregated base inequality |
maxweightrange | maximal valid range max(|weights|)/min(|weights|) of row weights |
minfrac | minimal fractionality of rhs to produce strong CG cut for |
maxfrac | maximal fractionality of rhs to produce strong CG cut for |
weights | row weights in row summation; some weights might be set to zero |
inds | indices of non-zero entries in weights array, or NULL |
ninds | number of indices of non-zero entries in weights array, -1 if inds is NULL |
scale | additional scaling factor multiplied to all rows |
mircoef | array to store strong CG coefficients: must be of size SCIPgetNVars() |
mirrhs | pointer to store the right hand side of the strong CG row |
cutactivity | pointer to store the activity of the resulting cut |
success | pointer to store whether the returned coefficients are a valid strong CG cut |
cutislocal | pointer to store whether the returned cut is only valid locally |
cutrank | pointer to store the rank of the returned cut; or NULL |
Definition at line 29659 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPcutsCalcStrongCG(), and TRUE.
Referenced by createCGCutStrongCG(), and SCIP_DECL_SEPAEXECLP().
SCIP_RETCODE SCIPwriteLP | ( | SCIP * | scip, |
const char * | filename | ||
) |
writes current LP to a file
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
filename | file name |
Definition at line 29699 of file scip.c.
References Scip::branchcand, checkStage(), Scip::cliquetable, Scip::cutpool, Scip::eventfilter, Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::origprob, Scip::pricestore, SCIP_Mem::probmem, Scip::reopt, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconstructCurrentLP(), SCIPlpFlush(), SCIPlpWrite(), SCIPtreeIsFocusNodeLPConstructed(), Scip::sepastore, Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIP_DECL_HEUREXEC().
SCIP_RETCODE SCIPwriteMIP | ( | SCIP * | scip, |
const char * | filename, | ||
SCIP_Bool | genericnames, | ||
SCIP_Bool | origobj, | ||
SCIP_Bool | lazyconss | ||
) |
writes MIP relaxation of the current branch-and-bound node to a file
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
filename | file name |
genericnames | should generic names like x_i and row_j be used in order to avoid troubles with reserved symbols? |
origobj | should the original objective function be used? |
lazyconss | output removable rows as lazy constraints? |
Definition at line 29733 of file scip.c.
References checkStage(), Scip::eventqueue, FALSE, Scip::lp, Scip::mem, Scip::messagehdlr, SCIP_Prob::objoffset, SCIP_Prob::objscale, SCIP_Prob::objsense, Scip::origprob, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPlpFlush(), SCIPlpWriteMip(), Scip::set, Scip::transprob, and TRUE.
Referenced by SCIP_DECL_DIALOGEXEC().
SCIP_RETCODE SCIPgetLPI | ( | SCIP * | scip, |
SCIP_LPI ** | lpi | ||
) |
gets the LP interface of SCIP; with the LPI you can use all of the methods defined in lpi/lpi.h;
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
lpi | pointer to store the LP interface |
Definition at line 29783 of file scip.c.
References checkStage(), FALSE, Scip::lp, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpGetLPI(), and TRUE.
Referenced by performStrongbranchWithPropagation(), and SCIP_DECL_DISPOUTPUT().
SCIP_RETCODE SCIPprintLPSolutionQuality | ( | SCIP * | scip, |
FILE * | file | ||
) |
Displays quality information about the current LP solution. An LP solution need to be available. Information printed is subject to what the LP solver supports
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
displays quality information about the current LP solution. An LP solution need to be available; information printed is subject to what the LP solver supports
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
file | output file (or NULL for standard output) |
Definition at line 29819 of file scip.c.
References checkStage(), FALSE, Scip::lp, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALID, SCIP_INVALIDCALL, SCIP_LPSOLQUALITY_ESTIMCONDITION, SCIP_LPSOLQUALITY_EXACTCONDITION, SCIP_OKAY, SCIP_Real, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_INIT, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIPerrorMessage, SCIPlpGetLPI(), SCIPlpiGetRealSolQuality(), SCIPmessageFPrintInfo(), Scip::set, SCIP_Set::stage, and TRUE.
Referenced by SCIP_DECL_DIALOGEXEC().
SCIP_RETCODE SCIPcomputeLPRelIntPoint | ( | SCIP * | scip, |
SCIP_Bool | relaxrows, | ||
SCIP_Bool | inclobjcutoff, | ||
SCIP_Real | timelimit, | ||
int | iterlimit, | ||
SCIP_SOL ** | point | ||
) |
compute relative interior point to current LP
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
scip | SCIP data structure |
relaxrows | should the rows be relaxed |
inclobjcutoff | should a row for the objective cutoff be included |
timelimit | time limit for LP solver |
iterlimit | iteration limit for LP solver |
point | relative interior point on exit |
Definition at line 29892 of file scip.c.
References checkStage(), FALSE, Scip::lp, Scip::messagehdlr, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPcolGetVar(), SCIPcreateSol(), SCIPfreeBufferArray, SCIPlpComputeRelIntPoint(), SCIPlpGetCols(), SCIPlpGetNCols(), SCIPsetSolVal(), Scip::set, Scip::transprob, and TRUE.
Referenced by SCIP_DECL_SEPAEXECLP().