Beruflich Dokumente
Kultur Dokumente
Cours doptimisation
2
Introduction `
a la programmation lin
eaire
I: Introduction
Mr X se demande comment gerer au mieux ses depenses alimentaires tout en respectant ses
besoins quotidiens en energie (2000 kcal), proteines (55g) et calcium (800 mg). Il selectionne
six produits qui semblent etre des sources nutritionnelles bon marche.
les limites suivantes sur le nombre de services par jour pour chacun des aliments:
Cereales 28 g 110 4 2 3
Oeufs 2 160 13 54 13
Nous proposons de formaliser ce probleme comme celui de la recherche dun menu compose
de :
x1 services de Cereales,
x2 services de poulet,
x3 services doeufs,
0 x1 4
0 x2 3
0 x3 2
0 x4 8
0 x5 2
5
0 x6 2.
Le menu doit satisfaire aussi les contraintes sur les besoins en:
Energie:
Proteines:
Calcium:
Le co
ut quotidien du menu est :
Pour composer le menu le moins cher, Mr X cherche les valeurs de x1 , x2 , ..., x6 qui satisfont les
Les probl`emes comme celui du regime sont appeles probl`emes de programmation lineaire
ou PL. La programmation lineaire est la branche des mathematiques appliquees qui traite ces
probl`emes.
7
Exemple de PL :
2x1 + 3x2 + x3 5
4x1 + x2 + 2x3 11
(0.2)
3x1 + 4x2 + 2x3 8
x1 , x 2 , x 3 0
Un autre probl`eme pourrait etre:
Minimiser 3x1 + x2
II.2 Fonctions,
equations et in
equations lin
eaires
D
enition1 : Soient c1 , c2 , ..., cn des nombres reels. La fonction f denie sur les variables
D
enition2 : Soient f une fonction lineaire et b un nombre reel, alors lequation
f (x1 , x2 , ..., xn ) b
8
f (x1 , x2 , ..., xn ) b
sont appellees des inequations lineaires. Les equations et inequations lineaires sont appelees
D
enition3 : Un programme lineaire est un probl`eme qui consiste `a maximiser ou minimiser
La fonction lineaire que lon doit maximiser ou minimiser dans un problme PL est dite
Exemple :
Les nombres x1 , x2 , ..., xn qui satisfont toutes les contraintes dun probl`eme PL donne
realisable de (0.1).
II.3 Solution r
ealisable, Solution optimale
D
enition 4 :
Une solution realisable qui maximise la fonction objective dun probl`eme PL (sous la forme
La valeur associee `a une solution optimale est appelee valeur optimale du probl`eme.
Remarque : Attention, tous les probl`emes PL nadmettent pas une solution optimale unique ;
certains probl`emes peuvent avoir de nombreuses solutions optimales alors que dautres peuvent
nen avoir aucune. Ce dernier cas peut se produire pour des raisons radicalement opposees :
Maximiser 3x1 + x2
Maximiser x + y
Soit A = (aij ) une matrice de r`eels de taille m n, b = (b1 , ...., bm ) et c = (c1 , ..., cn ) deux
A, b, c consiste `a trouver des reels x1 , x2 , ..., xn satisfaisant les m inequations (une pour chaque
i entre 1 et m ) :
n
aij xj bi Ax b
j=1
n
aij xj bi Ax b
j=1
n
aij xj < bi Ax < b
j=1
n
aij xj > bi Ax > b
j=1
n
aij xj = bi Ax = b
j=1
11
n
cj xj
j=1
Exemple:
x1 + 3x2 + x3 2
2x1 + 5x2 + x3 8
(0.5)
x1 x2 + x3 5
max(2x1 + x2 x3 )
1 3 1 x1 2
2 5 1
x2 8
1 1 1 x3 5
Maximiser
n
cj xj
j=1
Sous conditions:
Ax b
Cx = d (0.6)
x0
est appele forme standard dune PL. On peut se ramener toujours `a cette forme quitte `a
remplacer :
x = x+ x avec x+ 0 et x 0
a = b est equivalent `a a b et b a
V. D
enitions
D
enition 1:
D
enition 2 :
P.
tales pour quils soient valides. Ces conditions sont en nombre de quatre :
Comprehension du probl`eme.
VII. Mod
elisation de certains probl`
emes
economiques
VII.1 Probl`
eme doptimisation en
economie
Les probl`emes que lon etudie dans ce paragraphe consistent `a trouver les optimums dune
sont des constantes, les variables etant liees par certaines relations qui sont des equations ou
methodes permettent daboutir `a des solutions coherentes des mod`eles. Le champ actuel des
la gestion et lutilisation des ressources rares pour accrotre la productivite. Ces applications
Les
etapes `
a suivre dans le processus de mod
elisation
La fonction economique o`
u fonction objectif.
Construction du modele.
16
lin
eaire
VII.2.1 Probl`
eme de transport
Une usine stocke un produit dans trois sites S1 , S2 et S3 . Les quantites stockees dans
chaque site sont respectivement 40, 50 et 30 tonnes. Les depots doivent alimenter quatre
Question: Comment lentreprise doit-elle repartir les stocks du produit entre les points de
vente ?
Mod
elisation du probl`
eme
Notons xij la quantite du produit que le depot Si livre au magasin Bj . Ces inconnues:
x11 , x12 , x13 , x14 , x21 , x22 , x23 , x24 , x31 , x32 x33 , x34
Toute solution `a ce syst`eme dinequation est une solution, cest-`a-dire est une repartition
realisable des produits stockes entre les points de vente. Parmi toutes ces solutions, nous
est:
i=3,j=4
c11 x11 + c12 x12 + ... + c34 x34 = cij xij
i=1,j=1
Nous devons donc chercher `a minimiser cette fonction. Nous avons donc le mod`ele mathematique
suivant:
xij 0
x11 + x21 + x31 10
x12 + x22 + x32 12
x13 + x23 + x33 14
x14 + x24 + x34 9
x11 + x12 + x13 + x14 40
x21 + x22 + x23 + x24 50
x31 + x32 + x33 + x34 30
min(c11 x11 + c12 x12 + ... + c34 x34 )
Nous verrons, dans les paragraphes suivants, comment resoudre un tel probl`eme.
18
ceux-ci, il a convenu dy placer 3 sortes de chocolats, denotes chocolats 1,2 et 3, dont chaque
kg lui co
ute respectivement 4 DH, 1,45 DH et 2,40 DH. Chaque assortiment doit peser un kg
et se vendra 8 DH. Le chocolat 1 doit representer entre 0.1 et 0.2 du poids dun assortiment.
Les chocolats 1 et 2 presents dans un assortiment ne doivent pas peser plus de 800g. Au moins
la moitie du poids dun assortiment doit provenir des chocolats 1 et 3. Quelle proportion de
chaque sorte de chocolats, le chocolatier-consseur doit-il utiliser pour maximiser les revenus
Un probl`
eme de production
Soit une entreprise produisant deux biens A et B `a laide de quatre procedes de fabrication
(ou activites). Les activites 1 et 2 sont reservees `a la production du bien A et les activites
suivant:
19
Equipement (heure-machine) 70 3 2 4 3
Co
ut de production unitaire 2 5/2 4 3
de facon `a maximiser sa marge brute totale `a laide des ressources en facteurs de production
Les contraintes de limitations des ressources secrivent pour les trois facteurs de production:
Pour lequipement:
x1 + x2 + x3 + x4 15
Ces inegalites peuvent etre transformees en egalites par ladjonction de variables dites decart
mesurant les excedents des facteurs. Soient x5 , x6 , x7 les variables decart pour les contraintes
x7 = 15 (x1 + x2 + x3 + x4 )
La variable x5 peut etre considere comme le niveau dune activite 5 ctives qui consomme de
La variable x6 peut etre considere comme le niveau dune activite 6 ctives qui consomme de
La variable x7 peut etre considere comme le niveau dune activite 7 ctives qui consomme de
Les contraintes de limitations des ressources par le syst`eme de trois equations lineaires `a 7
21
Un calcul elementaire des marges brutes unitaires permet dexprimer la marge brute totale
11
6x1 + x2 + 7x3 + 8x4
2
VIII. Probl`
eme g
en
eral de programmation lin
eaire
VIII.1 Probl`
eme g
en
eral
D
enition : Tout probl`eme de programmation lineaire peut se mettre sous la forme suivante:
xi 0
a11 x1 + a12 x2 + ... + a1n xn b1
..
.
am1 x1 + am2 x2 + ... + amn xn bm
c1 x1 + ... + cn xn .
VIII.2 Probl`
eme canonique
D
enition: On appelle programme lineaire canonique un programme du type:
xi 0
a11 x1 + a12 x2 + ... + a1n xn b1
..
.
am1 x1 + am2 x2 + ... + amn xn bm
u11 x1 + u12 x2 + ... + u1n xn = d1
..
.
um1 x1 + um2 x2 + ... + umn xn = dm
bi , di 0
max(c1 x1 + ... + cn xn )
24
La resolution des programmes lineaires a plus de deux variables ne pourra se faire par
des methodes geometriques. Comme la resolution des syst`emes dinequations lineaires pose
de nombreux probl`emes, nous allons nous ramener en introduisant des variables decart `a un
notre programme en un tableau et mettre en evidence les proprietes de ce tableau ici dun
programme canonique.
Dans le paragraphe suivant, nous verrons, comment `a partir dun programme lineaire quel-
x1 x2 xn e1 e2 em
c1 c2 cn 0 0 0 0
tableau constituent une matrice carree dordre m, appelee matrice de lidentite et les coe-
D
enition: On dit quun tableau est initialise si les coecients, dans les m derni`eres colonnes
Dans cet exemple, le tableau est initialise. Dun tel tableau initialise se degage une solution
26
evidente. En loccurrence:
x1 = 0, , xn = 0, e1 = b1 , , em = bm
et
c1 x1 + + cn xn = 0.
Cette solution nest pas evidement la solution maximale. Le fait remarquable que nous venons
de decrire est tout tableau initialise donne directement une solution au programme considere.
Exemple
temps de fabrication dune pi`ece de type Pi sur la machine Mj est donne dans le tableau
suivant en heures:
M1 M2 M3
P1 3 4 4
P2 4 6 5
co
ut horaires respectivement de M1 , M2 et M3 sont 7, 5 et 6.
Solution
1 1 1 0 0 0 0 0 0 6
0 0 0 1 1 1 0 0 0 8
3 0 0 4 0 0 1 0 0 14
0 4 0 0 5 0 0 1 0 24
0 0 4 0 0 6 0 0 1 24
21 20 24 28 30 30 0 0 0 0
1 1 1 0 0 0 1 0 0 0 0 6
0 0 0 1 1 1 0 1 0 0 0 8
3 0 0 4 0 0 0 0 1 0 0 14
0 4 0 0 5 0 0 0 0 1 0 24
0 0 4 0 0 6 0 0 0 0 1 24
21 20 24 28 30 30 M M 0 0 0 0
1 1 1 0 0 0 1 0 0 0 0 6
0 0 0 1 1 1 0 1 0 0 0 8
3 0 0 4 0 0 0 0 1 0 0 14
0 4 0 0 5 0 0 0 0 1 0 24
0 0 4 0 0 6 0 0 0 0 1 24
21 + M 20 + M 24 + M 28 + M 30 + M 30 + M 0 0 0 0 0 14M
Exemple:
et D3 . Les usines, qui ont des disponibilites limitees doivent fournir au depot les quantites
taxes,...) et ce co
ut varie suivant les destinations. Le probl`eme qui se pose est celui de
30
lacheminement au moindre co
ut. Les disponibilites de lusine U1 sont de 18, de U2 de 32. Les
IX. Cas o`
u les contraintes sont des in
equations dans les deux sens ou des
equations
xi 0
a11 x1 + a12 x2 + ... + a1n xn b1
..
.
ar1 x1 + ar2 x2 + ... + arn xn br
ar+11 x1 + ar+12 x2 + ... + ar+1n xn br+1
..
.
am1 x1 + am2 x2 + ... + amn xn bm
max(c1 x1 + ... + cn xn )
Nous introduisons les variables decarts positives, en les ajoutant lorsque le seconde mem-
bre est superieur au premier et en les retranchant dans le cas contraire. Nous obtenons le
32
programme suivant:
xi , e j 0
a11 x1 + a12 x2 + ... + a1n xn + e1 = b1
..
.
ar1 x1 + ar2 x2 + ... + arn xn + er = br
ar+11 x1 + ar+12 x2 + ... + ar+1n xn er+1 = br+1
..
.
am1 x1 + am2 x2 + ... + amn xn em = bm
max(c1 x1 + ... + cn xn )
33
x1 x2 xn e1 er er+1 em
c1 c2 cn 0 0 0 0 0
Ce tableau nest pas initialise: En eet, nous navons quune partie des vecteurs constituant
la matrice identite. Les contraintes bi 0 nous empechent de remplacer les vecteurs colonnes
du type
0 0
.. ..
. .
0 0
1 par des vecteurs de types 1
.
0 0
.. ..
. .
0 0
Dapr`es le tableau precedent, il manque m-r vecteurs colonnes de la matrice identite.
Le tableau devient:
x1 x2 xn e1 er er+1 em 1 mr
c1 c2 cn 0 0 0 0 0 w w
2) An que le tableau precedent soit initialise, il est necessaire de rendre nul les coecients
de la fonction economique situee sous les colonnes de la matrice identite. Ainsi pour eliminer
par la derni`ere mois w fois la ligne r+1; on op`ere de meme pour les autres coecients. Et on
x1 x2 xn e1 er er+1 em 1 mr
Avec
Un tel tableau est initialise. Les colonnes de reference sont ici les colonnes associees
x + y + 3z e1 = 15
2x + y + 5z e2 = 20
x + 2y + z + e3 = 10
max(x + 3y + z)
x, y, z, e1 , e2 , e3 0
1 1 3 1 0 0 15
2 1 5 0 1 0 20
1 2 1 0 0 1 10
1 3 1 0 0 0
x y z e1 e2 e3 1 2
1 1 3 1 0 0 1 0 15
2 1 5 0 1 0 0 1 20
1 2 1 0 0 1 0 0 10
1 3 1 0 0 0 w w
Initialisons le tableau:
38
x y z e1 e2 e3 1 2
1 1 3 1 0 0 1 0 15
2 1 5 0 1 0 0 1 20
1 2 1 0 0 1 0 0 10
1 3w 3 2w 1 8w w w 0 0 0 35w
x + 3y + z + w1 + 2
Chapitre II. M
ethode de simplexe
40
M
ethode de simplexe
On sait la solution, si elle existe, se trouve au moins sur un sommet du domaine des solu-
tions realisables, la recherche de la solution optimale seectue uniquement sur ces sommets.
Lalgorithme du simplexe examine comme premi`ere solution un des sommets (en general
diterations, il arrive `a un sommet `a partir duquel tout deplacement vers un autre sommet
en sommet jusqu`a ce quon ne puisse plus ameliorer la solution. Au point de depart, la fonc-
tion objectif est nulle, et il sagit de laugmenter. Si certains de ses coecients sont positifs,
tant que la derni`ere ligne dun tableau du simplexe contient au moins un coecient positif,
Remarques et d
enitions:
facilement une solution de depart realisable, puisque les coecients de ces variables constituent
(m < n).
Les n-m variables qui sont annulees sont dites des variables hors base alors que les m
Lorsque la solution de base satisfait les contraintes de non negativite, la solution est
Les solutions de base realisables sont la caracteristique algebrique des points extremes
3) Chaque solution de base realisable est equivalente `a un point extreme. Il peut exister plus
4) Une solution de base realisable est dite degeneree lorsque une ou plusieurs variables de
5) Une solution de base realisable dont les m variables de base sont positives est dite solution
sont dites adjacentes si lensemble respectif des variables de base de chaque solution a m-1
Principe du processus it
eratif
A partir dune solution de base realisable, on obtient une nouvelle solution de base
realisable adjacente, meilleure ou aussi bonne, en transformant une variable hors base en une
variable de base dite variable entrante et en meme temps, rendre une variable de base actuelle
en variable hors base dite variable sortante. Cette operation algebrique permet dobtenir une
Premi`
ere
etape: Recherche du pivot:
Le pivot est un coecient du tableau qui permet, grace `a la methode du pivot, dannuler
tous les coecients de la colonne contenant ce pivot, excepte cet element qui est ramene `a 1
La colonne pivot est denie `a partir des coecients de la fonction economique. On cherche
objectif. Cette variable correspond au plus grand coecient positif de la fonction objectif.
Considerons les coecients c1 , ..., cn de la fonction economique. Parmi tous les coecients
positifs, on consid`ere le plus grand. La colonne pivot est la colonne qui le contient. La variable
Remarque: Sil existe plusieurs coecients correspondant `a cette valeur positive maximale,
La variable entrante va prendre la place dune des variables de base, appele variable
sortante. Il faut maintenant trouver quelle valeur maximum peut prendre cette variable
colonne est divise par le coecient correspondant de la colonne pivot. Si la colonne pivot est:
43
a1j
a2j
a3j
..
.
anj
cj
chaque contrainte prise separement, la valeur maximale que peut prendre la variable entrante.
soit positif et minimal. La variable correspondant `a cette ligne est la variable sortante.
Troisi`
eme
etape: It
eration
Sil existe un coecient ci positif dans le nouveau tableau, on retourne `a la premi`ere etape
que tous les coecients de la fonction economique soient negatifs. Cela se produira forcement.
44
optimale
x1 + x2 + e1 = 1
x2 + e2 = 2
3x1 + 4x2 + e3 = 12
x1 + x3 + e4 = 3
max(3x1 x2 + x3 )
xi , e i 0
x1 x2 x3 e1 e2 e3 e4
e1 1 1 0 1 0 0 0 1
e2 0 1 0 0 1 0 0 2
e3 3 4 0 0 0 1 0 12
e4 1 0 1 0 0 0 1 3
Z 3 -1 1 0 0 0 0 0
Le plus grand coecient positif de la fonction economique est c1 = 3. La colonne pivot est
La premi`ere ligne est la ligne pivot. Les seuls coecients positifs non nuls de cette colonne
bi b1
sont a11 = 1, a31 = 3 et a41 = 1. Calculons les rapports ai1
correspondants. On a a11
= 1,
b3 b4
a31
= 4, a41
= 3.
Le plus petit rapport est le premier, donc la ligne pivot est la premi`ere. Le pivot associe
Deuxi`
eme
etape : R
eduction du tableau
On divise la ligne pivot par le pivot puis on annule ensuite les coecients du tableau
situees au-dessus et au-dessous du pivot, en soustrayant la ligne pivot aux autres lignes.
x1 x2 x3 e1 e2 e3 e4
x1 1 1 0 1 0 0 0 1
e2 0 1 0 0 1 0 0 2
e3 0 1 0 -3 0 1 0 9 L3 L3 3L1
e4 0 -1 1 -1 0 0 1 2 L4 L4 3L1
Z 0 -4 1 -3 0 0 0 -3 L5 L5 3L1
46
Le seul coecient positif de cette colonne est a43 = 1, cest donc le pivot. On reduit le tableau
et on obtient:
x1 x2 x3 e1 e2 e3 e4
x1 1 1 0 1 0 0 0 1
e2 0 1 0 0 1 0 0 2
e3 0 1 0 -3 0 1 0 9
x3 0 -1 1 -1 0 0 1 2
Z 0 -3 0 -2 0 0 -1 -5 L5 L5 L4
Tous les coecients de la fonction economique sont negatifs, on a donc la solution optimale.
max(3x1 + x2 + x3 ) = 5.
Exemple 2:
x1 x2 x3 x4 e1 e2 e3
e1 3 2 4 3 1 0 0 70
e2 7 8 10 12 0 1 0 120
e3 1 1 1 1 0 0 1 15
Z 6 11/2 7 8 0 0 0 0
x1 x2 x3 x4 e1 e2 e3
x1 x2 x3 x4 e1 e2 e3
e1 0 -1 1 0 1 0 -3 25 L1 L1 3L3
Ce tableau est le dernier car tous les coecients de la derni`ere ligne sont negatifs. La
en ce point 96.
Lidee de la mehode du simplexe est, partant dune solution de base realisable, daugmenter
la valeur dune des variables hors base, la variable entrante, de facon `a diminuer (si on
en fonction des variables hors base qui apparat dans la premi`ere ligne du dictionnaire, permet
Exemple 3:
2x1 + 4x2 + 5x3 + 7x4 42
x1 + x2 + 2x3 + 2x4 17
x1 + 2x2 + 3x3 + 3x4 24
max(7x1 + 9x2 + 18x3 + 17x4 )
xi 0
e2 = 17 x1 x2 2x3 2x4
Les variables e1 , e2 et e3 dites variables de base sont exprimees en fonction des variables
Une solution de base est une solution dans laquelle toute les variables hors base sont
Cette solution est dite realisable car les valeurs des variables sont strictement positives.
Pour faire crotre Z, on augmente la valeur dune variable dont le coecient dans la
e3 0 ce qui impose x3 8,
Cette operation revient `a se deplacer dun sommet de poly`edre (0, 0, 0, 0) `a un autre sommet
(0, 0, 8, 0) le long dune arrete jusqu`a rencontrer un nouvel hyperplan (e3 = 0).
Pour pouvoir iterer cette operation, il faut obtenir un nouveau dictionnaire en echangeant
les roles de x3 et e3 .
1 2 5
e1 = 2 x1 x2 2x4 e3
3 3 3
1 1 2
e2 = 1 x1 + x2 + e3
3 3 3
1 2 1
x3 = 8 x1 x2 x4 e3 Dictionnaire II
3 3 3
Z = 144 + x1 3x2 x4 6e3
50
e1 0 ce qui impose x1 6,
e2 0 ce qui impose x1 3,
x1 = 3 + x2 3e2 + 2e3
e1 = 1 x2 2x4 + e2 + e3
x3 = 7 x2 x4 + e2 e3 Dictionnaire III
sommet (3, 0, 7, 0) le long dune arrete jusqu`a rencontrer un nouvel hyperplan (e2 = 0).
Tous les coecients dans la ligne de la fonction objectif sont negatifs, donc la solution
Exemple 4:
Exemple 5:
VI.1 D
eg
en
erescence
e1 = 1 2x3
e3 = 2 + x1 3x2 4x3
Z = 2x1 x2 + 8x3
52
Apr`es avoir choisi x3 comme variable entrante en base, on trouve que les trois variables de
base e1 , e2 , e3 limitent la croissance de x3 `a 21 . Ainsi chacune de ces trois variables peut etre
choisie pour quitter la base. Nous choisissons e1 . Apr`es avoir pivote, on obtient le dictionnaire:
1 1
x3 = e1
2 2
e2 = 2x1 + 4x2 + 3e1
e3 = x1 3x2 + 2e1
Z = 4 + 2x1 x2 + 4e1
Ce dictionnaire di`ere de tous les autres rencontres jusqu`a present. En eet, dans la
solution realisable associee `a ce dictionnaire, les variables de base e2 et e3 sont nulles. Les
solutions de base ayant une (ou plusieurs) variable(s) de base nulle(s) sont dites degenerees.
La degenerescence peut avoir des eets de bord ennuyeux. Ce fait est illustre par les
valeur de x1 reste inchangee, de meme que les valeurs des autres variables et de la fonction
daugmenter la valeur de la fonction objectif `a chaque iteration. Pour cette iteration, notre
1 1
x3 = e1
2 2
3 1
x1 = 2x2 + e1 e2
2 2
7 1
e3 = x2 + e1 e2
2 2
Z = 4 + 3x2 e1 e2
53
Cela naecte pas la solution associee. Les iterations du simplexe qui ne modient pas la
solution de base sont dites degenees. Vous pourrez verier que literation suivante est `a
nouveau degeneree, mais celle dapr`es ne lest pas et fournit la solution optimale.
1 1
x3 = e1
2 2
17 3
x1 = e1 e2 2e3
2 2
7 1
x2 = e1 e2 e3
2 2
19 5
Z = 4 + e1 e2 3e3
2 2
e1 = 1 2x3
17 3
x1 = 17e1 e2 2e3
2 2
7 1
x2 = 7x3 e2 e3
2 2
27 5
Z = 19x3 e2 3e3
2 2
Dans un sens, la degenerescence est accidentelle. En eet, une variable de base ne peut
disparatre (i.e valoir zero) que si les operations successives du pivot m`enent exactement `a
la suppression dans chaque ligne dune meme variable. Pourtant la degenerescence dit que
presque tous les probl`emes pratiques m`enent `a une solution de base realisable degeneree `a une
peut stagner en passant par quelques iterations (parfois nombreuses) degenerees sur une ligne.
En r`egle generale, un tel bloc diterations se termine par la decouverte dune iteration non
degeneree. Mais ce nest pas toujours le cas et nous allons vous presenter un contre-exemple.
Est-ce que la methode du simplexe peut engendrer un nombre inni diterations sans
jamais trouver la solution optimale ? La reponse est OUI. Pour justier ce fait, considerons
le dictionnaire suivant:
Exemple:
Solution:
1 11 5
e1 = x1 + x2 + x3 9x4
2 2 2
e2 = 1 x1
1 3 1
e3 = x1 + x2 + x3 x4
2 2 2
Z = 10x1 57x2 9x3 24x4
La variable entrante sera toujours la variable hors base ayant le plus grand coecient
Si plusieurs variables peuvent etre choisies pour quitter la base, on prendra celle de plus
petit indice. Ainsi, nous obtenons pour les six prochaines iterations, les dictionnaires
suivants:
55
1 1 1
x2 = x3 + 2x4 + e1 e2
2 4 4
1 3 11
x1 = x3 + 4x4 + e1 e2
2 4 4
1 3 11
e3 = 1 + x3 4x4 e1 + e2
2 4 4
29 27 53
Z = x3 98x4 e1 e2
2 4 4
1 5
x2 = x1 2x4 e1 e2
2 2
3 11
x3 = 2x1 8x4 + e1 e2
2 2
e3 = 1 x1
1 1 1 5
x4 = x1 x2 e1 + e2
2 2 4 4
1 9
x3 = 2x1 4x2 e1 + e2
2 2
e3 = 1 x1
21 141
Z = 20x1 9x2 + e1 e2
2 2
56
1 3 1
x4 = x 1 + x2 + x3 e2
2 2 2
e1 = 4x1 8x2 2x3 + 9e2
e3 = 1 x1
1 3 1
e2 = x1 + x 2 + x3 x4
2 2 2
1 11 5
e1 = x1 + x2 + x3 9x4
2 2 2
e3 = 1 x1
On retrouve donc le premier dictionnaire apr`es avoir introduire les variables decart.
initial, la methode bouclera sur les memes iterations indeniment, sans jamais trouver la
solution optimale (laquelle, comme nous le verrons plus tard, vaut 1). Ce phenom`ene est
connu sous le nom de cycle. Plus precisement, nous disons que la methode du simplexe cycle
si un dictionnaire apparat dans deux iterations dierentes (et donc la sequence diterations
menant de ce dictionnaire `a lui-meme peut etre repetee sans ni). Il faut noter que les cycles
objectif augmente avec chaque iteration non degeneree et reste inchangee apr`es celles qui le
sont, toutes les iterations dans une sequence menant dun dictionnaire `a lui-meme doivent
etre degenerees. Les cycles sont la raison pour laquelle la methode du simplexe peut ne pas
Th
eor`
eme 1 : Si la m
ethode du simplexe ne termine pas, alors elle doit cycler.
variable sortante `a chaque iteration du simplexe. La r`egle du plus petit indice, methode plus
recente, se base sur le choix de la variable entrante et aussi de celle sortante. Cette derni`ere
methode, quant `a elle, ne necessite pas de calcul supplementaire, mais elle ne laisse pas le
La r`egle du plus petit indice: Lorsque plusieurs variables sont candidates pour entrer
(resp. sortir) de la base, on prend toujours celle ayant le plus petit indice. La motivation
Th
eor`
eme 2: La m
ehode du simplexe sarr
ete d`
es lors que les variables en-
it
eration.
58
Dualit
e en programmation lin
eaire
I. Introduction
D
enition 1:
Comme le mod`ele original a deux formes importantes qui sont la forme canonique et la
D
enition 2:
On dit quun programme lineaire est dans sa forme symetrique si les variables sont toutes
non negatives et que toutes les contraintes de type dans le cas dune maximisation o`
u
lineaire dont loptimisation en est une de maximisation avec des contraintes de type inferieure
ou egal et des variables toutes positives, on lui associe un programme canonique dual dont
loptimisation en est une de minimisation avec des contraintes de type superieur ou egal et
Autrement:
n
m
maximiserZ = j=1 ci xi
minimiserW = i=1 bi yi
n n
i=1 aij xj bi , 1 i m aij yi ci , 1 j n
Primal : Dual :
i=1
xj 0 yi 0
Remarque:
1) Si la fonction objectif du primal doit etre maximiser, celle du dual doit etre minimiser
et inversement.
les seconds membres des contraintes du dual alors que les seconds membres des con-
traintes du primal o`
u composantes de B deviennent les coecients des variables duales
3) Les coecients des variables dans les contraintes du dual sont ceux du primal mais
4) A chaque contrainte du primal de type , lui associe une variable du dual positive.
5) A chaque variable de decision non negative dans le primal, lui correspond une contrainte
6) La dualite est une notion symetrique: Lun des programmes au choix est appele le
Autrement:
m
maximiserZ = ni=1 ci xi
minimiserW = i=1 bi yi
n n
Primal :
i=1 aij xj = bi , 1 i m Dual :
aij yi ci , 1 j m
i=1
xj 0 yi sans restriction de signe
Autrement:
n
m
minimiserZ = i=1 ci xi
maximiserW = i=1 bi yi
n n
i=1 aij xj bi , 1 i m aij yi ci , 1 j m
Primal : Dual :
i=1
xj 0 yi 0
maximiserZ = 2x + 4x + 8x + 5x
maximiserZ = 3x1 + 5x2 + 2x3
1 2 3 4
2x 2x + 3x = 250
x1 2x2 + 6x3 = 20
1 2 3
2x1 + 8x2 9x3 = 150 2x1 + 8x2 + x3 = 15
x 1 + 10x 2 + 5x 3 = 120
x1 + 10x2 + 5x3 12
xi 0 xi 0
minimiserZ = 2x1 + 4x2
minimiserZ = 2x1 + 4x2 + 8x3 + 5x4
2x 2x + 3x = 250
2x1 2x2 + 3x3 = 250
1 2 3
2x1 + 8x2 9x3 15 2x1 + 8x2 9x3 = 150
x 1 + 10x 2 + 5x 3 120
x1 + 10x2 + 5x3 = 12
xi 0 xi 0
Comme nous le savons, un mod`ele peut se presenter avec des contraintes comportant les
symboles , ou = .
IV.1. R`
eles g
en
erales pour formuler le dual
Pour obtenir le dual dun programme primal comportant les equations qui nont pas un
forme standard.
IV.2. Description g
en
erale du dual-primal
Maximiser Z o`
u W dans lordre Minimiser Z o`
u W dans lordre
64
Nombre de contraintes
Nombre de variables duales
A la contrainte i
Correspond la variable yi
Contrainte de type yi 0
Contrainte de type
yi 0
Contrainte de type =
yi sans restriction de signe
Nombre de variables(decisions)
Nombre de contraintes
xi 0 Contrainte de type
xi 0
Contrainte de type
xi sans restriction de signe Contrainte de type =
Soient un programme lineaire dans sa forme standard et son dual. Pour toute solution
a:
du primal pour toute solution realisable au primal sera toujours inferieure ou egale `a la
C T X BT Y
du primal pour toute solution realisable au primal sera toujours superieure ou egale `a
C T X BT Y
65
On deduit donc que C T X inf(B T Y ) pour toute solution realisable Y du son dual et
que sup(C T X) B T Y pour toute solution realisable X du primal. Par suite sup(C T X)
C T X = B T Y.
Si un programme presente des solutions realisables mais pas de solution optimale nie,
Non lin
eaire
67
enition: Un ensemble K Rn est dit convexe si pour tout couple (x, y) K 2 et [0, 1]
D
on a
x + (1 )y K.
Cette denition peut sinterpreter en disant que le segment reliant x et y doit etre dans K.
Fonctions convexes
est toujours en dessous du segment reliant les points (x, f (x)) et (y, f (y)).
: [0, 1] R par
Alors on a lequivalence (t) convexe sur [0, 1], (x, y) K 2 f convexe sur K.
Rappels de calcul di
erentiel
D
enition de la di
erentiabilit
e:
enition: Soit f : Rn Rm , on dit que f est continue au point a Rn si pour tout reel
D
continue en a Rn . On dit que f est dierentiable en a sil existe une application lineaire,
u (h) est une fonction continue en 0 veriant lim (h)h0 = 0. On appelle f (a) derivee de
o`
f au point a.
f (a + th) f (a)
lim = f (a)h.
t0 t
fi
[f (a)]ij = (a).
xj
69
une notation et un nom particuliers: le gradient est le vecteur note f (a) et deni par
f (a) = f (a)T .
et on a
enition: Soit f : Rn R est dite deux fois dierentiable sil existe une matrice
D
Formes quadratiques
D
enition dune forme quadratique:
1
f (x) = xT Ax bT x
2
enition: Soit A une matrice symetrique n n etb Rn . On dit que A est semi-denie
D
xT Ax 0, x Rn .
xT Ax > 0, x Rn , x = 0.
70
Lorsque la matrice A est denie positive (resp. semi-denie positive), on dira que f (x) est
Crit`
ere de Sylvester:
Soit A(n n) une matrice symetrique est denie positive ssi det(Ak ) > 0, 1 n, et Ak
f (x ) f (x), x Rn .
71
Caracterisation de la convexit
e en termes Hessien:
u f : R R on a le resultat suivant:
Dans le cas o`
Caracterisation de la convexit
e en termes gradient:
Dans le cas o
u f nest pas supposee quune fois dierentiable alors on a le resultat suivant:
Th
eor`
eme: Soit f : K Rn R (K convexe) une fonction une fois dierentiable
alors f est convexe ssi f (y) f (x) + f (x)T (y x)(x, y) K 2 et strictement convexe ssi
Th
eor`
eme: Soit f : K Rn R (K convexe) une fonction une fois dierentiable
Unicit
e
Conditions n
ecessaires doptimalit
e en labsence de con-
traintes
Conditions n
ecessaires:
a necessairement f (x ) = 0.
Conditions n
ecessaires et susantes
f (x ) = 0,
alors on a f (x ) f (x), x Rn .
Lorsque la fonction nest pas convexe, on ne peut donner quune condition necessaire et
susante doptimalite locale. On designera par minimum local (que lon oppose au minimum
f (x ) f (x), x, x x .
Dans le cas o`
u f est deux fois dierentiable on peut alors donner le resultat suivant:
f (x ) = 0,
2 f (x ) > 0,
73
Parmi ces points lesquels sont min locaux, max locaux, ni lun ni lautre?
74
M
ethode de Newton
La methode de Newton permet de construire un algorithme permettant de resoudre le systeme
u g : Rn R est dierentielle:
dequations non-lineaires: g(x) = 0 o`
minf (x)xRn .
de Newton converges to x .
x0 = 10, y0 = 10, z0 = 0.
75
Conditions doptimalit
e en optimisation avec contraintes
D
enition du lagrangien: Considerons le probl`eme (PCE) avec contraintes degalite
minf (x) x Rn
h(x) = 0.
u h : Rn Rp .
o
denie par
D
enition: On dit que x est un point regulier pour la contrainte h(x) = 0 si
(a) h(x ) = 0
Th eme: Soit x un point regulier solution de (PCE). Alors il existe tel que
eor`
x L(x , ) = 0
(a) h(x ) = 0
p
(b) f (x ) + i=1 hi (x ) = 0.
hi (x )T y = 0
76
Th eme: Soit x un point regulier solution de (PCI). Alors il existe tel que
eor`
x L(x , ) = 0
i 0, 1 i p.
i g(x ) = 0, 1 i p.
(a) g(x ) 0
p
(b) f (x ) + i=1 gi (x ) = 0.
(c) i 0, 1 i p.
(d) i g(x ) = 0, 1 i p.
hi (x )T y = 0