Research Article  Open Access
Hongqi Li, Yue Lu, Jun Zhang, Tianyi Wang, "Solving the Tractor and SemiTrailer Routing Problem Based on a Heuristic Approach", Mathematical Problems in Engineering, vol. 2012, Article ID 182584, 12 pages, 2012. https://doi.org/10.1155/2012/182584
Solving the Tractor and SemiTrailer Routing Problem Based on a Heuristic Approach
Abstract
We study the tractor and semitrailer routing problem (TSRP), a variant of the vehicle routing problem (VRP). In the TSRP model for this paper, vehicles are dispatched on a trailerflow network where there is only one main depot, and all tractors originate and terminate in the main depot. Two types of decisions are involved: the number of tractors and the route of each tractor. Heuristic algorithms have seen widespread application to various extensions of the VRP. However, this approach has not been applied to the TSRP. We propose a heuristic algorithm to solve the TSRP. The proposed heuristic algorithm first constructs the initial route set by the limitation of a driver’s onduty time. The candidate routes in the initial set are then filtered by a twophase approach. The computational study shows that our algorithm is feasible for the TSRP. Moreover, the algorithm takes relatively little time to obtain satisfactory solutions. The results suggest that our heuristic algorithm is competitive in solving the TSRP.
1. Introduction
In this paper, we consider the tractor and semitrailer routing problem (TSRP), a variant of the vehicle routing problem (VRP). The VRP is one of the most significant problems in the fields of transportation, distribution, and logistics. The basic VRP consists of some geographically dispersed customers, each requiring a certain weight of goods to be delivered (or picked up). A fleet of identical vehicles dispatched from a depot is used to deliver the goods, and the vehicles must terminate at the depot. Each vehicle can carry a limited weight and only one vehicle is allowed to visit each customer. It is assumed that some parameters (e.g., customer demands and travel times) are known with certainty. The solution of the problem consists of finding a set of routes that satisfy the freight demand at minimal total cost. In practice, additional operational requirements and restrictions, as in the case of the truck and trailer routing problem (TTRP), may be imposed on the VRP [1]. The TTRP was first studied by Semet and Taillard et al. [2] and Gerdessen [3] in the 1990s, and it was subsequently studied by Chao [4], Scheuerer [5], and others. In the TTRP, the use of trailers (a commonly neglected feature in the VRP) is considered. Some customers can be served by a combination vehicle (i.e., a truck pulling a trailer, as in type II in Figure 1), while other customers can only be served by a truck (as type I in Figure 1) due to some limitations such as government regulations, limited maneuvering space at customer sites, road conditions, and so forth. These constraints exist in many practical situations [1].
The VRP and its various extensions have long been one of the most studied combinatorial optimization problems due to the problem’s complexity and extensive applications in practice [6–10]. The truck and trailer combination is employed widely by enterprises around the world, but there additional features introduced by trailers that have attracted some research. A number of studies have concentrated on applications of the TTRP. For instance, Semet and Taillard et al. [2] and Caramia and Guerriero et al. [11] gave some realworld TTRP applications in collection and delivery operations in rural areas or crowded cities with accessibility constraints. Theoretically, being an extension of the VRP, the TTRP is NPHard. The TTRP is computationally more difficult to solve than the VRP [1]. Because the VRP is usually tackled by heuristic methods [6–9, 12–15], it is feasible to develop heuristic approaches for the TTRP.
Gerdessen [3] extended the VRP to the vehicle routing problem with trailers and investigated the optimal deployment of a fleet of trucktrailer combinations by a construction and improvement heuristic. Scheuerer [5] proposed construction heuristics (called TCluster and TSweep) along with a tabu search algorithm for the TTRP. Tan et al. [16] proposed a hybrid multiobjective evolutionary algorithm featuring specialized genetic operators, variablelength representation; and local search heuristics to solve the TTRP. Lin et al. [1] proposed a simulated annealing (SA) heuristic for the TTRP and suggested that SA is competitive with tabu search (TS) for solving the TTRP. Villegas et al. [17] solved the TTRP by using a hybrid metaheuristic based on a greedy randomized adaptive search procedure (GRASP), variable neighborhood search (VNS), and path relinking (PR).
Villegas et al. [18] proposed two metaheuristics based on GRASP, VND, and evolutionary local search (ELS) to solve the single truck and trailer routing problem with satellite depots (STTRPSD). Considering the number of available trucks and trailers to be limited in the TTRP, Lin et al. [19] relaxed the fleet size constraint and developed a SA heuristic for solving the relaxed truck and trailer routing problem (RTTRP). Lin et al. [20] proposed a SA heuristic for solving the truck and trailer routing problem with time windows (TTRPTW).
Research to date has considered most types of road vehicles, especially trucks and truck and trailer combinations. However, there has been little research on the types of tractor and semitrailer combinations. Hall and Sabnani et al. [21] studied routes that consisted of two or more segments and two or more stops in the tour for a tractor. At each stop, the tractor could drop off one or more trailers and pick up one or more trailers. Control rules based on predicted route productivity were developed to determine when to release a tractor. Derigs et al. [22] presented two approaches to solve the vehicle routing problem with multiple uses of tractors and trailers. The primary objective was to minimize the number of required tractors. Cheng et al. [23] proposed a model for a steel plant to find the tractor and semitrailer equipment and running routes for the purpose of minimizing transport distance. Liang [24] established a dispatching model of tractors and semitrailers in a large steel plant and used a tabu search algorithm to find the optimal driving path and the cycle program.
We aim to propose a heuristic for the TSRP. This aim is based on the practical knowledge that tractor and semitrailer combinations are popular in some countries, particularly China. The remainder of this paper is organized as follows. Section 2 compares the TTRP and the TSRP and defines the TSRP. Section 3 proposes a heuristic algorithm to solve the TSRP. Section 4 employs the heuristic algorithm to solve some experimental networks of the TSR. Section 5 draws conclusions and gives future research directions.
2. Problem Definition
2.1. The TTRP and the TSRP
Although there is little literature devoted to the definition and solution of the TSRP in the fields of transportation or logistics, plenty of research has been done on the TTRP, providing important references for the TSRP. In the TTRP, a heterogeneous fleet composed of trucks and trailers () serves a set of customers from a main depot. Each customer has a certain demand, and the distances between any two points (including customers and depots) are known. The capacities of the trucks and trailers are determinate. Some customers must be served only by a truck, while other customers can be served either by a truck or by a combination vehicle. The objective of the TTRP is to find a set of routes with minimum total distance or cost so that each customer is visited in a route performed by a compatible vehicle, the total demand of the customers visited on a route does not exceed the capacity of the allocated vehicle, and the numbers of required trucks and trailers are not greater than and , respectively [1, 17]. There are three types of routes in a TTRP solution, as illustrated in Figure 2: a pure truck route traveled by a single truck; (2) a pure vehicle route without any subtour traveled by a combination vehicle; (3) a combination vehicle route consisting of a main tour traveled by a combination vehicle and at least one subtour traveled by the truck alone.
The vehicle types in the TSRP are different from those in the TTRP. The TTRP focuses on trucks and trailers, both of which can carry cargo. The TSRP involves tractors and semitrailers (). Although a tractor cannot carry cargo, it has more flexible dispatching options, and it can pull different semitrailers on various segments of its route by the pickup and dropoff operation at depots.
The TSRP can be formally defined on a directed graph , where is the set of vertices and is the set of arcs. Each arc is generally associated with a transportation distance decided by road infrastructure. The freight flow from to is regarded as certain weight of arc . Vertex () represents the main depots, in which many tractors and semitrailers park. Some loaded semitrailers wait for visiting customers, and other unloaded semitrailers wait for visiting or maintenance. The remaining vertices () in (i.e., ) correspond to customers who have () loaded semitrailers waiting to visit ( and ) orientations at the beginning of the simulation. Customers may have other unloaded semitrailers waiting for loading.
There are various tractordriving modes on graph during one daily period. For example, tractor , pulling one loaded semitrailer, goes from its main depot to a customer in oneday period, and the customer has tractorparking available; (2) tractor , pulling one loaded semitrailer, goes from its main depot to . After the dropping and pulling operations at , the tractor goes on to another customer, . The tractor terminates at a customer who has tractorparking available. (3) It is similar to the running course listed in (2), but Tractor terminates at its main depot. The most basic elements of tractordriving modes include the following: how many semitrailers can be pulled synchronously by a tractor, how many vertexes are passed by the tractor, how many times per day the tractor can drop off one or more trailers and pick up one or more trailers, whether a tractor terminates at its original main depot, whether the semitrailer pulled by a tractor loads cargo, and if a tractor runs alone. In addition, a time window constraint is probably required.
2.2. The TSRP Model
In practice, there are many depots on the freight transportation network of an enterprise. Depots have different functions and sizes. In the TSRP, we classify these depots into two types: main depots and customer depots. The flow of freight between any two depots is usually uneven. In our method, we abstract the freight transportation network onto a graph (denoted by ). Graph has one main depot and a number of customer depots where semitrailers can park. Initially, all tractors are parked in the main depot, and semitrailers that carry cargos are waiting for transport.
Because the freight flows among various depots are unequal, we select a freight flow network denoted by . is a subset of on which the freight flows among various depots are equal. Graph is probably a combination of some unitflow network. On a unitflow network, the freight flow on every arc is one semitrailer. We denote the subset by . We go on to select another equal flow network (denoted by ) from . After repeating this process several times, the original freight flow network is split into several unitflow networks (e.g., , , and in Figure 3). The study of unitflow networks is meaningful and important in solving the TSRP.
The TSRP model in this paper uses the unitflow network. Vertex 0 represents the main depot where some loaded semitrailers are waiting to be delivered to customers. The vertices in correspond to customers who have () loaded semitrailers waiting for going to customers. The customers have no parked tractors. The tractordriving modes must satisfy some constraints, including the following: tractors terminate at the main depot, a tractor can pull one loaded semitrailer and can also run alone, and the working time of a tractor is decided by its driver team. All tractors or vehicles (a vehicle is one tractor pulling one semitrailer) originate and terminate at the main depot. Whenever a tractor passes by a customer, the tractor picks up a semitrailer. Whenever a vehicle passes by a customer, the vehicle drops off its semitrailer and picks up another one. After oneday period, the number of semitrailers parked in every customer point is not less than a minimum (Figure 4).
The TSRP model consists of determining the number of tractors to be used and the route of each tractor so that the variable costs and service level are balanced, while each route starts and ends at the main depot. Variable costs are reduced by decreasing the overlap distance of tractors running alone. The service level is based on the percentage of customer demand that is satisfied.
3. A Heuristic Algorithm for the TSRP
3.1. Construct the Initial Solution Set
Drivers are assigned to ensure flexible running of tractors. A driver’s onduty hours per day are determined by the legal onduty time and driver dispatching mode. Onduty hours consist of driving hours plus temporary rest time or residence time in depots. The residence time at the main depot (denoted by ) is for pickup, dropoff, and some essential maintenance work on vehicles. The temporary rest time at other depots (denoted by ()) is for pickup and/or dropoff semitrailers. The driving hours restrict tractor running time.
The elements of the initial solution set are tractor routes. To give the form of a route, we suggest the following procedure. The number of drivers assigned to each tractor is . The onduty time of each driver is (hours per person day). The distance between depots and is . The depot sequence on each route is denoted by , which is the form of a route. The same customer is visited only once on a certain tractor’s route, and each () is unique. The onduty time is a constraint on the route. That is, where and are the temporary rest time and the residence time, respectively. () and (, is a limited number) are the lower and upper limits of the utilization ratio of the onduty time, respectively. is the average velocity of the tractor.
We suggest the steps below to construct elements of the initial solution set.
Step 1. Transform the distance matrix into a running time matrix. Use as the parameter in the transformation. Factors affecting in practice include the tractor condition, the driver’s skill, and traffic conditions. We estimate by enterprise experience.
Step 2. Search the running time matrix. Let be the sum of customers on a route. If is very large, there are too many customers on the route to allow too much temporary rest time. Therefore, has a maximum, and the maximum is certainly less than . Once is found, we implement an entire search on the running time matrix to find all routes that satisfy the constraint (3.1).
Step 3. Compare the routes with freight flow demand. Every route in Step 2, which contains many segments, is constructed by the segment running time of all customer pairs. In fact, not all pairs of customers require freight exchange. There are segments on which no freight flows, and tractors run alone on such segments. To save variable costs, the time of tractors running alone is limited. Therefore, we obtain the initial solution set after the elimination of routes based on the freight flow demand and the costsaving requirement.
3.2. A 2Phase Approach to Improve the Initial Solution Set
3.2.1. The First Phase
The more elements (i.e., tractor routes) in the initial solution set, the more choices for freight enterprises. We classify tractor routes into certain types, according to the number of customers on a route. There is one customer passed by in the 1st type, two customers passed by in the 2nd type, and so on. When there are many customers on a route, the tractor can serve more freight demand. When more temporary rest time is consumed at customer points, the effective running hours of the tractor are reduced. Routes of the same type generally have some “overlap arcs” in which only one tractor pulls a semitrailer, and others run alone. We suggest reducing the total distance of “overlap arcs.”(1)The first step is for the same type. An overlap arc where the tractor running time is less than a maximum can be accepted. If the tractor needs more time than on arc , only one of the routes containing arc is permitted to be chosen.(2)The second step is for different types. A “tractor route—overlap arc” matrix (, with elements ) is constructed. The rows of matrix are serial numbers () of routes and the columns are various overlap arcs. The elements of matrix are 1 or 0. If the element on row and column is “1”, then the route has an overlap arc. When , any elements of the matrix that satisfy are considered. The column which contains has a sum . If the route with serial number is chosen, should be at a minimum. Once the route is chosen, other routes that have the same overlap with the route are eliminated from . Consequently, a row in changes, and a new matrix appears. The operation is repeated until there is no row available in the last “tractor route—overlap ” matrix.
In the first phase, a transitional solution set that contains such elements as the routes is constructed by improving the initial solution set.
3.2.2. The Second Phase
In the second phase, we propose the “fillandcut” approach to attain a satisfactory solution to the TSRP.
Step 1. Construct a zero matrix (its elements are ) whose rows and columns are depots (i.e., the main depot and customer depots). Because of transportation demand, there are freight flows between two particular depots. Because the segments of tractor routes in the transitional solution set are defined by depots, we add 1 to when there is a route containing . We call such an operation a “fill”. By a “fill” operation, we mark all segments of routes in the transitional solution set on matrix . A new matrix is thus formed.
Step 2. All route segments in the transitional solution set actually have corresponding elements in matrix . If a certain percentage (e.g., 80~100%) of all corresponding elements of the route are greater than 1, the route is eliminated. When the route is eliminated, all of the corresponding elements subtract 1. We call such an operation a “cut”. Repeat the “cut” operation, and a new matrix finally forms. The routes corresponding to make up the satisfactory solution set.
In some cases, the number of nonzero elements of is less than that of the freight flow demands. Therefore, routes corresponding to cannot satisfy all transportation demand. In order to satisfy more customers’ demands, we can add some routes that contain overlap s to increase the market adaptability of the satisfactory solution. However, too many overlap arcs can exist because of uneven freight flows. Therefore, to balance the service level and costs, meeting a certain percentage (e.g., 80%) of all transportation demand can be the objective.
4. Computational Study
We abstract the transportation network on an N N grid, where the nodes denote the main depot and customer depots. In our computational study, the “RANDOM” function in Matlab, which can generate random arrays from a specified distribution, is used. By RANDOM (“norm”,1,1,10,10), a random array is generated. We select the negative positions of the array as nodes and the minimum position as the main depot. The distance between any two nodes is calculated by the gaps of rows and columns. The “RANDOM” function in MATLAB is also used to determine the freight flow between two depots. The network expressed by Table 1 and the flow expressed by Table 2 make up example No. 1. By the above generation method, we produce some transportation networks that are used to test the heuristic algorithm.

 
1” denotes that there is one semitrailer flow between two depots. 0” denotes that there is no freight flow. 
According to some enterprise experience, a driver’s onduty time is 8.5 hours per day. One or two drivers are assigned to a tractor. A tractor with two drivers can work consecutively for no more than 17 hours in a 24consecutivehour period. The temporary rest time in customer depots is 0.5 hour, and the residence time in is 1 hour. By using the approach mentioned in Section 3.1, we attain different types of tractor routes for the No. 1 example. There are 175 elements in the initial solution set. By using the 2phase approach, we attain the satisfactory solution of the No. 1 example (Table 3). When the enterprise employs tractor routes as the satisfactory solution, it can satisfy 80 percent of all transportation demand. Sixteen tractors and thirtytwo drivers are needed during a 24consecutivehour period. The total running time of 16 tractors is 230 hours per day. In 15 percent of the total running time, tractors run alone.

It is feasible to propose exact algorithms (e.g., integer programming) for the TSRP when the initial solution set is constructed. We proposed a 01 integer programming for the No. 1 example and attained the exact solution. The exact solution can satisfy 84 percent of all transportation demand. Sixteen tractors and thirtytwo drivers are needed during a 24consecutivehour period. In 10 percent of the total running time, tractors run alone. We implemented the proposed heuristic algorithm using Matlab and the 01 integer programming with QS. Although the exact algorithm can attain a slightly better solution, it requires more calculating time. For the No. 1 example, the solving time using the heuristic algorithm was approximately 80 seconds while that for the exact algorithm was approximately 2000 seconds. We suggest that the heuristic algorithm has an advantage for solving the TSRP.
We have repeated the generation of random arrays over 50 times to obtain some typical computational networks. The heuristic algorithm was employed on these networks. We ran the experiments of this section on a computer with an AMD Athlon(tm) X2 DualCore QL65 running at 2.10 GHz under Windows 7 ultimate (32 bits) with 2 GB of RAM. Table 4 summarizes the characteristics of each solution in the 12instance testbed.

5. Conclusions and Future Work
In this paper, we proposed a TSRP model and suggested a heuristic algorithm to solve it. The TSRP concentrated on a unitflow network, and all tractors originated and terminated at a main depot. Unlike most approaches to the TTRP or VRP, the heuristic algorithm for the TSRP did not regard the number of vehicles as a precondition. Therefore, the solution to the TSRP was able to balance the variable costs and service level by altering the vehicle number. The main characteristics of the heuristic algorithm are the initial solution set constructed by the limitation of driver onduty time and the combination of a twophase filtration on candidate routes. The computational study shows that our algorithm is feasible and effective for the TSRP. Although some exact algorithms for the TSRP are feasible after the initial solution set is constructed, the heuristic algorithm is efficient because it takes relatively less time to obtain satisfactory solutions. Future research may try to extend the TSRP to include more practical considerations, such as time window constraints. Other efficient heuristics for the TSRP may also be proposed. In this regard, the benchmark instances generated in this study may serve as a testbed for future research to test the efficiency of specific algorithms for TSRP.
Acknowledgments
This work was partially funded by the Science and Technology Plan of Transportation of Shandong Province (2009R58) and the Fundamental Research Funds for the Central Universities (YWF1002059). This support is gratefully acknowledged.
References
 S. W. Lin, V. F. Yu, and S. Y. Chou, “Solving the truck and trailer routing problem based on a simulated annealing heuristic,” Computers and Operations Research, vol. 36, no. 5, pp. 1683–1692, 2009. View at: Publisher Site  Google Scholar
 F. Semet and E. Taillard, “Solving reallife vehicle routing problems efficiently using tabu search,” Annals of Operations Research, vol. 41, no. 4, pp. 469–488, 1993. View at: Publisher Site  Google Scholar
 J. C. Gerdessen, “Vehicle routing problem with trailers,” European Journal of Operational Research, vol. 93, no. 1, pp. 135–147, 1996. View at: Publisher Site  Google Scholar
 I. M. Chao, “A tabu search method for the truck and trailer routing problem,” Computers and Operations Research, vol. 29, no. 1, pp. 33–51, 2002. View at: Publisher Site  Google Scholar
 S. Scheuerer, “A tabu search heuristic for the truck and trailer routing problem,” Computers and Operations Research, vol. 33, no. 4, pp. 894–909, 2006. View at: Publisher Site  Google Scholar
 J. Renaud and F. F. Boctor, “A sweepbased algorithm for the fleet size and mix vehicle routing problem,” European Journal of Operational Research, vol. 140, no. 3, pp. 618–628, 2002. View at: Publisher Site  Google Scholar  Zentralblatt MATH
 H. C. Lau, M. Sim, and K. M. Teo, “Vehicle routing problem with time windows and a limited number of vehicles,” European Journal of Operational Research, vol. 148, no. 3, pp. 559–569, 2003. View at: Publisher Site  Google Scholar  Zentralblatt MATH
 F. Li, B. Golden, and E. Wasil, “A recordtorecord travel algorithm for solving the heterogeneous fleet vehicle routing problem,” Computers and Operations Research, vol. 34, no. 9, pp. 2734–2742, 2007. View at: Publisher Site  Google Scholar
 S. Liu, W. Huang, and H. Ma, “An effective genetic algorithm for the fleet size and mix vehicle routing problems,” Transportation Research Part E, vol. 45, no. 3, pp. 434–445, 2009. View at: Publisher Site  Google Scholar
 E. Cao and M. Lai, “The open vehicle routing problem with fuzzy demands,” Expert Systems with Applications, vol. 37, no. 3, pp. 2405–2411, 2010. View at: Publisher Site  Google Scholar
 M. Caramia and F. Guerriero, “A milk collection problem with incompatibility constraints,” Interfaces, vol. 40, no. 2, pp. 130–143, 2010. View at: Publisher Site  Google Scholar
 D. Pisinger and S. Ropke, “A general heuristic for vehicle routing problems,” Computers & Operations Research, vol. 34, no. 8, pp. 2403–2435, 2007. View at: Publisher Site  Google Scholar  Zentralblatt MATH
 Y. Marinakis and M. Marinaki, “A hybrid multiswarm particle swarm optimization algorithm for the probabilistic traveling salesman problem,” Computers & Operations Research, vol. 37, no. 3, pp. 432–442, 2010. View at: Publisher Site  Google Scholar  Zentralblatt MATH
 A. GarciaNajera and J. A. Bullinaria, “An improved multiobjective evolutionary algorithm for the vehicle routing problem with time windows,” Computers & Operations Research, vol. 38, no. 1, pp. 287–300, 2011. View at: Publisher Site  Google Scholar  Zentralblatt MATH
 L. Hong, “An improved LNS algorithm for realtime vehicle routing problem with time windows,” Computers and Operations Research, vol. 39, no. 2, pp. 151–163, 2012. View at: Publisher Site  Google Scholar
 K. C. Tan, Y. H. Chew, and L. H. Lee, “A hybrid multiobjective evolutionary algorithm for solving truck and trailer vehicle routing problems,” European Journal of Operational Research, vol. 172, no. 3, pp. 855–885, 2006. View at: Publisher Site  Google Scholar  Zentralblatt MATH
 J. G. Villegas, C. Prins, C. Prodhon, A. L. Medaglia, and N. Velasco, “A GRASP with evolutionary path relinking for the truck and trailer routing problem,” Computers and Operations Research, vol. 38, no. 9, pp. 1319–1334, 2011. View at: Publisher Site  Google Scholar
 J. G. Villegas, C. Prins, C. Prodhon, A. L. Medaglia, and N. Velasco, “GRASP/VND and multistart evolutionary local search for the single truck and trailer routing problem with satellite depots,” Engineering Applications of Artificial Intelligence, vol. 23, pp. 780–794, 2010. View at: Publisher Site  Google Scholar
 S. W. Lin, V. F. Yu, and S. Y. Chou, “A note on the truck and trailer routing problem,” Expert Systems with Applications, vol. 37, no. 1, pp. 899–903, 2010. View at: Publisher Site  Google Scholar
 S. W. Lin, V. F. Yu, and C. C. Lu, “A simulated annealing heuristic for the truck and trailer routing problem with time windows,” Expert Systems with Applications, vol. 38, pp. 15244–15252, 2011. View at: Publisher Site  Google Scholar
 R. W. Hall and V. C. Sabnani, “Control of vehicle dispatching on a cyclic route serving trucking terminals,” Transportation Research Part A, vol. 36, no. 3, pp. 257–276, 2002. View at: Publisher Site  Google Scholar
 U. Derigs, R. Kurowsky, and U. Vogel, “Solving a realworld vehicle routing problem with multiple use of tractors and trailers and EUregulations for drivers arising in air cargo road feeder services,” European Journal of Operational Research, vol. 213, no. 1, pp. 309–319, 2011. View at: Publisher Site  Google Scholar
 Y. R. Cheng, B. Liang, and M. H. Zhou, “Optimization for vehicle scheduling in iron and steel works based on semitrailer swap transport,” Journal of Central South University of Technology, vol. 17, no. 4, pp. 873–879, 2010. View at: Publisher Site  Google Scholar
 B. Liang, Research on semitrailer loop swap transportation applied in largescale iron and steel works [M.S. thesis], Central South University, 2009.
Copyright
Copyright © 2012 Hongqi Li et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.