reduce_sdcomp.c
Go to the documentation of this file.
20 * This file encompasses various special distance (aka bottleneck distance) based component reduction methods
222 SCIP_CALL( reduce_sdGetSdsCliquegraph(scip, g, node, bdk->node_neighbors, dijkdata, bdk->sdistance, cliquegraph) );
322 bdk->star_outedges = reduce_starGetNextAndPosition(bdk->star, bdk->star_outedges_pos, &(bdk->star_degree));
382 assert(GE(treesum, star_mstsds[0])); /* this value should already have been used for the SD computation*/
586 SCIPdebugMessage("3-star is distance-graph MST replacable: %f <= %f \n", maxcosts[0] + maxcosts[1], starcost);
658 SCIPdebugMessage("BD3-implied reduction of node %d with SDs: %f %f %f \n ",node, cutoffs[0], cutoffs[1], cutoffs[2]);
783 /* NOTE: in the case of g->terms < 3 the method does not work properly, and the case is easy enough to ignore it */
805 /* NOTE: in the case of g->terms < 3 the method does not work properly, and the case is easy enough to ignore it */
837 /* NOTE: in the case of g->terms < 3 the method does not work properly, and the case is easy enough to ignore it */
static SCIP_Bool bdkStarIsReplacableDeg3(SCIP *scip, int i, const GRAPH *g, BDK *bdk)
Definition: reduce_sdcomp.c:567
Definition: reduce_sdcomp.c:44
const int * reduce_starGetNextAndPosition(STAR *, int *, int *)
Definition: reduce_util.c:1886
static SCIP_RETCODE bdkGetCliqueSds(SCIP *scip, const GRAPH *g, int node, DIJK *dijkdata, BDK *bdk)
Definition: reduce_sdcomp.c:199
SCIP_Bool doEdgeReplacement
Definition: reduce_sdcomp.c:60
Definition: graphdefs.h:184
Definition: struct_scip.h:59
static void bdkGetCutoffs(const GRAPH *g, const BDK *bdk, int node, SCIP_Real *cutoffs)
Definition: reduce_sdcomp.c:230
static SCIP_Bool bdkStarIsReplacableDegGe4(SCIP *scip, int starcenter, const GRAPH *g, BDK *bdk)
Definition: reduce_sdcomp.c:603
static SCIP_Bool isPseudoDeletable(SCIP *scip, const GRAPH *g, const GRAPH *auxg, const SCIP_Real *ecost, const int *edges, int degree)
Definition: reduce_sd.c:1033
SCIP_Bool reduce_starAllAreChecked(const STAR *)
Definition: reduce_util.c:2002
void graph_path_exec(SCIP *, const GRAPH *, int, int, const SCIP_Real *, PATH *)
Definition: graph_path.c:541
static SCIP_Bool bdkStarIsSdMstReplacable(SCIP *scip, SCIP_Real starcost, const GRAPH *g, BDK *bdk)
Definition: reduce_sdcomp.c:494
includes various files containing graph methods used for Steiner tree problems
Definition: graphdefs.h:284
SCIP_RETCODE reduce_sdInitBiased(SCIP *, GRAPH *, SD **)
Definition: reduce_sdutil.c:751
const int * reduce_starGetRuledOutEdges(STAR *, int *)
Definition: reduce_util.c:1918
static SCIP_RETCODE bdkTryDegGe4(SCIP *scip, int node, GRAPH *g, BDK *bdk, int *nelims)
Definition: reduce_sdcomp.c:668
SCIP_Bool reduce_starHasPromisingEdges(const STAR *)
Definition: reduce_util.c:1990
const SCIP_Real * reduce_sdgraphGetOrderedMstCosts(const SDGRAPH *)
Definition: reduce_sdgraph.c:1989
static SCIP_Bool bdkNodeIsInvalid(const GRAPH *g, int node, int degree, const BDK *bdk)
Definition: reduce_sdcomp.c:158
static SCIP_Real bdkStarGetCombinedSdCost(const GRAPH *g, BDK *bdk)
Definition: reduce_sdcomp.c:360
void graph_dijkLimited_reset(const GRAPH *, DIJK *)
Definition: graph_util.c:2105
SCIP_RETCODE graph_edge_delPseudo(SCIP *, GRAPH *, const SCIP_Real *, const SCIP_Real *, const SCIP_Real *, int, SCIP_Real *, SCIP_Bool *)
Definition: graph_delpseudo.c:1097
Definition: reducedefs.h:135
SCIP_RETCODE reduce_bdkWithSd(SCIP *scip, int edgevisitlimit, SD *sdistance, GRAPH *g, int *nelims)
Definition: reduce_sdcomp.c:818
SCIP_RETCODE graph_knot_delPseudo(SCIP *, GRAPH *, const SCIP_Real *, const SCIP_Real *, const SCIP_Real *, int, REDCOST *, SCIP_Bool *)
Definition: graph_delpseudo.c:1015
Definition: type_retcode.h:33
SCIP_Bool graph_pseudoAncestors_edgesInConflict(SCIP *, const GRAPH *, const int *, int)
Definition: graph_history.c:1010
static SCIP_RETCODE bdkInit(SCIP *scip, SD *sdistance, BDK **bdk)
Definition: reduce_sdcomp.c:66
static void bdkGetNeighborhood(const GRAPH *g, int starcenter, BDK *bdk)
Definition: reduce_sdcomp.c:134
static SCIP_Real reduce_sdprofitGetProfit(const SDPROFIT *sdprofit, int node, int nonsource1, int nonsource2)
Definition: reducedefs.h:178
SCIP_RETCODE graph_dijkLimited_init(SCIP *, const GRAPH *, DIJK **)
Definition: graph_util.c:1989
struct bottleneck_distance_storage BDK
SCIP_RETCODE reduce_bdk(SCIP *scip, int edgevisitlimit, GRAPH *g, int *nelims)
Definition: reduce_sdcomp.c:774
const STP_Bool * edgehalf_isblocked
Definition: reduce_sdcomp.c:56
static int bdkStarGetMstStartNode(const GRAPH *cliquegraph)
Definition: reduce_sdcomp.c:441
Portable definitions.
SCIP_RETCODE reduce_sdGetSdsCliquegraph(SCIP *, const GRAPH *, int, const int *, DIJK *, SD *, GRAPH *)
Definition: reduce_sd.c:1394
Definition: reducedefs.h:122
static void bdkGetEdgeCutoffs(const GRAPH *g, const BDK *bdk, int edge, SCIP_Real *cutoffs)
Definition: reduce_sdcomp.c:264
static SCIP_Real bdkStarGetCost(int starcenter, const GRAPH *g, const BDK *bdk)
Definition: reduce_sdcomp.c:336
static void bdkStarStoreMstsCosts(int startnode, BDK *bdk)
Definition: reduce_sdcomp.c:464
SCIP_Bool reduce_sdgraphHasMstHalfMark(const SDGRAPH *)
Definition: reduce_sdgraph.c:1891
static SCIP_Bool bdkStarIsSdTreeReplacable(SCIP *scip, SCIP_Real starcost, const GRAPH *g, BDK *bdk)
Definition: reduce_sdcomp.c:533
void graph_dijkLimited_clean(const GRAPH *, DIJK *)
Definition: graph_util.c:2083
Definition: graphdefs.h:311
static SCIP_RETCODE bdkTryDeg3(SCIP *scip, int node, GRAPH *g, BDK *bdk, int *nelims)
Definition: reduce_sdcomp.c:632
SCIP_RETCODE reduce_bdkBiased(SCIP *scip, int edgevisitlimit, GRAPH *g, int *nelims)
Definition: reduce_sdcomp.c:796
SCIP_Bool SCIPisLE(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
Definition: scip_numerics.c:464
SCIP_RETCODE graph_buildCompleteGraph(SCIP *, GRAPH **, int)
Definition: graph_base.c:440
Definition: reduce_util.c:53
Definition: objbenders.h:33
const STP_Bool * reduce_sdgraphGetMstHalfMark(const SDGRAPH *)
Definition: reduce_sdgraph.c:1879
includes various reduction methods for Steiner tree problems
void SCIPsortDownReal(SCIP_Real *realarray, int len)
SCIP callable library.