• Aucun résultat trouvé

Limites et amélioration de PhyRoute

5.2 Les enjeux dans les réseaux de capteurs sans fil tolérants aux délais 114

5.3.4 Routage des sources vers les sous-puits

5.3.4.3 Limites et amélioration de PhyRoute

Le processus de suppression complète d’un lien dont le flux décroît prend beau-coup d’itérations et donc beaubeau-coup de temps, comme il est montré sur la figure 5.6. Par ailleurs, nous observons des variations brusques des flux lors des 10 premières itérations. Cette variation est plus remarquée si nous représentons les flux sépa-rément comme sur la figure 5.7. Les liens qui dégénèrent sont représentés sur la figure 5.7a) et ceux qui survivent sur la figure 5.7b. Le changement brusque (fi-gure 5.7b), mis en relief par un cercle, est causé par la valeur initiale de la capacité

Figure 5.6 –Variation de flux dans les liens du graphe représenté par la figure 5.5.

du lien. En effet, les capacités initiales Dij sont choisies aléatoirement dans l’in-tervalle ]0, 1]. Durant les premières itérations, un lien qui a une faible capacité initiale et donc de faible flux peut régresser avant d’être renforcé au fur et à mesure que le nombre d’itérations augmente.

Sur la figure 5.7a, les flèches indiquent le moment où le flux commence à dé-croître. Nous constatons que les deux tiers des itérations sont utilisées pour com-plètement supprimer les liens dont le flux décroît [Zha+14b]. Alors, si nous dé-terminons le moment où un flux décroît ou croît et dévient strictement monotone, nous accéléreronq la convergence de l’algorithme en mettant à zéro les flux décrois-sants et en augmentant les flux croisdécrois-sants. Pour cela nous adaptons un critère de décision. Nous intégrerons dans l’algorithme PhyRoute une fonction de test qui détermine le moment où un flux Qij croît/décroît irrévocablement dans un lien de communication. La nouvelle fonction de test S est définie telle que [ZXG14] :

S(Qvij, Qij) = Qvij + C1+ R1(Qij) + R2(n) (5.1)

où Qvij est le nombre de fois où la variation du flux Qij devient monotone. C1 = 2, R1 = 10. R1(Qij) représente l’influence du flux courant sur S et R2 = log10(N ) est un paramètre de la fonction S qui tient compte de la taille du graphe initial [Zha+14b].

Si S(Qvij, Qij) ≤ 0 alors la fonction de flux du lien commence une décroissance monotone et donc la valeur zéro est attribuée au flux Qij correspondant. L’équa-tion 5.2 montre la manière dont Qvij est incrémenté en fonction de la différence des valeurs des flux Qij et Qpij, respectivement obtenus lors des itérations n et n − 1.

(a) Variation de flux dans les liens qui dégénèrent

(b) Variation de flux dans les liens qui survivent.

Figure 5.7 –Variation de flux dans un graphe connecté de 5 nœuds.

Qvij =              Qvij+ 1, |Qij| − |Qpij| ≥ 0 et Qij ≥ 0 +1, |Qij| − |Qpij| ≥ 0 et Qij < 0 Qvij− 1, |Qij| − |Qpij| < 0 et Qij ≤ 0 −1, |Qij| − |Qpij| < 0 et Qij > 0 (5.2)

Lorsque la différence |Qij| − |Qpij| est supérieure ou égale à 0 et Qij ≥ 0, Qv ij est incrémenté de 1. Cela veut dire que le flux dans ce lien a augmenté par rapport à son état précédent et sa chance d’être sélectionné augmente. Lorsque le flux aug-mente dans plusieurs liens, il faut beaucoup d’itérations pour déterminer le début de la monotonie [Zha+14b].

Lorsque |Qij| − |Qpij| est supérieur ou égale à 0 et Qij < 0, la variable Qvij est mise à 1. Le flux dans le lien correspondant a augmenté et peut désormais survivre. Alors, les valeurs négatives de Qvij précédemment enregistrées sont remises à 0.

Par contre, un début de régression d’un lien est mis en exergue par |Qij|−|Qpij| < 0. Dans cette condition, Qvij prend la valeur 1. Enfin, si |Qij| − |Qpij| < 0 et Qij ≤ 0 alors la fonction du flux suit une décroissance monotone qui conduit à l’élimination totale du lien.

Avec cette fonction de test, nous adaptons ainsi une heuristique plus rapide que le modèle mathématique de recherche du plus court chemin (algorithme

Phy-Route). Le nombre d’itérations est ainsi réduit de deux tiers par rapport à

l’al-gorithme PhyRoute. Cette heuristique est détaillée par l’all’al-gorithme

PhyRou-teX. La condition d’arrêt de l’algorithme PhyRouteX est le non changement

des flux dans tous les liens. Les deux algorithmes sont comparés par rapport au temps de convergence et le nombre d’itérations nécessaires. Les figures 5.8a et 5.8b montrent l’efficacité de l’algorithme PhyRouteX par rapport à l’algorithme

Phy-Route, il nécessite moins de temps pour converger [Zha+14b]. Ces résultats sont

obtenus pour un scénario où le nombre de noeuds varie de 100 à 1000. Sur les figures 5.8, chaque point représente la moyenne des valeurs obtenues pour 40 si-mulations. La source et la destination sont fixes pour toutes les simulations et les longueurs des arêtes sont aléatoirement attribuées au début de chaque série de tests [Zha+14b].

Nous utilisons l’algorithme PhyRouteX pour déterminer le plus court chemin entre une source et un point de collecte. Puisque le chemin est composé d’un en-semble de sommets du graphe et un sommet est un saut, nous obtenons le nombre de sauts qu’une source de données doit utiliser pour atteindre un point de collecte spécifique. Chaque saut représente un nœud qui relaie une information.

Les points de collecte sont des sous-puits qui reçoivent les informations de toutes les sources, les stockent et les retransmettent aux avions lorsqu’ils sont dans leur portée. Dans le paragraphe suivant, nous déterminons le temps néces-saire à tous les points de collecte pour transmettre leurs données à la destination finale par l’intermédiaire des avions.