Detailed Description
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) |
Macro Definition Documentation
◆ PROP_NAME
| #define PROP_NAME "sync" |
Definition at line 50 of file prop_sync.c.
◆ PROP_DESC
| #define PROP_DESC "propagator for synchronization of bound changes" |
Definition at line 51 of file prop_sync.c.
◆ PROP_PRIORITY
| #define PROP_PRIORITY (INT_MAX/4) |
propagator priority
Definition at line 52 of file prop_sync.c.
◆ PROP_FREQ
| #define PROP_FREQ -1 |
propagator frequency
Definition at line 53 of file prop_sync.c.
◆ PROP_DELAY
| #define PROP_DELAY FALSE |
should propagation method be delayed, if other propagators found reductions?
Definition at line 54 of file prop_sync.c.
◆ PROP_TIMING
| #define PROP_TIMING SCIP_PROPTIMING_ALWAYS |
propagation timing mask
Definition at line 55 of file prop_sync.c.
◆ PROP_PRESOL_PRIORITY
| #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.
◆ PROP_PRESOLTIMING
| #define PROP_PRESOLTIMING SCIP_PRESOLTIMING_ALWAYS /* timing of the presolving method (fast, medium, or exhaustive) */ |
Definition at line 58 of file prop_sync.c.
◆ PROP_PRESOL_MAXROUNDS
| #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.
Function Documentation
◆ applyBoundChanges()
|
static |
apply the stored bound changes
- Parameters
-
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 FALSE, NULL, 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().
◆ SCIP_DECL_PROPFREE()
|
static |
destructor of propagator to free user data (called when SCIP is exiting)
Definition at line 157 of file prop_sync.c.
References NULL, PROP_NAME, SCIP_OKAY, SCIPfreeBlockMemory, SCIPpropGetData(), SCIPpropGetName(), and SCIPpropSetData().
◆ SCIP_DECL_PROPINIT()
|
static |
initialization method of propagator (called after problem was transformed)
Definition at line 176 of file prop_sync.c.
References NULL, PROP_NAME, SCIP_OKAY, SCIPpropGetData(), and SCIPpropGetName().
◆ SCIP_DECL_PROPEXIT()
|
static |
deinitialization method of propagator (called before transformed problem is freed)
Definition at line 199 of file prop_sync.c.
References NULL, PROP_NAME, SCIP_OKAY, SCIPfreeBlockMemoryArrayNull, SCIPpropGetData(), and SCIPpropGetName().
◆ SCIP_DECL_PROPPRESOL()
|
static |
presolving method of propagator
Definition at line 218 of file prop_sync.c.
References applyBoundChanges(), NULL, PROP_NAME, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_SUCCESS, SCIPinProbing(), SCIPpropGetData(), SCIPpropGetName(), and SCIPpropSetFreq().
◆ SCIP_DECL_PROPEXEC()
|
static |
execution method of propagator
Definition at line 256 of file prop_sync.c.
References applyBoundChanges(), NULL, PROP_NAME, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_REDUCEDDOM, SCIPinProbing(), SCIPpropGetData(), SCIPpropGetName(), and SCIPpropSetFreq().