• Aucun résultat trouvé

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.