|
probdata_stp.c File Reference Detailed DescriptionMinimum cut routine for Steiner problems. Problem data for Steiner problems. This file implements a graph minimum cut routine for Steiner problems. For more details see Graph minimum cut routine page. This file implements the problem data for Steiner problems. For more details see Main problem data page. Definition in file probdata_stp.c. #include <string.h>#include "probdata_stp.h"#include <stdio.h>#include "scip/scip.h"#include "cons_stp.h"#include "grph.h"#include "scip/cons_linear.h"#include "scip/cons_setppc.h"#include "scip/misc.h"#include "scip/struct_misc.h"Go to the source code of this file.
Macro Definition Documentation
find the minimum distance sum to all knots Definition at line 56 of file probdata_stp.c. Referenced by central_terminal().
find maximum degree Definition at line 53 of file probdata_stp.c. Referenced by central_terminal(), and SCIPprobdataCreate().
find the minimum largest distance Definition at line 55 of file probdata_stp.c. Referenced by central_terminal().
find the minimum distance sum Definition at line 54 of file probdata_stp.c. Referenced by central_terminal().
always use (respective) constraints Definition at line 62 of file probdata_stp.c. Referenced by SCIPprobdataCreate().
use (respective) constraints depending on the problem instance Definition at line 63 of file probdata_stp.c. Referenced by SCIPprobdataCreate().
maximum number of symmetry inequalities for PCSPG Definition at line 68 of file probdata_stp.c. Referenced by SCIPprobdataCreate().
Definition at line 65 of file probdata_stp.c.
branch and cut Definition at line 58 of file probdata_stp.c. Referenced by createConstraints(), createVariables(), probdataFree(), SCIP_DECL_PROBCOPY(), SCIP_DECL_PROBDELORIG(), SCIP_DECL_PROBTRANS(), SCIPprobdataAddNewSol(), and SCIPprobdataCreate().
use flow model Definition at line 59 of file probdata_stp.c. Referenced by createConstraints(), createVariables(), probdataFree(), SCIP_DECL_PROBCOPY(), SCIP_DECL_PROBTRANS(), SCIPprobdataAddNewSol(), and SCIPprobdataCreate().
branch and price Definition at line 60 of file probdata_stp.c. Referenced by createConstraints(), createVariables(), probdataFree(), SCIP_DECL_PROBCOPY(), SCIP_DECL_PROBTRANS(), SCIPprobdataAddNewSol(), and SCIPprobdataCreate().
maximum number of symmetry inequalities for MWCSP and PCSPG Definition at line 67 of file probdata_stp.c. Referenced by SCIPprobdataCreate(). Function Documentation
Definition at line 135 of file probdata_stp.c. References CENTER_ALL, CENTER_DEG, CENTER_MIN, CENTER_OK, CENTER_SUM, shortest_path::dist, GRAPH::edges, FARAWAY, FSP_MODE, GRAPH::grad, graph_path_exec(), Is_term, GRAPH::knots, GRAPH::layers, GRAPH::mark, GRAPH::source, GRAPH::term, and TRUE. Referenced by SCIPprobdataCreate().
create constraints (in Flow or Price Mode)
Definition at line 722 of file probdata_stp.c. References FALSE, SCIP_ProbData::graph, MODE_CUT, MODE_FLOW, MODE_PRICE, SCIP_ProbData::nedges, SCIP_ProbData::nnodes, SCIP_ProbData::realnterms, GRAPH::source, GRAPH::term, and TRUE. Referenced by SCIPprobdataCreate().
create (node-) degree constraints (cut mode only)
Definition at line 546 of file probdata_stp.c. References FALSE, SCIP_ProbData::graph, GRAPH::maxdeg, SCIP_ProbData::nnodes, and TRUE. Referenced by SCIPprobdataCreate().
create (edge-) HOP constraint (cut mode only)
Definition at line 518 of file probdata_stp.c. References FALSE, SCIP_ProbData::graph, GRAPH::hoplimit, and TRUE. Referenced by SCIPprobdataCreate().
create Prize constraints (cut mode only)
Definition at line 581 of file probdata_stp.c. References GRAPH::edges, FALSE, SCIP_ProbData::graph, GRAPH::head, GRAPH::knots, SCIP_ProbData::nedges, SCIP_ProbData::nnonterms, SCIP_ProbData::realnterms, GRAPH::source, STP_PRIZE_COLLECTING, STP_ROOTED_PRIZE_COLLECTING, GRAPH::stp_type, GRAPH::terms, and TRUE. Referenced by SCIPprobdataCreate().
create initial columns
Definition at line 868 of file probdata_stp.c. References GRAPH::cost, EAT_LAST, shortest_path::edge, GRAPH::edges, FALSE, flipedge, FSP_MODE, SCIP_ProbData::graph, graph_path_exec(), GRAPH::head, GRAPH::ieat, GRAPH::inpbeg, Is_term, GRAPH::knots, GRAPH::mark, MODE_CUT, MODE_FLOW, MODE_PRICE, SCIP_ProbData::nedges, SCIP_ProbData::nnodes, SCIP_ProbData::nvars, GRAPH::oeat, GRAPH::outbeg, SCIP_ProbData::realnterms, GRAPH::source, STP_DEG_CONS, STP_HOP_CONS, STP_MAX_NODE_WEIGHT, STP_PRIZE_COLLECTING, STP_ROOTED_PRIZE_COLLECTING, GRAPH::stp_type, GRAPH::tail, GRAPH::term, and TRUE. Referenced by SCIPprobdataCreate().
creates problem data
Definition at line 267 of file probdata_stp.c. References FALSE, SCIP_ProbData::graph, GRAPH::stp_type, and STP_UNDIRECTED. Referenced by SCIP_DECL_PROBCOPY(), SCIP_DECL_PROBTRANS(), and SCIPprobdataCreate().
frees the memory of the given problem data
Definition at line 301 of file probdata_stp.c. References MODE_CUT, MODE_FLOW, MODE_PRICE, STP_DEG_CONS, STP_MAX_NODE_WEIGHT, STP_PRIZE_COLLECTING, and STP_ROOTED_PRIZE_COLLECTING. Referenced by SCIP_DECL_PROBDELORIG(), and SCIP_DECL_PROBDELTRANS().
print graph (in undirected form) in GML format
Definition at line 427 of file probdata_stp.c. References GRAPH::cost, GRAPH::edges, FALSE, GRAPH::head, GRAPH::knots, GRAPH::source, GRAPH::tail, and GRAPH::term. Referenced by SCIPprobdataCreate(), and SCIPprobdataPrintGraph().
copies user data of source SCIP for the target SCIP Definition at line 1211 of file probdata_stp.c. References graph_copy(), graph_mincut_init(), graph_path_init(), MODE_CUT, MODE_FLOW, MODE_PRICE, probdataCreate(), STP_DEG_CONS, STP_MAX_NODE_WEIGHT, STP_PRIZE_COLLECTING, STP_ROOTED_PRIZE_COLLECTING, and TRUE.
frees user data of original problem (called when the original problem is freed) Definition at line 1576 of file probdata_stp.c. References graph_free(), graph_mincut_exit(), graph_path_exit(), MODE_CUT, probdataFree(), and TRUE.
frees user data of transformed problem (called when the transformed problem is freed) Definition at line 1829 of file probdata_stp.c. References probdataFree().
Definition at line 1760 of file probdata_stp.c. References SCIPprobdataWriteLogLine(), SCIPprobdataWriteSolution(), and STP_MAX_NODE_WEIGHT.
creates user data of transformed problem by transforming the original user problem data (called after problem was transformed) Definition at line 1601 of file probdata_stp.c. References MODE_CUT, MODE_FLOW, MODE_PRICE, probdataCreate(), STP_DEG_CONS, STP_MAX_NODE_WEIGHT, STP_PRIZE_COLLECTING, and STP_ROOTED_PRIZE_COLLECTING.
add new solution
Definition at line 2934 of file probdata_stp.c. References GRAPH::cost, EAT_LAST, shortest_path::edge, SCIP_ProbData::edgevars, FALSE, FSP_MODE, SCIP_ProbData::graph, graph_path_exec(), GRAPH::ieat, GRAPH::inpbeg, Is_term, GRAPH::knots, GRAPH::mark, MODE_CUT, MODE_FLOW, MODE_PRICE, SCIP_ProbData::nedges, SCIP_ProbData::nvars, SCIP_ProbData::realnterms, GRAPH::source, STP_MAX_NODE_WEIGHT, STP_PRIZE_COLLECTING, GRAPH::stp_type, GRAPH::tail, GRAPH::term, and TRUE. Referenced by SCIP_DECL_HEUREXEC().
sets up the problem data
Definition at line 1847 of file probdata_stp.c. References CENTER_DEG, central_terminal(), CONS_ALWAYS, CONS_SPECIFIC, createConstraints(), createDegreeConstraints(), createHopConstraint(), createPrizeConstraints(), createVariables(), CYC_CONS_LIMIT, GRAPH::edges, FALSE, presolve_info::fixed, SCIP_ProbData::graph, graph_load(), graph_mincut_init(), graph_pack(), graph_path_init(), Is_term, GRAPH::knots, GRAPH::layers, SCIP_ProbData::mode, MODE_CUT, MODE_FLOW, MODE_PRICE, SCIP_ProbData::nedges, SCIP_ProbData::nnodes, SCIP_ProbData::offset, GRAPH::orgedges, GRAPH::orgknots, probdataCreate(), probdataPrintGraph(), SCIP_ProbData::realnterms, reduce(), SCIPcreateConsStp(), SCIPdualAscentAddCutsStp(), SCIPdualAscentPcStp(), SCIPdualAscentStp(), SCIPprobdataWriteLogLine(), GRAPH::source, STP_DEG_CONS, STP_DIRECTED, STP_GRID, STP_HOP_CONS, STP_MAX_NODE_WEIGHT, STP_NODE_WEIGHTS, STP_OBSTACLES_GRID, STP_PRIZE_COLLECTING, STP_ROOTED_PRIZE_COLLECTING, GRAPH::stp_type, STP_UNDIRECTED, SYM_CONS_LIMIT, GRAPH::term, GRAPH::terms, and TRUE. Referenced by SCIP_DECL_READERREAD().
returns all edge constraints
Definition at line 2452 of file probdata_stp.c. Referenced by SCIP_DECL_PRICERINIT().
returns the variable for a given index
Definition at line 2407 of file probdata_stp.c.
returns the array with all edge variables
Definition at line 2496 of file probdata_stp.c. Referenced by buildsolgraph(), SCIP_DECL_BRANCHEXECLP(), and selectBranchingVertex().
returns the graph
Definition at line 2258 of file probdata_stp.c. Referenced by pricing(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSINITLP(), SCIP_DECL_CONSINITSOL(), SCIP_DECL_CONSPROP(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEURINIT(), SCIP_DECL_PROPEXEC(), SCIP_DECL_READERREAD(), SCIP_DECL_READERWRITE(), and selectBranchingVertex().
returns the number of edges
Definition at line 2326 of file probdata_stp.c. Referenced by SCIP_DECL_PRICERINIT(), and SCIP_DECL_PRICERINITSOL().
returns the number of layers
Definition at line 2311 of file probdata_stp.c.
returns the number of terminals
Definition at line 2341 of file probdata_stp.c.
returns the number of variables
Definition at line 2281 of file probdata_stp.c. Referenced by SCIP_DECL_CONSLOCK(), and SCIP_DECL_HEUREXEC().
returns offset of the problem
Definition at line 2391 of file probdata_stp.c. Referenced by SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_READERWRITE(), and SCIPdualAscentPcStp().
returns all path constraints
Definition at line 2466 of file probdata_stp.c. Referenced by SCIP_DECL_PRICERINIT().
returns the number of terminals without the root node
Definition at line 2356 of file probdata_stp.c. Referenced by SCIP_DECL_PRICERINIT(), and SCIP_DECL_PRICERINITSOL().
returns root
Definition at line 2371 of file probdata_stp.c. References SCIP_ProbData::graph, and GRAPH::source. Referenced by SCIP_DECL_PRICERINIT().
returns the array with all variables
Definition at line 2481 of file probdata_stp.c. Referenced by SCIP_DECL_PRICERINIT().
returns problem type
Definition at line 3287 of file probdata_stp.c. Referenced by SCIP_DECL_EVENTEXEC().
returns the array with all variables
Definition at line 2296 of file probdata_stp.c. Referenced by cut_add(), hcrcbound_reduce(), SCIP_DECL_CONSLOCK(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PROPEXEC(), SCIPdualAscentPcStp(), SCIPdualAscentStp(), and sep_flow().
returns the LP solution values
Definition at line 2424 of file probdata_stp.c. References SCIP_ProbData::nedges. Referenced by SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_HEUREXEC(), sep_2cut(), and sep_flow().
returns if 'T' model is being used
Definition at line 2511 of file probdata_stp.c. Referenced by SCIP_DECL_PRICERINIT().
print (undirected) graph in GML format
Definition at line 2526 of file probdata_stp.c. References SCIP_ProbData::edgevars, FALSE, probdataPrintGraph(), and TRUE. Referenced by pricing().
print graph (in undirected form) in GML format with given edges highlighted
Definition at line 3208 of file probdata_stp.c. References GRAPH::cost, EAT_FREE, GRAPH::edges, FALSE, GRAPH::head, GRAPH::knots, GRAPH::mark, GRAPH::oeat, GRAPH::source, GRAPH::tail, GRAPH::term, and TRUE. Referenced by SCIPheurImproveSteinerTree(), and sd_red().
writes end of log file
Definition at line 3363 of file probdata_stp.c. References TRUE.
sets the probdata graph
Definition at line 2246 of file probdata_stp.c. References SCIP_ProbData::graph.
writes end of log file
Definition at line 3378 of file probdata_stp.c. References SCIP_ProbData::nSolvers.
sets the offset
Definition at line 2269 of file probdata_stp.c. References SCIP_ProbData::offset.
writes the best solution to the intermediate solution file
Definition at line 2570 of file probdata_stp.c. References SCIPprobdataWriteSolution(). Referenced by SCIP_DECL_EVENTEXEC().
writes end of log file
Definition at line 3302 of file probdata_stp.c. References SCIPprobdataWriteLogLine(), SCIPprobdataWriteSolution(), and STP_MAX_NODE_WEIGHT. Referenced by SCIP_DECL_DIALOGEXEC().
writes a line to the log file
Definition at line 2911 of file probdata_stp.c. Referenced by SCIP_DECL_EVENTEXEC(), SCIP_DECL_PROBEXITSOL(), SCIPprobdataCreate(), SCIPprobdataWriteLogfileEnd(), and SCIPprobdataWriteSolution().
writes the best solution to a file
Definition at line 2588 of file probdata_stp.c. References GRAPH::ancestors, GRAPH::edges, SCIP_ProbData::edgevars, FALSE, GRAPH::fixedges, flipedge, SCIP_ProbData::graph, graph_grid_coordinates(), GRAPH::grid_coordinates, GRAPH::grid_dim, GRAPH::grid_ncoords, GSTP, GRAPH::head, Int_List_Node::index, Is_term, GRAPH::norgmodeledges, GRAPH::norgmodelknots, GRAPH::orgedges, GRAPH::orghead, GRAPH::orgknots, GRAPH::orgtail, Int_List_Node::parent, GRAPH::pcancestors, SCIPprobdataWriteLogLine(), GRAPH::source, STP_DEG_CONS, STP_DIRECTED, STP_GRID, STP_HOP_CONS, STP_MAX_NODE_WEIGHT, STP_NODE_WEIGHTS, STP_PRIZE_COLLECTING, STP_ROOTED_PRIZE_COLLECTING, GRAPH::stp_type, STP_UNDIRECTED, GRAPH::tail, GRAPH::term, GRAPH::terms, and TRUE. Referenced by SCIP_DECL_PROBEXITSOL(), SCIPprobdataWriteIntermediateSolution(), and SCIPprobdataWriteLogfileEnd(). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||