#include "scip/def.h"
#include "scip/type_retcode.h"
#include "scip/type_scip.h"
#include "scip/type_var.h"
#include "scip/type_event.h"
Go to the source code of this file.
Functions | |
SCIP_RETCODE | SCIPorbitalReductionGetStatistics (SCIP *scip, SCIP_ORBITALREDDATA *orbireddata, int *nred, int *ncutoff) |
SCIP_RETCODE | SCIPorbitalReductionPrintStatistics (SCIP *scip, SCIP_ORBITALREDDATA *orbireddata) |
SCIP_RETCODE | SCIPorbitalReductionPropagate (SCIP *scip, SCIP_ORBITALREDDATA *orbireddata, SCIP_Bool *infeasible, int *nred, SCIP_Bool *didrun) |
SCIP_RETCODE | SCIPorbitalReductionAddComponent (SCIP *scip, SCIP_ORBITALREDDATA *orbireddata, SCIP_VAR **permvars, int npermvars, int **perms, int nperms, SCIP_Bool *success) |
SCIP_RETCODE | SCIPorbitalReductionReset (SCIP *scip, SCIP_ORBITALREDDATA *orbireddata) |
SCIP_RETCODE | SCIPorbitalReductionFree (SCIP *scip, SCIP_ORBITALREDDATA **orbireddata) |
SCIP_RETCODE | SCIPincludeOrbitalReduction (SCIP *scip, SCIP_ORBITALREDDATA **orbireddata, SCIP_EVENTHDLR *shadowtreeeventhdlr) |
typedef struct SCIP_OrbitalReductionData SCIP_ORBITALREDDATA |
data for orbital reduction propagator
Definition at line 52 of file symmetry_orbital.h.
SCIP_RETCODE SCIPorbitalReductionGetStatistics | ( | SCIP * | scip, |
SCIP_ORBITALREDDATA * | orbireddata, | ||
int * | nred, | ||
int * | ncutoff ) |
prints orbital reduction data
scip | SCIP data structure |
orbireddata | orbital reduction data structure |
nred | pointer to store the total number of reductions applied |
ncutoff | pointer to store the total number of cutoffs applied |
Definition at line 1534 of file symmetry_orbital.c.
References assert(), NULL, and SCIP_OKAY.
Referenced by SCIP_DECL_TABLEOUTPUT().
SCIP_RETCODE SCIPorbitalReductionPrintStatistics | ( | SCIP * | scip, |
SCIP_ORBITALREDDATA * | orbireddata ) |
prints orbital reduction data
scip | SCIP data structure |
orbireddata | orbital reduction data structure |
Definition at line 1551 of file symmetry_orbital.c.
References assert(), i, NULL, SCIP_OKAY, SCIP_VERBLEVEL_HIGH, and SCIPverbMessage().
Referenced by SCIPdisplaySymmetryStatistics().
SCIP_RETCODE SCIPorbitalReductionPropagate | ( | SCIP * | scip, |
SCIP_ORBITALREDDATA * | orbireddata, | ||
SCIP_Bool * | infeasible, | ||
int * | nred, | ||
SCIP_Bool * | didrun ) |
propagates orbital reduction
scip | SCIP data structure |
orbireddata | orbital 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 1582 of file symmetry_orbital.c.
References assert(), c, FALSE, OrbitalReductionComponentData::nperms, NULL, orbitalReductionPropagateComponent(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPgetShadowTree(), SCIPinProbing(), SCIPinRepropagation(), and TRUE.
Referenced by propagateSymmetry().
SCIP_RETCODE SCIPorbitalReductionAddComponent | ( | SCIP * | scip, |
SCIP_ORBITALREDDATA * | orbireddata, | ||
SCIP_VAR ** | permvars, | ||
int | npermvars, | ||
int ** | perms, | ||
int | nperms, | ||
SCIP_Bool * | success ) |
adds component for orbital reduction
scip | SCIP data structure |
orbireddata | orbital reduction data structure |
permvars | variable array of the permutation |
npermvars | number of variables in that array |
perms | permutations in the component |
nperms | number of permutations in the component |
success | to store whether the component is successfully added |
Definition at line 1644 of file symmetry_orbital.c.
References addComponent(), assert(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, and SCIPisTransformed().
Referenced by tryAddOrbitalRedLexRed().
SCIP_RETCODE SCIPorbitalReductionReset | ( | SCIP * | scip, |
SCIP_ORBITALREDDATA * | orbireddata ) |
resets orbital reduction data structure (clears all components)
scip | SCIP data structure |
orbireddata | orbital reduction data structure |
Definition at line 1672 of file symmetry_orbital.c.
References assert(), freeComponent(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPfreeBlockMemoryArrayNull.
Referenced by resetDynamicSymmetryHandling(), and SCIPorbitalReductionFree().
SCIP_RETCODE SCIPorbitalReductionFree | ( | SCIP * | scip, |
SCIP_ORBITALREDDATA ** | orbireddata ) |
frees orbital reduction data
scip | SCIP data structure |
orbireddata | orbital reduction data structure |
Definition at line 1699 of file symmetry_orbital.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, and SCIPorbitalReductionReset().
Referenced by SCIP_DECL_PROPFREE().
SCIP_RETCODE SCIPincludeOrbitalReduction | ( | SCIP * | scip, |
SCIP_ORBITALREDDATA ** | orbireddata, | ||
SCIP_EVENTHDLR * | shadowtreeeventhdlr ) |
initializes structures needed for orbital reduction
This is only done exactly once.
scip | SCIP data structure |
orbireddata | pointer to orbital reduction data structure to populate |
shadowtreeeventhdlr | pointer to the shadow tree eventhdlr |
Definition at line 1719 of file symmetry_orbital.c.
References assert(), EVENTHDLR_SYMMETRY_DESC, EVENTHDLR_SYMMETRY_NAME, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPcheckStage(), SCIPincludeEventhdlrBasic(), and TRUE.
Referenced by SCIPincludePropSymmetry().