Scippy

SCIP

Solving Constraint Integer Programs

prop_sync.c File Reference

Detailed Description

propagator for applying global bound changes that were communicated by other concurrent solvers

Author
Robert Lion Gottwald

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

◆ PROP_DESC

#define PROP_DESC   "propagator for synchronization of bound changes"

Definition at line 40 of file prop_sync.c.

Referenced by SCIPincludePropSync().

◆ PROP_PRIORITY

#define PROP_PRIORITY   (INT_MAX/4)

propagator priority

Definition at line 41 of file prop_sync.c.

Referenced by SCIPincludePropSync().

◆ PROP_FREQ

#define PROP_FREQ   -1

propagator frequency

Definition at line 42 of file prop_sync.c.

Referenced by SCIPincludePropSync().

◆ PROP_DELAY

#define PROP_DELAY   FALSE

should propagation method be delayed, if other propagators found reductions?

Definition at line 43 of file prop_sync.c.

Referenced by SCIPincludePropSync().

◆ PROP_TIMING

#define PROP_TIMING   SCIP_PROPTIMING_ALWAYS

propagation timing mask

Definition at line 44 of file prop_sync.c.

Referenced by SCIPincludePropSync().

◆ 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 46 of file prop_sync.c.

Referenced by SCIPincludePropSync().

◆ PROP_PRESOLTIMING

#define PROP_PRESOLTIMING   SCIP_PRESOLTIMING_ALWAYS /* timing of the presolving method (fast, medium, or exhaustive) */

Definition at line 47 of file prop_sync.c.

Referenced by SCIPincludePropSync().

◆ PROP_PRESOL_MAXROUNDS

#define PROP_PRESOL_MAXROUNDS   -1

maximal number of presolving rounds the presolver participates in (-1: no limit)

Definition at line 48 of file prop_sync.c.

Referenced by SCIPincludePropSync().

Function Documentation

◆ applyBoundChanges()

◆ SCIP_DECL_PROPFREE()

static SCIP_DECL_PROPFREE ( propFreeSync  )
static

destructor of propagator to free user data (called when SCIP is exiting)

Definition at line 143 of file prop_sync.c.

References NULL, PROP_NAME, SCIP_DECL_PROPINIT(), SCIP_OKAY, SCIPfreeMemory, SCIPpropGetData(), SCIPpropGetName(), and SCIPpropSetData().

Referenced by applyBoundChanges().

◆ SCIP_DECL_PROPINIT()

static SCIP_DECL_PROPINIT ( propInitSync  )
static

initialization method of propagator (called after problem was transformed)

Definition at line 162 of file prop_sync.c.

References NULL, PROP_NAME, SCIP_DECL_PROPEXIT(), SCIP_OKAY, SCIPpropGetData(), and SCIPpropGetName().

Referenced by SCIP_DECL_PROPFREE().

◆ SCIP_DECL_PROPEXIT()

static SCIP_DECL_PROPEXIT ( propExitSync  )
static

deinitialization method of propagator (called before transformed problem is freed)

Definition at line 185 of file prop_sync.c.

References NULL, PROP_NAME, SCIP_DECL_PROPPRESOL(), SCIP_OKAY, SCIPfreeBlockMemoryArrayNull, SCIPpropGetData(), and SCIPpropGetName().

Referenced by SCIP_DECL_PROPINIT().

◆ SCIP_DECL_PROPPRESOL()

static SCIP_DECL_PROPPRESOL ( propPresolSync  )
static

◆ SCIP_DECL_PROPEXEC()

static SCIP_DECL_PROPEXEC ( propExecSync  )
static