redcosts.c
Go to the documentation of this file.
24 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
84 SCIP_CALL( SCIPallocMemoryArray(scip, &(rc->lvl_nodeToTermsPaths), nLevels * nCloseTerms * nnodes) );
85 SCIP_CALL( SCIPallocMemoryArray(scip, &(rc->lvl_nodeToTermsBases), nLevels * nCloseTerms * nnodes) );
781 SCIPdebugMessage("SCIPgetLPSolstat(scip) != SCIP_LPSOLSTAT_OPTIMAL (%d) \n", SCIPgetLPSolstat(scip));
849 if( !(SCIPisFeasEQ(scip, SCIPgetSolVal(scip, NULL, vars[e]), 1.0) || SCIPisDualfeasZero(scip, SCIPgetVarRedcost(scip, vars[e]))) )
898 assert(SCIPisFeasEQ(scip, SCIPgetSolVal(scip, NULL, vars[e]), 1.0) || SCIPisDualfeasZero(scip, SCIPgetVarRedcost(scip, vars[e])));
static SCIP_RETCODE initFromParams(SCIP *scip, const RCPARAMS *parameters, REDCOST **redcostdata)
Definition: redcosts.c:58
void redcosts_setAndReturnCutoffFromBoundTop(SCIP_Real upperbound, REDCOST *redcostdata, SCIP_Real *cutoffbound)
Definition: redcosts.c:624
SCIP_Bool SCIPisFeasEQ(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
Definition: scip_numerics.c:773
Definition: graphdefs.h:184
Definition: struct_scip.h:59
void redcosts_increaseOnDeletedArcs(const GRAPH *graph, const STP_Bool *arcsdeleted, int level, REDCOST *redcostdata)
Definition: redcosts.c:682
static SCIP_Bool levelIsValid(const REDCOST *redcostdata, int level)
Definition: redcosts.c:126
SCIP_Real redcosts_getCutoffTop(const REDCOST *redcostdata)
Definition: redcosts.c:300
SCIP_Real * redcosts_getRootToNodeDist(const REDCOST *redcostdata, int level)
Definition: redcosts.c:213
void graph_get3nextTermPaths(GRAPH *, const SCIP_Real *, const SCIP_Real *, PATH *, int *, int *)
Definition: graph_tpath.c:1562
Definition: struct_var.h:198
int redcosts_getRoot(const REDCOST *redcostdata, int level)
Definition: redcosts.c:335
includes various files containing graph methods used for Steiner tree problems
void redcosts_setDualBound(SCIP_Real dualbound, int level, REDCOST *redcostdata)
Definition: redcosts.c:406
Definition: graphdefs.h:284
SCIP_Bool SCIPisDualfeasZero(SCIP *scip, SCIP_Real val)
Definition: scip_numerics.c:1011
SCIP_RETCODE redcosts_initializeDistancesTop(SCIP *scip, GRAPH *g, REDCOST *redcostdata)
Definition: redcosts.c:573
void graph_get2nextTermPaths(GRAPH *, const SCIP_Real *, const SCIP_Real *, PATH *, int *, int *)
Definition: graph_tpath.c:1542
SCIP_Real * redcosts_getEdgeCosts(const REDCOST *redcostdata, int level)
Definition: redcosts.c:187
int * redcosts_getNodeToTermsBases(const REDCOST *redcostdata, int level)
Definition: redcosts.c:264
SCIP_Real redcosts_getDualBoundTop(const REDCOST *redcostdata)
Definition: redcosts.c:324
void graph_path_execX(SCIP *, const GRAPH *, int, const SCIP_Real *, SCIP_Real *, int *)
Definition: graph_path.c:905
void redcosts_setCutoffFromBoundTop(SCIP_Real upperbound, REDCOST *redcostdata)
Definition: redcosts.c:670
SCIP_Real * redcosts_getEdgeCostsTop(const REDCOST *redcostdata)
Definition: redcosts.c:202
Definition: type_retcode.h:33
SCIP_Real redcosts_getCutoff(const REDCOST *redcostdata, int level)
Definition: redcosts.c:288
SCIP_RETCODE redcosts_initializeDistances(SCIP *scip, int level, GRAPH *g, REDCOST *redcostdata)
Definition: redcosts.c:473
SCIP_Bool SCIPisDualfeasNegative(SCIP *scip, SCIP_Real val)
Definition: scip_numerics.c:1035
Definition: type_lp.h:34
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
void redcosts_setRoot(int root, int level, REDCOST *redcostdata)
Definition: redcosts.c:433
SCIP_Real redcosts_getDualBound(int level, const REDCOST *redcostdata)
Definition: redcosts.c:311
int * redcosts_getNodeToTermsBasesTop(const REDCOST *redcostdata)
Definition: redcosts.c:277
Portable definitions.
void redcosts_setCutoffFromBound(SCIP_Real upperbound, int level, REDCOST *redcostdata)
Definition: redcosts.c:645
void redcosts_unifyBlockedEdgeCosts(const GRAPH *graph, int level, REDCOST *redcostdata)
Definition: redcosts.c:705
SCIP_Bool SCIPisDualfeasPositive(SCIP *scip, SCIP_Real val)
Definition: scip_numerics.c:1023
static int getStartPositionCloseTerms(const REDCOST *redcostdata, int level)
Definition: redcosts.c:140
SCIP_Bool redcosts_forLPareAvailable(SCIP *scip)
Definition: redcosts.c:767
Reduced cost based routines for Steiner problems.
void redcosts_setCutoffTop(SCIP_Real cutoff, REDCOST *redcostdata)
Definition: redcosts.c:394
void redcosts_setDualBoundTop(SCIP_Real dualbound, REDCOST *redcostdata)
Definition: redcosts.c:420
SCIP_Bool graph_pc_knotIsDummyTerm(const GRAPH *, int)
Definition: graph_pcbase.c:1344
SCIP_Bool redcosts_forLPareReliable(SCIP *scip, SCIP_VAR **vars, const GRAPH *graph)
Definition: redcosts.c:814
void redcosts_setCutoff(SCIP_Real cutoff, int level, REDCOST *redcostdata)
Definition: redcosts.c:380
PATH * redcosts_getNodeToTermsPaths(const REDCOST *redcostdata, int level)
Definition: redcosts.c:240
SCIP_Real * redcosts_getRootToNodeDistTop(const REDCOST *redcostdata)
Definition: redcosts.c:228
Definition: redcosts.h:42
void graph_add1stTermPaths(const GRAPH *, const SCIP_Real *, PATH *, int *, int *)
Definition: graph_tpath.c:1464
Definition: redcosts.c:34
Definition: objbenders.h:33
SCIP_Real SCIPgetSolVal(SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var)
Definition: scip_sol.c:1352
void redcosts_setRootTop(int root, REDCOST *redcostdata)
Definition: redcosts.c:447
SCIP_RETCODE redcosts_initFromParams(SCIP *scip, const RCPARAMS *parameters, REDCOST **redcostdata)
Definition: redcosts.c:590
void redcosts_increaseOnDeletedArcsTop(const GRAPH *graph, const STP_Bool *arcsdeleted, REDCOST *redcostdata)
Definition: redcosts.c:728
void redcosts_forLPget(SCIP *scip, SCIP_VAR **vars, const GRAPH *graph, SCIP_Real *redcosts)
Definition: redcosts.c:861