A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://scip.zib.de/doc/html/group__PublicProbingMethods.php below:

SCIP Doxygen Documentation: Probing

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

Returns
TRUE, if SCIP is currently in probing mode, otherwise FALSE
Precondition
This method can be called if scip is in one of the following stages:
Parameters

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Note
The collection of variable statistics is turned off during probing. If these statistics should be collected during probing use the method SCIPenableVarHistory() to turn the collection explicitly on.
Parameters

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters

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

returns the current probing depth

Returns
the probing depth, i.e. the number of probing sub nodes existing in the probing path
Precondition
This method can be called if scip is in one of the following stages:
Parameters

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scip SCIP data structure probingdepth probing depth of the node in the probing path that should be reactivated

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scip SCIP data structure var variable to change the bound for newbound new value for bound

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scip SCIP data structure var variable to change the bound for newbound new value for bound

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

Returns
the variable's objective value in current probing.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scip SCIP data structure var variable to get the bound for

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scip SCIP data structure var variable to change the bound for fixedval value to fix variable to

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
The variable needs to be a column variable.
Parameters
scip SCIP data structure var variable to change the objective for newobj new objective function value

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if 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

Note
Conflict analysis can run if the propagation finds infeasibilities. SCIPpropagateProbing can even find globally valid bound changes. For this reason, the function restores the original objective (i.e. undoes the changes done by SCIPchgVarObjProbing before performing the propagation, as the propagators don't know that the objective might have changed. Thus, SCIPpropagateProbing can have an effect on the problem after probing ends.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scip SCIP data structure maxproprounds maximal number of propagation rounds (-1: no limit, 0: parameter settings) cutoff pointer to store whether the probing node can be cut off ndomredsfound pointer to store the number of domain reductions found, or NULL

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scip SCIP data structure cutoff pointer to store whether the probing node can be cut off

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if 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()).

Note
if the LP is infeasible or the objective limit is reached, and if all columns are in the LP and no external pricers exist then conflict analysis will be run. This can have an effect on the problem after probing ends.
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scip SCIP data structure itlim maximal number of LP iterations to perform, or -1 for no limit lperror pointer to store whether an unresolved LP error occurred cutoff pointer to store whether the probing LP was infeasible or the objective limit was reached (or NULL, if not needed)

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed . See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if 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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scip SCIP data structure pretendroot should the pricers be called as if we were at the root node? displayinfo should info lines be displayed after each pricing round? maxpricerounds maximal number of pricing rounds (-1: no limit); a finite limit means that the LP might not be solved to optimality! lperror pointer to store whether an unresolved LP error occurred cutoff pointer to store whether the probing LP was infeasible or the objective limit was reached (or NULL, if not needed)

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

Note
state and norms are stored at the node and later released by SCIP; therefore, the pointers are set to NULL by the method
the pointers to state and norms must not be NULL; however, they may point to a NULL pointer if the respective information should not be set
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scip SCIP data structure lpistate pointer to LP state information (like basis information) lpinorms pointer to LP pricing norms information primalfeas primal feasibility when LP state information was stored dualfeas dual feasibility when LP state information was stored

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scip SCIP data structure row row to be added

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scip SCIP data structure cutoff pointer to store whether a relaxation was infeasible or the objective limit was reached (or NULL, if not needed)

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 ( SCIPscip, char *  strbuf, int  len  )

print statistics of probing

Parameters
scip SCIP data structure strbuf string buffer len length of string buffer

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

Parameters
scip SCIP data structure diveset diving settings niterstoadd additional number of LP iterations to be added divecontext context for diving statistics

Definition at line 1145 of file scip_probing.c.

References NULL, and SCIPdivesetUpdateLPStats().

Referenced by solveLP().

◆ SCIPupdateDivesetStats()

update diveset statistics and global diveset statistics

Parameters
scip SCIP data structure diveset diveset to be reset nprobingnodes the number of probing nodes explored this time nbacktracks the number of backtracks during probing this time nsolsfound the number of solutions found nbestsolsfound the number of best solutions found nconflictsfound number of new conflicts found this time leavewassol was a solution found at the leaf? divecontext context for diving 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.

See also
SCIPgetDiveBoundChangeData() for retrieving the dive bound change suggestions.

The method stops after the first constraint handler was successful

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scip SCIP data structure diveset diving settings to control scoring sol current solution of diving mode success pointer to store whether constraint handler successfully found a variable infeasible pointer to store whether the current node was detected to be infeasible

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

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scip SCIP data structure var variable to apply the bound change to dir direction of the bound change value value to adjust this variable bound to preferred is this a bound change for the preferred child?

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

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