stptest_extreduce.c
Go to the documentation of this file.
26 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
98 SCIP_CALL( extreduce_distDataInit(scip, graph, STPTEST_EXT_MAXNCLOSENODES, FALSE, FALSE, &distdata) );
133 SCIP_CALL( extreduce_distDataInit(scip, graph, STPTEST_EXT_MAXNCLOSENODES, FALSE, FALSE, &distdata) );
141 SCIP_CALL( extreduce_checkNode(scip, graph, redcostdata, node, star, extpermanent, deletable) );
168 SCIP_CALL( extreduce_distDataInit(scip, graph, STPTEST_EXT_MAXNCLOSENODES, FALSE, FALSE, &distdata) );
331 SCIP_CALL(extCheckArc(scip, graph, redcostdata, edgedeleted, testedge, -1, nnodes, &deletable, TRUE));
348 SCIP_CALL(extCheckArc(scip, graph, redcostdata, edgedeleted, testedge, edgedelete, nnodes, &deletable, TRUE));
419 SCIP_CALL(extCheckArc(scip, graph, redcostdata, edgedeleted, edge, -1, nnodes, &deletable, TRUE));
433 SCIP_CALL(extCheckArc(scip, graph, redcostdata, edgedeleted, edge, edgedelete, nnodes, &deletable, TRUE));
448 SCIP_CALL(extCheckArc(scip, graph, redcostdata, edgedeleted, edge, edgedelete, nnodes, &deletable, TRUE));
525 SCIP_CALL(extCheckArc(scip, graph, redcostdata, edgedeleted, edge, -1, nnodes, &deletable, TRUE));
533 SCIP_CALL(extCheckArc(scip, graph, redcostdata, edgedeleted, edge, -1, nnodes, &deletable, FALSE));
548 SCIP_CALL(extCheckArc(scip, graph, redcostdata, edgedeleted, edge, -1, nnodes, &deletable, TRUE));
558 SCIP_CALL(extCheckArc(scip, graph, redcostdata, edgedeleted, edge, edgedelete, nnodes, &deletable, TRUE));
638 SCIP_CALL(extCheckArc(scip, graph, redcostdata, edgedeleted, edge, -1, nnodes, &deletable, FALSE));
698 SCIP_CALL(extCheckArc(scip, graph, redcostdata, edgedeleted, edge, -1, nnodes, &deletable, FALSE));
768 /* put 5 as first target for both nodes 3 and 4 and set the distance to the second target too high */
1382 SCIP_CALL( extreduce_distDataInit(scip, graph, STPTEST_EXT_MAXNCLOSENODES, FALSE, FALSE, &distdata_default) );
1383 SCIP_CALL( extreduce_distDataInit(scip, graph, STPTEST_EXT_MAXNCLOSENODES, TRUE, TRUE, &distdata_biased) );
1385 SCIP_CALL( extreduce_mstbiasedCheck3NodeSimple(scip, graph, testnode, distdata_default, distdata_biased, &deletable) );
static SCIP_RETCODE testEdgeDeletedByMst2(SCIP *scip)
Definition: stptest_extreduce.c:934
static SCIP_RETCODE testNode3PseudoDeletedByContraction(SCIP *scip)
Definition: stptest_extreduce.c:1272
static SCIP_RETCODE testNode4PseudoDeletedBySd1(SCIP *scip)
Definition: stptest_extreduce.c:1623
Definition: graphdefs.h:184
Definition: struct_scip.h:59
static SCIP_RETCODE testPcNode3PseudoDeletedBySd1(SCIP *scip)
Definition: stptest_extreduce.c:2041
static SCIP_RETCODE testEdgeDeletedByMst1(SCIP *scip)
Definition: stptest_extreduce.c:880
void graph_edge_addBi(SCIP *, GRAPH *, int, int, double)
void extreduce_distDataFree(SCIP *, const GRAPH *, DISTDATA **)
Definition: extreduce_dist.c:1784
SCIP_RETCODE extreduce_checkArc(SCIP *, const GRAPH *, REDCOST *, int, EXTPERMA *, SCIP_Bool *)
Definition: extreduce_base.c:1794
static SCIP_RETCODE testPathReplaceDeletesEdge(SCIP *scip)
Definition: stptest_extreduce.c:2232
Definition: extreducedefs.h:101
Definition: reducedefs.h:71
static SCIP_RETCODE testNode3PseudoDeletedBySd2(SCIP *scip)
Definition: stptest_extreduce.c:1514
DISTDATA * distdata_default
Definition: extreducedefs.h:106
includes various files containing graph methods used for Steiner tree problems
static SCIP_RETCODE testEdgeDeletedByEqBottleneck2(SCIP *scip)
Definition: stptest_extreduce.c:1106
Definition: graphdefs.h:284
static void extInitRedCostArraysPc(const GRAPH *graph, REDCOST *redcostdata)
Definition: stptest_extreduce.c:226
SCIP_RETCODE stptest_graphSetUpRpcOrg(SCIP *, GRAPH *, int *, int *)
Definition: stptest_graph.c:317
SCIP_RETCODE extreduce_checkEdge(SCIP *, const GRAPH *, const REDCOST *, int, EXTPERMA *, SCIP_Bool *)
Definition: extreduce_base.c:1854
void stptest_extreduceTearDown(SCIP *scip, GRAPH *graph, REDCOST **redcostdata)
Definition: stptest_extreduce.c:2346
SCIP_RETCODE redcosts_initializeDistancesTop(SCIP *scip, GRAPH *g, REDCOST *redcostdata)
Definition: redcosts.c:573
static SCIP_RETCODE testEdgeNotDeleted1(SCIP *scip)
Definition: stptest_extreduce.c:1046
SCIP_RETCODE graph_pc_initPrizes(SCIP *, GRAPH *, int)
Definition: graph_pcbase.c:741
static SCIP_RETCODE extCheckArc(SCIP *scip, GRAPH *graph, REDCOST *redcostdata, STP_Bool *edgedeleted, int edge, int edgedelete, int nclosenodes, SCIP_Bool *deletable, SCIP_Bool equality)
Definition: stptest_extreduce.c:42
This file implements extended reduction techniques for several Steiner problems.
SCIP_RETCODE extreduce_extPermaInit(SCIP *, enum EXTRED_MODE, const GRAPH *, STP_Bool *, EXTPERMA **)
Definition: extreduce_data.c:162
static SCIP_RETCODE testEdgeDeletedBy3LeafSpg(SCIP *scip)
Definition: stptest_extreduce.c:1159
SCIP_Real * redcosts_getEdgeCostsTop(const REDCOST *redcostdata)
Definition: redcosts.c:202
SCIP_RETCODE graph_pseudoAncestors_addToEdge(SCIP *, int, int, GRAPH *)
Definition: graph_history.c:1523
void extreduce_edgeRemove(SCIP *, int, GRAPH *, DISTDATA *, EXTPERMA *)
Definition: extreduce_base.c:1946
Definition: type_retcode.h:33
static SCIP_RETCODE testGeneralStarDeletedEdge3(SCIP *scip)
Definition: stptest_extreduce.c:1852
static SCIP_RETCODE testEdgeDeletion4_deprecated(SCIP *scip, int variant)
Definition: stptest_extreduce.c:359
SCIP_Bool redcostEqualAllow
Definition: extreducedefs.h:128
static SCIP_RETCODE testNode3PseudoDeletedBySdBiasedSimple(SCIP *scip)
Definition: stptest_extreduce.c:1334
static SCIP_RETCODE testGeneralStarDeletedEdge2(SCIP *scip)
Definition: stptest_extreduce.c:1793
void extreduce_extPermaFree(SCIP *, EXTPERMA **)
Definition: extreduce_data.c:386
static SCIP_RETCODE testPcEdgeDeletedByMst1(SCIP *scip)
Definition: stptest_extreduce.c:1916
SCIP_RETCODE reduce_pathreplace(SCIP *, GRAPH *, int *)
Definition: reduce_path.c:1119
PATH * redcosts_getNodeToTermsPathsTop(const REDCOST *redcostdata)
Definition: redcosts.c:253
SCIP_RETCODE redcosts_init(SCIP *scip, int nnodes, int nedges, SCIP_Real cutoff, int redCostRoot, REDCOST **redcostdata)
Definition: redcosts.c:605
static SCIP_RETCODE testEdgeDeletion5_deprecated(SCIP *scip, int variant)
Definition: stptest_extreduce.c:269
Definition: extreducedefs.h:79
static SCIP_RETCODE testNode3PseudoDeletedBySdBiased(SCIP *scip)
Definition: stptest_extreduce.c:1400
static void extInitRedCostArrays(const GRAPH *graph, REDCOST *redcostdata)
Definition: stptest_extreduce.c:194
static SCIP_RETCODE extDeleteNodes(SCIP *scip, GRAPH *graph, REDCOST *redcostdata, SCIP_Bool allowEquality)
Definition: stptest_extreduce.c:156
int * redcosts_getNodeToTermsBasesTop(const REDCOST *redcostdata)
Definition: redcosts.c:277
static SCIP_RETCODE testPcNode4PseudoDeletedBySd1(SCIP *scip)
Definition: stptest_extreduce.c:2102
Portable definitions.
static SCIP_RETCODE testGeneralStarDeletedEdge1(SCIP *scip)
Definition: stptest_extreduce.c:1734
static SCIP_RETCODE testEdgeDeletedByEqBottleneck(SCIP *scip)
Definition: stptest_extreduce.c:995
static SCIP_RETCODE testEdgeDeletedByCommonRedCostsTargets(SCIP *scip)
Definition: stptest_extreduce.c:712
static SCIP_RETCODE testEdgeDeletedByMultiRedCosts(SCIP *scip)
Definition: stptest_extreduce.c:788
void redcosts_setCutoffTop(SCIP_Real cutoff, REDCOST *redcostdata)
Definition: redcosts.c:394
SCIP_RETCODE extreduce_distDataInit(SCIP *, GRAPH *, int, SCIP_Bool, SCIP_Bool, DISTDATA **)
Definition: extreduce_dist.c:1218
static SCIP_RETCODE testNode3PseudoDeletedBySd3(SCIP *scip)
Definition: stptest_extreduce.c:1565
includes various testing methods for Steiner tree problems
static SCIP_RETCODE testPathReplaceDeletesEdge2(SCIP *scip)
Definition: stptest_extreduce.c:2287
static SCIP_RETCODE testNode3PseudoDeletedByRedCosts1(SCIP *scip)
Definition: stptest_extreduce.c:1211
SCIP_RETCODE extreduce_deleteGeneralStars(SCIP *, REDCOST *, const int *, GRAPH *, STP_Bool *, int *)
Definition: extreduce_base.c:1750
static SCIP_RETCODE testPcEdgeNotDeleted(SCIP *scip)
Definition: stptest_extreduce.c:1979
static SCIP_RETCODE extCheckEdge(SCIP *scip, GRAPH *graph, REDCOST *redcostdata, STP_Bool *edgedeleted, int edge, SCIP_Bool *deletable, SCIP_Bool allowEquality)
Definition: stptest_extreduce.c:84
static SCIP_RETCODE testNode4PseudoNotDeletedBySd1(SCIP *scip)
Definition: stptest_extreduce.c:1680
SCIP_Real * redcosts_getRootToNodeDistTop(const REDCOST *redcostdata)
Definition: redcosts.c:228
Definition: redcosts.h:42
SCIP_RETCODE extreduce_mstbiasedCheck3NodeSimple(SCIP *, const GRAPH *, int, DISTDATA *, DISTDATA *, SCIP_Bool *)
Definition: extreduce_extmstbiased.c:226
SCIP_RETCODE extreduce_checkNode(SCIP *, const GRAPH *, const REDCOST *, int, STAR *, EXTPERMA *, SCIP_Bool *)
Definition: extreduce_base.c:1890
static SCIP_RETCODE testEdgeDeletion1_deprecated(SCIP *scip)
Definition: stptest_extreduce.c:651
static SCIP_RETCODE testEdgeDeletion2_deprecated(SCIP *scip, int variant)
Definition: stptest_extreduce.c:569
Definition: redcosts.c:34
Definition: reduce_util.c:53
Definition: objbenders.h:33
static SCIP_RETCODE extCheckNode(SCIP *scip, GRAPH *graph, REDCOST *redcostdata, STP_Bool *edgedeleted, int node, SCIP_Bool *deletable, SCIP_Bool allowEquality)
Definition: stptest_extreduce.c:118
includes various reduction methods for Steiner tree problems
static SCIP_RETCODE testNode3PseudoDeletedBySd1(SCIP *scip)
Definition: stptest_extreduce.c:1461
void redcosts_setRootTop(int root, REDCOST *redcostdata)
Definition: redcosts.c:447
static SCIP_RETCODE testEdgeDeletion3_deprecated(SCIP *scip, int variant)
Definition: stptest_extreduce.c:459
SCIP_RETCODE redcosts_initFromParams(SCIP *scip, const RCPARAMS *parameters, REDCOST **redcostdata)
Definition: redcosts.c:590
SCIP_RETCODE extreduce_pseudoDeleteNodes(SCIP *, const SCIP_Bool *, EXTPERMA *, GRAPH *, SCIP_Real *, int *)
Definition: extreduce_base.c:1668