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

Documents pareils