Você está na página 1de 5

EPFL MATHÉMATIQUES DISCRÈTES

Institut de Mathématiques MA/IN


J.-F. Hêche HIVER 2003/2004

CORRIGÉ DE LA SÉRIE D’EXERCICES 7

Les énoncés des séries et leurs corrigés ainsi que les copies des présentations sont disponibles
sur le site du cours : http://roso.epfl.ch/cours/ro/2003-2004

Problème 1

a) Une condition nécessaire mais pas suffisante (voir, par exemple, le troisième cas proposé)
pour qu’un programme linéaire possède une infinité de solutions optimales est qu’il possède
une solution basique optimale :
– duale dégénérée, et
– primale non dégénérée
(voir le paragraphe 3.5.4 du volume 1 de Recherche opérationnelle pour ingénieurs).
En effet, si le problème possède une solution optimale duale dégénérée, alors il existe une
variable hors base ayant un coût réduit nul. Si la colonne associée possède au moins un
élément positif, pivoter autour de l’un de ces éléments (un de ceux minimisant les coeffi-
cients caractéristiques) aboutit à un nouveau tableau optimal associé à une base optimale
différente. Ce tableau fournit aussi une solution basique optimale différente dès lors que
la solution basique optimale précédente est non dégénérée. De plus, toute combinaison
convexe de ces deux solutions basiques optimales est encore une solution optimale du
problème. Le cas où aucun élément positif ne peut être trouvé dans la (les) colonne(s) cor-
respondant à la (aux) variable(s) hors base ayant un coût réduit nul correspond à l’existence
d’un (de plusieurs) rayon(s) extrême(s) entièrement formé(s) de solutions optimales.
b) i) Le tableau ci-dessous est optimal pour le problème donné. Il est non dégénéré (pour
le problème primal) mais dual dégénéré (x 3 a un coût réduit nul).
x1 x2 x3 x4 x5 z
1 0 1/4 0 1/4 0 3/2
T1∗ = 0 0 3/4 1 -1/4 0 5/2
0 1 -1/2 0 1/2 0 1
0 0 0 0 30 1 120
La solution basique primale correspondante est x ∗1 = 3/2, x∗2 = 1, x∗4 = 5/2 (x∗3 =
x∗5 = 0). La variable hors base x3 a un coût réduit nul et, en pivotant sur l’élément
(2,3), on obtient le nouveau tableau optimal suivant :
x1 x2 x3 x4 x5 z
1 0 0 -1/3 1/3 0 2/3

T2 = 0 0 1 4/3 -1/3 0 10/3
0 1 0 2/3 1/3 0 8/3
0 0 0 0 30 1 120
La solution basique primale associée à ce tableau est x ∗1 = 2/3, x∗2 = 8/3, x∗3 = 10/3
(x∗4 = x∗5 = 0). Dans ce tableau, on ne peut pivoter que sur l’élément (2,4), ce qui
conduit au tableau T1∗ . Le problème ne possède donc que deux solutions basiques
optimales différentes. L’ensemble des solutions optimales du problème consiste en
l’ensemble des points qui sont combinaisons convexes des solutions basiques optimales
obtenues.

1
Remarque. Dans T1∗ , un pivotage sur l’élément (1,3) aboutirait à un tableau non
admissible et non pas à un nouveau tableau optimal car le quotient caractéristique
minimal (pour la colonne de x3 ) est atteint dans la deuxième ligne du tableau.
ii) Le tableau ci-dessous est optimal pour le problème donné. Il est non dégénéré (pour
le problème primal) mais dual dégénéré (x 5 a un coût réduit nul).
x1 x2 x3 x4 x5 x6 z
0 1 0 2/3 -1/3 -1/3 0 1
T1∗ = 1 0 0 0 1 0 0 3
0 0 1 1/3 -2/3 1/3 0 1
0 0 0 4 0 1 1 24
La solution basique primale correspondante est x ∗1 = 3, x∗2 = 1, x∗3 = 1(x∗4 = x∗5 =
x∗6 = 0). En pivotant sur l’élément (2,5) (seule composante positive de la colonne de
x5 qui est elle-même la seule variable hors base possédant un coût réduit nul), on
obtient le tableau optimal suivant :
x1 x2 x3 x4 x5 x6 z
1/3 1 0 2/3 0 -1/3 0 2
T2∗ = 1 0 0 0 1 0 0 3
2/3 0 1 1/3 0 1/3 0 3
0 0 0 4 0 1 1 24
La solution basique primale correspondante est x ∗2 = 2, x∗3 = 3, x∗5 = 3(x∗1 = x∗4 =
x∗6 = 0). Dans ce tableau, la seule variable hors base de coût réduit nul est x 1 , Dans
la colonne de x1 , le seul pivot admissible (i.e. aboutissant à un tableau admissible)
se situe en deuxième ligne mais un pivotage sur l’élément (2,1) conduit au tableau
T1∗ . Le problème ne possède donc que deux solutions basiques optimales différentes.
L’ensemble des solutions optimales du problème consiste en l’ensemble des points qui
sont combinaisons convexes des solutions basiques optimales obtenues.
iii) Le tableau ci-dessous est optimal pour le problème donné. Il est primal dégénéré
(x6 = 0) et dual dégénéré (x7 a un coût réduit nul).
x1 x2 x3 x4 x5 x6 x7 z
0 1 0 1/10 1/10 0 -1/5 0 3
0 0 1 1/12 1/12 0 0 0 5/2
T1∗ =
0 0 0 -1 -1 1 1 0 0
1 0 0 1/10 -1/10 0 0 0 3
0 0 0 1/12 1/12 0 0 1 5/2
La solution basique primale correspondante est x ∗1 = 3, x∗2 = 3, x∗3 = 5/2, x∗6 = 0
(x∗4 = x∗5 = x∗7 = 0). Si on pivote sur l’élément (3,7), on obtient le tableau optimal
suivant :
x1 x2 x3 x4 x5 x6 x7 z
0 1 0 -1/10 -1/10 1/5 0 0 3
0 0 1 1/12 1/12 0 0 0 5/2
T2∗ =
0 0 0 -1 -1 1 1 0 0
1 0 0 1/10 -1/10 0 0 0 3
0 0 0 1/12 1/12 0 0 1 5/2
La solution basique optimale associée à ce tableau est la même que celle associée au
tableau précédent. D’autre part, le seul pivot admissible dans T 2∗ est l’élément (3,6),
et pivoter sur cet élément conduit au tableau T 1∗ . On a donc une seule solution basique
optimale pour ce problème.

2
Problème 2

a) Les solutions optimales primale et duale se lisent dans le tableau optimal. La solution primale
est : x∗1 = 4/5 et x∗2 = 7/5 (x∗3 = x∗4 = 0, x∗5 = 49/5). La solution duale est : y1∗ = 2/5,
y2∗ = 7/10 et y3∗ = 0 (y4∗ = y5∗ = 0). La valeur de ces solutions est z ∗ = w∗ = 37/5.
b) Si un coefficient de c est modifié, la nouvelle fonction objectif devient c 0 = c + δej et la base
actuelle reste optimale tant que les coûts réduits des variables hors base restent non négatifs,
c.-à-d. tant que
−γ N = c0B B −1 N − c0N ≥ 0.
La base (ordonnée) optimale étant B = {x 2 ,x1 ,x5 }, on a
 
−γ3  
−γ N = , c0B = c02 c01 c05 , c0N = c03 c04
−γ4

et     
2/5 −3/10 0 1 0 2/5 −3/10
B −1 N =  −1/5 2/5 0   0 1  =  −1/5 2/5  .
4/5 −11/10 1 0 0 4/5 −11/10
Remarque. La matrice B −1 N correspond aux colonnes hors base du tableau optimal.

1) Si on modifie le coeficient c1 de x1 , la base actuelle reste optimale tant que


 
  2/5 −3/10   
−γ3   0 c1 ≤ 6
= 3 c1 0  −1/5 2/5  − 0 0 ≥ ⇐⇒
−γ4 0 c1 ≥ 9/4
4/5 −11/10

Ainsi la base actuelle reste optimale tant que c 1 ∈ [9/4,6].


2) Si on modifie le coeficient c2 de x2 , la base actuelle reste optimale tant que
 
  2/5 −3/10   
−γ3   0 c2 ≥ 2
= c2 4 0  −1/5 2/5  − 0 0 ≥ ⇐⇒
−γ4 0 c2 ≤ 16/3
4/5 −11/10

Ainsi la base actuelle reste optimale tant que c 2 ∈ [2,16/3].

c) Si c1 passe en dessous de 9/4, la nouvelle base optimale est B = {x 2 ,x4 ,x5 } et la solution
optimale est x∗1 = 0 et x∗2 = 2 (x∗3 = 0,x∗4 = 2,x∗5 = 12).
Si c1 passe au-dessus de 6, la nouvelle base optimale est B = {x 1 ,x3 ,x5 } et la solution optimale
est x∗1 = 3/2 et x∗2 = 0 (x∗3 = 7/5,x∗4 = 0,x∗5 = 7).
d) Sous forme standard, la contrainte −x 1 + 2x2 ≤ 1 s’écrit −x1 + 2x2 + x6 = 1 avec x6 ≥ 0.
Du tableau optimal, on tire x1 = 54 + 51 x3 − 25 x4 et x2 = 57 − 25 x3 + 10 3
x4 . Dans la base
B = {1,2,5,6}, la nouvelle contrainte s’écrit donc −x 3 + x4 + x6 = −1. En rajoutant cette
équation au tableau optimal du problème on obtient :

x1 x2 x3 x4 x5 x6 z
0 1 2/5 -3/10 0 0 0 7/5
1 0 -1/5 2/5 0 0 0 4/5
T0 =
0 0 4/5 -11/10 1 0 0 49/5
0 0 −1 1 0 1 0 -1
0 0 2/5 7/10 0 0 1 37/5

3
Ce tableau n’est plus admissible mais en appliquant l’algorithme dual du simplexe, on obtient,
après pivotage sur l’élément (4,3), le nouveau tableau optimal :
x1 x2 x3 x4 x5 x6 z
0 1 0 1/10 0 2/5 0 1
0 = 1 0 0 1/5 0 -1/5 0 1
Topt
0 0 0 -3/10 1 4/5 0 9
0 0 1 -1 0 -1 0 1
0 0 0 11/10 0 2/5 1 7
La nouvelle solution optimale primale est : x ∗1 = 1 et x∗2 = 1 (x∗3 = 1, x∗4 = 0, x∗5 = 9 et
x∗6 = 0). La solution optimale duale est : y 1∗ = 0, y2∗ = 11/10, y3∗ = 0 et y4∗ = 2/5 (y5∗ = 0 et
y6 = 0). La valeur de ces solutions est z ∗ = w∗ = 7.

Problème 3
Le programme linéaire de départ Ax ≤ b est :

Maximiser z = x1 − 4x2 + x3
s.c. −x1 + 9x2 − 7x3 ≤ −5
x1 − x 2 ≤ 8
2x2 + x3 ≤ 4
x1 , x2 , x3 ≥ 0
Soit B la matrice de base relative à la base B = {x 1 ,x3 ,x4 }. La condition à tester consiste à
vérifier dans quel intervalle chacune des composantes de b peut varier en maintenant B −1 b ≥ 0.
La matrice B −1 se lit dans le tableau optimal :
 
0 1 0
B −1 =  1 1 7  .
0 0 1

Pour la composante i, la variation δ autorisée de b i est solution du système δB −1 −1


i ≥ −β où B i
e −1
est la i colonne de B et β le vecteur des valeurs optimales des variables basiques.
1) Composante b1 :
  
0 8
δB −1
1 ≥ −β ⇐⇒ δ  1  ≥ −  31  ⇐⇒ δ ≥ −31.
0 4
b1 (qui vaut −5 initialement) peut donc varier dans l’intervalle [−36,∞) sans modifier la
base optimale.
La valeur de la fonction objectif s’obtient en calculant :
z 0 = z + y1 δ = 12 + 0δ = 12.

2) Composante b2 :
   
1 8
δB −1
2 ≥ −β ⇐⇒ δ  1  ≥ −  31  ⇐⇒ δ ≥ −8
0 4
b2 (qui vaut 8 initialement) peut donc varier dans l’intervalle [0,∞) sans modifier la base
optimale.
La valeur de la fonction objectif s’obtient en calculant :
z 0 = z + y2 δ = 12 + δ = 12 + (b02 − b2 ) = 12 + (b02 − 8) = 4 + b02 .

4
3) Composante b3 :
   
0 8
δB −1
2 ≥ −β ⇐⇒ δ  7  ≥ −  31  ⇐⇒ δ ≥ −4
1 4

b3 (qui vaut 4 initialement) peut donc varier dans l’intervalle [0,∞) sans modifier la base
optimale.
La valeur de la fonction objectif s’obtient en calculant :

z 0 = z + y3 δ = 12 + δ = 12 + (b03 − b3 ) = 12 + (b03 − 4) = 8 + b03 .

22 janvier 2004 – JFH/sp

Você também pode gostar