Abstract
The sensor network design problem (SNDP) consists of the selection of the type, number and location of the sensors to measure a set of variables, optimizing a specified criteria, and simultaneously satisfying the information requirements. This problem is multimodal and involves several binary variables, therefore it is a complex combinatorial optimization problem. This paper presents a new Artificial Bee Colony (ABC) algorithm designed to solve high scale designs of sensor networks. For this purpose, the proposed ABC algorithm has been designed to optimize binary structured problems and also to handle constraints to fulfil information requirements. The classical version of the ABC algorithm was proposed for solving unconstrained and continuous optimization problems. Several extensions have been proposed that allow the classical ABC algorithm to work on constrained or on binary optimization problems. Therefore the proposed approach is a new version of the ABC algorithm that combines the binary and constrained optimization extensions to solve the SNDP. Finally the new algorithm is tested using different systems of incremental size to evaluate its quality, robustness, and scalability.
Keywords
This work has been co-funded by the following research projects: EphemeCH (TIN2014-56494-C4-4-P), DeepBio (TIN2017-85727-C4-3-P) projects (Spanish Ministry of Economy and Competitivity, under the European Regional Development Fund FEDER) and in part by the Justice Programme of the European Union (2014-2020) 723180, RiskTrack, under Grant JUST-2015-JCOO-AG and Grant JUST-2015-JCOO-AG-1.
1 Introduction
The optimally selection of the type, number and location of the sensors needed to measure a set of variables is known as the sensor network design problem (SNDP). The main objective of this type of problem is to design an optimal sensor network for monitoring processes (measuring certain variables of interest). In addition, the sensors have a cost and give certain precision. Also, the measured variables have associated a series of precision restrictions. Therefore, this problem can be formulated in terms of binary variables, where each of them indicates the presence or absence of a sensor, giving rise to a problem of combinatorial optimization for minimizing a specific criterion (the cost) and simultaneously satisfying the information constraints of the measured variables.
This type of problems can be solved using tree search algorithms, like Branch and Bound-type strategies, without relaxation in the nodes. The algorithms use intelligent forms of exploration by defining appropriate levels and stop criteria. Nguyen and Bagajewicz (2011) solved a small size problem, which consisted of only 24 variables, for different designs with degrees of low, moderate and high specification. An exact method based on a hybrid technique that combines depth- width searches was proposed. The authors considered that the SNDPs for the problems with a high degree of specification were the most complex to solve. It was not analysed how the resolution methodology performs in larger scale problems.
Other classic approaches have formulated the problem as a mixed integer nonlinear programming problem (MINLP). Kelly and Zyngier (2008) proposed a MILP formulation that allows to consider three aspects related to an optimal design of a sensor network: observability, redundancy and precision. In the objective function, both the instrumentation cost associated with the primary measurement of the i-th flow is considered, as well as the cost of measuring this variable with more than one sensor. The examples shown are small. The first corresponds to a process with 8 streams and for this case the full MINLP is solved. The second, is an upgrade instrumentation problem for a 63 streams process, of which 29 already have sensors assigned. These classic methods guarantee to find the optimal solution to the problem, but their computational time is too high for large size problems, being inefficient in these cases. Meta-heuristics algorithms have been traditionally used for solving combinatorial optimization problems in a large number of different domains such as Data Mining [3], Mission Planning [11], or Constraint Satisfaction Problems (CSP) [7]. Especially, meta-heuristic algorithms inspired by natural systems such as evolutionary algorithms, ant colony optimization and particle swarm optimization, have become a very active and relevant topic of research in recent years. These algorithms do not guarantee that the global optimally solution is found, but provide a sufficiently good solution with much less computational effort than traditional optimization algorithms.
Different approaches based on bio-inspired algorithms have been presented in the literature to solve SNDP. Sen et al. [13] presented one of the first methods based on Genetic Algorithms (GAs) using concepts from graph theory to select flow meters for non-redundant Sensor Networks (SNs). This approach optimized only a single criteria such as cost, reliability or estimation accuracy. Afterwards, Carnero et al. [5] proposed a GA whose operators were modified based on linear algebra concepts, and also allowed to optimize single or multiple criteria for the same type of SNs.
The GAs are population based methodologies where the solutions to the optimization problem are the individuals in a population, and the algorithm tries to improve them using a fitness function that determines their quality. Currently, there are other population-based methods that have demonstrated good performance in solving complex combinatorial problems, such as the Estimation of Distribution Algorithms (EDAs) or the Artificial Bee Colony (ABC) Algorithms which belongs to a family of algorithms called Swarm Intelligence. A strategy that combines univariate EDAs, such as Pbil [2] and the advantages of Tabu Search was presented by Carnero et al. [4] which is able to run in parallel, solving high scale designs of SNs. It has also been studied in Carnero et al. [6] the applicability of more complex EDAs, which include structural learning, to solve design problems in process plants that can be represented by linear and non-linear models. One of the most recently population based methods is the ABC algorithm, however few research works have focused on its application to solve the SNDP. The classical version of the ABC algorithm was proposed for solving unconstrained and continuous optimization problems. Therefore, it cannot be applied directly to solve the SNDP, because it requires the optimization of structured binary problems, as well as the handling of constraints to fulfil the information requirements of the sensors.
Karaboga and Akay [9] proposed a modification of the classical ABC for continuous constrained optimization problems. This new algorithm uses three simple heuristic rules and a probabilistic selection scheme for feasible solutions based on their fitness values and infeasible solutions based on the number of constraints violated. On the other hand, a new version of ABC, called DisABC [10], was designed for binary optimization by Husseinzadeh et al. Therefore, this paper presents a new ABC algorithm, that combines the two strategies mentioned above to work on constrained binary optimization problems, that solves the SNDP.
The rest of the paper has been structured as follows: Sect. 2 describes the problem formulation to design SNs. Section 3 presents the proposed ABC algorithm for solving SNDPs, and the fitness functions used. Section 4 provides a description of the test cases used, the experimental setup of the proposed algorithm, and the experimental results obtained. In Sect. 5 some final remarks and future research lines are presented.
2 Problem Formulation
The minimum cost SNDP that satisfies precision and estimability constraints for a set of key variables is stated by Eqs. 1–2, where q is an n dimensional vector of binary variables such that: \(q_i \)= 1 if variable i is measured, and \(q_i = 0\) otherwise, \(\mathbf c ^{T}\) is the cost vector; \(\hat{\sigma }_{k}\) is the estimate standard deviation of the k-th variable contained in \(S_\sigma \) after a data reconciliation procedure [12] is applied, and \(E_l\) stands for the degree of estimability of the l-th variable included in \(S_E\) [1]. For this formulation \(E_l\) is set equal to one, consequently only a variable classification procedure run is needed to check its feasibility. Furthermore \(S_\sigma \) and \(S_E\) are the set of key process variables with requirements in precision and estimability, respectively.
It is assumed that a linearized algebraic model represents a plant operation, measurements are subject to non-correlated random errors, there is only one potential measuring device for each variable and, there are no restrictions for the localization of instruments.
3 Algorithm Description
Artificial Bee Colony (ABC) is an optimization algorithm inspired by the foraging behaviour of honey bees [8]. In a real bee colony, bees try to maximize the nectar amount unloaded to the food stores in the hive by searching for food sources with a lot of nectar. A ‘food source’ in our simulated hive is a possible solution of the problem, in our case a set of sensors codify as a binary vector, and the amount of ‘nectar’ that a ‘food source’ has corresponds to the quality (cost and variable precision) of this solution. In a simulated hive there are three different types of bees: employed bees, onlooker bees and scout bees. Pseudo-code for the ABC algorithm can be found on Algorithm 1.
Employed bees have assigned a specific food source and are responsible for exploiting the area around it to find better solutions (line 7 to 14 of Algorithm 1). To decide how far to look for the new food source, the food source assigned to an other employed bee (randomly selected) of the hive is used. Once a new food source has been found and evaluated (calculated the cost and constraints met), it is compared against the previous food source been exploited by that bee. If the new food source is better than the old one, the latter is forgotten. Finally the employed bees go back to the hive to tell its findings.
Onlooker bees don’t have assigned a specific food source, they wait in the hive for the employed bees to return with their findings. Depending on the information share by the employed bees, the onlooker bees select one of the food sources exploited by them (line 15 to 19 of Algorithm 1). This selection process takes into account the quality of food sources, and those sources with higher quality will have a higher chance of being selected to be explored (line 16). Once a food source has been selected, the onlooker bee explores the area around it in the same way as the employed bee does. If a onlooker bee finds a better solution in that area she tells the hive so the employed bees can update their knowledge. Finally if a solution being exploited stops to improve, the employed bee exploiting it becomes a scout bee and will search the environment to find a new food source to exploit (line 20 to 22 of Algorithm 1).
ABC original algorithm was firstly proposed for unconstrained continuous optimizations. As the SNDP is a constrained binary optimization some modifications need to be added. First we introduce the modifications proposed by Karaboga and Akay in [9] for handling continuous constrained optimization problems. This new version of the ABC algorithm applies Deb’s rule to compare solutions (functions \(isBetter(*), getBetter(*), findBest(*)\) of Algorithm 1). This rule follows the next criteria: A feasible solution, one that met all the constraints, always dominates an infeasible one; Between two infeasible solutions, the one that violates less constraints dominates the other; Between two feasible solutions, the one with higher fitness dominates the other.
Also, since infeasible solutions are allowed to populate the colony, an other modification is included to assign probability values to both feasible and infeasible solutions (function \(calculateProbability(*)\) of Algorithm 1 in line 16). Feasible solutions will have probabilities between 0.5 and 1.0, depending on their cost. Infeasible solutions will have probabilities between 0.0 and 0.5, depending on the number of constraints violated. Equations 3 and 4 indicates how to calculate the probability of a solution where: sol is a solution of the problem, SN is the number of solutions being exploited in the hive, \(cost(*)\) is the cost of a solution and \(violations(*)\) is the number of constraints that a solution violates. Introducing this modifications implies that the algorithm could deliver an infeasible solution if no feasible one have been found.
Second, we introduce the modifications proposed by Kashan et al. in [10] for binary optimization. These modifications change the way of finding new food sources (function \(generateNewSolution(*)\) of Algorithm 1 in line 9). Once a solution, X, is selected to be exploited, an other solution from the hive, Y, is selected too. This solution Y will determine how far from X should the new solution be. Equation 6 indicates this relation, where: X is the solution to be exploited, Y is an other solution selected from the hive, Z is the new solution to exploit next and \(\varphi \) is a positive random scaling factor. In order to measure the dissimilarity between two solutions, the Jaccard’s coefficient is used. This coefficient is defined as Eq. 5, where X and Y are two solutions, \(M_{11}\) is the number of bits where both X and Y have a value of 1, \(M_{01}\) is the number of bits where X have a value of 0 and Y have a value of 1 and \(M_{10}\) is the number of bits where X have a value of 1 and Y have a value of 0.
To produce the new solution Z we must determine: the number of bits where X and Z are both 1 (\(M_{11}\)) and the number of bits with value 1 in Z and 0 in X (\(M_{10}\)). The rest of bits in Z must be 0. In order to find the values that better fit Eq. 6 the following integer programming model is used, defined in Eqs. 7–10. Where \(n_1\) and \(n_0\) are the total number of 1 and 0 in X respectively.
Once the most suitable \(M_{11}\) and \(M_{10}\) are calculated, initialize solution Z as a vector of the same size of X fill with zeros. Then, select \(M_{11}\) bits whose value is 1 in X and set those bits to 1 in Z. Finally, select \(M_{10}\) bits whose value is 0 in X and set those bits to 1 in Z.
Finally, to generate a new random solution (function \(makeBeeRandomSolution()\) of Algorithm 1), a vector following a Bernoulli distribution with probability equals to 0.5 is generated. We don’t use any kind of local search in this version of the algorithm.
4 Experimental Results
The algorithm has been evaluated using three test cases of incremental size. Each test case represents one process flow diagramFootnote 1 with the following features: 11 units - 28 sensors - 8 constraints, 19 units - 52 sensors - 17 constraints, and 47 units - 82 sensors - 17 constraints. It is assumed that variables are related only by mass balance equations. The precision of the sensors are 2.5%, 2% and 2% of the corresponding true flowrates, respectively. The analysis of the results takes into account a solution’s quality and variability. The quality of the solutions obtained by the proposed ABC algorithm are compared against the ones obtained by two algorithms proposed by Carnero et al. [4] called pPBIL and pPBIL-SOTS. Both algorithms are EDAs with the difference that pPBIL-SOTS also applies a local search to solve the SNDP.
The parameters of the ABC algorithm used for each case can be seen on Table 1. These parameters have been tune up experimentally. As [10] recommends we have used a dynamic \(\varphi \) that decreases linearly from 0.9 to 0.5 following Eq. 11, where t is the actual iteration number and \(\varphi ^t\) is the \(\varphi \) of the \(t^{th}\) iteration.
We have run each algorithm 30 times for each test case. Table 2 presents the results obtained for each algorithm (ABC, pPBIL and pPBIL-SOTS), showing the minimum cost found, the mean cost of the 30 executions, and the standard deviation. As shown in Table 2, pPBIL-SOTS achieves the best results for all the three cases tested. This highlights the benefits of pairing a meta-heuristics with a local search method. Comparing pPBIL with the ABC algorithm, we can see that pPBIL obtains a lower costs but with a higher standard deviation than the ABC algorithm. It means that the solutions found by pPBIL vary more between different executions of the algorithm. Taking into account that the average costs for pBIL and ABC algorithms are closer, and the standard deviation is lower for ABC, it can be concluded that according to the stability of the solutions found, the ABC algorithm obtains better results to solve the problem.
5 Conclusions
In this article we propose an ABC algorithm for solving the SNDP, which can be solve as a binary constrained optimization problem. The original ABC algorithm works for continuous unconstrained optimization problems, so the new algorithm combines two extensions of the standard one in order to solve this kind of problems. The first extension allows ABC to work with constraints optimizations, and the second one to work with binary optimizations. To ascertain the performance of the proposed algorithm we have tested it against three process flowsheets of incremental size, and the results obtained have been compared against two other algorithms from the state of the art, called pPBIL and pPBIL-SOTS. The results show that pPBIL-SOTS reaches the best results for all the three cases. This highlights the benefits of combining a meta-heuristic with a local search. If we compare ABC and pPBIL, we can conclude that pPBIL achieves slightly better results than ABC at the expense of having a higher variability between runs. Future research will focus on implementing local search methods to work with the ABC algorithm in order to test the true capabilities of this meta-heuristic to solve SNDP.
Notes
- 1.
The interested reader can get access to the files containing information about the case studies from https://drive.google.com/file/d/1FvPwDxW06xhcrEcX7RgUhMV0Eh4lrY1p/view?usp=sharing.
References
Bagajewicz, M., Sánchez, M.: Cost optimal design and upgrade of non-redundant and redundant linear sensor networks. AIChE J. 45(9), 1927–1938 (1999)
Baluja, S.: Population-based incremental learning: a method for integrating genetic search based function optimization and competitive learning. Technical report-CMU-CS-94163, Carnegie Mellon University, Pittsburgh, PA (1994)
Bello-Orgaz, G., Salcedo-Sanz, S., Camacho, D.: A multi-objective genetic algorithm for overlapping community detection based on edge encoding. Inf. Sci. 462, 290–314 (2018)
Carnero, M., Hernández, J., Sánchez, M.: A new metaheuristic based approach for the design of sensor networks. Comput. Chem. Eng. 55, 83–96 (2013)
Carnero, M., Hernández, J., Sánchez, M., Bandoni, A.: An evolutionary approach for the design of nonredundant sensor networks. Indus. Eng. Chem. Res. 40(23), 5578–5584 (2001)
Carnero, M., Hernández, J.L., Sánchez, M.: Optimal sensor location in chemical plants using the estimation of distribution algorithms. Indus. Eng. Chem. Res. (2018). https://doi.org/10.1021/acs.iecr.8b01680
Gonzalez-Pardo, A., Ser, J.D., Camacho, D.: Comparative study of pheromone control heuristics in ACO algorithms for solving RCPSP problems. Appl. Soft Comput. 60, 241–255 (2017)
Karaboga, D.: An idea based on honey bee swarm for numerical optimization. Technical report-tr06, Engineering Faculty, Computer Engineering Department, Erciyes University (2005)
Karaboga, D., Akay, B.: A modified artificial bee colony (ABC) algorithm for constrained optimization problems. Appl. Soft Comput. 11(3), 3021–3031 (2011)
Kashan, M.H., Nahavandi, N., Kashan, A.H.: DisABC: a new artificial bee colony algorithm for binary optimization. Appl. Soft Comput. 12(1), 342–352 (2012)
Ramirez-Atencia, C., Bello-Orgaz, G., R-Moreno, M.D., Camacho, D.: Solving complex multi-UAV mission planning problems using multi-objective genetic algorithms. Soft Comput. 21(17), 4883–4900 (2017)
Romagnoli, J., Sánchez, M.: Data Processing and Reconciliation for Chemical Process Operations. Academic Press, Cambridge (2000)
Sen, S., Narasimhan, S., Deb, K.: Sensor network design of linear processes using genetic algorithms. Comput. Chem. Eng. 22(3), 385–390 (1998)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Panizo, Á., Bello-Orgaz, G., Carnero, M., Hernández, J., Sánchez, M., Camacho, D. (2018). An Artificial Bee Colony Algorithm for Optimizing the Design of Sensor Networks. In: Yin, H., Camacho, D., Novais, P., Tallón-Ballesteros, A. (eds) Intelligent Data Engineering and Automated Learning – IDEAL 2018. IDEAL 2018. Lecture Notes in Computer Science(), vol 11315. Springer, Cham. https://doi.org/10.1007/978-3-030-03496-2_35
Download citation
DOI: https://doi.org/10.1007/978-3-030-03496-2_35
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-03495-5
Online ISBN: 978-3-030-03496-2
eBook Packages: Computer ScienceComputer Science (R0)