Scippy

SCIP

Solving Constraint Integer Programs

compute_symmetry.h File Reference

Detailed Description

interface for symmetry computations

Author
Marc Pfetsch

Definition in file compute_symmetry.h.

Go to the source code of this file.

Functions

SCIP_Bool SYMcanComputeSymmetry (void)
 
const char * SYMsymmetryGetName (void)
 
const char * SYMsymmetryGetDesc (void)
 
const char * SYMsymmetryGetAddName (void)
 
const char * SYMsymmetryGetAddDesc (void)
 
SCIP_RETCODE SYMcomputeSymmetryGenerators (SCIP *scip, int maxgenerators, SYM_MATRIXDATA *matrixdata, SYM_EXPRDATA *exprdata, int *nperms, int *nmaxperms, int ***perms, SCIP_Real *log10groupsize, SCIP_Real *symcodetime)
 

Function Documentation

◆ SYMcanComputeSymmetry()

SCIP_Bool SYMcanComputeSymmetry ( void  )

return whether symmetry can be computed

Definition at line 979 of file compute_symmetry_bliss.cpp.

References FALSE, and TRUE.

Referenced by computeSymmetryGroup(), determineSymmetry(), and SCIPincludePropSymmetry().

◆ SYMsymmetryGetName()

const char* SYMsymmetryGetName ( void  )

return name of external program used to compute generators

Definition at line 1001 of file compute_symmetry_bliss.cpp.

References blissname, nautyname, and symmetryname.

Referenced by SCIPincludePropSymmetry().

◆ SYMsymmetryGetDesc()

const char* SYMsymmetryGetDesc ( void  )

return description of external program used to compute generators

Definition at line 1007 of file compute_symmetry_bliss.cpp.

Referenced by SCIPincludePropSymmetry().

◆ SYMsymmetryGetAddName()

const char* SYMsymmetryGetAddName ( void  )

return name of additional external program used for computing symmetries

Definition at line 1013 of file compute_symmetry_bliss.cpp.

References NULL, and symmetryaddname.

Referenced by SCIPincludePropSymmetry().

◆ SYMsymmetryGetAddDesc()

const char* SYMsymmetryGetAddDesc ( void  )

return description of additional external program used to compute symmetries

Definition at line 1019 of file compute_symmetry_bliss.cpp.

References NULL.

Referenced by SCIPincludePropSymmetry().

◆ SYMcomputeSymmetryGenerators()

SCIP_RETCODE SYMcomputeSymmetryGenerators ( SCIP scip,
int  maxgenerators,
SYM_MATRIXDATA matrixdata,
SYM_EXPRDATA exprdata,
int *  nperms,
int *  nmaxperms,
int ***  perms,
SCIP_Real log10groupsize,
SCIP_Real symcodetime 
)

compute generators of symmetry group

Parameters
scipSCIP pointer
maxgeneratorsmaximal number of generators constructed (= 0 if unlimited)
matrixdatadata for MIP matrix
exprdatadata for nonlinear constraints
npermspointer to store number of permutations
nmaxpermspointer to store maximal number of permutations (needed for freeing storage)
permspointer to store permutation generators as (nperms x npermvars) matrix
log10groupsizepointer to store size of group
symcodetimepointer to store the time for symmetry code

Definition at line 1025 of file compute_symmetry_bliss.cpp.

References blisshook(), createVariableNodes(), data_, determineGraphSize(), FALSE, fillGraphByConss(), fillGraphByLinearConss(), fillGraphByNonlinearConss(), BLISS_Data::maxgenerators, NAUTY_Data::maxgenerators, SYMMETRY_Data::maxgenerators, nautyhook(), BLISS_Data::nmaxperms, NAUTY_Data::nmaxperms, SYMMETRY_Data::nmaxperms, nnodes, BLISS_Data::nperms, NAUTY_Data::nperms, SYMMETRY_Data::nperms, BLISS_Data::npermvars, NAUTY_Data::npermvars, SYMMETRY_Data::npermvars, SYM_Matrixdata::npermvars, NULL, SYM_Matrixdata::nuniquevars, BLISS_Data::perms, NAUTY_Data::perms, SYMMETRY_Data::perms, sassyhook(), BLISS_Data::scip, NAUTY_Data::scip, SYMMETRY_Data::scip, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VERBLEVEL_MINIMAL, SCIPallocBufferArray, SCIPdebugMsg, SCIPfreeBlockMemoryArray, SCIPfreeBufferArray, SCIPgetProbName(), SCIPgetSolvingTime(), SCIPsnprintf(), SCIPsortIntInt(), and SCIPverbMessage().

Referenced by computeSymmetryGroup().