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 60 of file prop_sync.c.
Function Documentation
◆ applyBoundChanges()
|
static |
Definition at line 86 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_VARTYPE_INTEGER, SCIP_VERBLEVEL_FULL, SCIPdisableConcurrentBoundStorage(), SCIPenableConcurrentBoundStorage(), SCIPtightenVarLbGlobal(), SCIPtightenVarUbGlobal(), SCIPtpiGetThreadNum(), SCIPvarGetProbvarBound(), SCIPvarGetStatus(), SCIPvarGetType(), 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 153 of file prop_sync.c.
References NULL, PROP_NAME, SCIP_OKAY, SCIPfreeMemory, SCIPpropGetData(), SCIPpropGetName(), and SCIPpropSetData().
◆ SCIP_DECL_PROPINIT()
|
static |
initialization method of propagator (called after problem was transformed)
Definition at line 172 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 195 of file prop_sync.c.
References NULL, PROP_NAME, SCIP_OKAY, SCIPfreeBlockMemoryArrayNull, SCIPpropGetData(), and SCIPpropGetName().
◆ SCIP_DECL_PROPPRESOL()
|
static |
Definition at line 213 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 251 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().