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