type_prop.h File Reference Detailed Descriptiontype definitions for propagators Definition in file type_prop.h. #include "scip/def.h" #include "scip/type_retcode.h" #include "scip/type_result.h" #include "scip/type_scip.h" #include "scip/type_timing.h" Go to the source code of this file.
Macro Definition Documentation
copy method for propagator plugins (called when SCIP copies plugins) input:
Definition at line 47 of file type_prop.h.
destructor of propagator to free user data (called when SCIP is exiting) input:
Definition at line 55 of file type_prop.h.
initialization method of propagator (called after problem was transformed) input:
Definition at line 63 of file type_prop.h.
deinitialization method of propagator (called before transformed problem is freed) input:
Definition at line 71 of file type_prop.h.
presolving initialization method of propagator (called when presolving is about to begin) This method is called when the presolving process is about to begin, even if presolving is turned off. The propagator may use this call to initialize its presolving data, before the presolving process begins. Necessary modifications that have to be performed even if presolving is turned off should be done here or in the presolving deinitialization call (SCIP_DECL_PROPEXITPRE()). input:
Definition at line 85 of file type_prop.h.
presolving deinitialization method of propagator (called after presolving has been finished) This method is called after the presolving has been finished, even if presolving is turned off. The propagator may use this call e.g. to clean up its presolving data. Besides necessary modifications and clean up, no time consuming operations should be performed, especially if the problem has already been solved. Use the method SCIPgetStatus(), which in this case returns SCIP_STATUS_OPTIMAL, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_UNBOUNDED, or SCIP_STATUS_INFORUNBD. input:
Definition at line 100 of file type_prop.h.
solving process initialization method of propagator (called when branch and bound process is about to begin) This method is called when the presolving was finished and the branch and bound process is about to begin. The propagator may use this call to initialize its branch and bound specific data. Besides necessary modifications and clean up, no time consuming operations should be performed, especially if the problem has already been solved. Use the method SCIPgetStatus(), which in this case returns SCIP_STATUS_OPTIMAL, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_UNBOUNDED, or SCIP_STATUS_INFORUNBD. input:
Definition at line 115 of file type_prop.h.
solving process deinitialization method of propagator (called before branch and bound process data is freed) This method is called before the branch and bound process is freed. The propagator should use this call to clean up its branch and bound data. input:
Definition at line 127 of file type_prop.h.
Value:
int nnewfixedvars, int nnewaggrvars, int nnewchgvartypes, int nnewchgbds, int nnewholes, \ int nnewdelconss, int nnewaddconss, int nnewupgdconss, int nnewchgcoefs, int nnewchgsides, \ int* nfixedvars, int* naggrvars, int* nchgvartypes, int* nchgbds, int* naddholes, \ int* ndelconss, int* naddconss, int* nupgdconss, int* nchgcoefs, int* nchgsides, SCIP_RESULT* result)
Definition: struct_scip.h:53 Definition: struct_prop.h:36 Definition: objbranchrule.h:33 presolving method of propagator The presolver should go through the variables and constraints and tighten the domains or constraints. Each tightening should increase the given total numbers of changes. input:
input/output:
output:
possible return values for *result:
Definition at line 179 of file type_prop.h.
execution method of propagator Searches for domain propagations. The method is called in the node processing loop. input:
possible return values for *result:
Definition at line 202 of file type_prop.h.
Value:
Definition: struct_var.h:97 Definition: struct_scip.h:53 Definition: struct_var.h:196 Definition: struct_prop.h:36 Definition: objbranchrule.h:33 propagation conflict resolving method of propagator This method is called during conflict analysis. If the propagator wants to support conflict analysis, it should call SCIPinferVarLbProp() or SCIPinferVarUbProp() in domain propagation instead of SCIPchgVarLb() or SCIPchgVarUb() in order to deduce bound changes on variables. In the SCIPinferVarLbProp() and SCIPinferVarUbProp() calls, the propagator provides a pointer to itself and an integer value "inferinfo" that can be arbitrarily chosen. The propagation conflict resolving method can then be implemented, to provide a "reasons" for the bound changes, i.e. the bounds of variables at the time of the propagation, that forced the propagator to set the conflict variable's bound to its current value. It can use the "inferinfo" tag to identify its own propagation rule and thus identify the "reason" bounds. The bounds that form the reason of the assignment must then be provided by calls to SCIPaddConflictLb(), SCIPaddConflictUb(), SCIPaddConflictBd(), SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPaddConflictRelaxedBd(), and/or SCIPaddConflictBinvar() in the propagation conflict resolving method. See the description of the propagation conflict resolving method of constraint handlers for further details.
input:
output:
possible return values for *result:
Definition at line 243 of file type_prop.h. Typedef Documentationpropagator Definition at line 37 of file type_prop.h.
locally defined propagator data Definition at line 38 of file type_prop.h. |