Detailed Description
fix singleton continuous variables
Investigate singleton continuous variables if one can be fixed at a bound.
Definition in file presol_stuffing.c.
#include "blockmemshell/memory.h"#include "scip/presol_stuffing.h"#include "scip/pub_matrix.h"#include "scip/pub_message.h"#include "scip/pub_misc_sort.h"#include "scip/pub_presol.h"#include "scip/pub_var.h"#include "scip/scip_general.h"#include "scip/scip_mem.h"#include "scip/scip_message.h"#include "scip/scip_nlp.h"#include "scip/scip_numerics.h"#include "scip/scip_presol.h"#include "scip/scip_pricer.h"#include "scip/scip_prob.h"#include "scip/scip_probing.h"#include "scip/scip_var.h"#include <string.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 , FIXATUB = 1 , 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) |
Macro Definition Documentation
◆ PRESOL_NAME
| #define PRESOL_NAME "stuffing" |
Definition at line 57 of file presol_stuffing.c.
◆ PRESOL_DESC
| #define PRESOL_DESC "fix redundant singleton continuous variables" |
Definition at line 58 of file presol_stuffing.c.
◆ PRESOL_PRIORITY
| #define PRESOL_PRIORITY -100 |
priority of the presolver (>= 0: before, < 0: after constraint handlers)
Definition at line 59 of file presol_stuffing.c.
◆ PRESOL_MAXROUNDS
| #define PRESOL_MAXROUNDS 0 |
maximal number of presolving rounds the presolver participates in (-1: no limit)
Definition at line 60 of file presol_stuffing.c.
◆ PRESOL_TIMING
| #define PRESOL_TIMING SCIP_PRESOLTIMING_EXHAUSTIVE /* timing of the presolver (fast, medium, or exhaustive) */ |
Definition at line 61 of file presol_stuffing.c.
Typedef Documentation
◆ FIXINGDIRECTION
| typedef enum Fixingdirection FIXINGDIRECTION |
Definition at line 70 of file presol_stuffing.c.
Enumeration Type Documentation
◆ Fixingdirection
| enum Fixingdirection |
type of fixing direction
Definition at line 64 of file presol_stuffing.c.
Function Documentation
◆ singletonColumnStuffing()
|
static |
try to fix singleton continuous variables
- Parameters
-
scip SCIP main data structure matrix matrix containing the constraints varstofix array holding fixing information nfixings number of possible fixings
Definition at line 78 of file presol_stuffing.c.
References BMSclearMemoryArray, FALSE, FIXATLB, FIXATUB, NULL, SCIP_Bool, SCIP_CALL, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPisGE(), SCIPisGT(), SCIPisInfinity(), SCIPisLE(), SCIPisLT(), SCIPmatrixGetColIdxPtr(), SCIPmatrixGetColNDownlocks(), SCIPmatrixGetColNNonzs(), SCIPmatrixGetColNUplocks(), SCIPmatrixGetNColumns(), SCIPmatrixGetNRows(), SCIPmatrixGetRowIdxPtr(), SCIPmatrixGetRowLhs(), SCIPmatrixGetRowNNonzs(), SCIPmatrixGetRowValPtr(), SCIPmatrixGetVar(), SCIPmatrixIsRowRhsInfinity(), SCIPsortRealRealIntInt(), SCIPvarGetLbGlobal(), SCIPvarGetNLocksDownType(), SCIPvarGetNLocksUpType(), SCIPvarGetObj(), SCIPvarGetUbGlobal(), SCIPvarIsIntegral(), and TRUE.
Referenced by SCIP_DECL_PRESOLEXEC().
◆ SCIP_DECL_PRESOLCOPY()
|
static |
copy method for constraint handler plugins (called when SCIP copies plugins)
Definition at line 346 of file presol_stuffing.c.
References NULL, PRESOL_NAME, SCIP_CALL, SCIP_OKAY, SCIPincludePresolStuffing(), and SCIPpresolGetName().
◆ SCIP_DECL_PRESOLEXEC()
|
static |
execution method of presolver
Definition at line 360 of file presol_stuffing.c.
References BMSclearMemoryArray, FALSE, FIXATLB, FIXATUB, NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_SUCCESS, SCIPallocBufferArray, SCIPallowStrongDualReds(), SCIPdebugMsg, SCIPfixVar(), SCIPfreeBufferArray, SCIPgetNActivePricers(), SCIPgetNContVars(), SCIPgetStage(), SCIPinProbing(), SCIPisInfinity(), SCIPisNLPEnabled(), SCIPisStopped(), SCIPmatrixCreate(), SCIPmatrixFree(), SCIPmatrixGetColNDownlocks(), SCIPmatrixGetColNUplocks(), SCIPmatrixGetNColumns(), SCIPmatrixGetVar(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetNLocksDownType(), SCIPvarGetNLocksUpType(), SCIPvarGetUbGlobal(), SCIPvarIsIntegral(), and singletonColumnStuffing().