Detailed Descriptionconstraint handler for indicator constraints over arbitrary constraint types Definition in file cons_superindicator.c. #include <assert.h> #include <string.h> #include "scip/cons_superindicator.h" #include "scip/dialog_default.h" #include "scip/cons_indicator.h" #include "scip/cons_linear.h" Go to the source code of this file.
Macro Definition Documentation
Definition at line 44 of file cons_superindicator.c. Referenced by SCIPcreateConsSuperindicator(), SCIPgetBinaryVarSuperindicator(), SCIPgetSlackConsSuperindicator(), and SCIPincludeConshdlrSuperindicator().
Definition at line 45 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
priority of the constraint handler for separation Definition at line 46 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
priority of the constraint handler for constraint enforcing Definition at line 47 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
priority of the constraint handler for checking feasibility Definition at line 48 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
frequency for separating cuts; zero means to separate only in the root node Definition at line 49 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
frequency for propagating domains; zero means only preprocessing propagation Definition at line 50 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
frequency for using all instead of only the useful constraints in separation, propagation and enforcement, -1 for no eager evaluations, 0 for first only Definition at line 51 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
maximal number of presolving rounds the constraint handler participates in (-1: no limit) Definition at line 54 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
should separation method be delayed, if other separators found cuts? Definition at line 57 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
should propagation method be delayed, if other propagators found reductions? Definition at line 58 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
should the constraint handler be skipped, if no constraints are available? Definition at line 59 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
propagation timing mask of the constraint handler Definition at line 61 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
presolving timing of the constraint handler (fast, medium, or exhaustive) Definition at line 62 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
should type of slack constraint be checked when creating superindicator constraint? Definition at line 64 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
priority for upgrading to an indicator constraint (-1: never) Definition at line 65 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
priority for upgrading to a linear constraint (-1: never) Definition at line 66 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator().
maximum big-M coefficient of binary variable in upgrade to a linear constraint (relative to smallest coefficient) Definition at line 67 of file cons_superindicator.c. Referenced by SCIPincludeConshdlrSuperindicator(). Function Documentation
creates superindicator constraint data
Definition at line 100 of file cons_superindicator.c. References consdataCheckSuperindicator(), NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPcaptureCons(), SCIPdebugMessage, SCIPgetTransformedVar(), SCIPisTransformed(), and SCIPtransformCons(). Referenced by SCIPcreateConsSuperindicator().
checks the feasibility of a superindicator constraint
Definition at line 139 of file cons_superindicator.c. References extractLinearValues(), NULL, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_Real, SCIPcheckCons(), SCIPconsGetName(), SCIPdebugMessage, SCIPgetSolVal(), SCIPinfoMessage(), SCIPisFeasEQ(), SCIPisIntegral(), SCIPvarGetName(), and TRUE. Referenced by consdataCreateSuperindicator().
computes the minactivity, maxactivity, and minimal absolute value of nonzero coefficients of a linear constraint with respect to its global bounds
Definition at line 210 of file cons_superindicator.c. References FALSE, NULL, SCIP_Bool, SCIP_OKAY, SCIP_Real, SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPgetNVarsLinear(), SCIPgetValsLinear(), SCIPgetVarsLinear(), SCIPinfinity(), SCIPisInfinity(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), and upgradeIndicatorSuperindicator(). Referenced by consdataCheckSuperindicator(), and upgradeLinearSuperindicator().
tries to upgrade superindicator constraint to an indicator constraint
Definition at line 289 of file cons_superindicator.c. References FALSE, NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddCons(), SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsIndicator(), SCIPdebug, SCIPdebugMessage, SCIPdelCons(), SCIPfindConshdlr(), SCIPfreeBufferArray, SCIPgetLhsLinear(), SCIPgetNVarsLinear(), SCIPgetRhsLinear(), SCIPgetValsLinear(), SCIPgetVarsLinear(), SCIPisInfinity(), SCIPreleaseCons(), SCIPsnprintf(), TRUE, and upgradeLinearSuperindicator(). Referenced by extractLinearValues(), and upgradeSuperindicator().
upgrades a superindicator constraint to a linear constraint if possible
Definition at line 405 of file cons_superindicator.c. References extractLinearValues(), FALSE, NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddCons(), SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsLinear(), SCIPdebug, SCIPdebugMessage, SCIPdelCons(), SCIPfindConshdlr(), SCIPfreeBufferArray, SCIPgetLhsLinear(), SCIPgetNVarsLinear(), SCIPgetRhsLinear(), SCIPgetValsLinear(), SCIPgetVarsLinear(), SCIPinfinity(), SCIPisGE(), SCIPisInfinity(), SCIPisLE(), SCIPisNegative(), SCIPisPositive(), SCIPreleaseCons(), SCIPsnprintf(), TRUE, and upgradeSuperindicator(). Referenced by upgradeIndicatorSuperindicator(), and upgradeSuperindicator().
tries to upgrade a superindicator constraint in order of the upgrade priority parameters
Definition at line 608 of file cons_superindicator.c. References FALSE, NULL, SCIP_CALL, SCIP_DECL_CONSHDLRCOPY(), SCIP_OKAY, SCIPconsGetHdlr(), SCIPconshdlrGetData(), upgradeIndicatorSuperindicator(), and upgradeLinearSuperindicator(). Referenced by upgradeLinearSuperindicator().
copy method for constraint handler plugins (called when SCIP copies plugins) Definition at line 660 of file cons_superindicator.c. Referenced by upgradeSuperindicator().
destructor of constraint handler to free constraint handler data (called when SCIP is exiting) Definition at line 676 of file cons_superindicator.c.
presolving initialization method of constraint handler (called when presolving is about to begin) Definition at line 699 of file cons_superindicator.c.
frees specific constraint data Definition at line 720 of file cons_superindicator.c.
transforms constraint data into data belonging to the transformed problem Definition at line 743 of file cons_superindicator.c.
LP initialization method of constraint handler Definition at line 770 of file cons_superindicator.c.
separation method of constraint handler for LP solutions Definition at line 804 of file cons_superindicator.c.
separation method of constraint handler for arbitrary primal solutions Definition at line 913 of file cons_superindicator.c.
constraint enforcing method of constraint handler for LP solutions Definition at line 1023 of file cons_superindicator.c.
constraint enforcing method of constraint handler for pseudo solutions Definition at line 1133 of file cons_superindicator.c.
feasibility check method of constraint handler for integral solutions Definition at line 1267 of file cons_superindicator.c.
domain propagation method of constraint handler Definition at line 1295 of file cons_superindicator.c.
presolving method of constraint handler Definition at line 1388 of file cons_superindicator.c.
propagation conflict resolving method of constraint handler Definition at line 1501 of file cons_superindicator.c.
variable rounding lock method of constraint handler Definition at line 1534 of file cons_superindicator.c.
constraint display method of constraint handler Definition at line 1557 of file cons_superindicator.c.
constraint copying method of constraint handler Definition at line 1599 of file cons_superindicator.c.
constraint parsing method of constraint handler Definition at line 1718 of file cons_superindicator.c.
constraint method of constraint handler which returns the variables (if possible) Definition at line 1809 of file cons_superindicator.c.
constraint method of constraint handler which returns the number of variables (if possible) Definition at line 1833 of file cons_superindicator.c.
creates the handler for superindicator constraints and includes it in SCIP
Definition at line 1856 of file cons_superindicator.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, DEFAULT_CHECKSLACKTYPE, DEFAULT_MAXUPGDCOEFLINEAR, DEFAULT_UPGDPRIOINDICATOR, DEFAULT_UPGDPRIOLINEAR, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPaddBoolParam(), SCIPaddDialogEntry(), SCIPaddIntParam(), SCIPaddRealParam(), SCIPallocMemory, SCIPcreateConsSuperindicator(), SCIPdialogFindEntry(), SCIPdialogHasEntry(), SCIPerrorMessage, SCIPgetRootDialog(), SCIPincludeConshdlrBasic(), SCIPincludeDialog(), SCIPincludeDialogDefault(), SCIPreleaseDialog(), SCIPsetConshdlrCopy(), SCIPsetConshdlrDelete(), SCIPsetConshdlrFree(), SCIPsetConshdlrGetNVars(), SCIPsetConshdlrGetVars(), SCIPsetConshdlrInitlp(), SCIPsetConshdlrInitpre(), SCIPsetConshdlrParse(), SCIPsetConshdlrPresol(), SCIPsetConshdlrPrint(), SCIPsetConshdlrProp(), SCIPsetConshdlrResprop(), SCIPsetConshdlrSepa(), SCIPsetConshdlrTrans(), and TRUE. Referenced by SCIPincludeDefaultPlugins().
creates and captures a superindicator constraint
Definition at line 1958 of file cons_superindicator.c. References consdataCreateSuperindicator(), CONSHDLR_NAME, FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPcreateCons(), SCIPcreateConsBasicSuperindicator(), SCIPerrorMessage, SCIPfindConshdlr(), and SCIPwarningMessage(). Referenced by SCIPcreateConsBasicSuperindicator(), SCIPincludeConshdlrSuperindicator(), and SCIPtransformMinUC().
creates and captures a superindicator constraint in its most basic version, i. e., all constraint flags are set to their basic value as explained for the method SCIPcreateConsSuperindicator(); all flags can be set via SCIPsetConsFLAGNAME-methods in scip.h
Definition at line 2069 of file cons_superindicator.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateConsSuperindicator(), SCIPgetBinaryVarSuperindicator(), and TRUE. Referenced by SCIPcreateConsSuperindicator(). gets binary variable corresponding to the general indicator constraint
Definition at line 2091 of file cons_superindicator.c. References CONSHDLR_NAME, NULL, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPgetSlackConsSuperindicator(). Referenced by SCIPcreateConsBasicSuperindicator(). gets the slack constraint corresponding to the general indicator constraint
Definition at line 2103 of file cons_superindicator.c. References CONSHDLR_NAME, NULL, SCIP_Bool, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPtransformMinUC(). Referenced by SCIPgetBinaryVarSuperindicator().
transforms the current problem into a MinUC problem (minimizing the number of unsatisfied constraints), a CIP generalization of the MinULR (min. unsatisfied linear relations) problem
Definition at line 2122 of file cons_superindicator.c. References BMSduplicateMemoryArray, BMSfreeMemoryArray, FALSE, NULL, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_DECL_DIALOGEXEC(), SCIP_INVALIDCALL, SCIP_MAXSTRLEN, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIP_VARTYPE_BINARY, SCIPaddCons(), SCIPaddVar(), SCIPchgVarBranchPriority(), SCIPchgVarObj(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsSuperindicator(), SCIPcreateVar(), SCIPdebugMessage, SCIPdelCons(), SCIPerrorMessage, SCIPgetConss(), SCIPgetNConss(), SCIPgetNegatedVar(), SCIPgetStage(), SCIPgetVarsData(), SCIPreleaseCons(), SCIPreleaseVar(), SCIPsetObjsense(), SCIPsnprintf(), SCIPvarGetBranchPriority(), and TRUE. Referenced by SCIPgetSlackConsSuperindicator().
dialog execution method for the SCIPtransformMinUC() method Definition at line 2256 of file cons_superindicator.c. Referenced by SCIPtransformMinUC(). |