Op`misa`on dans les télécommunica`ons Alloca`on de

publicité
18/03/10
Quelques problèmes d'op#misa#on •  Au niveau PHY: Op#misa#on dans les télécommunica#ons –  Alloca#on de fréquences –  Groupage dans les réseaux WDM. •  Au niveau MAC –  Alloca#on des canaux en TDMA •  Au niveau Routage –  Recherche du plus court chemin –  Routage d'un flot d'informa#on sur un réseau radio maillé OT Mobilité – Mars 2010 Ka#a Jaffrès-­‐Runser 9/03/10
•  Au niveau Applica#on –  Planifica#on de réseaux mobiles –  Dimensionnement d'un réseau de distribu#on de contenu 9/03/10
Alloca#on de fréquences (2) Alloca#on de fréquences •  Ressources Spectrales limitées. (ex : 174 canaux en GSM, 14 canaux en 802.11b) •  Réu#lisa#on spa#ale des fréquences pour augmenter la capacité du réseau •  Contraintes pour garan#r un C/I suffisant en minimisant les interférences. •  Garan#r un rapport signal à bruit suffisant : •  Ic = Interf. co-­‐canal, •  Ia = Interf. canal adjacent •  SINR = PR / (N+I) > 10 dB en 802.11 9/03/10
1
18/03/10
Alloca#on de fréquences (5) Alloca#on de fréquences (3) •  La contrainte sur le SINR doit être remplie sur toute la zone de service du point d'accès. •  Nécessite des cartes de couverture → Calculs coûteux. Approxima#ons possibles 9/03/10
Groupage dans les réseaux WDM •  Réseaux op#ques : Transport pour chaque λ d'un trafic STM-­‐16 (2.5 Gbit/s) •  Problème du groupement des λ qui suivent le même chemin dans les bandes 9/03/10
Groupage dans les réseaux WDM (2) –  3 types d'équipement dans les neouds de communica#on : •  F_OXC : Répéteur, •  W_OXC : Démul#plexe au niveau des longueurs d'onde et commute les signaux •  B_OXC : Démul#plexe au niveau des bandes et commute les bandes •  Coût des équipements à déployer Coût(F_OXC) < Coût(B_OXC) < Coût(W_OXC) 9/03/10
2
18/03/10
Groupage dans les réseaux WDM (3) Groupage dans les réseaux WDM (4) •  Objec#f du problème : •  Grouper au mieux les longueurs d'onde dans les bandes et les bandes dans les fibres de façon à minimiser le coût total du déploiement des nœuds de communica#on du réseau. F = Min(Sum_OXC Coût(OXC))
?
F-, B- ou W-OXC ?
?
?
?
9/03/10
Alloca#on de canaux TDMA (dans un réseau cellulaire) Alloca#on de canaux en TDMA •  On a : – 
– 
Channel State Info :
SINR sur chaque slot
Un ensemble de K u#lisateurs par AP, Transmission TDMA Problème – 
Auribuer à chaque u#lisateur une frac#on du temps de parole λ de façon à maximiser le débit des u#lisateurs. ....
AP
K utilisateurs
9/03/10
R time slots
9/03/10
3
18/03/10
Recherche d’un plus court chemin Recherche d’un plus court chemin Pour un routage mul#-­‐sauts : Déterminer une route qui représente un plus court chemin entre S et D pour une métrique choisie. D
•  On représente le réseau par un graphe pondéré •  On recherche sur le graphe pondéré le chemin p* qui minimise la somme des poids • 
D
di
di
S
S
9/03/10
9/03/10
Routage d'un flot de data sur un réseau radio maillé Dans un réseau cœur (backbone) sans-­‐fils (3G, LTE), mul#-­‐sauts et haut débit   Réseau périodique, un seul canal radio, synchrone.   Période de temps découpée en intervalles t = {1,..T} IP
  A chaque période, chaque AP
point d'accès injecte des données (demande) à écouler par les Demande
passerelles  
Routage d'un flot de data sur un réseau radio maillé •  Déterminer l'ordre d'ac#va#on des liens qui permeue de maximiser la capacité du réseau •  Capacité : La quan#té de flot que peut répar#r équitablement une topologie donnée à chaque u#lisateur qu'elle sert : 1
AP
4
3
routeur
4
2
3
1
4
2
routeur
Max capacité → Min Période T
9/03/10
2
3
t=1
1
1
9/03/10
4
18/03/10
Planifica#on de réseaux mobiles. •  Recherche de la posi.on des Eme2eurs pour obtenir une Qualité de Service donnée (couverture, interférences, débit…) . E3
Zone de
Couverture de E1
E1
E2
E4
9/03/10
Planifica#on de réseaux mobiles Plusieurs probléma#ques : → Garan#r une couverture. → Garan#r un rapport C/I minimal. → Proposer une solu#on qui garan#t un débit donné dans certaines pièces. → Minimiser le nombre d’émeueurs en tenant compte de la qualité de la couverture. → Proposer une configura#on d’émeueurs op#male pour un service de localisa#on. 9/03/10
Dimensionnement d'un réseau de distribu#on de contenu Dimensionnement d'un réseau de distribu#on de contenu • 
9/03/10
Pour fournir un meilleur service, on déploie un ensemble de serveurs 'relais' et on mutualise leur u#lisa#on. 9/03/10
5
18/03/10
Dimensionnement d'un réseau de distribu#on de contenu • 
• 
Un tel déploiement permet de diminuer le temps de téléchargement d'un fichier Problème : Formula#on et Modélisa#on Formula#on Con#nue Formula#on Combinatoire Combien de serveurs doit-­‐on installer pour que la QoS perçue par les u#lisateurs soit bonne / garan#e ? 9/03/10
9/03/10
Formula#on con#nue •  L’espace des solu#ons D est con#nu. •  On cherche à résoudre un problème du type •  Ceci est un problème d’op#misa#on sans contraintes •  Une seule fonc#onnelle à op#miser sur tout l’espace de recherche. 9/03/10
Formula#on con#nue •  Si l’on cherche à résoudre le problème sur un sous-­‐espace D’ de D ou en projetant la fonc#on sur un autre espace D’’, on introduit des contraintes •  Contraintes d’égalité : •  Contraintes d’inégalité :: 9/03/10
6
18/03/10
Formula#on con#nue •  Si on a un problème avec une formula#on simple, on peut se ramener à un problème d'op#misa#on sans contraintes sur D. •  U#lisa#on de termes de pénalité Formula#on con#nue : exemple •  Planifica#on de réseaux mobiles WLAN. •  Les Variables : –  Posi#ons (x, y) de chaque émeueur dans un espace plan con#nu borné. –  Le nombre NS d’émeueurs est fixé. •  Nombre de dimensions : 2*NS •  Solu#on : 9/03/10
9/03/10
Formula#on con#nue : exemple  
9/03/10
On a des bornes sur : Formula#on con#nue : exemple  
Une solu#on : deux AP posi#onnés 9/03/10
7
18/03/10
Critère d'op#misa#on : la couverture Formula#on con#nue : exemple •  Condi#ons sur le seuil S –  → On a xl * yl contraintes en chaque point : –  Fonc#on d'évalua#on à minimiser : –  Avec p(x,y) la puissance reçue au point (x,y) 9/03/10
9/03/10
Formula#on combinatoire •  On définit un ensemble de variables D discret contenant toutes les valeurs de xi : •  L’ensemble de solu#ons S est formé par combinaison d’un ou plusieurs ensembles D. Formula#on combinatoire •  Un exemple de critère linéaire : •  Avec ci le coût associé à la sélec#on de la variable xi •  Contraintes possibles : •  But : Trouver la combinaisons de xi qui minimise un critère donné avec ou sans contraintes •  Avec S = {x1, ..., xn} une solu#on 9/03/10
9/03/10
8
18/03/10
Formula#on combinatoire •  Les variables xi peuvent être : –  réelles : xi ∈ ℜ –  en#ères : xi ∈ ℵ –  binaires : xi ∈ {0, 1} –  Si la fonc#on et les contraintes sont linéaires : •  Si les variables sont réelles, on a un problème → de programma#on linéaire •  Si les variables sont en#ères, on a un problème → de programma#on linéaire en nombre en#er •  Si les variables sont binaires, on a un problème → de programma#on linéaire en nombre binaire ({0,1} programming) 2-­‐ Formula#on Combinatoire : Exemple •  L’espace discret D est cons#tué par un ensemble de posi#ons poten#elles de points d’accès : –  Pi=0 : absence d’un émeueur à la ième posi#on. –  Pi=1 : présence d’un émeueur.. •  Une solu#on est composée des n variables de décision Pi : S = {P1, … , Pi, … , PN} 9/03/10
9/03/10
2-­‐ Formula#on Combinatoire : Exemple Pi =
0
Solution : l’ensemble des points noirs.
2-­‐ Formula#on Combinatoire : Exemple •  Même critère que la formula#on con#nue : –  Condi#ons sur le seuil : c(x,y) = p(x,y) – S ≥ 0 –  Fonc#on d’évalua#on à minimiser : –  Avec p(x,y) = max{xi, i∈[1..n]}(pxi(x,y)) la puissance reçue au point (x,y). Pi =
1
Auen#on : Ce n’est plus un programme linéaire ! 9/03/10
9/03/10
9
18/03/10
Difficulté d'un problème Difficulté d’un problème d’op#misa#on •  Algorithme de recherche le plus évident : la recherche exhaus#ve •  Est-­‐ce qu'une telle approche est toujours réalisable ? •  … cela dépend du temps de calcul à sa disposi#on ! 9/03/10
9/03/10
Difficulté d'un problème •  Quels facteurs influencent la durée de la résolu#on ? → Le nombre de variables. → La taille du domaine de défini#on de chaque variable. → La forme de la fonc#on d’évalua#on. → Le temps de calcul nécessaire à l’évalua#on d’une solu#on. 9/03/10
Difficulté : Formula#on discrète •  Instance du problème : –  La taille de l’espace des solu#ons. –  Ex: •  Pour une recherche exhaus#ve dans un dic#onnaire de N mots -­‐> N est la taille de l’instance du problème de recherche •  Pour la planifica#on de NS points d’accès, l’instance est définie par NS et le nombre de posi#ons poten#elles M. La taille du problème vaut N = M^NS 9/03/10
10
18/03/10
Difficulté : Formula#on discrète. Difficulté : Formula#on discrète. •  Formula#on discrète : No#on de Complexité « Le nombre d’opéra#ons élémentaires effectuées par l’algorithme pour résoudre un problème de taille N. » •  Complexité au pire cas et en moyenne. •  C’est un ordre de grandeur du nombre d’opéra#ons (constantes peu importantes). •  On compare asympto#quement la complexité de 2 algorithmes (pour une même instance de taille n): •  On note f = 0(g) si, asympto#quement, 9/03/10
9/03/10
Complexité : formula#on discrète –  f est au plus du même ordre de grandeur que g, i.e. s’il existe une constante a et un en#er M tels que f(n) ≤ a*g(n) pour n ≥ M. •  On note f = o(g) si, asympto#quement, –  f est négligeable devant g, i.e. si pour toute constante a il existe M tel que f(n) ≤ a*g(n) pour n ≥ M. Complexité : formula#on discrète •  La complexité d’un problème est la complexité du meilleur algorithme que l’on a trouvé pour le résoudre. •  On dit qu’un algorithme est op#mal, si sa complexité coïncide avec celle du problème. 9/03/10
9/03/10
11
18/03/10
Classe de problèmes •  Problèmes sub-­‐linéaires : •  Problèmes linéaires : O(N) et O(N.log(N)) •  Problèmes en : O(log(N)) O(N2) et O(N3) •  Problèmes polynomiaux (classe P) : O(Nk), k>3 •  Problèmes exponen#els : O(kN) 9/03/10
9/03/10
Difficulté : Formula#on discrète Plus court chemin
Tri d'un tableau
•  Un univers / problèmes est dit déterministe si le hasard n'intervient pas dans le cours du processus. •  Problèmes de la classe P → Une solu#on peut résolu en temps polynomial par une machine déterministe •  Problème de la classe NP (Nondeterminis#c Polynomial) → Une solu#on peut être vérifiée en temps polynomial mais pas trouvée en temps polynomial de façon déterministe. 9/03/10
9/03/10
12
18/03/10
Difficulté : Formula#on discrète •  Problèmes les plus difficiles: Classe NP-­‐
Complet → On ne connait pas d'algorithme qui puisse résoudre ces problèmes en temps polynomial de façon déterministe → Classe P ⊂ Classe NP, ..... mais on ne sait toujours pas si P = NP ! 9/03/10
Difficulté : formula#on Con#nue. •  Le nombre de solu#ons n est infini ! •  La difficulté se trouve au niveau de la nature de la fonc#on d’évalua#on : –  Si f est convexe, une simple stratégie de descente converge. 9/03/10
Difficulté : Formula#on discrète • 
Problèmes NP-­‐Complets: → Colora.on d'un graphe : Alloca#on de fréquences → Couverture d'ensemble : Problème de planifica#on de réseau cellulaires → Ordonnancement pour réduire le temps de complé.on : Problème de max capacité sur un réseau Mesh 9/03/10
Difficulté : Formula#on con#nue • 
Un problème bien posé au sens du mathéma#cien Jacques Hadamard : 1. doit posséder une solu#on 2. unique 3. qui dépend con#nûment des données → (3) signifie qu’une faible varia#on des données
(bruit, arrondi des valeurs…) introduit une varia#on importante sur la valeur de la solu#on -­‐> Solu#on instable. 9/03/10
13
18/03/10
Difficulté : Formula#on con#nue 9/03/10
Difficulté : Formula#on con#nue 9/03/10
Difficulté : Formula#on con#nue •  Si l’évalua#on d’une solu#on est coûteuse en temps de calcul, il est d’autant plus important de trouver un algorithme Op#mal. Les principaux algorithmes de résolu#on. •  Quand l’évalua#on est rapide, on peut se permeure de tester un plus grand nombre de solu#ons. 9/03/10
Pour une formula#on con#nue Pour une formula#on combinatoire 9/03/10
14
18/03/10
Recherche linéaire •  Recherche linéaire : –  Brique de base des autres méthodes con#nues. –  Recherche itéra#ve du minimum dans une seule direc#on : Pas de recherche
Algorithmes pour l’op#misa#on con#nue •  A l’itéra#on k, on cherche : Recherche linéaire Algorithmes basés sur le gradient Recherche directe 9/03/10
•  Tel que : 9/03/10
Recherche linéaire •  Deux recherches linéaires •  Performance dépend du choix de d et de lambda Recherche linéaire •  Recherche linéaire : –  Il existe un pas op#mal λ* pour lequel on trouve le minimum local dans la direc#on d xi
d2
λ
Xi+1
–  Calcul de λ* long : en pra#que, on détermine un λ qui assure une décroissance suffisante de f •  Choix de λ dans un intervalle de sécurité suivant des lois précises (Lois d’Armijo, Goldstein, Wolfe..). d1
9/03/10
Direction
9/03/10
15
18/03/10
Algorithmes basés sur la dérivée. •  Algorithmes basés sur les fonc#ons dérivées de f : –  Méthode des gradients –  Méthode des gradients conjugués –  Méthode de Newton –  Méthode de Quasi Newton. 9/03/10
Algorithmes basés sur la dérivée. Algorithmes basés sur la dérivée. •  Méthode des gradients. •  Recherche linéaire dans la direc#on qui suit la plus forte pente. •  Macro algorithme (itéra#on k) : –  Calcul du gradient de f –  Recherche linéaire dans la direc#on du gradient décroissant pour dk = ∇f(xk) : 9/03/10
Algorithmes basés sur la dérivée. •  Dans la direc#on g(xk)= ∇f(xk) , la dérivée direc#onnelle est nulle au minimum: •  Au minimum, le vecteur gradient de f au point xk+1 est orthogonal au gradient au point xk. 9/03/10
9/03/10
16
18/03/10
Algorithmes basés sur la dérivée. •  Méthode des gradients. –  Convergence garan#e pour une fonc#on convexe en un nombre infini d’itéra#ons. •  Problèmes majeur : Algorithmes basés sur la dérivée •  Méthode des gradients conjugués. •  Deux vecteurs di et dk sont conjugués, càd orthogonaux par rapport à une matrice semi définie posi#ve Q , si : –  Lenteur de la convergence ! •  Le pas est une fonc#on linéaire du gradient ∇f(xk) •  Plus le gradient est faible, plus le pas l’est aussi. –  Dépendant de la solu#on de départ pour des fonc#on non convexes. 9/03/10
9/03/10
Algorithmes basés sur la dérivée. d et d’ sont conjugués
Fonction f
Espace de travail
9/03/10
•  Si on se transpose dans l’espace quadra#que associé à Q , di et dk sont orthogonaux. Espace quadratique
‘déformé’
Algorithmes basés sur la dérivée. •  Dans l’algorithme, au lieu de choisir la direc#on orthogonale à chaque itéra#on, on choisit une direc#on conjuguée à la direc#on précédente. •  Si la fonc#on f est purement quadra#que, on converge en 1 itéra#on –  On a trouvé la direc#on de la ligne qui passe par le centre de la forme quadra#que. •  Améliore la lenteur de convergence : –  On ne change pas de direc#on à angle droit à chaque itéra#on 9/03/10
17
18/03/10
Algorithmes basés sur la dérivée. •  Algorithme des gradients conjugués Algorithmes basés sur la dérivée. •  Méthode de Newton : –  Adapté aux fonc#on d’évalua#ons quadra#ques –  Marche bien sur les autres formes de fonc#ons convexes. –  Plus la fonc#on f diffère d’une forme quadra#que, plus l’algorithme converge lentement (les direc#ons sont de moins en moins conjuguées). –  En général : Algorithme plus efficace que l’algorithme de descente de gradients. –  Même sensibilité par rapport au choix du point de départ -­‐> Convergence pour des fonc#ons convexes! 9/03/10
–  Résolu#on d’une équa#on non linéaire g(x) = 0, g:ℜn → ℜn , à par#r d’une solu#on de départ x0 ∈ ℜn. –  A chaque itéra#on, on calcule le point xk+1 : –  Ici, le pas de recherche est inversement propor#onnel au gradient 9/03/10
Algorithmes basés sur la dérivée. Algorithmes basés sur la dérivée. •  Méthode de Newton pour la minimisa#on de f(x) : •  On veut améliorer la convergence •  On rajoute une étape de recherche linéaire dans la direc#on : –  On u#lise le même principe en posant g(x) = ∇f(x). –  On cherche alors le point où ∇f(x)=0 : •  Dans ce cas, on cherchera le minimum dans ceue direc#on (après avoir choisi le pas λk) : –  Converge rapidement si x0 est proche de x*, sinon, c’est très long….. 9/03/10
9/03/10
18
18/03/10
Algorithmes basés sur la dérivée. Algorithmes basés sur la dérivée. •  Ceci marche si dk est une direc#on de descente, donc si : •  Algorithme de Quasi Newton : –  Consiste à subs#tuer le hessien ∇²f(xk) par une matrice définie posi#ve Bk calculée à chaque itéra#on au point courant xk. –  Défini#on générale d’un quasi Newton : •  Ainsi, on doit avoir ∇²f(xk) une matrice définie posi#ve -­‐> Ce n’est pas toujours le cas ! 9/03/10
9/03/10
Algorithmes basés sur la dérivée. 1-­‐ Algorithmes d’op#misa#on con#nue •  Algorithme de Quasi Newton : Que faire quand on ne peut
pas calculer directement le
gradient de f ?
–  Approxima#on Bk : •  On part d’une matrice iden#té I
•  A chaque itéra#on k, on calcule : –  Plusieurs formules existent pour calculer Δk : •  formula of Broyden •  formula of Davidon,Fletscher and Powell (DFP) •  formula of Broyden, Fletscher, Goldfarb and Shanno (BFGS) 9/03/10
Estimer ∇f par
différences finies
Ne pas travailler avec ∇f ! 9/03/10
19
18/03/10
Algorithmes de recherche directe •  Méthodes de Recherche Directe. •  C’est l’observa#on d’un jeu de solu#ons qui implique à chaque itéra#on –  Une comparaison du jeu de solu#ons avec la meilleure existante. –  Une stratégie de choix du prochain jeu de solu#on. •  Pas de calcul de gradient. 9/03/10
Algorithmes de recherche directe •  Méthodes à grilles discrètes. –  L’espace Rn est limité par des contraintes (ai ≤ xi ≤ bi pour i ∈ [1..n]). –  Un maillage régulier est défini dans cet espace. –  A chaque nœud correspond un solu#on. –  A chaque itéra#on k, on doit produire une valeur xk+1 pour laquelle f(xk+1) ≤ f(xk). –  L’algorithme s’arrête s’il n’y a pas d’améliora#on après L itéra#ons. 9/03/10
Algorithmes de recherche directe •  Trois groupes d’algorithmes : –  Méthodes à grilles discrètes. •  Méthode de « Hooke and Jeeve » –  Algorithmes de recherche à mo#fs. •  Algorithme du Simplex –  Méthodes à direc#on de recherche adapta#ve. •  Méthode de Powell (méthode de recherche à direc#ons conjuguées). 9/03/10
Algorithmes de recherche directe •  Méthode de « Hooke and Jeeve » –  Recherche linéaire dans la direc#on dk = 2xk -­‐xk-­‐1 –  Si la solu#on obtenue y* est meilleure que la solu#on précédente, on passe à l’itéra#on suivante. –  Sinon, on effectue une recherche linéaire dans les n direc#ons de Rn. •  Ceue méthode prend en compte le passé. •  Elle converge si f est convexe. 9/03/10
20
18/03/10
Algorithmes de recherche directe •  Algorithmes de recherche à mo#fs –  Ces algorithmes u#lisent des mo#fs ou des figures géométriques pour explorer l’espace des solu#ons. •  L’algorithme le plus connu : –  La méthode du Simplex proposé par Spenley et Al. en 1962. Algorithmes de recherche directe •  La méthode du Simplex. •  Simplex : Figure géométrique de (n+1) points dans une espace à n dimensions. •  Idée : –  A chaque itéra#on, construire un simplex non vide dont l’inclinaison dirige la recherche sur f. Simplex dans R²
•  Chaque nœud du simplex représente une solu#on. 9/03/10
9/03/10
Algorithmes de recherche directe •  A chaque itéra#on : –  On évalue tous les sommets du simplex –  On sélec#onne x* le pire sommet (au sens de la décroissance de f) –  On déplace la posi#on du sommet en réalisant une réflexion par rapport au centre de gravité du simplex. f = 9.2
•  D’autres mouvements sont possibles en fonc#on des valeurs aux sommets : x*
f = 3.2
f = 5.3
Algorithmes de recherche directe –  L’expansion (double la distance de réflexion) –  La contrac#on (divise par 2 la distance de réflexion) –  La réduc#on -­‐> si aucun mouvement n’améliore f, on divise le côte du simplex par 2. •  Algorithme très souvent u#lisé, mais qui peut ne pas converger pour certaines fonc#ons convexes ! (simplex orthogonal au plan tangent). Nouveau Sommet
9/03/10
9/03/10
21
18/03/10
Algorithmes de recherche directe •  Rappel : formula#on con#nue. •  Résultats pra#ques : –  Posi#onnement de 2 émeueurs sur une ligne entre 0 et xl de façon à garan#r une couverture > Seuil S. –  Calcul de la couverture de chaque émeueur (loi du pathloss) –  Couverture globale : Maximum des niveaux de champs de chaque émeueur. E1
0
Algorithmes de recherche directe E2
–  Condi#ons sur le seuil •  xl contraintes c(x) = p(x) – S ≥ 0 –  Fonc#on d’évalua#on à minimiser : –  Avec xl
•  p(x) la puissance reçue au point x. x
9/03/10
9/03/10
Algorithmes de recherche directe Algorithmes de recherche directe •  Instance du problème : Représentation de la fonction d’évaluation :
–  2 sources –  xl = 1000 mètres –  Seuil -­‐80 dBm Fonction f
•  Deux op#mums à f = 1.6024.10E4 : Position de E1
9/03/10
Position de E2
–  E1 : 251 m et E2 : 751 –  E1 : 751 m et E2 : 251 Problème symétrique ! 9/03/10
22
18/03/10
Algorithmes de recherche directe Algorithmes de recherche directe Quasi Newton
Solution Optimale
X_0
(100;200)
(200;100)
(100;200)
(200;100)
X_Opt
(250.5;751)
(751;250.5)
(251;751.5)
(751.5;251)
F_Opt
9/03/10
Algorithmes de recherche directe Simplex
1.64024*10E4
1.64024*10E4
Nb Iterations
7
72
Nb Evaluations
39
133
9/03/10
Algorithmes de recherche directe • 
• 
• 
• 
Les deux algorithmes convergent. Deux minimums équivalents Convergence en fonc#on du point de départ x0 Algorithme de Quasi Newton plus efficace car 70% d’évalua#ons en moins. •  Quasi Newton plus efficace car on travaille sur un fonc#on localement convexe. •  Méthodes à direc#on de recherche adapta#ve : 9/03/10
9/03/10
–  Algorithme de Powell : implémenta#on de l’algorithme des gradients conjugués sans calcul des dérivées. –  A chaque itéra#on, l’algorithme produit une direc#on de recherche. L’ensemble de ces n direc#ons sont conjuguées. 23
18/03/10
Récapitula#f Algorithmes Con#nus : Algorithmes pour l’op#misa#on combinatoire Programma#on linéaire Branch and Bound Algorithmes d’approxima#on Métaheuris#ques 9/03/10
9/03/10
Programme linéaire Combinaison linéaire des variables
m contraintes linéaires
Programma#on linéaire : Exemple •  Dimensionnement d’un réseau type WLAN –  On cherche à minimiser le nombre d’AP tout en garan#ssant la couverture du réseau et l’écoulement du trafic. •  Soit : –  N posi#ons possibles d’APs –  xi la variable binaire de sélec#on d’un AP –  qji : le Trafic Test Point (TTP) j est couvert par i –  T le nombre max de TTP qu’un hotspot peut couvrir 9/03/10
xi = 0
xi = 1
qji = 1
qji = 0
TTP j couvert par i
9/03/10
24
18/03/10
Programma#on linéaire : Exemple Min le nombre d’APs
Programme linéaire •  Problème Primal s.t.
(1)
1 seul AP couvre chaque TTP
(2)
Chaque AP couvre au plus T TTP
On a n variables Et m contraintes Les valeurs de qji sont fonction de la couverture des APs
9/03/10
9/03/10
Programme linéaire •  Problème Primal •  Problème Dual Programme linéaire •  A chaque contrainte primale correspond une variable duale •  Les deux problèmes sont fortement liés : –  Si l’un possède une solu#on op#male, l’autre aussi –  De plus, ils ont la même valeur z* = w* On a n variables Et m contraintes 9/03/10
On a m variables Et n contraintes •  Intéressant si le problème dual est plus simple à résoudre •  Principaux algorithmes de résolu#on : –  Algorithme du Simplexe (différent du simplex en op#misa#on con#nue) –  Méthode du point intérieur –  Généra#on de colonnes (on exploite la formula#on primal / dual) 9/03/10
25
18/03/10
Demo : Facility loca#on problem •  Example CPLEX : Une compagnie veut ouvrir 4 nouveaux entrepôts pour servir 9 régions -­‐> Minimiser le coût de l’installa#on xi : Choix d’une usine
Minimize obj: cost Subject To c1: -­‐ cost + fixed + transport = 0 yij : faut-il transporter des
données de l’usine i à la
région j ?
c2: -­‐ fixed + 130 x1 + 150 x2 + 170 x3 + 180 x4 = 0 c3: -­‐ transport + 10 y11 + 30 y12 + 25 y13 + 55 y14 + 10 y21 + 25 y22 + 25 y23 + 45 y24 + 20 y31 + 23 y32 + 30 y33 + 40 y34 + 25 y41 + 10 y42 + 26 y43 + 40 y44 + 28 y51 + 12 y52 + 20 y53 + 29 y54 + 36 y61 + 19 y62 + 16 y63 + 22 y64 + 40 y71 + 39 y72 + 22 y73 + 27 y74 + 75 y81 + 65 y82 + 55 y83 + 35 y84 + 34 y91 + 43 y92 + 41 y93 + 62 y94 = 0 9/03/10
Demo : Facility loca#on problem •  Contraintes addi#onnelles : – 
– 
– 
– 
Chaque région a besoin d’une quan#té de biens Chaque entrepôt peut stocker une quan#té limite de biens Chaque région ne peut être servie que par un seul entrepôt Un entrepôt i doit être ouvert pour que les biens transitent de i vers la région j •  Stats Problème : –  1 objec#f, 43 variables, 52 contraites non-­‐linéaires •  Résolu#on avec CPLEX 9/03/10
Demo : Solu#on 9/03/10
9/03/10
26
18/03/10
Représenta#on de l’espace de recherche Branch and Bound methods. •  On cherche ici à minimiser f(x) pour laquelle x appar#ent à un espace borné. •  On suppose qu’on a –  Un moyen de définir une borne inférieure pour une instance du problème. –  Un moyen de définir une borne supérieure pour une instance du problème. –  Un moyen de diviser l’espace borné pour créer des sous problèmes. •  Arbre de profondeur N, le nombre de variables 0
1
0
0
1
1
0
0
1 0
1
0
1
00 ……101
9/03/10
9/03/10
Branch and Bound Methods •  Branch •  Au début, on travaille avec tout l’espace (root problem). 0
1
0
0
Branch and Bound Methods 1
1
0
0
1 0
1
0
1
–  On calcule les bornes supérieures et inférieures sur cet espace. (Bounds) –  Si ces bornes coïncident, on a trouvé une solu#on op#male. –  Sinon, on subdivise l’espace en sous espaces (Branch) disjoints (par##on de l’espace). •  On ob#ent des sous problèmes ‘fils’ 00 ……101
9/03/10
9/03/10
27
18/03/10
Branch and Bound Methods •  A chaque sous problème, on applique la même procédure récursivement. •  Bound 0
1
–  On ob#ent un arbre de sous problèmes. –  Si on trouve une solu#on du sous problème, on a trouvé une des solu#ons faisables du problème, mais pas nécessairement une solu#on op#male. 1
Inf(F(x))≤0F(x) ≤ Sup(F(x))
1
0
Branch and Bound Methods. 0
1 0
0
1
0
1
00 ……101
•  On u#lise ceue solu#on pour couper des branches de l’arbre pour lesquelles la borne inférieure est supérieure à ceue solu#on (On a trouvé mieux que la borne !). •  L’algorithme se termine quand toutes les branches on été coupées ou explorées. 9/03/10
9/03/10
Algorithmes d’approxima#on. Algorithmes d’approxima#on. •  Pour un problème donné, on va chercher un algorithme dédié, spécifique au problème. •  On nomme souvent cet algorithme une heuris#que. •  Quand le problème est exponen#el ou NP complet, on cherche la meilleure heuris#que possible. •  Famille d’heuris#ques très u#lisée basée sur la Stratégie du glouton. •  Algorithme du Glouton. •  Quand on a un problème ou on doit sélec#onner un sous ensemble d’éléments dans un ensemble D pour former une solu#on (typiquement le pb de planifica#on). Pi = 0
Pi = 1
9/03/10
9/03/10
28
18/03/10
Algorithmes d’approxima#on. •  On ordonne tous les éléments en fonc#on d’un critère (par ex. le nb de points couverts par chaque émeueur). •  L’algorithme part d’un ensemble vide et rajoute un élément après l’autre. •  A chaque étape, la solu#on doit rester faisable, sinon, l’élément n’est pas rajouté. Algorithmes d’approxima#on •  Algorithme glouton : –  Algorithme d’approxima#on ! –  Permet de trouver une solu#on, par contre, on ne sait pas si elle est op#male ! –  La qualité d’une solu#on dépend du choix du mode de tri u#lisé. –  par ex., si le l’ajout d’une source ne rajoute pas de points couverts, on ne la sélec#onne pas. 9/03/10
9/03/10
Algorithmes d’approxima#on •  Algorithmes de recherche locale –  Stratégie triviale ! A chaque itéra#on : –  On teste les proches voisins dans l’espace discret des solu#ons –  On choisit le meilleur. •  Pour se faire, il faut définir ce qu’est un voisinage. •  Converge forcément vers un minimum local ! •  Comment choisir le point de départ pour aller vers l’op#mum global ? 9/03/10
Op#misa#on Globale vs Locale •  La plupart des algorithmes présentés jusqu’ici convergent localement. •  Or, si l’on souhaite obtenir le minimum global, on doit éviter de s’arrêter au minimum local le plus proche. •  Comment éviter cela ? 9/03/10
29
18/03/10
Recherche Globale vs Locale. •  Meure en place une stratégie qui permeue d’accepter une dégrada#on du critère à un moment donné. •  Meure en place –  une phase d’explora#on de l’espace où l’on recherche les zones intéressantes (Recherche globale) –  une phase de convergence où l’on travaille localement sur les zones sélec#onnées précédement. 9/03/10
Les Métaheuris#ques. Une Métaheuris#que est un ensemble de concepts qui peuvent être u#lisés pour définir des heuris#ques (algorithmes) qui peuvent être appliquées à un grand ensemble de problèmes différents. •  On les u#lise en général quand les problèmes sont difficiles. 9/03/10
Les Métaheuris#ques. •  C’est un schéma générique d’algorithme qui peut être adapté à différents problèmes d’op#misa#on. •  Il faut peu de modifica#ons pour adapter une métaheuris#que à un problème par#culier. •  Mêlent recherche globale et locale. Les Métaheuris#ques •  Elles comprennent principalement les algorithmes : –  Recuit Simulé, –  Recherche Tabou, –  Géné#que, –  Colonies de fourmis. •  …. Et d’autres ! 9/03/10
9/03/10
30
18/03/10
Le Recuit Simulé. •  Inspiré du procédé de recuit des métaux : –  Pour arriver à un état stable (op#mal) après fusion, un métal est refroidit lentement. –  Au cours du refroidissement, il est recuit par intermiuence. –  Ceci lui permet d’arriver à un état d’énergie minimal stable, op#mal. Le Recuit Simulé. •  Par analogie, on définit l’énergie ini#ale du processus d’op#misa#on E et la température ini#ale T. •  A chaque itéra#on, on modifie localement la solu#on et on analyse le changement d’énergie. –  Si ΔE est néga#f, on accepte la solu#on, –  Si ΔE est posi#f, on accepte la solu#on avec une probabilité donnée par : Energie potentielle
Recuit
Temps
9/03/10
9/03/10
Le Recuit Simulé. Le Recuit Simulé •  A chaque itéra#on, on fait décroître T. •  Au début, T est élevé et la probabilité d’accep#on une transi#on qui dégrade f est grande. •  Quand T est faible, la probabilité d’accepter une même transi#on est faible. •  La convergence de l’algorithme est réglée par le schéma de refroidissement de T. 9/03/10
f
La probabilité d’acceptation permet à
l’algorithme de ne pas rester stoppé dans
un minimum local.
1
2
3
x
9/03/10
31
18/03/10
La Recherche Tabou La Recherche Tabou. •  Se base sur une recherche locale •  Originalité : On garde en mémoire les chemins que l’on a déjà fait et on évite de repasser par là s’il n’ont pas été fructueux. •  Début de l’algorithme : •  Au début de l’algorithme, on explore l’ensemble de solu#ons -­‐> Phase de diversifica#on. •  Quand on a réussi à localiser des sous-­‐espaces intéressant, on cherche à localiser les op#mums -­‐> Phase d’intensifica#on. –  recherche d’un minimum local. –  Stocke le chemin parcouru dans une liste tabou. 9/03/10
9/03/10
La Recherche Tabou. Algorithmes Evolu#onnaires. •  Les variantes de ceue métaheuris#que se différencient pas la taille et l’adaptabilité de la mémoire (liste tabou). •  Méthode à l’origine purement combinatoire. On commence à l’appliquer à des problèmes con#nus. •  Méthode intéressante quand on a beaucoup de variables. •  C’est la famille qui comprend les algorithmes géné#ques. •  Inspiré par l’Evolu#on des Espèces dans la nature. •  Basée sur la sélec#on naturelle des individus les meilleurs et le croisement des individus. 9/03/10
9/03/10
32
18/03/10
Algorithmes Evolu#onnaires. •  Macro-­‐Algorithme : –  On créé un premier ensemble de solu#ons : la Popula#on Ini#ale. –  On évalue chaque individu de ceue popula#on. –  On répète : •  Sélec#on des meilleurs Individus. •  Lancement des opérateurs géné#ques pour créer une nouvelles popula#on. •  Evalua#on de la nouvelle popula#on. –  Jusqu’à ce que le critère soit aueint. 9/03/10
Algorithmes Evolu#onnaires. •  Opérateurs géné#ques : –  Muta#on des Individus -­‐> U#lisa#on d’une probabilité de muta#on. –  Croisement des Individus -­‐> U#lisa#on d’une probabilité de croisement. •  Type d’algorithmes u#lisés très souvent. •  Surtout appliqué à des problèmes sans contraintes. 9/03/10
Colonies de Fourmis. •  Inspiré par la quête de nourriture d’une colonie de fourmis et de leur comportement social. •  Une fourmi : peu de mémoire ! •  Pour palier à cela, leur société est organisée autour du travail collabora#f. •  Communica#on par des s#muli : –  Dépôt d’une phéromone par la fourmi pour signaler le chemin vers une source de nourriture. –  Ceue phéromone est vola#le ! 9/03/10
Colonies de fourmis. •  L’algorithme créé une popula#on de fourmis qui va se déplacer dans l’ensemble de solu#on représenté sous la forme d’un graphe. •  A chaque déplacement, on collecte plus d’informa#on sur f. •  Chaque fourmi choisi son chemin aléatoirement mais la probabilité de choix est pondérée par la concentra#on de phéromone. •  Plus la concentra#on est forte, plus la fourmi aura tendance à choisir son chemin. 9/03/10
33
18/03/10
Colonies de fourmis •  Contrairement aux fourmis réelles, elles possèdent une mémoire –  Liste tabou ! –  Ne pas repasser au même endroit. •  Elles ont une vision : elles peuvent évaluer une distance, un niveau de phéromone, des flux de trafic… 9/03/10
Colonies de Fourmis. •  Pour appliquer ceue métaheuris#que à une problème, on doit : –  Représenter le problème comme un problème de recherche sur un graphe. –  Un retour posi#f sur le choix d’un chemin doit être défini (phéromone). –  Une stratégie gloutonne doit être défini pour construire la solu#on au fur et à mesure. 9/03/10
Conclusion ! Algorithmes d’op#misa#on discrète. •  Il est nécessaire de bien formuler son problème ! •  Est-­‐ce que ce problème est difficile ? •  Si ce n’est pas le cas, u#liser des algorithmes plus simples (descente de gradients, simplex…). •  Si ce problème est complexe, les métaheuris#ques sont souvent intéressantes à exploiter ! 9/03/10
9/03/10
34
Téléchargement