methods to initiate and control the probing mode of SCIP
SCIP_Bool SCIPinProbing (SCIP *scip) SCIP_RETCODE SCIPstartProbing (SCIP *scip) SCIP_RETCODE SCIPnewProbingNode (SCIP *scip) int SCIPgetProbingDepth (SCIP *scip) SCIP_RETCODE SCIPbacktrackProbing (SCIP *scip, int probingdepth) SCIP_RETCODE SCIPendProbing (SCIP *scip) SCIP_RETCODE SCIPchgVarLbProbing (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound) SCIP_RETCODE SCIPchgVarUbProbing (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound) SCIP_Real SCIPgetVarObjProbing (SCIP *scip, SCIP_VAR *var) SCIP_RETCODE SCIPfixVarProbing (SCIP *scip, SCIP_VAR *var, SCIP_Real fixedval) SCIP_RETCODE SCIPchgVarObjProbing (SCIP *scip, SCIP_VAR *var, SCIP_Real newobj) SCIP_Bool SCIPisObjChangedProbing (SCIP *scip) SCIP_RETCODE SCIPpropagateProbing (SCIP *scip, int maxproprounds, SCIP_Bool *cutoff, SCIP_Longint *ndomredsfound) SCIP_RETCODE SCIPpropagateProbingImplications (SCIP *scip, SCIP_Bool *cutoff) SCIP_RETCODE SCIPsolveProbingLP (SCIP *scip, int itlim, SCIP_Bool *lperror, SCIP_Bool *cutoff) SCIP_RETCODE SCIPsolveProbingLPWithPricing (SCIP *scip, SCIP_Bool pretendroot, SCIP_Bool displayinfo, int maxpricerounds, SCIP_Bool *lperror, SCIP_Bool *cutoff) SCIP_RETCODE SCIPsetProbingLPState (SCIP *scip, SCIP_LPISTATE **lpistate, SCIP_LPINORMS **lpinorms, SCIP_Bool primalfeas, SCIP_Bool dualfeas) SCIP_RETCODE SCIPaddRowProbing (SCIP *scip, SCIP_ROW *row) SCIP_RETCODE SCIPapplyCutsProbing (SCIP *scip, SCIP_Bool *cutoff) SCIP_RETCODE SCIPsolveProbingRelax (SCIP *scip, SCIP_Bool *cutoff) char * SCIPsnprintfProbingStats (SCIP *scip, char *strbuf, int len) SCIP_RETCODE SCIPgetDivesetScore (SCIP *scip, SCIP_DIVESET *diveset, SCIP_DIVETYPE divetype, SCIP_VAR *divecand, SCIP_Real divecandsol, SCIP_Real divecandfrac, SCIP_Real *candscore, SCIP_Bool *roundup) void SCIPupdateDivesetLPStats (SCIP *scip, SCIP_DIVESET *diveset, SCIP_Longint niterstoadd, SCIP_DIVECONTEXT divecontext) void SCIPupdateDivesetStats (SCIP *scip, SCIP_DIVESET *diveset, int nprobingnodes, int nbacktracks, SCIP_Longint nsolsfound, SCIP_Longint nbestsolsfound, SCIP_Longint nconflictsfound, SCIP_Bool leavewassol, SCIP_DIVECONTEXT divecontext) SCIP_RETCODE SCIPgetDiveBoundChanges (SCIP *scip, SCIP_DIVESET *diveset, SCIP_SOL *sol, SCIP_Bool *success, SCIP_Bool *infeasible) SCIP_RETCODE SCIPaddDiveBoundChange (SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir, SCIP_Real value, SCIP_Bool preferred) void SCIPgetDiveBoundChangeData (SCIP *scip, SCIP_VAR ***variables, SCIP_BRANCHDIR **directions, SCIP_Real **values, int *ndivebdchgs, SCIP_Bool preferred) void SCIPclearDiveBoundChanges (SCIP *scip) ◆ SCIPinProbing()returns whether we are in probing mode; probing mode is activated via SCIPstartProbing() and stopped via SCIPendProbing()
scip
is in one of the following stages:
Definition at line 97 of file scip_probing.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeProbing(), and TRUE.
Referenced by addObjCutoff(), analyzeConflict(), analyzeConflictOne(), analyzeConflictRangedRow(), analyzeConflictZero(), applyBoundChgs(), applyGenVBounds(), applyProbingVar(), applySeparation(), applyVbounds(), checkRedundancy(), consdataDeletePos(), createGenVBound(), execGenVBounds(), filterBounds(), filterCandidates(), filterExistingLP(), filterRound(), findNewBounds(), fixIntegerVariable(), fixIntegerVariableLb(), fixIntegerVariableUb(), fullDualPresolve(), getFSBResult(), performRandRounding(), polishSolution(), processBinvarFixings(), propagateAllConss(), propagateCons(), propagateFullOrbitopeCons(), propagatePackingPartitioningCons(), propIndicator(), rangedRowPropagation(), removeFixedBinvars(), resolveNLPWithTighterFeastol(), resolvePropagationCoretimes(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPROP(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPPRESOL(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPaddDiveBoundChange(), SCIPapplyLockFixings(), SCIPbendersExec(), SCIPbendersFreeSubproblem(), SCIPbendersSetMastervarsCont(), SCIPbendersSetupSubproblem(), SCIPbendersSolveSubproblem(), SCIPbendersSolveSubproblemCIP(), SCIPbendersSolveSubproblemLP(), SCIPchgVarLb(), SCIPchgVarLbGlobal(), SCIPchgVarUb(), SCIPchgVarUbGlobal(), SCIPgetDiveBoundChangeData(), SCIPgetDiveBoundChanges(), SCIPgetVarStrongbranchFrac(), SCIPgetVarStrongbranchWithPropagation(), SCIPinferVarLbCons(), SCIPinferVarLbProp(), SCIPinferVarUbCons(), SCIPinferVarUbProp(), SCIPisObjChangedProbing(), SCIPorbitalReductionPropagate(), SCIPorbitopalReductionPropagate(), SCIPrelaxExec(), SCIPsnprintfProbingStats(), SCIPstartStrongbranch(), SCIPtightenVarLb(), SCIPtightenVarLbGlobal(), SCIPtightenVarUb(), SCIPtightenVarUbGlobal(), SCIPupdateDivesetStats(), selectVarStart(), solveBilinearLP(), solveIndependentCons(), solveSubproblem(), tightenBoundProbing(), tightenedLinkvar(), updateSubproblemLowerbound(), and varProcessBoundChanges().
◆ SCIPstartProbing()initiates probing, making methods SCIPnewProbingNode(), SCIPbacktrackProbing(), SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), SCIPfixVarProbing(), SCIPpropagateProbing(), and SCIPsolveProbingLP() available
scip
is in one of the following stages:
Definition at line 119 of file scip_probing.c.
References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPlpDiving(), SCIPstatDisableVarHistory(), SCIPswapPointers(), SCIPtreeProbing(), SCIPtreeStartProbing(), and TRUE.
Referenced by applyBoundHeur(), applyCompletesol(), applyObbt(), applyObbtBilinear(), applyOptcumulative(), applyVbounds(), executeStrongBranching(), fixAndPropagate(), performRandRounding(), performStrongbranchSOS1(), propagateCons(), SCIP_DECL_HEUREXEC(), SCIPapplyProbingVar(), SCIPbendersComputeSubproblemLowerbound(), SCIPbendersSetupSubproblem(), SCIPbendersSolveSubproblem(), SCIPperformGenericDivingAlgorithm(), selectVarMultAggrBranching(), startProbing(), tryOneOpt(), trySolCandidate(), and updateSubproblemLowerbound().
◆ SCIPnewProbingNode()creates a new probing sub node, whose changes can be undone by backtracking to a higher node in the probing path with a call to SCIPbacktrackProbing(); using a sub node for each set of probing bound changes can improve conflict analysis
scip
is in one of the following stages:
Definition at line 165 of file scip_probing.c.
References FALSE, SCIP_CALL, SCIP_INVALIDCALL, SCIP_MAXDEPTHLEVEL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPtreeCreateProbingNode(), SCIPtreeProbing(), SCIPwarningMessage(), and TRUE.
Referenced by applyCliqueFixings(), applyOptcumulativeFixings(), applyVboundsFixings(), executeBranching(), executeStrongBranching(), performFixing(), performRandRounding(), performStrongbranchWithPropagation(), propagateCons(), SCIP_DECL_HEUREXEC(), SCIPapplyLockFixings(), SCIPperformGenericDivingAlgorithm(), selectVarMultAggrBranching(), solveBilinearLP(), startProbing(), tightenVariables(), tryOneOpt(), and trySolCandidate().
◆ SCIPgetProbingDepth() int SCIPgetProbingDepth ( SCIP * scip )returns the current probing depth
scip
is in one of the following stages:
Definition at line 198 of file scip_probing.c.
References FALSE, SCIP_CALL_ABORT, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPtreeGetProbingDepth(), SCIPtreeProbing(), and TRUE.
Referenced by applyCliqueFixings(), applyOptcumulativeFixings(), applyVboundsFixings(), calculateScore(), ensureScoresPresent(), executeBranchingRecursive(), filterCandidates(), fixAndPropagate(), getFSBResult(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_HEUREXEC(), SCIPapplyLockFixings(), SCIPendStrongbranch(), SCIPperformGenericDivingAlgorithm(), SCIPsnprintfProbingStats(), selectVarRecursive(), selectVarStart(), and tightenVariables().
◆ SCIPbacktrackProbing()undoes all changes to the problem applied in probing up to the given probing depth; the changes of the probing node of the given probing depth are the last ones that remain active; changes that were applied before calling SCIPnewProbingNode() cannot be undone
scip
is in one of the following stages:
Definition at line 225 of file scip_probing.c.
References FALSE, SCIP_CALL, SCIP_INVALIDCALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPtreeBacktrackProbing(), SCIPtreeGetProbingDepth(), SCIPtreeProbing(), and TRUE.
Referenced by applyCliqueFixings(), applyOptcumulativeFixings(), applyVboundsFixings(), executeBranchingRecursive(), fixAndPropagate(), performStrongbranchWithPropagation(), SCIP_DECL_HEUREXEC(), SCIPapplyLockFixings(), SCIPperformGenericDivingAlgorithm(), selectVarMultAggrBranching(), solveBilinearLP(), tightenVariables(), and tryOneOpt().
◆ SCIPendProbing()quits probing and resets bounds and constraints to the focus node's environment
scip
is in one of the following stages:
Definition at line 260 of file scip_probing.c.
References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPsepastoreGetNCuts(), SCIPstatEnableVarHistory(), SCIPswapPointers(), SCIPtreeEndProbing(), SCIPtreeProbing(), and TRUE.
Referenced by applyBoundHeur(), applyCompletesol(), applyObbt(), applyObbtBilinear(), applyOptcumulative(), applyVbounds(), executeStrongBranching(), fixAndPropagate(), performRandRounding(), performStrongbranchSOS1(), propagateCons(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NLHDLRENFO(), SCIPapplyProbingVar(), SCIPbendersFreeSubproblem(), SCIPbendersSetMastervarsCont(), SCIPbendersSolveSubproblemCIP(), SCIPperformGenericDivingAlgorithm(), selectVarMultAggrBranching(), tryOneOpt(), trySolCandidate(), and updateSubproblemLowerbound().
◆ SCIPchgVarLbProbing()injects a change of variable's lower bound into current probing node; the same can also be achieved with a call to SCIPchgVarLb(), but in this case, the bound change would be treated like a deduction instead of a branching decision
scip
is in one of the following stages:
Definition at line 301 of file scip_probing.c.
References FALSE, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPcheckStage(), SCIPerrorMessage, SCIPgetStage(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPnodeGetType(), SCIPtreeGetCurrentNode(), SCIPtreeProbing(), SCIPvarAdjustLb(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPwarningMessage(), and TRUE.
Referenced by applyVboundsFixings(), chgProbingBound(), executeBranching(), performFixing(), performRandRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), SCIP_DECL_HEUREXEC(), SCIPapplyProbingVar(), SCIPperformGenericDivingAlgorithm(), startProbing(), tightenBoundProbing(), tryOneOpt(), and trySolCandidate().
◆ SCIPchgVarUbProbing()injects a change of variable's upper bound into current probing node; the same can also be achieved with a call to SCIPchgVarUb(), but in this case, the bound change would be treated like a deduction instead of a branching decision
scip
is in one of the following stages:
Definition at line 345 of file scip_probing.c.
References FALSE, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPcheckStage(), SCIPerrorMessage, SCIPgetStage(), SCIPisInfinity(), SCIPnodeAddBoundchg(), SCIPnodeGetType(), SCIPtreeGetCurrentNode(), SCIPtreeProbing(), SCIPvarAdjustUb(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIPwarningMessage(), and TRUE.
Referenced by applyVboundsFixings(), chgProbingBound(), executeBranching(), performFixing(), performRandRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), SCIP_DECL_HEUREXEC(), SCIPapplyProbingVar(), SCIPbendersSetupSubproblem(), SCIPperformGenericDivingAlgorithm(), startProbing(), tightenBoundProbing(), tryOneOpt(), and trySolCandidate().
◆ SCIPgetVarObjProbing()gets variable's objective value in current probing
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 388 of file scip_probing.c.
References FALSE, NULL, SCIP_CALL_ABORT, SCIP_INVALID, SCIPcheckStage(), SCIPerrorMessage, SCIPtreeProbing(), SCIPvarGetObjLP(), and TRUE.
Referenced by filterBounds(), filterExistingLP(), filterRound(), SCIPpropagateProbing(), and setObjProbing().
◆ SCIPfixVarProbing()injects a change of variable's bounds into current probing node to fix the variable to the specified value; the same can also be achieved with a call to SCIPfixVar(), but in this case, the bound changes would be treated like deductions instead of branching decisions
scip
is in one of the following stages:
Definition at line 418 of file scip_probing.c.
References FALSE, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_INVALIDCALL, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIP_Real, SCIPcheckStage(), SCIPerrorMessage, SCIPnodeAddBoundchg(), SCIPnodeGetType(), SCIPsetIsEQ(), SCIPsetIsGT(), SCIPsetIsLT(), SCIPtreeGetCurrentNode(), SCIPtreeProbing(), SCIPvarAdjustLb(), SCIPvarAdjustUb(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE.
Referenced by applyBoundHeur(), applyCliqueFixings(), applyOptcumulativeFixings(), applyVboundsFixings(), chgProbingBound(), fixVariable(), performStrongbranchSOS1(), propagateCons(), SCIP_DECL_HEUREXEC(), and SCIPapplyLockFixings().
◆ SCIPchgVarObjProbing()changes (column) variable's objective value during probing mode
scip
is in one of the following stages:
Definition at line 474 of file scip_probing.c.
References SCIP_Node::data, FALSE, SCIP_Probingnode::nchgdobjs, SCIP_Probingnode::origobjvals, SCIP_Probingnode::origobjvars, SCIP_Node::probingnode, SCIP_CALL, SCIP_INVALIDCALL, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIP_Real, SCIPallocMemoryArray, SCIPcheckStage(), SCIPerrorMessage, SCIPisEQ(), SCIPisInfinity(), SCIPlpDivingObjChanged(), SCIPlpMarkDivingObjChanged(), SCIPlpSetCutoffbound(), SCIPnodeGetType(), SCIPreallocMemoryArray, SCIPsetInfinity(), SCIPtreeGetCurrentNode(), SCIPtreeMarkProbingObjChanged(), SCIPtreeProbing(), SCIPtreeProbingObjChanged(), SCIPvarChgObj(), SCIPvarGetObj(), and TRUE.
Referenced by applyObbt(), applyObbtBilinear(), filterBounds(), filterExistingLP(), filterRound(), findNewBounds(), SCIPbendersSetupSubproblem(), setObjProbing(), solveBilinearLP(), and updateSubproblemLowerbound().
◆ SCIPisObjChangedProbing() ◆ SCIPpropagateProbing()applies domain propagation on the probing sub problem, that was changed after SCIPstartProbing() was called; the propagated domains of the variables can be accessed with the usual bound accessing calls SCIPvarGetLbLocal() and SCIPvarGetUbLocal(); the propagation is only valid locally, i.e. the local bounds as well as the changed bounds due to SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), and SCIPfixVarProbing() are used for propagation
scip
is in one of the following stages:
applies domain propagation on the probing sub problem, that was changed after SCIPstartProbing() was called; the propagated domains of the variables can be accessed with the usual bound accessing calls SCIPvarGetLbLocal() and SCIPvarGetUbLocal(); the propagation is only valid locally, i.e. the local bounds as well as the changed bounds due to SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), and SCIPfixVarProbing() are used for propagation
scip
is in one of the following stages:
Definition at line 580 of file scip_probing.c.
References FALSE, MIN, NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_PROPTIMING_ALWAYS, SCIP_Real, SCIPallocBufferArray, SCIPcheckStage(), SCIPerrorMessage, SCIPfreeBufferArray, SCIPgetDepth(), SCIPgetNVars(), SCIPgetVarObjProbing(), SCIPgetVars(), SCIPisEQ(), SCIPlpMarkDivingObjChanged(), SCIPlpUnmarkDivingObjChanged(), SCIPpropagateDomains(), SCIPtreeProbing(), SCIPvarChgObj(), TRUE, and SCIP_Var::unchangedobj.
Referenced by applyBoundHeur(), applyCliqueFixings(), applyOptcumulativeFixings(), applyVboundsFixings(), executeBranching(), executeStrongBranching(), findNewBounds(), performFixing(), performRandRounding(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), propagateCons(), SCIP_DECL_HEUREXEC(), SCIPapplyLockFixings(), SCIPapplyProbingVar(), SCIPperformGenericDivingAlgorithm(), startProbing(), tightenVariables(), tryOneOpt(), and trySolCandidate().
◆ SCIPpropagateProbingImplications()applies domain propagation on the probing sub problem, that was changed after SCIPstartProbing() was called; only propagations of the binary variables fixed at the current probing node that are triggered by the implication graph and the clique table are applied; the propagated domains of the variables can be accessed with the usual bound accessing calls SCIPvarGetLbLocal() and SCIPvarGetUbLocal(); the propagation is only valid locally, i.e. the local bounds as well as the changed bounds due to SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), and SCIPfixVarProbing() are used for propagation
scip
is in one of the following stages:
Definition at line 686 of file scip_probing.c.
References FALSE, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnodePropagateImplics(), SCIPtreeGetCurrentNode(), SCIPtreeProbing(), and TRUE.
Referenced by SCIPapplyProbingVar().
◆ SCIPsolveProbingLP()solves the LP at the current probing node (cannot be applied at preprocessing stage); no separation or pricing is applied
The LP has to be constructed before (you can use SCIPisLPConstructed() or SCIPconstructLP()).
scip
is in one of the following stages:
solves the LP at the current probing node (cannot be applied at preprocessing stage); no separation or pricing is applied
The LP has to be constructed before (you can use SCIPisLPConstructed() or SCIPconstructLP()).
scip
is in one of the following stages:
Definition at line 820 of file scip_probing.c.
References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), solveProbingLP(), and TRUE.
Referenced by applyBoundHeur(), applyObbtBilinear(), applyVbounds(), executeBranching(), performStrongbranchSOS1(), performStrongbranchWithPropagation(), polishSolution(), SCIP_DECL_HEUREXEC(), SCIPbendersComputeSubproblemLowerbound(), SCIPbendersSolveSubproblemLP(), selectVarMultAggrBranching(), solveBilinearLP(), solveLP(), tryOneOpt(), trySolCandidate(), and updateSubproblemLowerbound().
◆ SCIPsolveProbingLPWithPricing()solves the LP at the current probing node (cannot be applied at preprocessing stage) and applies pricing until the LP is solved to optimality; no separation is applied
scip
is in one of the following stages:
solves the LP at the current probing node (cannot be applied at preprocessing stage) and applies pricing until the LP is solved to optimality; no separation is applied
scip
is in one of the following stages:
Definition at line 844 of file scip_probing.c.
References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), solveProbingLP(), and TRUE.
Referenced by executeStrongBranching().
◆ SCIPsetProbingLPState()sets the LP state for the current probing node
scip
is in one of the following stages:
Definition at line 877 of file scip_probing.c.
References FALSE, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPtreeProbing(), SCIPtreeSetProbingLPState(), and TRUE.
Referenced by candidateLoadWarmStartInfo().
◆ SCIPaddRowProbing()adds a row to the LP in the current probing node
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 908 of file scip_probing.c.
References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPlpAddRow(), SCIPnodeGetDepth(), SCIPtreeGetCurrentNode(), SCIPtreeProbing(), and TRUE.
Referenced by addObjCutoff(), and solveBilinearLP().
◆ SCIPapplyCutsProbing() ◆ SCIPsolveProbingRelax()solves relaxation(s) at the current probing node (cannot be applied at preprocessing stage); no separation or pricing is applied
scip
is in one of the following stages:
Definition at line 977 of file scip_probing.c.
References FALSE, NULL, r, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DIDNOTRUN, SCIP_INVALIDCALL, SCIP_INVALIDRESULT, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_SEPARATED, SCIP_SUCCESS, SCIP_SUSPENDED, SCIPcheckStage(), SCIPdebugMsg, SCIPerrorMessage, SCIPinfinity(), SCIPrelaxExec(), SCIPrelaxGetName(), SCIPsetSortRelaxs(), SCIPtreeGetCurrentDepth(), SCIPtreeProbing(), and TRUE.
◆ SCIPsnprintfProbingStats() char * SCIPsnprintfProbingStats ( SCIP * scip, char * strbuf, int len )print statistics of probing
Definition at line 1045 of file scip_probing.c.
References BMSclearMemoryArray, NULL, SCIPgetDepth(), SCIPgetNBinVars(), SCIPgetNImplVars(), SCIPgetNIntVars(), SCIPgetNVars(), SCIPgetProbingDepth(), SCIPgetVars(), SCIPinProbing(), SCIPisEQ(), SCIPsnprintf(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal().
Referenced by applyBoundHeur(), applyVbounds(), and SCIP_DECL_HEUREXEC().
◆ SCIPgetDivesetScore() ◆ SCIPupdateDivesetLPStats()update diveset LP statistics, should be called after every LP solved by this diving heuristic
Definition at line 1145 of file scip_probing.c.
References NULL, and SCIPdivesetUpdateLPStats().
Referenced by solveLP().
◆ SCIPupdateDivesetStats()update diveset statistics and global diveset statistics
Definition at line 1159 of file scip_probing.c.
References NULL, SCIPdivesetUpdateStats(), SCIPgetDepth(), and SCIPinProbing().
Referenced by SCIPperformGenericDivingAlgorithm().
◆ SCIPgetDiveBoundChanges()enforces a probing/diving solution by suggesting bound changes that maximize the score w.r.t. the current diving settings
the process is guided by the enforcement priorities of the constraint handlers and the scoring mechanism provided by the dive set. Constraint handlers may suggest diving bound changes in decreasing order of their enforcement priority, based on the solution values in the solution sol
and the current local bounds of the variables. A diving bound change is a triple (variable,branching direction,value) and is used inside SCIPperformGenericDivingAlgorithm().
After a successful call, SCIP holds two arrays of suggested dive bound changes, one for the preferred child and one for the alternative.
The method stops after the first constraint handler was successful
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 1202 of file scip_probing.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcheckStage(), SCIPclearDiveBoundChanges(), SCIPconshdlrGetDiveBoundChanges(), SCIPinProbing(), SCIPtreeGetDiveBoundChangeData(), and TRUE.
Referenced by selectNextDiving().
◆ SCIPaddDiveBoundChange()adds a diving bound change to the diving bound change storage of SCIP together with the information if this is a bound change for the preferred direction or not
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 1264 of file scip_probing.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPinProbing(), SCIPtreeAddDiveBoundChange(), and TRUE.
Referenced by getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), SCIP_DECL_CONSGETDIVEBDCHGS(), and selectNextDiving().
◆ SCIPgetDiveBoundChangeData() ◆ SCIPclearDiveBoundChanges() void SCIPclearDiveBoundChanges ( SCIP * scip )RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4