Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

methods to include specific constraint handlers into SCIP

This module contains methods to include specific constraint handlers into SCIP.

Note
All default plugins can be included at once (including all default constraint handlers) using SCIPincludeDefaultPlugins()

Functions

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrAbspower (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrAnd (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrBenders (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrBenderslp (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrBivariate (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrBounddisjunction (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrCardinality (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrComponents (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrConjunction (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrCountsols (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrCumulative (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrDisjunction (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrIndicator (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrIntegral (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrKnapsack (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrLinear (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrLinking (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrLogicor (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrNonlinear (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrOr (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrOrbisack (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrOrbitope (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrPseudoboolean (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrQuadratic (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrSetppc (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrSOC (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrSOS1 (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrSOS2 (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrSuperindicator (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrSymresack (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrVarbound (SCIP *scip)
 
SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrXor (SCIP *scip)
 
SCIP_RETCODE SCIPincludeConshdlrRpa (SCIP *scip)
 

Interface methods

SCIP_RETCODE SCIPcreateConsBounddisjunction (SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_BOUNDTYPE *boundtypes, SCIP_Real *bounds, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode)
 
SCIP_RETCODE SCIPcreateConsBasicBounddisjunction (SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_BOUNDTYPE *boundtypes, SCIP_Real *bounds)
 
int SCIPgetNVarsBounddisjunction (SCIP *scip, SCIP_CONS *cons)
 
SCIP_VAR ** SCIPgetVarsBounddisjunction (SCIP *scip, SCIP_CONS *cons)
 
SCIP_BOUNDTYPESCIPgetBoundtypesBounddisjunction (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RealSCIPgetBoundsBounddisjunction (SCIP *scip, SCIP_CONS *cons)
 

Interface methods

SCIP_RETCODE SCIPcreateConsCumulative (SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, int *durations, int *demands, int capacity, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode)
 
SCIP_RETCODE SCIPcreateConsBasicCumulative (SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, int *durations, int *demands, int capacity)
 
SCIP_RETCODE SCIPsetHminCumulative (SCIP *scip, SCIP_CONS *cons, int hmin)
 
int SCIPgetHminCumulative (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPsetHmaxCumulative (SCIP *scip, SCIP_CONS *cons, int hmax)
 
int SCIPgetHmaxCumulative (SCIP *scip, SCIP_CONS *cons)
 
SCIP_VAR ** SCIPgetVarsCumulative (SCIP *scip, SCIP_CONS *cons)
 
int SCIPgetNVarsCumulative (SCIP *scip, SCIP_CONS *cons)
 
int SCIPgetCapacityCumulative (SCIP *scip, SCIP_CONS *cons)
 
int * SCIPgetDurationsCumulative (SCIP *scip, SCIP_CONS *cons)
 
int * SCIPgetDemandsCumulative (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPcheckCumulativeCondition (SCIP *scip, SCIP_SOL *sol, int nvars, SCIP_VAR **vars, int *durations, int *demands, int capacity, int hmin, int hmax, SCIP_Bool *violated, SCIP_CONS *cons, SCIP_Bool printreason)
 
SCIP_RETCODE SCIPnormalizeCumulativeCondition (SCIP *scip, int nvars, SCIP_VAR **vars, int *durations, int *demands, int *capacity, int *nchgcoefs, int *nchgsides)
 
SCIP_RETCODE SCIPsplitCumulativeCondition (SCIP *scip, int nvars, SCIP_VAR **vars, int *durations, int *demands, int capacity, int *hmin, int *hmax, int *split)
 
SCIP_RETCODE SCIPpresolveCumulativeCondition (SCIP *scip, int nvars, SCIP_VAR **vars, int *durations, int hmin, int hmax, SCIP_Bool *downlocks, SCIP_Bool *uplocks, SCIP_CONS *cons, SCIP_Bool *irrelevants, int *nfixedvars, int *nchgsides, SCIP_Bool *cutoff)
 
SCIP_RETCODE SCIPpropCumulativeCondition (SCIP *scip, SCIP_PRESOLTIMING presoltiming, int nvars, SCIP_VAR **vars, int *durations, int *demands, int capacity, int hmin, int hmax, SCIP_CONS *cons, int *nchgbds, SCIP_Bool *initialized, SCIP_Bool *explanation, SCIP_Bool *cutoff)
 
SCIP_RETCODE SCIPrespropCumulativeCondition (SCIP *scip, int nvars, SCIP_VAR **vars, int *durations, int *demands, int capacity, int hmin, int hmax, SCIP_VAR *infervar, int inferinfo, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Real relaxedbd, SCIP_Bool *explanation, SCIP_RESULT *result)
 
SCIP_RETCODE SCIPvisualizeConsCumulative (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPsetSolveCumulative (SCIP *scip, SCIP_DECL_SOLVECUMULATIVE((*solveCumulative)))
 
SCIP_RETCODE SCIPsolveCumulative (SCIP *scip, int njobs, SCIP_Real *ests, SCIP_Real *lsts, SCIP_Real *objvals, int *durations, int *demands, int capacity, int hmin, int hmax, SCIP_Real timelimit, SCIP_Real memorylimit, SCIP_Longint maxnodes, SCIP_Bool *solved, SCIP_Bool *infeasible, SCIP_Bool *unbounded, SCIP_Bool *error)
 
SCIP_RETCODE SCIPcreateWorstCaseProfile (SCIP *scip, SCIP_PROFILE *profile, int nvars, SCIP_VAR **vars, int *durations, int *demands)
 
int SCIPcomputeHmin (SCIP *scip, SCIP_PROFILE *profile, int capacity)
 
int SCIPcomputeHmax (SCIP *scip, SCIP_PROFILE *profile, int capacity)
 

Interface methods

SCIP_RETCODE SCIPcreateConsVarbound (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR *var, SCIP_VAR *vbdvar, SCIP_Real vbdcoef, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode)
 
SCIP_RETCODE SCIPcreateConsBasicVarbound (SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR *var, SCIP_VAR *vbdvar, SCIP_Real vbdcoef, SCIP_Real lhs, SCIP_Real rhs)
 
SCIP_Real SCIPgetLhsVarbound (SCIP *scip, SCIP_CONS *cons)
 
SCIP_Real SCIPgetRhsVarbound (SCIP *scip, SCIP_CONS *cons)
 
SCIP_VARSCIPgetVarVarbound (SCIP *scip, SCIP_CONS *cons)
 
SCIP_VARSCIPgetVbdvarVarbound (SCIP *scip, SCIP_CONS *cons)
 
SCIP_Real SCIPgetVbdcoefVarbound (SCIP *scip, SCIP_CONS *cons)
 
SCIP_Real SCIPgetDualsolVarbound (SCIP *scip, SCIP_CONS *cons)
 
SCIP_Real SCIPgetDualfarkasVarbound (SCIP *scip, SCIP_CONS *cons)
 
SCIP_ROWSCIPgetRowVarbound (SCIP *scip, SCIP_CONS *cons)
 
SCIP_RETCODE SCIPcleanupConssVarbound (SCIP *scip, SCIP_Bool onlychecked, SCIP_Bool *infeasible, int *naddconss, int *ndelconss, int *nchgbds)
 

Function Documentation

◆ SCIPincludeConshdlrAbspower()

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrAbspower ( SCIP scip)

◆ SCIPincludeConshdlrAnd()

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrAnd ( SCIP scip)

◆ SCIPincludeConshdlrBenders()

◆ SCIPincludeConshdlrBenderslp()

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrBenderslp ( SCIP scip)

creates the handler for benderslp constraints and includes it in SCIP

creates the handler for executing the Benders' decomposition subproblem solve on fractional LP solution and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 260 of file cons_benderslp.c.

References BMSclearMemory, CONSHDLR_CHECKPRIORITY, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_NAME, CONSHDLR_NEEDSCONS, DEFAULT_ACTIVE, DEFAULT_CONSBENDERSLP_FREQ, DEFAULT_CONSBENDERSLP_ITERLIMIT, DEFAULT_CONSBENDERSLP_MAXDEPTH, DEFAULT_CONSBENDERSLP_STALLLIMIT, FALSE, NULL, SCIP_CALL, SCIP_MAXTREEDEPTH, SCIP_OKAY, SCIPaddBoolParam(), SCIPaddIntParam(), SCIPallocMemory, SCIPincludeConshdlrBasic(), SCIPinfinity(), SCIPsetConshdlrCopy(), SCIPsetConshdlrEnforelax(), SCIPsetConshdlrFree(), and TRUE.

Referenced by SCIPincludeDefaultPlugins().

◆ SCIPincludeConshdlrBivariate()

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrBivariate ( SCIP scip)

creates the handler for bivariate constraints and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 7853 of file cons_bivariate.c.

References BMSclearMemory, CONSHDLR_CHECKPRIORITY, CONSHDLR_DELAYPROP, CONSHDLR_DELAYSEPA, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_MAXPREROUNDS, CONSHDLR_NAME, CONSHDLR_NEEDSCONS, CONSHDLR_PRESOLTIMING, CONSHDLR_PROP_TIMING, CONSHDLR_PROPFREQ, CONSHDLR_SEPAFREQ, CONSHDLR_SEPAPRIORITY, FALSE, NONLINCONSUPGD_PRIORITY, NULL, QUADCONSUPGD_PRIORITY, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPaddIntParam(), SCIPaddRealParam(), SCIPallocBlockMemory, SCIPblkmem(), SCIPcreateConsBivariate(), SCIPexprgraphCreate(), SCIPexprintCreate(), SCIPincludeConshdlrBasic(), SCIPincludeEventhdlrBasic(), SCIPincludeNonlinconsUpgrade(), SCIPincludeQuadconsUpgrade(), SCIPinfinity(), SCIPsetConshdlrActive(), SCIPsetConshdlrCopy(), SCIPsetConshdlrDeactive(), SCIPsetConshdlrDelete(), SCIPsetConshdlrDisable(), SCIPsetConshdlrEnable(), SCIPsetConshdlrEnforelax(), SCIPsetConshdlrExit(), SCIPsetConshdlrExitpre(), SCIPsetConshdlrExitsol(), SCIPsetConshdlrFree(), SCIPsetConshdlrGetNVars(), SCIPsetConshdlrGetVars(), SCIPsetConshdlrInit(), SCIPsetConshdlrInitlp(), SCIPsetConshdlrInitpre(), SCIPsetConshdlrInitsol(), SCIPsetConshdlrPresol(), SCIPsetConshdlrPrint(), SCIPsetConshdlrProp(), SCIPsetConshdlrSepa(), SCIPsetConshdlrTrans(), and TRUE.

Referenced by SCIP_DECL_CONSHDLRCOPY(), SCIP_DECL_EXPRGRAPHNODEREFORM(), and SCIPincludeDefaultPlugins().

◆ SCIPincludeConshdlrBounddisjunction()

◆ SCIPincludeConshdlrCardinality()

◆ SCIPincludeConshdlrComponents()

◆ SCIPincludeConshdlrConjunction()

◆ SCIPincludeConshdlrCountsols()

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrCountsols ( SCIP scip)

creates the handler for countsol constraints and includes it in SCIP

creates the handler for countsols constraints and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 2681 of file cons_countsols.c.

References includeConshdlrCountsols(), SCIP_CALL, SCIP_OKAY, SCIPcount(), and TRUE.

Referenced by includeConshdlrCountsols(), and SCIPincludeDefaultPlugins().

◆ SCIPincludeConshdlrCumulative()

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrCumulative ( SCIP scip)

creates the constraint handler for cumulative constraints and includes it in SCIP

creates the handler for cumulative constraints and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 13560 of file cons_cumulative.c.

References CONSHDLR_CHECKPRIORITY, CONSHDLR_DELAYPROP, CONSHDLR_DELAYSEPA, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_MAXPREROUNDS, CONSHDLR_NAME, CONSHDLR_NEEDSCONS, CONSHDLR_PRESOLTIMING, CONSHDLR_PROP_TIMING, CONSHDLR_PROPFREQ, CONSHDLR_SEPAFREQ, CONSHDLR_SEPAPRIORITY, conshdlrdataCreate(), DEFAULT_COEFTIGHTENING, DEFAULT_CUTSASCONSS, DEFAULT_DETECTDISJUNCTIVE, DEFAULT_DETECTVARBOUNDS, DEFAULT_DISJUNCTIVE, DEFAULT_DUALPRESOLVE, DEFAULT_EFCHECK, DEFAULT_EFINFER, DEFAULT_FILLBRANCHCANDS, DEFAULT_LOCALCUTS, DEFAULT_MAXNODES, DEFAULT_NORMALIZE, DEFAULT_PRESOLPAIRWISE, DEFAULT_SEPAOLD, DEFAULT_TTEFCHECK, DEFAULT_TTEFINFER, DEFAULT_TTINFER, DEFAULT_USEADJUSTEDJOBS, DEFAULT_USEBDWIDENING, DEFAULT_USEBINVARS, DEFAULT_USECOVERCUTS, EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_LONGINT_MAX, SCIP_OKAY, SCIPaddBoolParam(), SCIPaddLongintParam(), SCIPcreateConsCumulative(), SCIPincludeConshdlrBasic(), SCIPincludeEventhdlrBasic(), SCIPsetConshdlrCopy(), SCIPsetConshdlrDelete(), SCIPsetConshdlrEnforelax(), SCIPsetConshdlrExitpre(), SCIPsetConshdlrExitsol(), SCIPsetConshdlrFree(), SCIPsetConshdlrGetNVars(), SCIPsetConshdlrGetVars(), SCIPsetConshdlrInitlp(), SCIPsetConshdlrInitpre(), SCIPsetConshdlrParse(), SCIPsetConshdlrPresol(), SCIPsetConshdlrPrint(), SCIPsetConshdlrProp(), SCIPsetConshdlrResprop(), SCIPsetConshdlrSepa(), SCIPsetConshdlrTrans(), and TRUE.

Referenced by SCIP_DECL_CONSHDLRCOPY(), SCIP_DECL_EVENTEXEC(), and SCIPincludeDefaultPlugins().

◆ SCIPincludeConshdlrDisjunction()

◆ SCIPincludeConshdlrIndicator()

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrIndicator ( SCIP scip)

creates the handler for indicator constraints and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 7061 of file cons_indicator.c.

References CONFLICTHDLR_DESC, CONFLICTHDLR_NAME, CONFLICTHDLR_PRIORITY, CONSHDLR_CHECKPRIORITY, CONSHDLR_DELAYPROP, CONSHDLR_DELAYSEPA, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_MAXPREROUNDS, CONSHDLR_NAME, CONSHDLR_NEEDSCONS, CONSHDLR_PRESOLTIMING, CONSHDLR_PROP_TIMING, CONSHDLR_PROPFREQ, CONSHDLR_SEPAFREQ, CONSHDLR_SEPAPRIORITY, DEFAULT_ADDCOUPLING, DEFAULT_ADDCOUPLINGCONS, DEFAULT_ADDOPPOSITE, DEFAULT_BRANCHINDICATORS, DEFAULT_CONFLICTSUPGRADE, DEFAULT_DUALREDUCTIONS, DEFAULT_ENFORCECUTS, DEFAULT_FORCERESTART, DEFAULT_GENERATEBILINEAR, DEFAULT_GENLOGICOR, DEFAULT_MAXCONDITIONALTLP, DEFAULT_MAXCOUPLINGVALUE, DEFAULT_MAXSEPACUTS, DEFAULT_MAXSEPACUTSROOT, DEFAULT_MAXSEPANONVIOLATED, DEFAULT_NOLINCONSCONT, DEFAULT_REMOVEINDICATORS, DEFAULT_RESTARTFRAC, DEFAULT_SCALESLACKVAR, DEFAULT_SEPAALTERNATIVELP, DEFAULT_SEPACOUPLINGCUTS, DEFAULT_SEPACOUPLINGLOCAL, DEFAULT_SEPACOUPLINGVALUE, DEFAULT_SEPAPERSPECTIVE, DEFAULT_SEPAPERSPLOCAL, DEFAULT_TRYSOLFROMCOVER, DEFAULT_TRYSOLUTIONS, DEFAULT_UPDATEBOUNDS, DEFAULT_UPGRADELINEAR, DEFAULT_USEOBJECTIVECUT, DEFAULT_USEOTHERCONSS, EVENTHDLR_BOUND_DESC, EVENTHDLR_BOUND_NAME, EVENTHDLR_RESTART_DESC, EVENTHDLR_RESTART_NAME, FALSE, initConshdlrData(), LINCONSUPGD_PRIORITY, NULL, SCIP_CALL, SCIP_OKAY, SCIP_REAL_MAX, SCIPaddBoolParam(), SCIPaddIntParam(), SCIPaddRealParam(), SCIPallocBlockMemory, SCIPcreateConsIndicator(), SCIPfindConshdlr(), SCIPincludeConflicthdlrBasic(), SCIPincludeConshdlrBasic(), SCIPincludeEventhdlrBasic(), SCIPincludeLinconsUpgrade(), SCIPsetConflicthdlrFree(), SCIPsetConshdlrCopy(), SCIPsetConshdlrDelete(), SCIPsetConshdlrDisable(), SCIPsetConshdlrEnable(), SCIPsetConshdlrEnforelax(), SCIPsetConshdlrExit(), SCIPsetConshdlrExitsol(), SCIPsetConshdlrFree(), SCIPsetConshdlrGetDiveBdChgs(), SCIPsetConshdlrGetNVars(), SCIPsetConshdlrGetVars(), SCIPsetConshdlrInit(), SCIPsetConshdlrInitlp(), SCIPsetConshdlrInitpre(), SCIPsetConshdlrInitsol(), SCIPsetConshdlrParse(), SCIPsetConshdlrPresol(), SCIPsetConshdlrPrint(), SCIPsetConshdlrProp(), SCIPsetConshdlrResprop(), SCIPsetConshdlrSepa(), SCIPsetConshdlrTrans(), and TRUE.

Referenced by SCIP_DECL_CONSGETDIVEBDCHGS(), SCIP_DECL_CONSHDLRCOPY(), and SCIPincludeDefaultPlugins().

◆ SCIPincludeConshdlrIntegral()

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrIntegral ( SCIP scip)

creates the handler for the integrality constraint and includes it in SCIP

creates the handler for integrality constraint and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 332 of file cons_integral.c.

References consCopyIntegral, consEnfopsIntegral, CONSHDLR_CHECKPRIORITY, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_NAME, CONSHDLR_NEEDSCONS, NULL, SCIP_CALL, SCIP_OKAY, SCIPincludeConshdlrBasic(), SCIPsetConshdlrCopy(), SCIPsetConshdlrEnforelax(), and SCIPsetConshdlrGetDiveBdChgs().

Referenced by SCIP_DECL_CONSGETDIVEBDCHGS(), SCIP_DECL_CONSHDLRCOPY(), SCIPincludeColoringPlugins(), and SCIPincludeDefaultPlugins().

◆ SCIPincludeConshdlrKnapsack()

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrKnapsack ( SCIP scip)

creates the handler for knapsack constraints and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 13284 of file cons_knapsack.c.

Referenced by SCIP_DECL_LINCONSUPGD(), and SCIPincludeDefaultPlugins().

◆ SCIPincludeConshdlrLinear()

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrLinear ( SCIP scip)

creates the handler for linear constraints and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 17497 of file cons_linear.c.

Referenced by SCIP_DECL_NONLINCONSUPGD(), SCIPincludeColoringPlugins(), and SCIPincludeDefaultPlugins().

◆ SCIPincludeConshdlrLinking()

◆ SCIPincludeConshdlrLogicor()

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrLogicor ( SCIP scip)

◆ SCIPincludeConshdlrNonlinear()

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrNonlinear ( SCIP scip)

◆ SCIPincludeConshdlrOr()

◆ SCIPincludeConshdlrOrbisack()

◆ SCIPincludeConshdlrOrbitope()

◆ SCIPincludeConshdlrPseudoboolean()

◆ SCIPincludeConshdlrQuadratic()

◆ SCIPincludeConshdlrSetppc()

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrSetppc ( SCIP scip)

creates the handler for set partitioning / packing / covering constraints and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 8955 of file cons_setppc.c.

Referenced by SCIPincludeColoringPlugins(), and SCIPincludeDefaultPlugins().

◆ SCIPincludeConshdlrSOC()

◆ SCIPincludeConshdlrSOS1()

SCIP_EXPORT SCIP_RETCODE SCIPincludeConshdlrSOS1 ( SCIP scip)

creates the handler for SOS1 constraints and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 10161 of file cons_sos1.c.

Referenced by SCIPincludeDefaultPlugins().

◆ SCIPincludeConshdlrSOS2()

◆ SCIPincludeConshdlrSuperindicator()

◆ SCIPincludeConshdlrSymresack()

◆ SCIPincludeConshdlrVarbound()

◆ SCIPincludeConshdlrXor()

◆ SCIPincludeConshdlrRpa()

◆ SCIPcreateConsBounddisjunction()

SCIP_RETCODE SCIPcreateConsBounddisjunction ( SCIP scip,
SCIP_CONS **  cons,
const char *  name,
int  nvars,
SCIP_VAR **  vars,
SCIP_BOUNDTYPE boundtypes,
SCIP_Real bounds,
SCIP_Bool  initial,
SCIP_Bool  separate,
SCIP_Bool  enforce,
SCIP_Bool  check,
SCIP_Bool  propagate,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  dynamic,
SCIP_Bool  removable,
SCIP_Bool  stickingatnode 
)

creates and captures a bound disjunction constraint

Note
the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
Parameters
scipSCIP data structure
conspointer to hold the created constraint
namename of constraint
nvarsnumber of variables in the constraint
varsvariables of the literals in the constraint
boundtypestypes of bounds of the literals (lower or upper bounds)
boundsbounds of the literals
initialshould the LP relaxation of constraint be in the initial LP? Usually set to TRUE. Set to FALSE for 'lazy constraints'.
separateshould the constraint be separated during LP processing? Usually set to TRUE.
enforceshould the constraint be enforced during node processing? TRUE for model constraints, FALSE for additional, redundant constraints.
checkshould the constraint be checked for feasibility? TRUE for model constraints, FALSE for additional, redundant constraints.
propagateshould the constraint be propagated during node processing? Usually set to TRUE.
localis constraint only valid locally? Usually set to FALSE. Has to be set to TRUE, e.g., for branching constraints.
modifiableis constraint modifiable (subject to column generation)? Usually set to FALSE. In column generation applications, set to TRUE if pricing adds coefficients to this constraint.
dynamicis constraint subject to aging? Usually set to FALSE. Set to TRUE for own cuts which are separated as constraints.
removableshould the relaxation be removed from the LP due to aging or cleanup? Usually set to FALSE. Set to TRUE for 'lazy constraints' and 'user cuts'.
stickingatnodeshould the constraint always be kept at the node where it was added, even if it may be moved to a more global node? Usually set to FALSE. Set to TRUE to for constraints that represent node data.

Definition at line 3333 of file cons_bounddisjunction.c.

References consdataCreate(), CONSHDLR_NAME, isOverlapping(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPboundtypeOpposite(), SCIPcreateCons(), SCIPcreateConsBasicBounddisjunction(), SCIPerrorMessage, and SCIPfindConshdlr().

Referenced by addLocalConss(), addLowerboundCons(), addSplitcons(), adjustOversizedJobBounds(), createConflict(), CUTOFF_CONSTRAINT(), forbidFixation(), readBounds(), readSemicontinuous(), readVariables(), SCIP_DECL_CONFLICTEXEC(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSPARSE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_QUADCONSUPGD(), SCIPcreateConsBasicBounddisjunction(), and SCIPincludeConshdlrBounddisjunction().

◆ SCIPcreateConsBasicBounddisjunction()

SCIP_RETCODE SCIPcreateConsBasicBounddisjunction ( SCIP scip,
SCIP_CONS **  cons,
const char *  name,
int  nvars,
SCIP_VAR **  vars,
SCIP_BOUNDTYPE boundtypes,
SCIP_Real bounds 
)

creates and captures a bound disjunction constraint in its most basic version, i. e., all constraint flags are set to their basic value as explained for the method SCIPcreateConsBounddisjunction(); all flags can be set via SCIPsetConsFLAGNAME-methods in scip.h

See also
SCIPcreateConsBounddisjunction() for information about the basic constraint flag configuration
Note
the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
Parameters
scipSCIP data structure
conspointer to hold the created constraint
namename of constraint
nvarsnumber of variables in the constraint
varsvariables of the literals in the constraint
boundtypestypes of bounds of the literals (lower or upper bounds)
boundsbounds of the literals

Definition at line 3413 of file cons_bounddisjunction.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateConsBounddisjunction(), SCIPgetNVarsBounddisjunction(), and TRUE.

Referenced by createBounddisjunctionCons(), SCIPcreateConsBounddisjunction(), and SCIPreoptApplyGlbConss().

◆ SCIPgetNVarsBounddisjunction()

int SCIPgetNVarsBounddisjunction ( SCIP scip,
SCIP_CONS cons 
)

gets number of variables in bound disjunction constraint

Parameters
scipSCIP data structure
consconstraint data

Definition at line 3432 of file cons_bounddisjunction.c.

References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetVarsBounddisjunction().

Referenced by checkBounddisjunction(), computeSymmetryGroup(), createCoveringProblem(), SCIP_DECL_CONSCOPY(), and SCIPcreateConsBasicBounddisjunction().

◆ SCIPgetVarsBounddisjunction()

SCIP_VAR** SCIPgetVarsBounddisjunction ( SCIP scip,
SCIP_CONS cons 
)

gets array of variables in bound disjunction constraint

Parameters
scipSCIP data structure
consconstraint data

Definition at line 3453 of file cons_bounddisjunction.c.

References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetBoundtypesBounddisjunction().

Referenced by checkBounddisjunction(), computeSymmetryGroup(), createCoveringProblem(), saveConsBounddisjuction(), SCIP_DECL_CONSCOPY(), and SCIPgetNVarsBounddisjunction().

◆ SCIPgetBoundtypesBounddisjunction()

SCIP_BOUNDTYPE* SCIPgetBoundtypesBounddisjunction ( SCIP scip,
SCIP_CONS cons 
)

gets array of bound types in bound disjunction constraint

Parameters
scipSCIP data structure
consconstraint data

Definition at line 3474 of file cons_bounddisjunction.c.

References CONSHDLR_NAME, NULL, SCIP_Real, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetBoundsBounddisjunction().

Referenced by checkBounddisjunction(), computeSymmetryGroup(), saveConsBounddisjuction(), SCIP_DECL_CONSCOPY(), and SCIPgetVarsBounddisjunction().

◆ SCIPgetBoundsBounddisjunction()

SCIP_Real* SCIPgetBoundsBounddisjunction ( SCIP scip,
SCIP_CONS cons 
)

gets array of bounds in bound disjunction constraint

Parameters
scipSCIP data structure
consconstraint data

Definition at line 3495 of file cons_bounddisjunction.c.

References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage.

Referenced by checkBounddisjunction(), computeSymmetryGroup(), saveConsBounddisjuction(), SCIP_DECL_CONSCOPY(), and SCIPgetBoundtypesBounddisjunction().

◆ SCIPcreateConsCumulative()

SCIP_RETCODE SCIPcreateConsCumulative ( SCIP scip,
SCIP_CONS **  cons,
const char *  name,
int  nvars,
SCIP_VAR **  vars,
int *  durations,
int *  demands,
int  capacity,
SCIP_Bool  initial,
SCIP_Bool  separate,
SCIP_Bool  enforce,
SCIP_Bool  check,
SCIP_Bool  propagate,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  dynamic,
SCIP_Bool  removable,
SCIP_Bool  stickingatnode 
)

creates and captures a cumulative constraint

Parameters
scipSCIP data structure
conspointer to hold the created constraint
namename of constraint
nvarsnumber of variables (jobs)
varsarray of integer variable which corresponds to starting times for a job
durationsarray containing corresponding durations
demandsarray containing corresponding demands
capacityavailable cumulative capacity
initialshould the LP relaxation of constraint be in the initial LP? Usually set to TRUE. Set to FALSE for 'lazy constraints'.
separateshould the constraint be separated during LP processing? Usually set to TRUE.
enforceshould the constraint be enforced during node processing? TRUE for model constraints, FALSE for additional, redundant constraints.
checkshould the constraint be checked for feasibility? TRUE for model constraints, FALSE for additional, redundant constraints.
propagateshould the constraint be propagated during node processing? Usually set to TRUE.
localis constraint only valid locally? Usually set to FALSE. Has to be set to TRUE, e.g., for branching constraints.
modifiableis constraint modifiable (subject to column generation)? Usually set to FALSE. In column generation applications, set to TRUE if pricing adds coefficients to this constraint.
dynamicis constraint subject to aging? Usually set to FALSE. Set to TRUE for own cuts which are seperated as constraints.
removableshould the relaxation be removed from the LP due to aging or cleanup? Usually set to FALSE. Set to TRUE for 'lazy constraints' and 'user cuts'.
stickingatnodeshould the constraint always be kept at the node where it was added, even if it may be moved to a more global node? Usually set to FALSE. Set to TRUE to for constraints that represent node data.

Definition at line 13691 of file cons_cumulative.c.

References consdataCatchEvents(), consdataCreate(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_STAGE_PROBLEM, SCIPconshdlrGetData(), SCIPcreateCons(), SCIPcreateConsBasicCumulative(), SCIPdebugMsg, SCIPerrorMessage, SCIPfindConshdlr(), and SCIPgetStage().

Referenced by CREATE_CONSTRAINT(), createConsCumulative(), createCumulativeCons(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSPARSE(), SCIPcreateConsBasicCumulative(), SCIPcreateSchedulingProblem(), SCIPincludeConshdlrCumulative(), and upgradeCons().

◆ SCIPcreateConsBasicCumulative()

SCIP_RETCODE SCIPcreateConsBasicCumulative ( SCIP scip,
SCIP_CONS **  cons,
const char *  name,
int  nvars,
SCIP_VAR **  vars,
int *  durations,
int *  demands,
int  capacity 
)

creates and captures a cumulative constraint in its most basic version, i. e., all constraint flags are set to their basic value as explained for the method SCIPcreateConsCumulative(); all flags can be set via SCIPsetConsFLAGNAME-methods in scip.h

See also
SCIPcreateConsCumulative() for information about the basic constraint flag configuration
Note
the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
Parameters
scipSCIP data structure
conspointer to hold the created constraint
namename of constraint
nvarsnumber of variables (jobs)
varsarray of integer variable which corresponds to starting times for a job
durationsarray containing corresponding durations
demandsarray containing corresponding demands
capacityavailable cumulative capacity

Definition at line 13772 of file cons_cumulative.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateConsCumulative(), SCIPsetHminCumulative(), and TRUE.

Referenced by SCIPcreateConsCumulative(), and setupAndSolveCumulativeSubscip().

◆ SCIPsetHminCumulative()

SCIP_RETCODE SCIPsetHminCumulative ( SCIP scip,
SCIP_CONS cons,
int  hmin 
)

set the left bound of the time axis to be considered (including hmin)

Parameters
scipSCIP data structure
consconstraint data
hminleft bound of time axis to be considered

Definition at line 13792 of file cons_cumulative.c.

References CONSHDLR_NAME, NULL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetHminCumulative().

Referenced by createConsCumulative(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSPARSE(), SCIPcreateConsBasicCumulative(), setupAndSolveCumulativeSubscip(), and upgradeCons().

◆ SCIPgetHminCumulative()

int SCIPgetHminCumulative ( SCIP scip,
SCIP_CONS cons 
)

returns the left bound of the time axis to be considered

Parameters
scipSCIP data structure
consconstraint

Definition at line 13816 of file cons_cumulative.c.

References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPsetHmaxCumulative().

Referenced by SCIP_DECL_CONSRESPROP(), and SCIPsetHminCumulative().

◆ SCIPsetHmaxCumulative()

SCIP_RETCODE SCIPsetHmaxCumulative ( SCIP scip,
SCIP_CONS cons,
int  hmax 
)

set the right bound of the time axis to be considered (not including hmax)

Parameters
scipSCIP data structure
consconstraint data
hmaxright bound of time axis to be considered

Definition at line 13836 of file cons_cumulative.c.

References CONSHDLR_NAME, NULL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetHmaxCumulative().

Referenced by createConsCumulative(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSPARSE(), SCIPgetHminCumulative(), setupAndSolveCumulativeSubscip(), and upgradeCons().

◆ SCIPgetHmaxCumulative()

int SCIPgetHmaxCumulative ( SCIP scip,
SCIP_CONS cons 
)

returns the right bound of the time axis to be considered

Parameters
scipSCIP data structure
consconstraint

Definition at line 13860 of file cons_cumulative.c.

References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetVarsCumulative().

Referenced by SCIP_DECL_CONSRESPROP(), and SCIPsetHmaxCumulative().

◆ SCIPgetVarsCumulative()

SCIP_VAR** SCIPgetVarsCumulative ( SCIP scip,
SCIP_CONS cons 
)

returns the activities of the cumulative constraint

Parameters
scipSCIP data structure
consconstraint data

Definition at line 13880 of file cons_cumulative.c.

References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetNVarsCumulative().

Referenced by SCIPgetHmaxCumulative(), and writeFzn().

◆ SCIPgetNVarsCumulative()

int SCIPgetNVarsCumulative ( SCIP scip,
SCIP_CONS cons 
)

returns the activities of the cumulative constraint

Parameters
scipSCIP data structure
consconstraint data

Definition at line 13901 of file cons_cumulative.c.

References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetCapacityCumulative().

Referenced by SCIPgetVarsCumulative(), and writeFzn().

◆ SCIPgetCapacityCumulative()

int SCIPgetCapacityCumulative ( SCIP scip,
SCIP_CONS cons 
)

returns the capacity of the cumulative constraint

Parameters
scipSCIP data structure
consconstraint data

Definition at line 13922 of file cons_cumulative.c.

References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetDurationsCumulative().

Referenced by SCIPgetNVarsCumulative(), and writeFzn().

◆ SCIPgetDurationsCumulative()

int* SCIPgetDurationsCumulative ( SCIP scip,
SCIP_CONS cons 
)

returns the durations of the cumulative constraint

Parameters
scipSCIP data structure
consconstraint data

Definition at line 13943 of file cons_cumulative.c.

References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetDemandsCumulative().

Referenced by SCIPgetCapacityCumulative(), and writeFzn().

◆ SCIPgetDemandsCumulative()

int* SCIPgetDemandsCumulative ( SCIP scip,
SCIP_CONS cons 
)

returns the demands of the cumulative constraint

Parameters
scipSCIP data structure
consconstraint data

Definition at line 13964 of file cons_cumulative.c.

References CONSHDLR_NAME, NULL, SCIPABORT, SCIPcheckCumulativeCondition(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage.

Referenced by SCIPgetDurationsCumulative(), and writeFzn().

◆ SCIPcheckCumulativeCondition()

SCIP_RETCODE SCIPcheckCumulativeCondition ( SCIP scip,
SCIP_SOL sol,
int  nvars,
SCIP_VAR **  vars,
int *  durations,
int *  demands,
int  capacity,
int  hmin,
int  hmax,
SCIP_Bool violated,
SCIP_CONS cons,
SCIP_Bool  printreason 
)

check for the given starting time variables with their demands and durations if the cumulative conditions for the given solution is satisfied

Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo solution
nvarsnumber of variables (jobs)
varsarray of integer variable which corresponds to starting times for a job
durationsarray containing corresponding durations
demandsarray containing corresponding demands
capacityavailable cumulative capacity
hminleft bound of time axis to be considered (including hmin)
hmaxright bound of time axis to be considered (not including hmax)
violatedpointer to store if the cumulative condition is violated
consconstraint which is checked
printreasonshould the reason for the violation be printed?

Definition at line 13987 of file cons_cumulative.c.

References checkCumulativeCondition(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPnormalizeCumulativeCondition().

Referenced by checkCons(), enfopsCons(), and SCIPgetDemandsCumulative().

◆ SCIPnormalizeCumulativeCondition()

SCIP_RETCODE SCIPnormalizeCumulativeCondition ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
int *  durations,
int *  demands,
int *  capacity,
int *  nchgcoefs,
int *  nchgsides 
)

normalize cumulative condition

Parameters
scipSCIP data structure
nvarsnumber of start time variables (activities)
varsarray of start time variables
durationsarray of durations
demandsarray of demands
capacitypointer to store the changed cumulative capacity
nchgcoefspointer to count total number of changed coefficients
nchgsidespointer to count number of side changes

Definition at line 14012 of file cons_cumulative.c.

References normalizeCumulativeCondition(), SCIP_OKAY, and SCIPsplitCumulativeCondition().

Referenced by SCIP_DECL_CONSPRESOL(), and SCIPcheckCumulativeCondition().

◆ SCIPsplitCumulativeCondition()

SCIP_RETCODE SCIPsplitCumulativeCondition ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
int *  durations,
int *  demands,
int  capacity,
int *  hmin,
int *  hmax,
int *  split 
)

searches for a time point within the cumulative condition were the cumulative condition can be split

Parameters
scipSCIP data structure
nvarsnumber of variables (jobs)
varsarray of integer variable which corresponds to starting times for a job
durationsarray containing corresponding durations
demandsarray containing corresponding demands
capacityavailable cumulative capacity
hminpointer to store the left bound of the effective horizon
hmaxpointer to store the right bound of the effective horizon
splitpoint were the cumulative condition can be split

Definition at line 14029 of file cons_cumulative.c.

References computeEffectiveHorizonCumulativeCondition(), SCIP_CALL, SCIP_OKAY, and SCIPpresolveCumulativeCondition().

Referenced by SCIP_DECL_CONSPRESOL(), and SCIPnormalizeCumulativeCondition().

◆ SCIPpresolveCumulativeCondition()

SCIP_RETCODE SCIPpresolveCumulativeCondition ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
int *  durations,
int  hmin,
int  hmax,
SCIP_Bool downlocks,
SCIP_Bool uplocks,
SCIP_CONS cons,
SCIP_Bool irrelevants,
int *  nfixedvars,
int *  nchgsides,
SCIP_Bool cutoff 
)

presolve cumulative condition w.r.t. effective horizon by detecting irrelevant variables

Parameters
scipSCIP data structure
nvarsnumber of start time variables (activities)
varsarray of start time variables
durationsarray of durations
hminleft bound of time axis to be considered
hmaxright bound of time axis to be considered (not including hmax)
downlocksarray storing if the variable has a down lock, or NULL
uplocksarray storing if the variable has an up lock, or NULL
consconstraint which gets propagated, or NULL
irrelevantsarray mark those variables which are irrelevant for the cumulative condition
nfixedvarspointer to store the number of fixed variables
nchgsidespointer to store the number of changed sides
cutoffbuffer to store whether a cutoff is detected

Definition at line 14048 of file cons_cumulative.c.

References presolveConsEst(), presolveConsLct(), SCIP_CALL, SCIP_OKAY, and SCIPpropCumulativeCondition().

Referenced by presolveCumulativeCondition(), and SCIPsplitCumulativeCondition().

◆ SCIPpropCumulativeCondition()

SCIP_RETCODE SCIPpropCumulativeCondition ( SCIP scip,
SCIP_PRESOLTIMING  presoltiming,
int  nvars,
SCIP_VAR **  vars,
int *  durations,
int *  demands,
int  capacity,
int  hmin,
int  hmax,
SCIP_CONS cons,
int *  nchgbds,
SCIP_Bool initialized,
SCIP_Bool explanation,
SCIP_Bool cutoff 
)

propagate the given cumulative condition

Parameters
scipSCIP data structure
presoltimingcurrent presolving timing
nvarsnumber of variables (jobs)
varsarray of integer variable which corresponds to starting times for a job
durationsarray containing corresponding durations
demandsarray containing corresponding demands
capacityavailable cumulative capacity
hminleft bound of time axis to be considered (including hmin)
hmaxright bound of time axis to be considered (not including hmax)
consconstraint which gets propagated
nchgbdspointer to store the number of variable bound changes
initializedwas conflict analysis initialized
explanationbool array which marks the variable which are part of the explanation if a cutoff was detected, or NULL
cutoffpointer to store if the cumulative condition is violated

Definition at line 14079 of file cons_cumulative.c.

References CONSHDLR_NAME, FALSE, NULL, propagateCumulativeCondition(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPconshdlrGetData(), SCIPerrorMessage, SCIPfindConshdlr(), and SCIPrespropCumulativeCondition().

Referenced by propagateCons(), and SCIPpresolveCumulativeCondition().

◆ SCIPrespropCumulativeCondition()

SCIP_RETCODE SCIPrespropCumulativeCondition ( SCIP scip,
int  nvars,
SCIP_VAR **  vars,
int *  durations,
int *  demands,
int  capacity,
int  hmin,
int  hmax,
SCIP_VAR infervar,
int  inferinfo,
SCIP_BOUNDTYPE  boundtype,
SCIP_BDCHGIDX bdchgidx,
SCIP_Real  relaxedbd,
SCIP_Bool explanation,
SCIP_RESULT result 
)

resolve propagation w.r.t. the cumulative condition

Parameters
scipSCIP data structure
nvarsnumber of start time variables (activities)
varsarray of start time variables
durationsarray of durations
demandsarray of demands
capacitycumulative capacity
hminleft bound of time axis to be considered (including hmin)
hmaxright bound of time axis to be considered (not including hmax)
infervarthe conflict variable whose bound change has to be resolved
inferinfothe user information
boundtypethe type of the changed bound (lower or upper bound)
bdchgidxthe index of the bound change, representing the point of time where the change took place
relaxedbdthe relaxed bound which is sufficient to be explained
explanationbool array which marks the variable which are part of the explanation if a cutoff was detected, or NULL
resultpointer to store the result of the propagation conflict resolving call

Definition at line 14128 of file cons_cumulative.c.

References intToInferInfo(), respropCumulativeCondition(), SCIP_CALL, SCIP_OKAY, SCIPvisualizeConsCumulative(), and TRUE.

Referenced by SCIP_DECL_CONSRESPROP(), and SCIPpropCumulativeCondition().

◆ SCIPvisualizeConsCumulative()

◆ SCIPsetSolveCumulative()

SCIP_RETCODE SCIPsetSolveCumulative ( SCIP scip,
SCIP_DECL_SOLVECUMULATIVE((*solveCumulative))   
)

sets method to solve an individual cumulative condition

Parameters
scipSCIP data structure

Definition at line 14256 of file cons_cumulative.c.

References CONSHDLR_NAME, NULL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPconshdlrGetData(), SCIPerrorMessage, SCIPfindConshdlr(), SCIPsolveCumulative(), and solveCumulative().

Referenced by runShell(), and SCIPvisualizeConsCumulative().

◆ SCIPsolveCumulative()

SCIP_RETCODE SCIPsolveCumulative ( SCIP scip,
int  njobs,
SCIP_Real ests,
SCIP_Real lsts,
SCIP_Real objvals,
int *  durations,
int *  demands,
int  capacity,
int  hmin,
int  hmax,
SCIP_Real  timelimit,
SCIP_Real  memorylimit,
SCIP_Longint  maxnodes,
SCIP_Bool solved,
SCIP_Bool infeasible,
SCIP_Bool unbounded,
SCIP_Bool error 
)

solves given cumulative condition as independent sub problem

Note
If the problem was solved to the earliest start times (ests) and latest start times (lsts) array contain the solution values; If the problem was not solved these two arrays contain the global bounds at the time the sub solver was interrupted.
Parameters
scipSCIP data structure
njobsnumber of jobs (activities)
estsarray with the earlier start time for each job
lstsarray with the latest start time for each job
objvalsarray of objective coefficients for each job (linear objective function), or NULL if none
durationsarray of durations
demandsarray of demands
capacitycumulative capacity
hminleft bound of time axis to be considered (including hmin)
hmaxright bound of time axis to be considered (not including hmax)
timelimittime limit for solving in seconds
memorylimitmemory limit for solving in mega bytes (MB)
maxnodesmaximum number of branch-and-bound nodes to solve the single cumulative constraint (-1: no limit)
solvedpointer to store if the problem is solved (to optimality)
infeasiblepointer to store if the problem is infeasible
unboundedpointer to store if the problem is unbounded
errorpointer to store if an error occurred

Definition at line 14286 of file cons_cumulative.c.

References CONSHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPconshdlrGetData(), SCIPcreateWorstCaseProfile(), SCIPerrorMessage, SCIPfindConshdlr(), and TRUE.

Referenced by applyOptcumulative(), SCIPsetSolveCumulative(), solveCumulative(), and solveIndependentCons().

◆ SCIPcreateWorstCaseProfile()

SCIP_RETCODE SCIPcreateWorstCaseProfile ( SCIP scip,
SCIP_PROFILE profile,
int  nvars,
SCIP_VAR **  vars,
int *  durations,
int *  demands 
)

creates the worst case resource profile, that is, all jobs are inserted with the earliest start and latest completion time

Parameters
scipSCIP data structure
profileresource profile
nvarsnumber of variables (jobs)
varsarray of integer variable which corresponds to starting times for a job
durationsarray containing corresponding durations
demandsarray containing corresponding demands

Definition at line 14342 of file cons_cumulative.c.

References computeImpliedEst(), computeImpliedLct(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPblkmem(), SCIPcomputeHmin(), SCIPconvertRealToInt(), SCIPfreeBufferArray, SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapInsertInt(), SCIPprofileInsertCore(), SCIPsortDownIntInt(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal().

Referenced by computeAlternativeBounds(), computeEffectiveHorizonCumulativeCondition(), propagateCons(), and SCIPsolveCumulative().

◆ SCIPcomputeHmin()

int SCIPcomputeHmin ( SCIP scip,
SCIP_PROFILE profile,
int  capacity 
)

computes w.r.t. the given worst case resource profile the first time point where the given capacity can be violated

Parameters
scipSCIP data structure
profileworst case resource profile
capacitycapacity to check

Definition at line 14421 of file cons_cumulative.c.

References SCIPcomputeHmax(), SCIPprofileGetLoads(), SCIPprofileGetNTimepoints(), and SCIPprofileGetTimepoints().

Referenced by computeAlternativeBounds(), computeEffectiveHorizonCumulativeCondition(), propagateCons(), and SCIPcreateWorstCaseProfile().

◆ SCIPcomputeHmax()

int SCIPcomputeHmax ( SCIP scip,
SCIP_PROFILE profile,
int  capacity 
)

computes w.r.t. the given worst case resource profile the first time point where the given capacity is satisfied for sure

Parameters
scipSCIP data structure
profileworst case profile
capacitycapacity to check

Definition at line 14451 of file cons_cumulative.c.

References SCIPprofileGetLoads(), SCIPprofileGetNTimepoints(), and SCIPprofileGetTimepoints().

Referenced by computeAlternativeBounds(), computeEffectiveHorizonCumulativeCondition(), and SCIPcomputeHmin().

◆ SCIPcreateConsVarbound()

SCIP_RETCODE SCIPcreateConsVarbound ( SCIP scip,
SCIP_CONS **  cons,
const char *  name,
SCIP_VAR var,
SCIP_VAR vbdvar,
SCIP_Real  vbdcoef,
SCIP_Real  lhs,
SCIP_Real  rhs,
SCIP_Bool  initial,
SCIP_Bool  separate,
SCIP_Bool  enforce,
SCIP_Bool  check,
SCIP_Bool  propagate,
SCIP_Bool  local,
SCIP_Bool  modifiable,
SCIP_Bool  dynamic,
SCIP_Bool  removable,
SCIP_Bool  stickingatnode 
)

creates and captures a variable bound constraint: lhs <= x + c*y <= rhs

Note
the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
Parameters
scipSCIP data structure
conspointer to hold the created constraint
namename of constraint
varvariable x that has variable bound
vbdvarbinary, integer or implicit integer bounding variable y
vbdcoefcoefficient c of bounding variable y
lhsleft hand side of variable bound inequality
rhsright hand side of variable bound inequality
initialshould the LP relaxation of constraint be in the initial LP? Usually set to TRUE. Set to FALSE for 'lazy constraints'.
separateshould the constraint be separated during LP processing? Usually set to TRUE.
enforceshould the constraint be enforced during node processing? TRUE for model constraints, FALSE for additional, redundant constraints.
checkshould the constraint be checked for feasibility? TRUE for model constraints, FALSE for additional, redundant constraints.
propagateshould the constraint be propagated during node processing? Usually set to TRUE.
localis constraint only valid locally? Usually set to FALSE. Has to be set to TRUE, e.g., for branching constraints.
modifiableis constraint modifiable (subject to column generation)? Usually set to FALSE. In column generation applications, set to TRUE if pricing adds coefficients to this constraint.
dynamicis constraint subject to aging? Usually set to FALSE. Set to TRUE for own cuts which are separated as constraints.
removableshould the relaxation be removed from the LP due to aging or cleanup? Usually set to FALSE. Set to TRUE for 'lazy constraints' and 'user cuts'.
stickingatnodeshould the constraint always be kept at the node where it was added, even if it may be moved to a more global node? Usually set to FALSE. Set to TRUE to for constraints that represent node data.

Definition at line 5039 of file cons_varbound.c.

References catchEvents(), consdataCreate(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPconshdlrGetData(), SCIPcreateCons(), SCIPcreateConsBasicVarbound(), SCIPerrorMessage, SCIPfindConshdlr(), and SCIPisTransformed().

Referenced by addVarbound(), createPrecedenceCons(), createVarUbs(), presolveTryAddLinearReform(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSPARSE(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_LINCONSUPGD(), SCIPcreateConsBasicVarbound(), SCIPcreateSchedulingProblem(), and SCIPincludeConshdlrVarbound().

◆ SCIPcreateConsBasicVarbound()

SCIP_RETCODE SCIPcreateConsBasicVarbound ( SCIP scip,
SCIP_CONS **  cons,
const char *  name,
SCIP_VAR var,
SCIP_VAR vbdvar,
SCIP_Real  vbdcoef,
SCIP_Real  lhs,
SCIP_Real  rhs 
)

creates and captures a variable bound constraint: lhs <= x + c*y <= rhs with all constraint flags set to their default values

Note
the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
Parameters
scipSCIP data structure
conspointer to hold the created constraint
namename of constraint
varvariable x that has variable bound
vbdvarbinary, integer or implicit integer bounding variable y
vbdcoefcoefficient c of bounding variable y
lhsleft hand side of variable bound inequality
rhsright hand side of variable bound inequality

Definition at line 5109 of file cons_varbound.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcreateConsVarbound(), SCIPgetLhsVarbound(), and TRUE.

Referenced by addBranchingDecisionConss(), applyRepair(), createVarboundCons(), and SCIPcreateConsVarbound().

◆ SCIPgetLhsVarbound()

◆ SCIPgetRhsVarbound()

◆ SCIPgetVarVarbound()

◆ SCIPgetVbdvarVarbound()

◆ SCIPgetVbdcoefVarbound()

◆ SCIPgetDualsolVarbound()

SCIP_Real SCIPgetDualsolVarbound ( SCIP scip,
SCIP_CONS cons 
)

gets the dual solution of the variable bound constraint in the current LP

Parameters
scipSCIP data structure
consconstraint data

Definition at line 5242 of file cons_varbound.c.

References CONSHDLR_NAME, NULL, SCIP_INVALID, SCIP_Real, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, SCIPgetDualfarkasVarbound(), and SCIProwGetDualsol().

Referenced by SCIPconsGetDualsol(), and SCIPgetVbdcoefVarbound().

◆ SCIPgetDualfarkasVarbound()

SCIP_Real SCIPgetDualfarkasVarbound ( SCIP scip,
SCIP_CONS cons 
)

gets the dual Farkas value of the variable bound constraint in the current infeasible LP

Parameters
scipSCIP data structure
consconstraint data

Definition at line 5268 of file cons_varbound.c.

References CONSHDLR_NAME, NULL, SCIP_INVALID, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, SCIPgetRowVarbound(), and SCIProwGetDualfarkas().

Referenced by SCIPconsGetDualfarkas(), and SCIPgetDualsolVarbound().

◆ SCIPgetRowVarbound()

SCIP_ROW* SCIPgetRowVarbound ( SCIP scip,
SCIP_CONS cons 
)

returns the linear relaxation of the given variable bound constraint; may return NULL if no LP row was yet created; the user must not modify the row!

Parameters
scipSCIP data structure
consconstraint data

Definition at line 5296 of file cons_varbound.c.

References CONSHDLR_NAME, NULL, SCIPABORT, SCIPcleanupConssVarbound(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage.

Referenced by SCIPconsGetRow(), and SCIPgetDualfarkasVarbound().

◆ SCIPcleanupConssVarbound()

SCIP_RETCODE SCIPcleanupConssVarbound ( SCIP scip,
SCIP_Bool  onlychecked,
SCIP_Bool infeasible,
int *  naddconss,
int *  ndelconss,
int *  nchgbds 
)

cleans up (multi-)aggregations and fixings from varbound constraints

Parameters
scipSCIP data structure
onlycheckedshould only checked constraints be cleaned up?
infeasiblepointer to return whether the problem was detected to be infeasible
naddconsspointer to count number of added (linear) constraints
ndelconsspointer to count number of deleted (varbound) constraints
nchgbdspointer to count number of bound changes

Definition at line 5319 of file cons_varbound.c.

References applyFixings(), CONSHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrGetCheckConss(), SCIPconshdlrGetConss(), SCIPconshdlrGetData(), SCIPconshdlrGetNActiveConss(), SCIPconshdlrGetNCheckConss(), and SCIPfindConshdlr().

Referenced by SCIPgetRowVarbound(), and SCIPmatrixCreate().