Probleme de optimizare în teţele de transport şi distribu ţie
CURSUL 1*
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., ustaţă !loare, ărăcine Vir Vir"inia "inia , , “Cercetări operaţionale I - Programare liniară, Probleme Probleme de optimizare în reţele de transport şi distribuţie, Teoria Teoria jocurilor strategice” #ditura $%&'( $%&'( &), *ucureşti +-.
4.1. Modelarea probleelor probleelor de !ra"#por! $% d%#!r%b&'%e ntr/o mare 0arietate de conte1te se pune problema deplasării unei deplasării unei cantităţi 2 ce poate 3i materie, ener" ener"ie, ie, in3orm in3ormaţie aţie,, etc. etc. din une unele le locuri locuri numite numite surse în alte locur locurii nu numi mite te destinaţii, destinaţii, această deplasare realiz4ndu/se pe anumite rute de legătură. 5nităţile indi0izibile ale cantităţii 2 care se deplasează de/alun"ul rutelor se 0or numi unităţi de flux.
4.1.1. O (la#%)%(are (la#%)%(are a probleelor probleelor de !ra"#por! $% d%#!r%b&'%e Pentru Pentru Cercet Cercetare areaa )pe )peraţ raţion ională ală,, proble problema ma enu enunţa nţată tă 0a prezen prezenta ta intere interess numai numai dacă dacă respect respectăă următoarele ipoteze: a) cel puţin o sursă poate aproviziona aproviziona mai multe destinaţii şi cel puţin o destinaţie poate primi unităţi de flux de de la mai multe surse. &utele &utele de le"ătură le"ătură pot a0ea şi alte puncte comune în a3ara surselor şi destinaţiilor destinaţiilor,, numite puncte sau de tranzit. Nu intermediare sau de tranzit. Nu sunt e1cluse le"ăturile directe între surse sau între destinaţii. n principiu, orice rută poate 3i parcursă în ambele sensuri, dar pot e1ista şi rute cu sens unic.
+ !+
c;+ c;;
<
C;
+;
+
9
;
c+; c+9
9 !;
C+
c++
9 +
c;9
C9
;9
> sursă 63urnizor7 > destinaţie 6consumator7
=
<
=
;
b-
a+%,&ra 1.1.1
$nsamblul surselor, surselor, destinaţiilor, al al punctelor intermediare şi al rutelor de le"ătură se 0a numi reţea de transport ; el se identi3ică cu un graf un graf neorientat sau parţial ca în 3i"ura +.+.+. parţial orientat ca b) Unele rute de legătură pot avea limitări superioare şi / sau inferioare pentru volumul unităţilor de flux ce se deplasează întrun î ntrun sens sau altul. $ceste altul. $ceste limitări poartă numele de capacităţi 6in3erioare, respecti0 superioare7. n continuare, 0om a0ea în 0edere numai cazul în care toate capacităţile in3erioare sunt e"ale cu zero, capacităţile superioare 3iind e1primate prin numere poziti0e. c) !xistă un cost al deplasării unei unităţi de flux de la un punct al reţelei la altul,cost altul, cost care poate 3i e1primat în bani, timp sau obţinut de pe urma timp sau distanţă. Sunt distanţă. Sunt situaţii în care acest cost poate semni3ica profitul obţinut deplasării. Pe aceeaşi rută, costurile ce şi capacităţile pot di3eri în 3uncţie de sensul de parcur"ere. "poteza a) va fi întotdeauna presupusă presupusă în timp ce ipotezele b) şi c) pot fiinţa separat sau simultan. simultan.
-8
Probleme de optimizare în teţele de transport şi distribu ţie
+7 n prezenţa ipotezei c7 şi absenţa condiţiei b7 se pune problema deplasării cantităţii de 3lu1 2 de la surse surse la desti destina naţi ţiii la un cost total minim. ?acă minim. ?acă sursele sunt în le"ătură directă cu destinaţiile obţinem problema clasică de transport , care 0a 3ace obiectul secţiunilor imediat următoare. Cazul "eneral, în care e1isă şi puncte intermediare, este cunoscut sub numele de problema transferului şi el nu 3ace obiectul cursului transferului şi de 3aţă. n cazul particular al unei sin"ure surse s, şi a unei sin"ure unităţi de 3lu1 se s, al unei sin"ure destinaţii t şi obţine problema drumului de de cost minim de la s la t . ;7 n prezenţa ipotezei b7 şi absenţa ipotezei c7 se pune problema dacă reţeaua, ale cărei rute sunt capacitate, capacitate, este capabilă să permită acoperirea acoperirea integrală a cererilor în punctele de destinaţie. Pentru destinaţie. Pentru aceasta, se 0a rezol0a problema determinării 0olumului maxim 2@ de unităţi de 3lu1 ce pot 3i deplasate de la surse la destinaţii. ?acă 2@ A 2 0or e1ista destinaţii a căror cerere este acoperită doar în parte şi atunci se ridică problema măririi capacităţii de transfer a reţelei. $m reţelei. $m descris succint problema fluxului maxim maxim. 97 n prezenţa simultană a ipotezelor b7 şi c7 se pune problema problema satisfacerii cererilor în punctele de destinaţie la un cost de transport minim. Ca minim. Ca şi în cazul precedent 0om a0ea în 0edere o problemă modi3icată: 0om determina mai înt4i cantitatea ma1imă de 3lu1 ce poate 3i deplasată de la surse la destinaţii şi apoi modul de or"anizare al deplasării ast3el înc4t costul operaţiei să 3ie minim. $ceasta este problema fluxului maxim! de cost minim. n secţiunile următoare ne 0om ocupa numai de problema clasică de transportB ea 0a 3i pri0ită ca o problemă de pro"ramare liniară cu o structură specială specială şi rezol0ată prin metodele pro"ramării liniare. Celelalte probleme identi3icate 0or 3i tratate în î n cuprinsul Capitolului + al cursului, %eoria Gra3urilor, rspecti0 în cadrul cursului de Cercetări )peraţionale din anul ;.
4.1.*. Problea (la#%( de !ra"#por!. Problea de !ra"#por! e(/%l%bra! 0PTE5n produs omo"en 6de e1emplu bere7 se a3lă disponibil în localităţile ! +, !;, ..., ! m în cantităţile a+, a;, ..., am şi este cerut pentru consum în centrele C +, C;, ..., C n în cantităţile b+, b;, ..., bn. Se presupune cunoscut costul ci# al transportului unei unităţi de produs de la ! i la C #. $e pune problema satisfacerii cererii în punctele de consum la un cost total de transport minim. minim. Centrele 3urnizoare, centrele consumatoare, le"ăturile directe între ele şi costurile unitare de transport sunt 0izualizate de obicei printr/un graf orientat 6ca 6ca în 3i"ura +.+.+ a7. #0ident, #0ident, o condiţie condiţie necesară şi su3icientă su3icientă pentru e1istenţa unei soluţii a problemei problemei 3ormulate 3ormulate este ca totalul cantităţilor disponibile disponibile să acopere totalul cererilor: m
n
i +
# +
ai b #
6+.;.+7
n continuare, condiţia 6+.;.+7 0a 3i presupusă îndeplinită. Vom Vom presupune de asemenea că : +,...,m şi b # , # > +,...,n. ai , i > +,...,m # > +,...,n ?acă notă ?acă notăm m cu xi# cantitatea li0rată de 3urnizorul ! i consumatoru consumatorului lui C #, modelul matematic al problemei 6clasice7 de transport este:
0PT- $ă se determine
6 xi# 7 i
+, . . . , m , #
n
xi# ai
+, .. . ,n care satisfac restricţiile%
i +,..., m
6+.;.;7
# + m
xi# b #
# +,..., n
6+.;.97
i +
condiţiile de nenegativitate% xi# + +, .. . , m
# +, .. . , n
şi care minimizează minimizează fincţia obiectiv% m
n
f ci# xi#
6+.;.=7
i + # +
-D
Probleme de optimizare în teţele de transport şi distribu ţie
'ne"alităţile 6+.;.;7 e1primă cerinţa ca totalul li0rărilor 3iecărui 3urnizor să se încadreze în disponibilB ine"alităţile 6+.;.97 arată că cererea 3iecărui consumator trebuie să 3ie acoperită prin totalul cantităţilor primiteB în 3ine, 6+.;.=7 este e1presia costului total al transportului. Vom spune că problema de transport 6P%7 este ec&ilibrată dacă: m
n
i +
# +
a i b #
6+.;.<7
Se obser0ă imediat că 6+.;.<7 atra"e după sine satis3acerea cu e"alitate a restricţiilor 6+.;.;7 şi 6+.;.<7. Prin urmare, modelul matematic al unei probleme de transport echilibrate este:
n x a i +,..., m # + i# i m x i# b # # +,..., n 6 PTE7i+ x i# : m n 6min7 f c x i# i# i + # +
01.*.01.*.2-
&emarcăm 3aptul că 6P%#7 este o problemă de pro"ramare liniară în 3ormă standard, cu m E n restricţii şi mn 0ariabile. Se arată uşor că matricea $ a coe3icienţilor sistemului de restricţii din 6P%#7, care apare în tabelul +.+.+, are ran"ul m E n / +. $ceasta înseamnă că în sistemul 6+.;.87 / 6+.;.D7 putem elimina o ecuaţie 3ără ca mulţimea soluţiilor admisibile să se modi3ice. n consecinţă: x++ +
+
... x+ #.. x+n . ....+.. + ..
......... .
xi+
... xi#...
xin
.......... ..
.......
........ .
xm+
... xm#... xmn
...... .
+
....+...
+
........ .
m
.......
+
+
+
.......
+
.....+... . ........ .
+
+
...... . ...... .
....+.. ..
....+...
.....+... .
...... ..
+
.......
+
........ .
+
i
#
n
Tabel&l 1.1.1 "rice soluţie de bază a problemei PT#! are cel mult m $ n - % componente nenule&
) soluţie de bază a problemei 6P%#7 se 0a numi nedegenerată dacă are e1act m E n + componente nenuleB altminteri, ea se 0a zice degenerată&
--
Probleme de optimizare în teţele de transport şi distribu ţie
'n continuare, vom presupune că orice soluţie a problemei (*!) este nedegenerată. +azul în care (*!) are şi soluţii degenerate va fi analizat în secţiunea .-..
Ob#er3a'%e: )rice soluţie x 6 x i# 7 a P%# 0a 3i înscrisă într/un tabel cu m rnduri, corepunzătoare 3urnizorilor şi n coloane corespunzătoare consumatorilor. %abelul 0a a0ea mn celule sau ruteB celula din rîndul i şi coloana #, notată 6!i ,C #7 sau simplu 6i, #7, 0a conţine componenta xi# a soluţiei x. Eepl&l 1.*.1 Să considerăm problema de transport echilibrată de3inită de următoarele date: !+ !; !9 Necesar
C+ 9 9 = +
C; 9 = 9 +;
C9 + 9 8
C= = 8 ; +
?isponibil +< +D +<
Tabel&l 1.*.1
odelul matematic: x++ x+; x+9 x+= +< x;+ x;; x;9 x;= +D x9+ x9; x99 x9= + x++ x;+ x9+ + x+; x;; x9; +; x+9 x;9 x99 x+= x;= x9= + xi# 6min7 f 9 x 9 x x = x 9 x = x ++ +; +9 += ;+ ;; 9 x;9 8 x;= = x9+ 9 x9; 8 x99 ; x9= C+
%oate le"ăturile de la 3iecare 3urnizor 0i la 3iecare consumator +# pot 3i 0izualizate cu aFutorul desenului alăturat numit, aşa cum ştim, G&$!. $şa cum se obser0ă, 3urnizorii şi consumatorii sunt reprezentaţi cu aFutorul unor noduriH unite prin muchiiH de le"ătură.
!+ C; !; C9 !9 C=
?acă anulăm în sistemul restricţiilor toate 0ariabilele xi# cu )bţinerea unei soluţii nede"enerate a P%# nu presupune utilizarea tuturor muchiilor de le"ătură dintre proprietatea că muchiile corespunzătoare ! i,C F nu 0or 3i utilizate 3urnizorii 0i şi consumatorii +#. ?e e1emplu, în "ra3ul anterior, selectăm în scopul transportului bunurilor 6desenate cu şilinie punctată7, rezultă sistemuldeşimai soluţia: între 0i şi +# muchiile desenate cu linie continuă obţinem în acest 3el desenul Fos: C+ !+ C; !; C9 !9 C
x++ x+9 +< x x +D ;; ;= x99 x9= + x++ +: x +; ;; x+9 x99 x x +
1 ++ +: 1+9 <
x ;; +; 1 ;= < 1 99 = 1 +=
C+ !+ + !; !9
C;
C9
C=
< +; =
< += -
Probleme de optimizare în teţele de transport şi distribu ţie
4.*. Adap!area e!ode% #%ple la re5ol3area PTE !iind o problemă de pro"ramare liniară, P%# se poate rezol0a cu aFutorul metodei simple1. %otuşi, al"oritmul simple1 0a a0ea în acest caz o descriere speci3ică datorită unei proprietăţi importante pe care o are matricea $ a coe3icienţilor P%#. ntr/ade0ăr, se poate demonstra că orice determinant extras din 1 are valoarea 2 , 3 sau 2. n consecinţă, dacă disponibilele a+, a;,..., am şi cererile b+, b;,..., bn sunt e1primate prin numere întregi, orice soluţie de bază 0a a0ea componentele între"i şi ast3el P%# va avea cel puţin o soluţie optimă cu componente întregi. =.*.1. De!er%"area &"e% #ol&'%% ad%#%b%le de ba5 %"%'%ale Să considerăm următorul procedeu "eneral de construire a unei soluţii admisibile a P%#. Componentele ei 0or 3i determinate pro"resi0 şi înscrise într/un tabel aşa cum s/a menţionat în obser0aţia din secţiunea +.=.
I"%'%al%5are: %oate cele mn rute ale tabelului sunt considerate neblocate. E!apa 6 , I +.
$e alege o rută 6 0i4 , + #4 7 dintre cele neblocate. Se pune xi4 #4 min6ai4 , b #4 7 şi se bloc&ează ruta aleasă. Vom spune că pe ruta 6în celula7 6 0i4 , + #4 7 s/a 3ăcut alocarea x i 4 #4 . Se actualizează: ai4 ai4 xi4 #4
b #4 b #4 xi4 #4
?acă ai4 se pune xi4 # pe toate rutele 6 0i4 , + # 7 , # # 4 încă neblocate, după care acestea se declară blocate. ?acă b #4 se pune xi#4 pe toate rutele 6!i , + #4 7 , i i 4 încă neblocate, după care acestea se declară blocate. ?acă toate cele mn rute au 3ost blocate S%)P. $ltminteri, se actualizează 4 4 E + şi se reiau operaţiile de mai sus. Se constată 3ără di3icultate că ansamblul de 0alori numerice x > 6 xi#7 rezultate în urma aplicării al"oritmului constituie o soluţie admisibilă a P%#B se poate arăta că x este o soluţie de bază. n ipoteza că 0alorile xi# au 3ost trecute progresiv în tabelul menţionat la început, este uşor de 0ăzut că dacă la fiecare etapă se bloc&ează fie rutele aparţinnd unui rnd fie cele aparţinnd unei coloane, atunci soluţia construită are exact m 5 n 2 componente nenule, altfel spus este nedegenerată. ?acă din contră, după e3ectuarea unei alocări, se blochează simultan at4t r4ndul c4t şi coloana rutei în care s/a 3ăcut alocarea, soluţia rezultată 0a 3i degeneratăJ Vom discuta în secţiunea =.;.< ce trebuie 3ăcut în acest caz. %oate metodele de "enerare a unei soluţii iniţiale pentru P%# au la bază procedura de mai sus. #le se deosebesc prin modul de alegere a rutelor 6 0i+ , + #+ 7 , 6 0i; , + #; 7 , ... .$st3el: +7 n metoda (ol'&l&% de "ord 7 3e#! 0N 7 8- , prima rută aleasă este 6! +,C+7. Celelalte se ale" ast3el înc4t + i+ i; i 9 şi + #+ #; #9
Probleme de optimizare în teţele de transport şi distribu ţie
;7 n metoda (o#!&l&% 0&"%!ar de !ra"#por!- %"% prima rută 6 0i+ , + #+ 7 aleasă corespunde celui mai mic cost unitar de transport. Ka etapa I, ruta 6 0i4 , + #4 7 corespunde celui mai mic cost unitar de transport de pe rutele încă neblocate la această etapă. 97 etoda d%)ere"'elor a%e 08o,el- este o metodă mai elaborată. Presupunem costurile unitare de transport înscrise într/un tabel cu m r4nduri şi n coloane. Pe 3iecare r4nd şi pe 3iecare coloană a acestui tabel se calculează diferenţa dintre cel mai mic cost de transport şi cel imediat superiorB dacă costul minim nu este unic, di3erenţa se 0a lua e"ală cu zero. Se identi3ică r4ndul sau coloana cu cea mai mare di3erenţă şi aici, în ruta de cost minim, se e1ecută prima alocare din al"oritmul precedent. Se re3ac di3erenţele pe r4ndurile şi coloanele neblocate 3olosindu/se numai costuri 6neblocate6, după care se reia procedura de alocare.
Eepl&l *.1.1 Vom "enera o soluţie de bază iniţială pentru problema de transport echilibrată din e1emplul +.=.+, 3olosind pe r4nd cele trei metode sus amintite. +7 Prin metoda colţului N / V se obţine soluţia: +
6+7
< D
6;7 697
6=7
+ +-
$tenţie: numerele înscrise în paranteze indică ordinea alocărilorJ
6<7 687
Tabel&l *.1.1
Costul asociat acestei soluţii: f > + 9 E < 9 E D = E 9 E + 8 E +- ; >+=; u.m. ;7 Prin metoda costului minim rezultă soluţia: +
697
8 8
6=7
6+7
6<7
+ +-
687
Costul asociat: f > +;9 u.m.
6;7
Tabel&l *.1.*
97 Prin metoda di3erenţelor ma1ime se obţine soluţia: +
6=7
< D
687
6+7
+
697
+-
6;7
6<7
Costul asociat: f > +;; u.m.
Tabel&l *.1.9
6Cititorul este îndemnat să re3acă L în dinamicăL construcţia soluţiilor de mai susJ7
Ob#er3a'%e: etoda colţului N / V, deşi mai simplă, produce în "eneral soluţii cu cost mai ridicat deoarece nu ţine seama în nici un 3el de costurile unitare de transport. Celelalte metode, acord4nd prioritate rutelor Lmai ie3tineL, dau soluţii mai apropiate de soluţia optimă. #1perimentele numerice au arătat că metoda di3erenţelor ma1ime produce de 3oarte multe ori chiar soluţia optimă sau în orice caz o soluţie 3oarte apropiată de aceasta, aşa înc4t mulţi utilizatori pre3eră s/o adopte ca soluţie suboptimală. n aplicaţiile numerice 0om lucra numai cu etoda costului minim pe tabel, respecti0 cu etoda Vo"el.
+
Probleme de optimizare în teţele de transport şi distribu ţie
CURSUL 19
4.*.*. Te#!area op!%al%!'%% &"e% #ol&'%% ad%#%b%le de ba5 a PTE !ie x 6 x i# 7 o soluţie admisibilă de bază a P%#, presupusă nede"enerată. )biecti0ul este de a "ăsi o condiţie pentru recunoaşterea optimalităţii sale. Să considerăm duala problemei de transport echilibrate:
0- $ă se determine u care maximizează funcţia%
g
cu restricţiile%
6 u+ , u ; , ,u m 7 şi v 6 v+ , v ; , , v n 7
ui v # ci#
i +,
m
n
i +
# +
ai ui b # v #
, m B # +,
,n
6;.;.+7
*eorema ecarturilor complementare 6cap.', teorema ;.9.=7 arată că soluţia x este optimă dacă şi numai dacă e1istă 6u , v 7 6u+ , , u m , v+ , , v n 7 care satis3ac restricţiile 6;.;.+7 ale dualei 627, ast3el înc4t 6 x , u , v 7 să 0eri3ice relaţiile: xi# 6ui v # ci# 7 i +, , m B # +, , n
6;.;.;7
Să notăm cu " mulţimea rutelor 6! i,C #7 6sau mai simplu 6i, #77 cu proprietatea că xi# . ?eoarece soluţia x a 3ost presupusă nede"enerată, mulţimea " are m 5 n 2 elemente. ?in 6;.;.;7 rezultă că, pentru a 3i optimă, soluţia duală 6 u ,v 7 de mai sus trebuie să 0eri3ice relaţiile:
ui v # ci# 6 7 6i , # 7 "
6;.;.97
Să remarcăm că 6;.;.97 este un sistem liniar cu m E n / + ecuaţii şi m E n 0ariabile. ?eoarece ' se identifică cu un arbore maximal în "ra3ul G asociat P%# 6a se 0edea Capitolul +J7, sistemul 6;.;.97 este întotdeauna compatibil nedeterminat soluţiile sale 3iind de 3orma: ui ui: 4 i +, , m B v # v :# 4
# +, , n
6;.;.=7
unde 4 este un parametru iar 6u, v7 > 6 u+ , , um , v+ , , v n 7 este o soluţie particulară a sistemului 6;.;.97. &ezultă că 0alorile e1presiilor: i# ui v # ci#
6;.;.<7
nu depind de soluţia 6 u ,v 7 a sistemului 6;.;.97, deoarece:
i# 6ui 4 7 6v # 4 7 ci# u i v # ci#
?in consideraţiile de mai sus deducem următorul criteriu de recunoaştere a optimalităţii soluţiei x: 7eterminăm o soluţie particulară ( u ,v ) a sistemului (-.-.8) şi calculăm i# 9 ui 5 v # ci# pentru toate cuplurile (i, #) " 6pentru 6i, #7 " este e0ident că i# > 7. 7acă toţi i# calculaţi sunt 3, atunci ( u ,v ) este o soluţie a dualei (:) care împreună cu x satisface condiţiile de ecart complementar 6;.;.;7 şi, în consecinţă, x este o soluţie optimă a *!.
Eepl&l *.*.1 Vom testa optimalitatea soluţiei determinate în e1emplul ;.+.+ prin metoda di3erenţelor ma1ime.
;
Probleme de optimizare în teţele de transport şi distribu ţie
v+ u+ u; u9
+
v; < D
v9
Sistemul ui E v # > ci# 6i,#7 '
v= +
u+ Ev; > 9 u; Ev; >=
u; Ev+ > 9
u+ E v9 > +
+-
u+ E v= > = u9 E v= >;
Tabelele *.*.1 7 *.*.*
?eterminăm o soluţie particulară a acestui sistem lu4nd u+ > v; > 9 u+ >
u; > +
v+ > ;
v9 > + v= > =
u9 > /;
+%,&ra *.*.1 #ste interesant de urmărit rezol0area sistemului pe "ra3ul 6arborele7 asociat soluţiei x:
u+ > u; > + u9 > /;
C+
v+ > ;
C;
v; > 9
C9
v9 > +
C=
v= > =
!+ !; !9
+%,&ra *.*.*
Calculăm mărimile i# ui v # ci# numai pentru rutele Lneocupate6 adică pentru rutele 6i,#7 ' 6Pentru cele LocupateL, adică pentru rutele 6i,#7 ', ştim că i# > B în tabelul ;.;.9 aceste zerouri au 3ost înlocuite cu asteriscuri pentru a le deosebi de e0entualele mărimi i# nule, asociate unor rute neocupate. rezenţa unor asemenea mărimi în cazul în care soluţia curentă este optimă arată că aceasta nu este unică / 0ezi obser0aţia 87 din Cap. 9, secţiunea 9.=.; şi secţiunea următoare =.;.9 din care 0a rezulta că mărimile i# se identi3ică cu costurile reduse din pro"ramarea liniară "enerală.7
9
Probleme de optimizare în teţele de transport şi distribu ţie
u+ > u; > + u9 >/;
v+ > ; /+ @ /=
v; > 9 @ @ /;
v9 >+ @ /+ /D
v= >= @ /+ @
Tabel&l *.*.9
Constatăm că soluţia testată 0eri3ică criteriul de optimalitate.
4.*.9 ;b&"!'%rea &"e% #ol&'%% de ba5 Să presupunem că soluţia x considerată în secţiunea precedentă nu 0eri3ică testul de optimalitateB aceasta înseamnă că: proprietatea i # . există o rută 6i , # 7 6 0i , + # 7 " cu
Vom construi o soluţie admisibilă de bază x mai bună decît x în sensul că x implică un cost total de transport mai mic. $dău"ăm muchia 0i , + # la "ra3ul / arbore M corespunzător soluţiei x . Con3orm unei proprietăţi a arborilor se 0a 3orma un unic ciclu. ?eoarece arborele M împreună cu muchia adău"ată 3ac parte din "ra3ul asociat P%# care este bipartit, ciclul 3ormat are un număr par de muchii. Să parcur"em muchiile ciclului într/ unul din cele două sensuri posibile, plec4nd de e1emplu din nodul 0 i: : 0i + # 0i+ + #+ 0i p + # p 0 i
6;.9.+7
N N !ie . Construim o soluţie 0ariabilă x 6 x i# 7 a P%# pun4nd: N x i: #:
N ,x i+ #:
xi+ #:
N ,x i+ #+
x i+ #+ N x i#
N , , x i p # p
xi p # p
N ,x i: # p
xi# in rest
xi : # p
6;.9.;7
?eoarece soluţia x este presupusă nede"enerată, pentru su3icient de mic, 6;.9.;7 este o soluţie admisibilă a N P%#. Costul asociat soluţiei x 0a di3eri de costul asociat soluţiei x prin 0aloarea: x 7 f 6 x 7 6 ci # ci+ # ci+ #+ ci; #+ ci p # p ci # p 7 f f 6 N
Oci # 6ui+ v # 7 6 ui+ v #+ 7 6ui; v #+ 7 6 ui p v # p 7 6ui v # p 7P
6 ci # ui v # 7 i # de unde:
f 6 N x 7 f 6 x 7 i #
6;.9.97
N &elaţia 6;.9.97 arată că x implică un cost total de transport mai mic dec4t soluţia curentă x , di3erenţa 3iind cu at4t mai mare cu c4t sau i: #: este mai mare. Pentru a menţine admisibilitatea soluţiei 6;.9.;7 este necesar ca:
xi+ #: : , xi; #+ : , , xi : # p :
de unde rezultă că nu poate depăşi 0aloarea: :
min xi+ #: , xi; #+ , , xi : # p
xi s # s
+
6;.9.=7
N Kuăm în 6;.9.;7 > şi notăm cu x soluţia x corespunzătoare. #a 0a a0ea cel mult m E n / + componente nenuleB într/ade0ăr, în noua soluţie xi: #: : : iar în 0echea soluţie xi # . Pe de altă parte, componenta
x i s #s + corespunzătoare minimului din 6;.9.=7 este acum nulă în timp ce în 0echea soluţie x era poziti0ă. Noua soluţie x este şi o soluţie de bază, deoarece ea corespunde arborelui MQ obţinut din
=
Probleme de optimizare în teţele de transport şi distribu ţie
M 0i , + # îndepărt4nd muchia 0i s , + # s + .
Eepl&l *.9.1 Considerăm problema de transport echilibrată din e1emplul +.=.+ şi soluţia x "enerată în e1emplul ;.+.+ prin metoda colţului N/V. $plicăm acestei soluţii testul de optimalitate din secţiunea precedentă. +
< D
Sistemul ui E v # > ci# 6i,#7 ' u+ Ev+ > 9 u+ Ev; > 9 u; E v; > = u; Ev9 > 9 u; E v= > 8 u9 E v= > ;
R+ +-
Tabelele *.9.1 7*.9.*
?eterminăm o soluţie particulară a sistemului lu4nd de e1emplu u; > , după care calculăm mărimile i# ui v # ci# pentru rutele LneocupateL: u+ > /+ u; > u9 > /=
v+ > = @ + /=
v; > = @ @ /9
v9 > 9 + @ /D
v= > 8 + @ @
Tabel&l *.9.9
&utele Locupate au 3ost marcate cu asteriscuriJ
?eoarece e1istă şi mărimi i# poziti0e, soluţia testată nu este optimă. Considerăm ruta neocupată 6! +,C97 în care +9 > + . $dău"ăm la arborele M al soluţiei x muchia ! +,C9T:
x+; > < /
!+
C+
C;
&ezultă ciclul:
!+
x;; > D E
C; !; C9 !9 C=
x;9 > /
!;
x+9 >
C9
Pe muchiile ciclului au 3ost puse în e0idenţă componentele din soluţia 0ariabilă care depind de parametrul .
$cest ciclu se poate pune în e0idenţă şi în tabelul ;.9.+ al soluţiei x printr/un contur poligonal care începe din celula 6+,97 şi LcoteşteL în un"hi drept prin celulele ocupate 6;,97 , 6;,;7 , 6+,;7 / 0ezi tabelul ;.9.=. +
DE
/
E
E
/
/
+ +-
Tabel&l *.9.4
Conturul 0a a0ea un număr par de Lcolţuri6 deoarece acestea corespund muchiilor ciclului. N n tabelul ;.9.= apare în 3apt soluţia 0ariabilă x de3inită în 6;.9.;7. Costul asociat al transportului, calculat cu relaţia 6;.9.97 are 0aloarea:
f 6 xN 7 f 6 x 7 +9 +=9 +
<
Probleme de optimizare în teţele de transport şi distribu ţie
Pentru determinarea comodă a lui din 6;.9.=7 putem proceda ast3el: marcăm succesi0 colţurile conturului poli"onal cu UEH şi UH încep4nd cu E în celula 6+,97. $tunci este e1act minimul componentelor soluţiei x care sunt situate în celulele marcate cu UH: x+; < . Noua soluţie x apare în tabelul 6;.9.<7: C+ !+
+ +;
< =
+ +-
şi corespunde arborelui M dedus din M!+,C9T elimin4nd muchia ! +,C;T:
C; !;
Tabel&l *.9.<
C9 !9 C=
'n0ităm cititorul să repete calculele 3ăcute în acest e1emplu plec4nd de la soluţia din tabelul ;.9.<.
4.*.4. Al,or%! de re5ol3are a PTE. Co"3er,e"' Ca şi p4nă acum ne 0om re3eri la problema de transport echilibrată 6P%#7 al cărei model matematic a 3ost prezentat în secţiunea +.; şi 0om presupune în continuare că toate soluţiile sale de bază sunt nedegenerate. ?ez0oltările teoretice din secţiunile precedente ca şi e1emplele ilustrati0e conduc la următorul al"oritm de rezol0are a P%#.
I"%'%al%5are. Se determină printr/o metodă oarecare 60ezi secţiunea ;.+7 o soluţie admisibilă de bază de start x > 6 x i# 7. Co"'%"&!&l &"e% %!era'%%. 1- Se asociază 3urnizorilor 0ariabilele u+, u;,..., um şi consumatorilor 0ariabilele v+, v;,..., vn. $sociem 3iecărei rute ocupate 6i,#7 6aceasta însemn4nd xi# 7 o ecuaţie de 3orma ui E v # > ci#. Se determină o soluţie particulară 6u , v 7 a sistemului 3ormat. Pentru aceasta se acordă o 0aloare particulară 6întotdeauna zero7 uneia dintre 0ariabile 6de re"ulă, celei care apare de cele mai multe ori7B 0alorile celorlalte 0ariabile se determină apoi în mod unic. Se calculează mărimile i# ui v # ci# pentru toate rutele neocupate 6adică acolo unde x i# > 7. *- 6*est de optimalitate7 ?acă toţi i# soluţia curentă x este optimă. n caz contrar: 9- Se identi3ică ruta 6i, #7 cu cel mai mare i: #: pozitiv. n tabelul soluţiei x se identi3ică unicul contur poligonal care începe şi s34rşeşte în celula 6 i, #7 şi coteşte în un"hi drept numai prin celule ocupate 6acest contur corespunde ciclului 3ormat în arborele M asociat soluţiei x , după adău"area muchiei J7. Se marchează alternati0 cu HEH şi HH colţurile ciclului. Se calculează xi# a3late în celulele marcate cu HH.
:
0S i: , + #: T
ca 3iind minimul componentelor
4- 6+onstrucţia unei noi soluţii7 Se adună : la 0alorile x i# a3late în celulele marcate cu HEH şi se scade acelaşi : din 0alorile x i# înscrise în celulele marcate cu HH. Valorile xi# a3late în celulele nemarcate cu HEH sau HH nu se modi3ică. Costul asociat soluţiei x rezultate are 0aloarea: f 6 x 7 f 6 x 7 : i: #:
6;.=.+7
Se re0ine la pasul +7 în cadrul unei noi iteraţii.
8
Probleme de optimizare în teţele de transport şi distribu ţie
n ceea ce pri0eşte con0er"enţa al"oritmului, dacă toate soluţiile de bază ale *! sunt nedegenerate, algoritmul descris se termină întrun număr finit de iteraţii cu determinarea unei soluţii optime. ntr/ade0ăr, 3ormula 6;.=.+7 arată că la 3iecare iteraţie 0aloarea 3uncţiei obiecti0 descreşte semni3icati0. Cum numărul soluţiilor de bază admisibile este 3init, al"oritmul se opreşte obli"atoriu într/un număr 3init de paşi, ultima soluţie testată 3iind optimă. 6Cititorul atent 0a obser0a desi"ur că a3irmaţia precedentă şi Fusti3icarea ei constituie în 3apt o simplă reluare a teoremei de con0er"enţă din cap. + şi a demonstraţiei acesteiaJ7
CURSUL 14
4.*.<. De,e"erare $l"oritmul de rezol0are a P%# şi con0er"enţa acestuia au 3ost prezentate în ipoteza că toate soluţiile admisibile de bază ale problemei sunt "ede,e"era!e 0 soluţia are exact m 5 n 2 componente nenule-. Wansa ca o problemă de transport să aibe soluţii de"enerate este însă 3oarte mare şi în plus nu a0em nici un criteriu pe baza căruia să recunoaştem în prealabil e1istenţa acestor soluţii. #ste important să obser0ăm că: ?acă în rezolvarea unei *! am pornit cu o soluţie nedegenerată şi apoi toate soluţiile construite au fost de asemenea nedegenerate, procesul iterativ este necesarmente finit. n 0irtutea acestei obser0aţii, 0a 3i important să ştim cum procedăm dacă soluţia de start este de"enerată sau dacă de"enerarea apare pe parcursul aplicării al"oritmului. n principiu, e0itarea de"enerării se 3ace prin uşoaraH perturbare a unora din datele problemei de aşa manieră înc4t noua problemă să aibe numai soluţii de bază nede"enerateJ Soluţiile celor două probleme 0or di3eri cu puţinH unele de altele ast3el că, după rezol0area problemei perturbate prin re0enireH la problema iniţială se obţine soluţia optimă a acesteia din urmă. $m considerat că este mai simplu şi mai bine să e1plicăm te&nica de perturbare pe c4te0a e1emple particulareB în orice altă situaţie similară se 0a proceda absolut analo".
Eepl&l *.<.1 Considerăm problema de transport echilibrată de3inită de datele din tabelul ;.<.+: C+ !+ = !; 8 !9 9 Necesar ++
C; ; D <
C9 < 9 = <
C= = < <
?isponibil + + + 9
Tabel&l *.<.1
n tabelul ;.<.; este dată soluţia "enerată prin metoda di3erenţelor ma1ime: +
6=7
6+7
<
6;7
<
6<7
+ 697 Tabel&l *.<.*
D
Probleme de optimizare în teţele de transport şi distribu ţie
Soluţia este degenerată deoarece are < A 8 > 9 E= / + componente nenule. $ceastă situaţie se datorează 3aptului că la alocarea a =/a disponibilul curent al 3urnizorului ! + a 3ost e"al cu necesarul curent al consumatorului C + 6 >+7 şi ca urmare, după e3ectuarea alocării, at4t r4ndul + c4t şi coloana + au 3ost blocateJ Pentru a obţine o soluţie nede"enerată perturbăm puţin datele problemei ori"inale în următorul mod. !ie un număr 3oarte mic.
ărim cu necesarul consumatorului C + acesta de0enind b+>++E . Pentru reechilibrarea problemei mărim cu acelaşi disponibilul unui 3urnizor activ 6adică cu disponibilul curent nenul7 altul decît !+B de e1emplu modi3icăm disponibilul lui ! ;: a; > + E . &eluăm alocarea a =/a: x++ > min6+ E , +7 > + $ctualizăm: b+
a+
Continu4nd aplicarea metodei di3erenţelor ma1ime, rezultă în 3inal soluţia nede"enerată: + 6=7 6<7 + 697
6+7 6;7
<
<
687
Tabel&l *.<.9
dar, pentru problema perturbatăJJ $plicăm acestei soluţii al"oritmul de rezol0are a P%#: v+ > v; > /; v9 > /9 v= > ; @ @ /= ; u+ >=
X +
u; >8 u9>9
@ @
/9 /=
@
@
/=
E
E
X <
<
+
Tabelele *.<.4 7 *.<.<
&edistribuimH în colţurile ciclului 0aloarea: : > min x++ >+ , x;= ><T> + )bţinem soluţia:
+ =
<
+ E +
Tabel&l *.<.
Pentru > se "ăseşte o soluţie nede"enerată a problemei ori"inale al"oritmul: v+>8 v;>8 v9>9 v=> + /; @ /8 u+ > /= < = @ /+ @ u;> + @ /; /= u9>/9 +
căreia îi aplicăm, în continuare @ @
Tabelele *.<.2 7 *.<.=
Noua soluţie, notată x , este optimă. ?eoarece 9= > , problema mai are o soluţie optimă de bază x care se obţine 3olosind conturul poli"onal asociat în tabelul ;.<.D celulei 69,=7: < 8
+ < =
Tabel&l *.<.>
n acord cu teoria "enerală a pro"ramării liniare, problema dată 0a a0ea o in3initate de soluţii optime de 3orma: x > x E ! x
+
-
Probleme de optimizare în teţele de transport şi distribu ţie
unde E ! > + "#!"
+ E<! + E8!
<
= =!
C= = < ;
?isponibil ++ - ;-
Tabel&l *.<.1?
Eep&l *.<.* Să rezol0ăm acum problema: C+ = 8 9 +;
!+ !; !9 Necesar
C; ; D <
C9 < 9 = <
Tabel&l *.<.11
pornind de la soluţia de bază nede"enerată din tabelul ;.<.+;, determinată prin metoda di3erenţelor ma1ime. ;
6=7
+
6<7
697
6+7
/
<
E
6;7
;
687
E /
;
9
<
Tabel&l *.<.1*
Tabel&l *.<.19
Propunem cititorului să 0eri3ice că această soluţie nu este optimă şi că += > ; . n tabelul ;.<.+; este indicat şi conturul poli"onal asociat rutei 6+,=7. arc4nd succesi0 colţurile conturului cu UEH şi U H se constată că minimul : al 0alorilor numerice din celulele marcate cu U H nu este unic: : > x++ > x;= > ;. $ceasta 3ace ca noua soluţie, indicată în tabelul ;.<.+9, să 3ie degenerată. Pentru a e0ita de"enerarea, modi3icăm puţin 0aloarea uneia din 0ariabilele x++ sau x;=B luăm de e1emplu: x++ > ; E , ceea ce înseamnă să considerăm a+ > ++ E şi b+ > +; E . ?e această dată minimul : > x;= > ; este unic, ast3el că după redistribuireaH sa în colţurile conturului poli"onal indicat se obţine soluţia nede"enerată din tabelul ;.<.+=:
9
; <
v+ > u+ > = @ u; > 8 @ u9 > 9 @
Tabel&l *.<.14
v; > /; @ /9 /=
v9 > /9 /= @ /=
v= > @ /; /;
Tabel&l *.<.1<
dar, a problemei modi3icateJ ?in tabelul alăturat ;.<.+< rezultă că soluţia construită este optimă. Ku4nd > obţinem soluţia optimă a problemei iniţiale care este deFa a3işată în tabelul ;.<.+9.
4.9. 8ar%a"!e ale problee% de !ra"#por! n dez0oltările teoretice din secţiunile precedente condiţia de echilibru 6+.;.<7 a 3ost esenţială. n 3oarte multe conte1te practice însă, această condiţie nu este îndeplinită ?e asemenea, este posibil ca unele ipoteze sau constante ale problemei de transport să se modi3ice de la o perioadă la alta antren4nd schimbări de amploare mai mică sau mai mare în soluţia optimă. n 3ine, nu puţine sunt situaţiile concrete ce nu implică LtransporturiL în sensul strict al cu0întului, dar care pot 3i modelate ca probleme de transport.
4.9.1 Problee de !ra"#por! "ee(/%l%bra!e n cazul în care în problema "enerală de transport 6secţiunea +.;7 totalul cantităţilor disponibile la 3urnizori întrece totalul cererilor consumatorilor: m
ai i +
n
b # # i
Probleme de optimizare în teţele de transport şi distribu ţie
ne putem reduce la o problemă de transport echilibrată introduc4nd un consumator fictiv Cn E+ a cărui cerereH să 3ie e"ală cu excesul de disponibil : m
n
i +
# +
ai b #
bn +
Costurile unitare de transport de la 3urnizorii reali către C n E+ se iau e"ale cu zero. ?upă rezol0area problemei echilibrate, cantităţile
n
ai
i +
b # # i
problema de transport, aşa cum a 3ost ea de3inită în secţiunea +.;, este incompatibilă 60ezi ine"alitatea 6+.;.+77. utem încerca o rezolvare parţială a cererilor , introduc4nd un furnizor fictiv !mE+ al cărui disponibilH să 3ie e"al cu cererea neacoperită: a m +
n
m
# +
i +
b # ai
?in nou, costurile unitare de transport pe rutele ce lea"ă acest 3urnizorH de consumatorii reali se iau e"ale cu zero. )bţinem o problemă de transport echilibrată, în a cărei soluţie optimă, cantităţile
b; b;
bn bn
,
b+ , b; ,..., bn 3iind cantităţile ce urmează a 3i primite în situaţia de criză. Noile cantităţi se pot deduce uşor, obser04nd că 3iecare raport
b # b #
este e"al cu: b+ b; bn
b+ b; bn
de unde:
b #
: :
b#
# +,
a+ a; a m
a+ a; a m
: :
,n .
) dată stabilite cantităţile bi a0em o problemă de transport echilibrată pe care o rezol0ăm cu al"oritmul descris.
+
Probleme de optimizare în teţele de transport şi distribu ţie
Eepl&l 9.1.1 Patru termocentrale C+, C;, C9, C= se apro0izionează cu cărbune de la trei mine ! +, !;, !9. Necesarul lunar al termocentralelor, producţiile lunare ale minelor şi costurile transportului unei unităţi 3izice de cărbune 6+ t.7 pe di3eritele rute sunt date în tabelul 9.+.+ !+ !; !9 Necesar
C+ 9 = 9 +
C; ; 9 9 ++
C9 + D < +=
C= < ; 8 +<
?isponibil +; +- ; <
Tabel&l 9.1.1
Cu metoda di3erenţelor ma1ime, se obţine direct pro"ramul optim de apro0izionare din tabelul 9.+.;. &utele utilizate în acest pro"ram sunt e0idenţiate în 3i"ura alăturată. !+
+; 9 -
+
+< ;
+;
!9 -
;
+
C;
C+
Tabel&l 9.1.*
9
!;
+<
C9
C=
Costul asi"urării transporturilor din pro"ram se ridică la ++< u.m. Pentru luna următoare unele sindicate miniere preconizează o serie de acţiuni "re0iste. Ca urmare a acestora se estimează că producţia totală de cărbune 0a scade cu 9Y 3iind repartizată ast3el: + mii t. la mina !+ şi numai +;, respecti0 +9 mii t. la minele ! ; şi ! 9 deci un total de 9< mii t. 3aţă de o cerere de < mii t. Problema repartizării producţiei diminuate se poate pune în două moduri:
urmărind în exclusivitate criteriul minimizării c&eltuielilor de transport. &eechilibrămH problema prin introducerea unei mineH 3icti0e ! = a cărei producţie lunară să 3ie e"ală cu cantitatea cu care s/a diminuat producţia curentă a minelor reale, adică +< mii t. Nee1ist4nd transporturi e3ecti0e între ! = şi C +, C;, C9, C= costurile unitare de transport pe rutele corespunzătoare 0or 3i luate, 3iresc, e"ale cu zero. Vezi tabelul 9.+.9. !+ !; !9 != Necesar
C+ 9 = 9 +
C; ; 9 9 ++
C9 + D < +=
C= < ; 8 +<
?isponibil + +; +9 +< <
Tabel&l 9.1.9
&ezultă două soluţii optime indicate în tabelele 9.+.= şi 9.+.<. Costul de transport a3erent este de D9 u.m. n prima 0ariantă numai cererea termocentralei C ; este inte"ral acoperită, C + primind numai ;Y, C 9 numai D+Y iar C= numai -Y din necesarul curent. în a doua 0ariantă C + primeşte cantitatea normală, C ; numai ;DY iar C9 şi C= procentele anterioare. ?upă cum se 0ede reducerea cu 9Y a producţiei normale este repartizată 3oarte di3erit pe consumatori. C+ !+ !; !9 !=
C;
C9 +
C=
!+
+; ; -
++ =
!9 ++
+;
;
C;
C+
9
!;
+
C9
C=
Tabel&l 9.1.4
C+ !+ !;
C;
C9 +
C= +;
!+
+
!;
!9 9
+;
+
C+
C;
C9
C=
++
Probleme de optimizare în teţele de transport şi distribu ţie
!9 + !=
9 -
=
9
Tabel&l 9.1.<
repartiznd producţia diminuată proporţional cu cererile normale. Producţia diminuată reprezintă DY din cea normală, ast3el că termocentralele C +, C;, C9, C= ar urma să primească +,D>D mii t, ++ ,D>DD mii t, += ,D>- mii t, respecti0 +< ,D>+< mii t. &ezol04nd problema echilibrată rezultată obţinem soluţia:
D
; +< 8
+<
!+
-
;
D
C+
+<
!;
!9 8 +<
C;
C9
C=
Eepl&l 9.1.* ?atorită dez0oltării şi e1tinderii capacităţilor de producţie, conducerea 3irmei ( a decis să 3acă noi an"aFări în 3iecare din cele cinci 3abrici ale sale, con3orm datelor din următorul tabel: !abrica Nr. de noi an"aFaţi
' =<
'' D=
''' <
'V -;
V 89
%otal 9+=
Noul personal este recrutat din 9 oraşe mari a3late în zonă, prin intermediul unor a"enţii specializate. Contact4nd aceste a"enţii, 3irma a "ăsit con0enabile următoarele o3erte: $"enţia din oraşul $ Număr de o3erte con0enabile ptr. 3irmă +;
* +
C +<=
%otal 9D=
!abricile sunt situate într/o zonă rurală aşa că, în discuţiile cu sindicatele interesate, 3irma a con0enit să suporte cheltuielile zilnice de întoarcere de la locul de muncă la oraş, la toţi an"aFaţii noi, cheltuieli e0aluate la +; u.m. pe persoană Im. ?istanţele în Im dintre 3abrici şi oraşe sunt indicate în următorul tabel: $ * C
'Pentru'' început ''' conducerea 'V V 3irmei este interesată în a cunoaşte 8c4te persoane ; ; ar putea 8 3i9an"aFate ast3el înc4t cheltuielile totale +=de transport =să 3ie c4t < mai9mici cu putinţă. + = ++ 9 =
ntruc4t disponibilul de personal este mai mare dec4t cererea, 0om introduce o L3abrică 3icti0ăL V' a cărei cerere să 3ie de 9D=/9+= > 8 noi an"aFaţi. )bţinem o problemă echilibrată de transport cu datele din tabelul 9.+.8 al cărei obiecti0 este minimizarea numărului total de persoane 4m. ?eoarece pe rutele care lea"ă oraşele $, *, C de L3abricaL V' nu 0or a0ea loc transporturi de personal, costurile unitare au 3ost luate e"ale cu zero. $ * C Cerere
' 8 += + =<
'' ; = D=
''' ; = ++ <
'V 8 < 9 -;
V 9 9 = 89
V' 8
?isponibil +; + +<= 9D=
Tabel&l 9.1.
$plic4nd al"oritmul de rezol0are descris în secţiunea ;.= se obţine următorul pro"ram posibil de an"aFări 60ezi tabelul 9.+.D7.%oţi cei +; de candidaţi din oraşul $ 0or 3i an"aFaţi: =< la 3abrica ', 8; la 3abrica '' şi restul la 3abrica '''. la 3el, candidaţii din * 0or 3i an"aFaţi în totalitate: 9D la 3abrica ''' şi 89 la 3abrica V. ?in C 0or 3i acceptate numai = de o3erte din cele +<= disponibile adică 8+Y. &ezultă un total 6minim7 de +<+ oameni Im transportaţi pentru care 3irma trebuie să plătească zilnic +;8+; u.m. ' $ =< * C
'' 8; +;
''' +9 9D
'V
V
V'
89 -;
8
+;
Probleme de optimizare în teţele de transport şi distribu ţie
=<
D=
<
-;
89
Tabel&l 9.1.2
Conducerea 3irmei este de părere că adoptarea acestui pro"ram ar creea o ima"ine ne3a0orabilă 3irmei pe piaţa 3orţei de muncă prin LdiscriminareaL potenţialilor lucrători din C 3aţă de cei din $ sau * şi decide să e1amineze şi alte 0ariante. $st3el, pentru a nu apare ca LincorectăL 3aţă de candidaţii potenţiali dintr/un oraş sau altul, s/a decis ca surplusul de 8 de o3erte ce nu 0or putea 3i acceptate să 3ie repartizat în mod e"al între cele trei oraşe, adică ; de 3iecare. !irma doreşte să ştie care 0a 3i e3ectul acestei hotăr4ri asupra cheltuielilor cu transportul noilor an"aFaţi. &eluăm problema 3i14nd numărul de o3erte acceptabile la +; / ; > + pentru oraşul $, + / ; > - pentru * şi +<= / ; > +9= pentru C. 6total 9+=7. &ezultă soluţia din tabelul 9.+.-. $ * C
' =<
'' ;;
''' 99 +D
<;
'V
Con3orm acesteia, numărul total de persoane Im transportaţi 0a creşte la +-D, implic4nd cheltuieli zilnice în 0aloare de +9== u.m., cu 9,=9 Y mai mari dec4t în 0arianta studiată anterior. Noul pro"ram satis3ace o3erta de 3orţă de muncă în proporţie de -9,9 Y pentru $, - Y pentru * şi -D Y pentru C.
V 89
-;
Tabel&l 9.1.=
Plec4nd de la ultima soluţie, conducerea 3irmei doreşte să cunoască ce implicaţii ar putea a0ea asupra cheltuielilor de transport satis3acerea o3ertelor în aceeaşi proporţie. Not4nd cu a+, a;, a9 0olumul o3ertelor acceptabile din $, *, repecti0 C este necesar ca: a+ +;
a; +
a9 +<=
a+ a ; a 9 +; + +<=
9+= 9D=
din care rezultă: a+ > ++ , a; > -= , a9 > +;. Cu noile date se obţine pro"ramul: $ * C
' =<
'' ;D
''' ; ;+
=D
'V
V 89
-;
Soluţia "ăsită implică +- oameni Im de transportat zilnic la un cost de +98- u.m., cu 9,8 Y mai mare dec4t în prima 0ariantă.
Tabel&l 9.1.>
!ireşte, în adoptarea deciziei asupra 0ariantei 3inale a pro"ramului de noi an"aFări, conducerea 3irmei poate să ţină seama şi de alte cerinţe care nu au 3ost a0ute în 0edere în studiul întreprins. n consecinţă, soluţiile sintetizate în tabelele 9.+.D , 9.+.- şi 9.+. trebuie considerate ca simple LscenariiL menite să aFute 3actorii decizionali în luarea unei hotăr4ri c4t mai buneJ
4.9.*. Blo(area &"or r&!e P4nă în prezent am admis că orice rută dintre un 3urnizor şi un consumator poate 3i utilizată la un cost de transport mai mic sau mai mare. Sunt cazuri în care, din di3erite moti0e una sau mai multe rute nu pot 3i utilizate. *locarea acestor rute se 0a 3ace prin introducerea unor costuri unitare de transport 3oarte mari. Concret, dacă ruta 6! i,C #7 nu mai poate 3i 3olosită 0om lua ci# > unde este o constantă poziti0ă 3oarte mare.
Eepl&l 9.*.1 n e1emplul 9.+.+ am determinat pro"ramul lunar normal de apro0izionare cu cărbune al celor patru termocentrale în ipoteza că toate rutele erau disponibile 6tabelul 9.+.;7. #0ident, acest pro"ram nu 0a su3eri nici o modi3icare în cazul în care se blochează o rută ce nu era pre0ăzută a 3i utilizată. Să presupunem că în luna următoare ruta 6! 9,C97 se 0a închide temporar din cauza unor lucrări de modernizare. n acest 3el, mina ! 9 nu mai poate apro0iziona direct termocentrala C 9. Pentru a determina schimbările din pro"ramul actual cauzate de această întrerupere ree0aluăm mărimile i# lu4nd de astă dată în calcul c99 > .
»
v+> 9 u+>+/ u; > u9 >
+
v;>9 9 -
v9> +;
v=>; +<
;
+/ /+ @
;/ @ @
@ /D @
/;/ @ /=
Tabelele 9.*.1 7 9.*.*
+9
Probleme de optimizare în teţele de transport şi distribu ţie
?eoarece ;9 > / D , soluţia curentă nu mai este optimăB ea se îmbunătăţeş te 3olosind conturul
poli"onal indicat. Noul pro"ram de transport, pus în e0idenţă în tabelul 9.;.9 nu mai utilizează ruta blocată 6! 9,C97 şi ca urmare costul său creşte, aFun"4nd la ++ u.m.
+; ;
+ +
+
+<
Tabel&l 9.*.9
Eepl&l 9.*.* Vom studia acum o problemă de transport LparametricăH care e1tinde într/un 3el consideraţiile anterioare. &eluăm problema apro0izionării cu cărbune a termocentralelor din e1emplul precedent 6cu datele din tabelul 9.+.+7. Să presupunem că pentru transportul cărbunelui de la mina ! + la termocentrala C9 e1istă mai multe 0ariante ce pot 3i 3olosite într/o lună sau alta în 3uncţie de pro"ramul de întreţinere, reparare şi modernizare a reţelei de căi 3erate. Posibilele schimbări ale traseului au un e3ect direct asupra costului unitar de transport c+9 > + luat iniţial în calcul. Ne propunem să studiem e3ectul pe care îl are 0ariaţia costului c+9 asupra pro"ramului optim de transport şi a costului total a3erent. Pentru aceasta, considerăm soluţia optimă determinată în cazul particular c+9 > + 60ezi tabelul 9.+.;7 şi recalculăm mărimile i# lu4nd c+9 > $ 0ariabil. v+> 9
v; >9
u+>$ / < u; > u9 > +
9 -
v9 >< v= >; +; +< ;
$ /< /+ @
@ /; @
$ /= @ @
$ /@ /=
Tabelele 9.*.4 7 9.*.<
Condiţia de optimalitate i# conduce la concluzia că at4ta timp c4t c+9 = pro"ramul optim de transport este cel a3işat în tabelul 9.+.; 6sau 9.;.=7 cu costul total f > +9 E +;c+9. ?acă c+9 depăşeşte Lcu puţinL = din tabelul 9.;.< rezultă +; şi soluţia din tabelul alăturat nu mai este optimă. !olosind conturul poli"onal asociat rutei 6+,;7 / indicat în tabel / rezultă soluţia din tabelul 9.;.8 v+>9 u+>$/< u; >$/= u9>
v;>D/$ - 9
+
v9>< v=>8/$ = +< +
!+
= -
!;
!9 +
+ C;
C+
Tabel&l 9.*.
9
C9
+<
C=
%estarea optimalităţii acestei soluţii este 3ăcută în tabelul 9.;.D 3olosind 0alorile ui , v # înscrise la st4n"a şi deasupra tabelului 9.;.8. Condiţia i# : arată că soluţia "ăsită este optimă at4ta timp c4t = c+9 < . Costul asociat are 0aloarea +9< E =c+9 u.m. Pentru c+9 < a0em ++ > ;+ A .!olosind conturul poli"onal asociat rutei @ @ /= $ /< 6+,+7 se "ăseşte soluţia din tabelul 9.;.- al cărei cost este de +<< u.m. @ @ $ /< $ /8 @ @ =/ $ /$ Tabel&l 9.*.2
= 8
!+
- 9
+< +=
Tabel&l 9.*.=
=
C+
-
9
!;
!9 +=
8
C;
C9
+<
C=
Se obser0ă că pe măsură ce costul unitar c+9 creşte, ruta 6! +,C97 este 3olosită din ce în ce mai puţin p4nă c4nd este abandonată.
4.9.9. Al!e problee red&(!%b%le la problea de !ra"#por! ?eşi nu implică transporturi 3izice unele probleme pot 3i aduse la 3ormatulH problemei de transport.
Eepl&l 9.9.1 ) 3irmă specializată în producerea de echipament electric are de e1pediat un număr de "eneratoare la s34rşitul lunilor 'anuarie, !ebruarie şi artie. n 3iecare lună, 3irma produce, în re"im normal
+=
Probleme de optimizare în teţele de transport şi distribu ţie
de lucru, un anumit număr de "eneratoare. ?acă necesităţile o impun, prin or"anizarea unr schimburi prelun"ite, 3irma poate produce şi peste pla3oanele normale dar la un cost mai ridicat. Kuna Ni0elul cererii 6buc.7 Volumul producţiei în re"im normal de lucru 6buc.7 Volumul producţiei suplimentare 6buc.7 Costul unui "enerator din producţia normală 6u.m.7 Costul unui "enerator din producţia suplimentară 6u.m.7
'anuarie D = = <
!ebruarie 8 D = = 8
artie +; D < < -
Tabel&l 9.9.1
?upă cum se 0ede, în luna artie, c4nd cererea este mai mare şi costurile de producţie sunt mai mari, ca urmare a unor tendinţe in3laţioniste ce pot 3i pre0izionate din 0reme: creşteri plani3icate ale salariilor sau creşterea preţurilor la materiile prime. ?eoarece costurile de producţie nu sunt constante, 3irma 0a 3i interesată în a produce mai mult în lunile în care costurile sunt mai mici 3orm4nd ast3el un stoc de produse 3inite din care să acopere, cel puţin în parte, cererea din lunile în care costurile sunt mai mari. Pentru 3iecare "enerator e1pediat în altă lună dec4t cea în care a 3ost produs, e1istă un cost suplimentar de stocare de + u.m. pe lună. >biectivul urmărit este elaborarea unui program de fabricaţie pentru satisfacerea comenzilor la un cost total de producţie şi stocare minim. Pentru a 3ormula o problemă de transport trebuie să identi3icăm mai înt4i sursele şi destinaţiile. n 3iecare lună un "enerator poate 3i produs în două moduri: în timpul normal de lucru sau peste pro"ramHB 0or e1ista deci ;9 > 8 surseH ale căror disponibile sunt ni0elele de producţie corespunzătoare. $st3el, sursa "anuarieproducţie normală< are un disponibil de D bucăţi în timp ce sursa ?artieproducţie suplimentară= are un disponibil de < bucăţi. ?estinaţiile se identi3ică cu sfrşiturile celor trei luni c4nd cererile trebuie acoperite. ntre cele 8 surse şi 9 destinaţii se creează 8 9 > +- le"ături 6rute7B 3iecare indică luna în care este produs un "enerator, modul în care acesta este produs 6în re"im normal de lucru sau peste pro"ramH7 şi luna în care este e1pediat. ?in cele +- le"ături, 8 0or 3i blocate deoarece e1primă un nonsens: li0rarea unui produs 3init într/o lună anterioară celei în care a 3ost 3abricatJ Costurile unitare de transport pe rutele neblocate sunt în 3apt costurile unitare de producţie la care se adau"ă e0entualele cheltuieli de stocare. $st3el, pe ruta "anuarieproducţie suplimentară ?artieH costul unitar de transport 0a 3i e"al cu costul 3abricării unui "enerator peste ni0elul producţiei normale din 'anuarie la care se adau"ă costul stocării pe două luni, adică <E; + > D u.m. $m obţinut o problemă de transport ale cărei date sunt prezentate în tabelul 9.9.;. ?estinaţii 'anuarie !ebruarie artie ?isponibil Surse 'an./prod. normală 'an./prod, suplim. !eb./prod. normală !eb./prod. suplim. artie/prod. normală artie/prod. suplim.
= <
< 8 = 8
8 D < D < -
Cerere
-
8
+;
D = D = D < 9= ;8
+<
Probleme de optimizare în teţele de transport şi distribu ţie
Tabel&l 9.9.*
?eoarece o3erta totală întrece cererea totală 69= ;87 este necesar să ec&ilibrăm problema introduc4nd un consumator 3icti0 care să preia di3erenţa 9= / ;8 > - buc. 'n0ităm cititorul să rezol0e problema echilibrată, a0ertiz4ndu/l că aceasta are mai multe soluţii optimeJ 5na dintre ele este interpretată în 3i"ura 9.9.+B costul asociat este de +;< u.m. 'anuarie
D
Prod. normală D buc. Prod. s uplim. = buc.
+ 9
!ebruarie
!ebruarie
8
Prod. no rmală D buc. Prod. suplim. + buc.
'anuarie Cerere: - buc.
+
Cerere: 8 bu c .
+ artie
artie Prod. no rmalăD buc.
Cerere: +; buc .
D
Prod. s uplim. < buc.
+%,&ra 9.9.1
Eepl&l 9.9.* !oarte 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 ser0ească în următoarele n zile 6în re"im de rezer0are7 0a a0ea ne0oie de r i şer0ete de masă curate, i > +,...,n. Pentru procurarea acestor şer0ete el are la dispoziţie două posibilităţi: 3ie să le cumpere la preţul de a u.m. bucataB 3ie să trimită şer0etele murdare la o spălătorie. n ser0iciul normal, şer0etele spălate sunt li0rate după p zile la un cost de c u.m. bucataB în ser0iciul de ur"enţă, şer0etele spălate se li0rează după @ A p zile la un cost b c u.m. bucata.
+8
Probleme de optimizare în teţele de transport şi distribu ţie
ornind fără nici un şervet utilizabil, cum trebuie să procedeze patronul cu ac&iziţionarea şi spălarea şervetelor astfel înct să minimizeze costul total pe perioada celor n zileA Pentru a trata problema enunţată ca o problemă de transport este necesar să identi3icăm: +7 produsul ce trebuie transportat şi distribuitH, ;7 sursele, 97 destinaţiile, =7 le"ăturile 6rutele7 permise între surse şi destinaţii şi <7 costurile unitare de transport.
+7
Produsul de transportat şi distribuit îl constituie şervetele
ma1 ri $ r i +i n
69.9.+ 7
i +
ai departe, la s34rşitul unei zile, să zicem i, cele r i şervete murdare se constituie ca o sursă de şervete curate pentru zilele următoare 63ireşte, după ce în prealabil au 3ost spălateJ7. !ace e1cepţie ultima zi, a n/a, cînd şer0etele murdare se aruncă pur şi simplu la deşeuri 6se 3ace ipoteza că în perioada următoare, patronul 0a utiliza alt stoc de şer0ete noi...7. n consecinţă, pe lîn"ă sursaH ! , 0om mai considera alte n / + surseH ! +, !;,..., !n/+, corespunzătoare zilelor +, ;,..., n/+, cu disponibileleH r +, r ;,..., r n/+. 97 #ste 3iresc ca fiecare din cele n zile să fie socotită ca o destinaţie a cărei cerere este e"ală cu numărul şer0etelor curate. Vom a0ea deci n destinaţii C+, C;,..., Cn , corespunzătoare zilelor +, ;,..., n cu cererile r +, r ;,..., r n. ?atorită relaţiei 69.9.+7 o3ertaH totală de şer0ete curate acoperă cererea totală: $ r+ r; rn+ r+ r; rn+ rn
% $ rn
r i 7, problema este din start echilibratăB dacă S r n , 0om ?acă S > r n 6care are loc numai dacă rn ma1 +i n introduce o destinaţie suplimentară C cu cererea S / r n. Situaţia şer0etelor cu destinaţiaH C se interpretează di3erit: acelea care pro0inH de la sursa ! reprezintă şer0ete pe care patronul intenţiona să le cumpere dar a renunţat deoarece nu mai a0ea ne0oie de eleB cele care pro0in de la oricare din sursele ! +, !;,..., !n/+ reprezintă şer0ete murdare care nu mai sunt trimise la spălat 3iind aruncate la deşeuri. =7 şi <7 $04nd în 0edere semni3icaţia ei, sursa ! este le"ată de toate destinaţiile C +, C;,..., C n , costul unitarH comun pe aceste rute 3iind preţul de cumpărare al unui şer0et nou. Să considerăm acum o sursă oarecare !i, i > +, ;,..., n/+, al cărei disponibilH este 3ormat din cele r i şer0ete 3olosite în ziua i. $ceste şer0ete, sau o parte din ele, de0in disponibile pentru o nouă 3olosire abia după @ zile, adică după ce au 3ost trimise la spălătoria rapidă. în concluzie, ruteleH 6! i, C #7 cu + # A i E @ sunt lipsite de sens şi 0or 3i blocate printr/un cost 3oarte mare. Pe rutele 6! i, C #7 cu iE @ # A i E p se 0a practicaH costul b al spălării unui şer0et în re"im de ur"enţă iar pe rutele 6! i, C #7 cu i E p # n, se 0a practica costul c al spălării unui şer0et în re"im normal. n 3ine, sunt permise toate rutele către destinaţia C / în caz că aceasta trebuie a0ută în 0edereJ / cu costul comun zero. Consideraţiile precedente sunt ilustrate prin următorul caz concret: n > < zile ziua i cererea r i
+ 8
; <
9 -
= =
< 8
preţul unui şer0et nou: a > < durata ser0iciului normal: p > ; zile durata ser0iciului rapid: @ > + zi costul spălării unui şer0et în re"im de ur"enţă: b > ; u.m. costul spălării unui şer0et în re"im normal: c > + u.m.
?in 69.9.+7 rezultă că - S ;-. în tabelul 69.9.97 apar datele problemei de transport corespunză toare. C+
C;
C9
C=
C<
C
?isponibil
+D
Probleme de optimizare în teţele de transport şi distribu ţie ! !+ !; !9 != Necesar
< 8
< ; <
< < + + ; + ; - = Tabel&l 9.9.9
< + + + ; <
S / <
S 8 < - = S E ;9
Problema are mai multe soluţii optimeB structura unora depinde de numărul S de şer0ete noi pe care patronul intenţionează să le cumpere la începutJ 'n0ităm cititorul să 3acă calculele necesare, lu4nd ca model studiul problemei parametrice de transport din e1emplul 9.;.;. )ricare din aceste soluţii implică un cost total de D9 u.m. a cărui structură 0a 3i detaliată pe soluţia din tabelul 9.9.=. C+ C; C9 C= C< C ! 8 ; S / - !+ 9 9 !; < !9 = = != + 9 Tabel&l 9.9.4
?in prima linie a tabelului 9.9.= rezultă că patronul 0a trebui să cumpere - de şer0ete noi: 8 0or 3i 3olosite în prima zi, restul a doua zi. ?in a doua linie rezultă că 9 din şer0etele 3olosite în prima zi 0or 3i trimise la spălătoria rapidă pentru a 3i disponibile a doua zi. &estul de 9 0or 3i spălate în re"im normal pentru a 3i 3olosite în ziua a treia ş.a.m.d. 5ltima linie arată că din cele = de şer0ete întrebuinţate în a patra zi, + 0or 3i spălate rapid, pentru a putea 3i 3olosite a doua zi iar celelalte 9 0or 3i aruncate la deşeuri 6acolo unde 0or aFun"e şi cele < de şer0ete murdăriteH în ultima zi7. %abelul poate 3i citit şi pe coloaneH. $st3el din coloana a treia deducem că necesarul de şer0ete pentru a treia zi este asi"urat prin spălarea în re"im normal a 9 şer0ete 3olosite în prima zi şi prin spălarea în re"im de ur"enţă a celor < de şer0ete 3olosite în a doua zi. n re"im normal sunt spălate 9 E = > D şer0ete iar în re"im de ur"enţă 9 E < E = E + > +9 şer0ete. Structura costului total este deci următoarea: - < E +9 ; E D + > = E ;8 E D > D9 u.m. Structura soluţiei analizate este 0izualizată în 3i"ura 9.9.;. 9 9
S
8
Ziua + Necesar: 8 şer0ete
= <
Ziua ; Necesar: < şer0ete
= Ziua 9 Necesar: - şer0ete
+ Ziua < Ziua = Necesar: 9 Necesar: < şer0ete = şer0ete
<
;
+%,&ra 9.9.*
+-