1 Sensor Deployment –Sequential Deployment 1. Sequential Deployment Deploy one or more sensors Get...

Preview:

Citation preview

1

Sensor Deployment –Sequential Deployment

1

Sequential Deployment

Deploy one or more sensors Get Feedback from them Deploy another set And , so on

Disadvantage :

• Takes long time to deploy a large number of them

• Needs expensive tools such as helicopter with mobile base station

2

SENSOR REPLACEMENT BASED ENERGY MAPPING

3

The problem

A set of sensors S is deployed in a monitored field F(A)for a period of time T.

The field is divided into a grid of cells A. Each cell is assigned a weight where represents the

importance of the cell i. The location of each sensor is assumed known; More than one sensor could be deployed in one cell. Sensors are assumed heterogeneous in terms of their

energy and mobility.

4

Assumptions

A sensor could be in different states; it could have its sensing off or on based on

the field monitoring requirements.• Sensing off, radio off – (sleep mode)

• Sensing off, radio receiving – (Receiving mode)

• Sensing off, radio transmitting – (Routing mode)

• Sensing on, radio receiving – (Sensing and Receiving mode)

• Sensing on, radio transmitting – (Sensing and Transmitting mode)

• Sensing on, radio off - (Sensing mode)

5

The main idea Knowing the energy map Knowing the energy map

of the network :of the network :• May lead to early detection to

the uncovered areas.

• Redeploy new sensors

• Turn off some of the sensors due to their coverage redundancy

• Wake up some of the nodes when needed

• Move one or mobile nodes to cover the required uncovered spots

6

Redeployment based Energy map

Step 1: Step 1: Energy dissipation rate prediction

• Each sensor predicts its own energy rate based on its history (e.g. Markov Chain ..)

Step 2: Step 2: sensors send their initial energy and the location, predicted energy dissipation rate to the sink node through a cluster head. • Sensors update their energy dissipation rate based on a specific

threshold (if the new dissipation rate increased more than the given threshold , the node sends the new dissipation rate)

7

Redeployment based Energy map

Step 3Step 3: the sink node constructs the energy map based on the received dissipated energy rate from the sensors.

The sink may move one of the mobile sensors to the uncovered spot or wake up one of the sleeping sensors

8

9

Deployment Using Circle Packing

10

Deployment Using Circle Packing

Deployment of homogenous sensors

Full Coverage Deployment

Deployment of connected heterogeneous sensors

11

Deployment of homogenous sensors

s Sensing range Density

1 0.500000000000 0.785398163397

2 0.292893218813 0.539012084453

3 0.254333095030 0.609644808741

4 0.250000000000 0.785398163397

5 0.207106781187 0.673765105566

6 0.187680601147 0.663956909464

7 0.174457630187 0.669310826841

8 0.170540688701 0.730963825254

9 0.166666666667 0.785398163397

14 0.129331793710 0.735679255543

16 0.125000000000 0.785398163397

25 0.100000000000 0.785398163397

36 0.083333333333 0.785398163397

12

Full Coverage Deployment s Sensor’s sensing range (r) s Sensor’s sensing range (r)1 0.70710678118654752440 16 0.169427051598116023952 0.55901699437494742410 17 0.165680929570774725383 0.55901699437494742410 18 0.160639663597154535234 0.35355339059327376220 19 0.157841981746673756755 0.32616058400398728086 20 0.152246811233380310056 0.29872706223691915876 21 0.148953789551099321887 0.27429188517743176508 22 0.143693177121688000498 0.26030010588652494367 23 0.141244822387931359519 0.23063692781954790734 24 0.13830288328269767697

10 0.21823351279308384300 25 0.1335487065607704969311 0.21251601649318384587 26 0.1317648756148259646312 0.20227588920818008037 27 0.1286335345030996680713 0.19431237143171902878 28 0.1273175534656137214714 0.18551054726041864107 29 0.1255535079641135331715 0.17966175993333219846 30 0.12203686881944873607

13

Sequential Packing-based Deployment Algorithm (SPDA)

Given • Sensors Sensing Ranges

• Sensors Communication Ranges

• Bounded Monitored Field

Objective • Best Connected Deployment Scheme

• Max. Coverage.

• Min. Overlapped Areas

• Benefit from the properties learned from the optimal deployment

Sequential Packing-based Deployment Algorithm

14

Sequential Packing-based Deployment Algorithm

15

16

Potential Points

17

Correctness of the Algorithm

Optimization TechniquesOptimization Techniques

Mathematical / constraint Programming/ Integer Mathematical / constraint Programming/ Integer Programming Programming

Genetic AlgorithmGenetic Algorithm Simulated AnnealingSimulated Annealing Network AnalysisNetwork Analysis Branch & Bound Branch & Bound Tabu SearchTabu Search

Comparing IP and CP Complementary technologies

• Integer programming• Objective function: relaxations

• Constraint programming• Feasibility: domain reductions

Might need to experiment with both CP particularly useful when IP

formulation is hard or relaxation does not give much information

Genetic Algorithms

“Genetic Algorithms are good at taking large,

potentially huge search spaces and navigating

them, looking for optimal combinations of things, solutions you might not

otherwise find in a lifetime.”

- Salvatore Mangano

Computer Design, May 1995

Genetic Algorithms

Directed search algorithms based on the mechanics of biological evolution

Developed by John Holland, University of Michigan (1970’s)• To understand the adaptive processes of natural

systems

• To design artificial systems software that retains the robustness of natural systems

Conceptual AlgorithmConceptual Algorithm

Genetic Algorithms Inspired by natural evolution Population of individuals

• Individual is feasible solution to problem Each individual is characterized by a Fitness function

• Higher fitness is better solution Based on their fitness, parents are selected to reproduce

offspring for a new generation• Fitter individuals have more chance to reproduce• New generation has same size as old generation; old generation

dies Offspring has combination of properties of two parents If well designed, population will converge to optimal solution

Crossover and Mutation Crossover

• Two parents produce two offspring• There is a chance that the chromosomes of the two parents

are copied unmodified as offspring• There is a chance that the chromosomes of the two parents

are randomly recombined (crossover) to form offspring• Generally the chance of crossover is between 0.6 and 1.0

Mutation• There is a chance that a gene of a child is changed randomly• Generally the chance of mutation is low (e.g. 0.001)

Genetic AlgorithmsBEGIN Generate initial population; Compute fitness of each individual; REPEAT /* New generation /* FOR population_size Select two parents from old generation; /* biased to the fitter ones */ Recombine parents for two offspring; Compute fitness of offspring; Insert offspring in new generation END FOR UNTIL population has convergedEND

Basic Principles

Coding or Representation• String with all parameters

Fitness function• Parent selection (‘struggle for life’)

Reproduction• Crossover• Mutation

Convergence• When to stop

Coding or Representation

Representing the optimization problem in a gene and chromosome format• Ex: deploy n sensors on m areas that maximizes the coverage. Can

you represent the problem in a form of chromosome?

• Representation 1: Sensors are the genes and areas are the fillers

• Chromosome Size is?

• Representation 2: areas are the genes and the sensors are the fillers

• Chromosome Size is?

s1 s2 s3 s4 … sn

a3 a5 .. ..

A1 A2 A3 A4 … Am

s1 s5 .. ..

Fitness function Defines the effectiveness of each chromosome.

• Ex.

• Maximizes the coverage

n

s

AareaonSSensorapplyingdueCoverage1

s1 s2 s3 s4 … sn

a3 a5 .. ..

Simulated Annealing

29

Simulated Annealing Simulated Annealing (SA) is commonly said to be the

oldest among the metaheuristics and surely one of the first algorithms that had an explicit strategy to avoid local minima.

The fundamental idea is to allow moves resulting in solutions of worse quality than the current solution (uphill moves) in order to escape from local minima.

The probability of doing such a move is decreased during the search.

Simulated Annealing The algorithm starts by generating an initial solution (either

randomly or heuristically constructed) and by initializing the so-called temperature parameter T.

The temperature T is decreased during the search process, thus at the beginning of the search the probability of accepting uphill moves is high and it gradually decreases, converging to a simple iterative improvement algorithm.

This process is similar to the annealing process of metals and glass, which assume a low energy configuration when cooled with an appropriate cooling schedule.

The search process shows that the algorithm is the result of two combined strategies: random walk and iterative improvement.

Simulated Annealing

Sensor Deployment on Critical Infrastructures

33

34

Infrastructure (Monitored Fields)

34

•Hot Spots •Monitoring Requirements •Monitoring Time (Horizon)

Urgent monitoring

Monitoring is must

Monitoring is required

Monitoring is Okay

35

Infrastructure (Monitored Fields)

35

•Hot Spots •Monitoring Requirements •Monitoring Time (Horizon)

Urgent monitoring

Monitoring is must

Monitoring is required

Monitoring is Okay

36

The Deployment Problem

Sensor Characteristics Energy (Lifespan) State-Switching (on/off) Mobility Mobility Cost Sensing Range Communication Range

Monitored fields

Hot Spots Coverage

The Problem is to deploy the given sensors to:1- Maximize the coverage

2- Maximize the security of the monitored field.

3- Exploit sensors capabilities

Monitoring time Sensing Reliability

Common Parameters

36

37

Solutions

Optimal Approach Evolution-Based Approaches

Sensor Deployment

ts

tsi

t i s

ti Rxw ..

37

38

The Problem Modeling

Set of Cells (Zones) Z Weight for Each Zone Monitoring time (Horizon) T

tiW

38

Energy (Lifespan) Max. Allowed Number of Switching Max Allowed Number of Moves Mobility Cost Sensing Reliability

sL

sP

sMtsijEtsR

3 5

6 10

5 7

20 8

40 7

8 0

t1 t2 t3

39

The Mathematical Formulationtsix : A binary variable to indicate if sensor s is serving zone i at time t

1 if sensor s is active 0 otherwise.

tsiy : A binary variable to indicate if sensor s is inactive on zone i at time t

1 if s is inactive 0 otherwise.

tsijm : A binary variable to indicate if sensor s is moved from

zone i to zone j at time t 1 if s is moved 0 otherwise

: A binary variable to indicate if sensor s is turned “On” on zone i at time t 1 if s is turned on 0 otherwise

tsiOn

: A binary variable to indicate if sensor s is turned “Off” on zone i at time t 1 if s is turned on 0 otherwise

tsiOff

4040

Objective Function

ts

tsi

t i s

ti Rxw ..Maximize

tsix

tsiy

sit ,,1 tsi

tsi yx

sit ,,

j

tsj

tsi

tsi xyy 11 sit ,,

j

tjs

tsi

tsi xyy 11

sit ,,

j

tjs

tsi

tsi xxy 11 sit ,,

• To Relate and tsix

Objective :

Cover High Weights Zones by the Most Reliable Sensors

Sensors either On or Off

If a sensor is turned Off at time t in zone i , it Will be Off in the same zone at time t+1

j

tsj

tsi

tsi xxy 11

If a sensor is turned On at time t in zone i and it was Off at t-1, assume it was Off in the same zone at time t-1

If a sensor was Off and also Off at t+1, it will stay Off in the same zone.

If a sensor was Off at time t , then turned On at later time, assume it was Off at the Same zone

4141

Other Constraints

i

tsi

tsi yx 1

st,

s

tsix 1

it,

Each sensor is used on one zone only

Each zone is covered by one sensor only

•Assignment Constraints

•Mobility Constraints

sjit ,,,tsj

tsj

tsij yxm sjit ,,,

1yxyxm tsi

tsi

1tsj

1tsj

tsij If both terms are 1 ,

then there is a move

11 tsi

tsi

tsij yxm sjit ,,,

i

sj t

tsij Mm s

Limit the number of mover to the Max per sensor

Guarantee that one of the terms are 1

4242

Other Constraints

11 tsi

tsi

tsi yxOn sit ,,

tsi

tsi xOn

1 tsi

tsi yOn

11 tsi

tsi

tsi xyOff

tsi

tsi yOff

1 tsi

tsi xOff

t i

st

sitsi POffOn s

sit ,,

sit ,,

sit ,,

sit ,,

sit ,,

si j t

tsij

tsij

t i

tsi LmEx .

•Sensors Lifespan Constraint

s

•Sensors Switching Constraints

43

Solutions

Evolution ApproachesEvolution Approaches

43

44

Evolution-Based Approach

Genetic Algorithms• Chromosomes

• Crossover operators

• Mutation operator

• Stopping Criteria

Simulated Annealing• Solution

• Acceptance probability

• Stopping Criteria

Group Activity

Think of a suitable representation to the problem using Genetic Algorithms

46

Genetic Algorithms Chromosomes

0 0 0 1 0 0 1 0 0 0 0 1

S1 S2

t1 t2 t1 t2

z1 z2 z3 z1 z2 z3 z1 z2 z3 z1 z2 z3

A chromosome is a string of bits (genes) Its length is equal to number of sensors * number of zones * horizonEach sensor pattern is a part from the chromosome Chromosome representation is purposely selected for multiple crossover and mutation operatorsExample : 2 sensors , 3 zones , and 2 units of time

47

Crossover Operators

SingleSingle ChromosomeChromosome • Time Exchange Time Exchange • Sensor ExchangeSensor Exchange

Multi-ChromosomesMulti-Chromosomes • Time Exchange Time Exchange • Sensors Exchange Sensors Exchange

0 0 0 1 0 0 1 0 0 0 0 1

S1 S2

t1 t2 t1 t2

z1 z2 z3 z1 z2 z3 z1 z2 z3 z1 z2 z3

0 0 1 0 1 0 1 0 0 1 0 0

S1 S2

t1 t2 t1 t2

z1 z2 z3 z1 z2 z3 z1 z2 z3 z1 z2 z3

48

Mutation Operator Number of genes to be flipped are randomly selectedNumber of genes to be flipped are randomly selected

49

Correction Process Generated chromosomes might violate the sensors feasibility Generated chromosomes might violate the sensors feasibility

constraints constraints

WithinWithin a sensora sensor Can not serve on multiple zones at the same time Can not serve on multiple zones at the same time Sensors limitations must be considered Sensors limitations must be considered

AmongAmong sensorssensorsZones cannot be monitored by more than one sensorZones cannot be monitored by more than one sensor

Stopping Criteria

Coverage Percentage is reached

Number of Iterations

Number of Iterations without improvement in the fitness

50

Simulated Annealing

51

52

Simulated Annealing

1.1. Generate an initial solution, evaluate its value (gain), and store it as the Generate an initial solution, evaluate its value (gain), and store it as the highest gain found so far.highest gain found so far.

2.2. Get a new solution by searching the neighborhood of the current solution.Get a new solution by searching the neighborhood of the current solution.

3.3. Evaluate the gain of the new solution.Evaluate the gain of the new solution.

4.4. If the gain is greater than the highest gain found so far, accept it (uphill If the gain is greater than the highest gain found so far, accept it (uphill move).move).

5.5. If the gain of the new solution is less than the upper bound gain found so If the gain of the new solution is less than the upper bound gain found so far, still accept this new inferior solution but with some probability far, still accept this new inferior solution but with some probability (downhill move)(downhill move)

6.6. Decrease the probability of acceptance of inferior solutions (based on a Decrease the probability of acceptance of inferior solutions (based on a temperature schedule) after every iteration (to help in convergence).temperature schedule) after every iteration (to help in convergence).

7.7. Repeat step 2 through 6, till the temperature approaches the highest value.Repeat step 2 through 6, till the temperature approaches the highest value.

53

Acceptance Probability

Probability of acceptance of new solutionProbability of acceptance of new solution (Xk+1)

given the solutiongiven the solution (Xk)

kf

kXG

kXG

e

)()1

(

P(Xk+1, Xk) =

t1 t2 t3

Z1 0 Z4 Z2 Z4 Z3 0 Z4 Z2

s1 s2 s3 s1 s2 s3 s1 s2 s3

•Solution Structure Solution Structure

Stopping Criteria

Coverage Percentage is reached

Number of Iterations

Number of Iterations without improvement in the fitness

54

Recommended