Skip to main content
  • Original Research
  • Open access
  • Published:

An algorithm for solving the bi-objective median path-shaped facility on a tree network


In this paper, an algorithm for the bi-objective median path (BMP) problem on a tree network is considered. The algorithm is based on the two-phase method which can compute all Pareto solutions for the BMP problem. The first phase is applied to find supported Pareto solutions by solving the uni-objective problem D(P,λ). The second phase is used to compute the unsupported Pareto solutions by applying a k-best algorithm which computes the k-best Pareto solutions in order of their objective values.


The problem of locating a path on a tree network has been receiving a lot of attention in the literature since it has many applications including the design of pipe lines, public transit line, and railroad lines. Most of papers study the problem of locating a path on a tree which minimizes either the sum of weighted distances from all vertices to the path (median criterion) or minimizes the maximum weighted distance from the vertices to the path (the center criterion). The path which satisfies the first criterion is called a median path [4, 5, 19, 20, 22, 34], and the path which satisfies the second criterion is called a central path [1, 2, 7, 28, 33]. The median criterion is used to reduce the total cost of the service systems. On the other hand, the center criterion is used to serve the clients who are located far away from the facility. Becker et al. [6] studied the problem of finding a path on a tree by considering both the median and the center criterion. They solved two problems, and each one was about finding a path of bounded length which minimizes one criterion with a restriction on the other criterion. They gave O(n log2n) algorithms for both problems.

In real world optimization problems, there is usually more than one objective that has to be optimized, thus leading to multi-objective optimization problems. In general, no single solution exists that optimizes all objective functions simultaneously and they are conflicting. The optimal solution concept is replaced with efficient (Pareto) solution. Several authors studied multi-objective optimization problems (see, e.g., [11, 24, 25, 29]).

The location problem is concerned with the selection of the best set of facility sites on a network to supply a set of costumers. The objective is to locate a number of facilities which satisfies some criteria. Traditionally, these facilities (single facilities) are located at vertex or along an edge of the network [14, 26]. However, some authors extended the concept of the location problem to include sites which can be represented by subtrees or paths (extensive facilities) of the underlying network. Averbakh and Berman [3] introduced the problem of locating a path on a tree network which minimizes both the center and the median criteria. Tamir et al. [31] described an O(n logn) algorithm for siting the optimal location of a tree-shaped facility in a tree network, using a combination of the center criterion and the median criterion. Puerto et al. [23] considered the problem introduced in [3] with an additional constraint, namely that the Pareto path must be of bounded length, whereas this article concentrates on the bi-objective median path (BMP) of a tree. The aim of the BMP problem is to find the set of all Pareto solutions. A two-phase approach is proposed to solve such problem. In the first phase, supported Pareto solutions are computed with a parametric median path algorithm. The other Pareto solutions which are unsupported are computed in the second phase using a ranking algorithm applied on restricted areas of the objective space.

Puerto et al. [23] considered the problem of locating a path-shaped facility with bounded length on a doubly weighted tree network. They used a bi-objective model where each vertex is associated with a pair of non-negative weights, namely, the center weight and the median weight. The aim of their work focused on determining all the non-dominated points in the objective space. Their approach can be viewed as an application of the well-known ε-constraint approach. They provided an O(n logn) algorithm to find the set of different ε values \(\mathcal {E}\) and proved that the cardinality of \(\mathcal {E}\) is less than or equal 2n. Therefore they applied at most 2n cent-dian models and each cent-dian model needs O(n logn) time to be solved. Following the same approach presented in [23] to solve the (BMP) problem leads to generating the set \(\mathcal {E}\) with \(\left \vert \mathcal {E} \right \vert \leq n(n+1)/2\). Hence, the restricted models which give the non-dominated points will be nearly run n(n+1)/2 times and each one of them needs O(n logn) time, whereas the proposed approach based on the two-phase technique reduces the number of running times to 3r+r−1, where r is the number of the supported non-dominated points and r is the number of unsupported non-dominated points. These results can be summarized in Table 1.

Table 1 Summary of results

In this paper, a new bi-objective median path-shaped facility location problem is studied.

  • For this purpose, an algorithm of time complexity O(n logn) is presented to locate a median path with bounded length of an n-tree network.

  • Pareto solutions are catagorized into two types, namely, supported and unsupported.

    • An O(n logn) time algorithm is given to compute the supported Pareto solutions. This algorithm based on the weighted scalarization method.

    • An O(n logn) time algorithm is given to compute the unsupported Pareto solutions. This algorithm is based on the k-best method.

The remainder of this paper is organized as follows. Related works are presented in “Related works” section. “Notations and definitions” section introduces the definitions and the notations of the (BMP) problem. In “Median path of a tree” section, an O(n logn) median path algorithm is mentioned. The “Two-phase method to solve BMP problem” section is devoted to the algorithm that solves the BMP problem. An illustrative example is given in the “An illustrative example” section. A case study is stated in the “Case study” section. The final conclusion of this paper is in the “Conclusion” section.

Related works

Although researchers have paid much attention to the location problems, surprisingly, certain generalization of these problems, which take into account various real-life considerations, has not been studied thoroughly. Hamacher et al. [14] addressed the multi-criteria median problem taking into account several weights on the vertex. Ramos et al. [26] studied the problem of locating a single facility on a network in the presence of several median objectives. Colebrook and Sicilia [9] addressed the λ-cent-dian problem on a multi-objective network G=(V,E),|V|=n,|E|=m. They developed a polynomial approach in O(m2n2k2) time that solves this problem for a given value of λ, where k is the number of the objective functions. They also generalized the model to problem such as the multi-objective center problem and the multi-objective median problem. Hassin et al. [15] considered the problem of locating facilities on the vertices of a network to maximize the expected demand service and gave two polynomial time exact algorithms. Also, hubs are particular facilities which serve as mediators through aggregation, classification, and distribution of network flows from the origin to a destination. Kahag et al. [16] modeled a multi-objective hub-location-allocation problem and formulated the problem as a constrained bi-objective optimization model to minimize the total costs as well as minimizing the total system time. Ghezavati and Hosseinifar [12] considered a hub location problem where the weights of the vertices are stochastic. They first proposed a bi-objective location problem with value at risk criterion that optimizes the opportunity lost by maximizing the probability that total demands arriving at a facility to be less than the capacity.

Notations and definitions

Let T=(V,E) be a tree network, with |V|=n. Each edge e=(v,u)E has a positive length l(e). Let the pair of non-negative weights \(\left (w^{1}_{i},w^{2}_{i}\right)\) associate to each vertex viV representing two median weights corresponding to two median criteria. Let P be a discrete path in T, that is, its endpoints are restricted to be vertices. The length of P is \(L(P)=\sum \limits _{e\in P}l(e)\). Let \(\mathcal {P}\) be the set of discrete bounded paths in T, that is, \(\mathcal {P}=\{P\subset T: P \textrm { is discrete and }L(P)\leq l\}\). For any two vertices v,uV, the distance d(v,u) between v and u is the length of the path Pv,u connecting them. Define the distance between a vertex vV and a path \(P \in \mathcal {P}\) by \(d(v,P)=\min \limits _{u\in P}d(v,u)\). For any path \(P\in \mathcal {P}\), the sum of weighted distances from P to all vertices vV is \(D^{r}(P)=\sum \limits _{v_{i}\in V}w^{r}_{i}d(v_{i},P),r=1,2\). A median path P with respect to the first or the second criterion is the path which minimizes Dr(P), r1,2. Let D be a two-dimensional function which maps each path \(P \in \mathcal {P}\) into a point in the plane \(\mathbb {R}^{2}\) such that

$$\begin{array}{@{}rcl@{}} D &:& \mathcal{P} \rightarrow \mathbb{R}^{2} \\ && P \rightarrow (D^{1}(P),D^{2}(P)) \end{array} $$

In this article, all paths \(P\in \mathcal {P}\) which minimize the two-dimensional function D are found, so the bi-objective median path BMP problem can be formulated as

$$ \min\limits_{P\in\mathcal{P}}D(P)=\left\{ \begin{array}{c} D^{1}(P)=\sum\limits_{v_{j}\in V}w^{1}_{j}d(v_{j},P)~~~\\ D^{2}(P)=\sum\limits_{v_{j}\in V}w^{2}_{j}d(v_{j},P)~~~\\ \end{array} \right. $$

Some necessary concepts from multi-objective optimization [8, 10] will be introduced. The set \(\mathcal {P}\) is called the decision (feasible) space and the set \(D(\mathcal {P})=\{(D^{1}(P), D^{2}(P)): P\in \mathcal {P}\}\) is called the objective space.

Definition 1

A feasible path \(P\in \mathcal {P}\) is said to be Pareto solution for problem (2) if there is no path \(P^{\prime }\in \mathcal {P}\) such that D1(P)≤D1(P) and D2(P)≤D2(P) with at least one strict inequality. The image D(P)=(D1(P),D2(P)) is called non-dominated point (outcome).

Let \(\mathcal {P}_{E}\) and \(\mathcal {D}_{N}\) be the set of Pareto solutions and the set of non-dominated points, respectively. The set \(\mathcal {D}_{N}\) can be viewed graphically as depicted in Fig. 1.

Fig. 1
figure 1

Classification of the non-dominated points

The set of Pareto solutions can be divided into two subsets as follows:

  • Supported solutions \(\mathcal {P}_{SE}\) which are the optimal solutions of the problem:

    $$ \min\limits_{P\in \mathcal{P}}\lambda D^{1}(P)+(1-\lambda)D^{2}(P), $$

    for 0≤λ≤1. All the supported non-dominated points \(\mathcal {D}_{SN}\) are lying on the boundary of the convex hull of \(D(\mathcal {P})\).

    The supported solutions \(\mathcal {P}_{SE}\) are partitioned in two types. Extreme supported solution \(P\in \mathcal {P}_{SE}\) whose image \(D(P)\in \mathcal {D}_{SN}\) is located on a vertex of the convex hull of \(D(\mathcal {P})\) and non-extreme supported solution \(P\in \mathcal {P}_{SE}\) whose image \(D(P)\in \mathcal {D}_{SN}\) is located on the interior of an edge of the convex hull of \(D(\mathcal {P})\) (see Fig. 1).

  • Unsupported solutions \(\mathcal {P}_{UE}=\mathcal {P}_{E}\backslash \mathcal {P}_{SE}\) which are not optimal solutions of problem (3) and their image \(\mathcal {D}_{UN}\) is lying in the interior of triangle constructed by marking out dominating area of two consecutive extreme supported points (see Fig. 1).

Median path of a tree

Several authors studied the problem of finding a median path [4, 20, 22] in a tree network where each vertex has only one weight. Becker et al. [5] provided an algorithm for a median path with bounded length in weighted tree with time complexity O(n log2n). Tamir et al. [30] gave an O(n logn) algorithm for locating a median path in weighted tree with length constraint. Here, an O(n logn) algorithm for finding a median path of a weighted tree with bounded length is mentioned. The proposed algorithm starts with a decomposition of the tree T into sequence of subtrees. This decomposition depends on the definition of a middle vertex of a tree.

Definition 2

[5,17] Given a weighted tree T, a middle vertex m of T is a vertex which minimizes the maximum of the number of vertices of the subtrees obtained by removing m.

Remark 1

A middle vertex has maximum subtree cardinality less than or equal to \(\frac {n}{2}\). Computing the middle vertex requires O(n) time as presented in [13].

In Fig. 2, there is a tree T consisting of seven vertices. The vertex v4 is considered as the middle vertex of T since removing v4 (see Fig. 3) leads to three subtrees with maximum cardinality \(3 \leq \frac {7}{2}\).

Fig. 2
figure 2

Example for middle vertex

Fig. 3
figure 3

Removing v4

The median path algorithm

Let T=(V,E) be an n-tree. Each vertex vV has only one non-negative weight wv and each edge eE is assigned to a positive length l(e). In this case, there is only one sum of weighted distances function \(\mathbb {D}\) and it is defined as

$$ \mathbb{D}(P) = \sum_{v \in V} w_{v}d(v,P). $$

Running a middle decomposition of the tree T leads to sequence of subtrees. For each subtree T in this decomposition, the distances from its middle, say m to all other vertices in T are computed and sorted. This occurs in O(n logn) total time. Let T be rooted at its middle vertex m, and denote by Tm the rooted tree. Let f(v) be the father of v in Tm, Son(v) be the set of sons of v. Each vertex vV splits the tree Tm into two subtrees, \(T^{B}_{v}=\left (V^{B}_{v},E^{B}_{v}\right)\) and \(T^{U}_{v}=\left (V^{U}_{v},E^{U}_{v}\right)\), where \(T^{B}_{v}\) denotes the below subtree of Tm rooted at vertex v and \(T^{U}_{v}\) denotes the upper subtree of Tm which was induced by \(\left (V-V^{B}_{v}\right) \cup \{v\}\), that is \(V^{B}_{v} \cup V^{U}_{v} = V\) and \(V^{B}_{v} \cap V^{U}_{v} = \{v\}\) (see Fig. 4). The tree Tm can be decomposed into two subtrees T1=(V1,E1) and T2=(V2,E2) such that V1V2=V, V1V2={m}, E1E2=E, and |V1|=n1, |V2|=n2. Let Son(1,m) and Son(2,m) be the sets of the sons of the middle vertex m in T1 and T2, respectively. Denote by SumB(v) and \(\mathbb {D}_{B}(v)\) the sum of weights of vertices in \(T^{B}_{v}\) and the sum of weighted distances of the vertices in \(T^{B}_{v}\) to the vertex v, respectively, see [5]. By scanning from the leaves to the root, SumB(v) and \(\mathbb {D}_{B}(v)\) are computed in O(n) time as follows:

$$\begin{array}{@{}rcl@{}} \text{Sum}_{B}(v) &=&\left\{ \begin{array}{c} w_{v}~\text{if}~v~\mathrm{is~a~leaf~in}~T_{m,} \\ w_{v}+\sum\limits_{u\in \text{Son}(v)}~\text{Sum}_{B}(u)~\mathrm{otherwise.} \end{array} \right. \\ \end{array} $$
Fig. 4
figure 4

Interpretation of the subtrees \(T^{B}_{v}\) and \(T^{U}_{v}\)of Tm

$$\begin{array}{@{}rcl@{}} \mathbb{D}_{B}(v) &=&\left\{ \begin{array}{c} 0~\text{if}~v~\mathrm{is~a~leaf~in}~T_{m,}\\ \sum\limits_{u\in \text{Son}(v)} \mathbb{D}_{B}(u)~+~\text{Sum}_{B}(u)l(v,u)~\mathrm{otherwise.} \end{array} \right. \end{array} $$

The following quantities will be needed:

$$ \mathbb{D}^{r}(m)=\sum_{u\in \text{Son}(r,m)} \mathbb{D}_{B}(u)+\text{Sum}_{B}(u)l(m,u),\mathrm{ \ \ }r=1,2. $$

Definition 3

[5] Given two paths \(P_{v_{i},v_{j}}\) and \(P_{v_{j},v_{k}}\) with edge disjoint, the distance saving of \(P_{v_{j},v_{k}}\) with respect to \(P_{v_{i},v_{j}}\), is the reduction of the sum of weighted distances obtained by adding \(P_{v_{j},v_{k}}\) to \(P_{v_{i},v_{j}}\), that is,

$$ \text{sav}(P_{v_{i},v_{j}},P_{v_{j},v_{k}}) = \mathbb{D}(P_{v_{i},v_{j}}) - \mathbb{D}(P_{v_{i},v_{k}}). $$

Remark 2

If the first path consists of only one vertex vi, write \(\phantom {\dot {i}\!}sav(v_{i},P_{v_{i},v_{k}})\) instead of \(sav(P_{v_{i},v_{i}},P_{v_{i},v_{k}})\). In linear time, \(\phantom {\dot {i}\!}sav(v_{i},P_{v_{i},v_{k}})\) is computed as follows:

$$ \text{sav}(v_{i},P_{v_{i},v_{k}})=\left\{ \begin{array}{l} 0\qquad\text{if}\ v_{k}=v_{i}\mathrm{,} \\ \text{sav}(v_{i},P_{v_{i},f(v_{k})})+\text{Sum}_{B}(v_{k})l(v_{k},f(v_{k}))\mathrm{otherwise.} \end{array} \right. $$

Also, calculate vkVr, r=1,2, the following quantities in linear time.

$$ \mathbb{D}(r,v_{k}) = \mathbb{D}^{r}(m)-\text{sav}(m,P_{m,v_{k}}),\mathrm{ \ \ }v_{k}\in T_{r}. $$

Note that \(\mathbb {D}(r,v_{k})\) is the sum of weighted distances of all vertices in Tr from the path \(P_{m,v_{k}}\). Let \(\mathcal {V}^{1}=(v_{i(1)},v_{i(2)},...,v_{i(n_{1})})\) and \(\mathcal {V}^{2}=(v_{q(1)}, v_{q(2)},..., v_{q(n_{2})})\) be the non-decreasing ordering of the vertices in V1 and V2 by their distances from the middle vertex m respectively. The best paths of length at most l which are included in T1{m} and T2{m} may be found by computing for each vertex \(v_{k}\in \mathcal {V}^{1}\), the best path of length bounded above by l which has vk as an endpoint. Starting with \(v_{i(n_{1})}\), if \(d(m,v_{i(n_{1})})>l \), there is no such path. Otherwise, find the largest index t=t(n1) such that \(d(v_{i(n_{1})},v_{q(t)})\leq l \) and \(d(v_{i(n_{1})},v_{q(t+1)})>l \). Let vQ, \(Q\in \mathcal {Q}=\{q(1),q(2),...,q(t(n_{1}))\}\) be a vertex which gives \(\min \limits _{s=1,...,t(n_{1})}\mathbb {D}(2,v_{q(s)})\) and put

$$ \alpha_{i(n_{1})} = \mathbb{D}(1,v_{i(n_{1})}) + \mathbb{D}(2,v_{Q}), $$

where \(\alpha _{i(n_{1})}\) is the value of the sum of the weighted distances of the best path which has \(v_{i(n_{1})}\) as an endpoint. Continuing on with \(v_{i(n_{1}-1)},...,v_{i(1)}\), in linear time all terms αi(r),r=n1,...,1 are evaluated. The value of the median function of the best path of length at most l which passes through the middle vertex m and contains vertices in both V1−{m} and V2−{m} is given by \(\min \limits _{r=n_{1},...,1}\alpha _{i(r)}\).

Suppose that \(v_{I}, I\in \mathcal {I}=\{i(1),i(2),...,i(n_{1})\}\) is a vertex where \(\min \limits _{r = n_{1},..., 1}\alpha _{i(r)}\) takes place therefore the path \(P_{v_{I},v_{Q}}\) is passing through the middle vertex m and minimizing the median function with \(\mathbb {D}(P_{v_{I},v_{Q}}) = \min \limits _{r = n_{1},..., 1}\alpha _{i(r)}\).

To find the best path in T1, replace the weight of m by \(\sum \limits _{v\in V_{2}}w_{v}\), delete all vertices in V2−{m} from T, and solve the problem in the resulting subtree T1 and add the constant \(\mathbb {D}^{2}(m)=\sum \limits _{v_{t}\in V^{2}}w_{t}d(v_{t},m)\) to the value of the median function. By similar technique, the best path in T2 can be located. For simplicity, define i as (to be used later):

$$ i^{\prime }=\left\{ \begin{array}{c} 1\mathrm{ \ \ if }\ i=2, \\ 2\mathrm{ \ \ if }\ i=1. \end{array} \right. $$

Theorem 1

(See [30].) The time complexity of median path algorithm is O(n logn).

The k-best median path in a tree

It is known that \(\left \vert \mathcal {P}\right \vert \leq \frac {n}{2}(n+1)\). The k-best median path \(P\in \mathcal {P}\) means the k-path which minimizes the median function with \(k=1,2,...,\frac {n}{2}(n+1)\). The algorithm presented in the previous subsection finds the first best median path, but it is sometimes needed to locate the second, the third,..., etc., best median paths of the tree T. Therefore, this algorithm is modified. For the sake of simplicity, it is assumed that the best median path \(P^{\ast }=P_{v_{I},v_{Q}}\) with endpoints vIT1 and vQT2. To compute the second best path in T, the first median path \(P^{\ast }=P_{v_{I},v_{Q}}\) is excluded and the second median path is located by updating the quantities αi(j) in linear time as follows:

$$ \alpha_{i(j)} = \left\{ \begin{array}{c} \mathbb{D}(1,v_{i(j)})+\min\limits_{q(s)\in \mathcal{Q}-\{Q\}} \mathbb{D}(2,v_{q(s)})\textrm{ \ \ if }v_{i(j)}=v_{I}, \\ \alpha_{i(j)}\textrm{ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ otherwise.} \end{array} \right. $$

Two-phase method to solve BMP problem

The two-phase method is based on computing the supported and unsupported Pareto solutions separately (see [32]). In phase 1, the supported Pareto solutions are computed by solving the weighted sum problem. In phase 2, the unsupported Pareto solutions are computed by an enumerative approach. The search space in phase 2 is restricted due to information obtained from phase 1 since it is restricted to triangles given by two consecutive supported non-dominated points. These triangles are said to be the viable regions.

Phase 1

It is used to find the supported Pareto solutions whose corresponding supported non-dominated points lie on the boundary of the convex hull. The weighted-sum scalarization is one of the most common methods used for this purpose. In this technique, the individual criteria are combined together so that one can solve a series of single objective problems. Consider the following minimization problem:

$$ \min_{P\in \mathcal{P}}\lambda D^{1}(P)+(1-\lambda)D^{2}(P), $$

where 0≤λ≤1. The problem (14) is equivalent to finding a median path P in the tree T which minimizes the sum of weighted distances function

$$ D(P,\lambda)=\sum_{i=1}^{n}\left(\lambda w_{i}^{1}+(1-\lambda)w_{i}^{2}\right)d(v_{i},P),\textrm{ \ \ \ \ }0\leq \lambda \leq 1. $$

The idea of this phase is based on finding two solutions P1 and P2 with D(P1)=(x1,y1), and D(P2)=(x2,y2) obtained by solving the problem (15) for each criterion separately. These solutions must be supported Pareto solutions. If they are identical, then the BMP problem has unique minimum solution. Otherwise another supported Pareto solution P with D(P)=(x,y) between D(P1) and D(P2) is computed (if there exists such one).

Theorem 2

The running time of Phase 1 algorithm is O(rn logn), where r is the number of the supported non-dominated points.

Proof: The running time of Median Path algorithm is O(n logn). The uniobjsearch procedure can be applied at most 2r time, where r is the number of the supported non-dominated points. Hence, the overall time of the phase 1 algorithm is O(rn logn).

Phase 2

The unsupported non-dominated points lie within triangles, viable regions, formed by two consecutive supported non-dominated points. Phase 2 searches for unsupported non-dominated points separately in each viable region.

Theorem 3

The running time of phase 2 algorithm is O(Rn logn), where \(R=\left \vert \mathcal {D}_{N}\right \vert \).

An illustrative example

The computations of algorithms phase 1 and phase 2 are illustrated by using the following tree given in Fig. 5. The following (BMP) problem is studied:

$$\min_{P\in \mathcal{P}}D(P)=\left\{ \begin{array}{c} \sum\limits_{v_{j}\in V}w_{j}^{1}d(v_{j},P), \\ \sum\limits_{v_{j}\in V}w_{j}^{2}d(v_{j},P), \end{array} \right. $$

where \(\mathcal {P}=\{P\subset T:L(P)\leq 26\}\).

Fig. 5
figure 5

Illustrative example

It is equivalent to locating the median path in the tree depicted in Fig. 6 with different values of λ. Table 2 shows the use of phase 1 and resulting three supported Pareto solutions. The supported Pareto solutions in order obtained are \(P^{1} = P_{v_{7}, v_{11}}, P^{2} = P_{v_{1}, v_{12}},\) and \(P^{3} = P_{v_{7}, v_{12}}\). Their corresponding supported non-dominated points are s1=(131,689),s2=(219,350), and s3=(169,474). Figure 7 shows the two viable regions sketched by these points.

Fig. 6
figure 6

Convex combination of weights of two criteria

Fig. 7
figure 7

Graph of the set \(\mathcal {D}_{N}\)

Table 2 Example solutions computed by Phase 1

Table 3 shows the application of phase 2 algorithm to the first viable region (first V.R.) defined by the triangle whose vertices are s1=(131,689),s3=(169,474) and (169,689). The point s4=(139,676) is located in the first V.R. After that phase 2 is applied to the second viable region (2nd V.R.) which is given by the triangle whose vertices are s3=(139,474),s2=(219,350), and (219,474). The two unsupported points s5=(177,461) and s6=(194,447) are lying in the 2nd V.R. The unsupported points found by phase 2 are shown in Fig. 7.

Table 3 Example solutions computed by phase 2

Case study

Mahmoud et al. [18] gave a case study as an application to the multi-objective location problem. They presented a methodology based on geographic information system (GIS) and multi-criteria decision analysis (MCDA) for regionally locating and sizing desalinization facilities for domestic water supply. The GIS allows consideration of complex spatial terrain and topographic impacts on locating desalination facilities and MCDA procedure maximizes utility using a 0−1 integer programming model for selecting cities to be served under specified budget allocations. This methodology is applied to a graph with N vertices representing a region with N municipalities. The total number of combinations S up to N municipalities receiving desalinated water supply from various combinations of plants is \(S=\sum _{i=1}^{N}\left (\begin {array}{c} N \\ i \end {array} \right)\). The S alternatives are identified as binary variables pi (i=1,...,S), with \(\mathcal {M}_{i}(p_{i})\) representing the discrete set of municipalities receiving water from desalination facility alternative i if pi=1; otherwise, \(\mathcal {M}_{i}(p_{i})= \phi \) if pi=0 and \(\mathcal {T}_{i}(z_{i})\) are the sets for each municipality i=1,...,N representing the desalination plant alternatives capable of delivering water to city i, assuming binary variable zi=1, indicating that city i is delivering desalinated water. They considered the model

$$\begin{array}{@{}rcl@{}} \min_{x_{i}}\sum_{j\in \mathcal{M}_{i}(p_{i})}W_{j}d^{2}(x_{i},\ell_{j}) \end{array} $$
$$\begin{array}{@{}rcl@{}} \max_{z}\sum_{i=1}^{N}U_{i}z_{i} \end{array} $$
$$\begin{array}{@{}rcl@{}} \min C_{\max }, \end{array} $$

where setting pi=1 in (16) places plant i at spatial location xi,

Wj means the municipal demand at location j,

d(xi,j) is the distance between the plant and city \(j, ~ j \in \mathcal {M}_{i}(p_{i})\),

\(U_{i} = \sum _{k = 1}^{R} w_{k}u_{ik}, \forall i = 1,..., N\), such that wk is weight-assigned by a decision-maker to each criterion k=1,...,R; and uik is a score for city i related to criterion k, and

Cmax is the least-cost selection of plants that supply water to only the selected cities.

They applied this model to the Northwestern coast of Egypt far from the freshwater sources in the Nile Valley and the Delta to optimally locate and size desalinization facilities over the region (see Fig. 8).

Fig. 8
figure 8

Best locations of desalination plants serving all cities in the region


The problem of siting special types of subgraphs such as trees and paths of the underlying network is considered as an extensive facility location problem. There are many applications in which several weights per each vertex need to be considered representing demand, importance, population, etc. This paper concentrates on the location problem of a path-shaped facility with bounded length on a doubly weighted tree network. A two-phase method is presented to finding all Pareto solutions.

The proposed problem in this paper is considered as desirable facilities that people like to be nearby. However, there also exist facilities that are undesirable and obnoxious such as nuclear reactors, military installations, and chemical plants (see [21,27]). For the future directions, one aims to study undesirable and obnoxious facilities in a multi-criteria networks.

Availability of data and materials

Not applicable.


  1. Aboutahoun, A. W., El-Safty, F.: A linear algorithm for a minimax location of a path-shaped facility with a specific length in a weighted tree network. Int. J. Oper. Res. 1.

    Article  Google Scholar 

  2. Alizadeh, B., Etemad, R.: Linear time optimal approaches for reverse obnoxious center location problems on networks. Optimization. 65, 2025–2036 (2016).

    Article  MathSciNet  Google Scholar 

  3. Averbakh, I., Berman, O.: Algorithms for path medi-centers of a tree. Comput. Oper. Res.26, 1395–1409 (1999).

    Article  MathSciNet  Google Scholar 

  4. Becker, R. I.: Inductive algorithms on finite trees. Quaest. Math.13, 165–181 (1990).

    Article  MathSciNet  Google Scholar 

  5. Becker, R. I., Chang, Y. I., Lari, I., Scozzari, A., Strochi, G.: Finding the -core of a tree. Discrete Appl. Math. 118, 25–42 (2002).

    Article  MathSciNet  Google Scholar 

  6. Becker, R. I., Lari, I., Scozzari, A.: Algorithms for central-median paths with bounded length on trees. European J. Oper. Res. 179, 1208–1220 (2007).

    Article  MathSciNet  Google Scholar 

  7. Bhattacharya, B., Shi, Q., Tamir, A.: Optimal algorithm for the path/tree shaped facility location problems on trees. Algorithmica. 55, 601–618 (2009).

    Article  MathSciNet  Google Scholar 

  8. Chankong, V., Haimes, Y. Y.: Multiobjective decision making: theory and methodology. Dover publications, New York (2008).

    MATH  Google Scholar 

  9. Colebrook, M., Sicilia, J.: A ploynomial algorithm for the multicriteria cent-dian location problem. European J. Oper. Res. 179, 1008–1024 (2007).

    Article  MathSciNet  Google Scholar 

  10. Ehrgott, M.: Multicriteria Optimization. Springer, Berlin (2005).

    MATH  Google Scholar 

  11. Ehrgott, M., Gandibleux, X.: Bound sets for biobjective combinatorial optimization problems. Comput. Oper. Res. 34, 2674–2694 (2007).

    Article  MathSciNet  Google Scholar 

  12. Ghezavati, V., Hosseinifar, P.: Application of efficient metaheuristics to solve a new bi-objective optimization model for hub facility location problem considering value at risk criterion. Soft Comput. 22, 195–212 (2016).

    Article  Google Scholar 

  13. Goldman, A. J.: Optimum center location in simple networks. Transport. Sci. 5, 212–221 (1971).

    Article  Google Scholar 

  14. Hamacher, H. W., Labbe, M., Nickel, S.: Multicriteria network location problems with sum objectives. Networks. 33, 79–92 (1999).

    Article  MathSciNet  Google Scholar 

  15. Hassin, R., Ravi, R., Salman, F. S.: Multiple facility location on a network with linear reliability order of edges. J. Comb. Optim. 34, 931–955 (2017).

    Article  MathSciNet  Google Scholar 

  16. Kahag, M. R., Niaki, S. T. A., Seifbarghy, M., Zabihi, S.: Bi-objective optimization of multi-server intermodel hub-location-allocation problem in congested systems: modeling and solution. J. Ind. Eng. Int. 15, 221–248 (2019).

    Article  Google Scholar 

  17. Kariv, O., Hakimi, S. L.: An algorithmic approach to network location problems, Part I, The p-centers. SIAM J. Appl. Math. 37, 513–538 (1979).

    Article  MathSciNet  Google Scholar 

  18. Mahmoud, M. R., Fahmy, H., Labadie, J. W.: Multicriteria siting and sizing of desalination facilities with geographic information system. J. Water Res. Pl- ASCE. 128, 113–120 (2002).

    Article  Google Scholar 

  19. Minieka, E., Patel, N. H.: On finding the core of a tree with a specified length. J. Algorithms. 4, 345–352 (1983).

    Article  MathSciNet  Google Scholar 

  20. Morgan, C. A., Slater, P. J.: A linear algorithm for a core of a tree. J. Algorithms. 1, 247–258 (1980).

    Article  MathSciNet  Google Scholar 

  21. Nguyen, K., Vui, P.: The inverse p-maxian problem on trees with variable edge lengths. Taiwanese J. Math. 20, 1437–1449 (2016).

    Article  MathSciNet  Google Scholar 

  22. Peng, S., Lo, W.: Efficient algorithms for finding a core of a tree with specified length. J. Algorithms. 20, 445–458 (1996).

    Article  MathSciNet  Google Scholar 

  23. Puerto, J., Rodrigues-Chia, A. M., Tamir, A., Perez-Brito, D.: The bi-criteria doubly weighted center-median path problem on a tree. Networks. 47, 237–247 (2006).

    Article  MathSciNet  Google Scholar 

  24. Raith, A., Ehrgott, M.: A comparison of solution strategies for biobjective shortest path problems. Comput. Oper. Res. 36, 1299–1331 (2009).

    Article  MathSciNet  Google Scholar 

  25. Raith, A., Ehrgott, M.: A two-phase algorithm for the biobjective integer minimum cost flow problem. Comput. Oper. Res. 36, 1945–1954 (2009).

    Article  MathSciNet  Google Scholar 

  26. Ramos, R. M., Ramos, M. T., Colebrook, M., Sicilia, J.: Locating a facility on a network with multiple median-type objectives. Ann. Oper. Res. 86, 221–235 (1999).

    Article  MathSciNet  Google Scholar 

  27. Rana, R., Garg, D.: Algorithm for obnoxious facility location problem. Int. J. Adv. Technol. 5, 96–106 (2014).

    Google Scholar 

  28. Slater, P. J.: Locating central paths in a graph. Transport. Sci. 16, 1–18 (1982).

    Article  Google Scholar 

  29. Steiner, S., Radzik, T.: Computing all efficient solutions of the biobjective minimum spanning tree problem. Comput. Oper. Res. 35, 198–211 (2008).

    Article  MathSciNet  Google Scholar 

  30. Tamir, A., Puerto, J., Mesa, J. A., Rodriguez-Chia, A. M.: Conditional location of path and tree shaped facilities on trees. J. Algorithms. 56, 50–75 (2005).

    Article  MathSciNet  Google Scholar 

  31. Tamir, A., Puerto, J., Perez-Brito, D.: The centdian subtree on tree network. Discrete Appl. Math. 118, 263–278 (2002).

    Article  MathSciNet  Google Scholar 

  32. Ulungu, E. L., Teghem, J.: The two-phases method: an efficient procedure to solve bi-objective combinatorial optimization problems. Found. Comput. Decision Sci. 20, 149–165 (1995).

    MathSciNet  MATH  Google Scholar 

  33. Wang, H. L.: An optimal algorithm for the weighted backup 2-center problem on a tree. Algorithmica. 77, 426–439 (2017).

    Article  MathSciNet  Google Scholar 

  34. Zaferanieh, M., Fathali, J.: Finding a core of a tree with pos/neg weight. Math. Meth. Oper. Res. 76, 147–160 (2012).

    Article  MathSciNet  Google Scholar 

Download references


The authors would like to thank the anonymous referees for their valuable comments and suggestions, which greatly improved the presentation of this paper.


Not applicable.

Author information

Authors and Affiliations



AWA suggested and analyzed the algorithms of the considered problem. FE applied the algorithms to an illustrative example and was a major contributor in writing the manuscript. Both authors read and approved the final manuscript.

Corresponding author

Correspondence to Fatma El-Safty.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License(, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Aboutahoun, A., El-Safty, F. An algorithm for solving the bi-objective median path-shaped facility on a tree network. J Egypt Math Soc 28, 3 (2020).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI:


2010 Mathematics Subject Classification