Scippy

SCIP

Solving Constraint Integer Programs

prop_dualfix.c File Reference

Detailed Description

fixing roundable variables to best bound

Author
Tobias Achterberg
Stefan Heinz

Definition in file prop_dualfix.c.

#include <assert.h>
#include <string.h>
#include "scip/prop_dualfix.h"

Go to the source code of this file.

Macros

#define PROP_NAME   "dualfix"
 
#define PROP_DESC   "roundable variables dual fixing"
 
#define PROP_TIMING   SCIP_PROPTIMING_BEFORELP
 
#define PROP_PRIORITY   +8000000
 
#define PROP_FREQ   0
 
#define PROP_DELAY   FALSE
 
#define PROP_PRESOL_PRIORITY   +8000000
 
#define PROP_PRESOL_MAXROUNDS   -1
 
#define PROP_PRESOLTIMING   SCIP_PRESOLTIMING_FAST /* timing of the presolving method (fast, medium, or exhaustive) */
 

Functions

Local methods
static SCIP_RETCODE performDualfix (SCIP *scip, int *nfixedvars, SCIP_Bool *unbounded, SCIP_Bool *cutoff)
 
Callback methods
static SCIP_DECL_PROPCOPY (propCopyDualfix)
 
static SCIP_DECL_PROPPRESOL (propPresolDualfix)
 
static SCIP_DECL_PROPEXEC (propExecDualfix)
 
Interface methods
SCIP_RETCODE SCIPincludePropDualfix (SCIP *scip)
 

Macro Definition Documentation

#define PROP_NAME   "dualfix"
#define PROP_DESC   "roundable variables dual fixing"

Definition at line 31 of file prop_dualfix.c.

Referenced by SCIPincludePropDualfix().

#define PROP_TIMING   SCIP_PROPTIMING_BEFORELP

Definition at line 32 of file prop_dualfix.c.

Referenced by SCIPincludePropDualfix().

#define PROP_PRIORITY   +8000000

propagation priority

Definition at line 33 of file prop_dualfix.c.

Referenced by SCIPincludePropDualfix().

#define PROP_FREQ   0

propagation frequency

Definition at line 34 of file prop_dualfix.c.

Referenced by SCIPincludePropDualfix().

#define PROP_DELAY   FALSE

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

Definition at line 35 of file prop_dualfix.c.

Referenced by SCIPincludePropDualfix().

#define PROP_PRESOL_PRIORITY   +8000000

priority of the propagator (>= 0: before, < 0: after constraint handlers)

Definition at line 38 of file prop_dualfix.c.

Referenced by SCIPincludePropDualfix().

#define PROP_PRESOL_MAXROUNDS   -1

maximal number of propving rounds the propver participates in (-1: no limit)

Definition at line 39 of file prop_dualfix.c.

Referenced by SCIPincludePropDualfix().

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

Definition at line 40 of file prop_dualfix.c.

Referenced by SCIPincludePropDualfix().

Function Documentation

static SCIP_RETCODE performDualfix ( SCIP scip,
int *  nfixedvars,
SCIP_Bool unbounded,
SCIP_Bool cutoff 
)
static
static SCIP_DECL_PROPCOPY ( propCopyDualfix  )
static

copy method for constraint handler plugins (called when SCIP copies plugins)

Definition at line 212 of file prop_dualfix.c.

References NULL, PROP_NAME, SCIP_CALL, SCIP_DECL_PROPPRESOL(), SCIP_OKAY, SCIPincludePropDualfix(), and SCIPpropGetName().

Referenced by performDualfix().

static SCIP_DECL_PROPPRESOL ( propPresolDualfix  )
static
static SCIP_DECL_PROPEXEC ( propExecDualfix  )
static

execution method of propagator

Warning
Don't run in probing or in repropagation since this can lead to wrong conclusion

do not run if propagation w.r.t. current objective is not allowed

Definition at line 262 of file prop_dualfix.c.

References FALSE, NULL, performDualfix(), PROP_NAME, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_REDUCEDDOM, SCIP_UNBOUNDED, SCIPallowDualReds(), SCIPincludePropDualfix(), SCIPinProbing(), SCIPinRepropagation(), and SCIPpropGetName().

Referenced by SCIP_DECL_PROPPRESOL().

SCIP_RETCODE SCIPincludePropDualfix ( SCIP scip)

creates the dual fixing propagator and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 309 of file prop_dualfix.c.

References NULL, PROP_DELAY, PROP_DESC, PROP_FREQ, PROP_NAME, PROP_PRESOL_MAXROUNDS, PROP_PRESOL_PRIORITY, PROP_PRESOLTIMING, PROP_PRIORITY, PROP_TIMING, SCIP_CALL, SCIP_OKAY, SCIPincludePropBasic(), SCIPsetPropCopy(), and SCIPsetPropPresol().

Referenced by SCIP_DECL_PROPCOPY(), SCIP_DECL_PROPEXEC(), and SCIPincludeDefaultPlugins().