methods to initiate and conduct LP diving
SCIP_RETCODE SCIPstartDive (SCIP *scip) SCIP_RETCODE SCIPendDive (SCIP *scip) SCIP_RETCODE SCIPchgCutoffboundDive (SCIP *scip, SCIP_Real newcutoffbound) SCIP_RETCODE SCIPchgVarObjDive (SCIP *scip, SCIP_VAR *var, SCIP_Real newobj) SCIP_RETCODE SCIPchgVarLbDive (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound) SCIP_RETCODE SCIPchgVarUbDive (SCIP *scip, SCIP_VAR *var, SCIP_Real newbound) SCIP_RETCODE SCIPaddRowDive (SCIP *scip, SCIP_ROW *row) SCIP_RETCODE SCIPchgRowLhsDive (SCIP *scip, SCIP_ROW *row, SCIP_Real newlhs) SCIP_RETCODE SCIPchgRowRhsDive (SCIP *scip, SCIP_ROW *row, SCIP_Real newrhs) SCIP_Real SCIPgetVarObjDive (SCIP *scip, SCIP_VAR *var) SCIP_Real SCIPgetVarLbDive (SCIP *scip, SCIP_VAR *var) SCIP_Real SCIPgetVarUbDive (SCIP *scip, SCIP_VAR *var) SCIP_RETCODE SCIPsolveDiveLP (SCIP *scip, int itlim, SCIP_Bool *lperror, SCIP_Bool *cutoff) SCIP_Longint SCIPgetLastDivenode (SCIP *scip) SCIP_Bool SCIPinDive (SCIP *scip) SCIP_RETCODE SCIPgetLPDualDegeneracy (SCIP *scip, SCIP_Real *degeneracy, SCIP_Real *varconsratio) ◆ SCIPstartDive()initiates LP diving, making methods SCIPchgVarObjDive(), SCIPchgVarLbDive(), and SCIPchgVarUbDive() available
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 2242 of file scip_lp.c.
References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_NODETYPE_FOCUSNODE, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPgetCurrentNode(), SCIPisRelaxSolValid(), SCIPlpDiving(), SCIPlpStartDive(), SCIPnodeGetType(), SCIPtreeHasCurrentNodeLP(), SCIPtreeIsFocusNodeLPConstructed(), SCIPtreeProbing(), SCIPtreeStoreRelaxSol(), and TRUE.
Referenced by createLPWithSoftCuts(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), and solveLp().
◆ SCIPendDive()quits LP diving and resets bounds and objective values of columns to the current node's values
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 2291 of file scip_lp.c.
References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPlpDiving(), SCIPlpEndDive(), SCIPlpIsRelax(), SCIPlpIsSolved(), SCIPlpSetCutoffbound(), SCIPnodeUpdateLowerboundLP(), SCIPtreeCutoff(), SCIPtreeIsFocusNodeLPConstructed(), SCIPtreeRestoreRelaxSol(), and TRUE.
Referenced by deleteLPWithSoftCuts(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), and solveLp().
◆ SCIPchgCutoffboundDive() ◆ SCIPchgVarObjDive()changes variable's objective value in current dive
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 2378 of file scip_lp.c.
References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPlpDiving(), SCIPlpMarkDivingObjChanged(), SCIPlpSetCutoffbound(), SCIPsetInfinity(), SCIPvarChgObjDive(), and TRUE.
Referenced by SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), updateObjectiveVector(), and updateVariableRounding().
◆ SCIPchgVarLbDive()changes variable's lower bound in current dive
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 2419 of file scip_lp.c.
References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPlpDiving(), SCIPvarChgLbDive(), and TRUE.
Referenced by SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), and solveLp().
◆ SCIPchgVarUbDive()changes variable's upper bound in current dive
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 2451 of file scip_lp.c.
References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPlpDiving(), SCIPvarChgUbDive(), and TRUE.
Referenced by SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), and solveLp().
◆ SCIPaddRowDive()adds a row to the LP in current dive
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 2483 of file scip_lp.c.
References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPlpAddRow(), SCIPlpDiving(), SCIPnodeGetDepth(), SCIPtreeGetCurrentNode(), and TRUE.
◆ SCIPchgRowLhsDive()changes row lhs in current dive, change will be undone after diving ends, for permanent changes use SCIPchgRowLhs()
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 2522 of file scip_lp.c.
References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_SIDETYPE_LEFT, SCIPcheckStage(), SCIPerrorMessage, SCIPlpDiving(), SCIPlpRecordOldRowSideDive(), SCIProwChgLhs(), and TRUE.
Referenced by SCIP_DECL_BRANCHEXECLP().
◆ SCIPchgRowRhsDive()changes row rhs in current dive, change will be undone after diving ends, for permanent changes use SCIPchgRowRhs()
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 2555 of file scip_lp.c.
References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_SIDETYPE_RIGHT, SCIPcheckStage(), SCIPerrorMessage, SCIPlpDiving(), SCIPlpRecordOldRowSideDive(), SCIProwChgRhs(), and TRUE.
Referenced by SCIP_DECL_BRANCHEXECLP().
◆ SCIPgetVarObjDive()gets variable's objective value in current dive
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 2587 of file scip_lp.c.
References FALSE, NULL, SCIP_CALL_ABORT, SCIP_INVALID, SCIPABORT, SCIPcheckStage(), SCIPerrorMessage, SCIPlpDiving(), SCIPvarGetObjLP(), and TRUE.
Referenced by SCIP_DECL_HEUREXEC(), and updateObjectiveVector().
◆ SCIPgetVarLbDive() ◆ SCIPgetVarUbDive() ◆ SCIPsolveDiveLP()solves the LP of the current dive; no separation or pricing is applied
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 2678 of file scip_lp.c.
References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_Longint, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPcheckStage(), SCIPconflictAnalyzeLP(), SCIPerrorMessage, SCIPgetCutoffbound(), SCIPgetLPObjval(), SCIPisGE(), SCIPlpDiving(), SCIPlpDivingObjChanged(), SCIPlpDivingRowsChanged(), SCIPlpGetSolstat(), SCIPlpSolveAndEval(), SCIPprobAllColsInLP(), and TRUE.
Referenced by SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), solveLagromoryLP(), and solveLp().
◆ SCIPgetLastDivenode() ◆ SCIPinDive()returns whether we are in diving mode
scip
is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
Definition at line 2775 of file scip_lp.c.
References FALSE, NULL, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPlpDiving(), and TRUE.
Referenced by SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_PROPEXEC(), SCIP_DECL_RELAXEXEC(), SCIPtightenVarLb(), SCIPtightenVarUb(), and updateSubproblemLowerbound().
◆ SCIPgetLPDualDegeneracy()computes two measures for dual degeneracy (dual degeneracy rate and variable-constraint ratio) based on the changes applied when reducing the problem to the optimal face
returns the dual degeneracy rate, i.e., the share of nonbasic variables with reduced cost 0 and the variable-constraint ratio, i.e., the number of unfixed variables in relation to the basis size
Definition at line 2792 of file scip_lp.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPlpGetDualDegeneracy(), and TRUE.
Referenced by checkExec(), execRelpscost(), and SCIP_DECL_SEPAEXECLP().
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