Scippy

SCIP

Solving Constraint Integer Programs

presol_symmetry.h File Reference

Detailed Description

presolver for storing symmetry information about current problem

Author
Marc Pfetsch
Thomas Rehn

Definition in file presol_symmetry.h.

#include <scip/scip.h>
#include <symmetry/type_symmetry.h>

Go to the source code of this file.

Functions

SCIP_RETCODE SCIPincludePresolSymmetry (SCIP *scip)
 
SCIP_RETCODE SCIPgetGeneratorsSymmetry (SCIP *scip, int *npermvars, SCIP_VAR ***permvars, int *nperms, int ***perms, SCIP_Real *log10groupsize)
 
SCIP_RETCODE SCIPgetPermvarsObjSymmetry (SCIP *scip, SCIP_Real **permvarsobj)
 
SCIP_RETCODE SCIPregisterSymmetry (SCIP *scip, SYM_HANDLETYPE symtype, SYM_SPEC type, SYM_SPEC fixedtype)
 
SCIP_RETCODE SCIPgetTimingSymmetry (SCIP *scip, SCIP_Bool *afterpresolve)
 

Function Documentation

◆ SCIPincludePresolSymmetry()

◆ SCIPgetGeneratorsSymmetry()

SCIP_RETCODE SCIPgetGeneratorsSymmetry ( SCIP scip,
int *  npermvars,
SCIP_VAR ***  permvars,
int *  nperms,
int ***  perms,
SCIP_Real log10groupsize 
)

return symmetry group generators

Parameters
scipSCIP data structure
npermvarspointer to store number of variables for permutations
permvarspointer to store variables on which permutations act
npermspointer to store number of permutations
permspointer to store permutation generators as (nperms x npermvars) matrix
log10groupsizepointer to store log10 of group size (or NULL)

Definition at line 1620 of file presol_symmetry.c.

References determineSymmetry(), PRESOL_NAME, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIPerrorMessage, SCIPfindPresol(), SCIPgetStage(), SCIPpresolGetData(), and SCIPpresolGetName().

Referenced by SCIP_DECL_PRESOLEXEC(), and SCIP_DECL_PROPINITSOL().

◆ SCIPgetPermvarsObjSymmetry()

SCIP_RETCODE SCIPgetPermvarsObjSymmetry ( SCIP scip,
SCIP_Real **  permvarsobj 
)

return objective coefficients of permuted variables at time of symmetry computation

Parameters
scipSCIP data structure
permvarsobjpointer to store objective coefficients of permuted variables (NULL if not available)

Definition at line 1676 of file presol_symmetry.c.

References PRESOL_NAME, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPerrorMessage, SCIPfindPresol(), SCIPpresolGetData(), and SCIPpresolGetName().

Referenced by propagateOrbitalFixing().

◆ SCIPregisterSymmetry()

SCIP_RETCODE SCIPregisterSymmetry ( SCIP scip,
SYM_HANDLETYPE  symtype,
SYM_SPEC  type,
SYM_SPEC  fixedtype 
)

register that a specific symmetry is needed

Parameters
scipSCIP data structure
symtypetype of symmetry handling of callee
typevariable types the callee is interested in
fixedtypevariable types that callee wants to have fixed

Definition at line 1707 of file presol_symmetry.c.

References PRESOL_NAME, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPerrorMessage, SCIPfindPresol(), SCIPpresolGetData(), and SCIPpresolGetName().

Referenced by SCIP_DECL_PRESOLINIT(), SCIP_DECL_PRESOLINITPRE(), and SCIP_DECL_PROPINIT().

◆ SCIPgetTimingSymmetry()

SCIP_RETCODE SCIPgetTimingSymmetry ( SCIP scip,
SCIP_Bool afterpresolve 
)

return at what time symmetry is computed (before or after presolving)

Parameters
scipSCIP data structure
afterpresolvepointer to store whether symmetry is computed in stage initpre or exitpre

Definition at line 1748 of file presol_symmetry.c.

References PRESOL_NAME, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPerrorMessage, SCIPfindPresol(), SCIPpresolGetData(), and SCIPpresolGetName().

Referenced by SCIP_DECL_PRESOLINITPRE().