Scippy

SCIP

Solving Constraint Integer Programs

cons_stp.h File Reference

Detailed Description

Constraint handler for Steiner problems.

Author
Gerald Gamrath
Daniel Rehfeldt
Michael Winkler

This file checks solutions for feasibility and separates violated model constraints. For more details see Separating violated constraints page.

Definition in file cons_stp.h.

#include "scip/scip.h"
#include "grph.h"

Go to the source code of this file.

Functions

SCIP_RETCODE SCIPincludeConshdlrStp (SCIP *scip)
 
SCIP_RETCODE SCIPcreateConsStp (SCIP *scip, SCIP_CONS **cons, const char *name, GRAPH *graph)
 
SCIP_RETCODE SCIPdualAscentStp (SCIP *scip, GRAPH *g, SCIP_Real *redcost, SCIP_Real *objval, SCIP_Bool addcuts, GNODE **gnodearrterms, int *edgearrint, int *nodearrint, int root, int nruns, char *edgearrchar, char *nodearrchar)
 
SCIP_RETCODE SCIPdualAscentPcStp (SCIP *scip, GRAPH *g, SCIP_Real *redcost, SCIP_Real *objval, SCIP_Bool addcuts, int nruns)
 
SCIP_RETCODE SCIPdualAscentAddCutsStp (SCIP *scip, GRAPH *g, int nruns)
 

Function Documentation

SCIP_RETCODE SCIPcreateConsStp ( SCIP *  scip,
SCIP_CONS **  cons,
const char *  name,
GRAPH graph 
)

creates and captures a stp constraint

Parameters
scipSCIP data structure
conspointer to hold the created constraint
namename of constraint
graphgraph data structure

Definition at line 1131 of file cons_stp.c.

References CONSHDLR_NAME, FALSE, SCIP_ConsData::graph, SCIPdualAscentStp(), and TRUE.

Referenced by SCIP_DECL_CONSCOPY(), SCIPincludeConshdlrStp(), and SCIPprobdataCreate().

SCIP_RETCODE SCIPdualAscentAddCutsStp ( SCIP *  scip,
GRAPH g,
int  nruns 
)

dual ascent heuristic, adding cuts

dual ascent heuristic

Parameters
scipSCIP data structure
ggraph data structure
nrunsnumber of dual ascent runs

Definition at line 2012 of file cons_stp.c.

References GRAPH::edges, FALSE, GRAPH::grad, Is_term, GRAPH::knots, SCIPdualAscentStp(), GRAPH::source, GRAPH::term, GRAPH::terms, and TRUE.

Referenced by SCIPdualAscentPcStp(), and SCIPprobdataCreate().

SCIP_RETCODE SCIPdualAscentPcStp ( SCIP *  scip,
GRAPH g,
SCIP_Real *  redcost,
SCIP_Real *  objval,
SCIP_Bool  addcuts,
int  nruns 
)

dual ascent heuristic for the PCSPG and the MWCSP

dual ascent heuristic

Parameters
scipSCIP data structure
ggraph data structure
redcostarray to store reduced costs or NULL
objvalpointer to store objective value
addcutsshould dual ascent add Steiner cuts?
nrunsnumber of dual ascent runs

Definition at line 1602 of file cons_stp.c.

References GRAPH::cost, DEFAULT_DAMAXDEVIATION, Graph_Node::dist, EAT_LAST, GRAPH::edges, FALSE, FARAWAY, GNODECmpByDist(), GRAPH::grad, graph_free(), graph_PcSapCopy(), GRAPH::head, GRAPH::ieat, GRAPH::inpbeg, Is_term, GRAPH::knots, GRAPH::mark, Graph_Node::number, GRAPH::oeat, GRAPH::outbeg, SCIPdualAscentAddCutsStp(), SCIPprobdataGetOffset(), SCIPprobdataGetVars(), GRAPH::source, GRAPH::tail, GRAPH::term, GRAPH::terms, and TRUE.

Referenced by SCIP_DECL_CONSINITLP(), SCIPdualAscentStp(), and SCIPprobdataCreate().

SCIP_RETCODE SCIPdualAscentStp ( SCIP *  scip,
GRAPH g,
SCIP_Real *  redcost,
SCIP_Real *  objval,
SCIP_Bool  addcuts,
GNODE **  gnodearrterms,
int *  edgearrint,
int *  nodearrint,
int  root,
int  nruns,
char *  edgearrchar,
char *  nodearrchar 
)

dual ascent heuristic

dual ascent heuristic for the STP

Parameters
scipSCIP data structure
ggraph data structure
redcostarray to store reduced costs or NULL
objvalpointer to store objective value
addcutsshould dual ascent add Steiner cuts?
gnodearrtermsgnode terminals array for internal computations or NULL
edgearrintint edges array for internal computations or NULL
nodearrintint vertices array for internal computations or NULL
rootthe root
nrunsnumber of dual ascent runs
edgearrcharchar edges array for internal computations or NULL
nodearrcharchar vertices array for internal computations or NULL

Definition at line 1161 of file cons_stp.c.

References GRAPH::cost, DEFAULT_DAMAXDEVIATION, Graph_Node::dist, EAT_LAST, GRAPH::edges, FALSE, FARAWAY, GNODECmpByDist(), GRAPH::grad, GRAPH::ieat, GRAPH::inpbeg, Is_term, GRAPH::knots, GRAPH::mark, Graph_Node::number, GRAPH::outbeg, SCIPdualAscentPcStp(), SCIPprobdataGetVars(), GRAPH::source, GRAPH::tail, GRAPH::term, GRAPH::terms, and TRUE.

Referenced by da_reduce(), daPc_reduce(), SCIP_DECL_CONSINITSOL(), SCIPcreateConsStp(), SCIPdualAscentAddCutsStp(), and SCIPprobdataCreate().

SCIP_RETCODE SCIPincludeConshdlrStp ( SCIP *  scip)