Dans cette section, nous proposons une méthode analytique basée sur les automorphismes et sur la
proposition 3, qui permet de trouver une solution pour toute instance de la famille ℱ dont les
Le MLCP dans le cas des réseaux réguliers
capteurs ont la même énergie initiale et ce, quelle que soit la consommation en veille (0 ≤ < 1).
Etant donné que l’hypothèse d’énergie identique pour tous les capteurs n’est pas réaliste, nous
présentons par la suite une heuristique pour toute instance de la famille ℱ, quelles que soient les
énergies initiales des capteurs. Cette heuristique est basée sur la méthode analytique.
6.3.1 Méthode analytique de résolution pour les capteurs de même énergie
Soient :
ℱ , ( = 2 + 1) une instance de la famille ℱ,
l’énergie initiale des capteurs,
la puissance consommée et
∈ [0; 1[, le ratio entre la puissance consommée en veille et la puissance consommée en mode
actif.
Définissons l’automorphisme ainsi qu’il suit:
( ) =
( ) = pour = 1, … , − 1
Soit = { , , , … , } un sous-ensemble de capteurs, définissons la fonction telle que si
( ) = alors = { ( ), ( ), ( ), … , ( )} .
Considérons les couvrants , , …, tel que = { , , , … , } est de taille minimale et
= ( ), pour = 1, … , − 1. Notons la durée d’activation du couvrant et posons
= ∗ , avec ∈ ℝ∗, = 1, … , . Les couvrants sont activés dans l’ordre , , …, .
D’après la proposition 3, l’instance ℱ admet une solution optimale de résidu nul. En se basant sur
cette proposition, l’idée de cette méthode est de trouver une solution de résidu nul car toute solution
de ℱ avec un résidu non nul est nécessairement sous-optimale. Pour cela, nous cherchons une
solution où chaque capteur a une énergie nulle après l’activation du dernier couvrant auquel il
appartient. Pour chaque capteur , notons l’indice du dernier couvrant auquel il appartient.
Alors, l’énergie totale consommée par le capteur est ∗ ∑ ∗ ( + ∗ ), où = 1
si le capteur appartient au couvrant et = 0 sinon. En effet, l’énergie consommée par le
capteur durant l’activation du couvrant est égale à ∗ si le capteur appartient au
couvrant et est égale à ∗ ∗ sinon. En supposant que tout capteur a une énergie nulle au
terme de l’activation du dernier couvrant auquel il appartient, on obtient le système d’équation
suivant :
⎩
⎪
⎨
⎪
⎧ ∑ ∗ ( + ∗ ) = 1
∑ ∗ ( + ∗ ) = 1
⋮
∑ ∗ ( + ∗ ) = 1
(1)
Le MLCP dans le cas des réseaux réguliers
=
( ) ∗( ) pour = 1, … , − 1
=
( ) ∗( ) ( )
Preuve
Soit =
( ) ∗( ) . Chaque capteur appartient à + 1 couvrants. Le dernier couvrant auquel
appartient un capteur est soit ou . Si le dernier couvrant contenant un capteur est , alors
après l’activation de , ce capteur a consommé l’énergie ( + 1) + ∗ ( − 1) ∗ = et
son énergie résiduelle est donc nulle après sa dernière activation. Si le dernier couvrant auquel
appartient un capteur est , alors l’énergie consommée par ce capteur après l’activation de est
( + (1 − ) + ∗ ) ∗ = , son énergie résiduelle est donc nulle après sa dernière activation.
La durée de vie de cette solution est ∆=
( ) ∗( )∗ . Cette solution généralise celle de
l’instance de la famille ℱ où = 3. D’après la proposition 2, la solution obtenue par cette méthode
est optimale pour = 3. Nous conjecturons que cette méthode donne une solution optimale pour
toute instance ℱ , = 2 + 1, de la famille ℱ où les capteurs ont la même énergie initiale.
Considérons une autre méthode utilisant l’automorphisme et la fonction définis ci-dessus. En se
basant sur la proposition 3, cherchons une solution où chaque capteur a un résidu nul après
l’activation du dernier couvrant, c’est-à-dire le couvrant . Alors, on obtient le système
d’équations (2) ci-après :
⎩
⎪
⎨
⎪
⎧ ∑ ∗ ( + ∗ ) = 1
∑ ∗ ( + ∗ ) = 1
⋮
∑ ∗ ( + ∗ ) = 1
(2)
La solution ( , , … , ) du système d’équations (2) est: =
( ) ∗ pour = 1, … , . En
effet, chaque capteur appartient à + 1 couvrants et n’appartient pas à couvrants. La durée de
vie de cette solution est ∆ =
( ) ∗ ∗ .
En comparant ces deux solutions, nous observons que ∆= ∆ pour = 0, alors que ∆> ∆ pour
0 < < 1. Cela signifie que les deux solutions retournent la même durée de vie du réseau lorsque
l’énergie consommée en veille est nulle tandis que la première solution est meilleure que la seconde
lorsque l’énergie consommée en veille est non nulle. Ce résultat est logique car let temps total que
les capteurs passent en mode veille est plus grand dans la seconde solution que dans la première.
Ainsi, lorsque l’énergie consommée en veille est non nulle, ce temps supplémentaire passé en veille
réduit la durée de vie du réseau de la seconde solution. Rappelons que d’après la proposition 3,
toute solution optimale a un résidu nul mais toute solution dont le résidu est nul n’est pas
nécessairement optimale. Bien que les deux solutions sont à résidu nul, nous avons conjecturé que
la première solution est optimale pour toute instance ℱ où les capteurs ont la même énergie initiale
Le MLCP dans le cas des réseaux réguliers
et nous constatons que la seconde solution est sous-optimale pour 0 < < 1.
Notons ∆′′ la durée de vie de la solution obtenue par les algorithmes basés sur l’approche réactive
(Energy-Blacklist, Blacklist et Adaptatif). En comparant cette durée de vie à celle de la première
solution basée les automorphismes (∆), nous notons que ∆=
( ) ∗( )∆ , car ∆ = . Sachant
que
( ) ∗( )= 1 + ( ) où ≤ ( ) ≤ , nous déduisons que la première solution
basée sur les automorphismes est meilleure que la solution basée sur l’approche réactive ( ∆≥ ∆ )
et le gain obtenu par la première solution basée sur les automorphismes est supérieur ou égal à
fois la durée de vie de la solution basée sur l’approche réactive.
La méthode analytique basée sur les automorphismes et sur la proposition 3 tel que chaque capteur
ait un résidu après l’activation du dernier couvrant auquel il appartient, est donc meilleure que les
algorithmes basés sur l’approche réactive. Cependant, cette méthode ne s’applique qu’aux instances
de la famille ℱ où tous les capteurs ont la même énergie initiale. Or, nous avons montré dans les
chapitres précédents, qu’il n’est réaliste de supposer que les capteurs ont la même énergie initiale.
Dans la suite, nous proposons une nouvelle heuristique qui s’appuie sur cette méthode analytique
afin de trouver une solution pour toute instance de la famille ℱ.
6.3.2 Heuristique OddRingNetworks
L’heuristique OddRingNetworks que nous proposons pour les instances de la famille ℱ est une
méthode itérative basée sur la méthode analytique présentée ci-dessus. Cette heuristique prend en
entrée un ensemble de cibles , , . . , et un ensemble de capteurs , , . . , avec les énergies
initiales respectives , , . . , où = 2 + 1 et le ratio entre la puissance en mode veille et la
puissance en mode actif est tel que 0 ≤ < 1. Au début son exécution, l’heuristique détermine
l’énergie minimale des capteurs. Puis, on applique la méthode analytique en considérant que
tous les capteurs ont la même énergie . Les couvrants formés sont alors activés successivement
pendant les durées spécifiées par la méthode analytique. Après l’activation du dernier couvrant, tous
les capteurs d’énergie initiale ont épuisé leurs batteries tandis que les autres capteurs ont des
énergies résiduelles non nulles. L’ensemble des capteurs résiduels et l’ensemble de cibles ne
forment plus un réseau en anneau impair. Si chaque cible est couverte par au moins un capteur,
l’heuristique forme un nouveau couvrant en sélectionnant à chaque itération le capteur d’énergie
minimale qui couvre le plus de nouvelles cibles (cibles non couvertes par le couvrant en
construction). Lorsque le couvrant est formé, on recherche d’éventuels capteurs et on les supprime
du couvrant en utilisant la procédure (suppression_redondance) présentée dans les chapitres 3 et 4.
Le couvrant ainsi formé est activé jusqu’à ce qu’un de ses capteurs épuise son énergie. On
recommence la construction et l’activation de nouveaux couvrants jusqu’à ce qu’une cible ne soit
plus couverte par un capteur. La complexité de cette heuristique est polynomiale. L’heuristique
OddRingNetworks est présentée à la figure 46.
Le MLCP dans le cas des réseaux réguliers
Figure 46 - Algorithme OddRingNetworks
En appliquant l’heuristique OddRingNetworks sur l’exemple de la figure 43, on pose = 8 à
l’instruction I1. A l’instruction I2, on forme le couvrant minimal ={ , } et les couvrants
= ( ) ={ , } et = ( ) ={ , }. L’instruction I3 active successivement les
couvrants et pendant la durée = =
( ) ∗( ) ∗ = 4 chacun car = 1,
= 1 et = 0. Ensuite le couvrant est activé pendant =
( ) ∗( ) ∗ = 4. A
l’instruction I4, on supprime le capteur car son énergie est épuisée. Après l’activation du
( ) =
( ) = pour = 1, … , − 1
Algorithme OddRingNetworks (S, T)
Input: : Ensemble de cibles ; S: Ensemble de capteurs ;
Début
I1. Poser = ∈
I2. Former les couvrants , , …, tel que est un couvrant de taille minimale et = ( ),
pour = 1, … , − 1
I3. Activer successivement les couvrants pendant =
( ) ∗( ) ∗ unités de temps, pour
= 1, … , − 1 et le couvrant pendant la durée = ( ) ∗(
) ∗ unités de temps
I4. Pour tout capteur ∈ Faire
Si , = 0Alors Supprimer de l’ensemble des capteurs ( = ∖ { }) Finsi
( , est l’énergie résiduelle du capteur après l’activation du couvrant )
Fpour
I5. = + 1
Tant que chaque cible de est couverte par un capteur de Faire
I6. =
Tant que ≠ ∅Faire
I7.Sélectionner le capteur qui couvre le plus de nouvelles cibles et dont l’énergie est
minimale
I8.Ajouter le capteur au couvrant : = ∪ { }
I9. Supprimer de toutes les cibles couvertes par le capteur
Fintantque
I10. Appeler la procédure suppression_redondance( , ) pour supprimer les capteurs
redondants de
I11. Activer le couvrant jusqu’à ce qu’un capteur épuise sa batterie
I12.Pour tout capteur ∈ Faire
Si , = 0Alors Supprimer de l’ensemble des capteurs ( = ∖ { }) Finsi
Fpour
I13. = + 1
Fintantque
FinAlgo
Les fonctions et sont telles que :
et
Le MLCP dans le cas des réseaux réguliers
couvrant , l’énergie résiduelle du capteur est , = 1 et celle du capteur est , = 2. A
l’instruction I5, on pose = 4, puis on entre dans la première boucle tantque car chaque cible est
couverte par au moins un capteur. Dans la boucle interne tantque, on sélectionne itérativement les
capteurs puis pour former le couvrant et ={ , }. Puisque ce couvrant ne comporte pas de
capteur redondant, on l’active pendant = 1 car le capteur épuise sa batterie après cette durée
de temps. Après l’activation du couvrant , la cible n’est couverte par aucun capteur, on sort de
la boucle externe tantque et l’exécution de l’heuristique s’arrête. L’heuristique a donc donné un
durée de vie du réseau ∆= 13. Comme on l’a montré à l’introduction, cette solution améliore de
30% la solution donnée par les algorithmes Energy-Blacklist, Blacklist et Adapdatif, basés sur
l’approche réactive. Il est difficile de comparer l’heuristique OddRingNetworks aux heuristiques de
la littérature basées sur l’approche classique par couvrants non disjoints car leurs auteurs
n’expliquent pas comment choisir la valeur du paramètre w qui indique le nombre maximal de
couvrants auxquels peut appartenir un capteur.
Lorsque tous les capteurs ont la même énergie initiale, l’heuristique n’entre pas dans la boucle
externe tantque et la solution de l’heuristique OddRingNetworks est meilleure que celle donnée par
les algorithmes basés sur l’approche réactive. Ce résultat a été démontré dans la sous-section
précédente. Nous observons d’après l’exécution sur l’exemple de la figure 43 que l’heuristique
OddRingNetwork est meilleure que les algorithmes basés sur l’approche réactive lorsque les
capteurs n’ont pas la même énergie. Nous déduisons que pour la famille des réseaux en anneau
impair, l’heuristique OddRingNetwork est plus meilleure que les algorithmes Energy-Blacklist,
Blacklist, Adapdatif et les autres algorithmes de la littérature basés sur l’approche classique par
couvrants disjoints et non disjoints.
Dans le document
Minimisation de la consommation d’énergie des réseaux de capteurs dans les applications de couverture de cibles
(Page 97-102)