]> AND Private Git Repository - JournalMultiPeriods.git/blob - article.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Some minor changes
[JournalMultiPeriods.git] / article.tex
1
2 \documentclass[preprint,12pt]{elsarticle}
3
4 \usepackage[linesnumbered,ruled,vlined,commentsnumbered]{algorithm2e}
5 \usepackage{multicol}
6 \usepackage{mathtools}  
7 \usepackage{colortbl}
8 \usepackage{multirow}
9
10 \SetAlFnt{\small}
11 \SetAlCapFnt{\large}
12 \SetAlCapNameFnt{\large}
13 \usepackage{algorithmic}
14 \algsetup{linenosize=\tiny}
15
16 \DeclarePairedDelimiter\ceil{\lceil}{\rceil}
17 \DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
18 %% Use the option review to obtain double line spacing
19 %% \documentclass[authoryear,preprint,review,12pt]{elsarticle}
20
21 %% Use the options 1p,twocolumn; 3p; 3p,twocolumn; 5p; or 5p,twocolumn
22 %% for a journal layout:
23 %% \documentclass[final,1p,times]{elsarticle}
24 %% \documentclass[final,1p,times,twocolumn]{elsarticle}
25 %% \documentclass[final,3p,times]{elsarticle}
26 %% \documentclass[final,3p,times,twocolumn]{elsarticle}
27 %% \documentclass[final,5p,times]{elsarticle}
28 %% \documentclass[final,5p,times,twocolumn]{elsarticle}
29
30 %% For including figures, graphicx.sty has been loaded in
31 %% elsarticle.cls. If you prefer to use the old commands
32 %% please give \usepackage{epsfig}
33
34 %% The amssymb package provides various useful mathematical symbols
35 \usepackage{amssymb}
36 %% The amsthm package provides extended theorem environments
37 %% \usepackage{amsthm}
38
39 %% The lineno packages adds line numbers. Start line numbering with
40 %% \begin{linenumbers}, end it with \end{linenumbers}. Or switch it on
41 %% for the whole article with \linenumbers.
42 %% \usepackage{lineno}
43
44 \journal{Journal of Supercomputing}
45
46 \begin{document}
47
48 \begin{frontmatter}
49
50 %% Title, authors and addresses
51
52 %% use the tnoteref command within \title for footnotes;
53 %% use the tnotetext command for theassociated footnote;
54 %% use the fnref command within \author or \address for footnotes;
55 %% use the fntext command for theassociated footnote;
56 %% use the corref command within \author for corresponding author footnotes;
57 %% use the cortext command for theassociated footnote;
58 %% use the ead command for the email address,
59 %% and the form \ead[url] for the home page:
60 %% \title{Title\tnoteref{label1}}
61 %% \tnotetext[label1]{}
62 %% \author{Name\corref{cor1}\fnref{label2}}
63 %% \ead{email address}
64 %% \ead[url]{home page}
65 %% \fntext[label2]{}
66 %% \cortext[cor1]{}
67 %% \address{Address\fnref{label3}}
68 %% \fntext[label3]{}
69
70 \title{Multiround Distributed Lifetime Coverage Optimization Protocol in Wireless Sensor Networks}
71
72 %% use optional labels to link authors explicitly to addresses:
73 %% \author[label1,label2]{}
74 %% \address[label1]{}
75 %% \address[label2]{}
76 %\author{Ali Kadhum Idrees, Karine Deschinkel, \\
77 %Michel Salomon, and Rapha\"el Couturier}
78
79 %\thanks{are members in the AND team - DISC department - FEMTO-ST Institute, University of Franche-Comt\'e, Belfort, France.
80 % e-mail: ali.idness@edu.univ-fcomte.fr, $\lbrace$karine.deschinkel, michel.salomon, raphael.couturier$\rbrace$@univ-fcomte.fr.}% <-this % stops a space
81 %\thanks{}% <-this % stops a space
82  
83 %\address{FEMTO-ST Institute, University of Franche-Comt\'e, Belfort, France. \\ 
84 %e-mail: ali.idness@edu.univ-fcomte.fr, \\
85 %$\lbrace$karine.deschinkel, michel.salomon, raphael.couturier$\rbrace$@univ-fcomte.fr.}
86
87 \author{Ali Kadhum Idrees$^{a,b}$, Karine Deschinkel$^{a}$, \\
88   Michel Salomon$^{a}$, and Rapha\"el Couturier $^{a}$ \\
89   $^{a}${\em{FEMTO-ST Institute, DISC department, UMR 6174 CNRS, \\
90       Univ.  Bourgogne  Franche-Comt\'e (UBFC), Belfort, France}} \\
91   $^{b}${\em{Department of Computer Science, University of Babylon, Babylon, Iraq}}}
92
93 \begin{abstract}
94 Coverage and  lifetime are  two paramount problems  in Wireless  Sensor Networks
95 (WSNs). In this paper, a  method called Multiround Distributed Lifetime Coverage
96 Optimization  protocol (MuDiLCO)  is proposed  to maintain  the coverage  and to
97 improve the lifetime in wireless sensor  networks. The area of interest is first
98 divided into  subregions and  then the  MuDiLCO protocol  is distributed  on the
99 sensor nodes in  each subregion. The proposed MuDiLCO protocol  works in periods
100 during which sets of sensor nodes are  scheduled, with one set for each round of
101 a period, to remain active during the  sensing phase and thus ensure coverage so
102 as to  maximize the  WSN lifetime.   The decision  process is  carried out  by a
103 leader  node,  which  solves  an   optimization  problem  to  produce  the  best
104 representative  sets to  be used  during the  rounds of  the sensing  phase. The
105 optimization problem  formulated as an  integer program is solved  to optimality
106 through a  Branch-and-Bound method for  small instances.  For  larger instances,
107 the  best  feasible solution  found  by  the solver  after  a  given time  limit
108 threshold  is considered.   Compared  with some  existing protocols,  simulation
109 results based on  multiple criteria (energy consumption, coverage  ratio, and so
110 on) show that the proposed protocol can prolong efficiently the network lifetime
111 and improve the coverage performance.
112 \end{abstract}
113
114 \begin{keyword}
115 Wireless   Sensor   Networks,   Area   Coverage,   Network   Lifetime,
116 Optimization, Scheduling, Distributed Computation.
117 \end{keyword}
118
119 \end{frontmatter}
120
121 \section{Introduction}
122  
123 \indent  The   fast  developments  of  low-cost  sensor   devices  and  wireless
124 communications have allowed the emergence of WSNs. A WSN includes a large number
125 of small, limited-power sensors that  can sense, process, and transmit data over
126 a wireless  communication. They communicate  with each other by  using multi-hop
127 wireless communications and cooperate together  to monitor the area of interest,
128 so that  each measured data can be  reported to a monitoring  center called sink
129 for further  analysis~\cite{Sudip03}.  There  are several fields  of application
130 covering  a wide  spectrum for  a  WSN, including  health, home,  environmental,
131 military, and industrial applications~\cite{Akyildiz02}.
132
133 On the one hand sensor nodes run on batteries with limited capacities, and it is
134 often  costly  or  simply  impossible  to  replace  and/or  recharge  batteries,
135 especially in remote and hostile environments. Obviously, to achieve a long life
136 of the  network it is important  to conserve battery  power. Therefore, lifetime
137 optimization is one of the most  critical issues in wireless sensor networks. On
138 the other hand we must guarantee  coverage over the area of interest. To fulfill
139 these two objectives, the main idea  is to take advantage of overlapping sensing
140 regions to turn-off redundant sensor nodes  and thus save energy. In this paper,
141 we concentrate  on the area coverage  problem, with the  objective of maximizing
142 the network lifetime by using an optimized multiround scheduling.
143
144 The MuDiLCO protocol (for  Multiround Distributed Lifetime Coverage Optimization
145 protocol) presented  in this paper  is an  extension of the  approach introduced
146 in~\cite{idrees2015distributed}.  
147 % In~\cite{idrees2015distributed},  the  protocol  is
148 %deployed over  only two subregions.  Simulation results  have shown that  it was
149 %more  interesting  to  divide  the  area  into  several  subregions,  given  the
150 %computation complexity.
151
152 \textcolor{blue}{ Compared  to our  previous paper~\cite{idrees2015distributed},
153   in  this one  we study  the  possibility of  dividing the  sensing phase  into
154   multiple rounds.   In fact, in this  paper we make a  multiround optimization,
155   while it was a single round optimization in our previous work.  The idea is to
156   take advantage  of the  pre-sensing phase  to plan  the sensor's  activity for
157   several  rounds instead  of one,  thus saving  energy. In  addition, when  the
158   optimization problem becomes  more complex, its resolution is  stopped after a
159   given time  threshold. In this  paper we also  analyze the performance  of our
160   protocol according to the number of  primary points used (the area coverage is
161   replaced by the coverage of a  set of particular points called primary points,
162   see Section~\ref{pp}).}
163
164 The remainder of the paper is organized as follows. The next section reviews the
165 related works in  the field.  Section~\ref{pd} is devoted to  the description of
166 MuDiLCO protocol.  Section~\ref{exp} introduces  the experimental  framework, it
167 describes the  simulation setup  and the  different metrics  used to  assess the
168 performances.   Section~\ref{analysis}  shows  the simulation  results  obtained
169 using the discrete event simulator OMNeT++ \cite{varga}.  They fully demonstrate
170 the usefulness  of the proposed  approach.  Finally, we give  concluding remarks
171 and some suggestions for future works in Section~\ref{sec:conclusion}.
172
173 \section{Related works} 
174 \label{rw}
175
176 \indent  This section is  dedicated to  the various  approaches proposed  in the
177 literature for  the coverage lifetime maximization problem,  where the objective
178 is to optimally schedule sensors' activities in order to extend network lifetime
179 in WSNs. Cardei  and Wu \cite{cardei2006energy} provide a  taxonomy for coverage
180 algorithms in WSNs according to several design choices:
181 \begin{itemize}
182 \item  Sensors   scheduling  algorithm  implementation,   i.e.   centralized  or
183   distributed/localized algorithms.
184 \item The objective of sensor coverage, i.e. to maximize the network lifetime or
185   to minimize the number of active sensors during a sensing round.
186 \item The homogeneous or heterogeneous nature  of the nodes, in terms of sensing
187   or communication capabilities.
188 \item The node deployment method, which may be random or deterministic.
189 \item  Additional  requirements  for  energy-efficient and  connected coverage.
190 \end{itemize}
191
192 The choice of non-disjoint or disjoint cover sets (sensors participate or not in
193 many cover sets) can be added to the above list.
194
195 \subsection{Centralized approaches}
196
197 The major approach  is to divide/organize the sensors into  a suitable number of
198 cover sets where  each set completely covers an interest  region and to activate
199 these cover sets successively.  The centralized algorithms always provide nearly
200 or close to  optimal solution since the  algorithm has global view  of the whole
201 network. Note that  centralized algorithms have the advantage  of requiring very
202 low  processing  power  from  the  sensor  nodes,  which  usually  have  limited
203 processing  capabilities. The  main drawback  of this  kind of  approach is  its
204 higher cost in communications, since the  node that will make the decision needs
205 information  from all  the  sensor nodes.   Exact or  heuristic
206   approaches  are designed  to provide  cover sets.  Contrary to  exact methods,
207   heuristic  ones can  handle very  large  and centralized  problems.  They  are
208   proposed to reduce  computational overhead such as  energy consumption, delay,
209   and generally allow to increase the network lifetime.
210
211 The first algorithms proposed in the literature consider that the cover sets are
212 disjoint:  a  sensor  node  appears  in  exactly  one  of  the  generated  cover
213 sets~\cite{abrams2004set,cardei2005improving,Slijepcevic01powerefficient}.    In
214 the  case   of  non-disjoint   algorithms  \cite{pujari2011high},   sensors  may
215 participate in  more than one  cover set.  In some  cases, this may  prolong the
216 lifetime of the network in comparison  to the disjoint cover set algorithms, but
217 designing  algorithms for  non-disjoint cover  sets generally  induces a  higher
218 order  of complexity.   Moreover, in  case of  a sensor's  failure, non-disjoint
219 scheduling policies  are less  resilient and  reliable because  a sensor  may be
220 involved in more than one cover sets.
221
222 In~\cite{yang2014maximum},  the authors  have  considered  a linear  programming
223 approach  to select  the minimum  number of  working sensor  nodes, in  order to
224 preserve a  maximum coverage and  to extend lifetime  of the network.   Cheng et
225 al.~\cite{cheng2014energy} have defined a  heuristic algorithm called Cover Sets
226 Balance  (CSB), which  chooses  a set  of  active nodes  using  the tuple  (data
227 coverage range, residual  energy).  Then, they have introduced  a new Correlated
228 Node Set Computing (CNSC) algorithm to find  the correlated node set for a given
229 node.   After that,  they  proposed a  High Residual  Energy  First (HREF)  node
230 selection algorithm to minimize the number of  active nodes so as to prolong the
231 network  lifetime.   Various  centralized  methods based  on  column  generation
232 approaches                   have                    also                   been
233 proposed~\cite{gentili2013,castano2013column,rossi2012exact,deschinkel2012column}.
234 In~\cite{gentili2013}, authors highlight  the trade-off between
235   the  network lifetime  and the  coverage  percentage. They  show that  network
236   lifetime can be hugely improved by decreasing the coverage ratio.
237
238 \subsection{Distributed approaches}
239
240 In distributed  and localized coverage  algorithms, the required  computation to
241 schedule the  activity of  sensor nodes  will be done  by the  cooperation among
242 neighboring nodes. These  algorithms may require more computation  power for the
243 processing by the cooperating sensor nodes, but they are more scalable for large
244 WSNs.  Localized and distributed algorithms generally result in non-disjoint set
245 covers.
246
247 Many distributed algorithms have been developed  to perform the scheduling so as
248 to          preserve         coverage,          see         for          example
249 \cite{Gallais06,Tian02,Ye03,Zhang05,HeinzelmanCB02,      yardibi2010distributed,
250   prasad2007distributed,Misra}.   Distributed  algorithms typically  operate  in
251 rounds for  a predetermined duration. At  the beginning of each  round, a sensor
252 exchanges information with  its neighbors and makes a decision  to either remain
253 turned on or  to go to sleep for  the round. This decision is  basically made on
254 simple     greedy    criteria     like     the     largest    uncovered     area
255 \cite{Berman05efficientenergy}      or       maximum      uncovered      targets
256 \cite{lu2003coverage}.   The  Distributed  Adaptive Sleep  Scheduling  Algorithm
257 (DASSA) \cite{yardibi2010distributed}  does not require location  information of
258 sensors while  maintaining connectivity and  satisfying a user  defined coverage
259 target.  In  DASSA, nodes use the  residual energy levels and  feedback from the
260 sink for  scheduling the activity  of their neighbors.  This  feedback mechanism
261 reduces  the randomness  in scheduling  that would  otherwise occur  due to  the
262 absence of location information.  In \cite{ChinhVu}, the authors have designed a
263 novel distributed heuristic, called  Distributed Energy-efficient Scheduling for
264 k-coverage (DESK), which  ensures that the energy consumption  among the sensors
265 is  balanced  and the  lifetime  maximized  while  the coverage  requirement  is
266 maintained.   This heuristic  works in  rounds, requires  only one-hop  neighbor
267 information, and each  sensor decides its status (active or  sleep) based on the
268 perimeter coverage model from~\cite{Huang:2003:CPW:941350.941367}.
269
270 The  works presented  in  \cite{Bang, Zhixin,  Zhang}  focus on  coverage-aware,
271 distributed energy-efficient,  and distributed clustering  methods respectively,
272 which aim  at extending  the network  lifetime, while  the coverage  is ensured.
273 More recently, Shibo et al.  \cite{Shibo} have expressed the coverage problem as
274 a  minimum  weight submodular  set  cover  problem  and proposed  a  Distributed
275 Truncated Greedy  Algorithm (DTGA) to solve  it.  They take advantage  from both
276 temporal and spatial correlations between  data sensed by different sensors, and
277 leverage prediction, to improve the  lifetime.  In \cite{xu2001geography}, Xu et
278 al.  have described  an algorithm, called Geographical  Adaptive Fidelity (GAF),
279 which uses geographic  location information to divide the area  of interest into
280 fixed square grids.  Within  each grid, it keeps only one  node staying awake to
281 take the responsibility of sensing and communication.
282
283 Some  other  approaches (outside  the  scope  of our  work)  do  not consider  a
284 synchronized and  predetermined time-slot where  the sensors are active  or not.
285 Indeed, each sensor  maintains its own timer and its  wake-up time is randomized
286 \cite{Ye03} or regulated \cite{cardei2005maximum} over time.
287
288 \section{MuDiLCO protocol description}
289 \label{pd}
290
291 \subsection{Assumptions and primary points}
292 \label{pp}
293
294 \textcolor{blue}{Assumptions and coverage model are identical to those presented
295   in~\cite{idrees2015distributed}.}
296
297 \iffalse
298 We  consider a  randomly and  uniformly  deployed network  consisting of  static
299 wireless sensors.  The sensors are  deployed in high density to ensure initially
300 a high  coverage ratio  of the interested  area.  We  assume that all  nodes are
301 homogeneous  in   terms  of  communication  and   processing  capabilities,  and
302 heterogeneous  from the  point  of view  of  energy provision.   Each sensor  is
303 supposed  to get information  on its  location either  through hardware  such as
304 embedded GPS or through location discovery algorithms.
305    
306 To model  a sensor node's coverage  area, we consider the  boolean disk coverage
307 model   which  is  the   most  widely   used  sensor   coverage  model   in  the
308 literature. Thus, each  sensor has a constant sensing range  $R_s$ and all space
309 points within  the disk centered  at the sensor  with the radius of  the sensing
310 range  is  said  to  be  covered  by  this sensor.   We  also  assume  that  the
311 communication   range  satisfies   $R_c  \geq   2R_s$.   In   fact,   Zhang  and
312 Zhou~\cite{Zhang05} proved that if  the transmission range fulfills the previous
313 hypothesis, a complete coverage of  a convex area implies connectivity among the
314 active nodes.\fi
315
316 \textcolor{blue}{We  consider a  scenario where  sensors are  deployed in  high
317   density to ensure initially a high coverage ratio of the interested area. Each
318   sensor  has  a  predefined  sensing  range $R_s$,  an  initial  energy  supply
319   (eventually different  from each other)  and is  supposed to be  equipped with
320   module for  locating its geographical  positions. All space points  within the
321   disk centered at the sensor with the radius of the sensing range is said to be
322   covered by this sensor.}
323
324 \indent Instead of working with the coverage area, we consider for each sensor a
325 set of  points called  primary points~\cite{idrees2014coverage}. We  assume that
326 the sensing  disk defined by a  sensor is covered  if all the primary  points of
327 this  sensor are  covered.   By knowing  the position  of  wireless sensor  node
328 (centered  at the  the position  $\left(p_x,p_y\right)$) and  its sensing  range
329 $R_s$,  we define  up to  25 primary  points $X_1$  to $X_{25}$  as described  on
330 Figure~\ref{fig1}.  The optimal  number  of primary  points  is investigated  in
331 section~\ref{ch4:sec:04:06}.
332
333 The coordinates of the primary points are defined as follows:\\
334 %$(p_x,p_y)$ = point center of wireless sensor node\\  
335 $X_1=(p_x,p_y)$ \\ 
336 $X_2=( p_x + R_s * (1), p_y + R_s * (0) )$\\           
337 $X_3=( p_x + R_s * (-1), p_y + R_s * (0)) $\\
338 $X_4=( p_x + R_s * (0), p_y + R_s * (1) )$\\
339 $X_5=( p_x + R_s * (0), p_y + R_s * (-1 )) $\\
340 $X_6=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\
341 $X_7=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\
342 $X_8=( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\
343 $X_9=( p_x + R_s * (\frac{\sqrt{2}}{2}), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\
344 $X_{10}= ( p_x + R_s * (\frac{-\sqrt{2}}{2}), p_y + R_s * (0)) $\\
345 $X_{11}=( p_x + R_s *  (\frac{\sqrt{2}}{2}), p_y + R_s * (0))$\\
346 $X_{12}=( p_x + R_s * (0), p_y + R_s * (\frac{\sqrt{2}}{2})) $\\
347 $X_{13}=( p_x + R_s * (0), p_y + R_s * (\frac{-\sqrt{2}}{2})) $\\
348 $X_{14}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (\frac{1}{2})) $\\
349 $X_{15}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (\frac{1}{2})) $\\
350 $X_{16}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (\frac{- 1}{2})) $\\
351 $X_{17}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (\frac{- 1}{2})) $\\
352 $X_{18}=( p_x + R_s * (\frac{\sqrt{3}}{2}), p_y + R_s * (0)) $\\
353 $X_{19}=( p_x + R_s * (\frac{-\sqrt{3}}{2}), p_y + R_s * (0)) $\\
354 $X_{20}=( p_x + R_s * (0), p_y + R_s * (\frac{1}{2})) $\\
355 $X_{21}=( p_x + R_s * (0), p_y + R_s * (-\frac{1}{2})) $\\
356 $X_{22}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{\sqrt{3}}{2})) $\\
357 $X_{23}=( p_x + R_s * (\frac{- 1}{2}), p_y + R_s * (\frac{\sqrt{3}}{2})) $\\
358 $X_{24}=( p_x + R_s * (\frac{- 1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $\\
359 $X_{25}=( p_x + R_s * (\frac{1}{2}), p_y + R_s * (\frac{-\sqrt{3}}{2})) $.
360
361 \begin{figure}[h]
362   \centering
363   \includegraphics[scale=0.375]{fig26.pdf}
364   \label{fig1}
365   \caption{Wireless sensor node represented by up to 25~primary points}
366 \end{figure}
367
368 \subsection{Background idea}
369
370 The  WSN  area of  interest  is,  at  first,  divided into  regular  homogeneous
371 subregions  using a  divide-and-conquer algorithm.  Then, our  protocol will  be
372 executed  in a  distributed way  in  each subregion  simultaneously to  schedule
373 nodes'  activities for  one  sensing  period. Sensor  nodes  are  assumed to  be
374 deployed almost  uniformly and with  high density  over the region.  The regular
375 subdivision is  made so  that the number  of hops between  any pairs  of sensors
376 inside a subregion is less than or equal to 3.
377
378 As can  be seen  in Figure~\ref{fig2},  our protocol  works in  periods fashion,
379 where   each   period   is    divided   into   4~phases:   Information~Exchange,
380 Leader~Election,  Decision, and  Sensing. \textcolor{blue}{Compared  to protocol
381   DiLCO described in~\cite{idrees2015distributed},} each sensing phase is itself
382 divided into $T$ rounds of equal duration and for each round a set of sensors (a
383 cover  set) is  responsible  for the  sensing  task. In  this  way a  multiround
384 optimization process is performed  during each period after Information~Exchange
385 and Leader~Election  phases, in order to  produce $T$ cover sets  that will take
386 the           mission           of           sensing           for           $T$
387 rounds. \textcolor{blue}{Algorithm~\ref{alg:MuDiLCO} is  executed by each sensor
388   node~$s_j$ (with enough remaining energy) at the beginning of a period.}
389 \begin{figure}[t!]
390 \centering \includegraphics[width=125mm]{Modelgeneral.pdf} % 70mm
391 \caption{The MuDiLCO protocol scheme executed on each node}
392 \label{fig2}
393 \end{figure}
394
395 \begin{algorithm}[h!]                
396   \BlankLine  
397   \If{ $RE_j \geq E_{R}$ }{
398       \emph{$s_j.status$ = COMMUNICATION}\;
399       \emph{Send $INFO()$ packet to other nodes in the subregion}\;
400       \emph{Wait $INFO()$ packet from other nodes in the subregion}\; 
401       
402       \emph{LeaderID = Leader election}\;
403       \If{$ s_j.ID = LeaderID $}{
404         \emph{$s_j.status$ = COMPUTATION}\;
405         \emph{$\left\{\left(X_{1,k},\dots,X_{T,k}\right)\right\}_{k \in J}$ =
406           Execute Integer Program Algorithm($T,J$)}\;
407         \emph{$s_j.status$ = COMMUNICATION}\;
408         \emph{Send $ActiveSleep()$ packet to each node $k$ in subregion: a packet \\
409           with vector of activity scheduling $(X_{1,k},\dots,X_{T,k})$}\;
410         \emph{Update $RE_j $}\;
411       }   
412       \Else{
413         \emph{$s_j.status$ = LISTENING}\;
414         \emph{Wait $ActiveSleep()$ packet from the Leader}\;
415         \emph{Update $RE_j $}\;
416       }  
417   }
418   \Else { Exclude $s_j$ from entering in the current sensing phase}
419   
420 \caption{MuDiLCO($s_j$)}
421 \label{alg:MuDiLCO}
422 \end{algorithm}
423
424 \textcolor{blue}{As  already   described  in~\cite{idrees2015distributed}},  two
425 types of packets are used by the proposed protocol:
426 \begin{enumerate}[(a)] 
427 \item INFO  packet: such a packet  will be sent by  each sensor node to  all the
428   nodes inside a subregion for information exchange.
429 \item  Active-Sleep  packet: sent  by  the  leader to  all  the  nodes inside  a
430   subregion to inform  them to remain Active  or to go Sleep  during the sensing
431   phase.
432 \end{enumerate}
433
434 There are five status for each sensor node in the network:
435 \begin{enumerate}[(a)] 
436 \item LISTENING: sensor node is waiting for a decision (to be active or not);
437 \item  COMPUTATION: sensor  node  has been  elected as  leader  and applies  the
438   optimization process;
439 \item ACTIVE: sensor node is taking part in the monitoring of the area;
440 \item SLEEP: sensor node is turned off to save energy;
441 \item COMMUNICATION: sensor node is transmitting or receiving packet.
442 \end{enumerate}
443
444 This  protocol minimizes  the  impact of  unexpected node  failure  (not due  to
445 batteries running out of energy), because it works in periods.  On the one hand,
446 if a  node failure  is detected before  making the decision,  the node  will not
447 participate to this  phase, and, on the  other hand, if the  node failure occurs
448 after  the  decision, the  sensing  task  of  the  network will  be  temporarily
449 affected: only  during the  period of  sensing until a  new period  starts.  The
450 duration of the rounds is a  predefined parameter. Round duration should be long
451 enough to  hide the  system control  overhead and short  enough to  minimize the
452 negative effects in case of node failures.
453
454 The  energy consumption  and some  other constraints  can easily  be  taken into
455 account,  since the  sensors  can  update and  then  exchange their  information
456 (including their residual energy) at the beginning of each period.  However, the
457 pre-sensing  phases (Information  Exchange, Leader  Election, and  Decision) are
458 energy  consuming for some  nodes, even  when they  do not  join the  network to
459 monitor the area.
460
461 At the beginning  of each period, each sensor which  has enough remaining energy
462 ($RE_j$) to be alive during at least  one round ($E_{R}$ is the amount of energy
463 required    to   be    alive   during    one   round)    sends   (line    3   of
464 Algorithm~\ref{alg:MuDiLCO})  its position,  remaining  energy  $RE_j$, and  the
465 number of  neighbors $NBR_j$ to  all wireless sensor  nodes in its  subregion by
466 using an  INFO packet (containing  information on position  coordinates, current
467 remaining energy, sensor node ID, number of its one-hop live neighbors) and then
468 waits for packets sent by other nodes (line 4).
469
470 After that, each  node will have information  about all the sensor  nodes in the
471 subregion.  The  nodes in  the same  subregion will select  (line 5)  a Wireless
472 Sensor Node Leader (WSNL) based on the received information from all other nodes
473 in the  same subregion.   The selection  criteria are,  in order  of importance:
474 larger  number of  neighbors,  larger  remaining energy,  and  then  in case  of
475 equality, larger index. Observations on  previous simulations suggest to use the
476 number  of  one-hop  neighbors  as   the  primary  criterion  to  reduce  energy
477 consumption due to the communications.
478
479 %Each WSNL will solve an integer program to  select which cover
480 %  sets will be  activated in the following sensing phase  to cover the subregion
481 %  to which it belongs.  $T$ cover sets will be produced, one for each round. The
482 %  WSNL will send an Active-Sleep packet to each sensor in the subregion based on
483 %  the algorithm's results,  indicating if the sensor should be  active or not in
484 %  each round of the sensing phase.
485 \subsection{Multiround Optimization model}
486 \label{mom}
487
488 As  shown in  Algorithm~\ref{alg:MuDiLCO}  at  line 8,  the  leader (WNSL)  will
489 execute an  optimization algorithm  based on  an integer  program to  select the
490 cover sets to be activated in the following sensing phase to cover the subregion
491 to which it belongs.   $T$ cover sets will be produced, one  for each round. The
492 WSNL will send an  Active-Sleep packet to each sensor in  the subregion based on
493 the algorithm's results (line 10), indicating  if the sensor should be active or
494 not in each round of the sensing phase.
495
496 The integer  program is based on  the model proposed by  \cite{pedraza2006} with
497 some modifications, where the objective is  to find a maximum number of disjoint
498 cover sets.  To fulfill this goal, the authors proposed an integer program which
499 forces undercoverage and  overcoverage of targets to become minimal  at the same
500 time.  They use  binary variables $x_{jl}$ to indicate if  sensor $j$ belongs to
501 cover  set  $l$.  In  our  model,  we  consider  binary variables  $X_{t,j}$  to
502 determine the possibility  of activating sensor $j$ during round  $t$ of a given
503 sensing phase.  We also consider primary  points as targets.  The set of primary
504 points is denoted by $P$ and the set  of sensors by $J$. Only sensors able to be
505 alive  during  at  least  one  round   are  involved  in  the  integer  program.
506 \textcolor{blue}{Note that the proposed integer  program is an extension of that
507   formulated  in~\cite{idrees2015distributed},  variables  are  now  indexed  in
508   addition with the number of round $t$.}
509
510 For a  primary point  $p$, let $\alpha_{j,p}$  denote the indicator  function of
511 whether the point $p$ is covered, that is:
512 \begin{equation}
513 \alpha_{j,p} = \left \{ 
514 \begin{array}{l l}
515   1 & \mbox{if the primary point $p$ is covered} \\
516  & \mbox{by sensor node $j$}, \\
517   0 & \mbox{otherwise.}\\
518 \end{array} \right.
519 %\label{eq12} 
520 \end{equation}
521 The number of  active sensors that cover the  primary point $p$ during
522 round $t$ is equal to $\sum_{j \in J} \alpha_{j,p} * X_{t,j}$ where:
523 \begin{equation}
524 X_{t,j} = \left \{ 
525 \begin{array}{l l}
526   1& \mbox{if sensor $j$  is active during round $t$,} \\
527   0 &  \mbox{otherwise.}\\
528 \end{array} \right.
529 %\label{eq11} 
530 \end{equation}
531 We define the Overcoverage variable $\Theta_{t,p}$ as:
532 \begin{equation}
533  \Theta_{t,p} = \left \{ 
534 \begin{array}{l l}
535   0 & \mbox{if the primary point $p$}\\
536     & \mbox{is not covered during round $t$,}\\
537   \left( \sum_{j \in J} \alpha_{jp} * X_{t,j} \right)- 1 & \mbox{otherwise.}\\
538 \end{array} \right.
539 \label{eq13} 
540 \end{equation}
541 More  precisely, $\Theta_{t,p}$  represents the  number of  active  sensor nodes
542 minus  one  that  cover  the  primary  point $p$  during  round  $t$.   The
543 Undercoverage variable  $U_{t,p}$ of the primary  point $p$ during  round $t$ is
544 defined by:
545 \begin{equation}
546 U_{t,p} = \left \{ 
547 \begin{array}{l l}
548   1 &\mbox{if the primary point $p$ is not covered during round $t$,} \\
549   0 & \mbox{otherwise.}\\
550 \end{array} \right.
551 \label{eq14} 
552 \end{equation}
553
554 Our coverage optimization problem can then be formulated as follows:
555 \begin{equation}
556  \min \sum_{t=1}^{T} \sum_{p=1}^{|P|} \left(W_{\theta}* \Theta_{t,p} + W_{U} * U_{t,p}  \right)  \label{eq15} 
557 \end{equation}
558
559 Subject to
560 \begin{equation}
561   \sum_{j=1}^{|J|} \alpha_{j,p} * X_{t,j}   = \Theta_{t,p} - U_{t,p} + 1 \label{eq16} \hspace{6 mm} \forall p \in P, t = 1,\dots,T
562 \end{equation}
563
564 \begin{equation}
565   \sum_{t=1}^{T}  X_{t,j}   \leq  \floor*{RE_{j}/E_{R}} \hspace{10 mm}\forall j \in J\hspace{6 mm} 
566   \label{eq144} 
567 \end{equation}
568
569 \begin{equation}
570 X_{t,j} \in \lbrace0,1\rbrace,   \hspace{10 mm} \forall j \in J, t = 1,\dots,T \label{eq17} 
571 \end{equation}
572
573 \begin{equation}
574 U_{t,p} \in \lbrace0,1\rbrace, \hspace{10 mm}\forall p \in P, t = 1,\dots,T  \label{eq18} 
575 \end{equation}
576
577 \begin{equation}
578  \Theta_{t,p} \geq 0 \hspace{10 mm}\forall p \in P, t = 1,\dots,T \label{eq178}
579 \end{equation}
580
581 \begin{itemize}
582 \item $X_{t,j}$:  indicates whether  or not the  sensor $j$ is  actively sensing
583   during round $t$ (1 if yes and 0 if not);
584 \item $\Theta_{t,p}$ - {\it overcoverage}:  the number of sensors minus one that
585   are covering the primary point $p$ during round $t$;
586 \item  $U_{t,p}$ -  {\it undercoverage}:  indicates whether  or not  the primary
587   point $p$  is being covered during round $t$ (1  if not covered  and 0 if
588   covered).
589 \end{itemize}
590
591 The first group  of constraints indicates that some primary  point $p$ should be
592 covered by at least  one sensor and, if it is not  always the case, overcoverage
593 and undercoverage variables  help balancing the restriction  equations by taking
594 positive values. The constraint  given by equation~(\ref{eq144}) guarantees that
595 the sensor has enough energy ($RE_j$  corresponds to its remaining energy) to be
596 alive during  the selected rounds knowing  that $E_{R}$ is the  amount of energy
597 required to be alive during one round.
598
599 There are  two main  objectives.  First,  we limit  the overcoverage  of primary
600 points in order to activate a minimum  number of sensors.  Second we prevent the
601 absence  of  monitoring  on  some  parts of  the  subregion  by  minimizing  the
602 undercoverage.  The weights  $W_\theta$ and $W_U$ must be properly  chosen so as
603 to guarantee  that the maximum number  of points are covered  during each round.
604 In our simulations,  priority is given to the coverage  by choosing $W_{U}$ very
605 large compared to $W_{\theta}$.
606
607 The size of the problem depends on  the number of variables and constraints. The
608 number of variables  is linked to the  number of alive sensors  $A \subseteq J$,
609 the  number of  rounds $T$,  and the  number of  primary points  $P$.  Thus  the
610 integer program contains  $A*T$ variables of type  $X_{t,j}$, $P*T$ overcoverage
611 variables and $P*T$ undercoverage variables.  The number of constraints is equal
612 to $P*T$ (for constraints (\ref{eq16})) $+$ $A$ (for constraints (\ref{eq144})).
613
614 \iffalse
615 \subsection{Sensing phase}
616
617 The sensing phase consists of $T$ rounds. Each sensor node in the subregion will
618 receive an Active-Sleep packet from WSNL, informing it to stay awake or to go to
619 sleep for each  round of the sensing  phase.  Algorithm~\ref{alg:MuDiLCO}, which
620 will  be executed  by  each sensor  node~$s_j$  at the  beginning  of a  period,
621 explains how the Active-Sleep packet is obtained.
622 \fi
623
624 \section{Experimental framework}
625 \label{exp}
626
627 \subsection{Simulation setup}
628
629 We  conducted  a series  of  simulations  to  evaluate  the efficiency  and  the
630 relevance  of  our   approach,  using  the  discrete   event  simulator  OMNeT++
631 \cite{varga}.  The  simulation parameters are summarized  in Table~\ref{table3}.
632 Each experiment for a network is run over 25~different random topologies and the
633 results presented  hereafter are  the average  of these  25 runs.   We performed
634 simulations for five  different densities varying from 50  to 250~nodes deployed
635 over a  $50 \times 25~m^2  $ sensing field.   More precisely, the  deployment is
636 controlled at  a coarse  scale in order  to ensure that  the deployed  nodes can
637 cover the sensing field with the given sensing range.
638
639 \begin{table}[ht]
640 \caption{Relevant parameters for network initializing.}
641 \centering
642 \begin{tabular}{c|c}
643   \hline
644 Parameter & Value  \\ [0.5ex]
645 \hline
646 Sensing field size & $(50 \times 25)~m^2 $   \\
647 Network size &  50, 100, 150, 200 and 250~nodes   \\
648 Initial energy  & 500-700~joules  \\  
649 Sensing time for one round & 60 Minutes \\
650 $E_{R}$ & 36 Joules\\
651 $R_s$ & 5~m   \\     
652 $W_{\theta}$ & 1   \\
653 $W_{U}$ & $|P|^2$ \\
654 \end{tabular}
655 \label{table3}
656 \end{table}
657
658 Our protocol  is declined into  four versions: MuDiLCO-1,  MuDiLCO-3, MuDiLCO-5,
659 and  MuDiLCO-7, corresponding  respectively to  $T=1,3,5,7$ ($T$  the number  of
660 rounds in one sensing period). Since the time resolution may be prohibitive when
661 the size of  the problem increases, a  time limit threshold has  been fixed when
662 solving large  instances. In these cases,  the solver returns the  best solution
663 found, which  is not necessary  the optimal one. In  practice, we only  set time
664 limit values for  $T=5$ and $T=7$.  In  fact, for $T=5$ we limited  the time for
665 250~nodes,  whereas for  $T=7$  it  was for  the  three  largest network  sizes.
666 Therefore we  used the  following values  (in second):  0.03 for  250~nodes when
667 $T=5$, while for $T=7$ we chose 0.03,  0.06, and 0.08 for respectively 150, 200,
668 and 250~nodes.  These time limit thresholds have been set empirically. The basic
669 idea is to consider the average execution  time to solve the integer programs to
670 optimality for 100 nodes  and then to adjust the time  linearly according to the
671 increasing  network size.   After that,  this  threshold value  is increased  if
672 necessary so that the  solver is able to deliver a  feasible solution within the
673 time limit. In  fact, selecting the optimal  values for the time  limits will be
674 investigated in the future.
675
676  In the  following, we will make  comparisons with two other  methods. The first
677  method,  called DESK  and proposed  by \cite{ChinhVu},  is a  fully distributed
678  coverage  algorithm.   The  second method,  called  GAF~\cite{xu2001geography},
679  consists in dividing the region into fixed squares.  During the decision phase,
680  in each square, one  sensor is then chosen to remain  active during the sensing
681  phase time.
682
683 Some preliminary experiments were performed to study the choice of the number of
684 subregions  which subdivides  the sensing  field, considering  different network
685 sizes. They show that as the number of subregions increases, so does the network
686 lifetime. Moreover,  it makes  the MuDiLCO protocol  more robust  against random
687 network  disconnection due  to node  failures.  However,  too many  subdivisions
688 reduce the advantage  of the optimization.  In fact, there  is a balance between
689 the benefit from the optimization and the  execution time needed to solve it. In
690 the following  we have  set the number  of subregions  to~16 \textcolor{blue}{as
691   recommended in~\cite{idrees2015distributed}}.
692
693 \subsection{Energy model}
694 \textcolor{blue}{The      energy     consumption      model     is      detailed
695   in~\cite{raghunathan2002energy}.   It  is   based   on   the  model   proposed
696   by~\cite{ChinhVu}. We refer to the sensor  node Medusa~II which uses an Atmels
697   AVR ATmega103L  microcontroller~\cite{raghunathan2002energy} to  use numerical
698   values.}   \textcolor{red}{Est-ce qu'il  faut en  ecrire plus  et redonner  le
699   tableau de valeurs?}
700
701 \iffalse
702 \subsection{Energy model}
703
704 We  use an  energy consumption  model  proposed by~\cite{ChinhVu}  and based  on
705 \cite{raghunathan2002energy} with slight  modifications.  The energy consumption
706 for  sending/receiving the packets  is added,  whereas the  part related  to the
707 sensing range is removed because we consider a fixed sensing range.
708
709 For our  energy consumption model, we  refer to the sensor  node Medusa~II which
710 uses an Atmels  AVR ATmega103L microcontroller~\cite{raghunathan2002energy}. The
711 typical  architecture  of a  sensor  is composed  of  four  subsystems: the  MCU
712 subsystem which is capable of computation, communication subsystem (radio) which
713 is responsible  for transmitting/receiving messages, the  sensing subsystem that
714 collects  data, and  the  power supply  which  powers the  complete sensor  node
715 \cite{raghunathan2002energy}. Each  of the first three subsystems  can be turned
716 on or  off depending on  the current status  of the sensor.   Energy consumption
717 (expressed in  milliWatt per second) for  the different status of  the sensor is
718 summarized in Table~\ref{table4}.
719
720 \begin{table}[ht]
721 \caption{The Energy Consumption Model}
722 \centering
723 \begin{tabular}{|c|c|c|c|c|}
724   \hline
725 Sensor status & MCU & Radio & Sensing & Power (mW) \\ [0.5ex]
726 \hline
727 LISTENING & on & on & on & 20.05 \\
728 \hline
729 ACTIVE & on & off & on & 9.72 \\
730 \hline
731 SLEEP & off & off & off & 0.02 \\
732 \hline
733 COMPUTATION & on & on & on & 26.83 \\
734 \hline
735 \end{tabular}
736
737 \label{table4}
738 \end{table}
739
740 For the sake of simplicity we ignore the  energy needed to turn on the radio, to
741 start up the sensor node, to move from one status to another, etc.
742 Thus, when a sensor becomes active (i.e.,  it has already chosen its status), it
743 can turn its radio  off to save battery.  MuDiLCO uses two  types of packets for
744 communication. The size of the INFO  packet and Active-Sleep packet are 112~bits
745 and 24~bits  respectively.  The value  of energy  spent to send  a 1-bit-content
746 message is  obtained by using  the equation in  ~\cite{raghunathan2002energy} to
747 calculate the  energy cost  for transmitting  messages and  we propose  the same
748 value for receiving  the packets. The energy  needed to send or  receive a 1-bit
749 packet is equal to 0.2575~mW.
750
751 The initial energy of each node is  randomly set in the interval $[500;700]$.  A
752 sensor node will  not participate in the  next round if its  remaining energy is
753 less than  $E_{R}=36~\mbox{Joules}$, the minimum  energy needed for the  node to
754 stay alive  during one round.  This  value has been computed  by multiplying the
755 energy consumed in  active state (9.72 mW)  by the time in second  for one round
756 (3600 seconds).   According to the interval  of initial energy, a  sensor may be
757 alive during at most 20 rounds.
758 \fi
759
760 \subsection{Metrics}
761
762 \textcolor{blue}{To evaluate  our approach  we consider the  performance metrics
763   detailed in~\cite{idrees2015distributed},  which are: Coverage  Ratio, Network
764   Lifetime  and  Energy  Consumption.   Compared to  the  previous  definitions,
765   formulations of  Coverage Ratio and  Energy Consumption are enriched  with the
766   index of round $t$.}
767
768 \begin{enumerate}[i]
769   
770 \item {{\bf Coverage  Ratio (CR)}:} the coverage ratio measures  how much of the
771   area  of  a sensor  field  is  covered. In  our  case,  the sensing  field  is
772   represented as  a connected grid  of points  and we use  each grid point  as a
773   sample point to compute the coverage. The coverage ratio can be calculated by:
774 \begin{equation*}
775 \scriptsize
776 \mbox{CR}(\%) = \frac{\mbox{$n^t$}}{\mbox{$N$}} \times 100,
777 \end{equation*}
778 where $n^t$ is  the number of covered  grid points by the active  sensors of all
779 subregions during round  $t$ in the current  sensing phase and $N$  is the total
780 number of grid points in the sensing field of the network. In our simulations $N
781 = 51 \times 26 = 1326$ grid points.
782
783 \item{{\bf Number  of Active Sensors Ratio  (ASR)}:} it is important  to have as
784   few  active  nodes  as possible  in  each  round,  in  order to  minimize  the
785   communication overhead and maximize the  network lifetime.  The Active Sensors
786   Ratio is defined as follows:
787 \begin{equation*}
788 \scriptsize  \mbox{ASR}(\%) = \frac{\sum\limits_{r=1}^R
789   \mbox{$A_r^t$}}{\mbox{$|J|$}} \times 100,
790 \end{equation*}
791 where $A_r^t$ is the number of  active sensors in the subregion $r$ during round
792 $t$ in the  current sensing phase, $|J|$  is the total number of  sensors in the
793 network, and $R$ is the total number of subregions in the network.
794
795 \item {{\bf Network Lifetime}:} we define the network lifetime as the time until
796   the  coverage  ratio  drops  below  a  predefined  threshold.   We  denote  by
797   $Lifetime_{95}$ (respectively $Lifetime_{50}$) the amount of time during which
798   the network  can satisfy  an area coverage  greater than  $95\%$ (respectively
799   $50\%$). We assume that the network is alive until all nodes have been drained
800   of  their  energy   or  the  sensor  network   becomes  disconnected.  Network
801   connectivity is important  because an active sensor  node without connectivity
802   towards a  base station cannot  transmit information on  an event in  the area
803   that it monitors.
804
805 \item {{\bf  Energy Consumption  (EC)}:} the average  energy consumption  can be
806   seen as the total energy consumed by the sensors during the $Lifetime_{95}$ or
807   $Lifetime_{50}$  divided by  the  number of  rounds.  EC  can  be computed  as
808   follows:
809
810   \begin{equation*}
811     \scriptsize
812     \mbox{EC} = \frac{\sum\limits_{m=1}^{M} \left[ \left( E^{\mbox{com}}_m+E^{\mbox{list}}_m+E^{\mbox{comp}}_m \right) +\sum\limits_{t=1}^{T_m} \left( E^{a}_t+E^{s}_t \right) \right]}{\sum\limits_{m=1}^{M} T_m},
813   \end{equation*}
814
815 where  $M$ is  the  number  of periods  and  $T_m$ the  number  of  rounds in  a
816 period~$m$, both  during $Lifetime_{95}$  or $Lifetime_{50}$.  The  total energy
817 consumed by the  sensors (EC) comes through taking into  consideration four main
818 energy  factors.   The  first  one  ,  denoted  $E^{\scriptsize  \mbox{com}}_m$,
819 represents  the  energy  consumption  spent   by  all  the  nodes  for  wireless
820 communications  during period  $m$.  $E^{\scriptsize  \mbox{list}}_m$, the  next
821 factor, corresponds  to the energy consumed  by the sensors in  LISTENING status
822 before  receiving   the  decision  to  go   active  or  sleep  in   period  $m$.
823 $E^{\scriptsize \mbox{comp}}_m$  refers to the  energy needed by all  the leader
824 nodes to solve the integer program during a period. Finally, $E^a_t$ and $E^s_t$
825 indicate the energy consumed by the whole network in round $t$.
826
827 %\item {Network Lifetime:} we  have defined the network  lifetime as the  time until all
828 %nodes  have  been drained  of  their  energy  or each  sensor  network monitoring  an area has become  disconnected.
829 \end{enumerate}
830
831 \iffalse
832 \begin{enumerate}
833  \setcounter{5}
834 \item {{\bf  Execution Time}:}  a sensor node  has limited energy  resources and
835   computing power, therefore it is important that the proposed algorithm has the
836   shortest possible execution  time. The energy of a sensor  node must be mainly
837   used for the sensing phase, not for the pre-sensing ones.
838   
839 \item {{\bf Stopped simulation runs}:} a simulation ends when the sensor network
840   becomes disconnected (some nodes are dead and are not able to send information
841   to the base station). We report the number of simulations that are stopped due
842   to network disconnections and for which round it occurs.
843
844 \end{enumerate}
845 \fi
846
847 \section{Experimental results and analysis}
848 \label{analysis}
849
850 \subsection{Performance analysis for different number of primary points}
851 \label{ch4:sec:04:06}
852
853 In this section,  we study the performance of MuDiLCO-1  approach (with only one
854 round  as  in~\cite{idrees2015distributed})  for different  numbers  of  primary
855 points. The  objective of this  comparison is to  select the suitable  number of
856 primary points to be used by  a MuDiLCO protocol.  In this comparison, MuDiLCO-1
857 protocol is used  with five primary point models, each  model corresponding to a
858 number of primary  points, which are called Model-5 (it  uses 5 primary points),
859 Model-9, Model-13,  Model-17, and  Model-21. \textcolor{blue}{Note  that results
860   presented in~\cite{idrees2015distributed}  correspond to Model-13  (13 primary
861   points)}.
862
863 \subsubsection{Coverage ratio} 
864
865 Figure~\ref{Figures/ch4/R2/CR} shows the average coverage ratio for 150 deployed
866 nodes.  As can be seen, at the beginning the models which use a larger number of
867 primary points provide slightly better coverage  ratios, but latter they are the
868 worst.   Moreover, when  the number  of  periods increases,  the coverage  ratio
869 produced by all models decrease due to  dead nodes.  However, Model-5 is the one
870 with the slowest decrease due to lower  numbers of active sensors in the earlier
871 periods.  Overall  this model is  slightly more  efficient than the  other ones,
872 because it offers a good coverage ratio for a larger number of periods.
873
874 \begin{figure}[t!]
875 \centering
876  \includegraphics[scale=0.5] {R2/CR.pdf} 
877 \caption{Coverage ratio for 150 deployed nodes}
878 \label{Figures/ch4/R2/CR}
879 \end{figure} 
880
881 \subsubsection{Network lifetime}
882
883 Finally, we study the  effect of increasing the number of  primary points on the
884 lifetime of  the network.  As highlighted  by Figures~\ref{Figures/ch4/R2/LT}(a)
885 and \ref{Figures/ch4/R2/LT}(b),  the network  lifetime obviously  increases when
886 the  size of  the network  increases, with  Model-5 which  leads to  the largest
887 lifetime improvement.
888
889 \begin{figure}[h!]
890 \centering
891 \centering
892 \includegraphics[scale=0.5]{R2/LT95.pdf}\\~ ~ ~ ~ ~(a) \\
893
894 \includegraphics[scale=0.5]{R2/LT50.pdf}\\~ ~ ~ ~ ~(b)
895
896 \caption{Network lifetime for (a) $Lifetime_{95}$ and (b) $Lifetime_{50}$}
897   \label{Figures/ch4/R2/LT}
898 \end{figure}
899
900 Comparison shows that Model-5, which uses  less number of primary points, is the
901 best one because it is less energy  consuming during the network lifetime. It is
902 also  the better  one  from the  point  of  view of  coverage  ratio, as  stated
903 before. Therefore, we have chosen the model with five primary points for all the
904 experiments presented thereafter.
905
906 \subsection{Coverage ratio} 
907
908 Figure~\ref{fig3} shows  the average coverage  ratio for 150 deployed  nodes. We
909 can notice  that for the  first 30~rounds both DESK  and GAF provide  a coverage
910 which is a little  bit better than the one of MuDiLCO.  This  is due to the fact
911 that, in comparison with MuDiLCO which  uses optimization to put in SLEEP status
912 redundant sensors,  more sensor  nodes remain  active with DESK  and GAF.   As a
913 consequence,  when the  number  of rounds  increases, a  larger  number of  node
914 failures can be observed in DESK and  GAF, resulting in a faster decrease of the
915 coverage ratio.  Furthermore,  our protocol allows to maintain  a coverage ratio
916 greater than  50\% for far more  rounds.  Overall, the proposed  sensor activity
917 scheduling based on optimization in  MuDiLCO maintains higher coverage ratios of
918 the area of interest  for a larger number of rounds. It  also means that MuDiLCO
919 saves more energy,  with less dead nodes,  at most for several  rounds, and thus
920 should extend  the network lifetime.  MuDiLCO-7  seems to have most  of the time
921 the best coverage ratio up to round~80, after that MuDiLCO-5 is slightly better.
922
923 \begin{figure}[ht!]
924 \centering
925  \includegraphics[scale=0.5] {F/CR.pdf} 
926 \caption{Average coverage ratio for 150 deployed nodes}
927 \label{fig3}
928 \end{figure} 
929
930 \subsection{Active sensors ratio} 
931
932 It is crucial to have as few active nodes as possible in each round, in order to
933 minimize    the    communication    overhead   and    maximize    the    network
934 lifetime. Figure~\ref{fig4}  presents the active  sensor ratio for  150 deployed
935 nodes all along the network lifetime. It appears that up to round thirteen, DESK
936 and GAF have  respectively 37.6\% and 44.8\% of nodes  in ACTIVE status, whereas
937 MuDiLCO clearly outperforms  them with only 24.8\% of  active nodes.  Obviously,
938 in that case DESK and GAF have less active nodes, since they have activated many
939 nodes at the beginning. Anyway, MuDiLCO  activates the available nodes in a more
940 efficient manner.
941
942 \begin{figure}[ht!]
943 \centering
944 \includegraphics[scale=0.5]{F/ASR.pdf}  
945 \caption{Active sensors ratio for 150 deployed nodes}
946 \label{fig4}
947 \end{figure} 
948
949 \subsection{Stopped simulation runs}
950
951 A simulation ends  when the sensor network becomes disconnected  (some nodes are
952 dead and are not  able to send information to the base  station).  We report the
953 number of  simulations that are  stopped due  to network disconnections  and for
954 which round it  occurs.  Figure~\ref{fig6} reports the  cumulative percentage of
955 stopped simulations  runs per round for  150 deployed nodes.  This  figure gives
956 the  break  point  for  each  method.  DESK  stops  first,  after  approximately
957 45~rounds, because it consumes  the more energy by turning on  a large number of
958 redundant nodes during the sensing phase. GAF stops secondly for the same reason
959 than DESK.  Let us emphasize that the  simulation continues as long as a network
960 in a subregion is still connected.
961
962 \begin{figure}[ht!]
963 \centering
964 \includegraphics[scale=0.5]{F/SR.pdf} 
965 \caption{Cumulative percentage of stopped simulation runs for 150 deployed nodes}
966 \label{fig6}
967 \end{figure} 
968
969 \subsection{Energy consumption} \label{subsec:EC}
970
971 We  measure  the  energy  consumed  by the  sensors  during  the  communication,
972 listening, computation, active, and sleep status for different network densities
973 and   compare   it   with   the  two   other   methods.    Figures~\ref{fig7}(a)
974 and~\ref{fig7}(b)  illustrate  the  energy  consumption,  considering  different
975 network sizes, for $Lifetime_{95}$ and $Lifetime_{50}$.
976
977 \begin{figure}[h!]
978   \centering
979   \begin{tabular}{cl}
980     \parbox{9.5cm}{\includegraphics[scale=0.5]{F/EC95.pdf}} & (a) \\
981     \verb+ + \\
982     \parbox{9.5cm}{\includegraphics[scale=0.5]{F/EC50.pdf}} & (b)
983   \end{tabular}
984   \caption{Energy consumption for (a) $Lifetime_{95}$ and 
985     (b) $Lifetime_{50}$}
986   \label{fig7}
987 \end{figure} 
988
989 The  results  show  that  MuDiLCO  is  the  most  competitive  from  the  energy
990 consumption point of view.  The other  approaches have a high energy consumption
991 due to  activating a  larger number  of redundant  nodes as  well as  the energy
992 consumed during the different status of the sensor node.
993
994 Energy consumption  increases with the  size of the  networks and the  number of
995 rounds.  The curve Unlimited-MuDiLCO-7 shows  that energy consumption due to the
996 time spent to optimally solve the integer program increases drastically with the
997 size  of the  network. When  the resolution  time is  limited for  large network
998 sizes, the  energy consumption remains  of the  same order whatever  the MuDiLCO
999 version. As can be seen with MuDiLCO-7.
1000
1001 \subsection{Execution time}
1002 \label{et}
1003
1004 We observe  the impact of the  network size and of  the number of rounds  on the
1005 computation  time.   Figure~\ref{fig77} gives  the  average  execution times  in
1006 seconds  (needed to  solve the  optimization  problem) for  different values  of
1007 $T$. The  modeling language  for Mathematical Programming  (AMPL)~\cite{AMPL} is
1008 employed to  generate the Mixed  Integer Linear  Program instance in  a standard
1009 format,  which is  then read  and solved  by the  optimization solver  GLPK (GNU
1010 linear Programming  Kit available  in the public  domain) \cite{glpk}  through a
1011 Branch-and-Bound method.  The original  execution time is  computed on  a laptop
1012 DELL  with Intel  Core~i3~2370~M  (2.4 GHz)  processor (2  cores)  and the  MIPS
1013 (Million Instructions Per Second) rate equal to 35330. To be consistent with the
1014 use of a  sensor node with Atmels  AVR ATmega103L microcontroller (6  MHz) and a
1015 MIPS rate equal to 6 to run the optimization resolution, this time is multiplied
1016 by 2944.2  $\left( \frac{35330}{2} \times  \frac{1}{6} \right)$ and  reported on
1017 Figure~\ref{fig77} for different network sizes.
1018
1019 \begin{figure}[ht!]
1020 \centering
1021 \includegraphics[scale=0.5]{F/T.pdf}  
1022 \caption{Execution Time (in seconds)}
1023 \label{fig77}
1024 \end{figure} 
1025
1026 As expected,  the execution time increases  with the number of  rounds $T$ taken
1027 into account to  schedule the sensing phase. Obviously, the  number of variables
1028 and  constraints of  the integer  program increases  with $T$,  as explained  in
1029 section~\ref{mom}, the times obtained for $T=1,3$  or $5$ seem bearable. But for
1030 $T=7$, without any limitation of the  time, they become quickly unsuitable for a
1031 sensor node, especially  when the sensor network size  increases as demonstrated
1032 by  Unlimited-MuDiLCO-7.   Notice  that  for  250 nodes,  we  also  limited  the
1033 execution   time  for   $T=5$,  otherwise   the  execution   time,  denoted   by
1034 Unlimited-MuDiLCO-5, is  also above MuDiLCO-7.  On  the one hand, a  large value
1035 for  $T$ permits  to reduce  the energy-overhead  due to  the three  pre-sensing
1036 phases, on  the other  hand a  leader node  may waste  a considerable  amount of
1037 energy to solve the optimization problem. Thus, limiting the time resolution for
1038 large instances  allows to reduce the  energy consumption without any  impact on
1039 the coverage quality.
1040
1041 \subsection{Network lifetime}
1042
1043 The next  two figures,  Figures~\ref{fig8}(a) and \ref{fig8}(b),  illustrate the
1044 network lifetime  for different network sizes,  respectively for $Lifetime_{95}$
1045 and  $Lifetime_{50}$.  Both  figures show  that the  network lifetime  increases
1046 together with the  number of sensor nodes, whatever the  protocol, thanks to the
1047 node  density  which results  in  more  and more  redundant  nodes  that can  be
1048 deactivated and thus save energy.  Compared to the other approaches, our MuDiLCO
1049 protocol  maximizes the  lifetime of  the network.   In particular  the gain  in
1050 lifetime for a coverage  over 95\%, and a network of  250~nodes, is greater than
1051 43\% when switching from GAF to MuDiLCO-5.
1052 %The lower performance that can be observed  for MuDiLCO-7 in case
1053 %of  $Lifetime_{95}$  with  large  wireless  sensor  networks  results  from  the
1054 %difficulty  of the optimization  problem to  be solved  by the  integer program.
1055 %This  point was  already noticed  in subsection  \ref{subsec:EC} devoted  to the
1056 %energy consumption,  since network lifetime and energy  consumption are directly
1057 %linked.
1058 Overall, it  clearly appears that computing  a scheduling for several  rounds is
1059 possible  and  relevant,  providing  that   the  execution  time  to  solve  the
1060 optimization problem  for large instances  is limited.  Notice that  rather than
1061 limiting the execution time, similar results  might be obtained by replacing the
1062 computation of the exact  solution with the finding of a  suboptimal one using a
1063 heuristic  approach. For  our  simulation setup  and  considering the  different
1064 metrics, MuDiLCO-5 seems to be the best suited method compared to MuDiLCO-7.
1065
1066 \begin{figure}[t!]
1067   \centering
1068   \begin{tabular}{cl}
1069     \parbox{9.5cm}{\includegraphics[scale=0.5125]{F/LT95.pdf}} & (a) \\
1070     \verb+ + \\
1071     \parbox{9.5cm}{\includegraphics[scale=0.5125]{F/LT50.pdf}} & (b)
1072   \end{tabular}
1073   \caption{Network lifetime for (a) $Lifetime_{95}$ and 
1074     (b) $Lifetime_{50}$}
1075   \label{fig8}
1076 \end{figure} 
1077
1078 \section{Conclusion and future works}
1079 \label{sec:conclusion}
1080
1081 We have addressed  the problem of the coverage and  of the lifetime optimization
1082 in wireless sensor networks.   This is a key issue as  sensor nodes have limited
1083 resources in terms of memory, energy, and computational power. To cope with this
1084 problem,  the field  of sensing  is divided  into smaller  subregions using  the
1085 concept  of divide-and-conquer  method, and  then  we propose  a protocol  which
1086 optimizes coverage and  lifetime performances in each  subregion.  Our protocol,
1087 called MuDiLCO (Multiround Distributed  Lifetime Coverage Optimization) combines
1088 two  efficient   techniques:  network   leader  election  and   sensor  activity
1089 scheduling. The  activity scheduling in  each subregion works in  periods, where
1090 each  period consists  of four  phases:  (i) Information  Exchange, (ii)  Leader
1091 Election, (iii)  Decision Phase  to plan  the activity of  the sensors  over $T$
1092 rounds, (iv) Sensing Phase itself divided into $T$ rounds.
1093
1094 Simulations results  show the  relevance of  the proposed  protocol in  terms of
1095 lifetime, coverage  ratio, active  sensors ratio, energy  consumption, execution
1096 time. Indeed,  when dealing with  large wireless sensor networks,  a distributed
1097 approach, like the one  we propose, allows to reduce the  difficulty of a single
1098 global optimization problem by partitioning it in many smaller problems, one per
1099 subregion, that can  be solved more easily. Furthermore, results  also show that
1100 to plan the activity of sensors for large network sizes, an approach to obtain a
1101 near optimal solution  is needed.  Indeed, an exact resolution  of the resulting
1102 optimization  problem leads  to prohibitive  computation  times and  thus to  an
1103 excessive energy consumption.
1104
1105 %In  future work, we plan  to study and propose adjustable sensing range coverage optimization protocol, which computes  all active sensor schedules in one time, by using
1106 %optimization  methods. This protocol can prolong the network lifetime by minimizing the number of the active sensor nodes near the borders by optimizing the sensing range of sensor nodes.
1107 % use section* for acknowledgement
1108
1109 \section*{Acknowledgment}
1110 This  work   is  partially  funded   by  the  Labex  ACTION   program  (contract
1111 ANR-11-LABX-01-01). Ali Kadhum  IDREES would like to  gratefully acknowledge the
1112 University of  Babylon - Iraq for  the financial support and  Campus France (The
1113 French  national agency  for the  promotion of  higher education,  international
1114 student services, and  international mobility) for the support  received when he
1115 was Ph.D. student in France.
1116 %, and the University ofFranche-Comt\'e - France for all the support in France.
1117
1118
1119
1120
1121 %% \linenumbers
1122
1123 %% main text
1124 %\section{}
1125 %\label{}
1126
1127 %% The Appendices part is started with the command \appendix;
1128 %% appendix sections are then done as normal sections
1129 %% \appendix
1130
1131 %% \section{}
1132 %% \label{}
1133
1134 %% If you have bibdatabase file and want bibtex to generate the
1135 %% bibitems, please use
1136 %%
1137 %%  \bibliographystyle{elsarticle-num} 
1138 %%  \bibliography{<your bibdatabase>}
1139 %% else use the following coding to input the bibitems directly in the
1140 %% TeX file.
1141
1142 \bibliographystyle{elsarticle-num} 
1143 \bibliography{article}
1144   
1145 \end{document}
1146
1147 %%\bibitem{}
1148
1149 %\end{thebibliography}
1150 %\end{document}
1151 \endinput
1152 %%
1153 %% End of file `elsarticle-template-num.tex'.