Exemple #1
0
CliqueSeparation *clq_sep_create( const CGraph *origGraph )
{
    CliqueSeparation *clqSep = xmalloc( sizeof(CliqueSeparation) );

    clqSep->maxDepth      = CLQ_SEP_DEF_MAX_DEPTH;
    clqSep->maxPasses     = CLQ_SEP_DEF_MAX_PASSES;
    clqSep->minViol       = CLQ_SEP_DEF_MIN_VIOL;
    clqSep->minFrac       = CLQ_SEP_DEF_MIN_FRAC;
    clqSep->extendCliques = CLQ_SEP_DEF_EXTEND;
    clqSep->enumUsage     = CLQ_SEP_DEF_ENUM;
    clqSep->verbose       = CLQ_SEP_DEF_VERBOSE;
    clqSep->maxTimeBK     = CLQ_SEP_DEF_TLBK;
    clqSep->hasCosts = 0;
    clqSep->nodeCap = cgraph_size(origGraph);
    clqSep->clqEnum = clq_enum_create( 0 );
    vint_set_init( &(clqSep->clqEnumNeighs) );

    clqSep->iv = xmalloc( sizeof(int)*clqSep->nodeCap );
    clqSep->costs = xmalloc( sizeof(int)*clqSep->nodeCap );

    clqSep->cgraph = origGraph;

    clqSep->clqe = clqe_create();

    clqSep->clqSetOrig = clq_set_create();
    clqSep->clqSet = clq_set_create();

    clqSep->extendedCap = 1024;
    clqSep->extended = xmalloc( sizeof(char)*clqSep->extendedCap );

    return clqSep;
}
Exemple #2
0
CliqueSeparation *clq_sep_create( const CGraph *origGraph )
{
    CliqueSeparation *clqSep = xmalloc( sizeof(CliqueSeparation) );

    clqSep->minViol       = CLQ_SEP_DEF_MIN_VIOL;
    clqSep->minFrac       = CLQ_SEP_DEF_MIN_FRAC;
    clqSep->extendCliques = CLQ_SEP_DEF_CLQE_EXTEND;
    clqSep->verbose       = CLQ_SEP_DEF_VERBOSE;
    clqSep->maxItBK       = CLQ_SEP_DEF_MAX_IT_BK;
    clqSep->maxRC         = CLQ_SEP_DEF_CLQE_MAX_RC;
    clqSep->hasCosts = 0;
    clqSep->nodeCap = cgraph_size(origGraph);

    clqSep->iv = xmalloc( sizeof(int)*clqSep->nodeCap );
    clqSep->costs = xmalloc( sizeof(int)*clqSep->nodeCap );

    clqSep->cgraph = origGraph;

    clqSep->clqe = clqe_create();

    clqSep->clqSetOrig = clq_set_create();
    clqSep->clqSet = clq_set_create();

    clqSep->extendedCap = 1024;
    clqSep->extended = xmalloc( sizeof(char)*clqSep->extendedCap );

    return clqSep;
}