Vous êtes sur la page 1sur 76

1

Cours doptimisation
2

Chapitre I. Programmation lin


eaire
3

Introduction `
a la programmation lin
eaire

I: Introduction

I.1 Un exemple de probl`


eme de r
egime alimentaire

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.

Maintenant, Mr X se demande comment composer ses menus? Il decide donc dimposer

les limites suivantes sur le nombre de services par jour pour chacun des aliments:

Cereales: au plus 4 services par jour,

Poulet : au plus 3 services par jour,

Oeufs : au plus 2 services par jour,

Lait entier : au plus 8 services par jour,

Tarte aux pommes : au plus 2 services par jour,

Poissons et haricots : au plus 2 services par jour.


4

Aliment Quantite Energie (kcal) Proteines (g) Calcuim (mg) Prix

Cereales 28 g 110 4 2 3

Poulet 100g 205 32 12 24

Oeufs 2 160 13 54 13

Lait entier 25 cl 160 8 285 9

Tartes aux pommes 170g 420 4 22 20

Poissons et haricots 260g 260 14 80 19

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,

x4 services de lait entier,

x5 services de tarte aux pommes,

x6 services de poissons et haricots.

An de respecter les limites imposees, le menu doit satisfaire :

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:

110x1 + 205x2 + 160x3 + 160x4 + 420x5 + 260x6 2000

Proteines:

4x1 + 32x2 + 13x3 + 8x4 + 4x5 + 14x6 55

Calcium:

2x1 + 12x2 + 54x3 + 285x4 + 22x5 + 80x6 800.

Le co
ut quotidien du menu est :

3x1 + 24x2 + 13x3 + 9x4 + 20x5 + 19x6

Pour composer le menu le moins cher, Mr X cherche les valeurs de x1 , x2 , ..., x6 qui satisfont les

inegalit`es precedentes et qui rendent la valeur du co


ut tr`es petite que possible. La formulation

mathematique de ce probl`eme de regime est donc :

Minimiser 3x1 + 24x2 + 13x3 + 9x4 + 20x5 + 19x6


6

Sous les contraintes :






0 x1 4







0 x2 3







0 x3 2







0 x4 8



0 x5 2 (0.1)







0 x6 2.







110x1 + 205x2 + 160x3 + 160x4 + 420x5 + 260x6 2000







4x1 + 32x2 + 13x3 + 8x4 + 4x5 + 14x6 55





2x1 + 12x2 + 54x3 + 285x4 + 22x5 + 80x6 800

II. Les programmes lin


eaires

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 :

Maximiser 5x1 + 4x2 + 3x3 Sous les contraintes :





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

Sous les contraintes :





x1 + 6x2 x3 + x4 3







7x2 + 2x4 = 5



x 1 + x2 + x3 = 1 (0.3)







x3 + x4 2






x2 , x 3 0

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

reelles x1 , x2 , ..., xn par :

f (x1 , x2 ..., xn ) = c1 x1 + c2 x2 + ... + cn xn

est appelee fonction lineaire.

D
enition2 : Soient f une fonction lineaire et b un nombre reel, alors lequation

f (x1 , x2 , ..., xn ) = b est appelee lequation lineaire et les inegalites

f (x1 , x2 , ..., xn ) b
8

f (x1 , x2 , ..., xn ) b

sont appellees des inequations lineaires. Les equations et inequations lineaires sont appelees

ici des contraintes lineaires.

D
enition3 : Un programme lineaire est un probl`eme qui consiste `a maximiser ou minimiser

une fonction lineaire tout en respectant un ensemble ni de contraintes lineaires.

La fonction lineaire que lon doit maximiser ou minimiser dans un problme PL est dite

fonction objectif du probl`eme.

Exemple :

La fonction f des variables x1 , x2 , x3 , x4 , x5 , x6 denie par:

f (x1 , ..., x6 ) = 3x1 + 24x2 + 13x3 + 9x4 + 20x5 + 19x6

est la fonction objective du probl`eme de regime de Mr X.

Les nombres x1 , x2 , ..., xn qui satisfont toutes les contraintes dun probl`eme PL donne

constituent une solution realisable ou admissible de ce probl`eme.

Par exemple nous avons vu que x1 = 0, x2 = 0, x3 = 0, x4 = 8, x5 = 2, x6 = 0 est une solution

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

standard) est appelee solution optimale.

La valeur associee `a une solution optimale est appelee valeur optimale du probl`eme.

Par exemple x1 = 4, x2 = 0, x3 = 0, x4 = 9/2, x5 = 2, x6 = 0 est la solution optimale de

(0.1). Ainsi la valeur optimale correspondante est 92.5.


9

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 :

Soit il nexiste pas de solution realisable.

Soit, dans un certain sens, il en existe trop.


10

Exemple : On peut illustrer le premier cas sur le probl`eme

Maximiser 3x1 + x2

Sous les contraintes:





x1 + x2 2



2x1 2x2 10 (0.4)





x1 , x 2 0

Maximiser x + y

Sous les contraintes:




x+y 1


x, y 0

Ce probl`eme admet une innite de solutions optimales.

III. Ecriture Matricielle

Soit A = (aij ) une matrice de r`eels de taille m n, b = (b1 , ...., bm ) et c = (c1 , ..., cn ) deux

vecteurs de r`eels de taille m et n respectivement. Resoudre le probl`eme lineaire deni par

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

Parmi ceux-ci, il faut trouver ceux qui rendent maximal:


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

IV. Mise sous forme standard

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 :

Minimiser f est equivalent `a maximiser -f


12

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:

Lensemble {x Rn /Ax b, Cx = d} : lensemble des solutions realisables (admissibles),

est appele poly`edre. Cet ensemble est convexe.


13

D
enition 2 :

Un sommet du poly`edre P = {x Rn /Ax b, Cx = d} est un point x qui ne peut pas

secrire comme combinaison convexe de deux points de P distincts de x.

Le maximum de la fonction objectif, sil existe, est atteint au moins en un sommet de

P.

Exemple: max(4x + 5y) sous conditions:






x+y 5






2x + y 8



x + 2y 8






x, y 0

VI. Principales conditions suivre dans PL

Les mod`eles de programmation lineaire doivent respecter certaines conditions fondamen-

tales pour quils soient valides. Ces conditions sont en nombre de quatre :

Comprehension du probl`eme.

Identication des variables de decision.

Fixation des objectifs `a atteindre.

Mise en equation des ses contraintes.


14

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

fonction, quon appelle fonction economique, donnee f (x1 , ..., xn ) = c1 x1 + ... + xn o`


u les ci

sont des constantes, les variables etant liees par certaines relations qui sont des equations ou

des inequations lineaires gi (x1 , ..., xn ) 0 pour tout i = 1, ..., p.

Loptimisation de telles fonctions ore des possibilites de modelisation est un ensemble de

methodes permettent daboutir `a des solutions coherentes des mod`eles. Le champ actuel des

applications de loptimisation `a leconomie est tr`es vaste. Un domaine important concerne

la gestion et lutilisation des ressources rares pour accrotre la productivite. Ces applications

incluent des probl`emes operationnels tels que la distribution de biens, lordonnancement de

la production, la selection de portefeuilles, la conception et lanalyse de reseaux de transport.

Les
etapes `
a suivre dans le processus de mod
elisation

La structure dun mod`ele de programmation lineaire comporte trois el`ements importants:

Les variables de decision.

Les contraintes lineaires.

La fonction economique o`
u fonction objectif.

Les etapes `a suivre dans le processus de modelisation sont:

Identication dune situation problematique de gestion.

Formalisation de la situation problematique.


15

Identication des objectifs.

Construction du modele.
16

VII.2 Exemples de probl`


emes se ramenant `
a une programmation

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

magasins B1 , B2 , B3 et B4 . Les quantites necessaires minimum au point de vente B1 sont de

10 tonnes, 12 tonnes au point B2 , 14 tonnes au point B3 et 9 tonnes au point B4 .

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

sont donc positives ou nulles.

Comme les depots S1 , S2 et S3 ne peuvent livrer respectivement que 40 tonnes, 50 tonnes et

30 tonnes au maximum, alors on a:






x11 + x12 + x13 + x14 40



x21 + x22 + x23 + x24 50





x31 + x32 + x33 + x34 30

Comme la quantite minimum `a livrer aux magasins B1 , B2 , B3 et B4 respectivement etant


17

de 10 tonnes, 12 tonnes, 14 tonnes et 9 tonnes, alors on a :






x11 + x21 + x31 10






x12 + x22 + x32 12



x13 + x23 + x33 14






x14 + x24 + x34 9

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

allons chercher les plus economiques. Supposons que cij soit le co


ut du transport du depot

Si au magasin Bj . Pour une solution donnee du syst`eme dinequation, le co


ut correspondant

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

Exercice: Un chocolatier-consseur confectionne des assortiments de chocolats. Dans

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

nets quil tirera de la vente de ses assortiments ?

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

3 et 4 la production du bien B. Les donnees de production sont regroupees dans le tableau

suivant:
19

Facteur de Bornes de Bien A Bien A Bien B Bien B

production ressources Activite1 Activite2 Activite3 Activite4

Equipement (heure-machine) 70 3 2 4 3

Main douvre (heure) 120 7 8 10 12

Mati`ere premi`ere (Kg) 15 1 1 1 1

Co
ut de production unitaire 2 5/2 4 3

On suppose en outre que lentreprise ecoule toute sa production de A et B aux prix de

vente unitaire respectifs 8 et 11.

Le probl`eme initial de lentreprise est repartie sa production entre les activites 1, 2, 3 et 4

de facon `a maximiser sa marge brute totale `a laide des ressources en facteurs de production

dont elle dispose.

Soient x1 , x2 , x3 , x4 0 des niveaux dactivites donnes respectifs aux activites 1, 2, 3 et 4.

Les contraintes de limitations des ressources secrivent pour les trois facteurs de production:

Pour lequipement:

3x1 + 2x2 + 4x3 + 3x4 70

Pour la main douvre:

7x1 + 8x2 + 10x3 + 12x4 120

Pour la mati`ere premi`ere :

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

respectives `a lequipement, la main douvre et la mati`ere premi`ere.


20

Lexcedent en ressource dequipement est:

x5 = 70 (3x1 + 2x2 + 4x3 + 3x4 )

Lexcedent en ressource de la main douvre:

x6 = 120 (7x1 + 8x2 + 10x3 + 12x4 )

Lexcedent en ressource de la main douvre:

x6 = 120 (7x1 + 8x2 + 10x3 + 12x4 )

Lexcedent en ressource de la mati`ere premi`ere:

x7 = 15 (x1 + x2 + x3 + x4 )

La contrainte correspondante de limitation de ressource peut aussi bien sexprimer par un

excedent non negatif.

La variable x5 peut etre considere comme le niveau dune activite 5 ctives qui consomme de

lequipement et ne produit rien.

La variable x6 peut etre considere comme le niveau dune activite 6 ctives qui consomme de

la main douvre et ne produit rien.

La variable x7 peut etre considere comme le niveau dune activite 7 ctives qui consomme de

la mati`ere premi`ere et ne produit rien.

Les contraintes de limitations des ressources par le syst`eme de trois equations lineaires `a 7
21

inconnues (equations dequilibre) :






xi 0







3x1 + 2x2 + 4x3 + 3x4 + x5 + 0x6 + 0x7 = 70



7x1 + 8x2 + 10x3 + 12x4 + 0x5 + 0x6 + 0x7 = 120







x1 + x2 + x3 + x4 + 0x5 + 0x6 + x7 = 15





Un calcul elementaire des marges brutes unitaires permet dexprimer la marge brute totale

en fonction des niveaux dactivites :

11
6x1 + x2 + 7x3 + 8x4
2

On cherche donc `a maximiser cette fonction.


22

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:

Trouver les nombres x1 , ..., xn soumis aux conditions suivantes:





xi 0







a11 x1 + a12 x2 + ... + a1n xn b1



..
.







am1 x1 + am2 x2 + ... + amn xn bm





et qui optimisent (maximisent ou minimisent) la fonction lineaire :

c1 x1 + ... + cn xn .

VIII.2 Probl`
eme canonique

Nous allons interesser `a un type particulier de programmation lineaire, appelle program-

mation canonique, et decrire une methode algorithmique de resolutions.


23

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

VIII.3 Tableau initial dun programme canonique

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

syst`eme dequations lineaires.

An de schematiser `a lextreme les procedures algebriques de resolution, nous allons convertir

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-

conque, nous ramenons `a un tableau analogue `a un tableau dun programme canonique.

Considerons un programme canonique :






xi 0







a11 x1 + a12 x2 + ... + a1n xn b1





..

.



am1 x1 + am2 x2 + ... + amn xn bm





bi 0









max(c1 x1 + ... + cn xn )






25

Introduisons les variables decart. Nous obtenons le syst`eme suivant:






xi 0







a11 x1 + a12 x2 + ... + a1n xn + e1 = b1





..

.



am1 x1 + am2 x2 + ... + amn xn + em = bm







bi , ei 0







max(c1 x1 + ... + cn xn )





Le tableau associe `a ce programme est:

x1 x2 xn e1 e2 em

a11 a12 a1n 1 0 0 b1

a21 a22 a2n 0 1 0 b2


.. .. .. .. .. .. ..
. . . . . . .

am1 am2 amn 0 0 1 bm

c1 c2 cn 0 0 0 0

Remarque: Nous remarquons que les m derni`eres colonnes et m premi`eres lignes de ce

tableau constituent une matrice carree dordre m, appelee matrice de lidentite et les coe-

cients correspondant dans la fonction economique sont nuls.

D
enition: On dit quun tableau est initialise si les coecients, dans les m derni`eres colonnes

de ce tableau, correspondant dans la fonction economique sont nuls.

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

Trois machines M1 , M2 etM3 peuvent produire chacune deux types de pi`eces P1 et P2 . Le

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

On veut fabriquer au moindre co


ut 6 pi`eces de type P1 , 8 pi`eces de type P2 . La machine

M1 est disponible 14 heures, les machines M2 et M3 sont disponibles chacunes 24 heures. Le

co
ut horaires respectivement de M1 , M2 et M3 sont 7, 5 et 6.

1) Ecrire le programme lineaire modelisant ce probl`eme.

2) Ce probl`eme est-t-il canonique? sinon erire un programme canonique equivalent.

3) Ecrire le tableau correspondant.

4) Ce tableau est-t-il initialise? Justier votre reponse. Sinon initialise ce tableau.


27

Solution

1) Le programme est le suivant :






xij 0







x11 + x12 + x13 = 6







x21 + x22 + x23 = 8



3x11 + 4x21 14







4x12 + 5x22 24







4x13 + 6x23 24





min(z = 21x11 + 28x21 + 20x12 + 30x22 + 24x13 + 30x23 )

2) Ce programme nest pas canonique, sa forme canonique est:






xij 0







x11 + x12 + x13 = 6







x21 + x22 + x23 = 8



3x11 + 4x21 14







4x12 + 5x22 24







4x13 + 6x23 24





max(z = 21x11 28x21 20x12 30x22 24x13 30x23 )
28

3) Introduisant les variables decart dans les inequations. Le syst`eme secrit:






xij 0







x11 + x12 + x13 = 6







x21 + x22 + x23 = 8



3x11 + 4x21 + e1 = 14







4x12 + 5x22 + e2 = 24







4x13 + 6x23 + e3 = 24





max(z = 21x11 28x21 20x12 30x22 24x13 30x23 )

Le tableau correspondant est:

x11 x12 x13 x21 x22 x23 e1 e2 e3

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

Ce tableau nest pas initialise. Pour cela on proc`ede comme suit:

Introduisant dautres variables x et y dans les deux premi`eres equations.

Considerons la nouvelle fonction:

max(21x11 28x21 20x12 30x22 24x13 30x23 M x M y)


29

Le tableau associe secrit donc:

x11 x12 x13 x21 x22 x23 x y e1 e2 e3

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

Qui est equivalent `a:

x11 x12 x13 x21 x22 x23 x y e1 e2 e3

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

Ce dernier tableau sobtient en ajoutant `a la derni`ere ligne M fois la premi`ere et M fois la

seconde. Ce tableau est initialise.

Exemple:

Une entreprise dispose de deux usines de fabrications U1 et U2 et de trois depots D1 , D2

et D3 . Les usines, qui ont des disponibilites limitees doivent fournir au depot les quantites

demandees. Lacheminement des marchandises a un co


ut (frais de transport, de carburant,

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

demandes des depots D1 , D2 et D3 sont respectivement de 9, 21 et 20. Les co


uts de transports

de lusine U1 `a chacun des depots D1 , D2 et D3 sont respectivement de 13, 9 et 15 et ceux de

lusine U2 sont respectivement de 11, 10 et 18 par quantite transportee.

1) Ecrire le programme lineaire modelisant ce probl`eme.

2) Ce probl`eme est-t-il canonique? sinon erire un programme canonique equivalent.

3) Ecrire le tableau correspondant.

4) Ce tableau est il initialise? Justier votre reponse. Sinon initialise ce tableau.


31

IX. Cas o`
u les contraintes sont des in
equations dans les deux sens ou des

equations

Supposons que lon ait un programme du type:





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

Le tableau correspondant `a un tel syst`eme est le suivant:

x1 x2 xn e1 er er+1 em

a11 a12 a1n 1 0 0 0 0 b1


.. .. .. .. ... .. .. ..
. . . . 0 . . .

ar1 ar2 arn 0 0 1 0 0 br


..
ar+11 ar+12 ar+1n 0 0 0 1 . br+1
.. .. .. .. .. .. .. ..
. . . . . . 0 0 . 0 .

am1 am2 amn 0 0 0 0 1 bm

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.

IX.1 Initialisation du tableau

1) On introduit mr variables articielles 1 , ...mr et on aectue `a la fonction economique


34

des coecients w negatifs. Ainsi nous sommes amenes `a maximiser la fonction:

c1 x1 + c2 x2 + ... + cn xn + w1 + ... + wmr .


35

Le tableau devient:

x1 x2 xn e1 er er+1 em 1 mr

a11 a12 a1n 1 0 0 0 0 0 0 b1


.. .. .. .. .. .. .. .. .. ..
. . . . 0 . . . . . 0 .

ar1 ar2 arn 0 0 1 0 0 0 0 br


..
ar+11 ar+12 ar+1n 0 0 0 1 . 1 0 0 br+1
.. .. .. .. .. .. ... ... .. ..
. . . . . . 0 0 0 . .

am1 am2 amn 0 0 0 0 1 0 0 1 bm

c1 c2 cn 0 0 0 0 0 w w

Tous les vecteurs colonnes de la matrice identite gure dans le tableau.

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

le premier coecient w correspondant `a la colonne associee `a 1 , on remplace la derni`ere ligne

par la derni`ere mois w fois la ligne r+1; on op`ere de meme pour les autres coecients. Et on

obtient le tableau initialise suivant:


36

x1 x2 xn e1 er er+1 em 1 mr

a11 a12 a1n 1 0 0 0 0 0 0 b1


.. .. .. .. .. .. .. .. .. ..
. . . . 0 . . . . . 0 .

ar1 ar2 arn 0 0 1 0 0 0 0 br


..
ar+11 ar+12 ar+1n 0 0 0 1 . 1 0 0 br+1
.. .. .. .. .. .. .. .. .. ..
. . . . . . 0 0 . 0 . . .

am1 am2 amn 0 0 0 0 1 0 0 1 bm


m
c1 c2 cn 0 0 0 0 0 0 0 j=r+1 wbj

Avec

ci = ci w(ar+1i + + am1 ), 1in

Un tel tableau est initialise. Les colonnes de reference sont ici les colonnes associees

aux variables e1 , e2 , , er , 1 , , mr . Les coecients de la fonction economique sont, au

dessus de ces colonnes, tous egaux `a 0.

Exemple: Soit `a resoudre le syst`eme suivant:






x + y + 3z 15







2x + y + 5z 20



x + 2y + z 10







max(x + 3y + z)





x, y, z 0

On introduit les variables decart:


37





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

Le tableau associe est:


x y z e1 e2 e3

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

On introduit les variables articielles:

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

La valeur de la nouvelle fonction economique est:

x + 3y + z + w1 + 2

est initialisee par la valeur 35w pour la solution de base

x = y = z = 0, e1 = e2 = 0, e3 = 10, 1 = 15, 2 = 20.


39

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

lorigine), qui constitue la solution de base de lalgorithme, puis il se deplace de sommet

en sommet, an dameliorer la fonction economique `a chaque etape. Apr`es un nombre ni

diterations, il arrive `a un sommet `a partir duquel tout deplacement vers un autre sommet

nameliore plus cette valeur. On est alors au sommet optimal.

Lalgorithme du simplexe consiste `a parcourir le poly`edre des points realisables de 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,

il apparat clairement quen augmentant lune des variables correspondant `a un coecient

positif, on augmente cette fonction objectif. On a donc un crit`ere dobtention de loptimum:

tant que la derni`ere ligne dun tableau du simplexe contient au moins un coecient positif,

la solution examinee peut etre amelioree.

Remarques et d
enitions:

1) Lajout des variables decart dans un syst`eme de contraintes AX b permet dobtenir

facilement une solution de depart realisable, puisque les coecients de ces variables constituent

une matrice unite et un ensemble de m-vecteurs unites est lineairement independant.

2) Considerons un syst`eme de m equations lineaires AX = b comportant n variables

(m < n).

Une solution de base au syst`eme dequations AX = b sobtient en egalant n-m variables

`a zero et en resolvant le syst`eme pour les m variables restantes.


41

Les n-m variables qui sont annulees sont dites des variables hors base alors que les m

variables restantes sont appelees variables de base.

Lorsque la solution de base satisfait les contraintes de non negativite, la solution est

alors appelee solution de base realisable.

Les solutions de base realisables sont la caracteristique algebrique des points extremes

de la region des solutions realisables.

Une solution de base realisable n a jamais plus de m variables positives.

3) Chaque solution de base realisable est equivalente `a un point extreme. Il peut exister plus

dune solution realisable correspondant au meme point extreme.

4) Une solution de base realisable est dite degeneree lorsque une ou plusieurs variables de

base prend une valeur 0.

5) Une solution de base realisable dont les m variables de base sont positives est dite solution

de base realisable non degeneree.

6) Dans un programme lineaire comportant m contraintes, deux solutions de base realisables

sont dites adjacentes si lensemble respectif des variables de base de chaque solution a m-1

variables de base en commun.

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

nouvelle solution realisable.


42

II. Description de lalgorithme du Simplexe

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

apr`es la division de la ligne le contenant par ce nombre.

Choix de la colonne pivot

La colonne pivot est denie `a partir des coecients de la fonction economique. On cherche

`a se focaliser sur la variable qui, en augmentant, augmentera le plus possible la fonction

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

correspondante sera la variable entrante car elle ne va plus sannuler.

Remarque: Sil existe plusieurs coecients correspondant `a cette valeur positive maximale,

on peut choisir celui que lon veut.

Choix de la ligne pivot

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

entrante an de maximiser la fonction objectif. Pour cela, chaque coecient de la derni`ere

colonne est divise par le coecient correspondant de la colonne pivot. Si la colonne pivot est:
43


a1j


a2j



a3j


..
.




anj


cj

On calcule les rapports bi


aij
pour 1 i n lorsque aij > 0. On obtient de cette facon, pour

chaque contrainte prise separement, la valeur maximale que peut prendre la variable entrante.

On selectionne le plus petit rapport positif: Oncherche lindice k tel que 0 bk


akj
bi
aij
, en ne

considrant les i que si aij > 0.


bk
La k-i`eme ligne est la ligne pivot, et akj est le pivot: la ligne pivot est la ligne k telle que akj

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

(choix du pivot) puis `a la deuxi`eme (reduction du tableau). On reit`ere ce processus jusqu`a ce

que tous les coecients de la fonction economique soient negatifs. Cela se produira forcement.
44

III. Exemple dapprentissage: D


etermination de la solution

optimale

Exemple 1: Si on consid`ere le programme lineaire suivant:






x1 + x2 1







x2 2






3x1 + 4x2 12



x1 + x3 3







max(3x1 x2 + x3 )






xi 0

En introduisant les variables decart, on obtient:





x1 + x2 + e1 = 1







x2 + e2 = 2






3x1 + 4x2 + e3 = 12



x1 + x3 + e4 = 3







max(3x1 x2 + x3 )






xi , e i 0

Le premier tableau se presente donc ainsi:


45

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

donc la premi`ere colonne. La variable x1 est donc entrante.

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

est a11 = 1. La variable entrante est x1 et la variable sortante est e1 .

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

La solution correspondante est denie par x1 = 1, x2 = x3 = 0, e1 = 0, e2 = 2, e3 = 9 et

e4 = 2. La fonction economique vaut 3 en ce point.

On a un coecient positif, `a savoir c3 = 1. La troisi`eme colonne est donc la colonne pivot.

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.

Elle est denie par x1 = 1, x2 = 0, x3 = 2, e1 = 0, e2 = 2, e3 = 9 et e4 = 0. Dans ce cas,

max(3x1 + x2 + x3 ) = 5.

Exemple 2:

On consid`ere le programme lineaire suivant:






3x1 + 2x2 + 4x3 + 3x4 70







7x1 + 8x2 + 10x3 + 12x4 120



x1 + x2 + x3 + x4 15







max(6x1 + 11 x + 7x3 + 8x4 )
2 2





xi 0

La resolution de ce programme nous donne ces tableaux successifs:


47

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

La solution correspondante est x1 = x2 = x3 = x4 = 0 et e1 = 70, e2 = 120, e3 = 15. La

variable entrante est x4 et la variable sortante est e2 .

x1 x2 x3 x4 e1 e2 e3

e1 5/4 0 3/2 0 1 -1/4 0 40 L1 L1 1/4L2

x4 7/12 2/3 5/6 1 0 1/12 0 10 L2 1/12L2

e3 5/12 1/3 1/6 0 0 -1/12 1 5 L3 L3 1/12L2

Z 4/3 1/6 1/3 0 0 -2/3 0 -80 L4 L4 2/3L2

La solution correspondante est x4 = 10, e1 = 40 et e3 = 5, les autres variables etant nulles.

La fonction economique vaut 80.

On cherche le pivot, et on le trouve sur la premi`ere colonne et troisi`eme ligne. La variable

entrante est donc x1 et la variable sortante est e3 :

x1 x2 x3 x4 e1 e2 e3

e1 0 -1 1 0 1 0 -3 25 L1 L1 3L3

x4 0 -53/3 3/5 1 0 1/5 -7/5 3 L2 L2 7/5L3

x1 1 4/5 2/5 0 0 -1/5 12/5 12 L3 12/5L3

Z 0 -9/10 -6/5 0 0 -2/5 -36/15 -96 L4 L4 16/5L3


48

Ce tableau est le dernier car tous les coecients de la derni`ere ligne sont negatifs. La

solution optimale correspondante est x1 = 12, x4 = 3, e1 = 25. La fonction economique vaut

en ce point 96.

IV. Variable entrante, variable sortante

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

minimise) ou `a augmenter (si on maximise) la valeur du crit`ere. Lexpression du co


ut reduit

en fonction des variables hors base qui apparat dans la premi`ere ligne du dictionnaire, permet

de choisir la variable entrante.

Exemple 3:

Resoudre le syst`eme suivant en utilisant la methode du dictionnaire:





2x1 + 4x2 + 5x3 + 7x4 42







x1 + x2 + 2x3 + 2x4 17



x1 + 2x2 + 3x3 + 3x4 24







max(7x1 + 9x2 + 18x3 + 17x4 )





xi 0

Solution: On introduit les variables decart:

e1 = 42 2x1 4x2 5x3 7x4

e2 = 17 x1 x2 2x3 2x4

e3 = 24 x1 2x2 3x3 3x4 Dictionnaire I

Z = 7x1 + 9x2 + 18x3 + 17x4


49

Le probl`eme secrit maintenant : Maximiser Z sous les conditions x1 , x2 , , e3 0.

Les variables e1 , e2 et e3 dites variables de base sont exprimees en fonction des variables

x1 , x2 , x3 , x4 dites variables hors base.

Une solution de base est une solution dans laquelle toute les variables hors base sont

nulles. Dans ce cas, x1 = x2 = x3 = x4 = 0 implique e1 = 42, e2 = 17 et e3 = 24.

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

ligne de Z est plus grande positive. Disons x3 .

e1 0 ce qui impose x3 8.4,

e2 0 ce qui impose x3 8.5,

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

On doit choisir x1 comme variable entrante. Limite sur largumentation de x1 :

x3 0 ce qui impose x1 24,

e1 0 ce qui impose x1 6,

e2 0 ce qui impose x1 3,

Donc la variable e2 sort de la base.

x1 = 3 + x2 3e2 + 2e3

e1 = 1 x2 2x4 + e2 + e3

x3 = 7 x2 x4 + e2 e3 Dictionnaire III

Z = 147 2x2 x4 3e2 4e3

Cette operation revient `a se deplacer dun sommet de poly`edre (0, 0, 8, 0) `a un autre

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

courante est x1 = 3, x2 = x4 = e2 = e3 = 0 et x3 = 7 est optimale et sa valeur est 147.

Exemple 4:

On consid`ere le programme lineaire suivant.






2x1 + 2x2 + 8x3 + 7x4 40







2x1 + 3x2 + 6x3 + 4x4 10



x1 + 2x2 + x3 + 3x4 80







max(6x1 + 8x2 + 5x3 + 8x4 )





xi 0

Resoudre ce probl`eme en utilisant la methode de simplexe.


51

Exemple 5:

On consid`ere le programme lineaire suivant.






x1 + 2x2 + 7x3 + 2x4 50







x1 + 3x2 + 5x3 + 2x4 30



2x1 + 6x2 + 4x3 + 3x4 10







max(x1 + 2x2 5x3 + 2x4 )





xi 0

Resoudre ce probl`eme en utilisant la methode de simplexe et la methode de dictionnaire.

VI.1 D
eg
en
erescence

La presence de plusieurs candidats pour quitter la base a des consequences interessantes.

Pour illustrer ce fait, regardons lexemple suivant:

Exemple: Resoudre le syst`eme suivant en utilisant les dictionnaires:






2x3 1







2x1 4x2 + 6x3 3



x1 + 3x2 + 4x3 2







max(2x1 x2 + 8x3 )





xi 0

Solution: On introduit les variables decart:

e1 = 1 2x3

e2 = 3 2x1 + 4x2 6x3

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

iterations suivantes de lexemple precedent. En eet, x1 entre en base et e2 quitte la base.

A cause de la degenerescence, la contrainte e2 0 limite lincrement de x1 `a zero. Ainsi la

valeur de x1 reste inchangee, de meme que les valeurs des autres variables et de la fonction

objectif Z. Cest ennuyeux, puisque la motivation premi`ere de lalgorithme du simplexe est

daugmenter la valeur de la fonction objectif `a chaque iteration. Pour cette iteration, notre

desir reste insatisfait et le pivot nous donne le dictionnaire suivant:

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.

Le pivot est donc le coecient de x2 et on obtient le syst`eme suivant:

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

Le pivot est donc le coecient de e1 et on obtient le syst`eme suivant:

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

certaine iteration de lalgorithme du simplexe. Quoi quil se passe, la methode du simplexe

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.

V.2 Les cycles


54

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:

Resoudre le syst`eme suivant en utilisant les dictionnaires:







1
x 11 x 52 x3 + 9x4 0

2 1 2 2






1
x 32 x2 12 x3 + x4 0

2 1

x1 1





max(10x1 57x2 9x3 24x4 )







xi 0

Solution:

Introduction des variables decart:

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

On pose les r`egles suivantes:

La variable entrante sera toujours la variable hors base ayant le plus grand coecient

dans la ligne du dictionnaire associee `a la fonction objectif Z.

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

La premi`ere iteration: x1 entrante et e1 par exemple sortante

x1 = 11x2 + 5x3 18x4 2e1

e2 = 4x2 2x3 + 8x4 + e1

e3 = 1 11x2 5x3 + 18x4 + 2e1

Z = 53x2 + 41x3 204x4 20e1

La deuxi`eme iteration: x2 entrante et e2 par exemple sortante

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

La troisieme iteration: x3 entrante et x1 par exemple sortante

1 5
x2 = x1 2x4 e1 e2
2 2
3 11
x3 = 2x1 8x4 + e1 e2
2 2
e3 = 1 x1

Z = 29x1 + 18x4 + 15e1 93e2

La quatri`eme iteration: x4 entrante et x2 par exemple sortante

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

La cinqui`eme iteration: e1 entrante et x3 par exemple sortante

1 3 1
x4 = x 1 + x2 + x3 e2
2 2 2
e1 = 4x1 8x2 2x3 + 9e2

e3 = 1 x1

Z = 22x1 93x2 21x3 + 24e2

La sixi`eme iteration: e2 entrante et x4 par exemple sortante

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

Z = 10x1 57x2 9x3 24x4

On retrouve donc le premier dictionnaire apr`es avoir introduire les variables decart.

Puisque le dictionnaire construit apr`es la sixi`eme iteration est identique au dictionnaire

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

ne peuvent apparatre quen presence de degenerescence: puisque la valeur de la fonction

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

terminer; le theor`eme suivant montre que cest lunique raison.


57

Th
eor`
eme 1 : Si la m
ethode du simplexe ne termine pas, alors elle doit cycler.

Cesst pourquoi, dans la plupart des implementations de lalgorithme du simplexe, le

probl`eme du cycle nest pas pris en compte.

Plusieurs methodes existent pour prevenir le phenom`ene de cycle. La methode classique

de perturbation et la m`ethode lexicographique evitent de cycler par un choix judicieux de la

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

choix des variables entrantes et sortantes.

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

pour adopter cette r`egle provient du resultat suivant:

Th
eor`
eme 2: La m
ehode du simplexe sarr
ete d`
es lors que les variables en-

trantes et sortantes sont s


electionn
ess via la r`
elge du plus petit indice, `
a chaque

it
eration.
58

Chapitre III. Dualit


e en programmation lin
eaire
59

Dualit
e en programmation lin
eaire

I. Introduction

D
enition 1:

On appelle un programme primal un mod`ele de programmation lineaire associe `a un

probl`eme donne ou encore mod`ele original.

Pour chaque mod`ele de programmation lineaire, il existe un et un seul autre mod`ele de

programmation lineaire appele un programme dual (ou bien son dual).

Comme le mod`ele original a deux formes importantes qui sont la forme canonique et la

forme standard, alors le mod`e le dual aussi a ces deux formes.

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

toutes les contraintes de type dans le cas de minimisation de la fonction objectif.

II. Le dual dune forme lin


eaire canonique

La forme canonique dun programme primal consiste en un mod`ele de programmation

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

des variables toutes positives.

Tout programme primal canonique de type :






maximiserZ = C T X



AX B





X, B 0
60

On lui associe son dual canonique de la forme:






minimiserW = B T Y



Y TA C





Y 0

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.

2) Les coecients cj de la fonction objectif du primal o


u les composantes de C deviennent

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

dans la fonction objectif.

3) Les coecients des variables dans les contraintes du dual sont ceux du primal mais

transposes: les coecients de la i`eme ligne du primal deviennent les coecients de la

i`eme colonne du son dual.

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

non negative dans son dual.


61

6) La dualite est une notion symetrique: Lun des programmes au choix est appele le

programme primal et lautre le programme dual.

7) Le dual du dual est le programme primal.

III. Le dual dune forme lin


eaire standard

Tout programme primal standart de type :






maximiserZ = C T X



AX B





X0
On lui associe son dual canonique de la forme:




minimiserW = B T Y



Y TA C





Y 0
Autrement:


n
m

maximiserZ = i=1 ci xi

minimiserW = 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
Tout programme primal standart de type :




maximiserZ = C T X



AX = B





X0
On lui associe son dual canonique de la forme:




minimiserW = B T Y



Y TA C





Y sans restriction de signe
62

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

En utilisant la symetrie de la dualite on deduit :

Tout programme primal standart de type :






minimiserZ = C T X



AX B





X0

On lui associe son dual canonique de la forme:






maximiserW = B T Y



Y TA C





Y 0

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

Exemple: Formuler le dual des programmes lineaires suivant:







maximiserZ = 3x + 5x + 6x
maximiserZ = 2x1 + 4x2


1 2 3








x 2x + 6x = 20
2x1 2x2 + 3x3 = 250


1 2 3


2x1 + 8x2 + x3 15 2x1 + 8x2 9x3 = 150










x 1 + 10x 2 + 5x 3 120
x1 + 10x2 + 5x3 12









xi 0 xi 0
63






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

IV. Le dual dunne forme lin


eaire quelconque

Le mod`ele de programmation lineaire ne se presente pas toujours dans la forme canonique.

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

meme sens on proc`ede comme suit:

1) On cherche `a standardiser le programme lineaire: soit trouve sa forme canonique ou sa

forme standard.

2) Puis on utilise lune des methodes precedentes: formulation du dual.

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 =

IV.3. Relation entre les valeurs num


eriques des fonctions objectifs

Soient un programme lineaire dans sa forme standard et son dual. Pour toute solution

realisable X au programme lineaire et toute solution realisable Y au son programme dual, on

a:

Dans le cas de maximiser la fonction objectif; la valeur maximale de la fonction objectif

du primal pour toute solution realisable au primal sera toujours inferieure ou egale `a la

valeur de la fonction objectif du son dual et on ecrit:

C T X BT Y

Dans le cas de minimiser la fonction objectif; la valeur minimale de la fonction objectif

du primal pour toute solution realisable au primal sera toujours superieure ou egale `a

la valeur de la fonction objectif du son dual et on erit:

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)

inf(B T Y ) pour toute solution realisable X et Y du primal et du son dual respectivement.

Etant donne un programme primal de programmation lineaire et son dual, on a exactement

lun des trois cas suivant:

Si X et Y sont deux solutions optimales du primal respectivement du son dual, alors

C T X = B T Y.

Si un programme presente des solutions realisables mais pas de solution optimale nie,

lautre programme nadmet pas de solution realisable.

Aucun des deux programmes na pas de solution realisable.


66

Non lin
eaire
67

Notions sur la convexit


e
D
enition de la convexit
e

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

enition: On dit quune fonction f : K R, denie sur un ensemble convexe K, est


D

convexe si elle verie:

(x, y) K 2 , [0, 1], f (x + (1 )y) f (x) + (1 )f (y)

Lorsque n = 1 cette denition sinterpr`ete bien geometriquement: le graphe de la fonction

est toujours en dessous du segment reliant les points (x, f (x)) et (y, f (y)).

Corollaire: On denit pour (x, y) K 2 , o`


u K est un ensemble convexe, la fonction

: [0, 1] R par

(t) = f (tx + (1 t)y).

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:

Dans Rn on note x le vecteur colonne



x1

..
.

x=



xn



68

et la notation designera la norme euclidienne


( n ) 21

x = x2k
k=1

enition: Soit f : Rn Rm , on dit que f est continue au point a Rn si pour tout reel
D

> 0 il existe > 0 tel que

x a < = f (x) f (a) < .

enition: Soit f : Rn Rm representee dans la base canonique de Rm par le vecteur


D

f1 (x)


..
.
f (x) =



f (x)
m

continue en a Rn . On dit que f est dierentiable en a sil existe une application lineaire,

notee f (a), telle que pour tout h Rn on ait

f (a + h) = f (a) + f (a)h + h(h)

u (h) est une fonction continue en 0 veriant lim (h)h0 = 0. On appelle f (a) derivee de
o`

f au point a.

Proposition: Soit f : Rn Rm dierentiable en a, alors

f (a + th) f (a)
lim = f (a)h.
t0 t

Proposition: Soit f : Rn Rm dierentiable en a, alors on peut representer f (a) par sa

matrice dans les bases canoniques de Rn et de Rm et on a

fi
[f (a)]ij = (a).
xj
69

On appelle souvent f (a) la matrice jacobienne de f au point a. Lorsque m = 1 on adopte

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

f (a + h) = f (a) + f (a)T h + h(h).

On se place maintenant dans le cas m = 1, soit f : Rn R.

enition: Soit f : Rn R est dite deux fois dierentiable sil existe une matrice
D

symetrique 2 f (a) telle que

f (a + h) = f (a) + f (a)T h + hT 2 f (a)h + h2 (h).

On appelle 2 f (a) matrice hessienne de f au point a.

Formes quadratiques
D
enition dune forme quadratique:

enition: Soit A une matrice symetrique n n etb Rn . On appelle forme quadratique


D

la fonction f : Rn R denie par

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

positive et on note A 0, quand

xT Ax 0, x Rn .

On dit que A est denie positive et on note A > 0, quand

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

une forme quadratique denie positive (resp. semi-denie positive).

Crit`
ere de Sylvester:

Soit A(n n) une matrice symetrique est denie positive ssi det(Ak ) > 0, 1 n, et Ak

matrice (k k) intersection des K premieres lignes et K premieres colonnes.

Th eme: Soit A une matrice symetrique n n etb Rn , et soit f la forme quadratique


eor`

associee, denie par


1
f (x) = xT Ax bT x
2

Soit x le vecteur (unique) veriant Ax = b, alors x realise le minimum de f, cest `a dire

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`

e: Si f : R R est deux fois contin


Propriet ument derivable sur K convexe alors f est

convexe ssi f 0x K, strictement convexe ssi f > 0x K.

Ce resultat se generalise pour n > 1

Th eme: Soit f : K Rn R (K convexe) une fonction deux fois dierentiable alors


eor`

f est convexe ssi 2 f (x) 0x K et strictement convexe ssi 2 f (x) > 0x K.

Exemple: Soit f : Rn R une forme quadratique denie par f (x) = 21 xT Ax bT x alors f

est convexe ssi A 0 et strictement convexe ssi A > 0.

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

f (y) > f (x) + f (x)T (y x)(x, y) K 2 .

Th
eor`
eme: Soit f : K Rn R (K convexe) une fonction une fois dierentiable

et convexe si f (x )T (x x ) 0 alors le probl`eme min f (x), x K admet une solution

optimale qui verie donc f (x ) f (x)x K.

Unicit
e

Th eme: Soit f : K Rn strictement convexe sur K convexe. Le minimum de f sur


eor`

K, sil existe, est unique.


72

Conditions n
ecessaires doptimalit
e en labsence de con-
traintes
Conditions n
ecessaires:

u K = Rn , cest `a dire le probl`eme sans


On va maintenant regarder de plus pr`es le cas o`

contraintes (P). Dans le cas o`


u f est dierentiable, on a le resultat suivant

Th eme: Soit f : Rn R dierentiable et x veriant f (x ) f (x), x Rn , alors on


eor`

a necessairement f (x ) = 0.

Conditions n
ecessaires et susantes

La condition de gradient nul devient susante dans le cas o`


u f est convexe:

Th eme: Soit f : Rn R dierentiable et convexe, si x verie


eor`

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

global) un vecteur veriant les conditions suivantes:

enition: On appellera x minimum local de f, sil existe > 0 tel que


D

f (x ) f (x), x, x x .

Dans le cas o`
u f est deux fois dierentiable on peut alors donner le resultat suivant:

Th eme: Soit f : Rn R deux fois dierentiable. Si


eor`




f (x ) = 0,


2 f (x ) > 0,
73

alors x est un minimum local de f.

Exercice: Determiner les points stationnaires de la fonction

f (x, y) = 2x3 3x2 6xy(x y 1).

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`

On se donne x0 Rn et on fait les iterations suivantes:

xk+1 = xk g (xk )1 g(xk ).

Lapplication de cette methode au probl`eme doptimisation:

minf (x)xRn .

Si on pose g(x) = f (x), on obtient les iterations suivantes:

xk+1 = xk 2 f (xk )1 f (xk ).

ument derivable et soit x verie:


Proposition: Soit g une fonction deux fois contin

g(x ) = 0, g (x ) = 0 alors si x0 est susament proche de x alors xk generee par la methode

de Newton converges to x .

Exercice: Soit le probl`e me minf (x, y, z) = x2 + y 2 + 3xy + xz + 3yz + 6x + 19y 5z.

Resoudre en utilisant la methode de Newton `a partir du point initial:

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

enition: On appelle Lagrangien associe au probl`eme (PCE) la fonction L : Rn Rp R


D

denie par

L(x, ) = f (x) + pi=1 i hi (x).

D
enition: On dit que x est un point regulier pour la contrainte h(x) = 0 si

(a) h(x ) = 0

(b) Les vecteurs hi (x ) sont lineairement independantes.

Th eme: Soit x un point regulier solution de (PCE). Alors il existe tel que
eor`

x L(x , ) = 0

et de plus pour y = 0 tel que hi (x )T y = 0 on a y T 2xx L(x , )y 0

Th eme: Soit x Rn et Rp veriant les conditions:


eor`

(a) h(x ) = 0

p
(b) f (x ) + i=1 hi (x ) = 0.

(c) y T 2xx L(x , )y 0 pour tout y = 0 veriant

hi (x )T y = 0
76

alors x est un minimum local du probleme (PCE).

Considerons le probl`eme (PCI) avec contraintes dinegalite





minf (x) x Rn


g(x) 0.

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.

et de plus pour y = 0 tel que hi (x )T y = 0 on a y T 2xx L(x , )y 0

Th eme: Soit x Rn et Rp veriant les conditions:


eor`

(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.

(e) y T 2xx L(x , )y 0 pour tout y = 0 veriant

hi (x )T y = 0

alors x est un minimum local du probleeme (PCI).