Detailed Description
fixing roundable variables to best bound
Definition in file prop_dualfix.c.
#include "scip/prop_dualfix.h"
#include "scip/pub_message.h"
#include "scip/pub_prop.h"
#include "scip/pub_var.h"
#include "scip/scip_general.h"
#include "scip/scip_message.h"
#include "scip/scip_numerics.h"
#include "scip/scip_prob.h"
#include "scip/scip_probing.h"
#include "scip/scip_prop.h"
#include "scip/scip_tree.h"
#include "scip/scip_var.h"
#include <string.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
◆ PROP_NAME
#define PROP_NAME "dualfix" |
Definition at line 39 of file prop_dualfix.c.
Referenced by SCIP_DECL_PROPCOPY(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPPRESOL(), and SCIPincludePropDualfix().
◆ PROP_DESC
#define PROP_DESC "roundable variables dual fixing" |
Definition at line 40 of file prop_dualfix.c.
Referenced by SCIPincludePropDualfix().
◆ PROP_TIMING
#define PROP_TIMING SCIP_PROPTIMING_BEFORELP |
Definition at line 41 of file prop_dualfix.c.
Referenced by SCIPincludePropDualfix().
◆ PROP_PRIORITY
#define PROP_PRIORITY +8000000 |
propagation priority
Definition at line 42 of file prop_dualfix.c.
Referenced by SCIPincludePropDualfix().
◆ PROP_FREQ
#define PROP_FREQ 0 |
propagation frequency
Definition at line 43 of file prop_dualfix.c.
Referenced by SCIPincludePropDualfix().
◆ PROP_DELAY
#define PROP_DELAY FALSE |
should propagation method be delayed, if other propagators found reductions?
Definition at line 44 of file prop_dualfix.c.
Referenced by SCIPincludePropDualfix().
◆ PROP_PRESOL_PRIORITY
#define PROP_PRESOL_PRIORITY +8000000 |
priority of the propagator (>= 0: before, < 0: after constraint handlers)
Definition at line 47 of file prop_dualfix.c.
Referenced by SCIPincludePropDualfix().
◆ PROP_PRESOL_MAXROUNDS
#define PROP_PRESOL_MAXROUNDS -1 |
maximal number of propving rounds the propver participates in (-1: no limit)
Definition at line 48 of file prop_dualfix.c.
Referenced by SCIPincludePropDualfix().
◆ PROP_PRESOLTIMING
#define PROP_PRESOLTIMING SCIP_PRESOLTIMING_FAST /* timing of the presolving method (fast, medium, or exhaustive) */ |
Definition at line 49 of file prop_dualfix.c.
Referenced by SCIPincludePropDualfix().
Function Documentation
◆ performDualfix()
|
static |
perform dual presolving
- Parameters
-
scip SCIP data structure nfixedvars pointer to store number of fixed variables unbounded pointer to store if an unboundness was detected cutoff pointer to store if a cutoff was detected
Definition at line 59 of file prop_dualfix.c.
References bound, NULL, REALABS, SCIP_Bool, SCIP_CALL, SCIP_DECL_PROPCOPY(), SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_VERBLEVEL_NORMAL, SCIPceil(), SCIPdebugMsg, SCIPfixVar(), SCIPfloor(), SCIPgetNVars(), SCIPgetStage(), SCIPgetVars(), SCIPisEQ(), SCIPisFeasEQ(), SCIPisInfinity(), SCIPisLE(), SCIPisLT(), SCIPisNegative(), SCIPisPositive(), SCIPisZero(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetNLocksDownType(), SCIPvarGetNLocksUpType(), SCIPvarGetObj(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarIsDeleted(), SCIPvarMayRoundDown(), SCIPvarMayRoundUp(), SCIPverbMessage(), and TRUE.
Referenced by SCIP_DECL_PROPEXEC(), and SCIP_DECL_PROPPRESOL().
◆ SCIP_DECL_PROPCOPY()
|
static |
copy method for constraint handler plugins (called when SCIP copies plugins)
Definition at line 224 of file prop_dualfix.c.
References NULL, PROP_NAME, SCIP_CALL, SCIP_DECL_PROPPRESOL(), SCIP_OKAY, SCIPincludePropDualfix(), and SCIPpropGetName().
Referenced by performDualfix().
◆ SCIP_DECL_PROPPRESOL()
|
static |
presolving method of propagator
Definition at line 238 of file prop_dualfix.c.
References FALSE, NULL, performDualfix(), PROP_NAME, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_PROPEXEC(), SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_SUCCESS, SCIP_UNBOUNDED, SCIPallowStrongDualReds(), and SCIPpropGetName().
Referenced by SCIP_DECL_PROPCOPY().
◆ SCIP_DECL_PROPEXEC()
|
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 274 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, SCIPallowStrongDualReds(), SCIPincludePropDualfix(), SCIPinProbing(), SCIPinRepropagation(), and SCIPpropGetName().
Referenced by SCIP_DECL_PROPPRESOL().