Recherche Operationnelle Elements Cours DS
Transcript of Recherche Operationnelle Elements Cours DS
-
8/10/2019 Recherche Operationnelle Elements Cours DS
1/115
Facult Ordinateurs, Informatique et Microlectronique
Filire Francophone Informatique
Vasi le MORARU
Recherche
oprationnelle
Elments de cours
Chiinu
U.T.M.2012
UNIVERSITE
TECHNIQUE
DE MOLDOVA
AGENCE
UNIVERSITAIRE
DE LA
FRANCOPHONIE
ally signed byary TUMson: I attest to theracy and integrityis document
-
8/10/2019 Recherche Operationnelle Elements Cours DS
2/115
2
n lucrare este tratatmetoda simplex n vederea utilizriiacesteia n determinarea soluiilor optime a problemelor deprogramare liniar, de programare n numere ntregi, deprogramare liniar-fracionar. Se prezint problema de transport ise abordeaz dualitatea n programarea liniar.
Lucrarea reprezint o iniiere n cursul de Cercetrioperaionale, coninnd exemple i exerciii care s facilitezestudiul individual i este destinat studenilor din anul doi de laFacultatea Calculatoare, Informatic i Microelectronic,Filiera francofonInformatica.
Autor: conf. univ., dr. Vasile Moraru
Responsabil pentru ediie: conf. univ. Liviu Carcea
Recenzeni: conf.univ., dr. Mihail Perebinoslector superior Daniela Istrati
U.T.M., 2012
-
8/10/2019 Recherche Operationnelle Elements Cours DS
3/115
3
Avant- Propos
Dans lindustrie, le commerce, ladministration,
lconomie, la chimie, lnergie, le transport, les rseaux, danspresque tous les domaines de lactivit humaine apparaissent des
problmes qui conduisent au choix une situation donne et ce
choix doit tre fait dune telle manire quil soit assure la
ralisation dun but bien dtermin. Les problmes de ce type sont
nomms problmes de dcision. Un rle important dans lesproblmes de dcision le joue les problmes doptimisation qui
consistent dans le calcul du maximum ou du minimum dune
fonction donne de plusieurs variables lies entre elles par dune
dentre toutes les possibilits daction dans des diffrentes
relations. Un cas particulier des problmes doptimisation est laprogrammation linairequi inclue un systme dquations et (ou)
inquations linaires, nommes restrictions du problme, aussi
quune fonction linaire qui reprsente le but dsir, le but dsir
par la valeur maximale ou minimale de celle-ci.
Le problme de programmation linaire a t formulpourla premire fois en 1939 par Kantorovitch L.V. En 1947 Dantzig
George a labor la mthode simplex de rsolution des problmes
de programmation linaire. La mthode simplex consiste dans le
parcours des sommets du polydre des solutions admissibles, en
-
8/10/2019 Recherche Operationnelle Elements Cours DS
4/115
4
sapprochant de la solution optimale, jusquau moment de sa
atteinte dans un des sommets dupolydre.
Dans louvrage on tudie la mthode simplex pour son
utilisation pour la dtermination des solutions optimales des
problmes de programmation linaire, de programmation des
nombres entiers, de programmation linaire fractionnaire. On
prsente le problme de transport et on aborde la dualit dans la
programmation linaire. On discute la sensibilit de la solution et
on indique les possibilits dutilisation du produit informatique
QM pour la rsolution des problmes laide de lordinateur.
Les mthodes doptimisation linaire sont inclues dans les
programmes denseignement universitaire comme objet spar ou
les compartiments des cours de Recherche Oprationnelle ou de
Programmation Mathmatique. Les cours respectives sont lues
aux tudiants des institutions denseignement suprieur avec un
profil technique et conomique. Cest eux que cet ouvrage est
adress aussi comme aux autres hommes qui veulent sinitier dans
loptimisation linaire.
-
8/10/2019 Recherche Operationnelle Elements Cours DS
5/115
5
Liste des notations
R lensemble de nombres rels.
nR lespace linaire ndimensionnel.
kx suite des vecteurs: kx .
x* la solution du problme: nRx* .
||x|| la norme du vecteur nRx . Un indice peutprciserla nature de cette norme.
TA la transpose de la matriceA.
1A linverse de la matriceA.
I la matrice unit.
yx, le produit scalaire des vecteursn
Ryx,
Px lensemble des lmentsxavec la propritP.
xf le gradient de la fonctionf(x).
xf2 la matrice Hesse de la fonctionf(x).
x .0si0 xx
x
-
8/10/2019 Recherche Operationnelle Elements Cours DS
6/115
6
1. NOTIONS CONCERNANT LES
ENSEMBLES ET LES FONCTIONS
CONVEXES
1.1. Ensembles convexes
Un ensemble M, M Rn, est appel ensemble convexe si
pour tous deux points Mxx 21, , appartenant cet ensemble, le
segment de droite qui les unit appartient de mme cet ensemble.Autrement dit, pour tout Mxx 21, a lieu
Mxxz 21 1
pour tout rel, 10 (fig.1.1).
En particulier, lensemble vide, lensemble form dun seullment et tout lespace n dimensionnel Rn, sont des ensemblesconvexes. Dans la fig. 1.2 sont donns des exemples densembles
2R qui ne sont pas convexes.On constate facilement que lintersection dune famille
densembles convexes est un ensemble convexe.Soit RbaRxa n ,0,, . Lensemble
x1
5x( )
M
MM
Fig. 1.1.Ensemble convexe Fig. 1.2. Exemples densemblesqui ne sont pas convexes
-
8/10/2019 Recherche Operationnelle Elements Cours DS
7/115
7
n
i
ii
T bxaxbxax1
forme un hyperplandeRn.
Les demi-espacesdterminspar lhyperplan sont,bxaxS T
.bxaxS T
Evidemment, SS . Les ensembles S, et S sont
convexes.
SoitA une matrice de dimensions nm , nRx et mRb .
Lensemblen
j
ijij mibxaxbAxxT1
,2,1,
est appel tronon. Le tronon reprsente lintersection dunnombre fini de demi espaces
,,,2,11
mibxaxSn
j
ijiji
et, donc, est un ensemble convexe.
Un tronon born est appelpolydre convexeoupolytope.Unpolydre planaire est un polygone.
La combinaison linaire des lments miRx ni ,,2,1,
de formem
mxxx
2
2
1
1 o ,0i
mi ,,2,1 et 121 m
sappelle combinaison
convexedes lments mxxx ,,, 21 .Thorme1.1. Un ensemble convexe contient toute
combinaison convexe construite de ses lments.Dmonstration (par induction). Soit M un ensemble
convexe,nRM . Il en rsulte que toute combinaison convexe,
construite de deux lments de Mappartient M. Supposons que
Mcontient toute combinaison de maximum 3,1 mm ,lmentsde M. Considrons la combinaison convexe
-
8/10/2019 Recherche Operationnelle Elements Cours DS
8/115
8
m
mxxxz 2
2
1
1, miMxi ,,2,1, telle que
121 m . Evidemment, au moins pur un des indices
1: ii . On peut considrer que 11 . Alors
m
mxxxy 3
3
2
2, o miii ,3,2,
1 1, est une
combinaison convexe des lments mxxx ,...,32 , car i 0 et
132 m . Conformment lhypothse inductive que
My . Comme yxz 11
1 1 et M est un ensemble
convexe, il rsulte quez M,fait qui dmontre le thorme.Soit nRM un ensemble non vide et convexe. On dit que
x Mest un point dextremum de lensembleMsil nexiste aucunzyMzy ,1,0,, tels que:
zyx 1 .
Autrement dit, le point dextremum x ne peut pas appartenir lintervalle (y,z)pour tous Mzy, .
Nous montrons ici deux exemples de points dextremumdes ensembles convexes en
2R . On note par E lensemble despoints dextremum de lensembleM.
1. 1,12
2
2
1
2
2
2
1 xxxExxxM .
2. ,00,5,42 212121 , xxxxxxxM
TTTTE 2,3,0,2,5,0,0,0 .
Dans la fig.1.3 sont prsents ces deux ensembles pourlesquels est videnti lensemble des points dextremumE.
Un hyperplan ou un demi-espace na pas de pointsdextremum.
Un ensemble ferm et born en nR sappelle compacte.Tout ensemble convexe compact en
nR possde des pointsdextremum. Si M est un ensemble convexe compacte en nR et un nombre fini de points dextremum, alors tout lment de
-
8/10/2019 Recherche Operationnelle Elements Cours DS
9/115
9
lensembleMpeut tre exprim comme une combinaison convexede ses points dextremum.
Soit le trononbAxxT ,
o nRx , Aest une matrice de dimension mRbnmnm ,, .
Notons par A une sous matrice dordre nn de A. Supposons
que 0det A . En ce cas, le systme dquations bxA , o b contient des lments de b, aprs une ventuelle rmunration,
admet une solution unique x . Si Tx alorsx sappellesommetdu trononT.
On vrifie immdiatement que le tronon T a au plus!!/! nmnmCnm sommets, qui sont ses points dextremum.
Exemple:Soit le tronon Tdfini par:
x2
x1
2
x2
x1
5
0
2
3
0
Fig. 1.3 Puncte extreme
-
8/10/2019 Recherche Operationnelle Elements Cours DS
10/115
10
.0
0
5
,42
2
1
21
21
-x
, -x
,xx
xx
o 2,4 nm . On aura les sommets (voir fig.1.3)
0
2 x,
2
3 x,
5
0 x,
0
04321x
.0 x,42x
,5x,42x
0,,5x
,0,0
2
21
21
21
1
21
2
1 xxx
xx
xx
1.2. Fonctions convexes
Soit M un ensemble convexe dansnR . La fonction f(x)
dfinie sur lensembleMsappellefonction convexesi :yfxfyxf 11 (1.1)
pour toutx,y M et tout 1,0 .Si lingalit (1) est stricte pour
toutx,y M, x y et tout 1,0 , alors on dit que la fonction f(x)
est une fonctionstrictement convexe.
La fonction f(x)est appele concave(strictement concave)si la fonction -f(x)est convexe (strictement convexe).
Sil existe R, 0, tel que pour tout x,y M et tout1,0 ,a lieu lingalit2
2111 yxyfxfyxf , (1.2)
on dit que la fonctionf(x)estfortement convexe, c..d. la fonction2
22xxf est convexe.
On constate que toute fonction fortement convexe est une
fonction strictement convexe.
-
8/10/2019 Recherche Operationnelle Elements Cours DS
11/115
11
Exemple 1. La fonction ,,2
2Rxxxxxf n , est
une fonction trs convexe. Pour cette fonction lingalit (1.2) setransforme en galit avec la constante 1:
2
2
2
2
2
2
2
2111 yxyxyx
pour toutx,ynR et tout 1,0 .
Exemple 2. Toute fonction linaire nRcxxcxf ,,, est une fonction convexe et en mme temps une fonction concave,parce que
).()1()())1(( yfxfyxf
Soit la fonction f(x), nRx , qui admet les drivespartielles
ix
xf )(, .,1,2,,,
2
njixx
xf
ji
Le vecteur, les lments duquel sont les drives partiellessappellegradientde la fonction xf . On le note pargrad f(x) ou
xf ,ou xf : T
nx
xf
x
xf
x
xfxf ,,,
21
La matrice de dimensions nn
2
2
2
2
1
2
12
2
2
2
2
12
2
1
2
21
2
2
1
2
2
.................................................
nnn
n
x
xf
xx
xf
xx
xf
xx
xf
x
xf
xx
xf
xx
xf
xx
xf
x
xf
xf
-
8/10/2019 Recherche Operationnelle Elements Cours DS
12/115
12
sappelle la matrice Hesse de la fonction xf ou la matrice
hessienne. Elle est note aussi parH(x)ouf (x).Dans le cours danalyse mathmatique on dmontre que si
la fonctionf(x)a les drives partielles du premier ordre continuessur
nR , alors
yyxfxfyxf , . (1.3)
Si f(x) admet des drives partielles du deuxime ordrecontinues sur
nR , alors
22,
2
1, yyyxfyxfxfyxf . (1.4)
Thorme 1.2. Soit f(x) une fonction qui admet des
drives partielles du premier ordre continues sur nR . La fonctionf(x)est convexe si
nRyxyxfxfyxf ,,, .
La fonctionf(x)est strictement convexe si et seulement si
0,,,, yRyxyxfxfyxf n .
La fonctionf(x)est trs convexe si et seulement sinRyxyyxfxfyxf ,,
2,
2
2.
Autrement dit, le graphe de la fonction convexe
(strictement convexe) est situplus haut (strictement au-dessus) delhyperplan tangent. Pour les fonctions trs connexes le graphe estsituplus haut dun certain parabolode (fig. 1.5)
2
2
0si0,
0si,
xxfexfx
xx
xfn
a) b) c)
Fig.1.5. Types de convexit: a) fonction convexe;b) fonction strictement convexe; c) fonctionfortement convexe.
Thorme 1.3.Si la fonctionf(x), x Rn,admet des drives
partielles du deuxime ordre continues sur nR , la fonctionf(x)est
-
8/10/2019 Recherche Operationnelle Elements Cours DS
13/115
13
convexe si et seulement si la matrice Hesse xf2 ) est positive
semidfinie pour tout nRx , c..d.nRyxyyxf ,,0,2 .
Une condition ncessaire et suffisante pour que la fonction f(x)soitfortement convexe est: existent 0, mRm n , tels que
nRyxymyyxf ,,,22
. (1.5)
Exemple 3.Soit 2Rx et la fonction:
385 21212
1 xxxxxxf .
On a:
01-
1-2,
8-
52 2
1
21xf
x
xxxf .
La matrice Hesse la matrice Hesse2f(x)est positive semidfinie
et, donc, on peut affirmer que la fonction considre est convexe.Observons que la fonction de lexemple prcdent peut tre
crite de la manire suivante:
38-,521-
1-2,2
1
2
1
2
1
21x
x
x
xxxxf
ou
cxbxAxcxbAxxxf TT ,,2
1
2
1,
o xfA 2 , Tb 8,5 et 3c .De mme, on remarque que
la somme des vecteursAx et breprsente le gradient xf .
SoitAune matrice de dimensions nRbnn , etc R. La
fonction xAxx ,2
1est appele forme quadratique sur Rn. La
fonction
cxbxAxxf ,,2
1 (1.6)
sappelle fonction quadratique. On vrifie immdiatement que
-
8/10/2019 Recherche Operationnelle Elements Cours DS
14/115
14
nRx,yyAyybAxxfyxf ,,
2
1, . (1.7)
Vue que2
22, yAyAy , on a
2,
2
1yyAy . Par
consquent, on peut crireyybAxxfyxf ,
et, conformment (1.3), le gradient de la fonction quadratiqueest:
bAxxf .
Maintenant de (1.4) et (1.7) rsulte que la matrice Hesse2f(x)dune fonction quadratique (1.6) est constante et identique
la matriceA.Les fonctions quadratiques jouent un rle important dans
les problmes doptimisation. Cela est expliqu par le faitquautour des points de minimum les fonctions ont uncomportement quadratique. De plus, le dveloppement dunefonction jusqu lapproximation du deuxime ordre donne une
fonction quadratique.En ce qui suit nous montrerons que si la matrice A est
positivement dfinie, alors la fonction quadratique (1.6) est trsconvexe. Soit 0,xAx pour 0,xRx
n.
Notons par
1, zRzzS n .
Lensemble S est ferm et born. Vue que la orme quadratique
zAzzg ,21 est continue, existe z* S tel que g(z*) g(z)pour
tout z S. Ayant lhypothse que la matrice A est positivementdfinie, on a:
0**,2
1* zAzzg .
Evidemment, pour toutn
,0 Rxx , il rsulte que Sx
xz et
-
8/10/2019 Recherche Operationnelle Elements Cours DS
15/115
15
22
2
,2
1x,
2,
2
1xzAzx
xx
xA
xxAx ,
ce qui montre que la matrice Hesse Axf
2
satisfait lingalit(1.5)avecm=2 0.Il faut souligner que si la matrice Hesse est positivement
dfinie:0,,0,
2 yRx,yyyxf n , (1.8)
on peut seulement affirmer que la fonction f(x) est strictementconvexe (mais non trs convexe). Autrement dit, les relations (1.5)et (1.8) ne sont pas quivalentes dans le cas des fonctions nonquadratiques. De plus, la condition (1.8) est seulement une
condition suffisante pour une fonction quelconque (non
quadratique) quelle soit strictement convexe.Exemple 4. Considrons dans lespace bidimensionnel
2R la fonction strictement convexe (vrifiez cette affirmation!)dfinie par:
4
2
4
1 xxxf .
On a :
2
2
2
12
12x0
012xxf
La matrice Hesse xf2 ne satisfait pas la condition (1.8) dans
le cas o Tx 0,0 .
-
8/10/2019 Recherche Operationnelle Elements Cours DS
16/115
16
2. LA PROGRAMMATION LINEAIRE
2.1. Problme gnral de programmation linaire
Un problme gnral de programmation linaire consiste dterminer les rels nxxx ,,, 21 qui maximisent (ou minimisent)
une fonction linaire
nnxcxcxcf 2211
et qui vrifie les ingalits et les galits linaires:
,
K, kx
bxa...xaxa
.....................................................
bxa...xaxa
bxa...xaxa
bxa...xaxa
bxa...xaxa
k
snsnss
rn,nr,r,r
rnrnrr
nn
nn
0
,
,
,
2211
11222111
2211
22222121
11212111
o njsibac iijj ,,2,1,,,2,1,,, sont des rels donns; K est
un ensemble dindices de lensemble n,,2,1 En utilisant les notations matricielles:
,
x
x
x
, x
b
b
b
, b
... a aa
.........................
... a aa
... a aa
A
nrrnrr
n
n
2
1
2
1
21
22221
11211
-
8/10/2019 Recherche Operationnelle Elements Cours DS
17/115
17
,
c
c
c
, c
b
b
b
b,
a ...aa
...................................
... a aa
... a aa
A
ns
r
r
s,ns,s
,nr,r,r
,nr,r,r
2
1
2
1
21
22212
12111
le problme gnral de programmation linaire peut tre crit de laforme :
K., kx
,bxA
b,Ax
)((c,x)f(x)
k 0
minmax
Faisons la notation:
.K, k, xbxAb,AxRxT kn
0
Lensemble T est appel domaine des solutions admissibles duproblme. Le domaine des solutions admissibles est un ensemble
convexe (voir 1.1). Les conditions 0, xbxAb,Ax k
sont appeles restrictions ou contraintes du problme deprogrammation linaire. Les coefficients
ija et les termes libres bi
sont des valeurs constantes donnes.La fonction f(x) qui est maximise (ou minimise) est
appele fonction objectif, ou fonction critre, ou fonction but, oufonction defficacit.
Une solution admissible Tx* pour laquelle
T, xf(x),f(x*) dans le cas du problme de maximum,ou T, xf(x),f(x*) dans le cas du problme deminimum, sappelle solution optimale du problme deprogrammation linaire.
-
8/10/2019 Recherche Operationnelle Elements Cours DS
18/115
18
2.2.Exemples de problmes de programmation linaire
2.2.1. Problme du menu optimalSupposons quon dispose de nproduits alimentaires (pain,
fromage, sucre, etc.) qui contiennent m substances nutritives(vitamines, protines, etc.). Le problme du menu consiste dterminer les quantits de chaque produit qui doivent treutilises, de la faon que certaines demandes en substancesnutritives soient satisfaites et que le ncessaire biologique soitassur un cot minimal.
Soit une unit du produit alimentaire icontienne aijunits
de substance nutritive j. Supposons que le ncessaire delorganisme en substances nutritives jest bjet le cot dune unitdu produit alimentaire iest ci. Pour formuler mathmatiquement leproblme, notons par xi le nombre dunits de produitsalimentaires iqui seront utilises. Le problme du menu sera critsous la forme:
min2211 xc...xcxcf(x) nn
avec les contraintes
,
.x, ....,, xx
bxa...xaxa
............................................
bxa...xaxa
bxa...xaxa
n
mnmnmm
nn
nn
00021
2211
22222121
11212111
La fonction linaire
n
i
iixcxf1
)( reprsente le cot total
du menu, le minimum duquel est cherch. Les contraintes duproblme expriment les conditions dassurance des ncessits delorganisme en substances nutritives. Evidemment, les variablesxi,i = 1,2,, n,ont une certaine signification pour le problme dumenu seulement si elles sont non ngatives.
-
8/10/2019 Recherche Operationnelle Elements Cours DS
19/115
19
On peut analyser et dautres critres, comme, par exemple,la maximisation de la quantit totale de calories ou la minimisationdu volume des produits alimentaires.
Le problme du menu est un cas particulier dun problmedu mlange. Tout problme dans lequel on dsire que des quantitsxi, i = 1,2, , ndes produits avec certaines proprits soit faite unecombinaison qui contienne certains lments j, j=1,2,en quantitsbj, si on connat les quantits aijdes lmentsjcontenus dans uneunit de xi, avec une dpense minimale, sappelle problme dumlange (voir [3]).
2.2.2. Problme de lutilisation optimale des ressourcesdisponibles
Dans une entreprise on fait n types de produits notsP1, P2,, Pn qui ncessitent m types de ressources de matire premireR1, R2, , Rm, ayant la disposition biunits de miRi ,,2,1, .
Pour une unit de produit Pi sont utilises aij units de Rj dematire premire. On connat encore que chaque unit de produit
Pi apporte un bnfice gal ci lei. On demande de dterminercombien dunits de chaque produit sont ncessaires pour obtenirun bnfice maximal. Autrement dit, dterminer un plan de
production optimal, c..d. un vecteur nRx tel quemax2211 xc...xcxcf(x) nn
dans les contraintes suivantes:
,
00021
2211
22222121
11212111
.x, ....,, xx
bxa...xaxa
.............................................
bxa...xaxa
bxa...xaxa
n
mnmnmm
nn
nn
Ici nxxx ,, 21 reprsente respectivement la quantit dunits de
P1, P2, , Pnfabriquespar lentreprise.
-
8/10/2019 Recherche Operationnelle Elements Cours DS
20/115
20
2.2.3. Problme du transportConsidrons un certain produit qui est estoquen m centres
de dpt mAAA ,,, 21 en quantits maaa ,,, 21 . Ce produit doit
tre transport ncentres de distribution nBBB ,,, 21 en quantitsnbbb ,,, 21 . On connat le cot du transport dune unit de produit
du centreAiau centreBi. On suppose quen
nj
i
m
i
i ba1
,
c..d. la rserve totale des dpts est gale la demande totale descentres de distribution. On demande de concevoir un plan optimal
de transport (de dterminer les quantits xijde produit transportesde Ai Bj) tel que le cot total du transport soit minimum(minimal).
Le cot du transport du centreAiau centreBiest cijxijunitsfinancires. Le cot total des transports sera:
m
i
n
jijijmnmnmmmm
nnnn
xcxcxcxc
xcxcxcxcxcxcf
1 12211
22222221211112121111
....
.........
Les rcontraints de ce problme scrivent comme il suit:a)
La quantit transporte du dptAivers les ncentres dedistribution doit tre gale avec le disponible deAi, c..d.
;,...,2,1,...21 miaxxx iinii
b) la quantit transporte dans le centre de distribution Bide
tous les centres de dpt est gale avec la quantit deproduit bjncessaire:
;,...,2,1,...21 njbxxx jmjjj
c) les quantitsxijdoivent tre des grandeurs non ngatives.
La formulation mathmatique du problme de transport peuttre reprsente de la manire:
Dterminer la valeur minimum(minimale ou du minimum) dela fonction:
-
8/10/2019 Recherche Operationnelle Elements Cours DS
21/115
21
m
i
n
j
ijijxcf1 1
.
dans les contraintes:
.,...,2,1,,...,2,1,0
,,...,2,1,
,,...,2,1,
1
1
njmix
njbx
miax
ij
n
j
jij
n
j
iij
Dans le modle ci-dessus du problme de transport on a suppos
que la conditionn
nj
i
m
i
i ba1
est satisfaite. Cette condition
sappelle condition dquilibre. Dans le cas o la conditiondquilibre nest pas ralise, le problme sappelle problme nonquilibr, qui, en introduisant un centre fictif, peut tre rduit unproblme de transport quilibr.
2.3. Forme dun problme de programmation linaire
On dit que le problme de programmation linaire a laformestandardsilest de la forme:
max),()( xcxf ,
avec les contraintes:
.0
,
xbAx
o: mnnn RbRxRcRx ,,, , A matrice de dimensions
nmArangnm , . Donc, dans le problme deprogrammation linaire en forme standard le systme descontraintes est un systme dgalits et toutes les inconnues sontimposes les conditions de non ngativit.
-
8/10/2019 Recherche Operationnelle Elements Cours DS
22/115
22
Tout problme de programmation linaire peut tre rduit la forme standard. Il est vident que:
xfxfTxTx
maxmin .
En consquence, le problme de minimum se rduit au problmede maximum.
Si 0, xbAx , on peut crire:
,0,0
,
yx
byAx
o Tmyyyy ,,, 21 .
Si0, xbAx
, alors
.0,0
,
yx
byAx
Les variables myyy ,,, 21 sappellent variables de compensation
ou variables cart. Il faut mentionner que les variables de
compensation napparaissent pas dans la fonction objective.Si au moins pour une des variables xi il nest pas pose la
condition de non-ngaivit, alors on peut la remplacer dans leproblme considr par iii vux , o ui et visont deux variables
nouvelles, telles que 0,0 ii vu .
Exemple.Soit le problme de programmation linairemin2)( 321 xxxxf
avec les contraintes:
.0,0
,13
,82
21
321
321
xx
xxx
xxx
Transformons ce problme la forme standard.1.
La minimisation de la fonctionfest quivalente samaximisation
321 2)()( xxxxfxg .
2.
Substituons 543 xxx , o 0,0 54 xx .
-
8/10/2019 Recherche Operationnelle Elements Cours DS
23/115
23
3. Introduisons les variables de compensation 06x et
07
x pour transformer les contraintes - inquations en
contraintes - quations:
.0,0
,13
,82
76
7321
6321
xx
xxxx
xxxx
Donc, le problme considr se rduit au problme suivantde programmation linaire la forme standard:
max2)( 5421 xxxxxg
avec les contraintes:
.,,,,,, ix
,xxxxx
,xxxxx
i 7654210
13
82
75421
65421
Une autre forme de prsentation des problmes deprogrammation linaire est la forme canonique. Si toutes lescontraintes sont des ingalits de mme sens et toutes lesinconnues sont non-ngatives, alors on dit que le problme deprogrammation linaire a laforme canonique:
)(ouxcxf minmax),()(
avec les contraintes:
.0
,0ou
,0
,
x
Ax
x
bAx
Il faut souligner que si le sens de lingalit est , lafonction objectif se maximise et pur la fonction objectif seminimise.
Observons que toute contrainte de la forme:
iinii baaxa ...211
est quivalente un systme de deux restrictions:
.
...
,...
211
211
iinii
iinii
baaxa
baaxa
-
8/10/2019 Recherche Operationnelle Elements Cours DS
24/115
24
Constaterons que tout problme de programmationlinaire peut tre rduit soit la forme standard, soit la forme
canonique.
2.4. Interprtation gomtrique des problmes deprogrammation linaire deux variables
Considrons le problme de programmation linaire laforme canonique dans lespace bidimensionnel avec la fonctionobjectif
2211 xcxcf et le systme des contraintes:
Dessinons dans le systme cartsien de coordonnes 21Oxx lesdroites di, les quations desquelles sont:
.,...,2,1,2211 mibxaxa iii
Notons par T le domaine du plan pour lequel sont satisfaites les
restrictions du problme considr de programmation linaire.Supposons que ce domaine est le polygone ABCDEF (voir fig.
2.1). Selon 1.1, Test un polygone convexe (tronon).Pour rsoudre le problme de programmation linaire, il
faut chercher les pointsM(x1, x2),appartenant lensemble T, pour
lesquels la fonction objectif 2211 xcxcf prend la valeurmaximale.
Reprsentons la droite d0 dquation 02211 xcxc . Cettedroite passe par lorigine est perpendiculaire au
vecteurT
ccn 21, . Le vecteur n est orient dans le sens croissantdes valeurs de la fonction f. Soit v une valeur arbitraire de la
fonction objectif 2211 xcxcf . Alors lquation
vxcxc 2211
.0,0
.............................
,
,
21
,2211
2222121
1212111
xx
bxaxa
bxaxa
bxaxa
mmm
-
8/10/2019 Recherche Operationnelle Elements Cours DS
25/115
25
reprsente une famille de droites parallles la droite d0; quand lagrandeur vvarie dans lintervalle , la droite vxcxc 2211 se dplace, restant perpendiculaire au vecteur n.
Vu que 21,xxM doit appartenir lensemble T, il rsulte
que le maximum de la fonction2211
xcxcf satteint dans le
sommetEdu T. En fait, le vecteur nmontre la direction o il fautdplacer la droite d, pour augmenter la valeur de la fonction
objectif, parce que la fonction linaire 2211 xcxcf est croissantedans la direction de n. Alors la valeur maximale sobtient pour lescoordonnes du point E qui se trouvent lintersection des droites
2d et 3d (voir la fig. 2.1).
Sur la fig.2.1 on voit que le minimum de la fonction
objectif satteint dans le sommetBdu polygone T. Si la droite 0d
nest pas parallle avec aucune des cots du polygone des
solutions admissibles, alors il nexiste quune seule solutionoptimale.
E
x
n
x
A
F
D
O C
dm
do
x
x
O
n
Fig. 2.1Fig. 2.2
-
8/10/2019 Recherche Operationnelle Elements Cours DS
26/115
26
Dans le cas quand une des cots du polygone des solutionsadmissibles est parallle la droite 0d , alors le problme admet
une infinit de solutions optimales qui seront reprsentes par les
coordonnes de tous les points de cette cot.Une autre situation, qui peut apparatre dans le problme deprogrammation linaire, est quand la fonction objectif na pas demaximum (ou minimum) finit (voir la fig. 2.2). Cela se passe
quand le tronon Tnest pas born.Exemple:Dterminer les valeurs de 1x et 2x telles que la
fonction21 xxf soit maximale dans les conditions :
.0,0
,3
,93
,2,42
21
2
21
21
21
xx
x
xx
xxxx
Pour a reprsentons graphiquement les droites:
.0:
,3:
,93:
,2:
,42:
210
24
213
212
211
xxd
xd
xxd
xxd
xxd
d1
d4
x2
x1
n
d0
o
d3
d2
A
B C
D
Fig .2.3
-
8/10/2019 Recherche Operationnelle Elements Cours DS
27/115
27
On obtient le polygone convexe ABCD. En donnant ladroite 0d dquation 021 xx un dplacement parallle avec
elle-mme dans la direction n on obtient que les coordonnes de
point C ralisent le maximum de la fonction linaire 21 xxf .On dtermine les coordonnes de ce point lintersection desdroites 3d et 4d :
.3
,93
2
21
x
xx
On a 3,2 *2*
1xx et 532maxf .
Il rsulte que la solution optimale dun problme deprogrammation linaire deux variables satteint dans un dessommets du tronon T. Ces sommets, vu dans 1.1, ne sont que lespoints extrmes de lensemble T. Ce phnomne est gnral:nimporte quelle solution optimale dun problme deprogrammation linaire avec un nombre quelconque de variableset de restrictions correspond un point extrme du tronon dessolutions admissibles.
III. Mthode du Simplexe
De faon comme on a constat dans le chapitre II, leproblme de programmation linaire, revient la dterminaisondes extrmes (sommeils) du polydre convexe et le choix dessommeils pour lesquels la fonction objectif prend une valeur
optimale.La mthode du simplexe a t labore en 1949 de B. G.Dantzing et consiste en parcours des sommeils du polydreconvexe de telle faon que la fonction objectif de chaque foisprend la meilleure valeur dans le sens optimal que dans le sommeilantrieur. Quand lamlioration optimale de la fonction nest paspossible, on obtient une solution optimale. La mthode dusimplexe peut tre prsente sous diverses formes (voir, parexemple [1,2,3,5,6,9,11]). Dans tout les cas la mthode dusimplexe se dcompose en tapes suivantes:
-
8/10/2019 Recherche Operationnelle Elements Cours DS
28/115
28
- on dtermine la solution initiale de base;- par une procdure itrative on remplace la solution
initiale de base, jusqu ce quon arrive la situationquand la valeur de la fonction objectif ne croit pas ou laconclusion que le problme nadmet pas un optimumfinit.
La description de la mthode simplexe [9] est donne encontinuation. On considre le problme de programmation linairedonne sous forme standard:
,0
,
max),(
x
bAx
xcf
(3.1)
o ,),,,(,),,,(,),,,( 212121T
n
T
n
T
n bbbbxxxxcccc et A
est une matrice de dimensionne nm avec nm . Supposons queles lignes de la matrice A sont indpendantes linaires, donc
mArang )( .
3.1. Solution admissible de base
Notons avecBla sous-matrice de la matriceAconstitu dem colonnes de faon que B soit une matrice non singulire
)0(detB dordre mm et avec N la sous-matrice dordre)( mnm qui contienne les colonnes restes de A. Donc nous
avons la dcomposition:
NBA La matriceBsappelle matrice basique, etN- matrice non basique.
De mme faon on spare les vecteurs cetx:
N
B
N
B
c
xx
c
cc ,
oBc et Bx sont composs de tels m composants qui dterminent
la dcomposition de la matrice A. Alors le systme bAx devient :
-
8/10/2019 Recherche Operationnelle Elements Cours DS
29/115
29
bNxBx NB
Ce systme peut tre crit sous la forme
NB NxbBx
ou.
11
NB NxBbBx (3.2)
Les composantes du vecteur Bx sappellent variables
basiques(ou de base) mais les composantes du vecteur Nx tant
appeles variables non basiques.On dit quun systme des quations de la forme (3.2) est un
systme sous la forme explicite.La solution de ce systme donnepar
0
1
N
B
x
bBx
sappellesolution de basedu systme .bAx Si 0
1bB alors la solution de base vrifie les conditionsde non-ngativit :
0)0(
)0(
N
B
x
xx
et sappelle solution de base admissible du problme deprogrammation linaire (3.1).
Une solution de base admissible pour le problme (1)sappelle non dgnre, si le nombre des ses composantes non
nulles est gal avec le nombre des quations du systme bAx ,cest--dire 01bB .On dmontre (vois, par exemple, [2,3]) que la solution de
base admissible nest quun point extrme de lensemble
0,, xbAxRxxT n
et rciproquement.
-
8/10/2019 Recherche Operationnelle Elements Cours DS
30/115
30
3.2. Critre doptimalisation
Soit Bune matrice basique et respectivementT
N
T
B
T
ccc .Alors la fonction objectif ),( xcf devient
.)()(1111
N
T
N
T
B
T
BN
T
NN
T
B
N
T
NB
T
B
N
BT
N
T
B
T
xcNBcbBcxcNxBbBc
xcxcx
xccxcf
Le problme de programmation linaire (1) peut tre crit sous la
forme
.0,0
,
max),)((),(11
11
BN
NN
NNB
TT
B
xx
NxBbBx
xccBNbBcf
(3.1)
Cette forme sappelle forme explicite du problme deprogrammation linaire (3.1).
Notons bB1
et .)(1
B
T
cB Alors la forme explicite peut tre crite en mode suivant
.0,0
,
max),(),(1
BN
NN
NN
T
B
xx
NxBx
xcNcf
Le vecteurN
T cN reprsente le critre
doptimalisation, parce quil nous dit si la solution de baseadmissible est une solution optimale de la programmation linaire(1).
Soit zj, (cN)jet (xN)j, j=1,2, . . .,n-m,les composantes des
vecteursTNz et respectivement xN . On constate que si
0)( jNjj cz , j=1,2, . . . ,n-m, le maximum de la fonction
objectif
-
8/10/2019 Recherche Operationnelle Elements Cours DS
31/115
31
mnNmnNNB xxxcf )()()(),( 2211
satteint pour 0Nx . Pour nimporte quelle autre solution
admissible x au moins une composante 0)( jNx et au passage
dune solution admissible de base lautre valeur de la fonctionobjectif devient plus petite.
Cest--dire, si nous avons une solution de base admissible pourlaquelle
,,,2,1,0 mnjj
alors elle est une solution optimale.
Noterons par ,,,2,1, mnjaj la colonne qui lui
correspond de la matriceN.On observe que ).,( jT
jj aaz Sil
existe j tel que 0j et le vecteur jj aB1 a toutes les
composantes plus petites ou gales zro 0)(( ij pour
),,2,1 mj alors la fonction objectif f nest pas bornesuprieur dans lensemble des solutions admissibles. Vraiment, onvrifie immdiatement que pour tout 0, tTt , le vecteur
N
B
x
xx
dfini par,,,2,1,,0)(,)(, mijixtxtx iNjNjB
est de mme une solution admissible du problme deprogrammation linaire considr. En choisissant un tsuffisamment grand, on constate que le problme a des solutionsadmissibles non bornes ( 0, xbxA pour nimporte quel
0t et x si t ), donc nadmetun maximum finit:
jB tcxcf ),(),( pour t .
Il est possible aussi et le cas suivant. Parmi les
composantes du vecteur jj aB1
(correspondant la
diffrence 0j ) sont des grandeurs positives. Soit 0s
-
8/10/2019 Recherche Operationnelle Elements Cours DS
32/115
32
et 0)( is , o i est un nombre naturel, gal lun des nombres
1,2, . . ., m. En ce cas sNx )( il ne peut pas prendre des valeurs
arbitraires, parce que pour si nous avons 0)( iNx et
sNsB xx )( mais sNsB xcf )(),( .
De la condition dadmissibilit 0Bx rsulte
ixis
isN ,
)()(
En choisissant
ks
k
is
i
ai
sN
s
x
)()(
min)(
0)(
(3.4)
nous obtiendrons une autre solution admissible avec
0)(
)(,0)(ks
ksNsB xx
On peut dmontrer (vois, par exemple, [2,3]) que cette solutiondistingue une solution de base admissible qui correspond unenouvelle matrice basiqueB . La matrice B sobtient de la matriceprcdente B par le remplacement de sa colonne k par levecteur sa . Pour la solution admissible de base obtenue, la valeur
de la fonction objectif devient plus grande que la valeur dans la
solution prcdente.Cette opration de passage dune solution admissible de
base lautre sappelle pivotation ou itration simplexe, etllment 0)( ks sappelle pivot. A cette tape sexclue la
variable sBx )( de l ensemble des variables de base, en
introduisant au lieu delle la variable sNx )( . En ayant une nouvelle
matrice basiqueB , nous obtenons une autre forme explicite du
systme :bAx
NB xNBbBx11
)()( .
Le choix (4) nous assure que la solution de base
-
8/10/2019 Recherche Operationnelle Elements Cours DS
33/115
33
0
)(1bB
x
xx
N
B (3.5)
est une solution de base admissible, cest--dire 0)( 1bB .Par consquent,sont possibles les cas suivants:
1. Si ,,,2,1,0 mnjj alors la solution de base
admissible donne par 0, NB xx est une solution
optimale du problme (3.3).2.
Sil existe un indice jtant que 0j et tous les lments
de la colonne de jj aB1 sont plus petits ou gaux
zro, alors le problme de programmation linaire (3.3)nadmetun maximum finit.
3.
Sil existe au moins un s pour lequel 0s et les
vecteurs s ont les composantes positives, on va
dterminer une nouvelle solution admissible de base laide de la formule (3.5).
3.3. Algor i thme du simplexe
En base de celles dmontres ci-dessus, dans section 3.2,lorganisation des calcules peut tre faite par des diffrentesfaons. Ainsi on obtient des diverses variantes de la mthode dusimplexe. Nous allons nous arrter sur lune delle [9]. Cette
variante de lalgorithme du simplexe, dcrit plus haut, sutilisedans la majorit des programmes spciaux pour la rsolution desproblmes de programmation linaire laide des moyennestechniques de calcul. En pratique les problmes avec un caractreconcret ont un nombre, en gnral, suffisamment grand desvariables et des restrictions et peuvent tre rsolues seulement laide des machines de calcul.
-
8/10/2019 Recherche Operationnelle Elements Cours DS
34/115
34
Soit un problme de programmation linaire sous la formeexplicite (3.3), ainsi on connat une matrice basique B tel que levecteur
0
1
bBx
est une solution de base admissible duproblmede programmationlinaire donne. Alors les pas de lalgorithme du simplexe sont lessuivants:
Pas 1.On dtermine le vecteur
B
T cB 1)(
Le calcul de ce vecteur est quivalent la rsolution du systmedes quations linaires
B
T CB 1)( .
Pas 2. On calcule le produit scalaire
),( jj az
et les diffrences
jNjj cz )(
pour mnj ,,2,1 . Ici ja est la colonnejde la matriceN.
Pas 3. On tudie les signes des diffrences j .
a) Si pour tous j, nous avons 0j , alors la solution de
base disponible est une solution optimale. ARRET.
b) Sil existe au moins un j pour lequel 0j , alors on
calcule jsj
min0
et on passe au pas suivant.
Pas 4. On dtermine le vecteur
ss aB1 ,
donc, on rsout le systme des quations linaires
ss aB .
Pas 5. On tudie les composantes du vecteur s .
-
8/10/2019 Recherche Operationnelle Elements Cours DS
35/115
35
a) Si ,,,2,1,0)( miis alors le problme donn a la
fonction objectif non borne suprieure sur lensemble des sessolutions admissibles. ARRET.
b) En cas contraire on dtermine
is
i
iks
k
is )(min
)( 0)(
et on passe aupas 6dalgorithme.Pas 6. On forme une nouvelle matrice basique B tel quau
lieu de la colonne k de la matrice Bon crit la colonne sa de la
matrice N et on calcule la solution de base admissible qui
correspond la nouvelle matrice basique B , o
ks
ksNx
)()( et 0)( sBx .
On revient au premier pas de lalgorithme. Lalgorithme se rptejusquau moment quand sobtient une solution optimale (Pas 3) oustablit que la fonction objectif nest pas borne suprieur surlensemble des solutions admissibles (pas 5, a).
Exemple.Utilisons lalgorithme du simplexe pour larsolution du problme de programmation linaire
min12 xxg
dans des contraintes suivantes:
.0,0
5
22
22
21
21
21
21
xx
xx
xx
xx
Aupralable transformons ce problme la forme standard, ainsi:min21 xxf
-
8/10/2019 Recherche Operationnelle Elements Cours DS
36/115
36
.5,4,3,2,1,0
,5
,22
,22
521
421
321
ix
xxx
xxx
xxx
i
La matrice du systme des quations est
10011
01021
00112
A
et a le 3)(Arang .
Choisissons
11
21
12
,
100
010
001
NB ,
parce que 01)det(B et donc B est une matrice basique.
Soulignons le fait que 01 bbB . En tenant compte de a, onobtient
.
5
2
2
,
0
0
0
3
2
1
x
x
x
xc BB
,0
0,
1
1
2
1
x
xxc NN
1
2
1
,
1
1
2
21 .
Pas 1.
0
0
0
0
0
0
100
010
001
)(1
B
T cB .
-
8/10/2019 Recherche Operationnelle Elements Cours DS
37/115
37
Pas 2. .1)(,1)(,0 221121 NN cczz
Pas 3. Ainsi 01 et donc la solution de base admissibleTx )5,2,2,0,0()1( nest pas optimale. Elle peut tre amliorepar
le changement de la matrice basiqueB.Pas 4.
.
1
1
2
1
1
2
100
010
001
1
1
1aB
Pas 5.
21
2
10)( )(1
5,12min
)(min
1 i
i
i i
.
Pas 6.
.
01
12
01
,
110
010
021
NB
La matrice B sobtient de laB,en remplaant la deuximecolonne par le vecteur 1a .
On calcule
,01,
00
,
3
2
6
,
110
010
021
)(
2
4
5
1
3
1
NN
B
cxxx
x
x
x
xB
0
1
0
,
1
2
1
,
0
1
0
21aacB
et on revient au premier pas avec BB .
-
8/10/2019 Recherche Operationnelle Elements Cours DS
38/115
38
Pas 1.
.
0
1
0
0
1
0
100
112
001
)(1
B
T cB
Pas 2.
.101)(
,1)1(2)(
,1),(,2),(
222
111
2211
N
N
cz
cz
azaz
Pas 3. Vu que 01 , la solution de base admissible
Tx )3,0,6,0,2()2( nest pas la solution optimale.Pas 4.
.
3
2
3
1
2
1
110
010
021
1
1
1 aB
Pas 5. On calcule
31
3
10)( )(3
3
)(min
1i
i
i i
.
Pas 6. Au lieu de la troisime colonne de la matrice Boncrit le vecteur 1
,
110
210
121
B
01
10
00
N .
On obtient des donnes
3/13/10
3/23/10
111
)(1B ,
2
1
3
1
4
9
x
x
x
xB ,
-
8/10/2019 Recherche Operationnelle Elements Cours DS
39/115
39
0
0
5
4
x
xxN , ,
0
0Nc ,
1
1
0
Bc ,
1
0
0
1a ,
0
1
0
2a .
En reprenant lalgorithme du simplexe avec BB nousavons
Pas 1.
3/1
3/2
0
1
1
0
3/13/21
3/13/11
001
)( 1 BT cB .
Pas 2.
3
1),( 11 az ,
3
2,22 az ,
3
10
3
1111 N
cz ,
3
20
3
2)( 222 Ncz .
Pas 3. Vu que 0,0 21 , la solution de base
admissible obtenueTx )0,0,9,1,4()3( est optimale. Nous avons
3)max(f pour 1,4 *2*
1 xx et donc -3.min(g)
Lobservation 1. Si en cours de lapplication de lalgorithme dusimplexe la solution de base admissible obtenue est dgnre(contient des composantes non nulles au moins que le nombre des
restrictions), alors il est possible un cycle; on peut revenir unesolution de base trouve antrieurement. Soulignons le fait que ladgnration nimplique pas obligatoirement le cycle. Pourlloignement du cycle on procde dans un mode spcial (onapplique la technique de perturbation ou la mthodelexicographique; voir les travaux [5, 6, 13, 23, 28]). Quoique
beaucoup de problmes pratiques sont dgnrs, peu delles sontcycliques. Dans la littrature de spcialit on connatdes exemplesdes cycles, mais elles sont construites avec difficult.
-
8/10/2019 Recherche Operationnelle Elements Cours DS
40/115
40
Heureusement ce type de problme est rare en pratique. Voil unexemple dun probleme dgnr:
.0,0
,0,6
max25
21
21
21
212,1
xx
xxxx
xxxxf
Lobservation 2. Lalgorithme du simplexe assure laconvergence vers la solution optimale dans un nombre finit de pas.
Vraiment, du fait quun problme de programmation linaire aseulement un nombre finit de solutions de base admissibles non
dgnres aprs un nombre finit ditrations on va arriver soit une solution optimale, soit la conclusion que la fonction objectifnest pas borne suprieur sur lensemble des ses solutionsadmissibles.
Lobservation 3. Au moment o jj ,0 rsulte que
la fonction objectif ne peut pas crotre. Si pour une variable nonbasiquexknous avons 0k , alors au cas osur la colonne k
est possible de choisir un pivot 0)( is dans le pas suivant
nous obtiendrons une nouvelle solution optimale qui donne la
mme valeur pour la fonction objectif. En faisant une combinaisonlinaire convexe des solutions optimales trouves, on obtientlensemble de toutes les solutions optimales.
3.4. Tableaux simplexe
Si le problme de programmation linaire nest pas grand,on peut organiser les calculs aprs lalgorithme du simplexe laide des tableaux appels tableaux simplexe.
Soit donne un problme de programmation linaire laforme explicite (voir 3.2.):
-
8/10/2019 Recherche Operationnelle Elements Cours DS
41/115
41
,0,0
,
max,,
1
NB
NB
NN
T
B
xx
NxBx
xcNcf
o la matrice basiqueBest suppose gale avec la matrice unitI.Supposerons encore que les thermes libres mbbb ,...,, 21 sont non
ngatifs. En ce cas mnmn aaab ,,,,0 2211 la
solution admissible de base est11)( bxB , 22)( bxB , ...,
mmB bx )( , 0)( 1Nx , 0)( 2Nx , ..., 0)( mnNx , et la
fonction objectif a la valeur ),( Bcf . Avec ces donnes on peutconstruire le tableau suivant qui sappelle tableau simplexe:
Variablesdebase
1)( Bx
2)( Bx
mBx )( 1)( Nx
SNx )(
mnNx )(
is
i
1)( Bx
1b
1 0
011
1s
1mn
kmn
2)( Bx
2b
0 1
0 21 2s
2mn
kBx )(
kb
0 0
0k1
ks
kmn
mBx )(
mb
1 0
1
m1
ms
mmn
jj
j
cz
0 0
01 s
mn
-
8/10/2019 Recherche Operationnelle Elements Cours DS
42/115
42
Chaque ligne de ce tableau correspond lquation, quireprsente les variables de base
1
)(B
x , ...,mB
x )( par rapport au
variables1)( Nx , 2)( Nx , ..., mnNx )( . La dernire ligne correspond
aux diffrencesjjj cz , o )( , jBj acz , ., ..., n-m,j 21
Pour chaque colonne de la matrice basique nous aurons 0j .
Si toutes les diffrences j sont non ngatives, la solution
de base Bx sera une solution optimale. En cas contraire on choisit
comme colonne pivot la colonne s de la variable non basique
sNx )( pour laquelle s est la plus petite:
jj
sj 0(
min .
On tudie les composantes du vecteur s . Si 0is pour
,,...,2,1 mi alors leproblme de programmation linaire nadmet
pas un maximum finit. Si le vecteur s a des composantes
positives, alors on constitue le rapportisi
)( , avec les i pour
lesquels 0is
. Nous choisirons comme llment pivotks
(dans le tableau il est notks
) si
is
i
iikS
k
s )(min
)( 0)(
La ligne ksappellera laligne pivot. Si la valeur minimaleest atteinte pour quelques indices k, alors on choisit lun deux.
A cette tape sexclut la variablekB
x de lensemble des
variables de base, en introduisant au lieu delle la variablesN
x et
on passe au tableau suivant. Le passage dun tableau lautreconsiste en calculer des composantes des vecteurs qui ne font paspartie de la base et des diffrences correspondantes
jNjj cz . Notons les lments du tableau suivant avec
-
8/10/2019 Recherche Operationnelle Elements Cours DS
43/115
43
.,,,''''
jijifb Ces lment peuvent tre obtenus facilement
aprs une rgle qui sappelle la rgle du rectangle: on forme unrectangle, en ayant un sommeil dans llment qui se calcule, et
llment pivot qui est situ dans le sommeil diamtralementoppos.
La nouvelle valeur de llment calcul sera gale auproduit entre la vieille valeur et llment pivot, duquel onsoustrait le produit des autres sommeils du rectangle, le rsultat estdivis au pivot:
ks
jski
ji
ks
jskiksji
ji
...'
Les lments de la ligne pivot se divisent avec le coefficient ks mais pour les lments situs sur la colonne du pivot nous avons
0'
is pour ki et 1'
ks.
Exemple. Considrons le problme suivant deprogrammation linaire
max3 321 xxxf
avec les contraintes:
3,2,1;0
,53
,224
,12
31
321
321
ix
xx
xxx
xxx
i
En utilisant les variables de compensation ,0,0,0 654 xxx
transformons le problme de programmation linaire la formestandard avec les termes libres non ngatifs :
(ai)j (as)j
(ai)k (as)k
-
8/10/2019 Recherche Operationnelle Elements Cours DS
44/115
44
.6,,2,1,0
,53
,224
,12
max0003
631
5321
4321
654321
ix
xxx
xxxx
xxxx
xxxxxxf
i
On observe que le systme des quations duproblme standard estexplicite par rapport aux inconnues ,, 54 xx et 6x . On peut crire
donc le premier tableau simplexe:
Dans ce tableau la dernire ligne contient deux diffrencesngatives: 012 et .033 Ce signifie que la solution
initiale de base 0,5,2,1 321654 xxxxxx nest pas
optimale.
On choisit comme colonne pivot, la colonne forme descoefficients ,111
1,13121
de la variable non
basique 3x , pour laquelle 33 est la plus petite. Elaborons les
rapportsii 1
/ pour lesquels 1/:01111 i
,
.5/313
En consquence llment pivot sera 111
. En
appliquant la mthode dcrite plus haut nous obtiendrons lasuccession suivante de trois tableaux simplexe.
Variablesde base 1x2x
3x
4x5x
6x
isi )/(
4x 1 2 -1 1 1 0 01:1
5x 2 -4 2 -1 0 1 0 -
6x 5 3 0 1 0 0 1 1:5
j 0 1 -1 3 0 0 0
-
8/10/2019 Recherche Operationnelle Elements Cours DS
45/115
45
Eta
pe
Variab
les de
base1x
2x
3x
4x
5x
6x
is
i
)(
II
3x
1 2 -1 1 1 0 0
5x
3 -2
1
0 1 1 0 1
3
6x
4 1 1 0 -1 0 1
1
4
j
3 7 -4 0 3 0 0
III
3x
4 0 0 1 2 1 0 -
2x
3 -2 1 0 1 1 0 -
6x
1
3
0 0 -2
-1
1 3
1
j
15 -1 0 0 7 4 0
IV
3x
4 0 0 1 2 1 0
2x
11/3 0 1 0 -1/3 1/3 2/3
1x
1/3 1 0 0 -1/2 -1/3 1/3
j
46/3 0 0 0 19/3 11/3 1/3
-
8/10/2019 Recherche Operationnelle Elements Cours DS
46/115
46
Toutes les diffrences j du dernier tableau sont non
ngatives, le fait qui attire lattention que lalgorithme du simplexeest arriv la dernire tape. En consquence, nous avons une
solution optimale 4,3/11,3/1*
3
*
2
*
1 xxx et une valeuroptimale de la fonction objective 3/46maxf .
Observation.Sil existe plus dun rapport minimum
is
i
airs
r
ks
k
is )(min
)( 0)(
alors on peut choisir comme lment pivot ks )( ou rs )( . En
choisissant llment pivot ks )( obtiendrons 0)( rBx . Lasolution de base obtenue sera dgnre. En ce cas il est possibleque la valeur de la fonction objectif ne soit pas modifie en coursde quelques tapes successives et revenons lune des solutions debase admissibles par lesquelles nous avons dj pass. Cettesituation sappelle cyclique; lalgorithme du simplexe peut trecontinu jusqu linfini sans conduire aux solutions. Voil
pourquoi on suppose la non-dgnration dans lapplication delalgorithme du simplexe. La finitude de lalgorithme du simplexeest assurepour les problmes de programmation linaire nondgnrs (ayant toutes les solutions de base non dgnrs).Soulignons encore une fois le fait que la dgnration (lexistenceau moins dune solution de base dgnre) nimplique pasobligatoirement le cycle. Quoique beaucoup de problmespratiques soient dgnrs, aucun na pas fait le cycle jusqu
prsent et les exemples avec les cycles ont t construits avecdifficult. Dans le cas de dgnration onprocde dans un modespcial pour viter le phnomne du cycle, en utilisant soit latechnique de perturbation, soit la mthode lexicographique (voirpar exemple [2,6,9,11]).
-
8/10/2019 Recherche Operationnelle Elements Cours DS
47/115
47
3.5.Dterminaisonde la solution initiale de base
Comme on a tablit dans le paragraphe 3.3, pour larsolution dun problme de programmation linaire on passe
dune solution de base initiale et en utilisant lalgorithmesimplexe, on arrive une solution optimale. Pas chaque matrice Bde la dcomposition NBA nous assure que 01bBxB etpar consquent il faut continuer avec une autre matrice B. Lenombre des essais peut tre assez grand. Au plus, dans le casquand lensemble des solutions admissibles est vide alors nexistepas une matrice B qui nous pourra donner une solution de base
admissible.Considrons un problme de programmation linaire sous
la forme standard
max),( xcf
0
,
x
bAx (3.6)
o A est une matrice de la dimension
.,,, mnn RbRcRxnm Supposons que 0b ; en cas
contraire nous pouvons multiplier la ligne i dans laquelle 0ib
avec 1. Faisons une association avec le problme (3.6) leproblme suivant de programmation linaire
min...21 myyyg
0,0
,
yx
byAx (3.7)
Les variables myyy ,...,, 21 sappellent variables artificielles. Le
problme (3.7) a la forme explicite avec la matrice B=IoIest lamatrice lunit de dimension mm et avec la solution de base
admissible 0,...,011 mm byby , 0...21 nxxx . Par
consquent nous pouvons appliquer lalgorithme du simplexe pourla rsolution du problme (3.7).
-
8/10/2019 Recherche Operationnelle Elements Cours DS
48/115
48
Si le problme (3.7) a une solution optimale ),( ** yx et
0)min(g , comme 0*iy , rsulte que tous 0*
iy . Deux cas
sont possibles [5, 6]:
1). Aprs lapplication de lalgorithme du simplexe aucunedes variables artificielles myyy ,...,, 21 nest pas une variable
basique. Alors, en loignant les variables artificielles et sescoefficients sobtient un tableau simplexe correspondant uneforme explicite du systme bAx dans lequel les thermes libressont non ngatifs.
2). Dans le tableau simplexe final unes des variables
artificielles myyy ,...,, 21 sont des variables basiques. Cest possiblesi le problme (3.6) est dgnr ou si mrArang )( . Si
mArang )( et le problme (3.7) a dgnr, alors au lieu de la
variable basique 0iy introduisons la variable non basique ix
sans affecter la non-ngativit des thermes libres et la solutionoptimale pour le problme (3.7), parce que la solution de baseadmissible nouvellement obtenue est la mme que la solution
prcdente. Dans le cas o mrArang )( , peuvent rester parmiles variables basiques 0iy , mais leurs lignes sont exclues du
systme sans modification de lensemble des solutions admissiblespour le problme (3.6).
Dans ce mode peuvent tre limins successivement parmiles variables basiques du tableau simplexe final toutes les variables
artificielles, aprs quoi on peut continuer lalgorithme du simplexe
avec la solution de base admissible *x pour le problme (3.6).Si 0)min(g , en ce cas au moins un 0*iy et, donc, le
problme (3.6) na pas de solutions admissibles et donc aucunesolution optimale.
Cette mthode sappelle encore mthode des deux phases.Une autre mthode est la mthode de la pnalisation, qui consisteen rsolution du problme suivant
-
8/10/2019 Recherche Operationnelle Elements Cours DS
49/115
49
m
i
iyMxcf1
max),(
0,0
,
yx
byAx
(3.8)
oMest un nombre rel suffisamment grand.Le problme (3.8) a une solution de base
admissible 0ii by , mi ,...,2,1 ; nixi ,...,2,1,0 . Si aprs
lapplicationde lalgorithme du simplexe le problme (3.8) a unesolution optimale ),( ** yx pour laquelle 0*y , alors *x est une
solution optimale du problme (3.6). Dans le cas o 0*
y leproblme (3.6) na pas de solutions admissibles. Si le problme(3.8) a la fonction objectivement non borne suprieur alors leproblme (3.6) na pas de solutions optimales (na pas de solutionsadmissibles ou la fonction objectif nest pas borne suprieur).
IV. ualit en programmation linaire
4.1.Problmes duals symtriques
Soit un problme de programmation linaire sous forme
0
,
max),()(
x
bAx
xcxf
(P)
o nRc , mRb , nRx et A est une matrice des dimensionsnm .
Associons au problme (P) un autre problme deprogrammation linaire dfini par
-
8/10/2019 Recherche Operationnelle Elements Cours DS
50/115
50
0
,
min),()(
y
cyA
ybyg
T (D)
o mRy , etA, bet csont les donnes du problme (P).Etant donnes le problme (P), appel problme primal, le
problme (D) sappellera le problme dual associ au problme(P).
Exemple. Ecrivez le problme dual au problme:max432)( 4321 xxxxxf
,4,3,2,1,0
,52
,8645,4323
4321
4321
4321
ix
xxxx
xxxxxxxx
i
Nous avons le problme dualmin584)( 321 yyyyg
.3,2,1,0
,46
,14
,352,223
321
321
321
321
iy
yyy
yyy
yyyyyy
i
Si on transforme le problme (D) dans un problme de
minimum, en lcrivant sous la forme
,0
,
max),()(
y
cyA
ybyg
T (D )
et construisons le dual du problme (D ) alors le problme dualassoci celui-ci sera le problme (P). Nous pouvons dire que les
problmes (P) et (D) constituent une paire des problmes duaux
-
8/10/2019 Recherche Operationnelle Elements Cours DS
51/115
51
lun lautre. Ces problmes (P), (D) sappellent encore duauxsymtriques.
4.2. Thormes duales de la programmation linaire
Entre les problmes primalet dual peuvent tre tablies desrelations qui sont plusieurs fois trs utiles aussi du point de vupratique que dupoint de vu thorique.
Thorme 4.1.Soit x une solution admissible du problmeprimal P , et y une solution admissible du problme dual D .Alors a lieu la relation
ygxf .Dmonstration. Supposons que 0,0 yx sont des
solutions admissibles des problmes DP, . Multiplions
bxA du P avec 0y et cyAT du D avec 0x . On
obtient
xAyxyAxc T ,,, ,
xAyyxAyb ,,, ,do rsulte que xfyg et lethorme est dmontr.
Thorme 4.2. Si *x est une solution admissible du
problme P et *y est une solution admissible du problme D et a lieu
*,*, xcyb
alors *y et *x sont des solutions optimale du problme D et
respectivement du problme P .Dmonstration. Soit *x une solution admissible du
problme P . Du thorme 4.1 rsulte que pour chaque solution
admissible y du problme D a lieu
*,, xcyb
et prenant en consideration que *,*, ybxc il suit
ybyb ,*, .
-
8/10/2019 Recherche Operationnelle Elements Cours DS
52/115
52
Donc *y est une solution optimale du problme D . En modeanalogue on montre que *x est une solution optimale du
problme P . Le thorme est dmontr.
Thorme 4.3 (Thorme de la dualit). Si le problmeprimal P a une solution optimale alors le problme dual D demme a une solution optimale mais les valeurs optimales desfonctions objectifs des ces deux problmes sont gales: minmax gf .
Dmonstration.Supposons que le problme P admet unesolution optimale *x . Dans ce cas la solution *x peut treobtenue, En rsolvant laide de lalgorithme du simplexe le
problme standard associ au problme P :max,0, sxxc
,bIxAx s 0,0 sxx
o msmT RxR ,0,...,0,00
etI est une matrice unit dordre
m.
Si on note avec B la sous-matrice de la matrice IA
construite par deux colonnes pour lesquelles la solution optimalesera
00*
1* bBxx B
alors 0,1
jNjBjcaBc , o Bc est le vecteur constitude
ces composantes du vecteur cqui correspondent aux inconnues *Bx
du dernier tableau simplexe associau problme standard de plushaut.
On peut crire quemnjcaBc
jNjB,...,2,1,,
1.
Vu queTT
B
T
B
cBc 01 ,
il rsulte
-
8/10/2019 Recherche Operationnelle Elements Cours DS
53/115
53
jBj
T
B caBc1
etTTT
B cIABc 01 .
Si on note 1* Bcy TBT de la dernire relation rsulte
TT cAy * et 0* IyT
ou
cyAT * et 0*y
et donc *y est une solution admissible du problme dual D . Enplus on peut crire
*,***, *1 xcxcxcbBcbyyb TBTBTBT .
Mais *x est une solution admissible du problme P et *y est
une solution admissible du problme D et alors en utilisant lethorme 4.1 on constate que
*,*,, ybxcyb
pour chaque solution admissible y, ainsi *y est une solution
optimale du problme D .Le thorme est dmontr.
Le problme primal P peut tre considr comme le dual
du problme D et alors du thorme 4.3 il rsulte
immdiatement aussi comme dans le cas o le problme dual D
a une solution optimale suit que le problme primal P a demme une solution optimale et les valeurs optimales des fonctionsobjectifs sont gales.
Thorme 4.4 (Thorme des cartes complmentaires).Pour que deux solutions admissibles *x et *y des problmes
duaux P et respectivement D soient des solutions optimales il
est ncessaire et suffisant que ces solutions vrifient les relations:0**, bAxy ,
0**, cyAx T .
-
8/10/2019 Recherche Operationnelle Elements Cours DS
54/115
54
Dmonstration.Ncessit. Soit *x et *y des solutions
optimales du problme dual P et respectivement D . On peutcrire
*,*, xcyb et **,**, xyAAxyT
.Do
0**,**, cyAxAxby T .
Du fait que *,0*,0* Axbxy et cyAT * , de la relation
den haut ilrsulte0**, Axby ,
0**, cyAx T .
Suffisance. Rciproquement, si *x est admissible pour leproblme primal, et *y pour le dual, du 0**, Axby et
0**, cyAx T , nous avons **,**, AxyxyAT
, il rsulte
*,*, xcyb . Tant que *x est une solution optimale du
problme primal P , et *y solution optimale du problme
dual D . Donc le thorme est dmontr.
4.3. Algor i thme simplexe dual
Lapplication de lalgorithme du simplexe la rsolutiondu problme dual ne conduit pas un nouvel algorithme dersolution des problmes de programmation linaire, appellalgorithme du simplexe dual. Lalgorithme du simplexe dual
construit une succession de solutions de base du problme primaltant que la premire solution de base admissible est une solutionoptimale du problme. Pour le commencement dcrirons leprocd de trouver une solution optimale laide de la mthodesimplexe, qui correspond la rsolution optimale du problmeprimal.
Soit *x la solution optimale du problme primalmax,
xcxf
.0,xbAx
-
8/10/2019 Recherche Operationnelle Elements Cours DS
55/115
55
De la dmonstration du thorme de dualit (voir 4.2.) on dduitimmdiatement que le vecteur
B
T
cBy1
* est une solution optimale du problme dual
min,ybyg
,cyAT 0y .
En langage des tableaux simplexe a signifie que les coordonnesdu vecteur *y sont situes dans la dernire ligne du tableausimplexe qui correspond au vecteur unit.
Exemple.Etant donn le problme primal:max2 321 xxxxf
avec les contraintes:
0,0,0
,232
,12
1
321
321
321
xxx
xxx
xxx
,
leproblme dual sera:min2 21 yyyg
avec les contraintes:
0,0
,23
,1221
,1
21
21
21
21
yy
yy
yy
yy
On applique lalgorithme du simplexe au problme primaltransforme la forme standard et on obtient la succession suivantedes tableaux simplexe.
-
8/10/2019 Recherche Operationnelle Elements Cours DS
56/115
56
EtapeVariablesde base 1
x 2x 3x 4x 4x is
i
)(
I
4x 1 1 1/2 1 1 01:1
5x 2 1 2 [3] 0 1 3:2
j 0 -1 -1 -2 0 0
II
4x 1/3 [2/3] 1/6 0 1 -1/3 3:1
4x 2/3 1/3 2/3 1 0 1/32
j 4/3 -
1/3
1/2 0 0 2/3
III
4x 1/2 1 1/4 0 3/2 -1/2
4x 1/2 0 7/12 1 -1/2 1/2
j 3/2 0 7/12 0 1/2 1/2
La solution optimale du problme primal est ,2/1*1x
2/1,0*
3
*
2 xx . Conformment au tels mentionn au-dessus, la
solution optimale du problme dual se trouve dans la dernire
ligne des tableaux simplexe: 2/1,2/1*2
*1 yy . Pour les
deux problmes, la fonction defficacit la valeur2/3minmax gf .
Passons la description de lalgorithme du simplexe dual.Considrons un problme de programmation linaire en forme
explicite (avec les notations prcdentes): il faut dterminer lavaleur maximale de la fonction
mnNmnNNBxxxcxf
2211,
dans les contraintes suivantes
mnNmnNNBxxxx
2211,
0,0 BN xx .
On dit que le problme de programmation linaire estadmissible dual sil est en forme explicite et les diffrences
-
8/10/2019 Recherche Operationnelle Elements Cours DS
57/115
57
mn,...,, 21 sont ngatives. Dans le cas o la matrice de base
B concide avec la matrice unit I, alors le problme est dualadmissible si les coefficients de la fonction objectif sont non-
positifs.Supposons que 0j pour chaque mnj ,...,2,1 . La
solution de base
00
Bxx
sappellesolution admissible dualdu problme.Lalgorithme du simplexe dual est un algorithme simplexe
appliqu au dualsans construire le problme dual. Cet algorithmeexcute cyclique la successions suivante de pas.
Pas 1.Le choix de la ligne pivot p.
On dtermine lindiceptant que
ii
pi
min0
.
Dans le cas o ii ,0 , alors la solution de base disponible est
une solution optimale du problme de programmation linaire.ARRET.Pas 2.Le choix de la colonne pivot.
Dans la lignepon cherche des lments 0)( pj et on dtermine
llment avec lindice qpour lequel
pj
j
jpq
q
pj )(min
)( 0)(
et on dcide llimination parmi des composants de la solution debase de linconnuexpet son remplacement avec la variablexq.
Si tous jpj ,0)( , alors le problme considr na pas
de solutions admissibles.ARRET.
Pas 3. On excute les transformations lmentairesncessaires dans le tableau simplexe associ au problme, avec lepivot
pq, aprs les rgles de lalgorithme du simplexe et on
revient aupas 1.
-
8/10/2019 Recherche Operationnelle Elements Cours DS
58/115
58
Exemple. Soit le problme de programmation linairemin3 321 xxx
avec les contraintes
3,2,1,0
,12
,03
,2,12
32
31
21
321
ix
xx
xx
xxxxx
i
En transformant ce problme la forme standard on obtient le
problme de programmation linaire max3 321 xxxxf
dans les contraintes
.7,...,2,1,0,12
,03
,2
,12
732
631
521
4321
ixxxx
xxx
xxx
xxxx
i
Ce problme est sous la forme duale admissible et en luiappliquant lalgorithme du simplexe dual on obtient la successionsuivante des tableaux simplexe:
Eta
pe
Variabl
es de
base1x 2x 3x 4x 5x 6x 7x
min
i
I
4x -1 -2 -1 1 1 0 0 0
5x -2 [-1] 1 0 0 1 0 0 2
6x 0 -3 0 -1 0 0 1 0
7x -1 0 -1 -2 0 0 0 1
j 0 1 3 1 0 0 0 0
pjj/
1
-
8/10/2019 Recherche Operationnelle Elements Cours DS
59/115
59
II
4x 3 0 -3 1 1 -2 0 0
1x 2 1 -1 0 0 -1 0 0
6x 6 0 -3 -1 0 -3 1 0
7x -1 0 -1 [-2] 0 0 0 1 1
j -2 0 4 1 0 1 0 0
pjj/ 4 1/2
III
4x 5/2 0 5/2 0 1 -2 0 1/2
1x 2 1 -1 0 0 -1 0 0
6x 13/2
0 7/2 0 0 -3 1 -1/2
3x 1/2 0 1/2 1 0 0 0 -1/2
j -5/2 0 7/2 0 0 1 0 1/2
Par consquent la solution optimale du problme considrest ,0,2 *2
*
1xx 2/1*3x et 2/5maxf . La solution optimale
du problme dual est ,1,0 *2*
1 yy 2/1*
3y .
Avant de finir ce compartiment, soulignons le fait que
lalgorithme du simplexe ou lalgorithme du simplexe dual neconstitue pas les mthodes uniques de rsolution des problmes deprogrammation linaire. Avec les autres mthodes de rsolution onpeut faire connaissance dans les ouvrages [5, 6, 11, 13, 16, 17, 23,
25, 28].
Lalgorithme du simplexe a t cr en 1947 de GeorgeDantzing (S.U.A.) et aprs ce quon avait vu, consiste en parcourirdes sommeils du polydre des solutions admissibles, ensapprochant toujours de la solution optimale, jusquau momentquand elle est atteinte dans un sommeil du polydre. Dans lesannes 70 on a constat que dans certains cas lalgorithme dusimplexe fonctionne en temps non-polynomial (le temps de calcul
nest pas une fonction polynomiale). En 1979 le savantL.G.Khachian a propos un algorithme appel mthode
-
8/10/2019 Recherche Operationnelle Elements Cours DS
60/115
60
dellipsode. Dans cet algorithme il est parcouru un ensemble finitdellipsodes, tant que le centre du dernier ellipsode correspondune solution optimale et son temps de calcul est polynomial. Plus
tard, en 1984, par N. Karmarkar (le savant indien tablit aux tats-Unis d'Amrique) a t lanceune mthode originale de rsolutiondes problmes de programmation linaire, qui considrablementdpasse en rapidit les vieilles mthodes. La stratgie duKarmarkar consiste en reformulation du problme de chaque fois,tant quon obtient un ensemble finit de points situs dans le centredes polydres des solutions admissibles. Pour les dtails en ce quiconcerne les mthodes de Khachian et Karmarkar le lecteur doit
voir la monographie [28], ainsi que louvragede Karmarkar N.A.New Polinomial-Time Algorithm for Linear Programming. BellAT&T Laboratories 1984, 38 p.
V. Rsolution des problmes de transport
5.1.Prliminaires
Les premires applications de la mthode deprogrammation linaire en rsolution des problmes deplanification les ont constitus les problmes de transport. En4.2.2. a t expos le problme de transport comme un exemple de
programmation linaire. Ces problmes se rencontrent trs souventen pratique avec loccasion de distribution des produits, de larpartition entre les divers consommateurs etc. On dit quunproblme doptimisation est unproblme de type transport, si sonmodel mathmatique peut tre prsent en mode suivant :dterminer la valeur minimale de la fonction
m
i
n
j
ijijxcf
1 1
,
dans les conditions:
-
8/10/2019 Recherche Operationnelle Elements Cours DS
61/115
61
.
;,...,2,1;,...,2,1,0
;,...,2,1,
;,...,2,1,
11
1
1
n
j
j
m
i
i
ij
j
m
i
ij
i
n
j
ij
ba
njmix
njbx
miax
Les donns du problme de transport peuvent tre prsents sousla forme suivante des tableaux appels matrice de transport:
i
j
A
B 1B 2B 1nB ia
1A 11c
12c
nc1
1a
11x 12x nx1
2A 21c
22c
nc22a
21x 22x nx2
mA 1mc
2mc
mnc
ma
1mx 2mx mnx
jb 1b 2b
nb T
Dans le tableau par T est not la valeur commune desm
i
n
j
ji ba1 1
. Cette condition sappelle condition dquilibre. Si
elle nest pas ralise, alors on peut introduire un centre fictif et
-
8/10/2019 Recherche Operationnelle Elements Cours DS
62/115
62
rduire en ce mode le problme un problme de transportquilibr. Vraiment, soit
m
i
n
j
ji ba1 1
.
Alors on introduit une ligne 1m avecm
i
i
n
j
jm aba11
1et 0,1 jmc pour .,...,2,1 nj
Pour le casm
i
n
j
ji ba1 1
,
on introduit une colonne 1n avecn
j
j
m
i
in bab11
1 et mic ni ,...,2,1,01, .
Ainsi dans les deux situations on arrive la forme quilibre.Le problme de transport est un cas particulier de
programmation linaire, qui peut tre rsolu par lalgorithme
simplexe. Grce leur forme particulire, on peut faire larsolution par la mthode spciale. Ensuite nous montrerons unevariante dalgorithme simplexe appel mthode des potentielles.Avant de passer la description de cette mthode nousmontrerons le procd de dtermination de la solution initiale debase.
5.2.Dtermination de la solution ini tiale de baseDans un problme de transport, le systme des quations
des conditions avec m+n-1quations indpendantes. Vraiment, lenombre de restrictions est m+n. Rsoudrons chaque quation, encommenant avec la deuxime, du systme
miax i
n
j
ij ,...,2,1,1
par rapport avec la variable 1ix :
-
8/10/2019 Recherche Operationnelle Elements Cours DS
63/115
63
.,...,3,2,2
1 mixaxn
j
ijii
En mode analogue rsoudrons chaque quation, en commenant
avec la deuxime, du systme
njbx j
m
i
ij ,...,2,1,1
,
par rapport la variable jx1 :
.,...,3,2,2
1 njxbxm
i
ijjj
Des premires quations des systmes mentionns nous avonsn
j
jxax2
1111 ,
m
i
ixbx2
1111
oun
j
m
i
n
j
iji
m
i
ijj xabxbax2 2 2
1
2
111 ,
do on dduit quem
i
i
n
j
j abba2
1
2
1 ,
cest--dire on obtient la condition dquilibre.Par consquent, de la condition dquilibre rsulte que le
systme des quations restrictions peut tre rsolu par rapportavec 1n-m variables. Donc une solution de base a au plus1n-m composantes 0ijx , les autres seront nulles. Si nous
avons moins de 1n-m de composantes positives, la solution debase est dgnre.
Pour la dtermination dune solution initiale de baseexceptant les mthodes connues de la programmation linaire, on
connat aussi desmthodesspcifiques: le procd du coin Nord-Ouest, le procd de llment minimale (du tableau, de la ligne
-
8/10/2019 Recherche Operationnelle Elements Cours DS
64/115
64
ou de la colonne). Ces procds ne ncessite pas une thoriespciale et nous illustrerons avec leur application en cas de larsolution du problme concrte de transport avec trois centres deproduction
21
,AA et3
A dans lequel se trouvent les quantits 90t,
70tet respectivement 50tet qui doivent tre transporten quatrecentres de consommation 321 ,, BBB et 4B en quantits 80t,
60t, 40t et respectivement 30t. Le cot de transports des centres
iA aux centres jB est prsent dans la matrice de transport.
i
j
A
B 1B 2B 3B 4B ia
1A 2 1 3 2 90
80 10 - -
2A 2 3 3 1 70
- 50 20 -
3A 3 3 2 1 50
- - 20 30
jb
80 60 40 30 210
Le procd du coin Nord-Ouest de dtermination de lasolution initiale de base consiste en suivantes. Dans le carr, quisappelle encore caisse, (1,1) du coin Nord-Ouestde la matrice detransport on passe la valeur 80 gale avec le plus petit entre 1a et
1b ainsi que )90,80min(11x . Vu que nous avons reparti la
quantit de produit ncessaire dans la premire colonne sepassent ,021x 031x . Dans la matrice de transport, dans ces
caisses crirons le symbole -. Les caisses dans lesquelles estpassce symbole sappellentles caisses libres.
Ensuite, fixons lattention sur 12x du coin haut - gauche du
tableau form par les colonnes 2B et 3B et procdons en mode
analogue comme pour 11x , ainsi prenons
1010,60min,min 11212 babx .
-
8/10/2019 Recherche Operationnelle Elements Cours DS
65/115
65
Vu que la quantit entire 901a a t repartie aux
centresB1etB2nous avons 0,0 1413 xx .
Il nous reste un tableau form des lignes A2, A3 et des
colonnes B2, B3 et B4. Pour ce tableau sapplique de nouveau leprocd dcrit:0,5070,50min 3222 xx .
On passe 40,20min23x 0,20 24x .
Enfin
2020,50min33x , 3030,30min34x .
La solution initiale de base est 8011x , 1012x , 5022x ,
2023x , 2033x , 3034x .La valeur de la fonction defficacit
est:
4503012022035031018021f
La dterminationde la solution initiale de base laide duprocd de llment minimale (du tableau, de la ligne ou de la
colonne) est faite en mode semblable, sauf que chaque fois lesvaleurs ne se passent pas dans le coin nord-ouest, mais dans les
caisses avec le cot minimal (du tableau, de la lignerespectivement colonne).
Par exemple, en utilisant le procd dlment minimaldans la ligne en problme de transport prcdent, on obtient letableau suivant :
i
j
A
B 1B 2B 3B 4B ia
1A 2 1 3 2 90
30 60 - -
2A 2 3 3 1 70
40 - - 30
3A 3 3 2 1 50
10 - 40 -
jb 80 60 40 30 210
-
8/10/2019 Recherche Operationnelle Elements Cours DS
66/115
66
On choisit dans chaque ligne llment ijc le plus petit et
on le reparti dans la caisse correspondante la plus petite quantitparmi les quantits disponibles ia et tels ncessaires
jiijj baxb ,min: . Dans la premire ligne llment le plus petitest 1
12c . On destinera pour 6060,90min,min 2112 bax .
Donc 022x , 032x . Dans A1 il reste encore 90-60-30t.
Chercherons dans la valeur de jc1 immdiatement suprieur de
12c . Cette valeur est donne par 21411 cc . On constate quon
peut prendre arbitrairement nimporte quelle delles. Par exemple,si on choisit la caisse (1,1), alors destinerons pour
11x la valeur 30
gale 80,6090min .Ensuite on procde en mode similaire avec les autres lignes
restes. On obtient la solution initiale de base suivante: 6012x ,
4021x , 3024x , 1031x , 4033x . La valeur de la fonction
devient: 3404021033014026013022f
Le procd de llment minimal dans la colonne estsemblable au procd de llment minimal dans la ligne, mais lesvaleurs jiij bax ,min sont dtermines en base de la valeur
minimale des lments ijc qui se trouvent dans chaque colonne.
Le rsultat dapplication de ce procd mne la solution de baseinitiale montredans le tableau suivant:
i
j
A
B 1B 2B 3B 4B ia
1A 2 1 3 2 90
80 10 - -
2A 2 3 3 1 70
- 50 - 20
3A 3 3 2 1 50
- - 40 -
jb 80 60 40 30 210
-
8/10/2019 Recherche Operationnelle Elements Cours DS
67/115
67
La valeur de la fonction defficacit est:4301014022015031018023f .
Le procd de llment minimal du tableau consiste enrpartition des quantits aux destinataires aprs le critre dlment
ijc minimal du tableau. Lapplication de ce procd donne une
solution de base initiale qui concide avec celle obtenue par leprocd de llment minimal dans la ligne ou avec celle indiquedans le tableau suivant:
i
j
AB 1B 2B 3B 4B ia
1A 2 1 3 2 90
30 60 - -
2A 2 3 3 1 70
50 - 20 -
3A 3 3 2 1 50
- - 20 30
jb 80 60 40 30 210
La valeur de la fonction defficacit sera :4= 2 30 + 1 60 + 2 50 + 3 20 + 2 20 + 1 30 = 350.
Les solutions de base initiales obtenues par les quatre
procds ne concide pas et350,430,340,450 4321 ffff .
Les rsultats obtenus pour le problme considr nepeuvent pas constituer une conclusion en avantage dutilisationdun ou dautre procd dcrit.
Observation:Dans lexemple suivant m = 3, n = 4. Par lesprocds prsentsplus haut nous avons obtenu m + n1 = 6desvaleurs strictement positives pour xij, et les autres m n(m + n 1) = 12 6 = 6 sont gales zro. On dmontre (voir, parexemple, [6]) que, en cas gnral, pour m centres de stockage et ncentres de destination laide des procds dcrits plus haut nous
-
8/10/2019 Recherche Operationnelle Elements Cours DS
68/115
68
pouvons dterminer au plus m + n 1 valeurs des inconnues xijstrictement plus grandes que zro. Ces variables sappellentvariables de base et dterminent une solution initiale de base. Decette solution initiale de base tabliepar lun des procds prvus,on peut passer une autre solution de base et ainsi de suite,jusquau moment o on obtient la solution optimale. Ensuitedcrirons la mthode appele mthode des potentiels qui est unevariante de lalgorithme simplexe.
5.3. Mthode des potentiels
Thorme 5.1. Soit njmixij ,2,1;,,2,1,*
unesolution optimale du problme de transport. Achaque ligne ide lamatrice de transport il correspond un nombre *iu et chaque
colonnej- un nombre *jv tant que sont satisfaites les relations:
.,...,2,1;,...,2,1
,0pour
,0pour
***
***
njmi
xcvu
xcvu
ijijji
ijijji
Dmonstration. Le problme de transport peut treconsidr comme un problme dual du problme deprogrammation linaire suivante :
n
j
jj
m
i
ii vbuag11
max
avec les restrictions .,...,2,1;,...,2,1, njmicvu ijji
Si njmivu ji ,,2,1;,,2,1,,**
est une solution
optimale du problme de plus haut alors, conformment authorme des cartes complmentaires (voir 4.2), la conditionncessaire et suffisante que, *ijx ,
*
iu et*
jv soient optimales est
donne par les relationsnjmixcvu ijijji ,,2,1;,2,1,0
*** .
-
8/10/2019 Recherche Operationnelle Elements Cours DS
69/115
69
Du fait que ** et ji vu sont des solutions admissibles pour le
problme dual suit quenjmicvu ijji ,,2,1;,2,1,0
**
les relations qui en ensemble avec les relations de plus hautdmontre le thorme.
Les grandeurs uii vjsappellentpotentielsdes centresAietBj.
Reprenons lexemple de 5.2 et analysons la solution initialede base obtenue par le procd du coin nord-ouest pour les casoptimal. Pour cela, au centre de consommation Bj , j=1,2,3,4 le
potentielvj.
i
j
A
B 1B 2B 3B 4B ia
1A 2 1 3 2 90
80 10 - -
2A 2 3 3 1 70
- 50 20 -
3A 3 3 2 1 50
- - 20 30
jb 80 60 40 30 210
Conformment au thorme dmontrplus haut pour les caissesoccupes nous avons:
.1
,2
,3
,3
,1
,2
43
33
32
22
21
11
vu
vu
vu
vu
vu
vu
-
8/10/2019 Recherche Operationnelle Elements Cours DS
70/115
70
Donc, pour dterminer les potentiels il faut rsoudre unsystme des six quations avec sept inconnues, qui ont une infinitde solutions. En prenant dans ce systme dquations, parexemple, 0
1
u , obtenons
0,1,1,2,1,2 433221 vvuuvv
Calculons les diffrences ui+ vj cijpour les caisses libres de lamatrice de transport:
pour la caisse (1,3): 021331 cvu ;
pour la caisse (1,4): 001441 cvu ;
pour la caisse