Abstract

Degree constrained minimum spanning tree (DCMST) refers to constructing a spanning tree of minimum weight in a complete graph with weights on edges while the degree of each node in the spanning tree is no more than d (d ≥ 2). The paper proposes an improved multicolony ant algorithm for degree constrained minimum spanning tree searching which enables independent search for optimal solutions among various colonies and achieving information exchanges between different colonies by information entropy. Local optimal algorithm is introduced to improve constructed spanning tree. Meanwhile, algorithm strategies in dynamic ant, random perturbations ant colony, and max-min ant system are adapted in this paper to optimize the proposed algorithm. Finally, multiple groups of experimental data show the superiority of the improved algorithm in solving the problems of degree constrained minimum spanning tree.

1. Introduction

Minimum spanning tree (MST) is a classic combinatorial optimization problem. Many engineering problems in common cases, for example, pipeline, circuit design, and transportation network, can be transformed into minimum spanning tree. Minimum spanning tree means to construct a minimum cost spanning tree with weight graph by adapting proven algorithms like avoid cycle method, tear cycle method, and so forth. However, things will be different when values, which bring about restrictions to degree of each vertex in a tree, are given in advance. It is in fact a problem of so-called degree-constrained minimum spanning tree (DCMST). As a matter of fact, it means to find out the minimum spanning tree with minimum weight while complying with the vertex constraints in all spanning trees. With the development of science and society, there is a growing need for solving the problems of DCMST in different fields such as computer communication, telephone communication, transportation, and allocation of resources, thus making DCMST optimization a problem worth studying.

As NP hard problem, various algorithms with high time complexity such as branch and bound method, approximate algorithm, iterative method, and multistart hill-climbing are exploited in DCMST in previous study. Heuristic algorithms, for instance, genetic algorithms, simulated annealing algorithm, and ant colony algorithm, have been a research focus to generate acceptable solutions in a valid time. Among these modern optimization algorithms, ant colony algorithm comes as a novel bionics algorithm and converges to the shortest path by information transferring and updating among ants. It combines distributed computation, positive feedback mechanism, and greedy search which enables fast approaching of better solutions.

Many DCNST problems are solved by ant colony algorithm [15]; these applications adopt ant colony algorithm with single colony. It comes with shortcomings of long search time and stagnation. Ant colony operates through organized cooperation and task-sharing in nature and their pheromone regulation mechanisms differ from one colony to another. These corporations show great significance when ant colony deals with complex tasks. Algorithms that employ multicolony ant algorithm will converge in a shorter period of time compared to those applied with single colony but feature the same ant population in total especially when the problem is in large scale. Taking all these factors into account, the paper proposes a degree-constrained minimum spanning tree based on improved multiant colonies. The proposed algorithm features multipaths search through multiant colonies under setting conditions. Moreover, the thinking of dynamic ant colony is utilized here to dynamically adjust volatilization factor and enhancement factor during the running process in order to increase the diversity of solutions. Upper and lower bounds of pheromone are configured on the basis of the thinking of max-min ant system during its updating process. What is more, the tabu list is applied in case of local circling while random disturbance factor is set here to increase the possibility of selection among different paths so as to promote objective and diverse solutions.

2. Background

Providing is a connected complete graph with weights on edges while the values of the weight are not negative, supposing is the spanning tree of , means the sum of weights of . Then construct a spanning tree with a minimum under the condition that the degree of each node is no more than , where . Spanning trees meeting the above description are named degree-constrained minimum spanning tree (DCMST).

DCMST was first proposed by Narula and Ho in 1980. Then branch and bound algorithm [6, 7], which enables optimal solutions search for DCMST with less nodes, was given at the same time. After that, a branch and cut algorithm [8] that promoted a more objective construction when searching for optimal solutions was raised by Caccetta and Hill, and so forth. In particular, Volgenant presented double solution information based Lagrangian algorithm [9] for DCMST. Soon after that, Behle et al. further optimized this problem by presenting preferential branch and cut algorithm [10] by adopting separation standards and principles of 0/1 integer programming.

With further exploration of DCMST, evolutionary algorithm [1113] taking genetic immune thinking as a main representative emerged. During that period of time Japanese scholar Zhou and Gen achieved a major breakthrough by solving DCMST using evolutionary algorithm and encoding spanning tree by Prufe. Nevertheless, the information of degree cannot be reflected in Prufe coding and infeasible solutions generated in this procession. Since then, many evolutionary thinking based algorithms have been proposed to solve the problem of DCMST. These algorithms mainly focused on bringing improvements in evolutionary coding and these improvements are insufficient for a DCMST task. In addition, randomized primal method (RPM) [12], which is a dynamic table structure, integrated multistart hill-climbing (MHC) [14], stimulated annealing (SA), and genetic algorithm (GA) [12, 13] and the node weight information as a whole was presented by Knowles to find the optimal solutions of DCMST. Many heuristic algorithms, for instance, ant colony algorithm [3, 1517] and particle swarm optimization algorithm [18, 19], have been applied to study DCMST from different ways and have gained positive effects.

A typical example was given in [2] to solve DCMST by an improved ant colony algorithm. In this example, a group of ants were asked to explore the given graph; then a group of signed edge set which is related to the pheromone on paths was selected as a candidate set. Afterwards, Kruskal’s algorithm was adopted to construct a DCMST according to the candidate set. Finally, local optimization was carried out in DCMST to better improve the spanning tree. The algorithm proposed in this paper is basically based on ant colony algorithm and further optimizes the solutions by introducing multiant colonies.

3. Mathematical Model of DCMST

In the mathematical model of DCMST, graph means a connected undirected graph, wherein is the vertex set, the edge set is , and is the weight matrix. Supposing , , , if , then ; if , then . The mathematical model of DCMST can be described as wherein variableCondition (2) limits the number of edges that connected to node which ensures the restrictions of degree constraint. Condition (3) makes sure that the obtained subgraph is a spanning tree of graph . Condition (4) ensures that there are edges in the final subgraph.

4. Degree-Constrained Minimum Spanning Tree Based on Multiant Colonies

In this paper, multiple ant colonies are arranged to search multiple paths following given conditions. They are supposed to search for optimal solutions independently and to communicate with each other through information entropy. Entropy is mainly used for description of the disordered relation in thermodynamics. In here, information entropy which can be expressed as is employed to display the diversity of solutions, wherein is the possibility that condition can be determined while , . The size of information entropy dominates the diversity of solutions and it is also an important basis for pheromone updating between ant colonies.

Besides, the improved algorithm enlarged search area of ant and added to the diversity of solutions by dynamically adjusting volatilization factor and enhancement factor to affect the distribution of pheromone. By introducing adaptive optimization strategy in case of local circling and random disturbance factor to increase the possibility that each path is being selected, the obtained solutions are supposed to be objective and diverse.

At the beginning of the experiment, each ant is allocated with an initial position; then initial values of pheromone of edges are given. After DCMST is constructed, ant colonies start the search process and a set of edge set TE will be obtained. Kruskal algorithm then will be applied to construct a spanning tree according to TE. After all rge spanning trees are constructed by each colony, all these spanning trees will be compared with each other and the optimal spanning tree with the least weight will be note into . Algorithms 2-EdgeReplacement and 1-EdgeRepalcement will be exploited to optimize . Then, comparing with after iteration, the one that features the smaller weight is set to be . Next, globally update the pheromone of and reallocate positions of each ant. If communication requirements are met between colonies, then pheromone updating will be conducted between colonies, or next iteration will be conducted. Final solution will not be obtained until all the iterations are complete. See Algorithm 1.

Input:
: a complete graph with weight;
: function to calculate weight;
: degree constraint of vertex, ;
MA: the amount of ant colonies
Output:
 A degree constrained minimum spanning tree
Begin
 //Initialization
 Create the Multiple set of ants of size with the number of colonies
InitAntsEdges(, , )
  ConstructSpanningTree()
while   and   do
  for     to   MA   do
   AntsMove //Exploration
    Calculation Entropy
      ConstructSpanningTree()
   If     then
    
    
   //local optimization
      2-EdgeReplacement()
      1-EdgeReplacement()
  If     then
   
   
  foreach     do //enhance
   ephm
  if   () >   then
   
   Restart(
  if   mod gap(s) = 0  then
   ExchangePheromone()
  
  ResetAnts()
  Update parameters and
return  

The flow chart is as shown in Figure 1.

4.1. The Initialization Stage

The edge weight will be computed according to the distances between node sets when initialization begins. Maximum weight and minimum weight will be recorded. Then the initial pheromone concentration of each edge is acquired by analyzing obtained weight. Assuming the range of weight lies between and , the initial edge set will be obtained according to initial pheromone matrix. After that, each ant will be allocated with an initial position. See Algorithm 2.

InitAntsEdges()
begin
for     to     do
  Ant[]⋅
  Ant[]⋅tabuList
foreach     do
  e
  e⋅phm    e⋅initPhm
   eVisited

4.2. The Search Stage

The transfer rule of an improved ant colony algorithm is employed when ants start their search for next target position in the search stage.

The algorithm integrates the characteristics of optimized algorithms like dynamic ant colony algorithm and random disturbance ant colony algorithm as a whole and each ant is allocated with its own tabu list. Ants will select next target according to transfer rule in

In this formula, is a random number within 0~1. is a constant; it is set to be 0.5 in here. When is less than or equal to , according to random disturbance strategy, the next target position will be the node when takes the largest value. Considerwherein is equal to 1 and changes with the number of iterations, recorded as , by a kind of dynamic ant colony strategy. when the number of iterations lies in . When it comes to be in , . when the number lies in . Similarly, when this number lies in .

Γ calculated by is the disturbance factor. is a random number within 0~2. is equal to 4 and is the number of iterations.

When is larger than ,

means the possibility that is being selected; the possibility increases as grows rather than forcing to be the maximum node. Then next target position will be determined and add this position to tabu list of this ant in case of being selected again; then add 1 to the number of visits.

Information entropy of a colony will be calculated as (10) according to obtained of each ant after a colony completes searching:

represents the number of ants in a colony. The calculated information entropy of colonies will be a basis for colonies selection when pheromone exchanges. See Algorithm 3.

AntsMove()
begin
for     to maxSteps do
  if   mod updatePeriod = 0  then
   UpdatePheromone()
  foreach     do
   Attempts
   moved False
   while not moved and Attempts < 5 do
     ⋅location
    Select an edge () at random and proportional to ()⋅phm
    if   ⋅tabuList then
     add into ⋅tabuList
     ⋅location
          ()⋅Visited++
     moved True
    else   Attempts++
Calculation Entropy of the current colony

4.3. Updating of Pheromone

All ant colonies search for edges following a given step length. All ants will not stop moving in parallel in each step and updating pheromone on edges that have been searched until all the steps have been finished. Pheromone updating is set to be operated after finishing a group of specific steps instead of updating pheromone concentration after each step in order to promote more effective search. Pheromone is supposed to be updated when an ant has finished 1/3 of its maximum step.

Pheromone on each path ranges between minPhm and maxPhm. It is similar to max-min ant system, which will be of help to prevent the solution from falling into local optimal:

and are maximum weight and minimum weight referred to at the beginning.

A counter will be set on each edge to know how many times it has been visited after an update is complete. Local update of pheromone is arranged as the formula lists as follows:

means the volatilization factor and it is updating with the operating of algorithm. Consider

initPhm is the initial pheromone value of edge and Visited implies the number on edges being visited. is a constant and, in here, it is set to be 0.5. It should be noted that when the value of pheromone on a path exceeds threshold value, the value of pheromone will be adjusted by adjusting initial pheromone values of edges for better solution. See Algorithm 4.

UpdatePheromone()
begin
foreach     do
  ⋅phm ⋅phm + nVisited  ×  ⋅initPhm
  nVisited
  if   ⋅phm > maxPhm then
   ⋅phm maxPhm  −  ⋅initPhm
  if   ⋅phm < minPhm then
   ⋅phm minPhm + ⋅initPhm

4.4. Constructing Spanning Tree

A group of edges will be obtained after an ant colony completes searching. Pheromone matrix is adopted to construct a corresponding DCMST due to the absolute connectivity of obtained edge sets and they are all labeled with high pheromone values.

Sort edges sets by pheromone values, from largest to smallest. Construct a candidate set by choosing the top Candidates edges and arrange them from smallest to largest by weight values. Next, a spanning tree in which the degrees of nodes meet constraints will be constructed. If the selected Candidates set does not meet the requirements to construct a spanning tree, another Candidates set will be selected to construct a spanning tree until a degree constrained spanning tree was constructed. After all ant colonies constructed their own spanning tree, the one that owns the smallest weight will be selected as the optimal spanning tree in this iteration, labeled as . Then its pheromone matrix and colony number will be recorded. See Algorithm 5.

ConstructSpanningTree()
begin
 Sort in order of descreasing pheromone level
top Candidates edges from
 Sort in order of increasing edges cost
  while     do
   if     then
    Let be the next edge in
    Remove from
    if adding e into with meet the degree constraint then
     
    else
      next Candidates edges from
    Sort in order of increasing edges cost
return  

4.5. Local Optimization Stage

Spanning tree will be processed by two local optimization algorithms of 2-EdgeReplacement and 1-EdgeReplacement. 2-EdgeReplacement means to replace any two edges of spanning tree with two other edges, wherein the weights of two other edges are smaller than two previous edges being replaced. Furthermore, spanning tree has to meet degree constraints after two edges being replaced. What makes 1-EdgeReplacement different from 2-EdgeReplacement is that only one edge rather than two edges is replaced in a spanning tree in 1-EdgeReplacement. Finally, optimized spanning tree is noted as . See Algorithms 6 and 7.

2-EdgeReplacement()
begin
while     do
   a random edge in
  
  foreach   and , are not adjacent do
   
   if     then
   
   
  if     then
   
   
  else
   
return  

1-EdgeReplacement()
begin
 Sort in order of increasing edges cost
repeat
  changed False
  Sort in order of increasing edges cost
  
  while   ≥ 0  do
   
   while   >   do
    if swapping and creates no cycle in and satisfies degree constraint then
     
     changed True
     break
    
   
until not changed
return  

4.6. Global Optimization Stage

Spanning tree after iterative optimization is compared with optimal spanning tree generated in latest iteration; the one that gets the smaller weight will be noted as . Then pheromone will be updated globally in and ants will be allocated with new positions. Only if communication requirements between colonies are met will pheromone be updated between colonies, or a new iteration will be conducted.

4.7. Information Exchanges between Colonies

Information exchanges between colonies are conducted at certain time intervals, which is determined according to information entropy of all colonies; in other words, it changes by the convergence of all colonies. Time intervals gap of information exchanges between colonies is in accordance with the following formula:wherein is a constant, is the number of subcolonies, and is the information entropy of the th subcolony.

Selection criteria of colonies, where information exchanges existed between colonies, are determined by information entropies of each colony. Provided that colony is the selected colony of colony for information exchanging, then is determined by the following formula:in which and are information entropies of colonies and , respectively. Colonies with greater entropy will choose colonies with smaller entropy as objects to exchange information. Then colonies with small information entropy are concentratedly distributed and information exchanges with high entropy colonies will help to improve their pheromone amount. Similarly, colonies with high information entropy will be distributed scatteredly to help to improve colonies with small information entropy.

Pheromone updates will be conducted depending on formula (16) when colony selects colony as an object to exchange information. Consider

, , and and are constants and present the minimum and maximum update coefficient, respectively. is the pheromone of colony on path . See Algorithm 8.

ExchangePheromone()
begin
for   = 0 to   do
  for = 0 to     do
   if     then
    
    
  for   = 0 to     do
   ⋅phm ⋅phm + ⋅phm

5. Simulation and Analysis

5.1. Experimental Data

The data in Table 1 was selected as experimental subjects. Single colony ant algorithm was compared with multicolony ant algorithm. Experimental parameters were set as follows: maximum number of loop iterations , . The number of ant colonies is 3, the maximum search step of ant , update cycle of local pheromone updatePeriod = , and the degree of vertex .

5.2. Experimental Platform

The algorithm is coded with standard Java and has been compiled and debugged on the platform of Eclipse. A computer installed with 32-bit Windows 7 operating system and equipped with 3 G RAM and 2.20 GHz CPU was used to operate the algorithm. Experimental results are obtained by operating the proposed algorithm 20 times for each sample data set.

5.3. Parameters Configuration

Parameters are configured as Table 2 in experiment.

5.4. Evaluation Index

In experiment, the optimal value, average value, standard deviation, coefficient of variation CV, and mean deviation value Gap were selected as evaluation indexes of experimental results, wherein coefficient of variation CV reflects the robustness of the algorithm: . The proposed algorithm tends to be more stable as the value of CV gets smaller. Mean deviation value Gap illustrates the possibility of better solution obtaining .

5.5. Experimental Results and Analysis

Experiment was conducted when degree of vertex was set to be , respectively. Each sample graph run 20 times; then a minimum spanning tree and its weight was gained. If the value of the minimum spanning tree is not within the scope of the above set, the output answer is invalid.

Tables 36 provide the statistical results of optimal value, average value, standard deviation, coefficient of variation CV, and mean deviation value Gap after 20 times of operation for all the sample graphs under various conditions.

According to the deviation coefficient CV and mean deviation value Gap listed in the table, these values are large when . Significant changes can be observed comparing to optimal solution and the changes in optimal search are obvious.

With the increase of , the restrictions of spanning tree construction will not be tightly controlled. It can be drawn from the table that optimal solution, taking graph att48 as an example, tends to be stable while changes in deviation coefficient and mean deviation value approach zero. Optimal tree weight tends to be stable and algorithm optimization gets improved with changes of by adopting improved algorithm. With the increase of degree in sample graph, variation ranges of deviation coefficient and standard deviation value were kept within 0.00%–6.00%, even close to 0.00%. The above results show advantages of improved ant colony algorithm in solving DCMST of dense graph and advantages of ant colony algorithm in solving combinatorial optimization problem in minimum spanning tree.

When is equal to 4 or 5, obtained solutions optimized by ant colony algorithm are basically stable in a certain range and optimized performance of algorithm and optimized values of results tend to be constant. The results imply that there are no more promotions on solution searching when degree constraints go over a certain range. Therefore, in practical applications, the degree of limitation on the spanning tree should be more considered. Excessive restrictions on spanning tree will not result in an expected optimization effect.

By comparing multicolony ant algorithm with single colony ant algorithm [2], multicolony ant algorithm is obviously more effective in solution optimization which proves that multicolony ant algorithm shows greater advantages in DCMST optimal searching. Conditions under and are selected here to illustrate the proposed opinion. Solution assessment of these two algorithms is evaluated by average solution () and optimal solution (best). Solution comparisons of multicolony ant algorithm and single colony ant algorithm under and are listed in Tables 7 and 8.

Experimental data as shown in Tables 7 and 8 show that average weight and optimal weight of DCMST obtained by multicolony ant algorithm are obviously smaller than those solved by single colony ant algorithm. Multicolony ant algorithm yields better optimization results than single colony ant algorithm which implies that coordination and cooperation through information entropy in multiant colonies promotes better convergence of algorithm and expands search space which adds to the diversity of solution. By comparing experimental results of and , it can be seen that the tougher the degree constraints of minimum spanning tree are, the more accurate the solution searched by multicolony ant algorithm is. The above analysis proved that the algorithm has strong search ability.

It can be drawn from the above analysis that multicolony ant algorithm shows greater superiority in solving DCMST. It features outstanding ability of optimal solution finding and also it will extensively distribute the solutions and obtain new optimal solutions, thus making it a better algorithm for searching DCMST with smallest weight.

6. Conclusion

The paper carried out studies on applications of ant colony algorithm in DCMST optimization. Many problems remain unresolved in this study since researches on swarm intelligence of ant colony algorithm are still in a primary stage. Works to be carried out next are as follows: to find out links among genetic algorithm, hill-climbing algorithm, and particle swarm optimization algorithm and integrate them into a novel improved algorithm. By adopting it to optimizations like DCMST, practical application demands can be met.

Another work to be done is to improve parameters selection criteria of algorithm optimization and assessment standard of algorithm stability on account of the lack of related study in depth while ant colony algorithm is a heuristic search algorithm and also due to few works being carried out in this field to perfectly prove its correctness.

Owing to the complexity and diversity of practical problems and variations in working environment, multilayered algorithms have not been reached in this paper. In addition, complex theory has become a powerful framework to deal with the complexity problems in real-world systems [2023]. Thus, concurrent collaborations of multiant colonies will be a key emphasis in work so as to increase the speed and efficiency of solving tasks.

In a word, related works presented in this paper reflect smart features of intelligent computing and dynamic execution in parallel, and significant achievements have been made by it in DCMST.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgments

The project is supported by the National Natural Science Foundation of China (Grant no. 61173032), the Young Scientists Fund of the National Natural Science Foundation of China (Grant no. 61402329), and the Natural Science Foundation of Tianjin, China (Grant nos. 13JCYBJC15500 and 12JCYBJC31900).