You are on page 1of 4

Examen MOCA B2 PARTIE I Programmation Linaire e

EXERCICE 1 On envisage le programme linaire (P) : e max s.c. z = 2x1 + x2 4x1 x2 8 x1 + x2 1 3x1 + 2x2 6 x1 0, x2 0

Question 1 : Drouler la premi`re phase de lalgorithme du simplexe en choisissant comme e e premi`re variable entrante celle de plus grand cot rduit (coecient conomique dans z exprim e u e e e en fonction des variables hors-base). Question 2 : Sil en existe une, donner la composition de la solution de base ralisable trouve e e ainsi que sa valeur. Que constatez-vous ? On envisage dsormais le programme linaire (P) : e e max s.c. z = 2x1 + x2 4x1 x2 8 x1 + x2 1 x1 0, x2 0

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

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

x2 x1

x1 0 1 0

x2 1 0 0

x3 1/3 1/3 -1

x4 4/3 1/3 -2

4 3 -10

Question 4 : Dduire de ce tableau la valeur de (P ) et la composition de sa solution optimale et e ralisable (y compris les variables dcart associes ` la forme standard). e e e a Question 5 : Ecrire le dual (D ) de (P ). Question 6 : Rsoudre (D ) des trois mani`res suivantes : e e (a) rsolution graphique du probl`me dual ; e e (b) Dduction ` partir des relations dexclusion apr`s les avoir listes ; e a e e (c) Dduction ` partir du tableau optimal dual obtenu via le tableau optimal primal. e a EXERCICE 2 Soit le programme linaire (P) : e min z = 3x1 + x2 2x3 s.c. x1 x2 + 2x3 10 x1 + x2 3 x1 0, x2 0, x3 0

Question 7 : Rsoudre (P ) par lalgorithme du simplexe ; donner la valeur de (P ). e Question 8 : Ecrire le dual (D ) de (P ) ; conrmer le rsultat obtenu ` la question prcdente e a e e soit par un raisonnement algbrique soit par une rsolution graphique de (D ). e e

PARTIE II Allocation de registres

Un programme informatique stocke ses variables dans des mmoires appeles registres. Un des e e objectifs dun compilateur est de minimiser le nombre de registres utiliss lors de lexcution dun e e programme. Ainsi, si deux variables ne sont pas utilises en mme temps, il est possible de les e e allouer ` un mme registre. Pour chacune des variables du programme, on calcule la premi`re et a e e la derni`re date o` la variable est utilise. On dit que la variable est active pendant lintervalle e u e

b c

f g

Figure 1 : Intervalles dactivit des variables e

de temps dni par ces deux dates. La gure 1 illustre les intervalles dactivit dun programme e e comprenant sept variables a, b, . . . , g. Un graphe dintervalles G = (S, A) est dni ` partir dune famille dintervalles de la faon suivante : e a c les sommets de S sont les intervalles dactivit associs ` chaque variable; il existe une arte [a, b] e e a e de A si les intervalles correspondant a et b sintersectent. Dans le graphe correspondant ` lexemple a de la Figure 1, il existe une arte [a, b] car les intervalles associs aux tches a et b sintersectent, e e a mais larte [a, e] nexiste pas. e Question 1 Tracer le graphe dintervalles correspondant ` lexemple de la Figure 1. a Une k-coloration des sommets dun graphe G = (S, A) est une fonction C de S dans {1, . . . , k} telle que pour toute arte [a, b] A on a C(a) = C(b) (chaque sommet x reoit un numro e c e C(x), 1 C(x) k et les deux extrmits dune mme arte ont des numros dirents). La plus e e e e e e petite valeur k telle que il existe une k-coloration de G est appele nombre chromatique de G et e est note (G). e Question 2 Montrer que minimiser le nombre de registres utiliss correspond ` calculer (G) pour e a le graphe dintervalles correspondant aux intervalles dactivit des variables du programme. e Une clique est un sous-ensemble de sommets S S dun graphe G = (S, A) tel que pour toute paire de sommets a et b de la clique S larte [a, b] appartient ` A (les sommets de la clique sont e a tous relis deux ` deux). Pour un graphe G, la taille dune plus grande clique est note (G). e a e Question 3 Montrer que pour tout graphe G on a (G) (G). Soit lalgorithme glouton suivant qui fournit une coloration dun graphe dintervalle G = (S, A) : 1. trier les sommets de G suivant les dates de dbut des intervalles croissantes : soit x1 , x2 , . . . , xn e le rsultat obtenu e 2. pour i = 1 ` n aecter le plus petit numro possible au sommet xi (les sommets xj , j < i, a e voisins de xi ont des couleurs direntes de celle de xi ) e 3

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

Soit k le plus grand numro de couleur obtenu apr`s lapplication de lalgorithme prcdent ` un e e e e a graphe dintervalles 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 dbut de lintervalle correspondant au sommet x. e Question 6 Montrer que t appartient ` k intervalles. a

Question 7 Dduire de la question prcdente que (G) k. e e e

Question 8 Dduire des questions prcdentes que pour les graphes dintervalles lalgorithme gloue e e ton propos fournit une coloration utilisant un nombre minimum de couleur. e

Question 9 Dduire des questions prcdentes une aectation optimale des registres aux variables e e e a, b, . . . , g pour lexemple fourni par la Figure 1.

You might also like