Scippy

SCIP

Solving Constraint Integer Programs

benderscut_feas.c File Reference

Detailed Description

Standard feasibility cuts for Benders' decomposition.

Author
Stephen J. Maher

Definition in file benderscut_feas.c.

Go to the source code of this file.

Macros

#define BENDERSCUT_NAME   "feas"
 
#define BENDERSCUT_DESC   "Standard feasibility cuts for Benders' decomposition"
 
#define BENDERSCUT_PRIORITY   10000
 
#define BENDERSCUT_LPCUT   TRUE
 

Functions

static SCIP_RETCODE computeStandardFeasibilityCut (SCIP *masterprob, SCIP *subproblem, SCIP_BENDERS *benders, SCIP_SOL *sol, SCIP_CONS *cut, SCIP_Bool *success)
 
static SCIP_RETCODE generateAndApplyBendersCuts (SCIP *masterprob, SCIP *subproblem, SCIP_BENDERS *benders, SCIP_BENDERSCUT *benderscut, SCIP_SOL *sol, int probnumber, SCIP_RESULT *result)
 
static SCIP_DECL_BENDERSCUTEXEC (benderscutExecFeas)
 
SCIP_RETCODE SCIPincludeBenderscutFeas (SCIP *scip, SCIP_BENDERS *benders)
 

Macro Definition Documentation

◆ BENDERSCUT_NAME

#define BENDERSCUT_NAME   "feas"

Definition at line 41 of file benderscut_feas.c.

Referenced by SCIPincludeBenderscutFeas().

◆ BENDERSCUT_DESC

#define BENDERSCUT_DESC   "Standard feasibility cuts for Benders' decomposition"

Definition at line 42 of file benderscut_feas.c.

Referenced by SCIPincludeBenderscutFeas().

◆ BENDERSCUT_PRIORITY

#define BENDERSCUT_PRIORITY   10000

Definition at line 43 of file benderscut_feas.c.

Referenced by SCIPincludeBenderscutFeas().

◆ BENDERSCUT_LPCUT

#define BENDERSCUT_LPCUT   TRUE

Definition at line 44 of file benderscut_feas.c.

Referenced by SCIPincludeBenderscutFeas().

Function Documentation

◆ computeStandardFeasibilityCut()

static SCIP_RETCODE computeStandardFeasibilityCut ( SCIP masterprob,
SCIP subproblem,
SCIP_BENDERS benders,
SCIP_SOL sol,
SCIP_CONS cut,
SCIP_Bool success 
)
static

computing as standard Benders' feasibility cut from the dual solutions of the LP

NOTE: The cut must be created before being passed to this function

Parameters
masterprobthe SCIP instance of the master problem
subproblemthe SCIP instance of the pricing problem
bendersthe benders' decomposition structure
solprimal CIP solution
cutthe cut that is generated from the pricing problem
successwas the cut generation successful?

Definition at line 55 of file benderscut_feas.c.

References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddCoefLinear(), SCIPchgLhsLinear(), SCIPconsGetDualfarkas(), SCIPconsGetLhs(), SCIPconsGetRhs(), SCIPdebugMsg, SCIPdebugPrintCons, SCIPgetActivityLinear(), SCIPgetBendersMasterVar(), SCIPgetConss(), SCIPgetFixedVars(), SCIPgetLhsLinear(), SCIPgetNConss(), SCIPgetNFixedVars(), SCIPgetNVars(), SCIPgetRhsLinear(), SCIPgetVarFarkasCoef(), SCIPgetVars(), SCIPisDualfeasZero(), SCIPisGE(), SCIPisInfinity(), SCIPisNegative(), SCIPisPositive(), SCIPisZero(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), and TRUE.

Referenced by generateAndApplyBendersCuts().

◆ generateAndApplyBendersCuts()

static SCIP_RETCODE generateAndApplyBendersCuts ( SCIP masterprob,
SCIP subproblem,
SCIP_BENDERS benders,
SCIP_BENDERSCUT benderscut,
SCIP_SOL sol,
int  probnumber,
SCIP_RESULT result 
)
static

generates and applies Benders' cuts

Parameters
masterprobthe SCIP instance of the master problem
subproblemthe SCIP instance of the pricing problem
bendersthe benders' decomposition
benderscutthe benders' decomposition cut method
solprimal CIP solution
probnumberthe number of the pricing problem
resultthe result from solving the subproblems

Definition at line 221 of file benderscut_feas.c.

References computeStandardFeasibilityCut(), NULL, SCIP_Bool, SCIP_CALL, SCIP_CONSADDED, SCIP_DIDNOTFIND, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_STATUS_INFEASIBLE, SCIP_VERBLEVEL_FULL, SCIPaddCons(), SCIPbenderscutGetNFound(), SCIPcreateConsBasicLinear(), SCIPdebugMsg, SCIPgetLPSolstat(), SCIPgetNLPIterations(), SCIPgetStatus(), SCIPinfinity(), SCIPreleaseCons(), SCIPsnprintf(), and SCIPverbMessage().

Referenced by SCIP_DECL_BENDERSCUTEXEC().

◆ SCIP_DECL_BENDERSCUTEXEC()

static SCIP_DECL_BENDERSCUTEXEC ( benderscutExecFeas  )
static