Scippy

    SCIP

    Solving Constraint Integer Programs

    symmetry_orbital.h File Reference
    #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
    scipSCIP data structure
    orbireddataorbital reduction data structure
    nredpointer to store the total number of reductions applied
    ncutoffpointer 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_TABLECOLLECT(), and SCIP_DECL_TABLEOUTPUT().

    ◆ SCIPorbitalReductionPrintStatistics()

    SCIP_RETCODE SCIPorbitalReductionPrintStatistics ( SCIP scip,
    SCIP_ORBITALREDDATA orbireddata 
    )

    prints orbital reduction data

    Parameters
    scipSCIP data structure
    orbireddataorbital 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
    scipSCIP data structure
    orbireddataorbital reduction data structure
    infeasiblepointer to store whether infeasibility is found
    nredpointer to store the number of domain reductions
    didruna 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
    scipSCIP data structure
    orbireddataorbital reduction data structure
    permvarsvariable array of the permutation
    npermvarsnumber of variables in that array
    permspermutations in the component
    npermsnumber of permutations in the component
    successto store whether the component is successfully added

    Definition at line 1647 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
    scipSCIP data structure
    orbireddataorbital reduction data structure

    Definition at line 1675 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
    scipSCIP data structure
    orbireddataorbital reduction data structure

    Definition at line 1702 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
    scipSCIP data structure
    orbireddatapointer to orbital reduction data structure to populate
    shadowtreeeventhdlrpointer to the shadow tree eventhdlr

    Definition at line 1722 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().