#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.
Typedefs | |
typedef struct SCIP_OrbitalReductionData | SCIP_ORBITALREDDATA |
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 Documentation
◆ SCIP_ORBITALREDDATA
typedef struct SCIP_OrbitalReductionData SCIP_ORBITALREDDATA |
data for orbital reduction propagator
Definition at line 52 of file symmetry_orbital.h.
Function Documentation
◆ SCIPorbitalReductionGetStatistics()
SCIP_RETCODE SCIPorbitalReductionGetStatistics | ( | SCIP * | scip, |
SCIP_ORBITALREDDATA * | orbireddata, | ||
int * | nred, | ||
int * | ncutoff | ||
) |
prints orbital reduction data
- Parameters
-
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 NULL, and SCIP_OKAY.
Referenced by SCIP_DECL_TABLEOUTPUT().
◆ SCIPorbitalReductionPrintStatistics()
SCIP_RETCODE SCIPorbitalReductionPrintStatistics | ( | SCIP * | scip, |
SCIP_ORBITALREDDATA * | orbireddata | ||
) |
prints orbital reduction data
- Parameters
-
scip SCIP data structure orbireddata orbital reduction data structure
Definition at line 1551 of file symmetry_orbital.c.
References NULL, SCIP_OKAY, SCIP_VERBLEVEL_HIGH, and SCIPverbMessage().
Referenced by SCIPdisplaySymmetryStatistics().
◆ SCIPorbitalReductionPropagate()
SCIP_RETCODE SCIPorbitalReductionPropagate | ( | SCIP * | scip, |
SCIP_ORBITALREDDATA * | orbireddata, | ||
SCIP_Bool * | infeasible, | ||
int * | nred, | ||
SCIP_Bool * | didrun | ||
) |
propagates orbital reduction
- Parameters
-
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 FALSE, OrbitalReductionComponentData::nperms, NULL, orbitalReductionPropagateComponent(), SCIP_CALL, SCIP_OKAY, SCIPgetShadowTree(), SCIPinProbing(), SCIPinRepropagation(), and TRUE.
Referenced by propagateSymmetry().
◆ SCIPorbitalReductionAddComponent()
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
- Parameters
-
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(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPisTransformed().
Referenced by tryAddOrbitalRedLexRed().
◆ SCIPorbitalReductionReset()
SCIP_RETCODE SCIPorbitalReductionReset | ( | SCIP * | scip, |
SCIP_ORBITALREDDATA * | orbireddata | ||
) |
resets orbital reduction data structure (clears all components)
- Parameters
-
scip SCIP data structure orbireddata orbital reduction data structure
Definition at line 1672 of file symmetry_orbital.c.
References freeComponent(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPfreeBlockMemoryArrayNull.
Referenced by resetDynamicSymmetryHandling(), and SCIPorbitalReductionFree().
◆ SCIPorbitalReductionFree()
SCIP_RETCODE SCIPorbitalReductionFree | ( | SCIP * | scip, |
SCIP_ORBITALREDDATA ** | orbireddata | ||
) |
frees orbital reduction data
- Parameters
-
scip SCIP data structure orbireddata orbital reduction data structure
Definition at line 1699 of file symmetry_orbital.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, and SCIPorbitalReductionReset().
Referenced by SCIP_DECL_PROPFREE().
◆ SCIPincludeOrbitalReduction()
SCIP_RETCODE SCIPincludeOrbitalReduction | ( | SCIP * | scip, |
SCIP_ORBITALREDDATA ** | orbireddata, | ||
SCIP_EVENTHDLR * | shadowtreeeventhdlr | ||
) |
initializes structures needed for orbital reduction
This is only done exactly once.
- Parameters
-
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 EVENTHDLR_SYMMETRY_DESC, EVENTHDLR_SYMMETRY_NAME, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPcheckStage(), SCIPincludeEventhdlrBasic(), and TRUE.
Referenced by SCIPincludePropSymmetry().