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. V0V, avec |V0|tq ∀{u, v} ∈ E, u V0vV0
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 MEde 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, MEun couplage quelconque et SVun 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 n1, m1 et pi0 avec 1 in
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 Tle 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 tk1
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 2m1
m.
3.Bin-packing
On consid`ere le probl`eme de minimisation suivant
BINP
Entr´
ee CN
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 in, on a tiC
Sortie Un rangement des nobjets dans les boˆıtes
Coˆ
ut Le nombre de boˆıtes utilis´ees
3.1 Soit εQet kN. 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+n1
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 linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !