4

Click here to load reader

Moca05.PDF 2

Embed Size (px)

Citation preview

Page 1: Moca05.PDF 2

Examen MOCA B2

PARTIE IProgrammation Lineaire

EXERCICE 1On envisage le programme lineaire (P) :

max z = 2x1 + x2

s.c. 4x1 − x2 ≤ 8−x1 + x2 ≤ 1

3x1 + 2x2 ≥ 6x1 ≥ 0, x2 ≥ 0

Question 1 : Derouler la premiere phase de l’algorithme du simplexe en choisissant commepremiere variable entrante celle de plus grand cout reduit (coefficient economique dans z exprimeen fonction des variables hors-base).

Question 2 : S’il en existe une, donner la composition de la solution de base realisable trouveeainsi que sa valeur. Que constatez-vous ?

On envisage desormais le programme lineaire (P’) :

max z = 2x1 + x2

s.c. 4x1 − x2 ≤ 8−x1 + x2 ≤ 1

x1 ≥ 0, x2 ≥ 0

1

Page 2: Moca05.PDF 2

Question 3 : Quelle relation existe-t-il entre les valeurs de (P ) et (P ′) ?

On suppose connaıtre le tableau optimal de (P ′) :

x1 x2 x3 x4

x2 0 1 1/3 4/3 4x1 1 0 1/3 1/3 3

0 0 -1 -2 -10

Question 4 : Deduire de ce tableau la valeur de (P ′) et la composition de sa solution optimale etrealisable (y compris les variables d’ecart associees a la forme standard).

Question 5 : Ecrire le dual (D′) de (P ′).

Question 6 : Resoudre (D′) des trois manieres suivantes :(a) resolution graphique du probleme dual ;(b) Deduction a partir des relations d’exclusion apres les avoir listees ;(c) Deduction a partir du tableau optimal dual obtenu via le tableau optimal primal.

EXERCICE 2Soit le programme lineaire (P”) :

min z = −3x1 + x2 − 2x3

s.c. x1 − x2 + 2x3 ≤ 10−x1 + x2 ≥ 3

x1 ≥ 0, x2 ≥ 0, x3 ≥ 0

Question 7 : Resoudre (P ′′) par l’algorithme du simplexe ; donner la valeur de (P ′′).

Question 8 : Ecrire le dual (D′′) de (P ′′) ; confirmer le resultat obtenu a la question precedentesoit par un raisonnement algebrique soit par une resolution graphique de (D′′).

PARTIE IIAllocation de registres

Un programme informatique stocke ses variables dans des memoires appelees registres. Un desobjectifs d’un compilateur est de minimiser le nombre de registres utilises lors de l’execution d’unprogramme. Ainsi, si deux variables ne sont pas utilisees en meme temps, il est possible de lesallouer a un meme registre. Pour chacune des variables du programme, on calcule la premiere etla derniere date ou la variable est utilisee. On dit que la variable est active pendant l’intervalle

2

Page 3: Moca05.PDF 2

abc

d e fg

Figure 1 : Intervalles d’activite des variables

de temps defini par ces deux dates. La figure 1 illustre les intervalles d’activite d’un programmecomprenant sept variables a, b, . . . , g.

Un graphe d’intervalles G = (S, A) est defini a partir d’une famille d’intervalles de la facon suivante :les sommets de S sont les intervalles d’activite associes a chaque variable; il existe une arete [a, b]de A si les intervalles correspondant a et b s’intersectent. Dans le graphe correspondant a l’exemplede la Figure 1, il existe une arete [a, b] car les intervalles associes aux taches a et b s’intersectent,mais l’arete [a, e] n’existe pas.

Question 1 Tracer le graphe d’intervalles correspondant a l’exemple de la Figure 1.

Une k-coloration des sommets d’un graphe G = (S, A) est une fonction C de S dans {1, . . . , k}telle que pour toute arete [a, b] ∈ A on a C(a) 6= C(b) (chaque sommet x recoit un numeroC(x), 1 ≤ C(x) ≤ k et les deux extremites d’une meme arete ont des numeros differents). La pluspetite valeur k telle que il existe une k-coloration de G est appelee nombre chromatique de G etest notee χ(G).

Question 2 Montrer que minimiser le nombre de registres utilises correspond a calculer χ(G) pourle graphe d’intervalles correspondant aux intervalles d’activite des variables du programme.

Une clique est un sous-ensemble de sommets S′ ⊂ S d’un graphe G = (S, A) tel que pour toutepaire de sommets a et b de la clique S′ l’arete [a, b] appartient a A (les sommets de la clique sonttous relies deux a deux). Pour un graphe G, la taille d’une plus grande clique est notee ω(G).

Question 3 Montrer que pour tout graphe G on a χ(G) ≥ ω(G).

Soit l’algorithme glouton suivant qui fournit une coloration d’un graphe d’intervalle G = (S, A) :

1. trier les sommets de G suivant les dates de debut des intervalles croissantes : soit x1, x2, . . . , xn

le resultat obtenu

2. pour i = 1 a n affecter le plus petit numero possible au sommet xi (les sommets xj , j < i,voisins de xi ont des couleurs differentes de celle de xi)

3

Page 4: Moca05.PDF 2

Question 4 Appliquer cet algorithme au graphe obtenu a la Question 1.

Soit k le plus grand numero de couleur obtenu apres l’application de l’algorithme precedent a ungraphe d’intervalles G et soit x un sommet de couleur k.

Question 5 Montrer que x a au moins k − 1 sommets voisins.

Soit t la date de debut de l’intervalle correspondant au sommet x.

Question 6 Montrer que t appartient a k intervalles.

Question 7 Deduire de la question precedente que ω(G) ≥ k.

Question 8 Deduire des questions precedentes que pour les graphes d’intervalles l’algorithme glou-ton propose fournit une coloration utilisant un nombre minimum de couleur.

Question 9 Deduire des questions precedentes une affectation optimale des registres aux variablesa, b, . . . , g pour l’exemple fourni par la Figure 1.

4