Scippy

SCIP

Solving Constraint Integer Programs

prop_stp.h File Reference

Detailed Description

propagator for Steiner tree problems, using the LP reduced costs

Author
Daniel Rehfeldt

This propagator makes use of the reduced cost of an optimally solved LP relaxation to propagate the variables, see "SCIP-Jack - A solver for STP and variants with parallelization extensions" by Gamrath, Koch, Maher, Rehfeldt and Shinano

Definition in file prop_stp.h.

#include <stdio.h>
#include <stdlib.h>
#include "scip/scip.h"
#include "graph.h"
#include "probdata_stp.h"

Go to the source code of this file.

Functions

SCIP_RETCODE SCIPincludePropStp (SCIP *scip)
 
SCIP_RETCODE SCIPStpFixEdgeVarTo0 (SCIP *scip, SCIP_VAR *edgevar, SCIP_Bool *success)
 
SCIP_RETCODE SCIPStpFixEdgeVarTo1 (SCIP *scip, SCIP_VAR *edgevar, SCIP_Bool *success)
 
int SCIPStpNfixedEdges (SCIP *scip)
 
SCIP_RETCODE SCIPStpPropCheckForInfeas (SCIP *scip, SCIP_Bool *probisinfeas)
 
SCIP_RETCODE SCIPStpPropGetGraph (SCIP *scip, GRAPH **graph, SCIP_Longint *graphnodenumber, SCIP_Bool *probisinfeas, SCIP_Real *offset)
 
const SCIP_BoolSCIPStpPropGet2BoundedArr (SCIP *scip)
 

Function Documentation

◆ SCIPincludePropStp()

◆ SCIPStpFixEdgeVarTo0()

SCIP_RETCODE SCIPStpFixEdgeVarTo0 ( SCIP scip,
SCIP_VAR edgevar,
SCIP_Bool success 
)

fix a variable (corresponding to an edge) to 0

Parameters
scipSCIP data structure
edgevarthe variable to be fixed
successcould variable be fixed?

Definition at line 2419 of file prop_stp.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPchgVarUb(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE.

Referenced by reduce_boundHopRc(), and subsolFixOrgEdges().

◆ SCIPStpFixEdgeVarTo1()

SCIP_RETCODE SCIPStpFixEdgeVarTo1 ( SCIP scip,
SCIP_VAR edgevar,
SCIP_Bool success 
)

fix a variable (corresponding to an edge) to 1

Parameters
scipSCIP data structure
edgevarthe variable to be fixed
successcould variable be fixed?

Definition at line 2443 of file prop_stp.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPchgVarLb(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE.

Referenced by subsolFixOrgEdges().

◆ SCIPStpNfixedEdges()

int SCIPStpNfixedEdges ( SCIP scip)

return total number of arcs fixed by 'fixedgevar' method of this propagator

Parameters
scipSCIP data structure

Definition at line 2467 of file prop_stp.c.

References NULL, SCIPfindProp(), and SCIPpropGetData().

Referenced by abortSlackPruneEarly(), and SCIP_DECL_HEUREXEC().

◆ SCIPStpPropCheckForInfeas()

SCIP_RETCODE SCIPStpPropCheckForInfeas ( SCIP scip,
SCIP_Bool probisinfeas 
)

checks whether problem has become infeasible at current node

checks whether problem has become infeasible at current node NOTE: we basically check whether all terminals (at given B&B node) are reachable from root, taking bound changes into account

Parameters
scipSCIP data structure
probisinfeasis infeasible?

Definition at line 2488 of file prop_stp.c.

References FALSE, getGraphStatesDirected(), graph_get_nEdges(), graph_get_nNodes(), nnodes, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPprobdataGetGraph2(), and trailGraphWithStates().

Referenced by SCIP_DECL_PROPEXEC().

◆ SCIPStpPropGetGraph()

SCIP_RETCODE SCIPStpPropGetGraph ( SCIP scip,
GRAPH **  graph,
SCIP_Longint graphnodenumber,
SCIP_Bool probisinfeas,
SCIP_Real offset 
)

gets propagator graph

gives propagator graph

Parameters
scipSCIP data structure
graphgraph data
graphnodenumberpoint to b&b node for which graph is valid
probisinfeasinfeasible problem?
offsetneeded for PC/MW

Definition at line 2521 of file prop_stp.c.

References FALSE, graph_get_nEdges(), graph_get_nNodes(), graph_path_exit(), graph_valid(), initPropgraph(), nnodes, NULL, propgraphApplyBoundchanges(), propgraphPruneUnconnected(), SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPdebugMessage, SCIPfindProp(), SCIPfreeBufferArray, SCIPprobdataGetGraph2(), SCIPprobdataGetVars(), SCIPpropGetData(), TRUE, and updatePropgraph().

Referenced by SCIP_DECL_RELAXEXEC().

◆ SCIPStpPropGet2BoundedArr()

const SCIP_Bool* SCIPStpPropGet2BoundedArr ( SCIP scip)

gives array indicating which nodes are degree-2 bounded

Parameters
scipSCIP data structure

Definition at line 2593 of file prop_stp.c.

References NULL, SCIPfindProp(), and SCIPpropGetData().