propagator for applying global bound changes that were communicated by other concurrent solvers
Definition in file prop_sync.c.
#include "blockmemshell/memory.h"#include "scip/concurrent.h"#include "scip/prop_sync.h"#include "scip/pub_message.h"#include "scip/pub_prop.h"#include "scip/pub_var.h"#include "scip/scip_mem.h"#include "scip/scip_message.h"#include "scip/scip_probing.h"#include "scip/scip_prop.h"#include "scip/scip_var.h"#include <string.h>#include "tpi/tpi.h"Go to the source code of this file.
Macros | |
| #define | PROP_NAME "sync" |
| #define | PROP_DESC "propagator for synchronization of bound changes" |
| #define | PROP_PRIORITY (INT_MAX/4) |
| #define | PROP_FREQ -1 |
| #define | PROP_DELAY FALSE |
| #define | PROP_TIMING SCIP_PROPTIMING_ALWAYS |
| #define | PROP_PRESOL_PRIORITY (INT_MAX/4) |
| #define | PROP_PRESOLTIMING SCIP_PRESOLTIMING_ALWAYS /* timing of the presolving method (fast, medium, or exhaustive) */ |
| #define | PROP_PRESOL_MAXROUNDS -1 |
Functions | |
| static SCIP_RETCODE | applyBoundChanges (SCIP *scip, SCIP_PROPDATA *data, SCIP_RESULT *result, int *ntightened, int *ntightenedint) |
| static | SCIP_DECL_PROPFREE (propFreeSync) |
| static | SCIP_DECL_PROPINIT (propInitSync) |
| static | SCIP_DECL_PROPEXIT (propExitSync) |
| static | SCIP_DECL_PROPPRESOL (propPresolSync) |
| static | SCIP_DECL_PROPEXEC (propExecSync) |
| SCIP_RETCODE | SCIPincludePropSync (SCIP *scip) |
| SCIP_RETCODE | SCIPpropSyncAddBndchg (SCIP *scip, SCIP_PROP *prop, SCIP_VAR *var, SCIP_Real val, SCIP_BOUNDTYPE bndtype) |
| SCIP_Longint | SCIPpropSyncGetNTightenedBnds (SCIP_PROP *prop) |
| SCIP_Longint | SCIPpropSyncGetNTightenedIntBnds (SCIP_PROP *prop) |
| #define PROP_NAME "sync" |
Definition at line 50 of file prop_sync.c.
Definition at line 51 of file prop_sync.c.
| #define PROP_PRIORITY (INT_MAX/4) |
propagator priority
Definition at line 52 of file prop_sync.c.
| #define PROP_FREQ -1 |
propagator frequency
Definition at line 53 of file prop_sync.c.
| #define PROP_DELAY FALSE |
should propagation method be delayed, if other propagators found reductions?
Definition at line 54 of file prop_sync.c.
| #define PROP_TIMING SCIP_PROPTIMING_ALWAYS |
propagation timing mask
Definition at line 55 of file prop_sync.c.
| #define PROP_PRESOL_PRIORITY (INT_MAX/4) |
priority of the presolving method (>= 0: before, < 0: after constraint handlers); combined with presolvers
Definition at line 57 of file prop_sync.c.
| #define PROP_PRESOLTIMING SCIP_PRESOLTIMING_ALWAYS /* timing of the presolving method (fast, medium, or exhaustive) */ |
Definition at line 58 of file prop_sync.c.
| #define PROP_PRESOL_MAXROUNDS -1 |
maximal number of presolving rounds the presolver participates in (-1: no limit)
Definition at line 59 of file prop_sync.c.
|
static |
apply the stored bound changes
| scip | SCIP data structure |
| data | propagator data |
| result | result of propagations |
| ntightened | pointer to store the number of tightened bounds |
| ntightenedint | pointer to store the number of tightened integer bounds |
Definition at line 85 of file prop_sync.c.
References assert(), FALSE, i, NULL, result, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_VARSTATUS_MULTAGGR, SCIP_VERBLEVEL_FULL, SCIPdisableConcurrentBoundStorage(), SCIPenableConcurrentBoundStorage(), SCIPtightenVarLbGlobal(), SCIPtightenVarUbGlobal(), SCIPtpiGetThreadNum(), SCIPvarGetProbvarBound(), SCIPvarGetStatus(), SCIPvarIsNonimpliedIntegral(), and SCIPverbMessage().
Referenced by SCIP_DECL_PROPEXEC(), and SCIP_DECL_PROPPRESOL().
|
static |
destructor of propagator to free user data (called when SCIP is exiting)
Definition at line 157 of file prop_sync.c.
References assert(), NULL, PROP_NAME, SCIP_OKAY, SCIPfreeBlockMemory, SCIPpropGetData(), SCIPpropGetName(), and SCIPpropSetData().
|
static |
initialization method of propagator (called after problem was transformed)
Definition at line 176 of file prop_sync.c.
References assert(), NULL, PROP_NAME, SCIP_OKAY, SCIPpropGetData(), and SCIPpropGetName().
|
static |
deinitialization method of propagator (called before transformed problem is freed)
Definition at line 199 of file prop_sync.c.
References assert(), NULL, PROP_NAME, SCIP_OKAY, SCIPfreeBlockMemoryArrayNull, SCIPpropGetData(), and SCIPpropGetName().
|
static |
presolving method of propagator
Definition at line 218 of file prop_sync.c.
References applyBoundChanges(), assert(), NULL, PROP_NAME, result, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_SUCCESS, SCIPinProbing(), SCIPpropGetData(), SCIPpropGetName(), and SCIPpropSetFreq().
|
static |
execution method of propagator
Definition at line 256 of file prop_sync.c.
References applyBoundChanges(), assert(), NULL, PROP_NAME, result, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_REDUCEDDOM, SCIPinProbing(), SCIPpropGetData(), SCIPpropGetName(), and SCIPpropSetFreq().