Multi-period Prize Collecting Steiner Tree Problem with Budget
Constraints
Larissa Faria PUC-Rio [email protected]
David Sotelo Petrobras
Sanjay Jena UQAM
Jean-François Cordeau HEC
Hélio Lopes PUC-Rio [email protected]
Abstract
This article presents an optimization model whose purpose is to identify the optimal expansion of the gas network to cities currently not met, but that belong to the area of operation of a particular local distribution company. The model maximizes the potential increase to the company's profit on a horizon specified by the user, seeking to link neighboring cities. The problem is defined as a Multi-period Prize Collecting Steiner Tree problem with budget constraints, since there are vertex profits, edge costs and limits to the company's budget per period. The formulation is of an integer linear program on a directed graph model. The Branch-and-Cut technique is used with cuts based on the separation of sets of violated inequalities by a maximum flow algorithm. Instances up to 250 cities are satisfactorily evaluated with the model.
Keywords: branch and cut; optimization; natural gas.
1 Introduction
Our purpose, then, is to develop an optimization model that objectively identifies the expansion trends of the distribution network by maximizing the potential profit increment for the distributor, identifying the most attractive cities in its area.
This work is organized in the following way. In Section 2, the problem is described in detail. In Section 3, the current model is presented. Section 4 shows early results and Section 5 concludes this article.
2 Problem description
2.1 Problem instance
In mathematical terms, the following define the problem instance considered in this work:
1. An undirected graph = ( , ) representing a natural gas distribution network. In this graph, the set of vertices symbolizes the cities to be considered, while the set of edges corresponds to pairs of cities which can be connected directly by a stretch of pipeline.
2. A function : → , denoting the distance between pairs of cities represented in in kilometers. 3. There is a specially identified rooted vertex ∈ that represents all cities that are already connected
to the pipeline network.
4. An average cost per distance unit of pipeline to be built, denoted by .
5. The total budget limit for construction of the network expansion, over the study horizon, denoted by .
6. The yearly distance limit, which is the maximum yearly distance that can be built due to physical and logistical constraints, denoted by .
7. The number of comprising the study horizon to be considered.
8. A function ! : ( × #1, … , &) → representing the profit margin to be obtained if a city
∈ is added to the network during period ∈ #1, … , &.
The main constraints of the problem are the budget limit and the maximum yearly buildable distance.
2.2 Problem output
The expected result of the problem is the estimated year for the gas network to reach each city, within the horizon of the proposed study.
Hence the problem output is:
1. A connected subgraph ' = ( (, () of , ( ⊆ , ( ⊆ for each period of the study horizon. This can be translated to: a boolean variable for all cities and all periods within the study horizon.
2.3 Related problems
2.3.1 Prize-Collecting Steiner Tree Problem
The problem of finding the optimal expansion of the country's gas network can be generalized to a network design problem. Among all network design problems, to the best of our knowledge, the one that is closest to the problem in hand is the Prize-Collecting Steiner Tree problem (PCST).
edges. The Linear Prize-Collecting Steiner Tree problem (PCST) consists of finding a connected subgraph
' = ( (, () of , (⊆ , ( ⊆ that maximizes:
! (') = * ( ) +,-.
− * ( ) 0∈1.
It is easy to see that every optimal solution ' will be a tree. Selecting the most profitable customers and connecting them by a least-cost network immediately leads to the problem of computing a Steiner tree (Ljubic et al., 2006). This problem is NP-hard in general.
The aim of the authors in Ljubic et al. (2006) is the construction of an algorithmic framework to solve large and difficult instances of PCST to optimality within reasonable running time. The method of choice is a branch-and-cut approach based on an ILP formulation depending on connectivity inequalities which can be written as cuts between an artificial root and every selected customer vertex.
Bienstock et al. (1993) introduced the PCST, proposing a factor 3 approximation algorithm. Several other approximation algorithms have been developed. Goemans et al. (1996) presented an approximation algorithm which runs in 2( 3log ) time ( ≔ | |), and yields solutions within a factor of
2 − (;<:: ) of optimality. This result has been improved in Johnson et al. (2000), with the proposition of a
2 − (;<:: )–approximation algorithm with 2( =log ) running time. The algorithm of Feofiloff et al. (2007) achieves a ratio of (2 −=;) within the same time.
Johnson et al. (2000) consider quota and budget versions of the PCST problem. In the first, one is looking for the tree with minimum edge cost that contains vertices whose total prize is at least a given quota; in the second one is looking for the tree with maximum prize, given that the total edge cost is within a given budget. The quota problem is a generalization of the k-MST problem, and it is possible to observe how constant-factor approximation algorithms for that problem can be extended to it. Johnson et al. (2000) also shows how a (5 + @)-approximation algorithm for the (unrooted) budget problem can be derived from Garg's 3-approximation algorithm for the k-MST.
Johnson et al. (2000) believed that none of these algorithms would likely be used in practice, but, to the best of our knowledge, their budget problem is the closest PCST problem to our own. Gladly, despite their belief, Johnson et al. (2000) showed how the general approach behind their budget problem could be incorporated into a practical heuristic, involving the performance of multiple runs of the Goemans-Williamson algorithm (Goemans et al., 1996) and the use of an increasing sequence of prize multipliers.
Furthermore, two metaheuristic approaches for PCST have been developed: a multi-start local-search-based algorithm with perturbations has been proposed by Canuto et al. (2001); a memetic algorithm with incorporated local improvement has been developed by Klau et al. (2004).
2.4 Problem in hand
2.4.1 Multi-period Prize-Collecting Steiner Tree Problem with Budget Constraints
! (') = * B * C( ) +∈-.
− * C( ) 0,1.
D , E F
Subject to:
* ( ) 0∈1.
≤
( ) = ( ) ×
* ( )
0∈1.
≤ C, ∀ ∈
Henceforth, the MPPCSTBC problem is considerably more difficult than the PCST due to extra elements:
1. It is a multi-period problem, i.e., the problem is studied over a specified horizon. Therefore, the decision is made dynamically: the decisions made in one period affect the decisions made in the next;
2. There is a budget limit for construction of the network expansion, over the study horizon;
3. There is a distance limit which is the maximum yearly distance that can be built due to physical and logistical restrictions.
Suhl et al. (1998) is the only article in the literature, to the best of our knowledge, that attempts to solve the Multi-period Steiner tree problem with budget constraints. The authors opt for a Branch and Cut algorithm to solve this type of optimization problem. An optimization software system for solving large-scale LP and mixed integer models is used.
Our idea is solving the Multi-period Prize-Collecting Steiner Tree problem with Budget Constraints using Branch and Cut with two separation procedures. One to separate integer solutions and the other to separate fractional ones. The solving method is specified in detail in the next Section.
3 Solving Method
We present an integer programming formulation for the multi-period Prize-Collecting Steiner Tree with budget constraints problem.
First of all, we transform the original undirected graph into a directed graph, replacing the edges to arcs with the same costs as the edges. Therefore, let = ( , I) be a directed graph with vertex set =
#0, … , & and arc set I = # = ( , K): , K ∈ &, where each arc ∈ I has an associated cost LM, depending on the time period considered.
For N ⊆ , define I(N) as the set of arcs with both endpoints in N. Finally, let M be the set of vertices that must be present in a solution. These vertices are called mandatory or terminal vertices. Note that = O ∪ N and O ∩ N = ∅.
represents the time periods. ' is defined as the planning horizon (2018 to 2043, for instance). Therefore, ∈ '. We denote 'ST= #'T&, where 'T⊆ '. 'T is a five-year horizon (typically).
Furthermore, we denote U<(V) ≔ #( , K) ∈ I| ∉ V, K ∈ V&∀V ⊆ .
To describe the initial network connection of cities and edges, we introduce the variables XYM∈
#0,1&∀ ∈ , ∈ ' and the aggregated arc variables ZY[M ∈ #0,1&∀ ∈ I, ∈ ', which are interpreted as
XYM= 1 if city is connected for the first time in time period , and 0 otherwise and Z
Y[M = 1 if arc is
connected for the first time in time period , and 0 otherwise.
The edge connecting costs Y[M need to be payed only once: at the time period they are built. The revenue must be considered in the period that vertex enters the network and, also, in the following periods (with different revenue values). In summary, there is a revenue function over the vertices and a cost function over the edges.
The profit function given in Section 2.4.1 is known in the literature as a function describing the Net Worth Maximization Problem (Johnson et al., 2000). In the so-called Goemans and Williamson Minimization Problem (Goemans et al., 1996), the goal is to find a subtree that minimizes the objective function that follows. Those two formulations are equivalent, as far as optimization is concerned. In this paper, we are going to concentrate on the Goemans and Williamson Minimization Problem formulation, as it has been considered in the literature before (see Goemans et al. (1996) and Canuto et al. (2001)).
With these variables and notations, the Multi-period Prize-Collecting Steiner Tree problem with budget constraints can be formulated as follows:
O \
* B* YM∙ XYM
Y∉-+ * Y[M ∙ ZY[M (Y,[)∈^
D M∈(
N K
Side constraints
* * Y[M ∙ ZY[M (Y,[)∈^
≤ (_, ∀'T ∈ 'ST
M∈(_
(1)
* Y[∙ ZY[M ≤ M, ∀ ∈ ' (Y,[)∈^
(2)
Connectivity constraints
* XYM`≥ * ZY[M` M
M`b:
, ∀( , K) ∈ I, ∀ ∈ ' M
M`b:
(3)
* Z[Yd
[∈-≥ XYd, ∀ ∈ , ∀ ∈ ' (4)
* ZY[M`+ Z[YM` M
M`b:
≤ * XYM` M
M`b:
, ∀ ∈ , ∀ ∈ ' (5)
Multi-period constraints
* ZY[M M∈(
≤ 1, ∀( , K) ∈ I (6)
* XYM M∈(
Mandatory nodes constraints
* XYM = 1 M∈(
, ∀ ∈ O (8)
Cut constraints
* * Zi+M` (i,+)∈jk(l)
M
M`b: ≥ * XY
M`
M
M`b:
, ∀V ⊆ # &, ∀ ∈ V, ∀ ∈ ' (9)
Binary variables
ZY[M, XYM ∈ #0,1&, ∀( , K) ∈ I, ∈ , ∈ ' (10)
Constraint set (1) expresses the maximum budget requirement and constraint set (2) expresses the distance limit requirement for each time period. Inequalities (3), (4) and (5) are connectivity constraints that improve the efficiency of the model. Inequalities (6) and (7) ensure that we know the time period the edges are built. Constraints (8) force the presence of the vertices of M in the solution. Finally, the exponentially large constraint set (9) ensures that, in each time period, all network cities are connected to the root node. The inequalities in constraint set (9) enforce that for every subset V ⊆ , that includes a city and does not include the root vertex , at least one of the arcs in the set of all incoming arcs in V must be built if city is connected. These inequalities correspond to the directed cutset inequalities in the Steiner tree formulation.
In this formulation, we use cut constraints (9) to guarantee connectivity in the network. However, the literature shows that said connectivity can also be assured through GSEC constraints. Chopra et al. (1994) have shown for the Steiner tree problem that directed GSECs dominate directed counterparts of several other facet defining inequalities of the undirected (GSEC) formulation. This is also the reason why the directed formulation is preferable in practice.
Suhl et al. (1998), as mentioned earlier, is the only article in the literature, to the best of our knowledge, that attempts to solve the Multi-period Steiner tree problem with budget constraints. GSEC is used to exclude cycles within a time period. No separation algorithm is mentioned. The instances solved are considerably small in comparison to the ones we propose to solve.
Usually the model chosen in this article is less dense than the equivalent directed (GSEC) model, so it may be computationally preferable within the branch-and-cut implementation (Ljubic et al., 2005).
Two separation procedures are used: one to separate integer solutions and another to separate fractional ones, both of them based on the cut constraint set (9). The separation procedures exploit the fact that constraints (9) imply the connectivity of the root to all other selected vertices (Costa et al., 2009). During the separation phase, which is applied at each node of the branch-and-bound tree, we add constraints of type (9) that are violated by the current solution of the problem (Ljubic et al., 2005).
4 Results
Random instances were created to test our approach. They have from 10 to 250 vertices and all edges available between them (therefore from 45 to 31125 edges). Number of time periods vary from 2 to 8 and the budget and distance limits vary from 10 to 250. Edge costs equal 1 and vertex revenues equal 2.
Our results were achieved on a laptop Lenovo with an Intel® Core™ i7-7500U processor, 8GB of RAM, running Windows 10.
Table 1 – Time periods: 2. Budget and distance limits: 10
name |V| |E| LB UB Gap (%) time
Toy10 10 45 9.00 9.00 0.00 0.56
Toy20 20 190 36.29 36.29 0.00 0.16
Toy50 50 1225 150.61 150.61 0.00 1.09
Toy100 100 4950 342.68 342.68 0.00 28.22
Toy150 150 11175 534.75 534.75 0.00 70.92
Toy200 200 19900 726.83 726.83 0.00 207.15
Toy250 250 31125 918.90 956.52 3.93 654.20
Table 2 – Time periods: 3. Budget and distance limits: 10
name |V| |E| LB UB Gap (%) time
Toy10 10 45 9.00 9.00 0.00 0.25
Toy20 20 190 36.29 36.29 0.00 0.35
Toy50 50 1225 191.30 191.30 0.00 2.47
Toy100 100 4950 468.15 468.15 0.00 29.70
Toy150 150 11175 744.99 744.99 0.00 177.70
Toy200 200 19900 1021.84 1021.84 0.00 660.55
Toy250 250 31125 1298.69 1378.69 5.80 709.74
Table 3 – Time periods: 5. Budget and distance limits: 10
name |V| |E| LB UB Gap (%) time
Toy10 10 45 9.00 9.00 0.00 0.64
Toy20 20 190 36.29 36.29 0.00 0.45
Toy50 50 1225 219.62 219.62 0.00 6.20
Toy100 100 4950 645.67 645.67 0.00 54.09
Toy150 150 11175 1072.43 1072.43 0.00 483.80
Toy200 200 19900 1499.20 1698.52 11.74 658.92
Toy250 250 31125 1925.96 2125.29 9.38 1633.61
Table 4 – Time periods: 8. Budget and distance limits: 10
name |V| |E| LB UB Gap (%) time
Toy10 10 45 9.00 9.00 0.00 0.38
Toy20 20 190 36.29 36.29 0.00 0.68
Toy50 50 1225 219.62 219.62 0.00 24.55
Toy100 100 4950 772.25 772.25 0.00 134.31
Toy150 150 11175 1382.20 1817.65 23.96 804.39
Toy200 200 19900 1992.15 2427.60 17.94 605.71
5 Conclusions and Future Work
The Multi-period Prize-Collecting Steiner Tree problem with budget constraints formalizes in an intuitive way the planning problem encountered in the design of a gas network. Selecting the most profitable customers and connecting them by a least-cost network immediately leads to the problem of computing a Steiner tree.
The aim of this paper is finding solutions of guaranteed quality for realistic problem sizes in a reasonable amount of computing time. The method of choice is a branch-and-cut approach: the cut constraints set is inserted as needed.
Future work includes developing a multi-period primal heuristic that could significantly improve the gap between the lower bound and the best known feasible solution for our most challenging problem instances.
References
1. Bienstock, D., Goemans, M., Simchi-Levi, D. & Williamson, D. (1993), “A note on the prize-collecting
traveling salesman problem.”, Mathematical Programming 59, 413-420.
2. Canuto, S., Resende, M. & Ribeiro, C. (2001), “Local search with perturbations for the prize-collecting steiner
tree problem in graphs.”, Networks 38, 50-58.
3. Chopra, S. & Rao, M.R. (1994), “The Steiner tree problem I: Formulations, compositions and extension of
facets.”, Mathematical Programming 64, 209–229.
4. Costa, A.M., Cordeau, J-F. & Laporte, G. (2009), “Models and branch-and-cut algorithms for the steiner tree
problem with revenues, budget and hop constraints.”, Networks 53(2), 141-159.
5. Feofiloff, P., Fernandes, C., Ferreira, C. & Pina, J. (2007), “Primal-dual approximation algorithms for the
prize-collecting steiner tree problem.”, Information Processing Letters 103(5), 195-202.
6. Fischetti, M., Leitner, M., Ljubic, I., Luipersbeck, M., Monaci, M., Resch, M., Salvagnin, D. & Sinnl, M. (2017), “Thinning out steiner trees: a node-based model for uniform edge costs.”, Mathematical Programming Computation 9(2), 203-229.
7. Goemans, M. & Williamson, D. (1996), “The primal-dual method for approximation algorithms and its
application to network design problems.”, In D. S. Hochbaum, editor, Approximation algorithms for NP-hard
problems pp. 144-191.
8. Gollowitzer, S. & Ljubic, I. (2011), “MIP models for connected facility location: a theoretical and
computational study.”, Computers & Operations Research 38(2), 435-449.
9. Johnson, D., Minkoff, M. & Phillips, S. (2000), “The prize-collecting steiner tree problem: Theory and
practice.”, In Proceedings of 11th ACM-SIAM Symposium on Discrete Algorithms pp. 760-769.
10. Klau, G., Ljubic, I., Moser, A., Mutzel, P., Neuner, P., Pferschy, U. & Weiskircher, R. (2004), “Combining a
memetic algorithm with integer programming to solve the prize-collecting steiner tree problem.”, In K. Deb,
editor, Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2004) 3102, 1304-1315.
11. Ljubic, I., Weiskircher, R., Pferschy, U., Klau, G., Mutzel, P. & Fischetti, M. (2005), “Solving the
prize-collecting steiner tree problem to optimality.”, ALENEX/ANALCO, 68-76.
12. Ljubic, I., Weiskircher, R., Pferschy, U., Klau, G., Mutzel, P. & Fischetti, M. (2006), “An algorithmic
framework for the exact solution of the prize-collecting steiner tree problem.”, Mathematical Programming,
Series B 105, 427-449.
13. Suhl, U.H. & Hilbert, H. (1998), “A branch-and-cut algorithm for solving generalized multiperiod steiner