Vous êtes sur la page 1sur 44

Exemples de problèmes et d’applications

INF6953 Exemples de problèmes 1


Sommaire

• Quelques domaines d’application


• Quelques problèmes réels
– 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
• Quelques problèmes classiques
– 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 i orig(i) dest(i) mult(i)

1 1 4 2

1 4 2 2 3 1

3 2 4 2

4 3 4 1
3

3) L=2 (nombre de longueurs d’ondes)

INF6953 Exemples de problèmes 10


Max-RWA : une solution

i orig(i) dest(i) mult(i)

2 1 1 4 2

2 2 3 1

1 4 3 2 4 2

4 3 4 1

S = {(1-2-4, 1), (2-3, 2), (2-4, 2), (2-3-4, 1), (3-4, 2) }

|S|=5 (c.a.d. 5 demandes satisfaites sur 6)


INF6953 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 M2 M3
AGCCAGTG- AGCCAGT-G AGCCAGT-G-
-GCC-GTGG -GCC-GTGG -GCC-GT-GG
AG--AGAGG AG--AGAGG -AGA-G-AGG

INF6953 Exemples de problèmes 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 G C C A G T G -
- G C C - G T G G
A G - - A G A G G
2 0 2 2 2 0 2 0 2 -> coût total égal à 12

INF6953 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 sous-
ensemble 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 sous-
ensemble 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é)

1 6
2

3 8

INF6953 Exemples de problèmes 30


Ensemble stable

1 6
2

3 8

4
V’ = {2, 7, 8} constitue un ensemble stable

INF6953 Exemples de problèmes 31


Clique

1 6
2

3 8

4
V’ = {2, 4, 5} constitue une clique

INF6953 Exemples de problèmes 32


k-coloriage (légal)

1 6
2

3 8

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 i orig(i) dest(i) mult(i)

1 1 4 2

1 4 2 2 3 1

3 2 4 2

4 3 4 1
3

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

2-4 3-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 Graphe auxiliaire


- Demande i - groupe de sommets
- Un chemin de o(i) à d(i) - un sommet du groupe
- Paire de chemins adjacents - 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

2-4 3-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

i orig(i) dest(i) mult(i)

2 1 1 4 2

2 2 3 1

1 4 3 2 4 2

4 3 4 1

S = {(1-2-4, 1), (2-3, 2), (2-4, 2), (2-3-4, 1), (3-4, 2) }

|S|=5 (c.a.d. 5 demandes satisfaites sur 6)


INF6953 Exemples de problèmes 44