The degree constrained k-cardinality minimum spanning tree problem : a lexi-search algorithm

Article history: Received January 16, 2017 Received in revised format: May 22, 2017 Accepted July 23, 2017 Available online July 25, 2017 This paper deals with the degree constrained k-cardinality minimum spanning tree (k-MSTPD) problem defined on a connected, edge weighted and undirected graph. The aim of this problem is to determine the least weighted spanning tree with exactly k vertices such that except the root vertex, no other vertex in the resultant spanning tree exceeds the specified degree limit. The k-MSTPD problem has many practical applications for the design of electric, communication, and transportation networks. The problem is then formulated as a zero-one programming. In this paper, an exact algorithm known as Lexi-search algorithm (LSA) is developed to tackle the k-MSTPD problem. Furthermore, the developed LSA is programmed in Matlab and tested on some benchmark instances as well as on random instances and the respective results are reported. The obtained experimental results showed that the developed LSA takes significantly less time to find the optimal solutions. Growing Science Ltd. All rights reserved. 8 © 201


Introduction
The minimum spanning tree (MST) problem is a significant network combinatorial optimization problem.The MST problem is an acyclic subgraph, which connects all the vertices/nodes with the minimum overall associated weight to its edges.The k-cardinality minimum spanning tree problem (k-MST) is a variant of the classic MST problem and formally defined as follows: Let k  edges.The k-MST was first coined by Hamacher et al. (1991) and it was proven to be NP-hard by Ravi et al. (1996).It has several potential applications like oil-field leasing, telecommunications, open pit mining and image processing, (see Ravi et al., 1996;Garg & Hochbaum, 1997;Philpott & Wormald, 1997;Ma et al., 2000) thus it has received a great attention from the researchers in recent years.
Since the k-MST is NP-hard, developing exact solution methods is again a challenging problem.Due to this reason, most of the existing works on k-MST problem concerns approximate solution procedures.However, these approximate solution methods may not assure the exact solutions.The constant factor approximation approach for solving the k-MST problem was first given by Blum et al. (1995).Subsequently, Garg and Hochbaum (1997) studied the k-MST problem and suggested an O(log k) approximation algorithm.A 2.5-factor heuristic algorithm for k-MST has been developed by Arya and Ramesh (1998).Three meta-heuristics algorithms namely Tabu Search (TS), Ant Colony Optimization (ACO) and Evolutionary Computation (EC) have been proposed by Blum and Blesa (2005) for the k-MST problem and showed that the ACO and TS approach works better for lower and higher cardinalities respectively.Recently, Katagiri et al. (2010) proposed a new solution procedure using Tabu search for k-MST and shown that this method performs better than the existing methods.An efficient hybrid approximation algorithm using Tabu search and Ant colony optimization for solving the k-MST problem was proposed by Katagiri et al. (2012).Purusotham and Sundara Murthy (2012) suggested the iterative techniques to solve some of the variants of network problems.A hybrid heuristic approach based on the Memetic algorithm and Tabu search algorithm was developed by Katagiri and Guo (2013) for the k-MST problem.
Degree constrained minimum spanning tree (DMST) problem is one of the variants of classic MST problem and has been proved to be NP-hard by Karp (1972).The DMST problem has many practical applications such as design of computer and communication networks, electric circuits, design of integrated circuits, road networks and energy networks (Martins & De souza, 2009).Several solution methods have been developed in order to tackle DMST problem, for few see, Genetic algorithm by Hanr and Wang (2006), an Ant based algorithm by Doan (2007), Learning based automata approach by Torkestani (2013), and Branch and cut algorithm by Martinez and Cunha (2014).However, the above cited literature revealed that a limited consideration has been given to the variants of the k-MST problem due to NP-hard nature.Infact, many practical scenarios can be modeled as variants of k-MST problem.In this paper, a variant of the k-MST problem called the degree constrained k-cardinality minimum spanning tree problem (k-MSTPD) is considered and an exact solution procedure known as Lexi-search algorithm (LSA) is developed, which provides the optimal solutions effectively.Without loss of generality, relaxing the degree constraint and assuming , k n  the k-MSTPD corresponds to classic MST problem.Our aim is to construct the model and develop an exact Lexisearch algorithm for the k-MSTPD.
The rest of the paper is structured as follows: The problem is described and then it is formulated as a zero-one integer programming in Section 2. Section 3 includes the concepts and solution procedure of the proposed LSA algorithm.A numerical example is given in Section 4 to demonstrate the proposed LSA.Section 5 presents the computational results and subsequently, the conclusions are discussed in Section 6.

Let ( , )
G N E  be a connected, edge weighted and undirected graph, where N and E be the vertex/node set and edge set respectively.Each edge in E is associated with a non-negative weight known as cost.Given the specified positive integers k and D , the k-MSTPD aims to find the least cost spanning tree The mathematical model for k-MSTPD using zero one programming is given as follows: In this formulation, the constraint (1) represents the objective function that minimizes the overall cost of the spanning tree.The constraint (2) tells the resultant spanning tree possess k-1 edges.The constraint (3) ensures that except the root vertex, no other vertex in the spanning tree is more than a predefined degree limit.The constraint (4) eliminates the subtours.Finally, the integrality constraints are given in (5).

Lexi-search Algorithm
The Lexi-search algorithm (LSA) is a well organized Branch and Bound (B&B) algorithm suggested by Pandit (1962).In principle, the LSA has similar features of the Branch and Bound (B&B) algorithm such as checking the feasibility, computing the bounds, generating a feasible solution.The LSA has been proved to be productive than the B&B approach and is based on the following grounds Pandit (1962): "It is possible to list all the solutions in a structural hierarchy which also reflects a hierarchical ordering of the corresponding values of these configurations.Effective bounds can be set to the values of the objective function, when structural combinatorial restraints are placed on the allowable configurations".

Pattern
that corresponds to the kcardinality spanning tree is referred to as a pattern.The value of the pattern is evaluated by using the Eq. ( 6).

3.2.Alphabet Table
For any given two dimensional cost array , there exists M n n = ´ ordered pairs, which are organized in non-decreasing order and are indexed from 1 to M , stored in an array SN (Sundara Murthy, 1979).Let 1 2 ( , ,..., ) be an arranged sequence of p indices from SN .The pattern indicated through the ordered pairs whose indices are represented by p L , which is independent of the order of i b in the sequence.The indices in the sequence p L can be arranged in increasing order such that 1 , 1,2,..., 1 L gives a feasible solution.

Upper and Lower Word
The upper bound (UB) of a partial word is assumed to be a very higher value.The lower bound of a partial word ( ( )

Proposed Lexi-search Algorithm
The proposed Lexi-search algorithm (LSA) is mainly based on the features such as alphabet table, setting effective bounds, checking the feasibility and backtracking.The algorithmic steps of the proposed LSA for k-MSTPD problem are given as follows: Step 1:  Backtracking helps to improve the solution.The current value ofUB is assumed as the upper bound and proceed the search by taking the next letter of the partial word of order 1 p -and go to Step 3.
Step 8: Repeat the Step 3 to 7 and discard the feasible or infeasible solutions which are not necessary to obtain the optimal solutions.Continue this process untilUB has no further improvement and go to Step 9.
Step 9: Output Record currentUB and its corresponding full length word p L and go to Step 10.
Step 10: Stop Once the search gets over, the current UB gives an optimal solution and the word p L provides the complete schedule for k-MSTPD problem.

Numerical Illustration
In order to illustrate the proposed LSA, a numerical example is considered for which Since the problem defined on undirected graph, an upper triangular matrix is considered and the cost matrix is represented in Table 1.Note that the components of the cost matrix C assume the non-negative integral values.For convenience, the partial alphabet table for the cost matrix in Table 1 is shown in Table 2.In Table 2, the arrays SN, C, CC, R and CL represents the serial number, elements of the cost matrix organized in ascending order, cumulative cost for the elements of the cost matrix, row and column indices respectively.The search table reported in Table 3 represents the details about how the proposed LSA computes the feasible solution and converges to the optimal solution.In Table 3, the column indexed by SN represents the serial number, the subsequent columns indexed by 1, 2, 3, 4, 5 and 6 indicates the first, second, third, fourth, fifth and sixth position of the letters in a partial word respectively.The next columns labeled by v and LB tells that value of the partial word and lower bound of a partial word respectively.The successive columns R and CL represent the row and column indices respectively.Finally, the last column Remark gives whether the partial word is accepted or rejected.
Since the problem considered in Table 1 aims to find the least cost spanning tree with exactly 7 k  (out of 9 n  vertices) vertices and 6 k  edges.Thus, the length of the feasible word could be 6 i.e. 6 edges.In Table 3, the LSA algorithm starts with a partial word 1 1, L = and it satisfies the feasibility conditions, thus the partial word is accepted and denoted by 'A'.It is seen that some of the partial words failed in satisfying the feasibility conditions and hence rejected partial words are represented by 'R'.Proceeding in this manner it lead to a full length feasible word 6 (1,2,3,4,5,11) L = which possess the objective value UB=52 (feasible solution) and it is observed at 11 th row of the Table 3.The graphical representation of the feasible solution can be shown in Fig. 1.Once the feasible solution is obtained, the current UB is assumed to be the upper bound and proceed for the backtracking in order to enhance the search space.It is observed that the improved solution UB=49 is observed at 14 th row of the Table 3 and its corresponding full length word could be 6 (1, 2, 3, 4, 6, 8)   L = .Since no other solution is found to be better than the current solution, the current found solution i.e.UB=49 could be the optimal solution and further, the algorithm terminates at 19 th row of the Table 3.The graphical representation of optimal solution is given in Fig. 2.

Computational Results
This section reports the computational details of the proposed LSA for the k-MSTPD.The LSA was coded in Matlab 2016a and the experimental analysis was carried out on a 64-bit Microsoft Windows 2010 operating system with 4 GB of RAM PC and processor Intel Core i5 running at a 2.10 GHz.We evaluated the performance of the proposed LSA by varying distinct parameters in terms of a number of vertices, the cardinality of the tree, the structure of the cost matrix and degree limit on the vertices.
To assess the efficiency of the proposed LSA for the k-MSTPD, seven benchmark instances taken from TSPLIB which include gr17, gr21, gr24, fri26, bayg29, dantzig42, and gr48.The extensive computational details are reported in Table 4. From the results in Table 4, it is seen that for all the 23 cases of seven instances, the exact solutions were found by the LSA within considerable CPU runtime ranging from 0.0542 seconds to 12.8818 seconds.From these results, it is seen that the LSA is capable in finding the optimal solutions for all the cases within practically allowable runtimes.Note that for all the cases the root vertex is assumed as 1.
Furthermore, to measure the effectiveness of the proposed LSA, the computational experiments were carried out on a class of 10 randomly generated small and medium test instances ranging from 15 to 100.Each class included 10 instances and overall, a total of 100 test instances with symmetric edge weights are generated and tested.The cost ij c assumes the randomly generated values over the range 1 to 500, i.e. 1 5 0 0 .The experimental results summarized in Table 5 concerns the mean results of each size of the instance by the proposed LSA.Table 5 also contains the standard deviation (SD) of CPU runtimes.The results given in Table 5 based on five independent runs.In Table 5, the problems with 15 to 80 vertices with distinct cardinalities (k) could be solved in very less CPU runtimes.The CPU runtimes start rising when the problems of size 90 or higher are tested.However, these computational runtimes are fairly reasonable.
The overall results summarized in Table 4 and Table 5 reveal that proposed LSA could efficiently solve the k-MSTPD for the small and medium size of instances.For the problems of higher dimensions, the CPU runtimes may also be higher.

Conclusions
In this paper, a practical variant of MST problem reffered to as a degree constrained k-cardinality minimum spanning tree problem (k-MSTPD) has been taken into consideration and the model was then modeled using zero-one programming.The k-MSTPD may have several practical applications, particularly in the areas like designing of networks, electric circuits, and transportation networks.We have proposed an exact solution procedure namely Lexi-search algorithm for k-MSTPD.Through numerical experiments for various benchmark and randomly generated instances, the performance of the developed LSA was measured.The experimental results reveal that the proposed LSA for the k-MSTPD is found to be productive to obtain the optimal solutions within considerable CPU runtimes.
and undirected graph having | | N vertices and | | E edges, the k-MST problem determines the least weight spanning tree with exactly k ( | |) p LB L ) for the values of the blocks of words indicated by the lower bound of the partial word ( ( )) partial word p L and subsequently remove the blocks of words with p L as the leader.Go to Step 6. Step 4: Feasibility checking a.If the partial word p L satisfies the degree constraint, acyclic and balancing the size of the cardinality k, then it is feasible and infeasible, otherwise.b.If the partial word p L is feasible, then accept it and proceed for the subsequent partial word of order 1 p + and go to Step 5.If p L is infeasible, pick up the consecutive partial word of same order by considering the letter that succeeds p b in its th p position and go to Step 3. Step 5: Concatenation a.If p L is a partial word, then this will be concatenated by using and go to Step 3. b.If p L is a full length word replace by ( ) p LB L and go to Step 7. Step 6: If all the words of order p are exhausted and length of the word p L is 1 then move to Step 9 and go to Step 7, otherwise.Step 7: Backtracking ordered sequence p L is said to be a word of length p .The set SN is called an Alphabet table.A word p L is called sensible word, if n→ number of vertices; k→ specified number; ( ) 1,

Table 1
Cost matrix of the k-MSTPD problem

Table 2
Alphabet Table

Table 4
Results of the LSA for k-MSTPD over benchmark instances benchmark instances taken from TSPLIB; |N| − number of vertices in the given graph; |E|− number of edges in the given graph; k -number of vertices in the resultant spanning tree; D -degree limit on the vertices; Best sol.-the optimal solution by the proposed LSA; Worst time -worst computational runtime (in CPU seconds) for the best found solution; Best time -best computational runtime (in CPU seconds) for the best found solution.

Table 5
Mean results of the LSA for k-MSTPD over random instances -problem number; |N| − number of vertices in the given graph; |E|− number of edges in the given graph; k -number of vertices in the resultant spanning tree; D -degree limit on the vertices; NPT-number of problems tested on each dimension; Min.-minimum CPU runtime (in seconds) to find best found solution for the ten runs; Max.-maximum CPU runtime (in seconds) to find best found solution for the ten runs; Avg.-mean CPU runtime (in seconds) to find best found solution for the ten runs; SD -standard deviation of CPU runtimes. SN