struct_cons.h
Go to the documentation of this file.
21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/ 41 SCIP_Real age; /**< age of constraint: number of successive times, the constraint was irrelevant */ 45 SCIP_CONS* transorigcons; /**< for original constraints: associated transformed constraint or NULL, 47 SCIP_CONSSETCHG* addconssetchg; /**< constraint change that added constraint to current subproblem, or NULL if 49 int addarraypos; /**< position of constraint in the conssetchg's/prob's addedconss/conss array */ 58 int activedepth; /**< depth level of constraint activation (-2: inactive, -1: problem constraint) */ 61 unsigned int markedprop:1; /**< TRUE iff the constraint is marked to be propagated during the next node processing */ 62 unsigned int initial:1; /**< TRUE iff LP relaxation of constraint should be in initial LP, if possible */ 66 unsigned int propagate:1; /**< TRUE iff constraint should be propagated during node processing */ 67 unsigned int sepaenabled:1; /**< TRUE iff constraint should be separated in the next separation call */ 68 unsigned int propenabled:1; /**< TRUE iff constraint should be propagated in the next propagation call */ 70 unsigned int modifiable:1; /**< TRUE iff constraint is modifiable (subject to column generation) */ 72 unsigned int removable:1; /**< TRUE iff relaxation should be removed from the LP due to aging or cleanup */ 73 unsigned int stickingatnode:1; /**< TRUE iff the node should always be kept at the node where it was added */ 75 unsigned int deleteconsdata:1; /**< TRUE iff constraint data has to be deleted if constraint is freed */ 81 unsigned int enabled:1; /**< TRUE iff constraint is enforced, separated, and propagated in current node */ 83 unsigned int markpropagate:1; /**< TRUE iff constraint is marked to be propagated in the next round */ 88 unsigned int updatedeactivate:1; /**< TRUE iff constraint has to be deactivated in update phase */ 91 unsigned int updatesepaenable:1; /**< TRUE iff constraint's separation has to be enabled in update phase */ 92 unsigned int updatesepadisable:1;/**< TRUE iff constraint's separation has to be disabled in update phase */ 93 unsigned int updatepropenable:1; /**< TRUE iff constraint's propagation has to be enabled in update phase */ 94 unsigned int updatepropdisable:1;/**< TRUE iff constraint's propagation has to be disabled in update phase */ 95 unsigned int updateobsolete:1; /**< TRUE iff obsolete status of constraint has to be updated in update phase */ 97 unsigned int updateactfocus:1; /**< TRUE iff delayed constraint activation happened at focus node */ 98 unsigned int updatemarkpropagate:1;/**< TRUE iff constraint has to be marked to be propagated in update phase */ 99 unsigned int updateunmarkpropagate:1;/**< TRUE iff constraint has to be unmarked to be propagated in update phase */ 126 SCIP_Longint ncutsapplied; /**< number of cuts found by this constraint handler applied to lp */ 127 SCIP_Longint nconssfound; /**< number of additional constraints added by this constraint handler */ 128 SCIP_Longint ndomredsfound; /**< number of domain reductions found so far by this constraint handler */ 129 SCIP_Longint nchildren; /**< number of children the constraint handler created during branching */ 130 SCIP_Longint lastpropdomchgcount;/**< last bound change number, where the domain propagation was called */ 131 SCIP_Longint storedpropdomchgcount;/**< bound change number, where the domain propagation was called last before starting probing */ 132 SCIP_Longint lastenfolpdomchgcount;/**< last bound change number, where the LP enforcement was called */ 133 SCIP_Longint lastenfopsdomchgcount;/**< last bound change number, where the pseudo enforcement was called */ 138 SCIP_Real ageresetavg; /**< exp. decaying weighted average of constraint ages at moment of age reset */ 141 SCIP_DECL_CONSHDLRCOPY((*conshdlrcopy)); /**< copy method of constraint handler or NULL if you don't want to copy your plugin into sub-SCIPs */ 145 SCIP_DECL_CONSINITPRE ((*consinitpre)); /**< presolving initialization method of constraint handler */ 146 SCIP_DECL_CONSEXITPRE ((*consexitpre)); /**< presolving deinitialization method of constraint handler */ 147 SCIP_DECL_CONSINITSOL ((*consinitsol)); /**< solving process initialization method of constraint handler */ 148 SCIP_DECL_CONSEXITSOL ((*consexitsol)); /**< solving process deinitialization method of constraint handler */ 150 SCIP_DECL_CONSTRANS ((*constrans)); /**< transform constraint data into data belonging to the transformed problem */ 151 SCIP_DECL_CONSINITLP ((*consinitlp)); /**< initialize LP with relaxations of "initial" constraints */ 153 SCIP_DECL_CONSSEPASOL ((*conssepasol)); /**< separate cutting planes for arbitrary primal solution */ 171 SCIP_DECL_CONSGETDIVEBDCHGS((*consgetdivebdchgs)); /**< constraint handler diving solution enforcement method */ 177 SCIP_CONS** initconss; /**< array with active constraints that must enter the LP with their initial representation */ 178 SCIP_CONS** sepaconss; /**< array with active constraints that must be separated during LP processing */ 179 SCIP_CONS** enfoconss; /**< array with active constraints that must be enforced during node processing */ 180 SCIP_CONS** checkconss; /**< array with active constraints that must be checked for feasibility */ 181 SCIP_CONS** propconss; /**< array with active constraints that must be propagated during node processing */ 182 SCIP_CONS** storedpropconss; /**< array to store constraints that were marked for propagation before 185 SCIP_CONS** updateconss; /**< array with constraints that changed and have to be update in the handler */ 186 SCIP_CLOCK* setuptime; /**< time spend for setting up this constraint handler for the next stages */ 192 SCIP_CLOCK* sbproptime; /**< time used for propagation of this constraint handler during strong branching */ 200 int sepafreq; /**< frequency for separating cuts; zero means to separate only in the root node */ 201 int propfreq; /**< frequency for propagating domains; zero means only preprocessing propagation */ 202 int eagerfreq; /**< frequency for using all instead of only the useful constraints in separation, 204 int maxprerounds; /**< maximal number of presolving rounds the constraint handler participates in (-1: no limit) */ 209 int startnactiveconss; /**< number of active constraints existing when problem solving started */ 212 int ninitconsskept; /**< number of active constraints that must enter the LP, but were not initialized at 217 int nusefulsepaconss; /**< number of non-obsolete active constraints that should be separated */ 219 int nenfoconss; /**< number of active constraints that must be enforced during node processing */ 225 int npropconss; /**< number of active constraints that may be propagated during node processing */ 226 int nmarkedpropconss; /**< number of active constraints which are marked to be propagated in the next round */ 227 int nusefulpropconss; /**< number of non-obsolete active constraints that should be propagated */ 229 int storednmarkedpropconss;/**< number of marked propagation constraints that are stored away */ 233 int lastnusefulpropconss;/**< number of already propagated useful constraints on current domains */ 234 int lastnusefulsepaconss;/**< number of already separated useful constraints on current solution */ 235 int lastnusefulenfoconss;/**< number of already enforced useful constraints on current solution */ 238 int lastnchgvartypes; /**< number of variable type changes before the last call to the presolver */ 239 int lastnchgbds; /**< number of variable bounds tightened before the last call to the presolver */ 243 int lastnupgdconss; /**< number of upgraded constraints before the last call to the presolver */ 245 int lastnchgsides; /**< number of changed left or right hand sides before the last call to the presolver */ 256 int npresolcalls; /**< number of times the constraint handler was called in presolving and tried to find reductions */ 257 int delayupdatecount; /**< must the updates of the constraint arrays be delayed until processUpdates()? */ 258 SCIP_Bool delaysepa; /**< should separation method be delayed, if other separators found cuts? */ 259 SCIP_Bool delayprop; /**< should propagation method be delayed, if other propagators found reductions? */ 260 SCIP_Bool needscons; /**< should the constraint handler be skipped, if no constraints are available? */ 267 SCIP_PROPTIMING proptiming; /**< positions in the node solving loop where propagation method of constraint handlers should be executed */ 268 SCIP_PRESOLTIMING presoltiming; /**< timing mask of the constraint handler's presolving method */
Definition: struct_scip.h:53 Definition: struct_cons.h:36 Definition: struct_cons.h:116 Definition: struct_misc.h:45 type definitions for clocks and timing issues Definition: struct_cons.h:105 common defines and data types used in all packages of SCIP Definition: struct_clock.h:54 type definitions for constraints and constraint handlers |