All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Detailed Descriptionconstraint handler for SOS type 1 constraints A specially ordered set of type 1 (SOS1) is a sequence of variables such that at most one variable is nonzero. The special case of two variables arises, for instance, from equilibrium or complementary conditions like . Note that it is in principle allowed that a variables appears twice, but it then can be fixed to 0. This implementation of this constraint handler is based on classical ideas, see e.g. The order of the variables is determined as follows:
The validity of the constraint is enforced by the classical SOS branching. Depending on the parameters there are two ways to choose the branching constraint. Either the constraint with the most number of nonzeros is chosen or the constraint with the largest nonzero-variable weight. The later version allows the user to specify an order for the branching importance of the constraints. Constraint branching can also be turned off. Definition in file cons_sos1.c. #include <assert.h> #include "scip/cons_sos1.h" #include "scip/cons_linear.h" #include "scip/cons_setppc.h" #include "scip/pub_misc.h" #include <string.h> #include <ctype.h> Go to the source code of this file.
Macro Definition Documentation
Definition at line 66 of file cons_sos1.c. Referenced by SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSEXITSOL(), SCIP_DECL_CONSFREE(), SCIP_DECL_CONSHDLRCOPY(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPRINT(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSRESPROP(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_CONSSEPASOL(), SCIP_DECL_CONSTRANS(), SCIPaddVarSOS1(), SCIPappendVarSOS1(), SCIPcreateConsSOS1(), SCIPgetNVarsSOS1(), SCIPgetVarsSOS1(), SCIPgetWeightsSOS1(), and SCIPincludeConshdlrSOS1().
Definition at line 67 of file cons_sos1.c. Referenced by SCIPincludeConshdlrSOS1().
priority of the constraint handler for separation Definition at line 68 of file cons_sos1.c. Referenced by SCIPincludeConshdlrSOS1().
priority of the constraint handler for constraint enforcing Definition at line 69 of file cons_sos1.c. Referenced by SCIPincludeConshdlrSOS1().
priority of the constraint handler for checking feasibility Definition at line 70 of file cons_sos1.c. Referenced by SCIPincludeConshdlrSOS1().
frequency for separating cuts; zero means to separate only in the root node Definition at line 71 of file cons_sos1.c. Referenced by SCIPincludeConshdlrSOS1().
frequency for propagating domains; zero means only preprocessing propagation Definition at line 72 of file cons_sos1.c. Referenced by SCIPincludeConshdlrSOS1().
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 73 of file cons_sos1.c. Referenced by SCIPincludeConshdlrSOS1().
maximal number of presolving rounds the constraint handler participates in (-1: no limit) Definition at line 75 of file cons_sos1.c. Referenced by SCIPincludeConshdlrSOS1().
should separation method be delayed, if other separators found cuts? Definition at line 76 of file cons_sos1.c. Referenced by SCIPincludeConshdlrSOS1().
should propagation method be delayed, if other propagators found reductions? Definition at line 77 of file cons_sos1.c. Referenced by SCIPincludeConshdlrSOS1().
should presolving method be delayed, if other presolvers found reductions? Definition at line 78 of file cons_sos1.c. Referenced by SCIPincludeConshdlrSOS1().
should the constraint handler be skipped, if no constraints are available? Definition at line 79 of file cons_sos1.c. Referenced by SCIPincludeConshdlrSOS1().
Definition at line 81 of file cons_sos1.c. Referenced by SCIPincludeConshdlrSOS1().
Definition at line 84 of file cons_sos1.c. Referenced by SCIP_DECL_EVENTEXEC(), and SCIPincludeConshdlrSOS1().
Definition at line 85 of file cons_sos1.c. Referenced by SCIPincludeConshdlrSOS1(). Function Documentation
fix variable in given node to 0 or add constraint if variable is multi-aggregated
Definition at line 112 of file cons_sos1.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPaddConsNode(), SCIPchgVarLbNode(), SCIPchgVarUbNode(), SCIPcreateConsLinear(), SCIPdebugMessage, SCIPisFeasNegative(), SCIPisFeasPositive(), SCIPisFeasZero(), SCIPreleaseCons(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), and TRUE. Referenced by enforceSOS1().
fix variable in local node to 0, and return whether the operation was feasible
Definition at line 163 of file cons_sos1.c. References FALSE, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_MULTAGGR, SCIPinferVarLbCons(), SCIPinferVarUbCons(), SCIPisFeasNegative(), SCIPisFeasPositive(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), and TRUE. Referenced by propSOS1().
add lock on variable
Definition at line 206 of file cons_sos1.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPisFeasNegative(), SCIPisFeasPositive(), SCIPlockVarCons(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal(). Referenced by handleNewVariableSOS1(), and presolRoundSOS1().
Definition at line 225 of file cons_sos1.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPisFeasNegative(), SCIPisFeasPositive(), SCIPunlockVarCons(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal(). Referenced by deleteVarSOS1(), and presolRoundSOS1().
ensures that the vars and weights array can store at least num entries
Definition at line 244 of file cons_sos1.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPcalcMemGrowSize(), and SCIPreallocBlockMemoryArray. Referenced by addVarSOS1(), and appendVarSOS1().
handle new variable
Definition at line 272 of file cons_sos1.c. References lockVariableSOS1(), NULL, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_OKAY, SCIPaddVarToRow(), SCIPcatchVarEvent(), SCIPconsGetHdlr(), SCIPconshdlrGetData(), SCIPisFeasNegative(), SCIPisFeasPositive(), SCIPisInfinity(), SCIPisZero(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetUbGlobal(), and SCIPvarGetUbLocal(). Referenced by addVarSOS1(), and appendVarSOS1().
adds a variable to an SOS1 constraint, at position given by weight - ascending order
Definition at line 328 of file cons_sos1.c. References consdataEnsurevarsSizeSOS1(), handleNewVariableSOS1(), NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsTransformed(), SCIPerrorMessage, SCIPgetTransformedVar(), SCIPvarIsTransformed(), and TRUE. Referenced by SCIPaddVarSOS1().
appends a variable to an SOS1 constraint
Definition at line 396 of file cons_sos1.c. References consdataEnsurevarsSizeSOS1(), FALSE, handleNewVariableSOS1(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsIsTransformed(), SCIPgetTransformedVar(), and SCIPvarIsTransformed(). Referenced by SCIPappendVarSOS1().
deletes a variable of an SOS1 constraint
Definition at line 440 of file cons_sos1.c. References NULL, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_OKAY, SCIPdropVarEvent(), and unlockVariableSOS1(). Referenced by presolRoundSOS1().
perform one presolving round We perform the following presolving steps.
Definition at line 483 of file cons_sos1.c. References deleteVarSOS1(), FALSE, lockVariableSOS1(), NULL, SCIP_Bool, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_OKAY, SCIP_Real, SCIPaddCons(), SCIPcatchVarEvent(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsSetpack(), SCIPdebugMessage, SCIPdelCons(), SCIPdropVarEvent(), SCIPfixVar(), SCIPgetProbvarSum(), SCIPisFeasNegative(), SCIPisFeasPositive(), SCIPisFeasZero(), SCIPisZero(), SCIPreleaseCons(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), TRUE, and unlockVariableSOS1(). Referenced by SCIP_DECL_CONSPRESOL().
propagate variables
Definition at line 683 of file cons_sos1.c. References FALSE, inferVariableZero(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsIsModifiable(), SCIPdebugMessage, SCIPdelConsLocal(), SCIPisFeasNegative(), SCIPisFeasPositive(), SCIPresetConsAge(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and TRUE. Referenced by enforceSOS1(), and SCIP_DECL_CONSPROP().
enforcement method We check whether the current solution is feasible, i.e., contains at most one nonzero variable. If not, we branch along the lines indicated by Beale and Tomlin: We first compute and . Then we search for the index that satisfies
The branches are then
If the constraint contains two variables, the branching of course simplifies. Depending on the parameters (
Constraint branching can also be turned off using parameter
Definition at line 812 of file cons_sos1.c. References branchCons(), fixVariableZeroNode(), NULL, propSOS1(), REALABS, SCIP_Bool, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHED, SCIP_CALL, SCIP_CUTOFF, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_Real, SCIP_REAL_MAX, SCIP_REDUCEDDOM, SCIPcalcChildEstimate(), SCIPcalcNodeselPriority(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPcreateChild(), SCIPdebugMessage, SCIPfloor(), SCIPgetSolVal(), SCIPisFeasZero(), SCIPresetConsAge(), and SCIPvarGetName(). Referenced by SCIP_DECL_CONSENFOLP(), and SCIP_DECL_CONSENFOPS().
Generate row We generate the row corresponding to the following simple valid inequalities:
where and are the nonzero and finite lower and upper bounds of the variables . If an upper bound < 0 or a lower bound > 0, the constraint itself is redundant, so the cut is not applied (lower bounds > 0 and upper bounds < 0 are usually detected in presolving or propagation). Infinite bounds and zero are skipped. Thus are all negative, which results in the inequality. Note that in fact, any mixture of nonzero finite lower and upper bounds would lead to a valid inequality as above. However, usually either the lower or upper bound is nonzero. Thus, the above inequalities are the most interesting.
Definition at line 1056 of file cons_sos1.c. References FALSE, NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddVarsToRow(), SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPcreateEmptyRowCons(), SCIPdebug, SCIPfreeBufferArray, SCIPinfinity(), SCIPisInfinity(), SCIPisNegative(), SCIPisPositive(), SCIPisZero(), SCIPprintRow(), SCIPsnprintf(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetUbGlobal(), and SCIPvarGetUbLocal(). Referenced by SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSSEPALP(), and SCIP_DECL_CONSSEPASOL().
copy method for constraint handler plugins (called when SCIP copies plugins) Definition at line 1164 of file cons_sos1.c. References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrSOS1(), and TRUE.
destructor of constraint handler to free constraint handler data (called when SCIP is exiting) Definition at line 1181 of file cons_sos1.c. References CONSHDLR_NAME, NULL, SCIP_OKAY, SCIPconshdlrGetData(), SCIPconshdlrGetName(), and SCIPfreeMemory.
solving process deinitialization method of constraint handler (called before branch and bound process data is freed) Definition at line 1200 of file cons_sos1.c. References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebugMessage, and SCIPreleaseRow().
frees specific constraint data Definition at line 1236 of file cons_sos1.c. References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_OKAY, SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPconsIsTransformed(), SCIPdebugMessage, SCIPdropVarEvent(), SCIPfreeBlockMemory, SCIPfreeBlockMemoryArray, and SCIPreleaseRow().
transforms constraint data into data belonging to the transformed problem Definition at line 1290 of file cons_sos1.c. References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPallocBlockMemory, SCIPallocBlockMemoryArray, SCIPcatchVarEvent(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateCons(), SCIPdebugMessage, SCIPduplicateBlockMemoryArray, SCIPgetTransformedVar(), SCIPisFeasNegative(), SCIPisFeasPositive(), SCIPsnprintf(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal().
presolving method of constraint handler Definition at line 1374 of file cons_sos1.c. References CONSHDLR_NAME, NULL, presolRoundSOS1(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_SUCCESS, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPconsIsModifiable(), and SCIPdebugMessage.
LP initialization method of constraint handler (called before the initial LP relaxation at a node is solved) Definition at line 1448 of file cons_sos1.c. References CONSHDLR_NAME, FALSE, generateRowSOS1(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPaddCut(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebug, SCIPdebugMessage, SCIPisEQ(), SCIPisInfinity(), SCIPprintRow(), SCIProwGetLhs(), SCIProwGetRhs(), and SCIProwIsInLP().
separation method of constraint handler for LP solutions Definition at line 1503 of file cons_sos1.c. References CONSHDLR_NAME, FALSE, generateRowSOS1(), NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_SEPARATED, SCIPaddCut(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebug, SCIPdebugMessage, SCIPisCutEfficacious(), SCIPisEQ(), SCIPisInfinity(), SCIPprintRow(), SCIPresetConsAge(), SCIProwGetLhs(), SCIProwGetRhs(), and SCIProwIsInLP().
separation method of constraint handler for arbitrary primal solutions Definition at line 1571 of file cons_sos1.c. References CONSHDLR_NAME, FALSE, generateRowSOS1(), NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_SEPARATED, SCIPaddCut(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebug, SCIPdebugMessage, SCIPisCutEfficacious(), SCIPisEQ(), SCIPisInfinity(), SCIPprintRow(), SCIPresetConsAge(), SCIProwGetLhs(), SCIProwGetRhs(), and SCIProwIsInLP().
constraint enforcing method of constraint handler for LP solutions Definition at line 1639 of file cons_sos1.c. References CONSHDLR_NAME, enforceSOS1(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPconshdlrGetName().
constraint enforcing method of constraint handler for pseudo solutions Definition at line 1655 of file cons_sos1.c. References CONSHDLR_NAME, enforceSOS1(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPconshdlrGetName().
feasibility check method of constraint handler for integral solutions We simply check whether at most one variable is nonzero in the given solution. Definition at line 1674 of file cons_sos1.c. References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebugMessage, SCIPgetSolVal(), SCIPinfoMessage(), SCIPisFeasZero(), SCIPprintCons(), SCIPresetConsAge(), and SCIPvarGetName().
domain propagation method of constraint handler Definition at line 1742 of file cons_sos1.c. References CONSHDLR_NAME, NULL, propSOS1(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_REDUCEDDOM, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebugMessage, and SCIPisTransformed().
propagation conflict resolving method of constraint handler We check which bound changes were the reason for infeasibility. We use that inferinfo stores the index of the variable that has bounds that fix it to be nonzero (these bounds are the reason). Definition at line 1792 of file cons_sos1.c. References CONSHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_SUCCESS, SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebugMessage, SCIPisFeasNegative(), SCIPisFeasPositive(), SCIPvarGetLbAtIndex(), and SCIPvarGetUbAtIndex().
variable rounding lock method of constraint handler Let lb and ub be the lower and upper bounds of a variable. Preprocessing usually makes sure that lb <= 0 <= ub.
Definition at line 1844 of file cons_sos1.c. References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddVarLocks(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebugMessage, SCIPisFeasNegative(), SCIPisFeasPositive(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal().
constraint display method of constraint handler Definition at line 1888 of file cons_sos1.c. References CONSHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconshdlrGetName(), SCIPinfoMessage(), and SCIPwriteVarName().
constraint copying method of constraint handler Definition at line 1918 of file cons_sos1.c. References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPcreateConsSOS1(), SCIPdebugMessage, SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPgetVarCopy(), and TRUE.
constraint parsing method of constraint handler Definition at line 1984 of file cons_sos1.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VERBLEVEL_MINIMAL, SCIPaddVarSOS1(), SCIPcreateConsSOS1(), SCIPparseVarName(), SCIPverbMessage(), and TRUE.
constraint method of constraint handler which returns the variables (if possible) Definition at line 2042 of file cons_sos1.c. References BMScopyMemoryArray, FALSE, NULL, SCIP_OKAY, SCIPconsGetData(), and TRUE.
constraint method of constraint handler which returns the number of variables (if possible) Definition at line 2065 of file cons_sos1.c. References NULL, SCIP_OKAY, SCIPconsGetData(), and TRUE.
Definition at line 2086 of file cons_sos1.c. References EVENTHDLR_NAME, NULL, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPerrorMessage, SCIPeventGetNewbound(), SCIPeventGetOldbound(), SCIPeventGetType(), SCIPeventGetVar(), SCIPeventhdlrGetName(), SCIPisFeasNegative(), SCIPisFeasPositive(), and SCIPvarGetName().
creates the handler for SOS1 constraints and includes it in SCIP
Definition at line 2144 of file cons_sos1.c. References CONSHDLR_CHECKPRIORITY, CONSHDLR_DELAYPRESOL, CONSHDLR_DELAYPROP, CONSHDLR_DELAYSEPA, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_MAXPREROUNDS, CONSHDLR_NAME, CONSHDLR_NEEDSCONS, CONSHDLR_PROP_TIMING, CONSHDLR_PROPFREQ, CONSHDLR_SEPAFREQ, CONSHDLR_SEPAPRIORITY, EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPaddBoolParam(), SCIPallocMemory, SCIPerrorMessage, SCIPincludeConshdlrBasic(), SCIPincludeEventhdlrBasic(), SCIPsetConshdlrCopy(), SCIPsetConshdlrDelete(), SCIPsetConshdlrExitsol(), SCIPsetConshdlrFree(), SCIPsetConshdlrGetNVars(), SCIPsetConshdlrGetVars(), SCIPsetConshdlrInitlp(), SCIPsetConshdlrParse(), SCIPsetConshdlrPresol(), SCIPsetConshdlrPrint(), SCIPsetConshdlrProp(), SCIPsetConshdlrResprop(), SCIPsetConshdlrSepa(), SCIPsetConshdlrTrans(), and TRUE. Referenced by SCIP_DECL_CONSHDLRCOPY(), and SCIPincludeDefaultPlugins().
creates and captures a SOS1 constraint We set the constraint to not be modifable. If the weights are non NULL, the variables are ordered according to these weights (in ascending order).
Definition at line 2211 of file cons_sos1.c. References CONSHDLR_NAME, FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPallocBlockMemory, SCIPcreateCons(), SCIPduplicateBlockMemoryArray, SCIPerrorMessage, SCIPfindConshdlr(), and SCIPsortRealPtr(). Referenced by readSOS(), readSos(), readSOScons(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSPARSE(), and SCIPcreateConsBasicSOS1().
creates and captures a SOS1 constraint with all constraint flags set to their default values.
Definition at line 2298 of file cons_sos1.c. References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcreateConsSOS1(), and TRUE.
adds variable to SOS1 constraint, the position is determined by the given weight
Definition at line 2314 of file cons_sos1.c. References addVarSOS1(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebugMessage, SCIPerrorMessage, and SCIPvarGetName(). Referenced by readSOS(), readSos(), readSOScons(), and SCIP_DECL_CONSPARSE().
appends variable to SOS1 constraint
Definition at line 2340 of file cons_sos1.c. References appendVarSOS1(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebugMessage, SCIPerrorMessage, and SCIPvarGetName(). gets number of variables in SOS1 constraint
Definition at line 2365 of file cons_sos1.c. References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by SCIP_DECL_READERWRITE(), SCIPwriteGms(), and SCIPwriteLp(). gets array of variables in SOS1 constraint
Definition at line 2390 of file cons_sos1.c. References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by SCIP_DECL_READERWRITE(), SCIPwriteGms(), and SCIPwriteLp(). gets array of weights in SOS1 constraint (or NULL if not existent)
Definition at line 2415 of file cons_sos1.c. References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by SCIP_DECL_READERWRITE(), and SCIPwriteLp(). |