• Aucun résultat trouvé

2.5 Approche proposée

2.5.2 Modélisation

2.5.2.1 Notations

La topologie du réseau RSU est représentée par un graphe G = (V, E), où V est l’ensemble des nœuds RSU et E l’ensemble des liens reliant ces nœuds. La matrice de

Figure 2.9: Description générale de l’approche proposée.

distance D, où dij ∈ D représente la distance entre le iième RSU et le jième RSU, expri-

mée en nombre de sauts. Le terme m = |V | indique le nombre total de RSU, et le terme

L représente le nombre d’entités RSU désignées comme contrôleur SDN.

La couverture du contrôleur (en nombre de sauts) est désignée par S. Elle représente la distance maximale en nombre de sauts entre une RSU donnée et son contrôleur (RSU choisie). Le terme zj définit la charge d’un contrôleur j. Il représente le nombre total des nœuds gérés par le contrôleur j.

Afin de favoriser le placement des contrôleurs dans des entités RSU situées à un endroit stratégique (intersection avec forte charge régulière), comme proposé initia- lement dans [Kalupahana Liyanage 2018], un coefficient est affecté à chaque entité,

Ci = {C1, C2, ..., Cm}, en fonction des caractéristiques de la mobilité de la zone qu’elle

couvre. Il est calculé comme suit :

Ci = p ∗

Rd∗ Vn

Vv (2.1)

Avec p une constante négative, Rd le degré du nœud RSU (c.-à-d., nombre de voisins directs), Vn le nombre moyen de véhicules, et Vv la vitesse moyenne des véhicules. Pour représenter les entités RSU assignées à chaque contrôleur, nous définissons la va- riable binaire xij. Précisément, xij = 1, si la RSU i est affectée au contrôleur j, sinon

2.5. Approche proposée 61 xij = 0. xij =     

1 si la RSU i est affectée au contrôleur j. 0 sinon.

(2.2)

Le tableau 2.2 résume l’ensemble des notations utilisées.

Table 2.2: Notations.

Notation Définition

D Matrice de distance

dij Distance entre le iième RSU et le jième RSU en terme de nombre de sauts

m Nombre d’entité RSU

L Nombre d’entités RSU sélectionnées comme contrôleur

N oV (i) Nombre de véhicules couverts par l’entité RSU i

xij Variable binaire (1 si l’entité RSU i est attachée au contrôleur j, sinon 0 ) ˆ

xij Constante binaire (dernier placement calculé)

Ci Coefficient de l’entité RSU i

S Couverture du contrôleur en nombre de sauts

zj Charge du contrôleur j (en terme de nombre de véhicules) zmin Charge du contrôleur la plus faible

zmax Charge du contrôleur la plus élevée α, β, γ Coefficients des objectifs du modèle

2.5.2.2 fonction objectif

 Nombre des contrôleurs

L’un des objectifs classiques du problème de placement des contrôleurs est de réduire le nombre de contrôleurs déployés, principalement pour des raisons de coût et de mainte- nance. Le nombre de contrôleurs est calculé comme suit :

L = m

X

j=1

Le terme xjj est égal à 1 si le RSU j est un contrôleur, sinon il vaut 0. Nous intro-

duisons le terme α∗L dans la fonction objectif afin de minimiser le nombre de contrôleurs.

 Latence entre les contrôleurs et les nœuds d’acheminement

L’un des principaux objectifs du placement est de minimiser la latence de communication entre les contrôleurs et les nœuds d’acheminement (RSU, véhicule). Dans notre modèle, la latence est représentée par la distance entre chaque nœud et son contrôleur en terme de nombre de sauts (désignée par dij). Plus la distance est grande, plus la latence est

importante.

Afin de minimiser la latence, nous ajoutons le terme 2.4 à la fonction objectif. Ce terme cherche à minimiser la distance entre les contrôleurs et les nœuds qui leur sont assignés.

m X i=1 m X j=1 (S − dij)Cixij (2.4)

 Équilibrage de la charge entre contrôleurs

Compte tenu des ressources limitées d’une entité RSU (capacité de traitement, sto- ckage, etc), l’entité RSU sélectionnée (en tant que contrôleur) ne peut gérer qu’un nombre limité de nœuds. L’un des objectifs du modèle proposé est d’équilibrer la charge entre les différents contrôleurs sélectionnés. Nous définissons zj la charge du contrôleur en terme

du nombre de véhicules. Elle est calculée comme suit :

zj =

m

X

i=1

xij∗ N oV (i) (2.5)

N oV (i) représente le nombre de véhicules couverts par l’entité RSU i. Rappelons que xij définit les affectations nœud-contrôleur. La somme permet de balayer l’ensemble des RSU rattachées au contrôleur j.

A partir de la charge de chaque contrôleur, l’idée est de calculer le cumul de la disparité de charge sur chaque couple de contrôleurs comme suit :

β m X j=1 m X j0=1 (zj− zj0)2 (2.6)

L’équation (2.6) peut être linéarisée avec une heuristique simplifiée comme suit :

β(zmax− zmin) (2.7)

Avec :

2.5. Approche proposée 63

Le terme 2.7 est intégré dans la fonction objectif. β représente le coefficient de l’équilibrage de charge. zmin et zmax représentent, respectivement, la charge la plus

faible et la charge la plus élevée du contrôleur.

 Coût de replacement

Dans notre approche, nous cherchons à adapter le placement des contrôleurs en fonction de l’évolution du trafic routier. Cela signifie que certains contrôleurs peuvent être ajoutés et/ou retirés, et des affectations noeud-contrôleur peuvent être modifiées. Ces changements augmentent la charge de synchronisation entre les contrôleurs ( Network

Overhead). L’objectif est de minimiser ces changements tout en adaptant le placement

aux fluctuations du trafic routier.

Nous dénotons {ˆxij|i, j ∈ [1, m]} le dernier placement calculé. Lorsque le trafic évolue

et que nous souhaitons modifier le placement actuel, il est préférable de favoriser un ajustement qui n’entraîne pas de modifications majeures du placement actuel.

Ceci est exprimé en minimisant la différence entre {xij|i, j ∈ [1, m]} et {ˆxij|i, j ∈ [1, m]}.

γ m X i=1 m X j=1 (xij ∗ (1 − ˆxij) + ˆxij ∗ (1 − xij)) . (2.9)

Notez que xij est une variable binaire (affectations nœud-contrôleur) et ˆxij est une

constante binaire (dernier placement calculé).

Le terme 2.9 est intégré dans la fonction objectif. γ est le coefficient de replacement. On pourrait affecter une grande valeur à ce coefficient afin de minimiser significativement les modifications du placement actuel.

2.5.2.3 contraintes

 Distance maximale entre un nœud et son contrôleur

La distance maximale entre un nœud et son contrôleur est bornée par la couverture maximale d’un contrôleur (désignée par S). L’équation 2.10 est introduite dans le mo- dèle comme une contrainte afin de garantir que la distance maximale entre un véhicule (couvert directement par un RSU) et son contrôleur ne dépasse pas la couverture maxi- male spécifiée.

dij.xij ≤ S − 1 (2.10)

 Nombre maximal de contrôleurs par noeud

contrôlé que par un seul contrôleur. ∀i : m X j xij = 1 (2.11)

Le modèle global peut être résumé comme suit :

minimiser α.L + m X i=1 m X j=1 (S − dij)Cixij + β(zmax− zmin) + γ m X i=1 m X j=1 (xij ∗ (1 − ˆxij) + ˆxij ∗ (1 − xij)) , (2.12) avec ∀z ∈ Z : zmin ≤ z ≤ zmax (2.13) ∀j : zj = m X i=1 xij∗ N oV (i) (2.14) ∀i, j : dij.xij ≤ S − 1 (2.15) ∀i : m X j xij = 1 (2.16) L = m X j=1 xjj (2.17) ∀i, j : xij = 0, 1 (2.18) L, zj ∈ Z+ (2.19)

2.6

Évaluation expérimentale

Nous avons formulé le problème sous forme d’un problème linéaire en nombre entiers (ILP). Comme son nom l’indique, les variables de ce problème sont des variables qui admettent uniquement des valeurs entières, à la différence d’un problème linéaire ou les variables peuvent avoir des valeurs réelles.

Pour résoudre cette classe de problèmes d’optimisation, la recherche exhaustive ne peut être considérée que pour de très petites instances du problème tenant compte de la complexité combinatoire.

Une solution naïve consiste à enlever la contrainte concernant la solution entière et de trouver une solution intermédiaire admettant des valeurs réelles à partir de laquelle la