#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.
Typedefs | |
typedef enum SCIP_ColumnOrdering | SCIP_COLUMNORDERING |
typedef enum SCIP_RowOrdering | SCIP_ROWORDERING |
typedef struct SCIP_OrbitopalReductionData | SCIP_ORBITOPALREDDATA |
Enumerations | |
enum | SCIP_ColumnOrdering { SCIP_COLUMNORDERING_NONE = 0, SCIP_COLUMNORDERING_FIRST = 1, SCIP_COLUMNORDERING_LAST = 2, SCIP_COLUMNORDERING_CENTRE = 3, SCIP_COLUMNORDERING_MEDIAN = 4 } |
enum | SCIP_RowOrdering { SCIP_ROWORDERING_NONE = 0, SCIP_ROWORDERING_BRANCHING = 1 } |
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 Documentation
◆ SCIP_COLUMNORDERING
typedef enum SCIP_ColumnOrdering SCIP_COLUMNORDERING |
variants for orbitope column ordering
Definition at line 56 of file symmetry_orbitopal.h.
◆ SCIP_ROWORDERING
typedef enum SCIP_RowOrdering SCIP_ROWORDERING |
variants for orbitope row ordering
Definition at line 64 of file symmetry_orbitopal.h.
◆ SCIP_ORBITOPALREDDATA
typedef struct SCIP_OrbitopalReductionData SCIP_ORBITOPALREDDATA |
data for orbitopal reduction
Definition at line 69 of file symmetry_orbitopal.h.
Enumeration Type Documentation
◆ SCIP_ColumnOrdering
enum SCIP_ColumnOrdering |
variants for orbitope column ordering
Definition at line 48 of file symmetry_orbitopal.h.
◆ SCIP_RowOrdering
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.
Function Documentation
◆ SCIPorbitopalReductionGetStatistics()
SCIP_RETCODE SCIPorbitopalReductionGetStatistics | ( | SCIP * | scip, |
SCIP_ORBITOPALREDDATA * | orbireddata, | ||
int * | nred, | ||
int * | ncutoff | ||
) |
gets the number of reductions
- Parameters
-
scip SCIP data structure orbireddata orbitopal reduction data structure nred total number of reductions applied ncutoff total number of cutoffs applied
Definition at line 2122 of file symmetry_orbitopal.c.
References NULL, and SCIP_OKAY.
Referenced by SCIP_DECL_TABLEOUTPUT().
◆ SCIPorbitopalReductionPrintStatistics()
SCIP_RETCODE SCIPorbitopalReductionPrintStatistics | ( | SCIP * | scip, |
SCIP_ORBITOPALREDDATA * | orbireddata | ||
) |
prints orbitopal reduction data
- Parameters
-
scip SCIP data structure orbireddata orbitopal reduction data structure
Definition at line 2141 of file symmetry_orbitopal.c.
References NULL, SCIP_OKAY, SCIP_VERBLEVEL_HIGH, and SCIPverbMessage().
Referenced by SCIPdisplaySymmetryStatistics().
◆ SCIPorbitopalReductionPropagate()
SCIP_RETCODE SCIPorbitopalReductionPropagate | ( | SCIP * | scip, |
SCIP_ORBITOPALREDDATA * | orbireddata, | ||
SCIP_Bool * | infeasible, | ||
int * | nred, | ||
SCIP_Bool * | didrun | ||
) |
propagates orbitopal reduction
- Parameters
-
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 2173 of file symmetry_orbitopal.c.
References FALSE, NULL, propagateOrbitope(), SCIP_CALL, SCIP_OKAY, SCIPallowStrongDualReds(), SCIPdebugMessage, SCIPinProbing(), and TRUE.
Referenced by propagateSymmetry().
◆ SCIPorbitopalReductionAddOrbitope()
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
- Parameters
-
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 2235 of file symmetry_orbitopal.c.
References addOrbitope(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfindConshdlr(), SCIPisTransformed(), and TRUE.
Referenced by addOrbitopesDynamic().
◆ SCIPorbitopalReductionReset()
SCIP_RETCODE SCIPorbitopalReductionReset | ( | SCIP * | scip, |
SCIP_ORBITOPALREDDATA * | orbireddata | ||
) |
resets orbitopal reduction data structure (clears all orbitopes)
- Parameters
-
scip SCIP data structure orbireddata pointer to orbitopal reduction structure to populate
Definition at line 2270 of file symmetry_orbitopal.c.
References freeOrbitope(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPfreeBlockMemoryArrayNull.
Referenced by resetDynamicSymmetryHandling(), and SCIPorbitopalReductionFree().
◆ SCIPorbitopalReductionFree()
SCIP_RETCODE SCIPorbitopalReductionFree | ( | SCIP * | scip, |
SCIP_ORBITOPALREDDATA ** | orbireddata | ||
) |
frees orbitopal reduction data
- Parameters
-
scip SCIP data structure orbireddata pointer to orbitopal reduction structure to populate
Definition at line 2297 of file symmetry_orbitopal.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, and SCIPorbitopalReductionReset().
Referenced by SCIP_DECL_PROPFREE().
◆ SCIPincludeOrbitopalReduction()
SCIP_RETCODE SCIPincludeOrbitopalReduction | ( | SCIP * | scip, |
SCIP_ORBITOPALREDDATA ** | orbireddata | ||
) |
initializes structures needed for orbitopal reduction
This is only done exactly once.
- Parameters
-
scip SCIP data structure orbireddata pointer to orbitopal reduction structure to populate
Definition at line 2317 of file symmetry_orbitopal.c.
References DEFAULT_COLUMNORDERING, EVENTHDLR_DESC, EVENTHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddIntParam(), SCIPallocBlockMemory, SCIPcheckStage(), SCIPfindEventhdlr(), SCIPincludeEventhdlrBasic(), SYMHDLR_NAME, and TRUE.
Referenced by SCIPincludePropSymmetry().
◆ SCIPorbitopalReductionGetDefaultColumnOrdering()
SCIP_COLUMNORDERING SCIPorbitopalReductionGetDefaultColumnOrdering | ( | SCIP_ORBITOPALREDDATA * | orbireddata | ) |
returns the default column ordering
- Parameters
-
orbireddata pointer to orbitopal reduction structure to populate
Definition at line 2363 of file symmetry_orbitopal.c.
References NULL.
Referenced by addOrbitopesDynamic().