genetic algorithm-based sensor deployment with area priority

20
Genetic Algorithm based Sensor Deployment with Area Priority Tahir Emre Kalaycı 1 , Aybars Uğur 2 1 Celal Bayar University, Dept. of Computer Engineering, Manisa, Türkiye 2 Ege University, Dept. of Computer Engineering, Izmir, Türkiye Abstract. We are introducing a new design goal called area priority for finding optimal sensor node distribution. Environment that wireless sensor network (WSN) will be placed is divided into parts and priorities are attached to these parts. Priorities make the deployment problem adaptable to non-homogeneous environments such as forests having regions that have different importance levels. Various tree/animal types and densities, residential in the forest can be modeled by the area priority concept that we proposed. We also developed a genetic algorithm based method to optimize the total importance in a fully connected WSN. Experimental results obtained for different priorities are presented and discussed. 1 Introduction With the proliferation in Micro-Electro-Mechanical Systems (MEMS) technology which has facilitated the development of smart sensors, wireless sensor networks (WSNs) have gained worldwide attention in recent years. Sensors that comprise these networks are small, with limited processing and computing resources, and they are inexpensive compared to traditional sensors. Sensor nodes can sense, measure, and gather information from the environment and, based on some local 1 Tahir Emre Kalayci is supported by the Ege University through DPT ÖYP (“Öğretim Üyesi Yetiştirme Programı”), ÖYP thesis project 05-DPT-003/05 and TÜBİTAK 2211 Yurt İçi Doktora scholarship. 1

Upload: ege

Post on 11-Mar-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

Genetic Algorithm based Sensor Deployment with Area

Priority

Tahir Emre Kalaycı1, Aybars Uğur2

1Celal Bayar University, Dept. of Computer Engineering, Manisa, Türkiye

2Ege University, Dept. of Computer Engineering, Izmir, Türkiye

Abstract. We are introducing a new design goal called area priority for finding optimal

sensor node distribution. Environment that wireless sensor network (WSN) will be placed is

divided into parts and priorities are attached to these parts. Priorities make the deployment

problem adaptable to non-homogeneous environments such as forests having regions that

have different importance levels. Various tree/animal types and densities, residential in the

forest can be modeled by the area priority concept that we proposed. We also developed a

genetic algorithm based method to optimize the total importance in a fully connected WSN.

Experimental results obtained for different priorities are presented and discussed.

1 Introduction

With the proliferation in Micro-Electro-Mechanical Systems (MEMS) technology which has

facilitated the development of smart sensors, wireless sensor networks (WSNs) have gained

worldwide attention in recent years. Sensors that comprise these networks are small, with limited

processing and computing resources, and they are inexpensive compared to traditional sensors. Sensor

nodes can sense, measure, and gather information from the environment and, based on some local

1 Tahir Emre Kalayci is supported by the Ege University through DPT ÖYP (“Öğretim Üyesi Yetiştirme Programı”), ÖYP thesis project 05-DPT-003/05 and TÜBİTAK 2211 Yurt İçi Doktora scholarship.

1

decision processes, they can transmit the sensed data to the user (Yick, 2008). A WSN typically has

little or no infrastructure. It consists of a number of sensor nodes (few tens to thousands) working

together to monitor a region to obtain data about the environment. Careful and accurate node

positioning can be a very effective optimization means for achieving application requirements and

design goals (Younis, 2008). WSNs have great potential for many applications such as military target

tracking and surveillance, natural disaster relief, biomedical health monitoring, etc.

However, wireless sensors have several constraints such as restricted sensing and communication

range as well as limited battery capacity (Ghosh, 2008). These limitations bring issues such as

coverage, connectivity, network lifetime, scheduling and data aggregation (Nor, 2009). Coverage

characterizes the monitoring quality provided by a sensor network on a designated region and reflects

how well a sensor network is monitored or tracked by sensors (Huang, 2003). Some applications may

require that some areas in the network are more important than other areas and need to be covered by

more sensors, these important regions are called hot spots (Huang, 2003). Consequently, coverage can

be considered a measure of quality of the service of a sensor network (Yildirim, 2008). The coverage

requirement on hot spot regions also depends on the number of faults that must be tolerated.

Providing connectivity between sensor nodes is another important issue in wireless sensor networks.

Without connectivity, nodes may not be able to coordinate effectively or transmit data back to base

stations. Thus, combination of connectivity and coverage is an important concept in sensor networks

(Wang, 2003).

Genetic algorithms (GA), the most widely used form of evolutionary computation, has proven to be a

very successful meta-heuristic technique for many NP-complete optimization problems (Ugur, 2008).

GA are stochastic search methods that have been successfully applied in many search, timetabling,

scheduling, and machine learning problems and have been especially used in engineering, biology,

and medicine (Ugur, 2008). GA have also been used in a variety of hybrid intelligent systems (such as

evolutionary neural networks, fuzzy evolutionary systems, or genetic-neural architectures) to solve

2

many other real world applications (Ugur, 2008).

There are no examples of area priority based sensor deployment optimization research in the

literature. In this study, we are using GA with novel fitness function to obtain a good sensor

deployment based on priority of zones with preserving connectivity and covering some important

regions with at least k sensors. Area priority concept in sensor network deployment used to classify

the parts of the environment to be monitored. Environment that wireless sensor network placed may

not be homogeneous. We split environment into small fragments called cells, and we assign a value to

the every cell that indicates priority (importance) of the zone specified by that cell. For example, in a

forest there are many areas with different priorities. We can distinguish these areas based on tree

density and types, residential, animal types and density, etc. And we can give different priority values

based on these parameters. We can use “area priority” notion not only in forests, also transporter

parks to distinguish most valuable parts of it, national parks, residential areas, fish farms, historical

buildings, etc.

2 Related Work

Zorbas et al. (Zorbas, 2010) propose various coverage algorithms to achieve power efficient

monitoring of targets by sensor networks. They present a novel and efficient coverage algorithm that

can produce both disjoint cover sets as well as non-disjoint cover sets. Through simulations, they

show that the proposed algorithm outperforms similar heuristic algorithms found in the literature.

Nor et al. (Nor, 2009) aims to review the common strategies used in solving coverage problem in

WSN. The strategies studied are used during deployment phase where the coverage is calculated

based on the placement of the sensors on the region of interest (ROI). The strategies reviewed are

categorized into three groups based on the approaches used, namely; force based, grid based or

computational geometry based approach.

3

Yildirim et al. (Yildirim, 2008) are proposed a GA based solution to find an optimal sensor node

distribution to use as an initial deployment strategy that maximizes the coverage area of wireless

sensor network while preserving connectivity between nodes provided that all given hot spot regions

are covered by at least k sensors.

Wu et al. (Wu, 2007) propose a centralized and deterministic sensor deployment method, DT-Score

(Delaunay Triangulation-Score), aims to maximize the coverage of a given sensing area with

obstacles. According to the simulation results, DT-Score can reach higher coverage than grid-based

and random deployment methods with the increasing of deployable sensors.

Chen et al. (Chen, 2007) survey five recent research approaches on coverage of wireless sensor

networks and present in some detail the algorithms, assumptions, and results. A comprehensive

comparison among these approaches is given from the perspective of design objectives, assumptions,

algorithm attributes, and related results.

Xu et al. (Xu, 2006) identify two deployment errors, namely, misalignment and random errors. They

derive the minimum number of sensors required by a robust grid-based sensor deployment assuming

that the errors are bounded.

Bai et al. (Bai, 2006) propose an optimal deployment pattern to achieve both full coverage and 2-

connectivity, and prove its optimality for all values of r c÷r s (rc is the communication radius, rs is

the sensing radius). They also prove the optimality of a previously proposed deployment pattern for

achieving both full coverage and 1- connectivity, when r c÷r s < √3 .

Shen et al. (Shen, 2006) describe a basic coverage issue, and propose a scheme named Grid Scan that

is applied to calculate the basic coverage rate with arbitrary sensing radius of each node. The results

of simulation experiments support that Grid Scan based re-deployment is more effective to cover

monitored area than random spread.

4

Megerian et al. (Megerian, 2005) briefly discuss the definition of the coverage problem from several

points of view and formally define the worst and best-case coverage in a sensor network. They

establish the main highlight of the paper, an optimal polynomial time worst and average case

algorithm for coverage calculation for homogeneous isotropic sensors by combining computational

geometry and graph theoretic techniques, specifically the Voronoi diagram and graph search

algorithms.

For a comprehensive list of node placement strategies and techniques, Younis and Akkaya’s survey

(Younis, 2008), which report current state of the research, can be checked.

3 Problem Definition

Before giving the definition, we should introduce the parameters required for the problem. We are

working on a 2D area that is defined by A(width, height). Together with the dimensions of the area we

have sensor count N, sensing radius rs, communication radius - which is calculated using rc = 2 * rs

formula -, h hot spot areas and a k value for minimal sensor count needed for hot spot areas. In

addition to these parameters we need cell size cs, which will be used to divide area to cell fragments,

and priority value for every cell cpi = (rs, re, cs, ce) (s starting cell index, e ending cell index). These

cell parameters can also be entered using graphical user interface (GUI).

The problem we are struggling based on some assumptions listed in Lemma 1 and tries to fulfill

objectives presented in Proposition 2. And it is formalized as Problem 3.

Lemma 1. Area is obstacle free, the sensing and communication ranges of all sensors are identical,

sensors and hot spot areas are unit disk shaped and they all have identical radius.

Proposition 2. All sensors should communicate with each other (connectivity), h hot spot areas must

be covered by at least k sensors (k-covered), and total covered area priority of sensor network should

5

be maximized.

Problem 3. Using the given parameters A, N, rs, k, cs, cpi; try to increase covered area priority of the

sensor network satisfying that all hot spot areas are k-covered and all sensors are connected.

4 Solving Problem Using Genetic Algorithm

We are using a traditional GA with optimizations to solve the problems. Optimizations are based on

the problem and area information and serve for faster improvement of solutions. Developed GA uses

parameters that are required for every traditional GA: Pc, Pm, T, G2.

After loading the problem from a XML file and entering the parameters, before the GA loop, cells and

cell groups of the area are calculated based on the cell size, area dimensions and sensor radius. Cell

groups are an important part of our method which are used to improve sensor locations in the run

time. They are calculated using cell edge size and sensor radius.

After calculation cell groups, a random population is initialized. An important optimization when

initializing the population is connecting unconnected sensor blocks to achieve connectivity before GA

run. With this optimization, GA operates on already connected sensor network and this means that it

operates on feasible solutions in terms of the connectivity. Connecting unconnected sensor blocks is

one of the novel contributions of this study.

Finally, after population initialization, GA loop starts. It continues to improve population until

number of the iterations exceeds the predetermined termination criteria, generation count parameter

(G). At every iteration a new population are generated from the individuals (solutions, chromosomes,

individuals are used interchangeably in this paper) of the old population. Selected individuals are

crossed over and mutated based on GA parameters using GA operators. Outline of the GA follows:

2 crossover probability, mutation probability, population size, generation count

6

• Start: Initialize a random population

• Loop: Repeat until generation count is reached (G)

• Crossover selected results from population (T * Pc chromosomes are crossed over)

• Mutate selected results from population (T * Pm chromosomes are mutated)

• Select the best result as elite from generated population for this iteration

• End: Return elite (optimal) solution

At the end of the run, optimal solution of GA is returned to the invoker of the algorithm.

4.1 Chromosome Encoding

Choosing or designing suitable chromosomes for the problem are crucial for the success of the GA.

Our problem deals with placement of sensors, so we are using 2D coordinate representation for the

sensors that resides on a 2D plane ( A(width,height)) in the form:

S ( x,y ) : {0≤ x≤width,0≤ y≤height } (1)

Chromosomes has N genes and every gene (g) represents coordinates for every sensor. In the GA,

genes can be produced in four different ways: randomly, by crossover, by mutation or by

optimization. Population consist of T chromosomes. Formulations of population and chromosomes

(C) are listed in equations two and three respectively.

C i={ g ij :0<j<N } :0<i<T (2)

g= { x,y :0≤ x≤width, 0≤ y≤height } (3)

4.2 Genetic Algorithm Operators

Operators are the important components of the GA. As is in chromosome encoding, choosing right

operators for the problem improves the GA. Even though there are many generic operators that don't

depend on the problem, some problems require problem specific operators. On the other hand,

operators depend on the chromosome encoding. Still, GA developers can use already developed

operators that are suitable to the chromosome encoding and problem instead of developing new ones.

There are three types of operators in GA: crossover to generate offspring from parents, mutation for

7

small changes in the individual to maintain genetic diversity and selection for selecting suitable

individuals for crossover.

Crossover generates new offspring from the selected parents of the current population. We

implemented three different crossover schemes: one point crossover (OPC), two point crossover

(TPC) and uniform crossover (UC).

We use three different selection mechanisms to select individuals to crossover. Normal selection

mechanism selects individuals randomly. In rank selection mechanism every individual has the same

weight to be selected for crossover. Individual are selected if a random generated double is lower than

the crossover probability (Pc), and crossed over with the next individual in the following rank.

Geometric selection selects one low fittest chromosome and one high fittest chromosome for

crossover.

In OPC a random cut point is selected on parents and genes beyond this cut point is swapped between

parent chromosomes. In TPC two random cut point is selected. UC takes genes from first parent and

second parent following a sequence (sequence is 010101 - 0 for first parent and 1 for second parent).

The procured chromosomes after crossover are the children and replaced with the parents in the

current population to form a new and hopefully better population.

In GA loop, after finishing crossover operation, genes are randomly mutated based on mutation

probability (Pm). We developed three mutation schemes: random move mutation (RMM), coordinate

change mutation (CCM) and random coordinate mutation (RCM). In RMM, a randomly selected gene

moved randomly (upper limit of movement is sensor radius). CCM swaps x coordinate with y

coordinate of a randomly selected gene. RCM replaces a random gene with random generated

coordinates. In mutation the new chromosome changes are applied if only the result is better.

We use a simple elitism mechanism to save the best solution at the end of every iteration to use it in

the next iteration and to keep the best solution ever achieved.

8

4.3 Fitness Function

Fitness function is used to figure out the optimality of a solution in GA. Every chromosome is

compared against other chromosomes using the fitness value that is the result of the function. We

developed a novel fitness function to compare chromosomes. Developed function separates

chromosomes into three classes:

1. Connected, k-covered network - The optimal solutions that we seek. Fitness of this class is

equal to the total importance of the covered area by the network that is defined by the

chromosome. Total importance of chromosome is calculated by summing up the priority of

the cells that are covered by sensors defined by chromosome:

F=I t=∑s= 0

N

I s (4)

Even a cell is covered by more than one sensor we are not adding priority of this cell more

than one time to the fitness value:

I s=∑i=0

c

Pc ,Pc={ P i if cell priority is not added0 if cell priority is already added } (5)

Where Pi is priority of a cell covered by sensor s and c is the total count of covered cells by

sensor s.

2. Not connected, k-covered network - Non optimal solutions, but still it is close to the

solutions we seek. Fitness of this class is calculated by dividing total importance (It) by

unconnected component count (Cu).

F=I t

Cu (6)

3. Not connected, non k-covered network - Worst solutions. Fitness of non k-covered

solutions is equal to zero (0).

Fitness calculation algorithm for these three different classes is listed in algorithm 1.

9

calculateFitness(Chromosome chr) calculateFitness(Chromosome chr)fitness = 0Reset Cell and Block Countsfor i =0 to GeneCount gene = chr.Gene(i) ti = calculateSensorImportance(gene) if (ti == 0)

ci = CellAnalysisTool.getNextBest()chr.setGene(i, ci.coords.clone())importance = ci.totalImportance

save worst sensor fitness += timove sensor with least importance to a high priority locationcc = countConnectedComponents(chr.getGenes())if cc > 1 fitness = fitness / ccif isKCovered(chr.Genes) fitness = 0return fitness

calculateSensorImportance(Sensor s)totalImportance = 0for i=0 to cellCount c = cells[i] if contains(s,c) if c.howManyTimesCovered == 0 totalImportance += c.importance c.howManyTimesCovered +=1

CellAnalysisTool.removeCell(c)return totalImportance

Algorithm 1: Fitness algorithm

When calculating total importance of a sensor, we are using euclidean distance calculation to find the

cells that are covered by this sensor. And importance of these covered cells are added only once to the

total importance of this sensor to get a better divergence. We are also saving the count of the sensors

that covers the cell to use it when moving sensors with zero importance.

10

Figure 1: Unconnected sensor blocks shown in rectangles (there are fifteen blocks)

Function countConnectedComponents is a novel function that we developed in (Yildirim, 2008). This

function uses a neighborhood approach which employs a depth-first search (DFS) to calculate

unconnected sensor block count. The method can be inspected at Algorithm 2. An example of

unconnected components in a sensor network shown by surrounding blue rectangles in Fig. 1.

countConnectedComponents(sensors)createNeighbourhood(sensors)groupCount = 0for i=0 to sensorCount sensor = sensors[i] if sensor.status == WHITE dfs(sensor,++groupCount)componentWithMostSensors = find component with most sensorsbestSensorId= find first sensor of componentWithMostSensorsreturn groupCount;

Algorithm 2: Calculating unconnected sensor blocks

11

Checking if every hot spot is covered by at least k sensors is carried out by isKCovered function.

Algorithm of this function has a O(N * H) (H: hot spot count) complexity because it checks every hot

spot if it is covered by a sensor. Coverage check is using a simple euclidean distance calculation if the

sensor contains the center of the hot spot. All these calculations, algorithms, and functions form our

novel fitness approach.

4.4 Optimizations

Analyzing problem information and using the results of the analysis can help GA to converge

solutions faster. Therefore, we are analyzing problem information before starting GA loop and using

the results to optimize solutions. Developed two optimizations are explained in the following

subsections.

4.4.1 Cell Analysis and relocating zero importance sensors

Cell analysis is an important approach to know more about cells and locations that require more

attention. Results of this analysis are used to relocate sensors with zero importance (or the worst

importance) to a better (high priority) location.

First of all, every cell are visited and cells inside a square with edge size equals to sensor diameter are

grouped together to form a cell block. During grouping total importance of every cell group is

calculated by summing importance of the cells that it contains.

After calculation of cell groups and their total importance, groups are sorted based on their total

importance (in priority queue techniques sorting has been accomplished internally). Later this sorted

list is used to relocate zero or lowest importance sensors to a center of one of the groups. For this

optimization three different techniques has been developed. First technique (caV) uses vector to keep

12

generated groups and next coordinate taken from this vector in sequence (using a position index). If

index reaches to the end of the vector, it is reset to zero (head of the vector). Also if the center cell of

the received group is covered already, next group coordinate is asked from the vector.

Second technique (caPQ) uses a priority queue. The only difference with the first technique is that it

uses a priority queue and when queue is emptied, cell analysis is invoked again.

Third technique (caPQU) also uses a priority queue to keep analysis results. But this technique

updates priority queue when cell coverage condition changes. When a cell is covered, it is removed

from all of the groups contains it. So this removal changes the priority queue (order of the groups). As

second technique when queue is emptied, cell analysis is invoked again.

Algorithm for generating blocks (and their total importance) and caPQU technique can be investigated

in Algorithm 3.

CellInfo findCellBlock(hbs, centerCell) {cellBlockRow = centerCell.rowcellBlockColumn = centerCell.columnlCBR = cellBlockRow - hbsrCBR = cellBlockRow + hbslCBC = cellBlockColumn - hbsrCBC = cellBlockColumn + hbscellsContained = new Vector<Cell>()totalImportance = centerCell.importancecellsContained.add(centerCell)// add neighbour importanceFOR (r = lCBR->rCBR) {

FOR (c = lCBC->rCBC) { IF (r == cellBlockRow && c == cellBlockColumn)

continue cellFound = getCell(r, c) IF (cellFound != null) { totalImportance += cellFound.importance cellsContained.add(cellFound) }}

}return CellInfo(new int[] { centerCell.x, centerCell.y },

totalImportance, centerCell, cellsContained);}

calculateBestLocations() {blockSize = SensorDiameter / cellSize

13

halfBlockSize = blockSize / 2

blockNumber = 0FOR (Cell centerCell : cells) { CellInfo ci = findCellBlock(halfBlockSize, centerCell) IF (ci.totalImportance > 0) { addCellInfo(ci) } blockNumber++}//caV techniques requires sortsort(cellInfos)

}

//caPQU methodsgetNextBest() {//this method returns next group from priority queue

cellInfo = cellInfos.poll();IF (cellInfo == null) {

calculateBestLocations()cellInfo = cellInfos.poll()

}return cellInfo

}

removeCell(Cell c) {//this method required to update priority queue

FOR (CellInfo ci : cellInfos) {IF (ci.cells.contains(ci)) {

ci.cells.remove(ci)ci.totalImportance -= c.getImportance()

}}

}

Algorithm 3: Finding cell groups using cell analysis, caPQU methods

4.4.2 Connecting unconnected sensor groups

Another unique contribution of this study is connecting unconnected sensor components. This

contribution is implemented as a O(N) algorithm. Algorithm first calculates sensor component count

using technique described in section 4.3 (see algorithm 3), then moves sensors that are not in the same

group to the same coordinate of the best sensor of the group that contains most sensors (we move

sensors not to the exactly same coordinates of this best sensor, we are moving them to a tangential

coordinates) (see algorithm 4).

14

connectDisjointComponents(sensors,bestSensor) componentCount = countUnconnectedComponents(sensors)if componentCount > 1 for i=0 to sensorCount sensor = sensors[i] if sensor.groupNumber != componentWithMostSensors sensor.coords = coords[bestSensorId]+diameter

Algorithm 4: Pseudo code for connecting unconnected sensor groups

5 Experimental Results

We have performed different experiments to analyze the developed technique. In these experiments

we used default parameters as follows: 100 for population size and generation limit, 0.9 for crossover

probability, 0.2 for mutation probability, one point crossover, random coordinate mutation and rank

selection. We run the algorithm for 50 times.

Our first experiment examines different selection, mutation and crossover types. Results can be

examined in table 1. This experiment shows that most reasonable choice is normal selection with two

point crossover and random coordinates mutation.

Table 1: Fitness results for different selection, mutation and crossover types

Normal Selection Rank selection Geometric selection

RCM CCM RMM RCM CCM RMM RCM CCM RMM

OPC 1911 1758 1717 945 288 369 1036 263 363

TPC 2011 1790 1855 1043 252 401 1020 286 354

UC 1343 392 582 1044 269 385 1011 269 383

15

Figure 2: Fitness results for different population size and generation limit values

Second experiment analyzes the effect of population size and generation limit. As expected,

increasing population size or generation limit increases the algorithm run time proportionally.

Choosing the best population size and generation limit relies on the time that we have. For example,

for different values of generation limit, running times of algorithm are approximately 1.1s (second)

for 10, 4.7s for 50, 8.9s for 100 and 17.4s for 200 (when population size equals to 100). And for

different population size values running times are 0.9s for 10, 4.3s for 50, 8.9s for 100 and 18.9s for

200 (generation limit is 100). Fitness value change for different population size and generation limit

can be examined at figure 2.

Third experiment has been done to understand the effect of the cell size and sensor diameter. When

we analyze the results of the experiment we can conclude that, values bigger than the sensor diameter

produce bad results. Fitness and time results for different cell sizes and sensor diameter can be

examined in table 2. As sensor radius gets bigger, covered importance is increases.

Table 2: Cell size and sensor radius effect on importance ratio (covered importance / total problem importance) and time

Sensor Radius Cell Size

10 15 25 35 50

16

25 %77.49 (160.67s) %77.92 (74.05s) %79.68 (27s) %78.37 (14.27s) %82.22 (7.38s)

50 %77.08 (161.13s) %77.67 (74.16s) %79.23 (26.71s) %78.72 (14.30s) %82.59 (7.38s)

75 %76.37 (161.04s) %78.38 (73.96s) %79.08 (27.07s) %78.37 (14.30s) %81.93 (7.37s)

100 %76.67 (160.79s) %77.76 (74.02s) %79.46 (27.38s) %79.03 (14.28s) %81.85 (7.38s)

Fourth experiment examines the effect of the sensor count. Increasing sensor count, as might have

been expected, causes the increase in running time of the technique. When we reach to enough sensor

to cover all the area, fitness increase slows down.

Figure 3: Sensor count effect

Results of fourth experiment can be investigated in figure 3.

Fifth experiment has been done to observe success of different cell analysis methods that we

developed. Results can be investigated in table 3. Albeit using caPQU requires more time, it produces

significantly better results than other two methods.

Table 3: Fitness and time results for different cell analysis methods

Cell Analysis Method Fitness (ratio) Time (ms)

caV 2422 (%61.43) 9474

caPQ 2491 (%63.18) 9456

caPQU 3054 (%77.45) 9935

17

a) after loading (97 - %2.46) b) 0. generation (2949 - %74.79)

c) 51. generation (3038 - %77.05) d) termination (3043 - %77.17)

Figure 4: Change of sensors deployment during algorithm run

Last experiment observes change of fitness before, during and after algorithm run. Results of this

experiment can be investigated in figure 4. As seen in the figure, there is a considerable change in the

placement of the sensors after running algorithm. Result is much better than the loaded problem

(fitness of the result - 3043 - is equal to approximately 31 times of the loaded problem fitness - 97 -).

6 Conclusion

The main contribution of this paper is to be the first study in optimizing coverage in sensor networks

considering area priority. The GA we proposed for solving coverage problem defined in this study,

stands out with its novel fitness function that is fast calculable and based on area priority.

18

Additionally the proposed optimizations are other novel approaches that we introduced in this study

which helps for a faster convergence of the solutions.

Our solution can be used in many different application areas which contain different zones with

different degree of traceability. One of the examples, which also is used in our experiments, is the

monitoring forests against fires. Preserving forests is an important task that requires many resources

and attention. Using wireless sensor networks can ease and help this task. But deployment of a WSN

to a forest can be compelling work, analysis before deployment will help to decrease this challenging

task. Our solution will help to address this difficult task and be useful to find a deployment scheme

based on zone priorities.

The solution proposed can also be extended with different ideas and criteria. Even though proposed

solution is an example of a solution to a problem with multiple objectives, it can be improved using

multi-objective techniques.

References

M. Younis and K. Akkaya. Strategies and techniques for node placement in wireless sensor networks: A survey.

Ad Hoc Netw., 6(4):621 — 655, 2008.

Nor Azlina Ab. Aziz, Kamarulzaman Ab. Aziz, and Wan Zakiah Wan Ismail. Coverage strategies for wireless

sensor networks. WASET 50, 2009.

X. Bai, S. Kumar, D. Xuan, Z. Yun, and T. H. Lai. Deploying wireless sensors to achieve both coverage and

connectivity. MobiHoc'06, 2006.

J. Chen and X. Koutsoukos. Survey on coverage problems in wireless ad hoc sensor networks. IEEE

SouthEastCon 2007, 2007.

A. Ghosh and S. K. Das. Coverage and connectivity issues in wireless sensor networks: A survey. Pervasive

19

and Mobile Computing, 4(3):303 — 334, 2008.

C.F. Huang and Y.C. Tseng. The coverage problem in a wireless sensor network. WSNA’03, pp. 115-121, 2003.

S. Megerian, F. Koushanfar, M. Potkonjak, and M.B. Srivastava. Worst and best-case coverage in sensor

networks. IEEE T. Mobile Comput., 4(1):84 — 92, 2005.

X. Shen, J. Chen, and Y. Sun. Grid scan: A simple and effective approach for coverage issue in wireless sensor

networks. IEEE ICC’06 , v. 8, pp 3480 —3484, 2006.

A. Ugur. Path planning on a cuboid using genetic algorithms. Inform. Sciences, 178 (16) :3275 — 3287, 2008.

K. Xu, G. Takahara, and H. Hassanein. On the robustness of grid-based deployment in wireless sensor

networks. IWCMC'06, pp 1183—1188, 2006.

X. Wang, G. Xing, Y. Zhang, C. Lu, R. Pless, and C. Gill. Integrated coverage and connectivity configuration

in wireless sensor networks. SenSys'03, 28—39, 2003.

C.H. Wu, K.C. Lee, and Y.C. Chung. A delaunay triangulation based method for wireless sensor network

deployment. Comput. Commun., 30(14-15):2744—2752, 2007.

J. Yick and B. Mukherjee and D. Ghosal, Wireless sensor network survey, Computer Networks, 52(12):2292–

2330, 2008.

K. S. Yildirim, T. E. Kalayci, and A. Ugur. Optimizing coverage in a k-covered and connected sensor network

using genetic algorithms. 9th WSEAS Int. Conf. on Evolutionary Computing, 21—26pp, 2008.

D. Zorbas, D. Glynos, P. Kotzanikolaou, and C. Douligeris. Solving coverage problems in wireless sensor

networks using cover sets. Ad Hoc Netw., 8(4):400 — 415, 2010.

20