compute_symmetry_bliss.cpp
Go to the documentation of this file.
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
63 /* make sure we do not generate more that maxgenerators many permutations, if the limit is bliss is not available */
71 SCIP_RETCODE retcode = SCIPreallocBlockMemoryArray(data->scip, &data->perms, data->nmaxperms, newsize);
164 * That is, given several variable nodes which are incident to one constraint node by the same color,
173 /* "colored" edges based on all matrix coefficients - loop through ordered matrix coefficients */
187 /* We pass through the matrix coeficients, grouped by color, i.e., different coefficients. If the coeffients appear
188 * in the same row or column, it suffices to only generate a single node (depending on groupByConstraints). We store
189 * this node in the array internodes. In order to avoid reinitialization, we store the node number with increasing
190 * numbers for each color. The smallest number for the current color is stored in firstcolornodenumber. */
206 assert( 0 <= matrixdata->matvaridx[idx] && matrixdata->matvaridx[idx] < matrixdata->npermvars );
210 assert( matrixdata->npermvars <= rhsnode && rhsnode < matrixdata->npermvars + matrixdata->nrhscoef );
293 return "Computing Graph Automorphism Groups by T. Junttila and P. Kaski (http://www.tcs.hut.fi/Software/bliss/)";
302 int* nmaxperms, /**< pointer to store maximal number of permutations (needed for freeing storage) */
SCIP_Bool SCIPisEQ(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
Definition: scip_numerics.c:436
#define SCIPreallocBlockMemoryArray(scip, ptr, oldnum, newnum)
Definition: scip_mem.h:86
Definition: struct_scip.h:58
void SCIPverbMessage(SCIP *scip, SCIP_VERBLEVEL msgverblevel, FILE *file, const char *formatstr,...)
Definition: scip_message.c:215
SCIP_Bool SYMcanComputeSymmetry(void)
Definition: compute_symmetry_bliss.cpp:271
interface for symmetry computations
static void blisshook(void *user_param, unsigned int n, const unsigned int *aut)
Definition: compute_symmetry_bliss.cpp:48
Definition: type_retcode.h:33
SCIP_RETCODE SYMcomputeSymmetryGenerators(SCIP *scip, int maxgenerators, SYM_MATRIXDATA *matrixdata, int *nperms, int *nmaxperms, int ***perms, SCIP_Real *log10groupsize)
Definition: compute_symmetry_bliss.cpp:297
Definition: type_message.h:43
static SCIP_RETCODE fillGraphByColoredCoefficients(SCIP *scip, bliss::Graph *G, SYM_MATRIXDATA *matrixdata, int &nnodes, int &nedges, SCIP_Bool &success)
Definition: compute_symmetry_bliss.cpp:113
Definition: struct_symmetry.h:44
Definition: compute_symmetry_bliss.cpp:35
Definition: objbenders.h:33