compute_symmetry_bliss.cpp
Go to the documentation of this file.
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
62 /* make sure we do not generate more that maxgenerators many permutations, if the limit in bliss is not available */
104 if ( SCIPreallocBlockMemoryArray(data->scip, &data->perms, data->nmaxperms, newsize) != SCIP_OKAY )
177 * That is, given several variable nodes which are incident to one constraint node by the same color,
186 /* "colored" edges based on all matrix coefficients - loop through ordered matrix coefficients */
200 /* We pass through the matrix coeficients, grouped by color, i.e., different coefficients. If the coeffients appear
201 * in the same row or column, it suffices to only generate a single node (depending on groupByConstraints). We store
202 * this node in the array internodes. In order to avoid reinitialization, we store the node number with increasing
203 * numbers for each color. The smallest number for the current color is stored in firstcolornodenumber. */
219 assert( 0 <= matrixdata->matvaridx[idx] && matrixdata->matvaridx[idx] < matrixdata->npermvars );
223 assert( matrixdata->npermvars <= rhsnode && rhsnode < matrixdata->npermvars + matrixdata->nrhscoef );
306 return "Computing Graph Automorphism Groups by T. Junttila and P. Kaski (http://www.tcs.hut.fi/Software/bliss/)";
315 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:438
#define SCIPreallocBlockMemoryArray(scip, ptr, oldnum, newnum)
Definition: scip_mem.h:86
Definition: struct_scip.h:59
void SCIPverbMessage(SCIP *scip, SCIP_VERBLEVEL msgverblevel, FILE *file, const char *formatstr,...)
Definition: scip_message.c:216
SCIP_Bool SYMcanComputeSymmetry(void)
Definition: compute_symmetry_bliss.cpp:284
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:310
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:126
Definition: struct_symmetry.h:45
Definition: compute_symmetry_bliss.cpp:35
Definition: objbenders.h:33