Documente Academic
Documente Profesional
Documente Cultură
CURSUL 12
CAPITOLUL 4
PROBLEME DE OPTIMIZARE IN RETELE DE TRANSPORT SI
DISTRIBUTIE
IMPORTANT: Suportul de curs al acestui capitol are are la baz lucrarea: Nica Vasile, Ciobanu Gh., Musta
Floare, Mrcine Virginia, Cercetri operaionale I - Programare liniar, Probleme de optimizare n reele
de transport i distribuie, Teoria jocurilor strategice Editura MATRIX ROM, Bucureti 1998.
ntr-o mare varietate de contexte se pune problema deplasrii unei cantiti Q ce poate fi materie,
energie, informaie, etc. din unele locuri numite surse n alte locuri numite destinaii, aceast deplasare
realizndu-se pe anumite rute de legtur. Unitile indivizibile ale cantitii Q care se deplaseaz de-alungul
rutelor se vor numi uniti de flux.
Pentru Cercetarea Operaional, problema enunat va prezenta interes numai dac respect
urmtoarele ipoteze:
a) cel puin o surs poate aproviziona mai multe destinaii i cel puin o destinaie poate primi uniti
de flux de la mai multe surse.
Rutele de legtur pot avea i alte puncte comune n afara surselor i destinaiilor, numite puncte
intermediare sau de tranzit. Nu sunt excluse legturile directe ntre surse sau ntre destinaii. n principiu, orice
rut poate fi parcurs n ambele sensuri, dar pot exista i rute cu sens unic.
C1 50 300 1
c11 2
100 F1 c12
c13
C2 3
120
c21
c22 100
300 F2 c23
C3 4 5
230
= surs (furnizor) 400 200
= destinaie (consumator)
a) b)
Figura 1.1.1
Ipoteza a) va fi ntotdeauna presupus n timp ce ipotezele b) i c) pot fiina separat sau simultan.
86
Probleme de optimizare n teele de transport i distribuie
Un produs omogen (de exemplu bere) se afl disponibil n localitile F 1, F2, ..., Fm n cantitile a1,
a2, ..., am i este cerut pentru consum n centrele C 1, C2, ..., Cn n cantitile b1, b2, ..., bn. Se presupune cunoscut
costul cij al transportului unei uniti de produs de la Fi la Cj. Se pune problema satisfacerii cererii n punctele
de consum la un cost total de transport minim.
Centrele furnizoare, centrele consumatoare, legturile directe ntre ele i costurile unitare de transport
sunt vizualizate de obicei printr-un graf orientat (ca n figura 1.1.1 a).
Evident, o condiie necesar i suficient pentru existena unei soluii a problemei formulate este ca
totalul cantitilor disponibile s acopere totalul cererilor:
m n
ai b j (1.2.1)
i 1 j 1
m
xij b j j 1,..., n (1.2.3)
i 1
condiiile de nenegativitate:
xij 0 1 1,..., m j 1,..., n
87
Probleme de optimizare n teele de transport i distribuie
Inegalitile (1.2.2) exprim cerina ca totalul livrrilor fiecrui furnizor s se ncadreze n disponibil;
inegalitile (1.2.3) arat c cererea fiecrui consumator trebuie s fie acoperit prin totalul cantitilor primite;
n fine, (1.2.4) este expresia costului total al transportului.
Vom spune c problema de transport (PT) este echilibrat dac:
m n
ai b j (1.2.5)
i 1 j 1
Se observ imediat c (1.2.5) atrage dup sine satisfacerea cu egalitate a restriciilor (1.2.2) i (1.2.5). Prin
urmare, modelul matematic al unei probleme de transport echilibrate este:
n x a i 1,..., m (1.2.6)
j 1 ij i
m
x ij b j j 1,..., n (1.2.7)
( PTE)i1
x ij 0
m n
(min) f c x
i 1 j 1
ij ij
Remarcm faptul c (PTE) este o problem de programare liniar n form standard, cu m + n restricii i mn
variabile.
Se arat uor c matricea A a coeficienilor sistemului de restricii din (PTE), care apare n tabelul
1.1.1, are rangul m + n - 1. Aceasta nseamn c n sistemul (1.2.6) - (1.2.7) putem elimina o ecuaie fr ca
mulimea soluiilor admisibile s se modifice. n consecin:
x11 ...x1j.. x1n ......... xi1 ...xij... xin .......... xm1 ...xmj... xmn
. . ..
1 1 ....1.. 1 0 ....0... 0 0 .....0... 0
.. .
i 0 ....0.. 0 1 ....1... 1 0 .....0... 0
. .
m 0 ....0.. 0 0 ....0... 0 1 .....1... 1
. .
1 1 ....0.. 0 1 ....0... 0 1 .....0... 0
. .
j 0 ....1.. 0 0 ....1... 0 0 .....1... 0
.. .
n 0 ....0.. 1 0 ....0... 1 0 .....0... 1
.. .
Tabelul 1.1.1
Orice soluie de baz a problemei (PTE) are cel mult m + n - 1 componente nenule.
O soluie de baz a problemei (PTE) se va numi nedegenerat dac are exact m + n - 1 componente
nenule; altminteri, ea se va zice degenerat.
88
Probleme de optimizare n teele de transport i distribuie
n continuare, vom presupune c orice soluie a problemei (PTE) este nedegenerat. Cazul n care
(PTE) are i soluii degenerate va fi analizat n seciunea 4.2.5.
Observaie: Orice soluie x ( xij ) a PTE va fi nscris ntr-un tabel cu m rnduri, corepunztoare
furnizorilor i n coloane corespunztoare consumatorilor. Tabelul va avea mn celule sau rute; celula din rndul
i i coloana j, notat (Fi ,Cj) sau simplu (i, j), va conine componentaxij a soluieix.
C1 C2 C3 C4 Disponibil
F1 3 3 1 4 15
F2 3 4 3 6 17
F3 4 3 6 2 18
Necesar 10 12 9 19 50
Tabelul 1.2.1
Modelul matematic:
x11 x12 x13 x14 15
x21 x22 x23 x24 17
x31 x32 x33 x34 18
x11 x21 x31 10
x12 x22 x32 12
x13 x23 x33 9
x14 x24 x34 19
xij 0
(min) f 3 x 3x x 4 x 3 x 4 x
11 12 13 14 21 22
3x23 6 x24 4 x31 3x32 6 x33 2 x34
C1
F1
Toate legturile de la fiecare furnizor Fi la fiecare
consumator Cj pot fi vizualizate cu ajutorul desenului C2
alturat numit, aa cum tim, GRAF. Aa cum se F2
observ, furnizorii i consumatorii sunt reprezentai cu
ajutorul unor noduri unite prin muchii de legtur. C3
F3
C4
Dac anulm n sistemul restriciilor toate variabilele xij cu
Obinerea unei soluii nedegenerate a PTE nu presupune utilizarea tuturor muchiilor de legtur dintre
furnizorii Fi i consumatorii Cj. Deproprietatea
exemplu, ncgraful
muchiile selectm n F
corespunztoare
anterior, i,Cj nu vor fi utilizate
scopul transportului bunurilor
(desenate
ntre Fi i Cj muchiile desenate cu linie cu i
continu linie punctat),
obinem rezult
n acest sistemuldeimai
fel desenul soluia:
jos:
C1
x11 x13 15
F1 x x 17 x11 10
22 24
C2 x33 x34 18 x13 5
F2
x11 10 x22 12 C1 C2 C3 C4
C3 x 12 x 24 5 F1 10 5
22 F2 12 5
F3 x13 x33 9 x 33 4
F3
4 14 89
C4 x24 x34 19 x 34 14
Probleme de optimizare n teele de transport i distribuie
Fiind o problem de programare liniar, PTE se poate rezolva cu ajutorul metodei simplex. Totui,
algoritmul simplex va avea n acest caz o descriere specific datorit unei proprieti importante pe care o are
matricea A a coeficienilor PTE. ntr-adevr, se poate demonstra c orice determinant extras din A are
valoarea -1 , 0 sau 1. n consecin, dac disponibilele a1, a2,..., am i cererile b1, b2,..., bn sunt exprimate prin
numere ntregi, orice soluie de baz va avea componentele ntregi i astfel PTE va avea cel puin o soluie
optim cu componente ntregi.
Toate metodele de generare a unei soluii iniiale pentru PTE au la baz procedura de mai sus. Ele se
deosebesc prin modul de alegere a rutelor ( Fi1 , C j1 ) , ( Fi2 , C j2 ) , ... .Astfel:
1) n metoda colului de nord - vest (N - V) , prima rut aleas este (F1,C1). Celelalte se aleg astfel
nct 1 i1 i 2 i 3 i 1 j1 j2 j3
90
Probleme de optimizare n teele de transport i distribuie
2) n metoda costului (unitar de transport) minim prima rut ( Fi1 , C j1 ) aleas corespunde celui
mai mic cost unitar de transport. La etapa k, ruta ( Fik , C jk ) corespunde celui mai mic cost unitar de transport
de pe rutele nc neblocate la aceast etap.
3) Metoda diferenelor maxime (Vogel) este o metod mai elaborat. Presupunem costurile unitare
de transport nscrise ntr-un tabel cu m rnduri i n coloane.
Pe fiecare rnd i pe fiecare coloan a acestui tabel se calculeaz diferena dintre cel mai mic
cost de transport i cel imediat superior; dac costul minim nu este unic, diferena se va lua egal cu zero.
Se identific rndul sau coloana cu cea mai mare diferen i aici, n ruta de cost minim, se
execut prima alocare din algoritmul precedent.
Se refac diferenele pe rndurile i coloanele neblocate folosindu-se numai costuri
"neblocate", dup care se reia procedura de alocare.
Exemplul 2.1.1 Vom genera o soluie de baz iniial pentru problema de transport echilibrat din
exemplul 1.4.1, folosind pe rnd cele trei metode sus amintite.
(4) (1)
6 9
(3) (5) (6)
10 6 1 Costul asociat: f = 123 u.m.
(2)
18
Tabelul 2.1.2
3) Prin metoda diferenelor maxime se obine soluia:
91
Probleme de optimizare n teele de transport i distribuie
CURSUL 13
cu restriciile:
ui v j cij i 1, , m ; j 1, , n (2.2.1)
Teorema ecarturilor complementare (cap.I, teorema 2.3.4) arat c soluia x este optim dac i
numai dac exist ( u , v ) ( u1 , , um , v1 , , v n ) care satisfac restriciile (2.2.1) ale dualei (Q), astfel nct
( x , u , v ) s verifice relaiile:
S notm cu I mulimea rutelor (Fi,Cj) (sau mai simplu (i, j)) cu proprietatea c xij 0 . Deoarece soluia x a
fost presupus nedegenerat, mulimea I are m + n - 1 elemente. Din (2.2.2) rezult c, pentru a fi optim,
soluia dual (u,v ) de mai sus trebuie s verifice relaiile:
ui v j cij () (i , j ) I (2.2.3)
S remarcm c (2.2.3) este un sistem liniar cu m + n - 1 ecuaii i m + n variabile. Deoarece I se identific cu
un arbore maximal n graful G asociat PTE (a se vedea Capitolul 1!), sistemul (2.2.3) este ntotdeauna
compatibil nedeterminat soluiile sale fiind de forma:
ui ui0 k i 1, , m ; v j v 0j k j 1, , n (2.2.4)
unde k este un parametru iar (u0, v0) = ( u10 , , um0 , v10 , , v n0 ) este o soluie particular a sistemului (2.2.3).
Rezult c valorile expresiilor:
ij ui v j cij (2.2.5)
Din consideraiile de mai sus deducem urmtorul criteriu de recunoatere a optimalitii soluiei x:
Determinm o soluie particular ( u,v ) a sistemului (2.2.3) i calculm ij =ui + vj - cij pentru
toate cuplurile (i, j)I (pentru (i, j)I este evident c ij = 0).
Dac toi ij calculai sunt 0, atunci (u,v ) este o soluie a dualei (Q) care mpreun cux
satisface condiiile de ecart complementar (2.2.2) i, n consecin,x este o soluie optim a PTE.
Exemplul 2.2.1 Vom testa optimalitatea soluiei determinate n exemplul 2.1.1 prin metoda
diferenelor maxime.
92
Probleme de optimizare n teele de transport i distribuie
v2 = 3 u2 = 1 v1 = 2
u1 = 0 v3 = 1
v4 = 4 u3 = -2
Figura 2.2.1
Este interesant de urmrit rezolvarea sistemului pe graful (arborele) asociat soluieix:
C1 v1 = 2
F1
u1 = 0
C2 v2 = 3
F2
u2 = 1
C3 v3 = 1
F3
u3 = -2
C4 v4 = 4
Figura 2.2.2
Calculm mrimile ij ui v j cij numai pentru rutele "neocupate" adic pentru rutele (i,j) I
(Pentru cele "ocupate", adic pentru rutele (i,j) I, tim c ij = 0; n tabelul 2.2.3 aceste zerouri au fost
nlocuite cu asteriscuri pentru a le deosebi de eventualele mrimi ij nule, asociate unor rute neocupate.
Prezena unor asemenea mrimi n cazul n care soluia curent este optim arat c aceasta nu este unic! -
vezi observaia 6) din Cap. 3, seciunea 3.4.2 i seciunea urmtoare 4.2.3 din care va rezulta c mrimile ij se
identific cu costurile reduse din programarea liniar general.)
93
Probleme de optimizare n teele de transport i distribuie
v1 = 2 v2 = 3 v3 =1 v4 =4
u1 = 0 -1 * * *
u2 = 1 * * -1 -1
u3 =-2 -4 -2 -7 *
Tabelul 2.2.3
Constatm c soluia testat verific criteriul de optimalitate.
Vom construi o soluie admisibil de baz x mai bun dect x n sensul c x implic un cost total de
transport mai mic.
Adugm muchia Fi0 , C j0 la graful - arbore H corespunztor soluiei x . Conform unei proprieti
a arborilor se va forma un unic ciclu. Deoarece arborele H mpreun cu muchia adugat fac parte din graful
asociat PTE care este bipartit, ciclul format are un numr par de muchii. S parcurgem muchiile ciclului ntr-
unul din cele dou sensuri posibile, plecnd de exemplu din nodul Fi0 :
~ ~
Fie > 0. Construim o soluie variabil x ( xij ) a PTE punnd:
~
x i0 j0 , ~
xi1 j0 xi1 j0 , ~
xi1 j1 xi1 j1 , , ~
x i p j p xi p j p , ~
xi0 j p xi0 j p
~
xij xij in rest (2.3.2)
Deoarece soluia x este presupus nedegenerat, pentru suficient de mic, (2.3.2) este o soluie admisibil a
PTE. Costul asociat soluiei ~
x va diferi de costul asociat soluiei x prin valoarea:
f f ( ~
x ) f ( x ) (ci0 j0 ci1 j0 ci1 j1 ci2 j1 ci p j p ci0 j p )
[ci0 j0 (ui1 v j0 ) (ui1 v j1 ) (ui2 v j1 ) (ui p v j p ) (ui0 v j p )]
(ci0 j0 ui0 v j0 ) i0 j0 0 de unde:
f (~
x ) f ( x ) i0 j0 (2.3.3)
0 min xi1 j0 , xi2 j1 , , xi0 j p x i s j s 1 (2.3.4)
94
Probleme de optimizare n teele de transport i distribuie
H Fi0 , C j0 ndeprtnd muchia Fis , C js 1 .
Exemplul 2.3.1 Considerm problema de transport echilibrat din exemplul 1.4.1 i soluia x
generat n exemplul 2.1.1 prin metoda colului N-V. Aplicm acestei soluii testul de optimalitate din
seciunea precedent.
Sistemul ui + vj = cij (i,j) I
10 5 u1 +v1 = 3 u1 +v2 = 3
7 9 `1 u2 + v2 = 4 u2 +v3 = 3 u2 + v4 = 6
18 u3 + v4 = 2
Tabelele 2.3.1 -2.3.2
Determinm o soluie particular a sistemului lund de exemplu u2 = 0, dup care calculm mrimile
ij ui v j cij pentru rutele "neocupate":
v1 = 4 v2 = 4 v3 = 3 v4 = 6
u1 = -1 * * 1 1 Tabelul 2.3.3
u2 = 0 1 * * *
u3 = -4 -4 -3 -7 * Rutele "ocupate au fost marcate cu asteriscuri!
Deoarece exist i mrimi ij pozitive, soluia testat nu este optim. Considerm ruta neocupat (F 1,C3) n
care 13 = 1 > 0. Adugm la arborele H al soluiei x muchia {F1,C3}:
x12 = 5 -
C1 F1 C2
F1 Rezult ciclul:
C2 x22 = 7 + x13 =
F2 F2 x23 = 9 - C3
C3
Acest ciclu se poate pune n eviden i n tabelul 2.3.1 al soluiei x printr-un contur poligonal care ncepe
din celula (1,3) i "cotete" n unghi drept prin celulele ocupate (2,3) , (2,2) , (1,2) - vezi tabelul 2.3.4.
10 5-
- +
7+ 9- 1
+ -
18
Tabelul 2.3.4
Conturul va avea un numr par de "coluri" deoarece acestea corespund muchiilor ciclului.
n tabelul 2.3.4 apare n fapt soluia variabil ~
x definit n (2.3.2). Costul asociat al transportului,
calculat cu relaia (2.3.3) are valoarea:
f (~
x ) f ( x ) 13 143 1
95
Probleme de optimizare n teele de transport i distribuie
Pentru determinarea comod a lui 0 din (2.3.4) putem proceda astfel: marcm succesiv colurile conturului
poligonal cu + i ncepnd cu + n celula (1,3). Atunci 0 este exact minimul componentelor soluiei x
care sunt situate n celulele marcate cu : 0 x12 5 . Noua soluie x apare n tabelul (2.3.5):
C1
F1
10 5 i corespunde arborelui H dedus din
C2
12 4 1 H{F1,C3} eliminnd muchia {F1,C2}:
18 F2
Tabelul 2.3.5
C3
F3
C4
Invitm cititorul s repete calculele fcute n acest exemplu plecnd de la soluia din tabelul 2.3.5.
2) (Test de optimalitate) Dac toi ij 0 soluia curent x este optim. n caz contrar:
3) Se identific ruta (i0,j0) cu cel mai mare i0 j0 pozitiv. n tabelul soluiei x se identific unicul
contur poligonal care ncepe i sfrete n celula (i0, j0) i cotete n unghi drept numai prin celule ocupate
(acest contur corespunde ciclului format n arborele H asociat soluiei x , dup adugarea muchiei {Fi0 , C j0 }
!). Se marcheaz alternativ cu + i colurile ciclului. Se calculeaz 0 ca fiind minimul componentelor
xij aflate n celulele marcate cu .
4) (Construcia unei noi soluii) Se adun 0 la valorile xij aflate n celulele marcate cu + i se
scade acelai 0 din valorile xij nscrise n celulele marcate cu . Valorile xij aflate n celulele nemarcate
cu + sau nu se modific. Costul asociat soluiei x rezultate are valoarea:
f ( x ) f ( x ) 0 i0 j0 (2.4.1)
96
Probleme de optimizare n teele de transport i distribuie
n ceea ce privete convergena algoritmului, dac toate soluiile de baz ale PTE sunt nedegenerate,
algoritmul descris se termin ntr-un numr finit de iteraii cu determinarea unei soluii optime.
ntr-adevr, formula (2.4.1) arat c la fiecare iteraie valoarea funciei obiectiv descrete semnificativ.
Cum numrul soluiilor de baz admisibile este finit, algoritmul se oprete obligatoriu ntr-un numr finit de
pai, ultima soluie testat fiind optim. (Cititorul atent va observa desigur c afirmaia precedent i
justificarea ei constituie n fapt o simpl reluare a teoremei de convergen din cap. 1 i a demonstraiei
acesteia!)
CURSUL 14
4.2.5. Degenerare
Algoritmul de rezolvare a PTE i convergena acestuia au fost prezentate n ipoteza c toate soluiile
admisibile de baz ale problemei sunt nedegenerate (soluia are exact m + n - 1 componente nenule). ansa
ca o problem de transport s aibe soluii degenerate este ns foarte mare i n plus nu avem nici un criteriu
pe baza cruia s recunoatem n prealabil existena acestor soluii. Este important s observm c:
Dac n rezolvarea unei PTE am pornit cu o soluie nedegenerat i apoi toate soluiile construite au
fost de asemenea nedegenerate, procesul iterativ este necesarmente finit.
n virtutea acestei observaii, va fi important s tim cum procedm dac soluia de start este
degenerat sau dac degenerarea apare pe parcursul aplicrii algoritmului. n principiu, evitarea degenerrii se
face prin uoara perturbare a unora din datele problemei de aa manier nct noua problem s aibe numai
soluii de baz nedegenerate! Soluiile celor dou probleme vor diferi cu puin unele de altele astfel c, dup
rezolvarea problemei perturbate prin revenire la problema iniial se obine soluia optim a acesteia din
urm. Am considerat c este mai simplu i mai bine s explicm tehnica de perturbare pe cteva exemple
particulare; n orice alt situaie similar se va proceda absolut analog.
Exemplul 2.5.1 Considerm problema de transport echilibrat definit de datele din tabelul 2.5.1:
C1 C2 C3 C4 Disponibil
F1 4 2 5 4 100
F2 6 7 3 8 100
F3 3 5 4 5 100
Necesar 110 90 50 50 300
Tabelul 2.5.1
n tabelul 2.5.2 este dat soluia generat prin metoda diferenelor maxime:
(4) (1)
10 90
(2) (5)
50 50
(3)
100
Tabelul 2.5.2
97
Probleme de optimizare n teele de transport i distribuie
Soluia este degenerat deoarece are 5 < 6 = 3 +4 - 1 componente nenule. Aceast situaie se datoreaz
faptului c la alocarea a 4-a disponibilul curent al furnizorului F 1 a fost egal cu necesarul curent al
consumatorului C1 ( =10) i ca urmare, dup efectuarea alocrii, att rndul 1 ct i coloana 1 au fost blocate!
Pentru a obine o soluie nedegenerat perturbm puin datele problemei originale n urmtorul mod. Fie > 0
un numr foarte mic.
Mrim cu necesarul consumatorului C1 acesta devenind b1=110+ .
Pentru reechilibrarea problemei mrim cu acelai disponibilul unui furnizor activ (adic cu
disponibilul curent nenul) altul dect F1; de exemplu modificm disponibilul lui F2: a2 = 100 + .
Relum alocarea a 4-a:
x11 = min(10 + , 10) = 10
Actualizm:
b1 a1 0
Continund aplicarea metodei diferenelor maxime, rezult n final soluia nedegenerat:
10 (4) 90 (1)
(5) 50 (2)
50 (6)
100 (3)
Tabelul 2.5.3
dar, pentru problema perturbat!!
Aplicm acestei soluii algoritmul de rezolvare a PTE:
v1 = 0 v2 = -2 v3 = -3 v4 = 2
u1 =4 * * -4 2 _ +
10 90
u2 =6 * -3 * * + _
5 50
0
u3=3 * -4 -4 0 100
Noua soluie, notat x , este optim. Deoarece 34 = 0, problema mai are o soluie optim de baz x care se
obine folosind conturul poligonal asociat n tabelul 2.5.7 celulei (3,4):
90 10
50 50
60 40
Tabelul 2.5.9
n acord cu teoria general a programrii liniare, problema dat va avea o infinitate de soluii optime de forma:
x = x + x 90 10
98
Probleme de optimizare n teele de transport i distribuie
unde + = 1 10 +50 50 40
100 +60 40
Tabelul 2.5.10
Exempul 2.5.2 S rezolvm acum problema:
C1 C2 C3 C4 Disponibil
F1 4 2 5 4 110
F2 6 7 3 8 80
F3 3 5 4 5 90
Necesar 120 90 50 20 280
Tabelul 2.5.11
pornind de la soluia de baz nedegenerat din tabelul 2.5.12, determinat prin metoda diferenelor maxime.
(4) (1)
20 90 90 20
- +
10 (5)
50 (2)
20 (6)
30 50
+ -
(3)
90 90
Propunem cititorului s verifice c aceast soluie nu este optim i c 14 = 2 > 0. n tabelul 2.5.12 este
indicat i conturul poligonal asociat rutei (1,4). Marcnd succesiv colurile conturului cu + i se
constat c minimul 0 al valorilor numerice din celulele marcate cu nu este unic: 0 = x11 = x24 = 20.
Aceasta face ca noua soluie, indicat n tabelul 2.5.13, s fie degenerat. Pentru a evita degenerarea,
modificm puin valoarea uneia din variabilele x11 sau x24; lum de exemplu: x11 = 20 + , ceea ce nseamn s
considerm a1 = 110 + i b1 = 120 + . De aceast dat minimul 0 = x24 = 20 este unic, astfel c dup
redistribuirea sa n colurile conturului poligonal indicat se obine soluia nedegenerat din tabelul 2.5.14:
v1 = 0 v2 = -2 v3 = -3 v4 = 0
90 20 u1 = 4 * * -4 *
30 50 u2 = 6 * -3 * -2
90 u3 = 3 * -4 -4 -2
Tabelul 2.5.14 Tabelul 2.5.15
dar, a problemei modificate! Din tabelul alturat 2.5.15 rezult c soluia construit este optim. Lund = 0
obinem soluia optim a problemei iniiale care este deja afiat n tabelul 2.5.13.
n dezvoltrile teoretice din seciunile precedente condiia de echilibru (1.2.5) a fost esenial. n
foarte multe contexte practice ns, aceast condiie nu este ndeplinit De asemenea, este posibil ca unele
ipoteze sau constante ale problemei de transport s se modifice de la o perioad la alta antrennd schimbri de
amploare mai mic sau mai mare n soluia optim. n fine, nu puine sunt situaiile concrete ce nu implic
"transporturi" n sensul strict al cuvntului, dar care pot fi modelate ca probleme de transport.
n cazul n care n problema general de transport (seciunea 1.2) totalul cantitilor disponibile la
furnizori ntrece totalul cererilor consumatorilor:
m n
ai b j
i 1 j i
99
Probleme de optimizare n teele de transport i distribuie
ne putem reduce la o problem de transport echilibrat introducnd un consumator fictiv Cn +1 a crui cerere
s fie egal cu excesul de disponibil:
m n
bn 1 ai b j
i 1 j 1
Costurile unitare de transport de la furnizorii reali ctre C n +1 se iau egale cu zero. Dup rezolvarea problemei
echilibrate, cantitile livrate consumatorului fictiv se vor interpreta drept cantiti rmase n stocurile
furnizorilor.
Dac totalul cantitilor disponibile este mai mic dect cererea total:
m n
ai b j
i 1 j i
problema de transport, aa cum a fost ea definit n seciunea 1.2, este incompatibil (vezi inegalitatea
(1.2.1)). Putem ncerca o rezolvare parial a cererilor, introducnd un furnizor fictiv Fm+1 al crui
disponibil s fie egal cu cererea neacoperit:
n m
a m 1 b aj i
j 1 i 1
Din nou, costurile unitare de transport pe rutele ce leag acest furnizor de consumatorii reali se iau egale cu
zero. Obinem o problem de transport echilibrat, n a crei soluie optim, cantitile livrate de furnizorul
fictiv se vor interpreta drept cereri neacoperite.
Mult mai aproape de realitate ni se pare urmtoarea abordare. S presupunem c furnizorii F 1, F2,...,
Fm sunt bazine carbonifere iar consumatorii C 1, C2,..., Cn sunt termocentrale. S admitem c ntr-o perioad
normal de lucru (s zicem o lun) cantitatea de crbune Q necesar termocentralelor, reprezentat prin suma
b1+b2+...+bn a cererilor este egal cu cantitatea total de crbune posibil de livrat de ctre centrele miniere,
cantitate reprezentat prin suma a1+a2+...+am. Cunoscnd costurile unitare de transport ale crbunelui pe calea
ferat sau cu alte mijloace (naval, auto) se poate determina un program de satisfacere a necesarului de crbune
al termocentralelor care s implice un cost total minim. S presupunem c n luna urmtoare sunt anunate
o serie de aciuni greviste la unele centre miniere. Este posibil ca nu toate sindicatele miniere din acelai
bazin carbonifer s adere la grev ceea ce face ca producia de crbune s scad ntr-o msur mai mic sau
mai mare. Fie a1 , a 2 ,...., a m produciile lunare n condiii de criz i Q< Q suma acestora.
ntr-o asemenea situaie critic este mai logic ca fiecare termocentral s primeasc o parte
proporional cu cererea sa n condiii normale de aprovizionare, adic:
b1 b2 b
n ,
b1 b2 bn
b1, b2 ,..., bn fiind cantitile ce urmeaz a fi primite n situaia de criz. Noile cantiti se pot deduce uor,
b j
observnd c fiecare raport este egal cu:
bj
b1 b2 bn a1 a 2 a m Q
b1 b2 bn a1 a 2 a m Q
Q
de unde: b j bj j 1, , n .
Q
O dat stabilite cantitile bi avem o problem de transport echilibrat pe care o rezolvm cu algoritmul
descris.
100
Probleme de optimizare n teele de transport i distribuie
Exemplul 3.1.1 Patru termocentrale C1, C2, C3, C4 se aprovizioneaz cu crbune de la trei mine F1, F2,
F3. Necesarul lunar al termocentralelor, produciile lunare ale minelor i costurile transportului unei uniti
fizice de crbune (1000 t.) pe diferitele rute sunt date n tabelul 3.1.1
C1 C2 C3 C4 Disponibil
F1 3 2 1 5 120
F2 4 3 7 2 180
F3 3 3 5 6 200
Necesar 100 110 140 150 500
Tabelul 3.1.1
Cu metoda diferenelor maxime, se obine direct programul optim de aprovizionare din tabelul 3.1.2. Rutele
utilizate n acest program sunt evideniate n figura alturat.
F1 120
F2 F3
120 30
30 150 100
80
20 150
100 80 20
Tabelul 3.1.2 C1 C2 C3 C4
C1 C2 C3 C4 F1 F2 F3
100
F1 100
F2 120 20
110
120
F3 20 110
C1 C2 C3 C4
F4 80 40 30
Tabelul 3.1.4
C1 C2 C3 C4 F1 F2 F3
100
F1 100
F2 120 100
30
120
C1 C2 C3 C4
101
Probleme de optimizare n teele de transport i distribuie
F3 100 30
F4 80 40 30
Tabelul 3.1.5
2 98 F1 98 F2 F3
15
15 105 2
70 60 70
60
105
C1 C2 C3 C4
ntruct disponibilul de personal este mai mare dect cererea, vom introduce o "fabric fictiv" VI a
crei cerere s fie de 374-314 = 60 noi angajai. Obinem o problem echilibrat de transport cu datele din
tabelul 3.1.6 al crei obiectiv este minimizarea numrului total de persoane km.
Deoarece pe rutele care leag oraele A, B, C de "fabrica" VI nu vor avea loc transporturi de personal,
costurile unitare au fost luate egale cu zero.
I II III IV V VI Disponibil
A 6 2 2 6 3 0 120
B 14 9 4 5 3 0 100
C 10 4 11 3 4 0 154
Cerere 45 74 50 82 63 60 374
Tabelul 3.1.6
Aplicnd algoritmul de rezolvare descris n seciunea 2.4 se obine urmtorul program posibil de
angajri (vezi tabelul 3.1.7).Toi cei 120 de candidai din oraul A vor fi angajai: 45 la fabrica I, 62 la fabrica
II i restul la fabrica III. la fel, candidaii din B vor fi angajai n totalitate: 37 la fabrica III i 63 la fabrica V.
Din C vor fi acceptate numai 94 de oferte din cele 154 disponibile adic 61%. Rezult un total (minim) de
1051 oameni km transportai pentru care firma trebuie s plteasc zilnic 12612 u.m.
I II III IV V VI
A 45 62 13
B 37 63
C 12 82 60
102
Probleme de optimizare n teele de transport i distribuie
45 74 50 82 63
Tabelul 3.1.7
Conducerea firmei este de prere c adoptarea acestui program ar creea o imagine nefavorabil firmei
pe piaa forei de munc prin "discriminarea" potenialilor lucrtori din C fa de cei din A sau B i decide s
examineze i alte variante. Astfel, pentru a nu apare ca "incorect" fa de candidaii poteniali dintr-un ora
sau altul, s-a decis ca surplusul de 60 de oferte ce nu vor putea fi acceptate s fie repartizat n mod egal ntre
cele trei orae, adic 20 de fiecare. Firma dorete s tie care va fi efectul acestei hotrri asupra cheltuielilor
cu transportul noilor angajai.
Relum problema fixnd numrul de oferte acceptabile la 120 - 20 = 100 pentru oraul A, 100 - 20 =
80 pentru B i 154 - 20 = 134 pentru C. (total 314). Rezult soluia din tabelul 3.1.8.
I II III IV V Conform acesteia, numrul total de persoanekm transportai va
A 45 22 33 crete la 1087, implicnd cheltuieli zilnice n valoare de 13044
B 17 63 u.m., cu 3,43 % mai mari dect n varianta studiat anterior.
C 52 82 Noul program satisface oferta de for de munc n proporie de
Tabelul 3.1.8 83,3 % pentru A, 80 % pentru B i 87 % pentru C.
Plecnd de la ultima soluie, conducerea firmei dorete s cunoasc ce implicaii ar putea avea asupra
cheltuielilor de transport satisfacerea ofertelor n aceeai proporie.
Notnd cu a1, a2, a3 volumul ofertelor acceptabile din A, B, repectiv C este necesar ca:
a1 a a a1 a 2 a 3 314
2 3
120 100 154 120 100 154 374
din care rezult: a1 = 101 , a2 = 84 , a3 = 129. Cu noile date se obine programul:
I II III IV V
A 45 27 29 Soluia gsit implic 1089 oameni km de transportat zilnic la
B 21 63 un cost de 13068 u.m., cu 3,6 % mai mare dect n prima
variant.
C 47 82
Tabelul 3.1.9
Firete, n adoptarea deciziei asupra variantei finale a programului de noi angajri, conducerea firmei
poate s in seama i de alte cerine care nu au fost avute n vedere n studiul ntreprins. n consecin,
soluiile sintetizate n tabelele 3.1.7 , 3.1.8 i 3.1.9 trebuie considerate ca simple "scenarii" menite s ajute
factorii decizionali n luarea unei hotrri ct mai bune!
103
Probleme de optimizare n teele de transport i distribuie
Deoarece 23 = M - 7 > 0, soluia curent nu mai este optim; ea se mbunte te folosind conturul
poligonal indicat.
Noul program de transport, pus n eviden n tabelul 3.2.3 120
nu mai utilizeaz ruta blocat (F3,C3) i ca urmare costul su crete, 10 20 150
ajungnd la 1190 u.m. 100 100
Tabelul 3.2.3
Exemplul 3.2.2 Vom studia acum o problem de transport "parametric care extinde ntr-un fel
consideraiile anterioare. Relum problema aprovizionrii cu crbune a termocentralelor din exemplul
precedent (cu datele din tabelul 3.1.1). S presupunem c pentru transportul crbunelui de la mina F 1 la
termocentrala C3 exist mai multe variante ce pot fi folosite ntr-o lun sau alta n funcie de programul de
ntreinere, reparare i modernizare a reelei de ci ferate. Posibilele schimbri ale traseului au un efect direct
asupra costului unitar de transport c13 = 1 luat iniial n calcul. Ne propunem s studiem efectul pe care l are
variaia costului c13 asupra programului optim de transport i a costului total aferent. Pentru aceasta,
considerm soluia optim determinat n cazul particular c13 = 1 (vezi tabelul 3.1.2) i recalculm mrimile
ij lund c13 = 0 variabil.
v1= 3 v2 =3 v3 =5 v4 =2
u1= - 5 120 -5 -4 * -8
u2 = 0 30 150 -1 * -2 *
u3 = 0 100 80 20 * * * -4
Tabelele 3.2.4 - 3.2.5
Condiia de optimalitate ij 0 conduce la concluzia c atta timp ct c13 4 programul optim de transport
este cel afiat n tabelul 3.1.2 (sau 3.2.4) cu costul total f = 1030 + 120c13.
Dac c13 depete "cu puin" 4 din tabelul 3.2.5 rezult 12 > 0 i soluia din tabelul alturat nu mai
este optim. Folosind conturul poligonal asociat rutei (1,2) - indicat n tabel - rezult soluia din tabelul 3.2.6
v1=3 v2=7- v3=5 v4=6- F1 F2 F3
40
80 40 30
u1=-5
u2 =-4 30 150 100
80
100 150
u3=0 100 100 C1 C2 C3 C4
Tabelul 3.2.6
Testarea optimalitii acestei soluii este fcut n tabelul 3.2.7 folosind valorile ui , v j nscrise la stnga i
deasupra tabelului 3.2.6. Condiia ij 0 arat c soluia gsit este optim atta timp ct 4 c13 5 . Costul
asociat are valoarea 1350 + 40c13 u.m.
-5 * * -4 Pentru c13 > 5 avem 11 = 21 < 0.Folosind conturul poligonal asociat rutei
-5 * -6 * (1,1) se gsete soluia din tabelul 3.2.8 al crei cost este de 1550 u.m.
* 4- * -
Tabelul 3.2.7
F1 F2 F3
40 80 30
30 150 40 60
80
140 150
60 140
Tabelul 3.2.8 C1 C2 C3 C4
Se observ c pe msur ce costul unitar c13 crete, ruta (F1,C3) este folosit din ce n ce mai puin pn cnd
este abandonat.
Dei nu implic transporturi fizice unele probleme pot fi aduse la formatul problemei de transport.
Exemplul 3.3.1 O firm specializat n producerea de echipament electric are de expediat un numr
de generatoare la sfritul lunilor Ianuarie, Februarie i Martie. n fiecare lun, firma produce, n regim normal
104
Probleme de optimizare n teele de transport i distribuie
de lucru, un anumit numr de generatoare. Dac necesitile o impun, prin organizarea unr schimburi
prelungite, firma poate produce i peste plafoanele normale dar la un cost mai ridicat.
Luna Ianuarie Februarie Martie
Nivelul cererii (buc.) 8 6 12
Volumul produciei n regim normal de lucru (buc.) 7 7 7
Volumul produciei suplimentare (buc.) 4 4 5
Costul unui generator din producia normal (u.m.) 40 40 50
Costul unui generator din producia suplimentar (u.m.) 50 60 80
Tabelul 3.3.1
Dup cum se vede, n luna Martie, cnd cererea este mai mare i costurile de producie sunt mai mari,
ca urmare a unor tendine inflaioniste ce pot fi previzionate din vreme: creteri planificate ale salariilor sau
creterea preurilor la materiile prime.
Deoarece costurile de producie nu sunt constante, firma va fi interesat n a produce mai mult n
lunile n care costurile sunt mai mici formnd astfel un stoc de produse finite din care s acopere, cel puin n
parte, cererea din lunile n care costurile sunt mai mari. Pentru fiecare generator expediat n alt lun dect cea
n care a fost produs, exist un cost suplimentar de stocare de 10 u.m. pe lun.
Obiectivul urmrit este elaborarea unui program de fabricaie pentru satisfacerea comenzilor la un
cost total de producie i stocare minim.
Pentru a formula o problem de transport trebuie s identificm mai nti sursele i destinaiile. n
fiecare lun un generator poate fi produs n dou moduri: n timpul normal de lucru sau peste program; vor
exista deci 23 = 6 surse ale cror disponibile sunt nivelele de producie corespunztoare. Astfel, sursa
Ianuarie-producie normal are un disponibil de 7 buci n timp ce sursa Martie-producie
suplimentar are un disponibil de 5 buci. Destinaiile se identific cu sfriturile celor trei luni cnd
cererile trebuie acoperite.
ntre cele 6 surse i 3 destinaii se creeaz 63 = 18 legturi (rute); fiecare indic luna n care este
produs un generator, modul n care acesta este produs (n regim normal de lucru sau peste program) i luna
n care este expediat. Din cele 18 legturi, 6 vor fi blocate deoarece exprim un nonsens: livrarea unui produs
finit ntr-o lun anterioar celei n care a fost fabricat!
Costurile unitare de transport pe rutele neblocate sunt n fapt costurile unitare de producie la care se
adaug eventualele cheltuieli de stocare. Astfel, pe ruta Ianuarie-producie suplimentar Martie costul
unitar de transport va fi egal cu costul fabricrii unui generator peste nivelul produciei normale din Ianuarie la
care se adaug costul stocrii pe dou luni, adic 50+210 = 70 u.m.
Am obinut o problem de transport ale crei date sunt prezentate n tabelul 3.3.2.
105
Probleme de optimizare n teele de transport i distribuie
Tabelul 3.3.2
Deoarece oferta total ntrece cererea total (34 > 26) este necesar s echilibrm problema
introducnd un consumator fictiv care s preia diferena 34 - 26 = 8 buc.
Invitm cititorul s rezolve problema echilibrat, avertizndu-l c aceasta are mai multe soluii
optime! Una dintre ele este interpretat n figura 3.3.1; costul asociat este de 1250 u.m.
Ianuarie
Februarie 3
Februarie
6
Prod. normal 7 buc. Cerere: 6 buc.
Figura 3.3.1
Exemplul 3.3.2 Foarte des citat n literatura de specialitate este problema patronului de restaurant.
Patronul unui restaurant tie c n raport cu mesele pe care a stabilit s le serveasc n urmtoarele n
zile (n regim de rezervare) va avea nevoie de ri ervete de mas curate, i = 1,...,n. Pentru procurarea acestor
ervete el are la dispoziie dou posibiliti:
fie s le cumpere la preul de a u.m. bucata;
fie s trimit ervetele murdare la o spltorie. n serviciul normal, ervetele splate sunt
livrate dup p zile la un cost de c u.m. bucata; n serviciul de urgen, ervetele splate se livreaz dup q < p
zile la un cost b > c u.m. bucata.
106
Probleme de optimizare n teele de transport i distribuie
Pornind fr nici un ervet utilizabil, cum trebuie s procedeze patronul cu achiziionarea i splarea
ervetelor astfel nct s minimizeze costul total pe perioada celor n zile?
Pentru a trata problema enunat ca o problem de transport este necesar s identificm: 1) produsul
ce trebuie transportat i distribuit, 2) sursele, 3) destinaiile, 4) legturile (rutele) permise ntre surse i
destinaii i 5) costurile unitare de transport.
1) Produsul de transportat i distribuit l constituie ervetele curate. Dup provenien ele
sunt de trei feluri: ervete noi cumprate de la magazin, ervete splate n regim de urgen i ervete
splate n regim normal.
2) Evident o prim surs de ervete curate o constituie stocul de ervete noi pe care patronul
intenioneaz s le cumpere de la magazin; notm aceast surs cu F 0. Deoarece, la urma urmei, fiecare ervet
splat a fost cndva nou este clar c la nceputul perioadei patronul nu poate cumpra mai puine ervete dect
numrul maxim necesar ntr-o zi. Pe e alt parte, patronul poate cumpra n fiecare zi numrul de ervete
curate necesare. n concluzie, numrul S al ervetelor din stocul iniial F 0 va trebui fixat undeva ntre limitele
specificate n urmtoarea inegalitate:
n
max ri S ri (3.3.1 )
1i n
i 1
Mai departe, la sfritul unei zile, s zicem i, cele ri ervete murdare se constituie ca o surs de ervete curate
pentru zilele urmtoare (firete, dup ce n prealabil au fost splate!). Face excepie ultima zi, a n-a, cnd
ervetele murdare se arunc pur i simplu la deeuri (se face ipoteza c n perioada urmtoare, patronul va
utiliza alt stoc de ervete noi...). n consecin, pe lng sursa F 0, vom mai considera alte n - 1 surse F 1,
F2,..., Fn-1, corespunztoare zilelor 1, 2,..., n-1, cu disponibilele r1, r2,..., rn-1.
3) Este firesc ca fiecare din cele n zile s fie socotit ca o destinaie a crei cerere este egal cu
numrul ervetelor curate. Vom avea deci n destinaii C1, C2,..., Cn , corespunztoare zilelor 1, 2,..., n cu
cererile r1, r2,..., rn. Datorit relaiei (3.3.1) oferta total de ervete curate acoper cererea total:
S r1 r2 rn 1 r1 r2 rn 1 rn S rn
Dac S = rn (care are loc numai dac rn max ri ), problema este din start echilibrat; dac S > rn , vom
1i n
introduce o destinaie suplimentar C0 cu cererea S - rn. Situaia ervetelor cu destinaia C 0 se interpreteaz
diferit: acelea care provin de la sursa F 0 reprezint ervete pe care patronul inteniona s le cumpere dar a
renunat deoarece nu mai avea nevoie de ele; cele care provin de la oricare din sursele F 1, F2,..., Fn-1 reprezint
ervete murdare care nu mai sunt trimise la splat fiind aruncate la deeuri.
4) i 5) Avnd n vedere semnificaia ei, sursa F 0 este legat de toate destinaiile C1, C2,..., Cn , costul
unitar comun pe aceste rute fiind preul de cumprare al unui ervet nou. S considerm acum o surs
oarecare Fi, i = 1, 2,..., n-1, al crei disponibil este format din cele ri ervete folosite n ziua i. Aceste ervete,
sau o parte din ele, devin disponibile pentru o nou folosire abia dup q zile, adic dup ce au fost trimise la
spltoria rapid. n concluzie, rutele (F i, Cj) cu 1 j < i + q sunt lipsite de sens i vor fi blocate printr-un
cost M foarte mare. Pe rutele (F i, Cj) cu i+ q j < i + p se va practica costul b al splrii unui ervet n regim
de urgen iar pe rutele (Fi, Cj) cu i + p j n, se va practica costul c al splrii unui ervet n regim normal.
n fine, sunt permise toate rutele ctre destinaia C 0 - n caz c aceasta trebuie avut n vedere! - cu costul
comun zero.
Consideraiile precedente sunt ilustrate prin urmtorul caz concret: n = 5 zile
ziua i 1 2 3 4 5
cererea ri 60 50 80 40 60
preul unui ervet nou: a = 5
durata serviciului normal: p = 2 zile
durata serviciului rapid: q = 1 zi
costul splrii unui ervet n regim de urgen: b = 2 u.m.
costul splrii unui ervet n regim normal: c = 1 u.m.
Din (3.3.1) rezult c 80 S 280. n tabelul (3.3.3) apar datele problemei de transport corespunz toare.
C1 C2 C3 C4 C5 C0 Disponibil
107
Probleme de optimizare n teele de transport i distribuie
F0 5 5 5 5 5 0 S
F1 M 2 1 1 1 0 60
F2 M M 2 1 1 0 50
F3 M M M 2 1 0 80
F4 M M M M 2 0 40
Necesar 60 50 80 40 50 S - 50 S + 230
Tabelul 3.3.3
Problema are mai multe soluii optime; structura unora depinde de numrul S de ervete noi pe care
patronul intenioneaz s le cumpere la nceput! Invitm cititorul s fac calculele necesare, lund ca model
studiul problemei parametrice de transport din exemplul 3.2.2. Oricare din aceste soluii implic un cost total
de 730 u.m. a crui structur va fi detaliat pe soluia din tabelul 3.3.4.
C1 C2 C3 C4 C5 C0
F0 60 20 S - 80
F1 30 30
F2 50
F3 40 40
F4 10 30
Tabelul 3.3.4
Din prima linie a tabelului 3.3.4 rezult c patronul va trebui s cumpere 80 de ervete noi: 60 vor fi
folosite n prima zi, restul a doua zi. Din a doua linie rezult c 30 din ervetele folosite n prima zi vor fi
trimise la spltoria rapid pentru a fi disponibile a doua zi. Restul de 30 vor fi splate n regim normal pentru
a fi folosite n ziua a treia .a.m.d. Ultima linie arat c din cele 40 de ervete ntrebuinate n a patra zi, 10 vor
fi splate rapid, pentru a putea fi folosite a doua zi iar celelalte 30 vor fi aruncate la deeuri (acolo unde vor
ajunge i cele 50 de ervete murdrite n ultima zi).
Tabelul poate fi citit i pe coloane. Astfel din coloana a treia deducem c necesarul de ervete pentru
a treia zi este asigurat prin splarea n regim normal a 30 ervete folosite n prima zi i prin splarea n regim
de urgen a celor 50 de ervete folosite n a doua zi.
n regim normal sunt splate 30 + 40 = 70 ervete iar n regim de urgen 30 + 50 + 40 + 10 = 130
ervete. Structura costului total este deci urmtoarea:
80 5 + 130 2 + 70 1 = 400 + 260 + 70 = 730 u.m.
Structura soluiei analizate este vizualizat n figura 3.3.2.
30 40
30 50 40 10
20
Figura 3.3.2
108