Scippy

    SCIP

    Solving Constraint Integer Programs

    Detailed Description

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

    Author
    Leona 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

    #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 SCIP_RETCODE applyBoundChanges ( SCIP scip,
    SCIP_PROPDATA data,
    SCIP_RESULT result,
    int *  ntightened,
    int *  ntightenedint 
    )
    static

    apply the stored bound changes

    Parameters
    scipSCIP data structure
    datapropagator data
    resultresult of propagations
    ntightenedpointer to store the number of tightened bounds
    ntightenedintpointer 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 SCIP_DECL_PROPFREE ( propFreeSync  )
    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 SCIP_DECL_PROPINIT ( propInitSync  )
    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 SCIP_DECL_PROPEXIT ( propExitSync  )
    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 SCIP_DECL_PROPPRESOL ( propPresolSync  )
    static

    ◆ SCIP_DECL_PROPEXEC()

    static SCIP_DECL_PROPEXEC ( propExecSync  )
    static