MIT 1re ann´ee - 2010/11 Module Algo2
TD3 : Algorithmes d’approximation
1.Couverture de sommets minimale
On rappelle que le probl`eme de d´ecision Vertex Cover (VC) est NP-C. Dans cet exercice,
on s’int´eresse au probl`eme d’optimisation (minimisation) associ´e :
MVC
Entr´
ee – Un graphe G= (V, E)
Sortie – Une couverture V0,i.e. V0⊆V, avec |V0|tq ∀{u, v} ∈ E, u ∈V0∨v∈V0
Coˆ
ut – Cardinalit´e, i.e. |V0|
Le probl`eme MVC est NP-Hard. Pour proposer un algorithme d’approximation, on se
ram`ene au probl`eme de couplage maximal dans un graphe.
D´efinition 1 (Couplage de graphe)
Soit G= (V, E) un graphe. Un couplage M⊆Ede G est un sous-ensemble d’arˆetes deux
`a deux non-adjacentes.
D´efinition 2 (Couplage maximal (MM))
Soit G= (V, E) un graphe et Mun couplage de G.Mest maximal au sens de l’inclusion :
pour toute arˆete e6∈ M,{e} ∪ Mn’est pas un couplage.
1.1 Donner un algorithme polynomial qui calcule un couplage maximal d’un graphe.
1.2 Soit Gun graphe, M⊆Eun couplage quelconque et S⊆Vun ensemble de sommets
couvrant G. Montrer que |M| ≤ |S|. En d´eduire un algorithme d’approximation de facteur
2 pour le probl`eme MVC.
1.3 Peut-on am´eliorer le facteur d’approximation de cet algorithme ? Prouvez-le.
2.Ordonnancement
On s’int´eresse ici au probl`eme d’ordonnancement (minimisation) :
OTMIN
Entr´
ees – Entiers n≥1, m≥1 et pi≥0 avec 1 ≤i≤n
Sortie – Une affectation de ntravaux ind´ependents de dur´ees respectives pi
sur mmachines fonctionnant ind´ependamment
Coˆ
ut – Le temps de fonctionnement des machines
2.1 Formuler le probl`eme comme la minimisation d’une fonction {0,1}nm →N, en posant
des contraintes sur les nm variables. Indication : la fonction de coˆut utilis´ee correspond au
temps de fonctionnement de la machine qui fonctionne le plus longtemps.
2.2 On note T∗le coˆut d’un ordonnancement optimal. Montrer que mT ∗≥Pn
i=1 pi.
1
MIT 1re ann´ee - 2010/11 Module Algo2
On consid`ere l’algorithme d’approximation qui affecte les travaux (donn´es dans un ordre
quelconque) `a la premi`ere machine disponible.
2.3 Ecrire le pseudo-code correspondant et montrer que l’algorithme est polynomial.
2.4 Soit Akle travail qui se termine en dernier dans la solution fournie par l’algorithme
d’approximation, et tksa date de d´ebut. Montrer que tk≤1
mPi6=kpi.
En d´eduire une majoration du coˆut Tgde la solution de l’algorithme d’approximation.
2.5 En d´eduire que le facteur d’approximation de l’algorithme est 2m−1
m.
3.Bin-packing
On consid`ere le probl`eme de minimisation suivant
BINP
Entr´
ee –C∈N
une collection infinie de boˆıtes de capacit´e fix´ee C
suite d’objets o1, o2. . . onde tailles respectives t1, t2. . . tn
pour tout 1 ≤i≤n, on a ti≤C
Sortie – Un rangement des nobjets dans les boˆıtes
Coˆ
ut – Le nombre de boˆıtes utilis´ees
3.1 Soit ε∈Q∗et k∈N∗. Le probl`eme (ε, k)-BINP est BINP restreint aux instances o`u :
– tous les objets sont de taille sup´erieure ou ´egale `a εC et
– il y a au plus ktailles distinctes.
Montrer qu’il existe un algorithme polynomial pour r´esoudre (ε, k)-BINP. Indication : on
rappelle que le nombre de combinaisons avec r´ep´etition de kobjets parmi nest Γk
n=
k+n−1
k.
Si on relˆache la contrainte kdans (ε, k)-BINP, on obtient le probl`eme ε-BINP, pour lequel
on peut montrer qu’il existe un algorithme A+
εd’approximation de facteur 1 + ε.
On suppose maintenant que 0 < ε ≤1
2. Soit Aεl’algorithme :
– Construire S−={oi|ti< εC}et S+={oi|ti≥εC}.
– Utiliser A+
εpour ranger les objets de S+.
– Compl´eter ce rangement en y rangeant les objets de S−(dans leur ordre de d´epart)
avec une strat´egie First-fit (les objets sont rang´es dans la premi`ere boˆıte qui les peut les
contenir ; si besoin, ouvrir une nouvelle boˆıte).
3.2 Montrer que Aεcalcule une solution admissible pour BINP.
3.3 Montrer que le nombre de boˆıtes utilis´ees est au plus (1 + 2ε)B∗(X) + 1 o`u B∗(X) est
le nombre de boˆıtes optimal pour une instance donn´ee X.
3.4 Quel est la particularit´e du facteur de ce sch´ema d’approximation ?
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!