fix singleton continuous variables
Investigate singleton continuous variables if one can be fixed at a bound.
Definition in file presol_stuffing.c.
#include <stdio.h>
#include <assert.h>
#include <string.h>
#include "scip/pub_matrix.h"
#include "presol_stuffing.h"
Go to the source code of this file.
Macros | |
#define | PRESOL_NAME "stuffing" |
#define | PRESOL_DESC "fix redundant singleton continuous variables" |
#define | PRESOL_PRIORITY -100 |
#define | PRESOL_MAXROUNDS 0 |
#define | PRESOL_TIMING SCIP_PRESOLTIMING_EXHAUSTIVE /* timing of the presolver (fast, medium, or exhaustive) */ |
Typedefs | |
typedef enum Fixingdirection | FIXINGDIRECTION |
Enumerations | |
enum | Fixingdirection { FIXATLB = -1, NOFIX = 0, FIXATUB = 1, FIXATLB = -1, NOFIX = 0, FIXATUB = 1, FIXATLB = -1, NOFIX = 0, FIXATLB = -1, NOFIX = 0, FIXATUB = 1 } |
Functions | |
static SCIP_RETCODE | singletonColumnStuffing (SCIP *scip, SCIP_MATRIX *matrix, FIXINGDIRECTION *varstofix, int *nfixings) |
static | SCIP_DECL_PRESOLCOPY (presolCopyStuffing) |
static | SCIP_DECL_PRESOLEXEC (presolExecStuffing) |
SCIP_RETCODE | SCIPincludePresolStuffing (SCIP *scip) |
#define PRESOL_NAME "stuffing" |
Definition at line 36 of file presol_stuffing.c.
Referenced by SCIP_DECL_PRESOLCOPY(), and SCIPincludePresolStuffing().
#define PRESOL_DESC "fix redundant singleton continuous variables" |
Definition at line 37 of file presol_stuffing.c.
Referenced by SCIPincludePresolStuffing().
#define PRESOL_PRIORITY -100 |
priority of the presolver (>= 0: before, < 0: after constraint handlers)
Definition at line 38 of file presol_stuffing.c.
Referenced by SCIPincludePresolStuffing().
#define PRESOL_MAXROUNDS 0 |
maximal number of presolving rounds the presolver participates in (-1: no limit)
Definition at line 39 of file presol_stuffing.c.
Referenced by SCIPincludePresolStuffing().
#define PRESOL_TIMING SCIP_PRESOLTIMING_EXHAUSTIVE /* timing of the presolver (fast, medium, or exhaustive) */ |
Definition at line 40 of file presol_stuffing.c.
Referenced by SCIPincludePresolStuffing().
typedef enum Fixingdirection FIXINGDIRECTION |
Definition at line 49 of file presol_stuffing.c.
enum Fixingdirection |
type of fixing direction
Definition at line 43 of file presol_stuffing.c.
|
static |
try to fix singleton continuous variables
scip | SCIP main data structure |
matrix | matrix containing the constraints |
varstofix | array holding fixing information |
nfixings | number of possible fixings |
Definition at line 57 of file presol_stuffing.c.
References BMSclearMemoryArray, FALSE, FIXATLB, FIXATUB, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPisGE(), SCIPisGT(), SCIPisInfinity(), SCIPisLE(), SCIPisLT(), SCIPmatrixGetColIdxPtr(), SCIPmatrixGetColNDownlocks(), SCIPmatrixGetColNNonzs(), SCIPmatrixGetColNUplocks(), SCIPmatrixGetNColumns(), SCIPmatrixGetNRows(), SCIPmatrixGetRowIdxPtr(), SCIPmatrixGetRowLhs(), SCIPmatrixGetRowNNonzs(), SCIPmatrixGetRowValPtr(), SCIPmatrixGetVar(), SCIPmatrixIsRowRhsInfinity(), SCIPsortRealRealIntInt(), SCIPvarGetLbGlobal(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetObj(), SCIPvarGetType(), SCIPvarGetUbGlobal(), and TRUE.
Referenced by SCIP_DECL_PRESOLEXEC().
|
static |
copy method for constraint handler plugins (called when SCIP copies plugins)
Definition at line 325 of file presol_stuffing.c.
References PRESOL_NAME, SCIP_CALL, SCIP_OKAY, SCIPincludePresolStuffing(), and SCIPpresolGetName().
|
static |
execution method of presolver
Definition at line 339 of file presol_stuffing.c.
References BMSclearMemoryArray, FIXATLB, FIXATUB, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_SUCCESS, SCIP_VARTYPE_CONTINUOUS, SCIPallocBufferArray, SCIPallowDualReds(), SCIPdebugMsg, SCIPfixVar(), SCIPfreeBufferArray, SCIPgetNActivePricers(), SCIPgetNContVars(), SCIPgetStage(), SCIPinProbing(), SCIPisInfinity(), SCIPisNLPEnabled(), SCIPisStopped(), SCIPmatrixCreate(), SCIPmatrixFree(), SCIPmatrixGetColNDownlocks(), SCIPmatrixGetColNUplocks(), SCIPmatrixGetNColumns(), SCIPmatrixGetVar(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetType(), SCIPvarGetUbGlobal(), and singletonColumnStuffing().