#include "scip/def.h"
#include "scip/type_retcode.h"
#include "scip/type_scip.h"
#include "scip/type_var.h"
#include "symmetry/type_symmetry.h"
Go to the source code of this file.
Functions | |
SCIP_RETCODE | SCIPorbitopalReductionGetStatistics (SCIP *scip, SCIP_ORBITOPALREDDATA *orbireddata, int *nred, int *ncutoff) |
SCIP_RETCODE | SCIPorbitopalReductionPrintStatistics (SCIP *scip, SCIP_ORBITOPALREDDATA *orbireddata) |
SCIP_RETCODE | SCIPorbitopalReductionPropagate (SCIP *scip, SCIP_ORBITOPALREDDATA *orbireddata, SCIP_Bool *infeasible, int *nred, SCIP_Bool *didrun) |
SCIP_RETCODE | SCIPorbitopalReductionAddOrbitope (SCIP *scip, SCIP_ORBITOPALREDDATA *orbireddata, SCIP_ROWORDERING rowordering, SCIP_COLUMNORDERING colordering, SCIP_VAR **vars, int nrows, int ncols, SCIP_Bool *success) |
SCIP_RETCODE | SCIPorbitopalReductionReset (SCIP *scip, SCIP_ORBITOPALREDDATA *orbireddata) |
SCIP_RETCODE | SCIPorbitopalReductionFree (SCIP *scip, SCIP_ORBITOPALREDDATA **orbireddata) |
SCIP_RETCODE | SCIPincludeOrbitopalReduction (SCIP *scip, SCIP_ORBITOPALREDDATA **orbireddata) |
SCIP_COLUMNORDERING | SCIPorbitopalReductionGetDefaultColumnOrdering (SCIP_ORBITOPALREDDATA *orbireddata) |
typedef enum SCIP_ColumnOrdering SCIP_COLUMNORDERING |
variants for orbitope column ordering
Definition at line 56 of file symmetry_orbitopal.h.
typedef enum SCIP_RowOrdering SCIP_ROWORDERING |
variants for orbitope row ordering
Definition at line 64 of file symmetry_orbitopal.h.
typedef struct SCIP_OrbitopalReductionData SCIP_ORBITOPALREDDATA |
data for orbitopal reduction
Definition at line 69 of file symmetry_orbitopal.h.
enum SCIP_ColumnOrdering |
variants for orbitope column ordering
Definition at line 48 of file symmetry_orbitopal.h.
enum SCIP_RowOrdering |
variants for orbitope row ordering
Enumerator | |
---|---|
SCIP_ROWORDERING_NONE | do not order the rows |
SCIP_ROWORDERING_BRANCHING | choose rows based on branching variables |
Definition at line 59 of file symmetry_orbitopal.h.
SCIP_RETCODE SCIPorbitopalReductionGetStatistics | ( | SCIP * | scip, |
SCIP_ORBITOPALREDDATA * | orbireddata, | ||
int * | nred, | ||
int * | ncutoff ) |
gets the number of reductions
scip | SCIP data structure |
orbireddata | orbitopal reduction data structure |
nred | total number of reductions applied |
ncutoff | total number of cutoffs applied |
Definition at line 2119 of file symmetry_orbitopal.c.
References assert(), NULL, and SCIP_OKAY.
Referenced by SCIP_DECL_TABLEOUTPUT().
SCIP_RETCODE SCIPorbitopalReductionPrintStatistics | ( | SCIP * | scip, |
SCIP_ORBITOPALREDDATA * | orbireddata ) |
prints orbitopal reduction data
scip | SCIP data structure |
orbireddata | orbitopal reduction data structure |
Definition at line 2138 of file symmetry_orbitopal.c.
References assert(), i, NULL, SCIP_OKAY, SCIP_VERBLEVEL_HIGH, and SCIPverbMessage().
Referenced by SCIPdisplaySymmetryStatistics().
SCIP_RETCODE SCIPorbitopalReductionPropagate | ( | SCIP * | scip, |
SCIP_ORBITOPALREDDATA * | orbireddata, | ||
SCIP_Bool * | infeasible, | ||
int * | nred, | ||
SCIP_Bool * | didrun ) |
propagates orbitopal reduction
scip | SCIP data structure |
orbireddata | orbitopal reduction data structure |
infeasible | pointer to store whether infeasibility is found |
nred | pointer to store the number of domain reductions |
didrun | a global pointer maintaining if any symmetry propagator has run only set this to TRUE when a reduction is found, never set to FALSE |
Definition at line 2170 of file symmetry_orbitopal.c.
References assert(), c, FALSE, NULL, propagateOrbitope(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPallowStrongDualReds(), SCIPdebugMessage, SCIPinProbing(), and TRUE.
Referenced by propagateSymmetry().
SCIP_RETCODE SCIPorbitopalReductionAddOrbitope | ( | SCIP * | scip, |
SCIP_ORBITOPALREDDATA * | orbireddata, | ||
SCIP_ROWORDERING | rowordering, | ||
SCIP_COLUMNORDERING | colordering, | ||
SCIP_VAR ** | vars, | ||
int | nrows, | ||
int | ncols, | ||
SCIP_Bool * | success ) |
adds orbitopal component to orbitopal symmetry handler
scip | SCIP data structure |
orbireddata | orbitopal reduction data structure |
rowordering | specifies how rows of orbitope are ordered |
colordering | specifies how columnss of orbitope are ordered |
vars | matrix of variables on which the symmetry acts |
nrows | number of rows |
ncols | number of columns |
success | to store whether the component is successfully added |
Definition at line 2232 of file symmetry_orbitopal.c.
References addOrbitope(), assert(), BnbNodeInfo::nrows, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPfindConshdlr(), SCIPisTransformed(), TRUE, and vars.
Referenced by addOrbitopesDynamic().
SCIP_RETCODE SCIPorbitopalReductionReset | ( | SCIP * | scip, |
SCIP_ORBITOPALREDDATA * | orbireddata ) |
resets orbitopal reduction data structure (clears all orbitopes)
scip | SCIP data structure |
orbireddata | pointer to orbitopal reduction structure to populate |
Definition at line 2267 of file symmetry_orbitopal.c.
References assert(), freeOrbitope(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPfreeBlockMemoryArrayNull.
Referenced by resetDynamicSymmetryHandling(), and SCIPorbitopalReductionFree().
SCIP_RETCODE SCIPorbitopalReductionFree | ( | SCIP * | scip, |
SCIP_ORBITOPALREDDATA ** | orbireddata ) |
frees orbitopal reduction data
scip | SCIP data structure |
orbireddata | pointer to orbitopal reduction structure to populate |
Definition at line 2294 of file symmetry_orbitopal.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, and SCIPorbitopalReductionReset().
Referenced by SCIP_DECL_PROPFREE().
SCIP_RETCODE SCIPincludeOrbitopalReduction | ( | SCIP * | scip, |
SCIP_ORBITOPALREDDATA ** | orbireddata ) |
initializes structures needed for orbitopal reduction
This is only done exactly once.
scip | SCIP data structure |
orbireddata | pointer to orbitopal reduction structure to populate |
Definition at line 2314 of file symmetry_orbitopal.c.
References assert(), DEFAULT_COLUMNORDERING, EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddIntParam(), SCIPallocBlockMemory, SCIPcheckStage(), SCIPfindEventhdlr(), SCIPincludeEventhdlrBasic(), SYMHDLR_NAME, and TRUE.
Referenced by SCIPincludePropSymmetry().
SCIP_COLUMNORDERING SCIPorbitopalReductionGetDefaultColumnOrdering | ( | SCIP_ORBITOPALREDDATA * | orbireddata | ) |
returns the default column ordering
orbireddata | pointer to orbitopal reduction structure to populate |
Definition at line 2360 of file symmetry_orbitopal.c.
References assert(), and NULL.
Referenced by addOrbitopesDynamic().