Exemples de problèmes et d`applications
Transcription
Exemples de problèmes et d`applications
Exemples de problèmes et d’applications INF6953 Exemples de problèmes 1 Sommaire • • Quelques domaines d’application Quelques problèmes réels – – – – • Quelques problèmes classiques – – – – • Allocation de fréquences dans les réseaux radio-mobiles Affectation de commutateurs aux antennes Max-RWA : Routage et affectation de longueur d’onde dans le réseaux optiques Alignement multiple de séquences Problème SAT (satisfiabilité booléenne) Problème du voyageur de commerce Problème du sac à dos, de recouvrement d’ensembles, de bin-packing Problèmes de la théorie des graphes : problèmes de stable max et de clique maximum, problèmes de coloriage de graphe Liens entre problèmes réels et problèmes classiques INF6953 Exemples de problèmes 2 Quelques domaines d’application pour les MH • • • • • • - Design de réseaux de télécommunications Mise en oeuvre de réseaux de télécommunications Affectation de fréquences dans les réseaux radio-mobiles Routage et affectation de longueurs d’ondes (max-RWA) Affectation de fréquences dans les réseaux hertziens (RLFAP, FAPP) Bio-informatique : alignement multiple, recherche de chaîne médiane, … Construction d'emploi du temps Tournées de véhicules Vehicle Routing Problem Ordonnancement Job Shop Scheduling INF6953 Exemples de problèmes 3 Problème d’allocation de fréquences dans les réseaux radio-mobiles • - Contexte Dans les réseaux radio-mobiles, on doit affecter une fréquence à chacune des antennes (cellules). • - On donne Un graphe G = (V, E) représentant le réseau, |V|=n Une fonction D : {1..n} x {1..n} -> N - D(i, j) = distance imposée entre les fréquences des antennes i et j Un entier L = nombre de longueurs d’ondes disponibles - INF6953 Exemples de problèmes 4 Problème d’allocation de fréquences dans les réseaux radio-mobiles • Un appelle plan d’affectation de fréquences une application f : {1..n} -> {1..L} qui indique, pour toute antenne i=1..n, la fréquence f(i) allouée à cette antenne. • - On demande un plan d’affectation tel que Pour toute paire i, j dans {1..n}, on vérifie | f(i) – f(j) | >= D(i, j) INF6953 Exemples de problèmes 5 Problème d’affectation de commutateurs aux antennes • - Contexte Dans les réseaux radio-mobiles, on doit affecter un commutateur à chacune des antennes (cellules). • - On donne Un entier n = nombre d’antennes Un entier m = nombre de commutateurs Une fonction c : {1..n}x{1..m} -> R+ - c(i, j) = coût pour affecter le commutateur j à l’antenne i Une fonction C : {1..m} -> N - C(j) = capacité du commutateur j Une fonction cr : {1..n}x{1..n} -> R+ - cr(i, i’)=coût (de relève) si i et i’ sont reliés à des commutateurs différents - INF6953 Exemples de problèmes 6 Problème d’affectation de commutateurs aux antennes • - Un plan d’affectation est une fonction h : {1..n} -> {1..m} h(i) = commutateur affecté à l’antenne i • - Contrainte Respecter la capacité de chaque commutateur : pour tout commutateur j, affecte au plus C(j) commutateurs à j. • Coût d’un plan d’affectation = coût des liens + coûts de relève • - On demande Un plan d’affectation qui respecte la contrainte et de coût minimum INF6953 Exemples de problèmes 7 Problème Max-RWA • - Contexte Dans les réseaux optiques, on doit satisfaire un maximum de demande de connexion en affectant à chacune d’entre elles un chemin et une longueur d’onde. - On donne – Un graphe G = (V, E) - V représente l’ensemble des stations - E représente l’ensemble des liens – Un entier L = nombre de longueurs d’ondes disponibles – Un ensemble D de demandes : - Chaque demande i étant définie par - origine(i), destination(i) = l’origine et la destination de la demande i - mult(i) = le nombre de routes entre origine(i) et destination(i) INF6953 Exemples de problèmes 8 Problème Max-RWA • - On appelle plan de routage : tout ensemble S de couples chemin/longueur d’onde tel que : - Le nombre de chemins joignant origine(i) à destination(i) est inférieur ou égal à mult(i). - Deux chemins quelconques qui partagent un arc (dans le même sens) n’ont jamais la même longueur d’ondes • - On demande un plan de routage qui maximise le nombre de demandes satisfaites. INF6953 Exemples de problèmes 9 Max-RWA : un exemplaire du problème 1) Réseau 2) Demandes 2 1 i 4 3 orig(i) dest(i) mult(i) 1 1 4 2 2 2 3 1 3 2 4 2 4 3 4 1 3) L=2 (nombre de longueurs d’ondes) INF6953 Exemples de problèmes 10 Max-RWA : une solution orig(i) dest(i) mult(i) 1 1 4 2 2 2 3 1 3 2 4 2 4 3 4 1 i 2 1 4 3 S = {(1-2-4, 1), (2-3, 2), (2-4, 2), (2-3-4, 1), (3-4, 2) } |S|=5 INF6953 (c.a.d. 5 demandes satisfaites sur 6) Exemples de problèmes 11 Problème d’alignement multiple de séquences • - Contexte Domaine de la bioinformatique • - On donne Un ensemble Σ = alphabet n chaînes s1,…, sn sur Σ = séquences Une fonction f : Σ’ x Σ’ -> N, où Σ’ = Σ union {‘-’} - f définit le coût d’insertion, de remplacement ou de suppression INF6953 Exemples de problèmes 12 Problème d’alignement multiple de séquences • - - • Définitions Un alignement pour s1,…, sn est obtenu en ajoutant dans chaque chaîne des caractères d’insertion ‘-’ à des positions quelconques de manière à ce que les chaînes obtenues s’1,…, s’n aient toutes la même longueur Le coût d’un alignement {s’1,…, s’n} est défini par Σ1<=p<q<=n Σi=1..l f(s’p[i], s’q[i]) On demande un alignement de coût minimum INF6953 Exemples de problèmes 13 Problème d’alignement multiple de séquences : un exemplaire du problème • • • Σ ={A, C, T, G} 3 chaînes s1=AGCCAGTG, s2=GCCGTGG, s3=AGAGAGG f (a, b)=1 pour a et b quelconque appartenant à Σ’ • Voici 3 exemples d’alignements M1, M2 et M3 M1 AGCCAGTG-GCC-GTGG AG--AGAGG INF6953 M2 AGCCAGT-G -GCC-GTGG AG--AGAGG Exemples de problèmes M3 AGCCAGT-G-GCC-GT-GG -AGA-G-AGG 14 Problème d’alignement multiple de séquences : une solution • On suppose un coût d’insertion égal à 1 pour une insertion, une suppression ou un remplacement quelconque Alignement M1 A A 2 G G G 0 INF6953 C C 2 C C 2 A A 2 G G G 0 T T A 2 G G G 0 G G 2 -> coût total égal à 12 Exemples de problèmes 15 Quelques problèmes classiques • • • • • • • • • Satisfiabilité booléenne (SAT) : problème du calcul des propositions. Satisfiabilité booléenne maximale (max-SAT) Voyageur de commerce (TSP, Traveling Salesman Problem ) Coloriage de graphe, k-coloriage de graphe Stable maximal, clique maximale Sac-à-dos (knapsack), sac-à-dos multidimensionnel Placement (bin-packing) Recouvrement d’ensembles Affectation quadrique INF6953 Exemples de problèmes 16 Problème de satisfiabilité booléenne (SAT) • - - Définition préliminaires Soit un ensemble de variables booléennes x1, …, xn. Un littéral est soit une variable, soit la négation d’une variable. Une clause et une disjonction de littéraux (littéraux reliés par le connecteur OU). La longueur d’une clause correspond au nombre de ses littéraux. • - Exemple x7, NOT x4 sont des littéraux Exemple : x7 OR (NOT x4) OR x11 est une clause de longueur 3 INF6953 Exemples de problèmes 17 Problème SAT • - On donne n variables booléennes x1, …, xn m clauses définies sur x1, …, xn • - On demande une fonction {x1, …, xn } -> {V, F } qui satisfait toutes les clauses INF6953 Exemples de problèmes 18 Problèmes SAT et k-SAT • - • - Le problème k-SAT correspond au cas particulier du problème SAT dans le cas où les clauses ont toutes une même longueur fixée égale à k. Par exemple, 3-SAT est le problème SAT avec des clauses toutes de longueur 3. Complexité Le problème SAT est NP-complet. k-SAT est NP-complet pour k >= 3. Les problèmes 2-SAT, Horn-SAT sont polynomiaux. INF6953 Exemples de problèmes 19 Problème de satisfiabilité booléenne maximale (max-SAT) • - - • • Le problème max-SAT (problème d’optimisation) On donne : n variables booléennes x1, …, xn m clauses définies sur x1, …, xn On demande de trouver une affectation des variables x1, …, xn qui satisfait un nombre maximum de clauses. Variante : Dans max-SAT pondéré, on donne des pondérations réelles sur les clauses w1, …, wn et on doit trouver une solution qui maximise le poids total des clauses satisfaites. Les problèmes max-SAT et max-SAT pondéré sont NP-difficiles. INF6953 Exemples de problèmes 20 Problème du voyageur de commerce (TSP) • Le voyageur de commerce (TSP = Traveling Salesman Problem) est l’un des problèmes combinatoires les plus étudiés en RO et théorie des graphes et en optimisation combinatoire • Définition Dans un graphe, un cycle hamiltonien est un cycle qui passe par chaque sommet une fois et une seule • On donne - un graphe G=(V, E) - une fonction w : V x V -> R+ - d(x, y) indique la distance entre les sommets x et y On demande de trouver un cycle hamiltonien* de longueur minimale (*i.e., une tournée qui visite chaque ville une fois et une seul). • INF6953 Exemples de problèmes 21 Problème du voyageur de commerce (TSP) • - Complexité TSP est NP-difficile - Pas approximable dans le cas général - TSP avec inégalité triangulaire approximable en 1.5 x longueur optimale INF6953 Exemples de problèmes 22 Problème du sac à dos • Étant donné un ensemble d’objets dont on connaît le poids et l’utilité, choisir un sous-ensemble de ces objets dont le poids total ne dépasse pas le poids maximum et dont l’utilité totale est maximale. INF6953 Exemples de problèmes 23 Problème du sac à dos • Étant donné un ensemble d’objets dont on connaît le poids et l’utilité, choisir un sous-ensemble de ces objets dont le poids total ne dépasse pas le poids maximum et dont l’utilité totale est maximale. • - On donne Un entier n = nombre d’objets Une fonction u : {1..n} -> R+, u(i) représente l’utilité de l’objet i Une fonction w : {1..n} -> R+, w(i) représente le poids de l’objet i Un réel W = poids total maximum autorisé • - On demande un ensemble S inclus dans {1..n} tel que Σ e dans S p(e) <= W qui maximise Σ e dans S w(e) INF6953 Exemples de problèmes 24 Problème de recouvrement d’ensemble • Étant donné un ensemble E et un ensemble F de parties de E qui recouvre E (dont la réunion est E) et connaissant le coût de chaque partie, choisir un sousensemble de F dont la réunion recouvre E et dont le coût total est minimum. INF6953 Exemples de problèmes 25 Problème de recouvrement d’ensemble • Étant donné un ensemble E et un ensemble F de parties de E qui recouvre E (dont la réunion est E) et connaissant le coût de chaque partie, choisir un sousensemble de F dont la réunion recouvre E et dont le coût total est minimum. • - On donne un ensemble E, des ensembles E1…En dont la réunion égale E une fonction c : {1..n} -> R+ • - On demande un sous-ensemble S de {1..n} tel que U i dans S Ei = E et qui minimise Σ i dans S c(i) INF6953 Exemples de problèmes 26 Problème de placement (bin-packing) • Étant donné un ensemble d’objets dont on connaît le poids, connaissant également que la capacité d’une boîte, répartir les objets dans des boîtes tout en minimisant le nombre total de boîtes. INF6953 Exemples de problèmes 27 Problème de placement (bin-packing) • Étant donné un ensemble d’objets dont on connaît le poids, connaissant également que la capacité d’une boîte, répartir les objets dans des boîtes tout en minimisant le nombre total de boîtes. • - On donne un entier n = nombre d’objets une fonction w : {1..n} -> R+ - w(i) = poids de l’objet i un entier C = capacité d’une boîte • - On demande une partition {P1,..,Pk} de {1..n} telle que Σ i dans Pi w(i) <= C, pour tout i = 1..k et qui minimise k INF6953 Exemples de problèmes 28 Graphes : quelques définitions • Étant donné un graphe G=(V, E) : - On appelle ensemble stable tout sous-ensemble de V qui ne contient aucune paire de sommets reliés entre eux. - On appelle k-coloriage (total légal) toute fonction (totale) c : V -> {1,..,k} telle que - pour toute arête xy, c[x]<>c[y]. - INF6953 Exemples de problèmes 29 Graphe (non orienté) 7 6 1 2 3 8 5 4 INF6953 Exemples de problèmes 30 Ensemble stable 7 6 1 2 3 8 5 4 V’ = {2, 7, 8} constitue un ensemble stable INF6953 Exemples de problèmes 31 Clique 7 6 1 2 3 8 5 4 V’ = {2, 4, 5} constitue une clique INF6953 Exemples de problèmes 32 k-coloriage (légal) 7 6 1 2 3 8 5 4 La figure représente un 3-coloriage complet légal de G. INF6953 Exemples de problèmes 33 Problèmes de stable maximum et de clique maximum • - Problème de stable maximum Étant donné un graphe G=(V, E), Trouver un stable maximum de G (de cardinal aussi grand que possible). • - Problème de clique maximum Étant donné un graphe G=(V, E), Trouver une clique maximum de G (de cardinal aussi grand que possible). INF6953 Exemples de problèmes 34 Problèmes de stable maximum et de clique maximum • - - Remarques Un ensemble V’ de sommets est une clique ssi c’est un ensemble stable dans le graphe complémentaire, et inversement. Trouver une clique maximum revient à trouver un stable maximum dans le graphe complémentaire, et inversement. Les deux problèmes sont donc «équivalents». Les deux problèmes sont NP-difficiles. INF6953 Exemples de problèmes 35 Problèmes de k-coloriage et de coloriage • - Problème de k-coloriage de graphe Étant donné un graphe G et un entier k, Trouver un k-coloriage de G. • - Problème de coloriage de graphe Étant donné un graphe G, Trouver un k-coloriage de G avec un nombre minimum k de couleurs. • - Remarques : Le problème de 2-coloriage est polynomial. Les problèmes de coloriage et de k-coloriage (k >= 3) est NP-difficile dans le cas général. INF6953 Exemples de problèmes 36 Applications réelles et problèmes académiques • - Les problèmes «académiques» (voyageur de commerce, coloriage, sac à dos, stable max, etc.) : Ils possèdent une définition très simple. Ils peuvent être vus comme des versions simplifiées ou «épurées» de problèmes réels. • De nombreux problèmes réels ressemblent à un problème académique : - Le FAP (affectation de fréquence) est une extension du coloriage - Le VRP (problème de tournées de véhicule) est analogue au voyageur de commerce, avec des contraintes supplémentaires (plusieurs véhicules, capacité maximales à respecter, etc.). • - Les problèmes classiques ont été très étudiés. Il est utile de les connaître et de connaître les algorithmes proposés pour les résoudre. INF6953 Exemples de problèmes 37 Exemples d’applications liées au coloriage de graphe • Emploi du temps • Allocation de registres : voir la thèse de doctorat (Kri 02) • Max-RWA : Routage et affectation de longueur d’onde dans le réseaux optiques • Allocation de fréquences dans les réseaux radio-mobiles : FAP • Affectation de fréquences dans les réseaux par voie hertzienne : - RLFAP - Affectation de fréquences avec polarisation (FAPP) INF6953 Exemples de problèmes 38 Max-RWA : Définition Étant donné 1. Un réseau représenté par un graphe G = (V, E) : - V représente l’ensemble des stations - E représente l’ensemble des liens 2. Le nombre L de longueurs d’ondes disponibles 3. Un ensemble D de demandes : Chaque demande i étant définie par origine(i), destination(i) et mult(i). On appelle plan de routage : - tout ensemble S de couples chemin/longueur d’onde tel que : 1. Le nombre de chemins joignant origine(i) à destination(i) est inférieur ou égal à mult(i). 2. Deux chemins qui partagent un arc (dans le même sens) n’ont jamais la même longueur d’ondes. On cherche : - un plan de routage qui maximise le nombre de demandes satisfaites. INF6953 Exemples de problèmes 39 Max-RWA : un exemplaire du problème 1) Réseau 2) Demandes 2 1 i 4 3 orig(i) dest(i) mult(i) 1 1 4 2 2 2 3 1 3 2 4 2 4 3 4 1 3) L=2 (nombre de longueurs d’ondes) INF6953 Exemples de problèmes 40 Max-RWA : graphe auxiliaire de 1 à 4 : 2 demandes 2-1-3 de 2 à 3 : 1 demande 1-3-4 2-4-3 1-2-4 2-3 3-2-4 2-4 3-4 2-3-4 de 3 à 4 : 1 demande de 2 à 4 : 2 demandes INF6953 Exemples de problèmes 41 Max-RWA et coloriage de graphe • Il y a un lien étroit entre max-RWA et le coloriage de graphe : résoudre le max-RWA revient à résoudre un problème de coloriage de graphe «non standard» pour un certain graphe (le graphe auxiliaire). • - Problème max-RWA Demande i Un chemin de o(i) à d(i) Paire de chemins adjacents • - - Graphe auxiliaire - groupe de sommets - un sommet du groupe - arcs entre les deux sommets Une configuration est représentée par : un multi-coloriage partiel S (un ensemble de couples sommet/couleur, i.e. un sommet peut être colorié avec 0,1, ou plusieurs couleurs) tel que Dans un groupe, le nombre de couples est inférieur ou égal à mult(i) Deux sommets adjacents n’ont pas la même couleur La qualité d’une solution est le nombre de couples (|S|). INF6953 Exemples de problèmes 42 Max-RWA : coloriage du graphe auxiliaire de 1 à 4 : 2 demandes 2-1-3 de 2 à 3 : 1 demande 1-3-4 2-4-3 1-2-4 2-3 3-2-4 2-4 3-4 2-3-4 de 3 à 4 : 1 demande de 2 à 4 : 2 demandes INF6953 Exemples de problèmes 43 Max-RWA : solution orig(i) dest(i) mult(i) 1 1 4 2 2 2 3 1 3 2 4 2 4 3 4 1 i 2 1 4 3 S = {(1-2-4, 1), (2-3, 2), (2-4, 2), (2-3-4, 1), (3-4, 2) } |S|=5 INF6953 (c.a.d. 5 demandes satisfaites sur 6) Exemples de problèmes 44