DSpace Institution
DSpace Repository http://dspace.org
Computer Science thesis
2020-03-20
NOVEL ALGORITHMS FOR DESIGN OPTIMIZATION OF WIRELESS
SENSOR NETWORKS
DEFAR, ABENEZER
http://hdl.handle.net/123456789/10749
Downloaded from DSpace Repository, DSpace Institution's institutional repository
BAHIR DAR UNIVERSITY
BAHIR DAR INSTITUTE OF TECHNOLOGY
SCHOOL OF RESEARCH AND POSTGRADUATE STUDIES FACULTY OF COMPUTING
NOVEL ALGORITHMS FOR DESIGN OPTIMIZATION OF WIRELESS SENSOR NETWORKS
ABENEZER DEFAR ANJORE
BAHIR DAR, ETHIOPIA
February 2018
NOVEL ALGORITHMS FOR DESIGN OPTIMIZATION OF WIRELESS SENSOR NETWORKS
ABENEZER DEFAR ANJORE
A thesis submitted to the school of Research and Graduate Studies of Bahir Dar Institute of Technology, BDU in partial fulfillment of the requirements for the degree
of
Master of Science in Computer Science in the Faculty of computing
Advisor Name: Dr. Krishna Prasad
Bahir Dar, Ethiopia February 2018
DECLARATION
I, the undersigned, declare that the thesis comprises my own work. In compliance with internationally accepted practices, I have acknowledged and refereed all materials used in this work. I understand that non-adherence to the principles of academic honesty and integrity, misrepresentation/ fabrication of any idea/data/fact/source will constitute sufficient ground for disciplinary action by the University and can also evoke penal action from the sources which have not been properly cited or acknowledged.
Name of the student Abenezer Defar Signature _____________
Date of submission: _____________
Place: Bahir Dar
This thesis has been submitted for examination with my approval as a university advisor.
Advisor Name: Dr. Krishna Prasad
Advisor’s Signature: ______________________________
© 2018
ABENEZER DEFAR ANJORE ALL RIGHTS RESERVED
ACKNOWLEDGEMENTS
First of all, I would like to thank GOD for making this possible. I like to express my sincere thanks to my advisor Dr. Krishna Prasad for his continuous support and very useful comments. He spent his precious time in commenting my work and showing me the right directions which I found very important for my study.
My special thanks go to, Dr.-Ing waltenegus Dargie from University of Dresden for his enthusiasm, scientific and personal guidance.
Finally, I would like to thank my family members, friends and colleagues for their support, for the invaluable ideas and encouragement for accomplishing this study.
Abenezer Defar
ABSTRACT
Sensor technologies have become very important today in gathering information about close by environments and its use in wireless sensor networks (WSN) is getting widespread and becoming popular every day. These networks are characterized by a number of sensor nodes deployed in the field for the observation of some phenomena. The usage of WSN is ever increasing in the diverse fields of Agriculture, Underground water resource management, Traffic management, Crime surveillance, Dataveillance etc. Due to the limited battery capacity in sensor nodes, energy efficiency is a major and challenging problem in such power constrained networks. To extend the life time of wireless sensor networks as well as conserving its power, some energy parameters have been under extensive research, which play an important role in the reduction of power consumption. These parameters are as energy required for operation, communication energy and battery capacity penalty. They have a direct and indirect impact on the network’s lifetime. These parameters must be chosen in such a way that the network use its energy resources efficiently. In This thesis we have analyzed these parameters and developed algorithms for design optimization of wireless sensor network through evolutionary paradigm and fuzzy control. the design parameters optimized by the genetic algorithm include the status of sensor nodes (whether they are active or inactive), network clustering with the choice of appropriate cluster heads and finally the choice between two signal ranges for the simple sensor nodes. We showed that optimal sensor network designs suggested by the genetic algorithms can optimize battery consumption and increase network’s lifetime. The proposed algorithm characteristics and the impact of the chosen parameters have been investigated and illustrated in detail with various combinations. To achieve this goal, simulation algorithm that help in analyzing the effects of the parameters on sensor network lifetime has been designed and implemented in C++. Ultimately, results of extensive simulation studies are presented, and conclusions are drawn which can be helpful in guiding the wireless sensor network designer in optimally selecting the parameters proposed to improve the lifetime of the wireless sensor network.
Keywords: WSN, Optimization, Genetic algorithm, Evolutionary algorithm, Design optimization
TABLE OF CONTENTS
DECLARATION ... I ACKNOWLEDGEMENTS ... IV ABSTRACT ... V TABLE OF CONTENTS ... VI LIST OF ABBREVATIONS ... VIII LIST OF SYMBOLS ... IX LIST OF FIGURES ... X LIST OF TABLES ... XI
1. INTRODUCTION ... 1
1.1. Background ... 3
1.2. Problem Statement ... 4
1.3. Objective of the study ... 5
1.4. Scope of the study ... 5
1.5. Significance of the study ... 6
1.6. Organization of the thesis ... 6
2. LITERATURE REVIEW ... 8
2.1. Wireless sensor node ... 8
2.2. Wireless networking ... 10
2.3. Clustering for data aggregation ... 15
2.4. Operating system ... 18
2.5. Applications of wireless sensor networks ... 22
2.6. Issues and challenges in wireless sensor network design ... 24
2.7. Evolutionary algorithms ... 25
2.8. Optimization in wireless sensor network ... 28
2.9. Related works ... 30
3. METHODOLOGY ... 31
3.1. WSN representation ... 31
3.2. Fuzzy-genetic algorithm for energy optimization ... 34
3.3. Fuzzy-Evolutionary algorithm ... 38
3.4. Limiting sensor per Cluster ... 38
3.5. Flow chart ... 39
3.6. Steps of the Algorithm ... 41
4. RESULTS AND DISCUSSION ... 42
4.1. Simulation development using C++ ... 42
4.2. Simulation results ... 43
4.3. Results on limited vs unlimited sensors per cluster ... 47
4.4. Results on Basic GA and proposed algorithm ... 48
4.5. Results on fitness function parameters ... 50
4.6. Performance on battery-constrained WSNs ... 52
5. CONCLUSIONS AND RECOMMENDATIONS ... 53
5.1. Conclusions ... 53
5.2. Recommendations ... 56
REFERENCES ... 57
APPENDIX ... 59
5.3. Appendix 1 C++ source code ... 59
5.4. Snapshots of the simulation ... 69
LIST OF ABBREVATIONS
CE Communication energy OE Operational energy BCP Battery capacity penalty EAs Evolutionary Algorithms WSNs Wireless Sensor Networks
LEACH Low Energy Adaptive Clustering Hierarchy MAC Medium Access Control
HEED Hybrid energy efficient distributed clustering IOT Internet of things
MEMS Micro Electro-Mechanical System CH Cluster head
HSA Sensor in a high signal area LSA Sensor in a low signal area GA Genetic Algorithm
MOO Multi objective optimization ABC Artificial Bee Colony AIS Artificial Immune System
IEEE Institute of Electrical and Electronics Engineers
6LOWPAN IPv6 over Low-Power Wireless Personal Area Networks CCA Clear channel assessment
LQI Link quality indication
SMAC Sensor Medium Access Control CDMA Code division multiple access TDMA Time division multiple access TRAM Traffic adaptive MAC
PHY Physical
CTP Collection tree routing protocol
LIST OF SYMBOLS
Pm Mutation probability Pc Crossover probability f(x) Fitness function
fav Membership function
Standard deviation µ Mean
Pm Mutation probability Pc Crossover probability
LIST OF FIGURES
Figure 2-1 General hardware architecture of a sensor node. ... 8
Figure 2-2 Timeline for the sensor mote platforms ... 10
Figure 2-3 Network model with clustering ... 16
Figure 2-4 One-point crossover ... 27
Figure 2-5 Two-point crossover ... 27
Figure 2-6 Uniform crossover ... 28
Figure 2-7 Optimization methods taxonomy ... 29
Figure 3-1 Binary representation (on the right) and state of sensors in a randomly generated WSN (on the left). ... 32
Figure 3-2 Membership functions for fav ... 37
Figure 3-3 Membership functions for standard deviation () ... 37
Figure 3-4 pseudo code for limiting sensor per cluster ... 39
Figure 3-5 Basic genetic algorithm flow chart ... 39
Figure 3-6 Flow chart of the proposed algorithm ... 40
Figure 4-1 Quincy 2005 V1.3 C++ compiler ... 42
Figure 4-2 Increase of fitness with generation ... 46
Figure 4-3 Decrease in number of cluster heads with generation ... 46
Figure 4-4 operation mode of sensor vs generation ... 47
Figure 4-5 Average sensor per cluster with limited vs unlimited sensor per cluster ... 48
Figure 4-6 fuzzy controlled vs fixed mutation ... 49
Figure 4-7 Impact of fitness function parameters on number of CHs ... 50
Figure 4-8 Impact of fitness function parameters on number of inactive sensors ... 51
Figure 4-9 Percentages of sensors with battery capacities ... 52
LIST OF TABLES
Table 4-1 The GA parameters settings ... 42 Table 4-2 Fitness of chromosomes in 200th generation ... 44 Table 4-3 Sensor types in different generations and average number of active sensors per cluster ... 45 Table 4-4 fuzzy mutation vs fixed value mutation ... 49 Table 4-5 impact of fitness function parameters with different combination ... 50
1. INTRODUCTION
A wireless sensor network (WSN) is a wireless network consisting of spatially distributed autonomous devices using sensors to monitor physical or environmental conditions. Sensor technology has made the development of small, low power, low-cost distributed devices, which can make local processing and wireless communication, a reality. Such devices are called sensor nodes. The sensors are deeply embedded devices that are integrated with a physical environment and capable of acquiring signals, processing the signals, communicating, context aware computing and performing simple computation tasks.
Sensors provide an easy solution to those applications that are based in the inhospitable and low maintenance areas where conventional approaches prove to be impossible and very costly for monitoring (Golsorkhtabar, 2010) . A wireless Sensor node can only equip with limited data processing and limited power source (<0.5Ah, 1.2V)which is very low (Akyildiz I. F., 2010) and communication capabilities are usually deployed in an ad-hoc manner to in an area of interest to monitor events and gather data about the environment.
Examples include environmental monitoring which involves monitoring air soil and water, condition-based maintenance, habitat monitoring, seismic detection, military surveillance, structural health monitoring, inventory tracking, smart spaces etc.
Sensor nodes are typically disposable and expected to last until their energy drains.
Therefore, it is vital to manage energy wisely to extend the life time of the sensors for the duration of a task. This often results in scenarios where a certain part of the network become energy constrained and stop operating after some time. Sensor nodes failure may cause connectivity loss and in some cases network partitioning,this can cause serious damage in some environments that need critical monitoring. Most of the time sensor nodes are prone to failure due to energy depletion, impact of deployment, extreme heat or fire, animal or vehicular accidents, malicious activity and extended use.
Nowadays, wireless sensor networks and internet of things(IOT) have attracted a lot of research attention in the recent years (Qu, 2010). It offers a rich area of research, in which a variety of multi-disciplinary tools and concepts are employed.
Due to technological and economic reasons, most available wireless sensor devices are highly constrained in terms of computational, power, memory, and communication capabilities because of that a lot of researches are trending to reduce the effect of those constraints and enhance the usage of wireless sensor networks in various application specific areas, to accomplish that extensive researches and experiments have been conducted to developed different techniques and algorithms to increase the optimal usage of the wireless sensors, those researches are reviewed on the related works section of this document .
Over the past few years, researchers and scientists have shown great interest in developing biologically inspired algorithms and techniques for solving various real-world problems.
Several techniques such as Genetic Algorithm (GA), Artificial Immune System (AIS), Ant Colony Optimization (ACO), Artificial Bee Colony (ABC) algorithm, and Particle Swarm Optimization(PSO) have been developed and successfully used for solving such problems.
Genetic algorithm is a well-known bioinspired technique, which is inspired by the principles and processes of Darwinian theory of evolution and takes advantage of the characteristics of the genetics such as survival of the fittest for solving problems.
Genetic algorithm basically abstracts the functions and structure of genetics into computational systems. It considers the application of these systems for solving different mathematical, information technology, and engineering problems. (Ramsha Rizwan, 2015).
In this study, we used wireless sensor network design, as optimization problem through Genetic Algorithm (GA) technique and develop algorithms for design optimization of wireless sensor network. Also, we examine the effects of Genetic algorithm parameters including population size, mutation probability, selection and crossover methods on the design. The generic program for design optimization of WSNs is included in the appendix of this document, but also there are different variation of these programs used for this study.
1.1. Background
Rapid advances in the areas of sensor design, information technologies, and wireless networks have paved the way for the proliferation of wireless sensor networks. These networks have the potential to interface the physical world with the virtual (computing) world on an unprecedented scale and provide practical usefulness in developing a large number of applications, including the protection of civil infrastructures, habitat monitoring, precision agriculture, toxic gas detection, supply chain management, and health care (Dargie, 2010).
A wireless sensor network typically consists of hundreds or thousands of sensor nodes which are deployed manually or randomly over a target region. The sensor nodes sense the local data and forward it to a remote base station (BS) called sink. (Akyildiz I. F., 2002).
However, the main limitation of WSN is that the sensor nodes are powered by small batteries and recharging or replacing the batteries may not be always possible as the sensor nodes are deployed in hostile environment for many applications. Therefore, energy conservation for the WSNs is a challenging issue for prolonging network life time. (Jana, 2014). Many researches have been conducted to increase the life time of the wireless sensor node some of them are designing energy efficient clustering algorithms (Ghiasi, 2002), MAC layer protocols (Demirkol, 2006), routing techniques (Al-Karaki, 2004), optimization algorithms (Ferentinos, 2007) most of the researchers found promising results in prolonging the life time of sensor nodes by applying different methods and procedures. This study is also motivated and got a baseline from the research conducted on different optimization problems of wireless sensor network and the application of evolutionary algorithms for optimization problems.
In many previously conducted studies evolutionary algorithms offer a good solution for optimization problems in several problem domain areas like engineering, mathematics and information and communication technology.
1.2. Problem Statement
Nowadays the application of wireless sensor network increased in many areas such as protection of civil infrastructures, habitat monitoring, precision agriculture, toxic gas detection, supply chain management, and health care, etc. in fact, wireless sensor network is also one of the most important elements in internet of things (IOT) paradigm. However, wireless sensor nodes are prone to failure due to energy depletion, impact of deployment, fire or extreme heat, animal or vehicular accidents, malicious activity, or by extended use.
Form the mentioned failure causes 81% of WSN node failures occur due to energy depletion because wireless sensor node can only be equipped with a limited power source most of the time (<0.5Ah, 1.2V) (Akyildiz I. F., 2010).
As sensor nodes carry limited energy, in general irreplaceable power sources, one of the most important constraints for WSNs is the low power consumption requirement. Thus, power conservation is of tremendous importance. Most of sensor nodes in WSN are equipped with non-rechargeable batteries that have limited lifetime, therefore they must be easily and rapidly deployed in large numbers and, once deployed, must form a suitable network with a minimum of human intervention. These requirements must be met with a minimum of power consumption because the problem that the sensors have very limited battery life is aggravated by the fact that recharging is difficult and sometimes practically impossible. therefore energy-efficient solutions are required for each aspect of wireless sensor network to deliver the potential advantages of the WSN phenomenon because in both existing and future, solutions for WSNs energy efficiency is the grand challenge.
Nodes in a wireless sensor network have non-uniform energy consumption rates. As a result, early death among highly loaded nodes is a common phenomenon which makes it impossible to use the full capacity of the network. Our claim is that significant reductions in energy consumption can be achieved if wireless networks are designed specifically for minimum energy. In order to maximize the total lifetime of a wireless network, there must be energy efficient design optimization method. Previous researches show that the way sensor networks are organized internally plays an important role in decreasing the energy budget to perform certain functions, and therefore proper design of the sensor network architecture is an important goal to be pursued.
Hence, this research addresses the following research questions:
• Can the current approaches optimize WSNs design in term of energy?
• Does the change on genetic algorithm parameters have effect on the design optimization?
• Which evolutionary algorithm is suitable for design optimization of wireless sensor network.
• Is genetic algorithm effective in design optimization of WSNs.
1.3. Objective of the study General objective:
✓ The general objective of this study is to develop algorithms for design optimization of wireless sensor networks.
Specific objectives:
✓ To identify appropriate evolutionary algorithm for the problem
✓ To determine the effect of energy consuming constituents and their prevalent parameters on energy consumption in WSNs.
✓ To propose algorithms for design optimization of wireless sensor networks
✓ To develop simulation models
✓ To study the performance of the algorithms with different parameters.
1.4. Scope of the study
This research assumes that wireless sensor network environment is simulated with static nodes and cluster-based routing. It is not within the scope of this study to deploy and test the wireless sensor network; And also, doesn’t include study on medium access control and data aggregation of WSNs. Our research work target is to propose algorithm that bring optimal design of wireless sensor network, which is energy efficient and responsive to
network. The performance of the proposed method will be demonstrated and simulated using C++.
1.5. Significance of the study
As the usage of wireless sensor network increases, elongating the life time of the wireless sensor networks become the main agenda. Extensive researches in the area shows that there is an urgent need of energy efficient design optimization mechanisms for the wireless sensor networks. and, it is very important that network failures due to un-efficient WSNs designs are detected in advance and appropriate measures are taken to sustain network operation.
also, this reduces maintenance rate and cost due to un-efficient WSNs design, also improves safety and reliability by reducing the risk caused by unattended environment because of sensor node failures or network disconnection specially on critical areas that need continuous monitoring.
Additionally, the study output can be used as an input for other further studies on the problem domain and the study can be taken as a prototype for the next researchers to add knowledge and direction on design optimization, energy efficiency, clustering and fault tolerance in wireless sensor networks.
1.6. Organization of the thesis
This research work is organized into the following five chapters:
Chapter one: This chapter includes the introduction of the study, a statement of the problem, objective of the study, the significance of the study and the scope.
Chapter two: This chapter covers literature review, which gives a detailed overview of the study area, various optimization techniques, review of related works and challenges of the domain.
Chapter Three: This chapter discusses the design optimization algorithm with evolutionary paradigm and fuzzy controller which is designed and developed in this research work.
Chapter Four: This chapter deals with the simulation activity undertaken to implement the algorithm described in chapter three; the simulation setup and the results of the extensive simulations and discussion are discussed.
Chapter Five: This chapter provides conclusion and recommendation for the future research direction for scholars interested in the area.
2. LITERATURE REVIEW
In this Chapter, a brief overview of the field of wireless sensor networks and evolutionary algorithms are provided. The different components of WSN and the approaches used to design optimization of WSNs are reviewed and presented. Evaluation standards for the performance of the algorithms which are used for the evaluation purpose are also presented in this chapter.
2.1. Wireless sensor node
A wireless sensor node is generally composed of four basic components: a sensing unit, a processing unit, a power unit and a transceiver unit. The general architecture and the major components of a wireless sensor device (node) are illustrated in Figure 2.1 below. moreover, additional components can also be integrated into the sensor node depending on the application. These components as shown by the dashed boxes in Figure 2.1
Source (Akyildiz I. F., 2010)
Figure 2-1 General hardware architecture of a sensor node.
When choosing the hardware components for a wireless sensor node, obviously the application’s requirements play a decisive factor with regard mostly to size, cost, and energy consumption of the nodes communication and computation facilities as such are often considered to be of acceptable quality.
The hardware basis of WSNs is driven by advances in several technologies. First, the advancement of system-on-chip technologies. Second, the availabilities of RF circuits for short-distance communication. Thirdly, Micro-Electro-Mechanical System (MEMS) technology is now available to integrate a rich set of sensors onto the same chip. The different components are described as follows (Badjate, 2013).
Processing unit: The processing unit is the main controller of the wireless sensor node, through which every other component is managed. The processing unit may consist of an on-board memory or may be associated with a small storage unit integrated into the embedded board. The processing unit manages the procedures that enable the sensor node to perform sensing operations, run associated algorithms, and collaborate with the other nodes through wireless communication.
Mobilizer: A mobilizer may sometimes be needed to move sensor nodes when it is necessary to carry out the assigned tasks. Mobility support requires extensive energy resources and should be provided efficiently. The mobilizer can also operate in close interaction with the sensing unit and the processor to control the movements of the sensor node.
Communication Device: is the hardware to enable the networking capability of the sensor nodes. Some usual methods for communication between the sensor nodes are Radio Frequencies (RF), optical communication, etc. RF is generally used because it provides a long range of transmission and reception at high rate with acceptable error rates for the required energy and it does not require a direct line of sight between two neighbors.
Sensor: is an electronic component that measures the physical quantity and converts to the type that can be read by the user or other electronic devices, for example, a microprocessor.
Micro Electro-Mechanical System (MEMS) technology is now available to integrate a rich set of sensors onto the same chip. They are interfaces to the physical world which sense the environment parameter and convert them to a raw data (mostly voltage or current) for further processing within the processor. Nowadays commercially available sensors include magnetic, acoustic/ultrasound, and seismic sensors, thermal and electromagnetic sensors,
optical transducer, chemical and biological transducer, accelerometer, and barometric pressure detectors, etc. These sensors can be used in a broad range of applications.
Power Supply: For wireless sensor nodes, the power supply is a crucial system component.
There exists a large quantity of power supply options for a sensor node. The most common option is the use of batteries; other options are scavenging energy from the environment where the sensor node is exposed, the most popular example is solar cell. The integration of the above technologies has made it possible to integrate sensing, computing, communication, and power components in to tiny sensor nodes.
There are several sensor nodes available for use in wireless sensor network research and development. Some examples of such wireless sensor nodes are Mica mote family, EYES nodes, Iris, SHIMMER, cricket, BTnodes, and ScatterWeb.
Figure 2-2 Timeline for the sensor mote platforms. adapted from (Akyildiz I. F., 2010) 2.2. Wireless networking
Wireless sensor networks have features that are different from traditional wireless networks.
The main features of a WSN include its ability to cope with node failures, node's dynamic mobility and network topology, frequent communication failures, the presence of heterogeneous nodes, scalability to large scale deployment, ability to withstand harsh environment conditions, and node's severe power constraints. This makes wireless sensor network an active research area to design different models, algorithms and protocols. IEEE 802.15.4 is the main standard technology for WSNs which intends to offer the fundamental
network lower layers and focuses on low-cost and low-speed ubiquitous communication between devices. (Chandane, 2012). In the next sections, IEEE 802.15.4 standard which covers the Physical and Medium Access Control (MAC) layer of Wireless Sensor Networks and the issues of routing protocols for wireless sensor networks are reviewed.
2.2.1. physical protocols
The physical layer (PHY) defines the physical and electrical characteristics of the network, for instance, specifying the receiver sensitivity and transmitting output power. The physical layer also specifies the raw data rate characteristics, which can either be selected to offer a larger coverage area or higher throughput. The basic task of this layer is thus data transmission and reception at the physical/electrical level, which involves modulation and spreading techniques that map bits of information in such a way they can travel through the air. The PHY tasks can be summarized as follows:
1. Enable/disable the radio transceiver (since low duty cycle saves energy) 2. Compute Link Quality Indication for received packets
3. Energy detection within the current channel by means of signal strengths estimation 4. Listen to channels and declare availability or not.
Many of the WSN systems today are based on IEEE 802.15.4 protocols such as ZigBee and IPv6 over Low-Power Wireless Personal Area Networks(6LoWPAN) due to their low cost and power consumption and targeted at battery-powered devices in wireless control and monitoring applications. IEEE 802.15.4 standard covers the Physical and Medium Access Control (MAC) layer of Wireless Sensor Networks (Singhal, 2012).
The 802.15.4 physical layer specifies two different services: The PHY data service which controls the transmission and reception of the PHY Protocol Data Units (PPDUs) and the PHY management service performs Energy Detection in the channel and performs Clear Channel Assessment (CCA) before sending the messages and provides Link Quality Indication (LQI) for the received packets.
2.2.2. Medium Access Layer Protocols for WSN
A Medium Access Control (MAC) protocol is the first protocol layer above the Physical Layer (PHY). Its fundamental task is to control the access of several nodes to a shared medium in such a way that certain application specific performance requirements are satisfied. The IEEE 802.11 protocol was the first standard for wireless local area networks (WLAN) (Standard, 1999). Even though many efforts have been made to use 802.11 for WSNs, the high-power consumption and excessively high data rate of IEEE 802.11 protocol are not suitable for WSNs. This fact has motivated several research efforts to design energy efficient MAC protocols. (Demirkol, 2006) made a survey on the different MAC protocols including Sensor-MAC (SMAC), WiseMAC, Spatial TDMA and CDMA, Traffic-Adaptive MAC protocol (TRAMA), Node Activation Multiple Access (NAMA), etc. and presented the advantages and limitations of each MAC protocol on their study.
The IEEE 802.15.4 MAC Standard provides information about type and association of devices, channel access mechanism, packet delivery, frame structure, guaranteed packet delivery, possible network topologies and security issues. In order to communicate with the upper layers, it provides the MAC data service and the MAC management service. The MAC data service enables transmission of MAC Protocol Data Units across the PHY data service. The MAC sub layer features include beacon management, channel access, frame validation, acknowledged frame delivery, association and disassociation. The MAC also provides support for implementing defined security mechanisms like Data Encryption, Frame Integrity and Sequential Freshness (Xiao, 2006).
2.2.3. Routing Layer Protocols for WSN
In this subsection, we will describe the design issues and challenges of routing protocols and the basic operations of collection tree routing protocol(CTP), focusing on the details that are relevant to the study.
In wireless sensor applications like habitat monitoring that require the deployment of large number of nodes, to transfer the packet that is sensed by sensor nodes to the base station, intermediate nodes are required to relay packets for the successful delivery of the packet to
the base station. Otherwise the packets will be lost due to capacity and low transmission range of the sensor nodes. Such an intermediate node has to decide to which neighbor to forward the incoming packet which is not destined for it. Such decision is made by the routing protocol which runs on every node in the network. There exist different routing protocols for wired and ad-hoc networks. However, they are hardly applicable for wireless sensor networks due to their high-power consumption. They are also designed to support general routing request in wireless networks, without considering specific communication pattern in WSN. Customization of these protocols for WSN and the developments of new routing techniques are needed, even if it is very challenging due to the inherent characteristics that distinguish these networks from other wireless networks like mobile ad- hoc networks or cellular networks. Some of the routing challenges and design issues that affect the routing process in WSNs are widely described in (Al-Karaki, 2004), some of the issues are:
• Node Deployment: Node deployment in WSNs is application dependent and one of the issues that affects the performance of the routing protocol. The deployment can be either deterministic or randomized. In deterministic deployment, the sensors are manually placed, and data is routed through pre-determined paths. However, in random node deployment, the sensor nodes are scattered randomly creating an infrastructure in an ad-hoc manner. If the resultant distribution of nodes is not uniform, optimal clustering becomes necessary to allow connectivity and enable energy efficient network operation.
• Energy Consumption without Losing Accuracy: sensor nodes can use their limited supply of energy for performing computations and transmitting information in a wireless environment. Thus, energy conserving forms of communication and computation are very essential. The malfunctioning of some sensor nodes in the network due to power failure can cause significant topological changes and might require rerouting of packets and reorganization of the network. Thus, the routing protocol designed for an application where the sensor nodes get power supply from battery and left unchecked for long time, as the case of our proposed work, should consider the limited energy supply of the sensor nodes.
• Data Reporting Model: is the other issue mentioned in (Al-Karaki, 2004).Data sensing and reporting in WSNs is dependent on the application and the time criticality of the data reporting. Data reporting can be categorized as either time-driven (continuous), event- driven, query-driven, or hybrid. The time-driven delivery model is suitable for applications that require periodic data monitoring. As such, sensor nodes will periodically switch on their sensors and transmitters, sense the environment and transmit the data of interest at constant periodic time intervals. In event-driven and query-driven models, sensor nodes respond immediately to sudden and extreme variations in the value of a sensed attribute due to the occurrence of a certain event or a query is generated by the base station. A combination of the previous models is also possible.
• Node/Link Heterogeneity: In many studies, all sensor nodes were assumed to be homogeneous, i.e., having equal capacity in terms of computation, communication, and power. But in fact, depending on the application a sensor node can have different role or capability. Therefore, the existence of heterogeneous set of sensors raises many technical issues related to data routing, and sensor data fusion.
• Fault Tolerance: Some sensor nodes may stop functioning or be blocked due to lack of power, physical damage, or environmental interference. The failure of few sensor nodes should not affect the overall task of the wireless sensor network. If many nodes fail, MAC and routing protocols must accommodate formation of new links and routes to the data collection base stations.
• Scalability: The number of sensor nodes deployed in the sensing area may be in the order of hundreds or thousands, or more. Any routing arrangement must be able to work with this enormous number of sensor nodes.
• Network Dynamics: Most of the network architectures assume that sensor nodes are stationary. But in fact, mobility of either the base station or sensor nodes becomes necessary sometimes in many applications. Routing messages from or to moving nodes is more challenging since route stability becomes an important issue, in addition to energy, bandwidth, etc.
• Coverage: In wireless sensor networks, each sensor node in the network perceive a certain area of the environment. A given sensor’s view of the environment is limited both in range and in accuracy; it can only cover a limited physical area of the environment. Hence, area coverage is also an important design parameter in WSNs.
• Data Aggregation: Since sensor nodes may generate significant redundant data, similar packets from multiple nodes can be aggregated so that the number of transmissions is reduced. Data aggregation is the combination of data from different sources according to a certain aggregation function, example, duplicate suppression, minima, maxima and average.
This technique has been used to achieve energy efficiency and data transfer optimization in several routing protocols. Detail description about data aggregation is given in section 2.3
2.3. Clustering for data aggregation
As sensor networks are projected to scale to huge numbers of nodes, protocol scalability becomes an important design criterion. If the sensors are managed directly by the base station, communication overhead, management delay, and management complexity become limiting factors in network performance. Clustering has been proposed by researchers to group several sensors, usually within a geographic neighborhood, to form a cluster that is managed by a cluster head.
Clustering provides a framework for resource management. It can support many important network features within a cluster, such as channel access for cluster members and power control, as well as between clusters, such as routing and code separation to avoid inter- cluster interference. Moreover, clustering distributes the management responsibility from the base station to the cluster heads, and provides a convenient framework for data fusion, local decision making, local control, and energy savings (Boukerche, 2005).
The following Figure 2.3 shows a network model with clustering and having three clusters and each cluster have seven sensor that communicate with the cluster head in charge.
Figure 2-3 Network model with clustering
Owing to a variety of advantages, clustering is becoming an active branch of routing technology in WSNs. In the next sub sections, we present a fine-grained explanation on the two most popular clustering routing protocols.
2.3.1. LEACH
Low Energy Adaptive Clustering Hierarchy(LEACH) protocol aims to minimize energy consumption in WSNs through a cluster-based operation. The goal of LEACH is to dynamically select sensor nodes as cluster heads and form clusters in the network. The communications inside the clusters are directed to the cluster head, which performs aggregation. Cluster heads then directly communicate with the sink to relay the collected information from each cluster. LEACH also changes the cluster head role dynamically such that the high-energy consumption in communicating with the sink is spread to all sensor nodes in the network.
The operation of LEACH is controlled through rounds, which consist of several phases.
During each round, each cluster establishment stays the same, and the cluster heads are selected at the start of each round. A round is separated into two phases, the setup phase and steady state phase. During the setup phase, cluster heads are selected, clusters are formed,
and the cluster communication schedule is determined. During the steady state phase, data communication between the cluster members and the cluster head is performed. The duration of the steady state phase is longer than the duration of the setup phase in order to minimize the overhead.
The setup phase of LEACH consists of three phases: advertisement, cluster setup, and schedule creation. LEACH aims to randomly select sensors as cluster heads during the beginning of each round.
The cluster head selection is performed through the advertisement phase, where the sensor nodes broadcast a cluster head advertisement message. Primarily, a sensor node chooses a random number between 0 and 1. If this random number is less than a threshold T (n), the sensor node becomes a cluster head. T (n) is calculated as
……… Equ 2-1
where P is the desired percentage to become a cluster head, r is the current round, and G is the set of nodes that have not been selected as a cluster head in the last 1/P rounds. The selected cluster heads then advertise to their neighbors in the network that they are the new cluster heads. For this operation, LEACH relies on a CSMA-based random access scheme to avoid advertisement collisions from multiple cluster heads (Akyildiz I. F., 2010).
2.3.2. HEED
Hybrid energy efficient distributed clustering (HEED) approach for ad-hoc sensor networks is an algorithm that assumes the sensor nodes are quasi-stationary 1and node location unaware, the links are symmetric, and energy consumption is non-uniform for all nodes. It periodically selects cluster heads according to the sensor residual energy and a node closeness to its neighbors. Initially, HEED sets an initial percentage of cluster heads among
all n nodes (Cprob) and its probability of becoming a cluster head, CHprob, before a node starts executing HEED, is:
……….…….. Equ 2-2
Where Eresidual is the estimated residual energy of the node, Emax is a reference maximum energy, and Cprob is a small constant fraction used to bound the number of initial cluster head announcements. CHprob is not allowed to fall below a small probability, Pmin, to ensure constant time termination. During each iteration, a node arbitrates among the cluster head announcements it has received to select the lowest cost cluster head. If it has not received any announcements, it elects itself to become a cluster head with probability CHprob. If successful, it sends an announcement indicating its “willingness” to become cluster head.
The node then doubles its probability CHprob, waits for a short iteration interval tc, and begins the next iteration. A node stops this process one iteration after its CHprob reaches 1.
If a node elects to become a cluster head, it sends an announcement message cluster head msg (Node ID, selection status, cost), where the selection status is set to tentative CH, if its CHprob is less than 1, or final CH, if its CHprob has reached 1. A node considers itself
“covered” if it has heard from either a tentative CH or a final CH. If a node completes HEED execution without selecting a cluster head that is final CH, it considers itself uncovered, and announces itself to be a cluster head with state final CH. A tentative CH node can become a regular node at a later iteration if it finds a lower cost cluster head. Note that a node can elect to become a cluster head at consecutive clustering intervals if it has high residual energy and low cost (Younis, 2004).
2.4. Operating system
In most cases an operating system is defined as the master program existing between the computer hardware and the user, in this sub section we review most broadly used operating systems for sensor nodes. Obviously, the main purpose of operating system(OS) is coordination and management of various system resources, which may include hardware
resources such as hard disk, memory, peripheral device management, or non-hardware resources such as managing processor timeslots.
In most wireless sensor networks, sensors implement a basic operating system containing the minimum functions essential to perform their tasks. This minimalist approach is of great importance because of the extremely resource constrained nature of these sensing devices;
operating system code and application code must exist in devices having much less than one megabyte (1 MB) of memory. There are several sensor-based operating systems in use today; some of them are TinyOS, mate, Mantis OS, EYES OS, EMERALDS, and picOS.
In the following section, we review some of the mentioned operating systems.
TinyOS: is de-facto 2standard operating system for sensor nodes. It is written using the nesC language (Chien, 2011) and provides an event driven operating system. The TinyOS component library includes network protocols, distributed services, sensor drivers, and data acquisition tools. This OS supports a wide range of hardware platforms and has been used on numerous generations of sensors nodes. The design of TinyOS allows application software to access hardware directly when required. it is a tiny micro-threaded OS that attempts to address two issues: how to guarantee concurrent data flows among hardware devices, and how to provide modularized components with little processing and storage overhead. These issues are important since TinyOS is required to manage hardware capabilities and resources effectively while supporting parallel operation in an efficient manner. TinyOS uses an event-based model to support high levels of concurrent application in a very small amount of memory. TinyOS achieves higher throughput. It can rapidly create tasks associated with an event, with no blocking or polling. When CPU is idle, the process is maintained in a sleep state to conserve energy.
TinyOS designs a hardware abstract component called the radio-frequency module (RFM) for the radio transceiver, and a synthetic hardware component which is called radio byte, that handles data into or out of the underlying RFM. An evaluation of TinyOS shows that it attains the following performance improvements:
• It requires very little code and a small amount of data.
• Events are propagated quickly and the rate of posting a task and switching the corresponding context is very high.
• It enjoys efficient modularity.
Mate: is designed to work on the top of TinyOS as one of its components. It is a byte-code interpreter that aims to make TinyOS accessible to nonexpert programmers and to enable quick and efficient programming of an entire sensor network. In Mate, a program code is made up of capsules. Each capsule has 24 instructions, and the length of each instruction is 1 byte. The capsules contain type and version information, which makes code injection easy.
Mate capsules can deploy themselves into the network. Mate implements a beaconless (BLESS) ad hoc routing protocol as well as the ability to implement new routing protocols.
A sensor node that receives a newer version of a capsule installs it. Through hop-by-hop code injection, Mate can program the entire network. Capsules are classified into four categories: message send, message receive, timer, and subroutine. An event can trigger Mate to run. It can be used not only as a virtual machine platform for application development, but also as a tool to manage and control the entire sensor network.
MagnetOS: is a distributed adaptive operating system designed specifically for application adaptation and energy conservation. Other operation systems do not provide a network-wide adaptation mechanism or policies for application to effectively utilize the underlying node resources. The burden of creating adaptation mechanisms (if any) is on the application itself.
This approach is usually not energy efficient. The goals of MagnetOS are to adapt to the underlying resource and its changes in a stable manner, to be efficient with respect to energy conservation, to provide general abstraction for the applications, and to be scalable for large networks.
MANTIS: is a multithread embedded operating system, which with its general single-board hardware enables flexible and fast deployment of applications. With the key goal of ease for programmers, MANTIS uses classical layered multithreaded structure and standard programming language. The layered structure contains multithreading, preemptive scheduling with time slicing, I/O synchronization via mutual exclusion, a network protocol stack, and device drivers. The current MANTIS kernel realizes these functions in less than 500 bytes of RAM. MANTIS uses standard C to implement the kernel and API. In the
current implementation of MANTIS, the RAM size allocated to each new thread is fixed.
The thread table stored in a global data structure has a capacity for of items, each of which is 10 bytes and is used to store thread-related information. The thread scheduler in MANTIS is priority based and round robin within each priority level. The scheduler is triggered only by timer interrupts from hardware to perform context switching. In MANTIS, other interrupts are handled by device drivers.
EYES OS: As indicated earlier, the operating system for WSNs should be very small in terms of memory requirement and coding, should enjoy power awareness, and should be capable of distribution and reconfiguration. EYES OS uses an event driven model and task mechanism to realize these objectives. It works in a simple sequence as follows: perform a computation, return a value, and enter the sleep mode. The task can be scheduled using a FIFO, priority, or deadline-based approach (such as EDF), and is triggered by events in a nonblocking manner. EYES OS defines an application programming interface (API) locally and for the network components. The local information component provides functions such as access to sensor node data, availability of resources and their status, and setting of parameters or variables in sensor nodes. The network component provides functions to transmit and receive data and to retrieve network information. In summary, EYES OS realizes two groups of functions: those that can be executed at boot time to upload software module, and those that can provide node localization information.
EMERALDS: is an extensible microkernel written in C++ for embedded, real-time distributed systems with embedded applications running on slow processors (15 to 25 MHz) and with limited memory (32 to 128 kB). It supports multithreaded processes and full memory protection, which are scheduled using combined earliest deadline first (EDF) and a rate-monotonic (RM) scheduler. The device drivers are implemented at the user level, whereas interrupt handling takes place at the kernel level. EMERALDS use semaphores and condition variables for synchronization with priority inheritance at the same time and provides full semaphore semantics to reduce the amount of context switching. Inter- processor communication (IPC) is realized based on message passing, mailboxes, and shared memory, optimized especially for intranode, inter task communication. EMERALDS
do not use a mailbox; it uses global variables to exchange information between tasks, to avoid message sending. EMERALDS do not consider networking issues.
PicOS: One property of OS microcontrollers with limited RAM is to try to allocate as little memory as possible to a process or thread. PicOS is written in C for a microcontroller with limited on-chip RAM (e.g., 4 kB). In PicOS, all tasks share the same global stack and act as coroutines with multiple entry points and implicit control transfer, which is different from classical multitasking approaches. In PicOS, each task is like a finite state machine (FSM) where the state transition is triggered by events.
The FSM approach is effective for reactive applications whose primary role is to respond to events rather than to process data or crunch numbers. The CPU cycle is multiplexed among multiple tasks, but the tasks can be preempted only at the FSM state boundary. It has few resource requirements and supports multitasking, a flat structure for processes but perhaps not good for real-time applications.
2.5. Applications of wireless sensor networks
Wireless sensor networks have gained considerable popularity due to their flexibility in solving problems in different application domains and have the potential to change our lives in many ways. These ever-increasing applications of WSNs can be mainly categorized into five categories, military, environment, health, home and industrial. It is possible to expand this classification with more categories such as space exploration, chemical processing and disaster relief (Akyildiz I. F., 2002). For our case, we are going to discuss about the five main categories.
Environmental Applications: Some environmental applications of sensor networks include monitoring and tracking the movements of birds, small animals, and insects;
monitoring environmental conditions that affect crops and livestock; irrigation; macro instruments for large-scale earth monitoring and planetary exploration; chemical/biological detection; precision agriculture; biological, earth, and environmental monitoring in marine, soil, and atmospheric contexts; forest fire detection; meteorological or geophysical research;
flood detection; bio-complexity mapping of the environment; and pollution study (Akyildiz I. F., 2010).
Military Applications: Wireless sensor networks can be an integral part of military command, control, communications, computing, intelligence, surveillance, investigation and targeting systems. The fast deployment, self-organization and fault tolerance characteristics of sensor networks make them a very promising sensing technique for military targeting systems. Since sensor networks are based on the dense deployment of disposable and low-cost sensor nodes, demolition of some nodes by hostile activities does not affect a military operation as much as the destruction of a traditional sensor, which makes sensor networks a better approach for battlefields. Some of the military applications of sensor networks are monitoring friendly forces, equipment and ammunition; battlefield surveillance; reconnaissance of opposing forces and terrain; targeting; battle damage assessment; and nuclear, biological and chemical (NBC) attack detection and reconnaissance (Akyildiz I. F., 2002).
Health Applications: Some of the health applications of sensor networks are providing interfaces for the disabled; integrated patient monitoring; diagnostics; drug administration in hospitals; monitoring the movements and internal processes of insects or other small animals; telemonitoring of human physiological data; and tracking and monitoring doctors and patients inside a hospital (Akyildiz I. F., 2002).
Home Applications: As technology advances, smart sensor nodes and actuators can be embedded in appliances such as vacuum cleaners, microwave ovens, refrigerators, and DVD players as well as water monitoring systems. These sensor nodes that are embedded in domestic devices can interact with each other and with the external network via the Internet or satellite. They allow end-users to more easily manage home devices both locally and remotely. Accordingly, WSNs enable the interconnection of several devices at residential places with suitable control of various applications at home.
Industrial Applications: Networks of wired sensors have long been used in industrial arenas such as industrial sensing and control applications, building automation, and access
applicability of these systems. Therefore, WSNs became the promising alternative solution for these systems as they offer significant cost savings and enable new functionalities. Some of the commercial applications are monitoring material exhaustion, building virtual keyboards, managing inventory, monitoring product quality, creating smart office spaces, environmental control of office buildings, robot control and guidance in automatic manufacturing environments (Matin, 2012) , (Dargie, 2010) and so many others.
2.6. Issues and challenges in wireless sensor network design
Wireless sensor networks differentiate themselves from traditional networks due to their application-specific and energy constraints. Their structure and features depend on their electronic, mechanical and communication limitations but also on application-specific requirements. One of the major and probably most significant challenge in the design of WSNs is their application-specific characteristic. A sensor network is set up to fulfil a specific task and the data collected from the network may be of different types due to various application scenarios. Respectively, different types of applications have their own specific requirements. These requirements are turned into specific design properties of a WSN. In other words, a WSN's architecture directly depends on the assigned application scenarios.
For the acceptable performance of a given task, the optimal WSN infrastructure should be selected out of the hundreds of network solutions before the practical deployment. Similarly, an issue that has been frequently emphasized in the research literature is the fact that energy resources are significantly limited (Akyildiz I. F., 2002) and recharging or replacing the battery of sensor nodes may be difficult or impossible. Hence, power efficiency often turns out to be the major performance metric, directly influencing the network lifetime. Power consumption according to the functioning of a sensor node can be divided into three domains: sensing, communication, and data processing. There has been research interest in hardware improvements to optimize the energy consumed by sensing and data processing.
Numerous studies on energy efficiency of WSNs have been discussed and several protocols and algorithms that lead to optimal connectivity topologies for power conservation of wireless sensor networks have been proposed in (Ghiasi, 2002) and (Zhou, 2003).
According to (Sukhwinder, 2013) Major issues that affect the design and performance of a wireless sensor network are energy, self-management, hardware and software issues, operating system, MAC layer issues, quality of service, security, architecture, data collection and transmission, deployment, limited memory and storage space, physical attacks and security, fault tolerance, heterogeneity, real time operation, synchronization and localization. Therefore, solutions for those problem domain issues are needed to solve the problems and optimize the resource usage through different algorithms.
2.7. Evolutionary algorithms
Since the middle of the 20th century and the emergence of computers, the idea of mimicking some of the nature’s mechanisms to create artificial intelligence (AI) has attracted many researchers to computer science. Indeed, many fields of research have emerged following these principles. Among them evolutionary algorithms (EAs) propose to use nature-inspired evolving strategies for solving complex problems. More precisely, EAs are based on the Darwinian theory of evolution (Khalil, 2011), which describes the capacity of biological systems to modify their genetic material to adapt to a changing environment and ensure their survival.
2.7.1. Basic components of evolutionary algorithm
Different components are specific to evolutionary algorithms(EAs) and shared between all the existing variants. These include solution representation, selection strategy, and variation operators. Such components must be carefully defined to efficiently apply EAs. The following subsections review some detailed information on these components.
Representation: One of the first and fundamental steps when using an evolutionary algorithm is to define the encoding of solutions to the problem. This is also linked to the fact that genetic operators are dependent on the chosen encoding. In biological terms, the encoding is defined as the genotype, while the phenotype defines the solution itself. Many different representations have been proposed in the literatures, from simple linear ones as binary encoding or permutation to complex nonlinear ones like trees.
Fitness Function: In evolutionary computation, the fitness function f(x) represents the objective of the problem. It is used to assign a value to an individual, that is, it measures the quality of the genotype in the phenotype space. It permits sorting the solutions in the population based on their performance, which is later used in the selection and replacement processes. The fitness function is problem dependent, and its definition is crucial as it is responsible for guiding the search to good solutions.
Selection: The selection operator is the first genetic operator involved in the EA process. It stochastically chooses individuals to be included in the mating pool. As already mentioned, it is a fitness-dependent strategy that drives the search to better solutions. Many different selection operators exist. We here list a few prominent ones:
✓ Roulette wheel selection: Simplest selection scheme, also called stochastic sampling with replacement. The chance of a chromosome3 to get selected is proportional to its fitness, that is, it is equal to its fitness divided by the total population fitness. One disadvantage is that fittest individuals will be assigned a high probability and thus might lead to premature convergence of the algorithm.
✓ Tournament selection: The tournament operator selects m individuals at random and inserts the best individual among the m in the mating pool. The value of m is usually comprised between 1 and 5, and the process has to be repeated N times for a population of size N. A variant called soft tournament exists in which the winner is accepted with some predefined probability.
✓ Rank selection: The rank selection operator assigns a rank to each individual in the population depending on its fitness, ranging from 1 for the worst individual to N−1 for the best individual. The selection probability is then linearly assigned based on the individuals’ rank value.
Crossover: The crossover operation, also named recombination, produces an offspring by mixing the genetic material of two or more parent individuals with some probability pc
3 A chromosome is one such solution to the given problem.
(typically between 0.6 and 1). The objective is to combine the genes of both parents in order to produce better offspring. The most known crossover types are:
✓ One-point crossover: One-point crossover is also referred to as single point crossover. One position is selected uniformly at random within the chromosome length, and the genes of the two parents are exchanged at this point to create two offspring.
Figure 2-4 One-point crossover
✓ Two-point crossover: Two-point crossover is one instantiation of n-point crossover where n = 2. Two positions are selected uniformly at random to exchange the genetic material of the parents and produce two offspring.
Figure 2-5 Two-point crossover
✓ Uniform crossover: Uniform crossover (Syswerda, 1989) does not assume any specific crossing point(s), but instead each gene of the offspring is randomly chosen from one of the parents. Both parents thus equally contribute to the offspring
generation.
Figure 2-6 Uniform crossover
Mutation: The mutation operator is used to introduce some small changes in the individual to prevent converging prematurely to local optima. It typically modifies each gene of the individual with some constant low probability pm, usually between 0.001 and 0.01 (but it can also be dependent on the solution vector size, for example, pm=1/chromosome length).
mutation can be defined as a change of a 1 into a 0 and vice versa, which is known as bit- flip mutation.
Elitism: Elitism consists in copying the current best individual (or set of best individuals) directly in the offspring population. It permits ensuring that the best fitness (or average, depending on the level of elitism) can only improve from one generation to another.
However, it can also induce some premature convergence if diversity is lost too fast.
Stopping Criteria: Since EAs are iterative algorithms, the typical stopping criterion, also referred to as termination condition, is a fixed number of iterations, that is, number of generations or fitness evaluations. Another criterion can be to stop the EA after some predefined amount of time. Finally, some more complex criteria might also be used, such as stopping if the population diversity is below some threshold or if there is no improvement of the best individual for some predefined number of iterations.
2.8. Optimization in wireless sensor network
Optimization plays a key role in wireless sensor networks. The optimization in WSNs can be broadly categorized into two those are single and multi-objective optimization problem.
In single objective optimization, the main aim of the optimizer is to minimize or maximize
one objective under various constraints. Whereas, in multi-objective optimization multiple objectives are simultaneously optimized. This condition makes the multi-objective optimization (MOO) a challenging task because the multiple objectives may or may not be conflicting, but in most of the cases, the objectives conflict with each other Therefore, it is very less probable to find a global optimal solution, contrary to the problems of the single objective optimization (Iqbal, 2015).
Different approaches exist in optimization. As presented in Figure 2.7 those methods can be classified into two main classes: exact and approximate. Exact methods ensure finding the optimal solution to the problem, but they are nonpolynomial (NP) time algorithms for NP-complete problems.
Figure 2-7 Optimization methods taxonomy (adapted from (Talbi, 2009)
Evolutionary Algorithms are iterative heuristics that evolve a set of candidate solutions, represented as individuals that are grouped in a population.