StayNerd: Solver for Steiner Trees and Related Problems
([‘ʃtʌɪnə])
by Matteo Fischetti, Markus Leitner, Ivana Ljubić, Martin Luipersbeck, Michele Monaci, Max Resch, Domenico Salvagnin, Markus Sinnl University of Padua and University of Vienna
DESCRIPTION
- The Steiner tree problem in graphs (STP)
- The prize-collecting Steiner tree problem (PCSTP)
- The rooted prize-collecting Steiner tree problem (RPCSTP)
- The maximum-weight connected subgraph problem (MWCS), and
- The degree-constrained Steiner tree problem (DCST)
REFERENCE
M. Fischetti, M. Leitner, I. Ljubić, M. Luipersbeck, M. Monaci, M. Resch, D, Salvagnin, M. Sinnl
Thinning out Steiner trees: a node based model for uniform edge costs
Mathematical Programming Computation 9(2): 203-229, 2017, DOI: 10.1007/s12532-016-0111-0
PROBLEM DEFINITION
STP/DCST
Given, in addition, a maximum node degree function d associated to each node, the degree-constrained Steiner tree problem (DCST) consists of finding a Steiner tree of minimum cost that does not violate maximum node degrees given by d.
PCSTP/RPCSTP
Given, in addition, a root node r, the Rooted Prize-Collecting Steiner Tree Problem (RPCSTP) consists of finding a rooted PCSTP of maximum weight that contains the root node.
MWCS:
STAYNERD SOLVER
By default, a CPLEX installation will only include static libaries, so the corresponding dynamic libary files must be generated manually from the set of static library files. For this purpose the following software is required:
- GCC version 4.9.2 or greater
- IBM ILOG CPLEX Optimization Studio (version 12.6)
- Set the environment variable CPLEX_DIR to the base directory of the CPLEX installation on your system (e.g., /opt/ibm/ILOG/CPLEX_Studio126).
- Run the script
make_cplex_dynamic.sh
provided with the binary to create the dynamic CPLEX library files libconcert.so, libcplex.so and libilocplex.so. - Make sure that the dynamic libraries are placed in the same directory as the solver binary
staynerd
and the license filestaynerd.license
. - A simple way to run the solver is as follows (see user manual for more options):
staynerd [inputfile] [timelimit] [threads] [outputfile]
SEND US EMAIL REQUEST FOR OBTAINING A VALID LICENSE KEY
User Manual and Input Format
Input format recognized by our solver is the STP format defined at the 11th Dimacs Challenge.
Licensing
M. Fischetti, M. Leitner, I. Ljubić, M. Luipersbeck, M. Monaci, M. Resch, D, Salvagnin, M. Sinnl
Thinning out Steiner trees: a node based model for uniform edge costs,
Mathematical Programming Computation 9(2): 203-229, 2017, DOI: 10.1007/s12532-016-0111-0
Part of the staynerd code makes use of the following software (for which you might need a valid license in order to be able to run the code):
- CPLEX 12.6 or later
- OGDF library, (we thank to the OGDF team for granting us a special permission to statically link the OGDF library)
OGDF is GPL software, see also: M. Chimani, C. Gutwenger, M. Jünger, G. W. Klau, K. Klein, P. Mutzel. The Open Graph Drawing Framework (OGDF). Chapter 17 in: R. Tamassia (ed.), Handbook of Graph Drawing and Visualization, CRC Press, 2014. - dtree: dynamic trees a la carte