Abstract

For the problem of poor link reliability caused by high-speed dynamic changes and congestion owing to low network bandwidth in ad hoc networks, an ant colony routing algorithm, based on reliable path under dual-channel condition (DSAR), is proposed. First, dual-channel communication mode is used to improve network bandwidth, and a hierarchical network model is proposed to optimize the dual-layer network. Thus, we reduce network congestion and communication delay. Second, a comprehensive reliable path selection strategy is designed, and the reliable path is selected ahead of time to reduce the probability of routing restart. Finally, the ant colony algorithm is used to improve the adaptability of the routing algorithm to changes of network topology. Simulation results show that DSAR improves the reliability of routing, packet delivery, and throughput.

1. Introduction

Ad hoc networks do not rely on communication infrastructures. Their nodes have the simultaneous function of routing and terminal computing. This creates a multihop dynamic wireless network quickly via self-organization [1]. In recent years, ad hoc networks have been widely used in disaster rescue, vehicular networks, battlefields, remote mountain areas, fire zones, earthquake scenarios, multihop satellite networks, and underwater acoustic sensor networks [2]. Owing to the dynamic changes of network topology caused by the high-speed movement of nodes, the exhaustion of battery energy, and the multihop characteristics of ad hoc networks, routing links are broken easily. Thus, the reliability of the network is reduced. The key to improving the reliability in mobile ad hoc networks is selecting reliable routing and nodes with large remaining energy. Some routing protocols, such as AODV [3] and LOADng [4], use the hops mechanism. However, when nodes move quickly, the path may be broken easily. To ensure reliable data packet transmission and reduce energy consumption, a novel reliability prediction model is proposed. The ant colony algorithm is applied to select a reliable path. DSAR takes the integrated path’s reliable value as the routing standard, which can better adapt to the changes of network topology.

In mobile wireless ad hoc networks, when the communication load and the number of nodes increase, the single-channel technology will cause network capacity limitations and performance degradation. The multichannel mode has the advantages of low latency and high capacity [5]. Thus, the dual-channel technology is adopted in this paper.

The major contributions of this paper are as follows:(i)We propose a novel dual-channel communication mode to separate the control and data layers.(ii)We provide a novel metric to measure the reliability of the integrated link and node.(iii)A heuristic technique is adopted in DSAR to find the optimal and most reliable route faster than existing schemes.(iv)Both forward ant and backward ant simultaneously update via pheromones.(v)The significance of DSAR is evaluated by comparing simulation results with AODV and EEABR.

The paper is designed as follows. The related work of the paper is in Section 2. Section 3 proposes an ant colony routing algorithm with reliability prediction under dual-channel conditions. Section 4 proposes a route discovery process, based on joint optimization of dual-channel networks, and Section 5 reveals simulation results and discussions. Finally, Section 6 concludes this paper.

Routing protocols designed for wireless ad hoc networks face many challenges, especially in highly dynamic networks. Many researchers have proposed algorithms to address this [613]. These routing protocols can be divided into three categories based on the different route discovery strategies: proactive, on-demand, and hybrid protocols. In the active routing protocols (e.g., DSDV [11], FSR [12], GSR [14], and HSR [6]), each network node periodically exchanges routing information with other nodes, and each node must save the routing table, whereas the proactive routing protocol has a low delay; it saves unnecessary routing information and consumes many network resources. With on-demand routing protocols (e.g., DSR [15], AODV [3], RDMAR [16], and LAR [17]), the routing information is created only when nodes are needed. However, there is a large delay with this type of protocol. Both proactive and on-demand routing protocols cannot completely solve routing problems. Therefore, many scholars have proposed hybrid routing protocols that combine the features of active and on-demand routing (e.g., ZRP [18], HWMP [19], and AOHR [20]).

2.1. Representative Schemes for Comparison

In the past few years, swarm intelligence algorithms have become very popular with ad hoc networks, especially the ant colony optimization (ACO) algorithm. The ACO algorithm is based on the ants’ foraging behavior in nature to find the optimal path. Graphically, it has been applied widely in various fields [21]. In the ant colony algorithm, the intelligence of a single ant is limited, but the ants can accomplish complex tasks via group cooperation. ACO has the same characteristics as the routing design of mobile ad hoc networks [22]. G. Dicaro proposed ACO via AntNet [23]. AntNet is based on the wired network and the hop mechanism for data transmission. When it is transplanted into ad hoc networks, the power consumption of some nodes grows too high, leading to unstable links. Thus, it is not suitable for mobile ad hoc networks.

ARA protocol [24], proposed by Günes et al. in 2002, was the earliest application of ACO in ad hoc networks. However, the ARA protocol does not consider the energy balance of nodes.

Correia and Vazão proposed the SARA protocol [25], which was improved based on the ARA protocol. SARA uses a restricted neighbor broadcast mechanism, in which each node broadcasts the ant to all the neighbor nodes, but only one neighbor is selected to send the forward ant. SARA uses the same routing maintenance and routing error handling mechanism as the ARA protocol. With routing maintenance, to reduce routing consumption, the data packets also update pheromones on the link. During routing repair, the depth search algorithm is used to control the number of nodes to repair the routing and reduce the routing overhead caused by the source node restart routing discovery process. Compared to the ARA algorithm, the SARA algorithm has high throughput and low routing overhead, but the route establishment process of SARA takes a long time.

AntHocNet [26] is a hybrid algorithm that combines the advantages of AntNet and ARA protocols. The routing process is carried out on demand, and the routing maintenance process is carried out actively. Compared with AODV, the packet delivery rate of AntHocNet protocol has been improved significantly. However, because of the active routing maintenance mechanism, the control overhead is much higher than AODV.

The ACECR algorithm [27] was proposed by Zhou et al. ACECR is based on the ACO algorithm, whose pheromone updates depend on two aspects: the number of hops and the remaining energy. However, this algorithm does not consider stability and reliability.

The R-ACO algorithm [28] preselects highly stable links for packet sending as far as possible to avoid the low link stability of node processing packets. Compared to LAR and AntHocNet, R-ACO improves the success rate of data transmission while reducing communication overhead. However, R-ACO algorithm increases the length of the path and requires nodes to carry GPS devices.

In [2], the level of pheromone is determined according to the routing length, its congestion, and the end-to-end path reliability. This protocol provides high data delivery rates with low end-to-end delay.

For AOCR [29], the authors proposed an on-demand ant colony clustering routing protocol based on a weakly connected dominating set (AOCR). AOCR adopts the weakly connected dominating set as the auxiliary structure of clustering nodes. The forward ants are only broadcast by the heads of each cluster. The pheromone intensity depends on the average residual energy of the network and the minimum energy value of the nodes on the path. AOCR adopts a pseudorandom proportional rule to select the most efficient routing. Compared to other ant colony protocols, AOCR requires less storage space and fewer network transmission resources to perform intelligent routing search.

The authors in [30] proposed FTAR, which avoids forwarding nodes with erroneous tendencies, thus improving the performance of the network. Compared with the DSR algorithm, E2FT [31], and AntHocNet, FTAR improves data transmission success rate and throughput. However, FTAR uses an iterative method to obtain path confidence, which increases the processing time of packets.

The authors in [32] proposed an ant colony optimization routing algorithm (i.e., POSANT), based on geographic location information. For the problem of the excessive number of control packets and high transmission delays in ACO, POSANT combined the advantages of ACO and geographic location information. Therefore, it reduced the time of discovering routing and the number of ants generated by using location information. Compared to the GPSR algorithm, POSANT reduced the delay and increases the success rate of data transmission, but it did not consider the reliability of the path.

The authors in [33] proposed an enhanced congestion control multipath routing method with ACO optimization for ad hoc networks, which addressed the problem of link blockage. Additionally, the load rapidly increases on the link. They proposed an ACO-based multipath congestion control technique that varies the queue according to the load in a dynamic network. Simulation showed that the proposed ACO protocol had good performance. However, the algorithm did not use multiple channels and does not fundamentally solve the problem of network congestion.

The authors in [5] presented a dual-channel network clustered routing protocol (DNCRP), a hybrid routing protocol. DNCRP uses both 2-hop-distance neighbor cluster IDs and node attribution information to search the path of intercluster routing within the 2-hop-distance neighbor clusters per the source cluster. Simulation results show that DNCRP is suitable for high mobility networks.

In [34], the energy of nodes was considered as a prior factor for route choice. However, this scheme does not consider link reliability as a factor for route choice and increase end-to-end delay.

In summary, there are two major limitations of the current routing algorithm. First, it does not use dual-channel strategies. Second, there are very few routing schemes that consider the reliability of the integrated nodes and links as a prior factor for route-choosing.

Hence, there is a need to develop a unified routing protocol, which can fulfill the low end-to-end delay, low routing overhead, and high reliability. In this paper, a reliable ant colony algorithm based on dual-channel conditions (DSAR) is proposed for ad hoc networks. DSAR overcomes all limitations of the previous schemes.

3. An Ant Colony Routing Algorithm with Reliability Prediction under Dual-Channel Conditions

3.1. Dual-Channel Joint Optimization Model

In ad hoc networks, owing to the limited bandwidth of the nodes, the data transmission delay is high. With technological development, a node in ad hoc networks can be configured with two channels, which can reduce collisions, increase bandwidth, ease network congestion, and improve network performance [35]. The dual-channel network communication model is simplified to the routing problem with a hierarchical map, without considering the channel assignment problem in the network [36]. In this paper, we use a dual-channel layered transmission mode: one channel as the control layer and another as the data layer. The control packets are transmitted in the control layer, and the data packets are transmitted in the data layer. This double channeling eliminates message conflict and reduces the delay of channel handoff. If the control layer is congested and the data layer has enough bandwidth resources, the dual-channel joint optimization mode can transfer control packets in the control layer to the data layer in real time to complete the joint scheduling of the double-layer network and reduce congestion. The dual-channel model is shown in Figure 1.

3.2. Basic Ant Colony Algorithm for Ad Hoc Networks

When an ant walks into an intersection, it randomly selects a path that has not been passed and releases pheromones. The size of the pheromone is related to the path length. The longer the path, the smaller the pheromone. When ants pass by this intersection, they will choose the path where the pheromone is large. Thus, a positive feedback is formed, and the pheromone quantity on the optimal path is larger, and the pheromone on other paths will become less over time. Simultaneously, the whole ant colony can adapt to the change of environment. When ants suddenly encounter obstacles along the way, they can quickly adjust their path. Thus, in the process of the entire colony finding the ants’ path, a single ant’s optimal path selection ability is limited, but the ant colony has good self-organization because of the global pheromone. Sharing path information, the ants find the optimal path via collective behavior of the ant community. The ant colony algorithm has distributed parallel computer control, which is easy to combine with other algorithms and has strong robustness.

The ant colony optimization algorithm has been successfully applied to many optimization combinatorial problems [37]. The ant foraging process is very similar to the routing problem of ad hoc networks. In this paper, the nest and food are compared to the source node and the destination node in ad hoc networks. The ant colony algorithm uses an ant decision table, which comprises a node selection probability from a path and relevant local information. The ants use this decision table to guide their search of the mobile space in the optimal region, which is the process of forming the routing table. Thus, the ant colony algorithm can be used in ad hoc networks. Through the pheromone mechanism, the ants search for and maintain optimal routing. The mechanism of evaporation updates the pheromone of each node, which can quickly adapt to the needs of the dynamic changes of ad hoc networks.

In these networks, the network topology model is the wireless graph, , where is a network node and is the link between two nodes. At time , there are ants. The total number of ants in the network is ; is the probability of choosing link for ant at time .where is the strength of the pheromone in the link ; is a parameter to measure the trajectory of pheromones; is visibility between node and node , which is generally defined as ( is the distance between node and node ); is a parameter that measures visibility; and is a collection of nodes that have not been visited.

The pheromone update formula on each path in ad hoc networks is as follows:where is the pheromone volatilization coefficient, which is a constant between 0 and 1, and is the increment of the pheromone of ants passing through links and .

3.3. Route Reliability

In ad hoc networks, there are two main reasons for path breaking. One is the movement of nodes on the communication path, and the other is the nodes withdrawing from the network because of energy depletion. Thus, we select relatively reliable nodes and links. Then the path stability (PS) factor is introduced to judge the stability of the path. During the establishment of QoS routing, the path with the strongest stability is selected from the multiple paths satisfying the QoS requirements, reducing the probability of path breaking. In this paper, the path stability factor is the function of the link stability factor and the node energy stability factor.

3.3.1. The Node Energy Stability Factor

Suppose that there are intermediate nodes in the path, ; . In this paper, we define the node energy stability factor.where is the initial energy of node in path and is the current remaining energy of node in path .

Because a node in the path cannot be used, owing to the exhausted energy, the energy stability factor of the path is the minimum energy stability factor of all nodes in the path, .

3.3.2. The Link Stability Factor

In this paper, we define the link reliability factor as the remaining lifetime of the link. The communication radius of each node is . Each node is equipped with GPS; thus, every node can perceive the location, speed, time of nodes, and period and send its own coordinates and speed information to neighbor nodes. According to the location information of nodes, the remaining lifetime of each link can be predicted, and the link stability factor can be obtained. As shown in Figure 2, the initial distance between the two nodes, and , is .

The relative motion of the two nodes is equivalent to one node moving, while the other node is stationary. The coordinates of node , relative to the stationary node, , are . Thus, the distance between and is . According to the relative movement of the two nodes, after time , node , relative to position , is .When the distance between and is , the link between and is broken.Take (6) into (7):whereBecause cannot be negative, becomes the following:Link stability isThere is a link in a path between the source node, , and the destination node, . The link stability of the path depends on the minimum link stability factor in the -segment link. Thus, we define the link reliability factor of path, , as the minimum link stability factor.

3.3.3. The Path Reliability Factor

Considering the link stability factor and node energy stability factor, the comprehensive reliability factor of the path is defined asWhether the communication path between the source node and the destination node is stable depends on the worst links and nodes in the path, because the entire communication is interrupted when there is a broken link or when a node exits the network because of exhausted battery energy. After using the above method, if either of the two stability factors is small, the value of will be small. Thus, path reliability will be poor. When the source node finds multiple paths satisfying the QoS requirements, the one with the largest is selected. Thus, .

4. Route Discovery Process Based on Joint Optimization of Dual-Channel Networks

To improve channel utilization, based on the double-channel model and ant colony optimization algorithm, the two-interlayer joint optimization routing mode is proposed. It can increase bandwidth and make full use of idle resources between different layers. In Mode 1, the routing service in the control layer can only be transmitted in the control layer. If the control layer does not have enough channel resources, the service will be rejected. To reduce the blocking rate of the control layer, joint optimization Mode 2 is proposed. When the data layer has enough idle resources, the control packets in the control layer can be transmitted to the data layer in real time to realize the joint optimization of the two-layer network. The specific routing process of the two modes is as follows.

Mode 1. It is the route discovery mode on the control layer of DSAR.
(1) Broadcast a Hello Message. At the control layer, each network node periodically sends a 1-hop hello message. The format of the hello message is shown in Table 1, where “Type” denotes packet type, “Src_addr” is the address of the source node that sends the hello message, “Scr_X” are the X coordinates of node, “Scr_Y” are the Y coordinates of node, “Scr_V” is velocity vector of node, and “N_energy” is residual energy of node.

(2) Establish the Neighbor List. Each node establishes its neighbor list by receiving hello messages sent by neighbor nodes in real time. In this paper, each network node has a GPS positioning device to obtain its geographic location information. Each network node sends hello packets periodically and accepts those sent by neighbor nodes. Each hello packet contains node coordinates and speed information and the neighbor list of each node. The neighbor list contains the location vector information of all neighboring nodes. Thus, each network node can obtain the location information of neighbor nodes. The frequency of packet transmission can be set according to different motion scenarios, and the transmission frequency of hello messages can be higher for scenarios where network topology changes rapidly. In this paper, we design hello messaging with a sending interval of 1 s. If a node does not receive neighbor hello packets in 1 s, the link of this node is broken, and the node deletes it from its neighbor table. The node updates its neighbor list immediately after the hello message is received. Otherwise, the comprehensive reliability of the node is calculated according to formula (13). The format of neighbor message is shown in Table 2, where “_addr” is the address of the source node that sends the hello message, “_energy” is residual energy of neighbor node, “_” are the coordinates of neighbor node, “_” are the coordinates of neighbor node, _” is velocity vector of neighbor node, “LS” is the stability of neighbor node, “Hops” denotes total hops of a route passing through this neighbor node, and “Phenomenon” denotes the value of pheromone.

(3) Send a Forward Ant and Update Pheromone. When the source node, , has data packets sent to the destination node, , the source node, , looks at the routing information table, namely, the pheromone table. If there is no routing information and the control layer has enough bandwidth, the forward ant is broadcast in the control layer. If there is a route to node , the packet is sent directly to the data layer. In the initial stage of routing establishment, the source node broadcasts a certain number of forward ants at the control layer. The unicast or broadcast of each intermediate node between source node and destination node depends on whether the intermediate node has pheromone. If there is pheromone at each intermediate node, the probability that ant selects the next hop neighbor node, , is calculated according to the following equation:where is the probability that ant selects the next hop neighbor node, , when node moves toward the destination node. is the size of the pheromone of node at time in link ; is a visual function of node at time from node to node ; is a collection of neighbor nodes of node ; and are adjustment coefficients; is a relative importance coefficient of the residual pheromone; is a relative importance coefficient of heuristic information. The pheromone of node is updated as equation:

The format of the forward ant message is shown in Table 3, where “Type” denotes the packet type, “Fant_addr” is the address of source node, “Fant_Seqno” is the sequence number of forward ants generated by source nodes, “Seqno” denotes node address visited by the forward ant, “TTL” is the survival time of forward ant, and “Fd” denotes the number of hops that the forward ant moves to the current node.

(4) Send a Backward Ant and Update Pheromone. When a forward ant arrives at the destination node, it turns into a backward ant. The backward ant returns to the source node along its former path. If a fault occurs in the link of the next hop, caused by the movement of a node in the path to the source node, then the backward ant will be discarded. When the backward ant returns to node from node , the pheromone of node is updated according to the pheromone update of (16).

The format of the backward ant message is shown in Table 4, where “Type” denotes the packet type, “Visitednode” denotes the ID of node visited, “min” is the energy value of the minimum energy node on the path that the backward ant passes through, “avg” is the residual average energy of the ant to the current node, and “Bd” denotes the number of hops experienced by the backward ant to node .

Mode 2. It is the route discovery process, based on joint optimization of dual-channel networks

When the control layer is congested, joint optimization Mode 2 is proposed. That is, when the data layer has enough idle resources, the control packets in the control layer can be transmitted to the data layer in real time to realize the joint optimization of the two-layer network. The specific routing process of Mode 2 is as follows.

(1) If the control layer has enough network resources, the forward ant is routed via Mode 1 in the control layer. Otherwise, turn to (2).

(2) When the forward ant, , moves to node in the data transport layer, the forward ant, , looks at whether there are available channel resources for ants to find paths with neighboring nodes of . If not, ant stops and refuses to perform the routing lookup service. Otherwise, it turns to (3).

(3) Ant performs the routing service in the data transmission layer and finds the next hop node, , in Mode 1.

(4) When reaching node , ant first investigates whether there are enough channel resources between node and its neighbor nodes in the control layer to perform the routing service. If not, ant continues to perform the path-finding service in the data transport layer. Otherwise, ant returns to the control layer and searches the optimal path of service according to Mode 1.

5. Simulation and Analysis

In this paper, to verify the reliability of the DSAR protocol, NS-2 is selected, and the DSAR algorithm is compared to the EEABR algorithm [34] and the AODV algorithm. AODV is a classic routing algorithm, and EEABR is a successful application of the ant colony algorithm in wireless ad hoc networks.

5.1. Simulation Setup

In a wireless simulation environment, each mobile network node is randomly distributed in the 1,000 m × 1,000 m area; 50 nodes are randomly arranged according to the random way-point model. The communication radius of each node is 250 m. MAC layer adopts dual-channel mode. The packet length is 512 b, and the send rate varies from 1 to 16 packets/s. The evaporation of pheromone occurs every 1 s. The evaporation rate, , is set to 0.2. Each value of and is set to 20 and 15, respectively. The simulation time is 1,000 s. To reduce random errors, the experimental results will be the average of the 10 experiments. Simulation algorithm routing layers are (1) DSAR, (2) AODV, and (3) EEABR.

5.2. Simulation Analysis
5.2.1. Performance Metrics for Evaluating Routing Protocol

The performance of routing protocol is evaluated by means of end-to-end delay, average throughput, packet delivery rate, routing overhead, and so forth. The statistical methods are introduced as follows.

(1) End-to-End Delay. The average end-to-end delay is the time required from the start of routing to the end of data transmission. We calculate it with the following formula:where is the average end-to-end delay; is the number of successful packet transmissions; is the time that packet arrives at the destination node; and is the time packet was generated.

(2) Throughput. Throughput is the maximum number of packets that a network successfully transmits per unit time.where represents the throughput; represents the number of bytes of packet received successfully; represents the total number of packets received from the destination; represents the reception time of the data packet; and represents the beginning of the data packet reception.

(3) Packet Delivery Rate. Packet delivery rate is the ratio of the total number of sending packets to the total number of receiving packets.

(4) Routing Overhead.where represents routing overhead; represents the total number of node send control packets; and represents the total number of destination node receive data packets.

5.2.2. The Network Performance Varies with the Packet Send Rate of the Source Node

The performance of the three algorithms varies with the average packet sending rate of the source node in the network, as shown in Figures 36.

Figure 3 shows the relationship between the average end-to-end delay and the packet delivery rate of the source nodes in the three algorithms. As shown in the figure, the average end-to-end delay of the three algorithms increases with the increase of the sending speed of the source node. The average end-to-end delay of DSAR is significantly smaller than that of EEABR and AODV. This is because, with the increasing packet sending rate of the source node and the congestion of the network, the DSAR selects the nodes having large stability and large residual power to transmit data packets. This reduces the delay caused by link interruption and routing restart repair. Simulation results show that, compared with the classical EEABR and AODV algorithms, the average end-to-end delay of the RSAR algorithm is reduced.

Figure 4 shows the relationship between the throughput of the three algorithms and the packet delivery rate of the source node. As can be seen in the graph, the throughput of each routing discovery increases with the increase of the packet delivery rate of the source node from the three algorithms. The routing discovery throughput of DSAR is significantly higher than EEABR and AODV. This is because the dual-channel mechanism is adopted by DSAR to separate control packets from data packets, which reduces the channel switching and data collision probability. DSAR uses a comprehensive stability prediction mechanism to select the path having good stability and fewer hops and establishes high-quality routing, which reduces the probability of routing restarts and improves throughput.

Figure 5 shows the relationship between the packet delivery rate of the three algorithms and the packet delivery rate of the source node. From the graph, it can be seen that, with the increase of routing load, the packet delivery rate of DSAR is higher than that of AODV and EEABR. However, DSAR and EEABR decrease rapidly with the increase of packet sending rate, whereas AODV remains unchanged. DSAR has packet delivery rates higher than AODV and EEABR. This is because the control packets and the data packets are transmitted over different channels, which reduce packet collision and increase network bandwidth. The poor performance of EEABR is caused by the increase of transmission packet collisions and the periodic transmission of ant packets.

Figure 6 shows the relationship between the routing overhead of three algorithms and the packet delivery rate of source nodes. From the simulation results, the routing overhead is reduced with the increased packet sending rate. EEABR generates a large number of ant packets, which increases the cost of route discovery. However, the overhead of ADOV is lower than that of EEABR and DSAR, because AODV uses on-demand routing. DSAR needs to send periodic probe packets to find stable nodes and links, so the cost of DSAR will be slightly higher than EEABR. With the increase of load, the routing overhead of DSAR approaches that of AODV, because the frequent retransmission caused by the instability in AODV leads to the increase of routing overhead.

6. Conclusion

To improve the reliability of routing protocol in wireless ad hoc networks, a reliable ant colony algorithm for dual-channel systems was proposed. In the DSAR algorithm, the double-layer mechanism of control layer and data layer separation was established, which reduced packet collision and channel handoff delay and increased network bandwidth. Simultaneously, when the data layer had enough idle resources, it transferred the blocked routing service over the control layer to the data layer in real time, completing the joint scheduling of the double-layer network and reducing the congestion rate. Moreover, the reliability prediction mechanism was proposed, which enhanced link reliability and reduced the probability of routing restart. Also, for the dynamic change of topology in ad hoc networks, the ant colony algorithm was used to adapt the dynamic changes of network topology. The comprehensive reliability value of the proposed reliability prediction model was used as one of the bases of pheromone updates for the ant colony algorithm. Simulation results show that, compared with the classic AODV and EEABR models, DSAR improved the reliability of routing protocols.

Data Availability

The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

This work was supported by the National Natural Science Foundation of China (Grant no. 61601475).