Post on 03-Jan-2016
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