|
cons_stp.c File Reference Detailed DescriptionConstraint handler for Steiner problems. This file checks solutions for feasibility and separates violated model constraints. For more details see Separating violated constraints page. Definition in file cons_stp.c. #include <assert.h>#include <string.h>#include "cons_stp.h"#include "probdata_stp.h"#include "grph.h"#include "portab.h"#include "scip/scip.h"#include "scip/misc.h"#include "scip/cons_linear.h"Go to the source code of this file.
Macro Definition Documentation
priority of the constraint handler for checking feasibility Definition at line 61 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
should propagation method be delayed, if other propagators found reductions? Definition at line 68 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
should separation method be delayed, if other separators found cuts? Definition at line 67 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
Definition at line 58 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
frequency for using all instead of only the useful constraints in separation, propagation and enforcement, -1 for no eager evaluations, 0 for first only Definition at line 64 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
priority of the constraint handler for constraint enforcing Definition at line 60 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
Definition at line 57 of file cons_stp.c. Referenced by SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSFREE(), SCIP_DECL_CONSHDLRCOPY(), SCIP_DECL_CONSTRANS(), SCIPcreateConsStp(), and SCIPincludeConshdlrStp().
should the constraint handler be skipped, if no constraints are available? Definition at line 69 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
Definition at line 77 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
frequency for propagating domains; zero means only preprocessing propagation Definition at line 63 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
frequency for separating cuts; zero means to separate only in the root node Definition at line 62 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
priority of the constraint handler for separation Definition at line 59 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
Definition at line 88 of file cons_stp.c. Referenced by set_capacity().
Try Back-Cuts FALSE Definition at line 79 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
max deviation for dual ascent Definition at line 85 of file cons_stp.c. Referenced by SCIPdualAscentPcStp(), and SCIPdualAscentStp().
Only disjunct Cuts FALSE Definition at line 81 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
maximal number of separation rounds per node (-1: unlimited) Definition at line 71 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
maximal number of separation rounds in the root node (-1: unlimited) Definition at line 72 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
maximal number of cuts separated per separation round Definition at line 73 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
maximal number of cuts separated per separation round in the root node Definition at line 74 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
Try Nested-Cuts FALSE Definition at line 82 of file cons_stp.c. Referenced by SCIPincludeConshdlrStp().
Definition at line 87 of file cons_stp.c. Referenced by cut_add(), sep_2cut(), and set_capacity(). Function Documentation
add a cut
Definition at line 124 of file cons_stp.c. References GRAPH::edges, FALSE, FLOW_FACTOR, graph_next_term(), GRAPH::head, GRAPH::mark, SCIPprobdataGetVars(), GRAPH::source, GRAPH::tail, and TRUE. Referenced by sep_2cut().
Definition at line 211 of file cons_stp.c. References set_capacity(). Referenced by cut_add(), and sep_2cut().
feasibility check method of constraint handler for integral solutions Definition at line 945 of file cons_stp.c. References SCIP_DECL_CONSPROP(), SCIPprobdataGetXval(), and SCIPvalidateStpSol(). Referenced by SCIP_DECL_CONSENFOPS().
constraint copying method of constraint handler Definition at line 1039 of file cons_stp.c. References SCIP_ConsData::graph, SCIPcreateConsStp(), SCIPincludeConshdlrStp(), SCIPprobdataGetGraph(), and TRUE. Referenced by SCIP_DECL_CONSLOCK().
frees specific constraint data Definition at line 791 of file cons_stp.c. References CONSHDLR_NAME, and SCIP_DECL_CONSTRANS(). Referenced by SCIP_DECL_CONSINITSOL().
constraint enforcing method of constraint handler for LP solutions Definition at line 895 of file cons_stp.c. References SCIP_DECL_CONSENFOPS(), SCIPprobdataGetXval(), and SCIPvalidateStpSol(). Referenced by SCIP_DECL_CONSSEPALP().
constraint enforcing method of constraint handler for pseudo solutions Definition at line 920 of file cons_stp.c. References SCIP_DECL_CONSCHECK(), SCIPprobdataGetXval(), and SCIPvalidateStpSol(). Referenced by SCIP_DECL_CONSENFOLP().
destructor of constraint handler to free constraint handler data (called when SCIP is exiting) Definition at line 751 of file cons_stp.c. References CONSHDLR_NAME, and SCIP_DECL_CONSINITSOL(). Referenced by SCIP_DECL_CONSHDLRCOPY().
copy method for constraint handler plugins (called when SCIP copies plugins) Definition at line 735 of file cons_stp.c. References CONSHDLR_NAME, SCIP_DECL_CONSFREE(), SCIPincludeConshdlrStp(), and TRUE. Referenced by sep_2cut().
LP initialization method of constraint handler (called before the initial LP relaxation at a node is solved) Definition at line 837 of file cons_stp.c. References SCIP_ConsData::graph, SCIP_DECL_CONSSEPALP(), SCIPdualAscentPcStp(), SCIPprobdataGetGraph(), and TRUE. Referenced by SCIP_DECL_CONSTRANS().
solving process initialization method of constraint handler (called when branch and bound process is about to begin) Definition at line 772 of file cons_stp.c. References SCIP_ConsData::graph, SCIP_DECL_CONSDELETE(), SCIPdualAscentStp(), and SCIPprobdataGetGraph(). Referenced by SCIP_DECL_CONSFREE().
variable rounding lock method of constraint handler Definition at line 1019 of file cons_stp.c. References SCIP_DECL_CONSCOPY(), SCIPprobdataGetNVars(), and SCIPprobdataGetVars(). Referenced by SCIP_DECL_CONSPROP().
domain propagation method of constraint handler Definition at line 970 of file cons_stp.c. References SCIP_ConsData::graph, Is_term, GRAPH::knots, GRAPH::maxdeg, SCIP_DECL_CONSLOCK(), SCIPprobdataGetGraph(), STP_DEG_CONS, GRAPH::stp_type, and GRAPH::term. Referenced by SCIP_DECL_CONSCHECK().
separation method of constraint handler for LP solutions Definition at line 860 of file cons_stp.c. References SCIP_DECL_CONSENFOLP(), sep_2cut(), and sep_flow(). Referenced by SCIP_DECL_CONSINITLP().
transforms constraint data into data belonging to the transformed problem Definition at line 805 of file cons_stp.c. References CONSHDLR_NAME, and SCIP_DECL_CONSINITLP(). Referenced by SCIP_DECL_CONSDELETE().
creates and captures a stp constraint
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().
dual ascent heuristic
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().
dual ascent heuristic
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().
dual ascent heuristic for the STP
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().
creates the handler for stp constraints and includes it in SCIP
Definition at line 1070 of file cons_stp.c. References CONSHDLR_CHECKPRIORITY, CONSHDLR_DELAYPROP, CONSHDLR_DELAYSEPA, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_NAME, CONSHDLR_NEEDSCONS, CONSHDLR_PROP_TIMING, CONSHDLR_PROPFREQ, CONSHDLR_SEPAFREQ, CONSHDLR_SEPAPRIORITY, DEFAULT_BACKCUT, DEFAULT_CREEPFLOW, DEFAULT_DISJUNCTCUT, DEFAULT_FLOWSEP, DEFAULT_MAXROUNDS, DEFAULT_MAXROUNDSROOT, DEFAULT_MAXSEPACUTS, DEFAULT_MAXSEPACUTSROOT, DEFAULT_NESTEDCUT, FALSE, SCIPcreateConsStp(), and TRUE. Referenced by runShell(), SCIP_DECL_CONSCOPY(), and SCIP_DECL_CONSHDLRCOPY().
separate 2-cuts
Definition at line 519 of file cons_stp.c. References cut_add(), GRAPH::edges, FALSE, FLOW_FACTOR, FSP_MODE, graph_mincut_exec(), graph_next_term(), graph_path_exec(), GRAPH::knots, GRAPH::layers, GRAPH::locals, GRAPH::mark, SCIP_DECL_CONSHDLRCOPY(), SCIPprobdataGetXval(), set_capacity(), GRAPH::source, STP_MAX_NODE_WEIGHT, GRAPH::stp_type, GRAPH::term, GRAPH::terms, and TRUE. Referenced by SCIP_DECL_CONSSEPALP(), and sep_flow().
separate
Definition at line 289 of file cons_stp.c. References EAT_LAST, GRAPH::edges, FALSE, GRAPH::ieat, GRAPH::inpbeg, GRAPH::knots, GRAPH::layers, GRAPH::locals, GRAPH::oeat, GRAPH::outbeg, SCIPprobdataGetVars(), SCIPprobdataGetXval(), sep_2cut(), GRAPH::source, GRAPH::term, and TRUE. Referenced by SCIP_DECL_CONSSEPALP(), and set_capacity().
Definition at line 248 of file cons_stp.c. References CREEP_VALUE, GRAPH::edges, FLOW_FACTOR, and sep_flow(). Referenced by graph_next_term(), and sep_2cut(). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||