###### Abstract
Unlike traditional clustering algorithms, the number of clusters (i.e., k-value) does not need to be specified in advance for Canopy clustering [12]. When the algorithm combines the Canopy algorithm and K-means algorithm, it will overcome the shortcoming of the K-means algorithm that the k-value needs to be specified artificially, and improve the algorithm's clustering accuracy. It can effectively balance the energy load of the network. This paper proposes an energy-efficient routing algorithm (DCK-LEACH), which is based on dual cluster-head (CH), Canopy optimization, and K-means algorithm. The algorithm imports a hybrid Canopy optimization and K-means algorithm for creating clusters and dynamically selecting the primary and vice cluster-heads by self-adaptive means. It effectively reduces the burden of cluster-heads and prevents them from dying too quickly. Thus, the lifetime of the network is extended. The main contributions of this paper are summarized as follows. 1. The DCK-LEACH algorithm is a concentration strategy to construct clusters in the network, by using a mixture of Canopy optimization and the K-means algorithm. It avoids the problem of specifying the value of K. Compared with using one of them, DCK-LEACH combines these two algorithms and is faster in terms of clustering speed, and its accuracy is higher. It also distributes the energy more evenly between clusters. 2. DCK-LEACH uses a hierarchical structure consisting of a primary CH and a vice CH in each cluster to reduce the communication load on cluster-heads. Dual cluster-heads together share the workload a single cluster-head would previously have taken on; this makes the energy balanced within the cluster and reduces the communication load of the cluster-head. 3. A cluster-head selection algorithm based on the fitness function is proposed, which dynamically self-adjusts the weight coefficients of the fitness function according to the change of residual energy in the network. Here, (1) since the primary cluster-head is responsible for communicating with nodes in the cluster, it is better to place the primary cluster-heads in the center of the cluster, and for them to have a higher residual energy. As a result, the energy consumed by the primary CH is uniform and its survival time is extended in the network. (2) The vice CH is responsible for forwarding data to the base station, and is best placed close to the base station so that it consumes less energy. 4. We propose a concept of cluster-head selection, which is similar to the LEACH algorithm, to control the frequency of re-clustering operation and thus avoid energy waste, because not all operations of clustering and cluster-heads replacement need to be performed in every round. In each round, when the base station performs clustering and cluster-heads selection operations, all nodes must send their own information (i.e., location and remaining energy) to the base station, which will consume a lot of energy. 5. Using simulation software, the proposed DCK-LEACH algorithm is compared with four conventional algorithms such as LEACH, RCH-LEACH, IEECHS-WSN, and K-LEACH. The remainder of this paper is organized as follows. The related works are detailed in Section 2. Section 3 presents the system model of the proposed algorithm. Section 4 describes the proposed algorithm in detail. In Section 5, the performance of the proposed method is investigated. In Section 6, the proposed method is discussed. Finally, the paper is concluded in Section 7.