Sunteți pe pagina 1din 25

CURSUL 8

CAPITOLUL II PROBLEME DE OPTIMIZARE IN RETELE DE TRANSPORT SI DISTRIBUTIE


1. Modelarea problemelor de transport i distribu ie
ntr-o mare varietate de contexte se pune problema deplasrii unei cantit i Q ce poate fi materie, energie, informa ie, etc. din unele locuri numite surse n alte locuri numite destina ii, aceast deplasare realizndu-se pe anumite rute de legtur. Unit ile indivizibile ale cantit ii Q care se deplaseaz de-alungul rutelor se vor numi unit i de flux.

1.1 O clasificare a problemelor de transport i distribu ie


Pentru Cercetarea Opera ional, problema enun at va prezenta interes numai dac respect urmtoarele ipoteze: a) cel pu in o surs poate aproviziona mai multe destina ii i cel pu in o destina ie poate primi unit i de flux de la mai multe surse. Rutele de legtur pot avea i alte puncte comune n afara surselor i destina iilor, numite puncte intermediare sau de tranzit. Nu sunt excluse legturile directe ntre surse sau ntre destina ii. n principiu, orice rut poate fi parcurs n ambele sensuri, dar pot exista i rute cu sens unic.
c11

C1

50

300

100

F1

c12 c13 c21 c22

C2

120

3
100

300

F2

c23

C3

230

4
400

5
200

: surs (furnizor) : destina ie (consumator)

a)
Figura 1.1.1

b)

Ansamblul surselor, destina iilor, al punctelor intermediare i al rutelor de legtur se va numi re ea de transport; el se identific cu un graf neorientat sau par ial orientat ca n figura 1.1.1. b) Unele rute de legtur pot avea limitri superioare i / sau inferioare pentru volumul unit ilor de flux ce se deplaseaz ntr-un sens sau altul. Aceste limitri poart numele de capacit i (inferioare, respectiv superioare). n continuare, vom avea n vedere numai cazul n care toate capacit ile inferioare sunt egale cu zero, capacit ile superioare fiind exprimate prin numere pozitive. c) Exist un cost al deplasrii unei unit i de flux de la un punct al re elei la altul,cost care poate fi exprimat n bani, timp sau distan . Sunt situa ii n care acest cost poate semnifica profitul ob inut de pe urma deplasrii. Pe aceeai rut, costurile ce i capacit ile pot diferi n func ie de sensul de parcurgere. Ipoteza a) va fi ntotdeauna presupus n timp ce ipotezele b) i c) pot fiin a separat sau simultan. 1) n prezen a ipotezei c) i absen a condi iei b) se pune problema deplasrii cantit ii de flux Q de la surse la destina ii la un cost total minim. Dac sursele sunt n legtur direct cu destina iile ob inem problema clasic de transport, care va face obiectul sec iunilor imediat urmtoare. Cazul general, n care exis i puncte intermediare, este cunoscut sub numele de problema transferului i el nu face obiectul

Probleme de optimizare n te ele de transport i distribuie

cursului de fa . n cazul particular al unei singure surse s, al unei singure destina ii t i a unei singure unit i de flux se ob ine problema drumului de cost minim de la s la t. 2) n prezen a ipotezei b) i absen a ipotezei c) se pune problema dac re eaua, ale crei rute sunt capacitate, este capabil s permit acoperirea integral a cererilor n punctele de destina ie. Pentru aceasta, se va rezolva problema determinrii volumului maxim Q* de unit i de flux ce pot fi deplasate de la surse la destina ii. Dac Q* < Q vor exista destina ii a cror cerere este acoperit doar n parte i atunci se ridic problema mririi capacit ii de transfer a re elei. Am descris succint problema fluxului maxim. 3) n prezen a simultan a ipotezelor b) i c) se pune problema satisfacerii cererilor n punctele de destina ie la un cost de transport minim. Ca i n cazul precedent vom avea n vedere o problem modificat: vom determina mai nti cantitatea maxim de flux ce poate fi deplasat de la surse la destina ii i apoi modul de organizare al deplasrii astfel nct costul opera iei s fie minim. Aceasta este problema fluxului (maxim) de cost minim. n sec iunile urmtoare ne vom ocupa numai de problema clasic de transport; ea va fi privit ca o problem de programare liniar cu o structur special i rezolvat prin metodele programrii liniare. Celelalte probleme identificate vor fi tratate n cuprinsul Capitolului 3 al cursului, Teoria Grafurilor.

1.2 Problema clasic de transport. Problema de transport echilibrat (PTE)


Un produs omogen (de exemplu bere) se afl disponibil n localit ile F1, F2, ..., Fm n cantit ile a1, a2, ..., am i este cerut pentru consum n centrele C1, C2, ..., Cn n cantit ile b1, b2, ..., bn. Se presupune cunoscut costul cij al transportului unei unit i 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 condi ie necesar i suficient pentru existen a unei solu ii a problemei formulate este ca totalul cantit ilor disponibile s acopere totalul cererilor:
i =1

ai b j
j =1

(1.2.1)

n continuare, condi ia (1.2.1) va fi presupus ndeplinit. Vom presupune de asemenea c : ai > 0, i = 1,...,m i bj > 0, j = 1,...,n. Dac notm cu xij cantitatea livrat de furnizorul Fi consumatorului Cj, modelul matematic al problemei (clasice) de transport este:
(PT) S se determine ( xij ) i = 1,..., m , j = 1,..., n care satisfac restric iile:

xij a i
j =1

i = 1,..., m

(1.2.2) (1.2.3)

i =1

xij b j

j = 1,..., n

condi iile de nenegativitate:

xij 0 1 = 1,..., m
i care minimizeaz finc ia obiectiv:

j = 1,..., n

f = cij xij
i =1 j =1

m n

(1.2.4)

Inegalit ile (1.2.2) exprim cerin a ca totalul livrrilor fiecrui furnizor s se ncadreze n disponibil; inegalit ile (1.2.3) arat c cererea fiecrui consumator trebuie s fie acoperit prin totalul cantit ilor primite; n fine, (1.2.4) este expresia costului total al transportului.

Probleme de optimizare n te ele de transport i distribuie

Vom spune c problema de transport (PT) este echilibrat dac:

i =1

ai = b j
j =1

(1.2.5)

Se observ imediat c (1.2.5) atrage dup sine satisfacerea cu egalitate a restric iilor (1.2.2) i (1.2.5). Prin urmare, modelul matematic al unei probleme de transport echilibrate este:
n x = a i = 1,..., m i j =1 ij m x ij = b j j = 1,..., n ( PTE)i =1 x ij 0 m n (min) f = c x ij ij i =1 j =1

(1.2.6) (1.2.7)

Remarcm faptul c (PTE) este o problem de programare liniar n form standard, cu m + n restric ii i mn variabile. Se arat uor c matricea A a coeficien ilor sistemului de restric ii 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 ecua ie fr ca mul imea solu iilor admisibile s se modifice. n consecin : Orice solu ie de baz a problemei (PTE) are cel mult m + n - 1 componente nenule. O solu ie de baz a problemei (PTE) se va numi nedegenerat dac are exact m + n - 1 componente nenule; altminteri, ea se va zice degenerat. n continuare, vom presupune c orice solu ie a problemei (PTE) este nedegenerat. Cazul n care (PTE) are i solu ii degenerate va fi analizat n sec iunea 2.5. x11 1 M i M m 1 M j M n 1 0 0 1 0 0 ...x1j.. . ....1.. .. ....0.. . ....0.. . ....0.. . ....1.. .. ....0.. .. x1n 1 0 0 0 0 1 ......... . xi1 0 1 0 1 0 0 ...xij... ....0... ....1... ....0... ....0... ....1... ....0... xin 0 1 0 0 0 1
Tabelul 1.1.1

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

xm1 0 0 1 1 0 0

...xmj... .....0... . .....0... . .....1... . .....0... . .....1... . .....0... .

xmn 0 0 1 0 0 1

1.3 Cteva elemente de teoria grafurilor n sec iunea 1.1 am vizualizat elementele unei re ele de transport printr-un desen compus din puncte i arce care unesc unele din aceste puncte (vezi figura 1.1.1). Un asemenea desen constituie forma uzual de prezentare a unui concept deosebit de important, att n sine ct i pentru studiul unei impresionante variet i de probleme din cele mai diverse domenii, domeniul economic fiind prioritar.

Probleme de optimizare n te ele de transport i distribuie

Am socotit deci necesar s includem aici cteva elemente privitoare la conceptul de graf, cci despre el este vorba. Aceste elemente vor fi foarte utile pentru n elegerea considera iilor teoretice dezvoltate n legtur cu rezolvarea problemei de transport i de asemenea constituie cadrul natural de abordare i a celorlalte probleme amintite n clasificarea dat n sec iunea precedent. Un graf este un cuplu G = (V,E) format dintr-o mul ime nevid V, ale crei elemente se numesc vrfuri sau noduri i o mul ime E de elemente, zise muchii, cu proprietatea c fiecrei muchii e E i sunt asociate dou noduri x, y V, nu neaprat distincte, numite extremit ile muchiei e. Un subgraf al grafului G = (V,E) este un graf G = (V,E) n care V V, E E i orice muchie e E are aceleai extremit i att n G ct i n G. Dup cum se vede, defini ia general nu exclude existen a muchiilor cu o singur extremitate (aceste muchii se numesc bucle), nici existen a mai multor muchii cu aceleai extremit i (figura 1.3.1 a)

x y t
a) b) Figura 1.3.1

Graful G se va numi simplu dac nu are bucle i oricare dou noduri sunt extremit i pentru cel mult o muchie. Vom spune c G este finit dac vrfurile i muchiile sale sunt n numr finit. n continuare, vom avea n vedere n exclusivitate grafuri finite i simple aa cum este cel reprezentat grafic n figura 1.3.1 b). Fie e = {x, y} o muchie a grafului G = (V,E); extremit ile sale pot fi ordonate n dou moduri: (x, y) i (y, x). Cele dou perechi se numesc rute orientate sau arce generate de muchia subiacent e; spunem c arcul (x, y) are extremitatea ini ial x i extremitatea final y i c (y, x) este arcul opus lui (x, y). A orienta muchia {x, y} nseamn a alege unul din arcele (x, y) sau (y, x); dac a fost ales arcul (x, y) vom spune c (x, y) este un arc permis i c arcul (y, x) este blocat. Dac o asemenea alegere nu a fost fcut vom spune c muchia {x, y} este neorientat. n acest caz, convenim ca ambele arce (x, y) i (y, x), generate de muchia {x, y}, s fie considerate permise. n fine, a da o orientare n graful G nseamn a orienta unele din muchiile sale; orientarea poate fi total sau par ial dup cum toate muchiile grafului au fost orientate sau numai o parte din ele. Este clar c n acelai graf G pot fi date mai multe orientri; dac G are m muchii, atunci exist 2m orientri totale diferite ale acestuia! Un graf orientat (par ial orientat, neorientat) este un graf n care s-a dat o orientare total (o orientare par ial, respectiv nu s-a dat nici o orientare); de exemplu, graful din figura 1.1.1 a) este (total) orientat iar cel din figura 1.1.1 b) numai par ial. Graful din figura 1.3.1 b) este neorientat. n unele situa ii este util s se pun n eviden arcele permise ale unui graf (par ial) orientat; realizarea grafic, intuitiv a acestei opera ii este fcut n figura 1.3.2.

z t
Figura 1.3.2

Probleme de optimizare n te ele de transport i distribuie

Se constat uor c dac G este (total) neorientat, numrul arcelor permise este de dou ori mai mare dect numrul muchiilor din G. n continuare vom introduce o serie de no iuni frecvent utilizate n teoria grafurilor. Unele din ele se refer la muchii i de aceea se numesc generic concepte neorientate altele se refer la rutele orientate permise, drept care se mai numesc i concepte orientate. Vom considera un graf (finit, simplu) G =(V,E), n care (eventual) s-a dat o orientare pe unele din muchii (posibil pe toate). Un lan n graful G este o succesiune de noduri = (x0, x1, ... , xp -1, xp) cu proprietatea c {x0, x1}, {x1, x2}, ..., {xp -1, xp } sunt muchii n G. Vom spune c x0 i xp sunt extremit ile lan ului i c trece prin nodurile intermediare x1, ... , xp -1. Lan ul se zice simplu dac nu trece de dou ori prin acelai nod. Prin defini ie lungimea lan ului este dat de numrul muchiilor componente. Astfel, lan urile de lungime unu se identific cu muchiile grafului G; un lan de lungime doi este constituit din dou muchii adiacente (au o extremitate n comun). Un ciclu este un lan ale crui extremit i coincid. n figura 1.3.1 b) succesiunile de noduri = (x, y, t, u, v) i = (x, z, y, t, z, v) sunt lan uri: este un lan simplu de lungime 4 n timp ce are lungimea 5 i nu este simplu. Succesiunea = (x, y, t, u, x) este un ciclu de lungime 4. Un drum n graful G este o succesiune de noduri = (x0, x1, ... , xp -1, xp) cu proprietatea c (x0, x1), (x1, x2), ..., (xp -1, xp) sunt arce permise. Nodul x0 este extremitatea ini ial a drumului iar xp extremitatea final. Un circuit este un drum ale crui extremit i coincid. Este clar c orice drum este un lan , reciproca nefiind adevrat ntotdeauna. n figura 1.3.2, = (z, t, x) este un drum de lungime 2 iar = (x, y, t, x) este un circuit de lungime 3; n acelai graf, = (z, x, y) este un lan care nu este un drum deoarece arcul (z, x) este blocat.

Graful G
G1

G2

Graful G = (V,E) se zice conex dac oricare dou noduri ale sale sunt extremit ile unui lan . Dac G nu este conex, exist parti iile V = V1V2....Vs i E = E1E2....Es astfel nct G1 = (V1,E1) , G2 = (V2,E2) , ..., Gs = (Vs,Es) sunt grafuri conexe. Subgrafurile G1, G2,...., Gs se numesc componentele conexe ale grafului G. Graful din figura 1.3.2 este conex (ca i cele din figurile anterioare); graful din figura 1.3.3 are trei componente conexe.

G3

Figura 1.3.3

Graful G = (V,E) se numete bipartit dac mul imea nodurilor sale poate fi descompus n dou submul imi nevide i disjuncte S i T, astfel nct orice muchie din G are o extremitate n S i cealalt n T. Este clar c graful asociat unei probleme clasice de transport este bipartit, nodurile care reprezint furnizorii formnd mul imea S iar nodurile corespunztoare consumatorilor alctuind mul imea T. Calitatea unui graf de a fi bipartit nu depinde de modul particular de reprezentare aa cum arat exemplul din figura 1.3.4. O caracterizare complet a grafurilor bipartite este oferit de urmtoarea teorem:
S a b T a

b c

Teorema Knig: Un graf este bipartit dac i numai dac nu con ine cicluri de lungime impar (altfel spus, orice Figura 1.3.4 ciclu al su are un numr par de muchii). Un arbore este un graf conex i fr cicluri (figura 1.3.5) Orice arbore este complet caracterizat de oricare din urmtoarele propriet i: 1) Orice arbore cu p noduri are p - 1 muchii. 2) ntre oricare dou noduri ale unui arbore exist un unic lan de muchii. 3) Dac ntre dou noduri ale unui arbore adugm o muchie se creeaz un unic ciclu (figura 1.3.6). 4) Dac dintr-un arbore scoatem o muchie, graful se disconecteaz (figura 1.3.7).

Probleme de optimizare n te ele de transport i distribuie

adaug
F ig u ra 1 .3 .5
** **

**

Figura 1.3.6

scoate

Figura 1.3.7 Un arbore H ntr-un graf G este un subgraf care - de sine stttor - este un arbore. H se zice maximal dac con ine toate nodurile grafului G (figura 1.3.8).

Arbore nemaximal n G Figura 1.3.8

Arbore maximal n G

IMPORTANT: Toate conceptele introduse n cadrul acestei sec iuni constituie introducerea la Capitolul 3 Teoria Grafurilor i nu vor mai fi reluate cu acea ocazie.

1.4 O caracterizare n termeni de grafuri a solu iilor unei PTE


S considerm graful G asociat unei probleme de transport echilibrate (PTE). Acesta are m + n vrfuri i deci orice arbore maximal n G va avea m + n - 1 muchii. S considerm o solu ie de baz x = ( xij ) a problemei; n sec iunea 1.2 am fcut ipoteza c ea este nedegenerat. Se poate demonstra c cele m + n - 1 muchii {Fi, Cj}, corespunztoare componentelor nenule din x, formeaz un arbore maximal n G. i reciproca se dovedete a fi adevrat. Fie H un arbore maximal n G; n sistemul celor m + n egalit i (1.2. ) , (1.2. ) s punem xij = 0 pentru toate muchiile {Fi, Cj} care nu sunt n H. Rmne un sistem de m + n ecua ii cu m + n - 1 necunoscute. Eliminnd una din ecua ii, sistemul rmas are o unic solu ie care este o solu ie de baz a PTE. Are loc urmtoarea teorem: ntre solu iile de baz ale PTE - toate presupuse nedegenerate - i arborii maximali ai grafului G exist o coresponden bijectiv.

Probleme de optimizare n te ele de transport i distribuie

Observa ie: Orice solu ie 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 con ine componentaxij a solu ieix. Exemplul 1.4.1 S considerm problema de transport echilibrat definit de urmtoarele date: F1 F2 F3 Necesar Modelul matematic: C1 3 3 4 10 C2 3 4 3 12 C3 1 3 6 9 C4 4 6 2 19 Disponibil 15 17 18 50

Tabelul 1.4.1

x11 + x12 + x13 + x14 = 15 x 21 + x 22 + x 23 + x 24 = 17 x 31 + x 32 + x 33 + x 34 = 18 x11 + x 21 + x 31 = 10 x12 + x 22 + x 32 = 12 x13 + x 23 + x 33 = 9 x14 + x 24 + x 34 = 19 x ij 0 (min) f = 3x11 + 3x12 + x13 + 4 x14 + 3x 21 + 4 x 22 + + 3x 23 + 6 x 24 + 4 x 31 + 3x 32 + 6 x 33 + 2 x 34
Propunem cititorului s arate c urmtoarea solu ie este bazic:
F1

C1

10

5 7

1 18

Arborele maximal, corespunztor acestei solu ii este format din muchiile pline.

C2 F2 C3 F3 C4

Reciproc, s considerm n G urmtorul arbore maximal:


C1 F1 C2 F2

Anulm n sistemul restric iilor toate variabilele xij cu proprietatea c muchiile corespunztoare {Fi,Cj} nu apar n arbore. Rezult sistemul i solu ia:
x11 + x13 = 15 x + x = 17 24 22 x 33 + x 34 = 18 x11 = 0 x = 12 22 x13 + x 33 = 9 x + x = 19 34 24

C3

x 11 = 10 x 13 = 5 x 22 = 12 x 24 = 5 x 33 = 4 x 34 = 14

10 12

5 4 14

F3

C4

Probleme de optimizare n te ele de transport i distribuie

2. Adaptarea metodei simplex la rezolvarea PTE


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 propriet i importante pe care o are matricea A a coeficien ilor 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 solu ie de baz va avea componentele ntregi i astfel PTE va avea cel pu in o solu ie optim cu componente ntregi. 2.1 Determinarea unei solu ii admisibile de baz ini iale S considerm urmtorul procedeu general de construire a unei solu ii admisibile a PTE. Componentele ei vor fi determinate progresiv i nscrise ntr-un tabel aa cum s-a men ionat n observa ia din sec iunea 1.4. Ini ializare: Toate cele mn rute ale tabelului sunt considerate neblocate. Etapa k , k 1. Se alege o rut ( Fik , C jk ) dintre cele neblocate. Se pune xik jk = min(aik , b jk ) i se blocheaz ruta aleas. Vom spune c pe ruta (n celula)

( Fik , C jk ) s-a fcut alocarea xik jk .


Se actualizeaz:

a i k a i k x i k jk b j k b jk x ik j k
Dac aik = 0 se pune xik j = 0 pe toate rutele ( Fik , C j ) , j j k nc neblocate, dup care acestea se declar blocate. Dac b jk = 0 se pune xijk = 0 pe toate rutele (Fi , C jk ) , i i k nc neblocate, dup care acestea se declar blocate. Dac toate cele mn rute au fost blocate STOP. Altminteri, se actualizeaz k k + 1 i se reiau opera iile de mai sus. Se constat fr dificultate c ansamblul de valori numerice x = (xij) rezultate n urma aplicrii algoritmului constituie o solu ie admisibil a PTE; se poate arta c x este o solu ie de baz. n ipoteza c valorile xij au fost trecute progresiv n tabelul men ionat la nceput,este uor de vzut c dac la fiecare etap se blocheaz fie rutele apar innd unui rnd fie cele apar innd unei coloane, atunci solu ia construit are exact m + n - 1 componente nenule, altfel spus este nedegenerat. Dac din contr, dup efectuarea unei alocri, se blocheaz simultan att rndul ct i coloana rutei n care s-a fcut alocarea, solu ia rezultat va fi degenerat! Vom discuta n sec iunea 2.5 ce trebuie fcut n acest caz. Toate metodele de generare a unei solu ii ini iale 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 col ului de nord - vest (N - V) , prima rut aleas este (F1,C1). Celelalte se aleg astfel nct 1 = i1 i 2 i3 K i 1 = j1 j2 j3 K 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 diferen elor maxime (Vogel) este o metod mai elaborat. Presupunem costurile unitare de transport nscrise ntr-un tabel cu m rnduri i n coloane.

Probleme de optimizare n te ele de transport i distribuie

Pe fiecare rnd i pe fiecare coloan a acestui tabel se calculeaz diferen a dintre cel mai mic cost de transport i cel imediat superior; dac costul minim nu este unic, diferen a 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 diferen ele pe rndurile i coloanele neblocate folosindu-se numai costuri "neblocate", dup care se reia procedura de alocare. Exemplul 2.1.1 Vom genera o solu ie de baz ini ial pentru problema de transport echilibrat din exemplul 1.4.1, folosind pe rnd cele trei metode sus amintite. 1) Prin metoda col ului N - V se ob ine solu ia: 10
(1)

5 7

(2) (3)

(4)

1 18

(5) (6)

Aten ie: numerele nscrise n paranteze indic ordinea alocrilor!

Tabelul 2.1.1

Costul asociat acestei solu ii: f = 10 3 + 5 3 + 7 4 + 9 3 + 1 6 + 18 2 =142 u.m. 2) Prin metoda costului minim rezult solu ia:
(3)

10

6 6

(4) (5)

(1)

1 18

(6) (2)

Costul asociat: f = 123 u.m.

Tabelul 2.1.2

3) Prin metoda diferen elor maxime se ob ine solu ia: 10


(4)

5 7

(6) (5)

(1)

1 18

(3)

(2)

Costul asociat: f = 122 u.m.

Tabelul 2.1.3

(Cititorul este ndemnat s refac " n dinamic" construc ia solu iilor de mai sus!) Observa ie: Metoda col ului N - V, dei mai simpl, produce n general solu ii cu cost mai ridicat deoarece nu ine seama n nici un fel de costurile unitare de transport. Celelalte metode, acordnd prioritate rutelor "mai ieftine", dau solu ii mai apropiate de solu ia optim. Experimentele numerice au artat c metoda diferen elor maxime produce de foarte multe ori chiar solu ia optim sau n orice caz o solu ie foarte apropiat de aceasta, aa nct mul i utilizatori prefer s-o adopte ca solu ie suboptimal. n aplica iile numerice vom lucra numai cu Metoda costului minim pe tabel, respectiv cu Metoda Vogel.
CURSUL 9

2.2 Testarea optimalit ii unei solu ii admisibile de baz a PTE Fie x = ( xij ) o solu ie admisibil de baz a PTE, presupus nedegenerat. Obiectivul este de a gsi o condi ie pentru recunoaterea optimalit ii sale. S considerm duala problemei de transport echilibrate:
(Q) S se determine u = ( u1 , u2 ,K , um ) i v = ( v1 , v 2 ,K , v n ) care maximizeaz func ia:

g = a i ui + b j v j
i =1 j =1

cu restric iile:

ui + v j cij

i = 1,K , m ; j = 1,K , n

(2.2.1)

Probleme de optimizare n te ele de transport i distribuie

Teorema ecarturilor complementare (cap.I, teorema 2.3.4) arat c solu ia x este optim dac i numai dac exist ( u , v ) = ( u1 ,K , um , v1 ,K , v n ) care satisfac restric iile (2.2.1) ale dualei (Q), astfel nct ( x , u , v ) s verifice rela iile:

xij ( ui + v j cij ) = 0 i = 1,K , m ; j = 1,K , n

(2.2.2)

S notm cu I mul imea rutelor (Fi,Cj) (sau mai simplu (i,j)) cu proprietatea c xij 0 . Deoarece solu ia x a fost presupus nedegenerat, mul imea I are m + n - 1 elemente. Din (2.2.2) rezult c, pentru a fi optim, solu ia dual (u,v ) de mai sus trebuie s verifice rela iile:

ui + v j = cij

( ) (i , j ) I

(2.2.3)

S remarcm c (2.2.3) este un sistem liniar cu m + n - 1 ecua ii i m + n variabile. Deoarece I se identific cu un arbore maximal n graful G asociat PTE (a se revedea sec iunea 1.4 !), sistemul (2.2.3) este ntotdeauna compatibil nedeterminat solu iile sale fiind de forma:

ui = ui0 + k i = 1,K , m ; v j = v 0 k j

j = 1,K , n

(2.2.4)

0 0 0 0 unde k este un parametru iar (u0, v0) = ( u1 ,K , um , v1 ,K , v n ) este o solu ie particular a sistemului (2.2.3). Rezult c valorile expresiilor:

ij = ui + v j cij
nu depind de solu ia (u,v ) a sistemului (2.2.3), deoarece:

(2.2.5)

ij = (ui0 + k ) + (v 0 k ) cij = ui0 + v 0 cij j j


Din considera iile de mai sus deducem urmtorul criteriu de recunoatere a optimalit ii solu iei x: Determinm o solu ie 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 to i ij calcula i sunt 0, atunci (u,v ) este o solu ie a dualei (Q) care mpreun cux satisface condi iile de ecart complementar (2.2.2) i, n consecin ,x este o solu ie optim a PTE. Exemplul 2.2.1 Vom testa optimalitatea solu iei determinate n exemplul 2.1.1 prin metoda diferen elor maxime. v1 u1 u2 u3 10 v2 5 7 v3 9 v4 1 18
Tabelele 2.2.1 - 2.2.2

Sistemul ui + vj = cij (i,j) I u2 +v1 = 3 u1 +v2 = 3 u2 +v2 =4 u1 + v3 = 1 u1 + v4 = 4 u3 + v4 =2

Determinm o solu ie particular a acestui sistem lund u1 = 0

v2 = 3 u1 = 0 v3 = 1 v4 = 4

u2 = 1

v1 = 2

u3 = -2
Figura 2.2.1

Este interesant de urmrit rezolvarea sistemului pe arborele asociat solu ieix:

Probleme de optimizare n te ele de transport i distribuie

C1 u1 = 0 F1 C2 F2 C3 F3 C4
Figura 2.2.2

v1 = 2

v2 = 3 v3 = 1

u2 = 1

u3 = -2

v4 = 4

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. Prezen a unor asemenea mrimi n cazul n care solu ia curent este optim arat c aceasta nu este unic! vezi observa ia 6) din Cap. I, sec iunea 4.2 i sec iunea urmtoare 2.3 din care va rezulta c mrimile ij se identific cu costurile reduse din programarea liniar general.) u1 = 0 u2 = 1 u3 =-2 v1 = 2 -1 * -4 v2 = 3 * * -2 v3 =1 * -1 -7 v4 =4 * -1 *

Tabelul 2.2.3

Constatm c solu ia testat verific criteriul de optimalitate. 2.3 mbunt irea unei solu ii de baz S presupunem c solu ia x considerat n sec iunea precedent nu verific testul de optimalitate; aceasta nseamn c: exist o rut (i0 , j 0 ) = ( Fi0 , C j0 ) I cu proprietatea i0 j0 > 0. Vom construi o solu ie admisibil de baz x mai bun dect x n sensul c x implic un cost total de transport mai mic. Adugm muchia

{F

i0

, C j0 la arborele H corespunztor solu iei x . Conform unei propriet i 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 ntrunul din cele dou sensuri posibile, plecnd de exemplu din nodul Fi0 :

Fi0 C j0 Fi1 C j1 K Fi p C j p Fi0


~ ~ Fie > 0. Construim o solu ie variabil x = ( xij ) a PTE punnd:

(2.3.1)

~ = , ~ = x , ~ = x + ,K , ~ = x ~ xi0 j0 xi1 j0 xi1 j1 xi p j p i1 j0 i1 j1 i p j p + , x i0 j p = x i0 j p ~ xij = xij in rest (2.3.2)

Probleme de optimizare n te ele de transport i distribuie

Deoarece solu ia x este presupus nedegenerat , pentru suficient de mic, (2.3.2) este o solu ie admisibil a PTE. Costul asociat solu iei ~ va diferi de costul asociat solu iei x prin valoarea: x

f = f ( ~ ) f ( x ) = (ci0 j0 ci1 j0 + ci1 j1 ci2 j1 +K+ ci p j p ci0 j p ) = x

[ci0 j0 (ui1 + v j0 ) + (ui1 + v j1 ) (ui2 + v j1 ) +K+ (ui p + v j p ) (ui0 + v j p )] = (ci0 j0 ui0 v j0 ) = i0 j0 < 0 de unde:
f ( ~ ) = f ( x ) i0 j0 x
(2.3.3)

Rela ia (2.3.3) arat c ~ implic un cost total de transport mai mic dect solu ia curent x , diferen a fiind cu x att mai mare cu ct sau i0 j0 este mai mare. Pentru a men ine admisibilitatea solu iei (2.3.2) este necesar ca:

xi1 j0 0 , xi2 j1 0 ,K , xi0 j p 0


de unde rezult c nu poate depi valoarea:

0 = min xi1 j0 , xi2 j1 ,K , xi0 j p = xis js1

(2.3.4)

Lum n (2.3.2) = 0 i notm cu x solu ia ~ corespunztoare. Ea va avea cel mult m + n - 1 componente x nenule; ntr-adevr, n noua solu ie xi j0 = 0 > 0 iar n vechea solu ie xi0 j0 = 0 . Pe de alt parte, 0 componenta xis js 1 corespunztoare minimului din (2.3.4) este acum nul n timp ce n vechea solu ie x era pozitiv. Noua solu ie x este i o solu ie de baz, deoarece ea corespunde arborelui H ob inut din 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 solu ia x generat n exemplul 2.1.1 prin metoda col ului N-V. Aplicm acestei solu ii testul de optimalitate din sec iunea precedent. 10 5 7 u1 +v1 = 3 9 `1 18 Sistemul ui + vj = cij (i,j) I u1 +v2 = 3 u2 + v2 = 4 u2 +v3 = 3 u2 + v4 = 6 u3 + v4 = 2
Tabelele 2.3.1 -2.3.2

Determinm o solu ie particular a sistemului lund de exemplu u2 = 0, dup care calculm mrimile ij = ui + v j cij pentru rutele "neocupate": u1 = -1 u2 = 0 u3 = -4 v1 = 4 * 1 -4 v2 = 4 * * -3 v3 = 3 1 * -7 v4 = 6 1 * *

Rutele "ocupate au fost marcate cu asteriscuri!

Tabelul 2.3.3

Deoarece exist i mrimi ij pozitive, solu ia testat nu este optim. Considerm ruta neocupat (F1,C3) n care 13 = 1 > 0. Adugm la arborele H al solu iei x muchia {F1,C3}:

Probleme de optimizare n te ele de transport i distribuie

C1 F1 C2 F2 C3 F3 C4

F1
Rezult ciclul:

x12 = 5 -

C2

x22 = 7 + F2 x23 = 9 -

x13 = C3

Pe muchiile ciclului au fost puse n eviden componentele din solu ia variabil ~ care depind de parametrul > 0. x

Acest ciclu se poate pune n eviden i n tabelul 2.3.1 al solu iei 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+

1 18

- 9-

Tabelul 2.3.4

Conturul va avea un numr par de "col uri" deoarece acestea corespund muchiilor ciclului. n tabelul 2.3.4 apare n fapt solu ia variabil ~ definit n (2.3.2). Costul asociat al transportului, x calculat cu rela ia (2.3.3) are valoarea:

f ( ~ ) = f ( x ) 13 = 143 1 x
Pentru determinarea comod a lui 0 din (2.3.4) putem proceda astfel: marcm succesiv col urile conturului poligonal cu + i - ncepnd cu + n celula (1,3). Atunci 0 este exact minimul componentelor solu iei x care sunt situate n celulele marcate cu (-): 0 = x12 = 5 . Noua solu ie x apare n tabelul (2.3.5):
C1 F1

10 12

5 4

1 18

i corespunde arborelui H dedus din H {F1,C3} eliminnd muchia {F1,C2}:


F2

C2

Tabelul 2.3.5

C3 F3 C4

Invitm cititorul s repete calculele fcute n acest exemplu plecnd de la solu ia din tabelul 2.3.5. 2.4 Algoritm de rezolvare a PTE. Convergen Ca i pn acum ne vom referi la problema de transport echilibrat (PTE) al crei model matematic a fost prezentat n sec iunea 1.2 i vom presupune n continuare c toate solu iile sale de baz sunt

Probleme de optimizare n te ele de transport i distribuie

nedegenerate. Dezvoltrile teoretice din sec iunile precedente ca i exemplele ilustrative conduc la urmtorul algoritm de rezolvare a PTE. Ini ializare. Se determin printr-o metod oarecare (vezi sec iunea 2.1) o solu ie admisibil de baz de start x = ( xij ). Con inutul unei itera ii. 1) Se asociaz furnizorilor variabilele u1, u2,..., um i consumatorilor variabilele v1, v2,..., vn. Asociem fiecrei rute ocupate (i,j) (aceasta nsemnnd xij >0) o ecua ie de forma ui + vj = cij. Se determin o solu ie particular ( u , v ) a sistemului format. Pentru aceasta se acord o valoare particular (ntotdeauna zero) uneia dintre variabile (de regul, celei care apare de cele mai multe ori); valorile celorlalte variabile se determin apoi n mod unic. Se calculeaz mrimile ij = ui + v j cij pentru toate rutele neocupate (adic acolo unde xij = 0). 2) (Test de optimalitate) Dac to i ij 0 solu ia curent x este optim. n caz contrar: 3) Se identific ruta (i0,j0) cu cel mai mare i0 j0 pozitiv. n tabelul solu iei 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 solu iei x , dup adugarea muchiei {Fi0 , C j0 } !). Se marcheaz alternativ cu + i - col urile ciclului. Se calculeaz 0 ca fiind minimul componentelor xij aflate n celulele marcate cu -. 4) (Construc ia unei noi solu ii) 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 solu iei x rezultate are valoarea:

f ( x ) = f ( x ) 0 i0 j0
Se revine la pasul 1) n cadrul unei noi itera ii.

(2.4.1)

n ceea ce privete convergen a algoritmului, dac toate solu iile de baz ale PTE sunt nedegenerate, algoritmul descris se termin ntr-un numr finit de itera ii cu determinarea unei solu ii optime. ntr-adevr, formula (2.4.1) arat c la fiecare itera ie valoarea func iei obiectiv descrete semnificativ. Cum numrul solu iilor de baz admisibile este finit, algoritmul se oprete obligatoriu ntr-un numr finit de pai, ultima solu ie testat fiind optim. (Cititorul atent va observa desigur c afirma ia precedent i justificarea ei constituie n fapt o simpl reluare a teoremei de convergen 4.5.1 din cap. 1 i a demonstra iei acesteia!)
CURSUL 10

2.5 Degenerare Algoritmul de rezolvare a PTE i convergen a acestuia au fost prezentate n ipoteza c toate solu iile admisibile de baz ale problemei sunt nedegenerate. ansa ca o problem de transport s aibe solu ii degenerate este ns foarte mare i n plus nu avem nici un criteriu pe baza cruia s recunoatem n prealabil existen a acestor solu ii. Este important s observm c: Dac n rezolvarea unei PTE am pornit cu o solu ie nedegenerat i apoi toate solu iile construite au fost de asemenea nedegenerate, procesul iterativ este necesarmente finit. n virtutea acestei observa ii, va fi important s tim cum procedm dac solu ia 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 solu ii de baz nedegenerate! Solu iile celor dou probleme vor diferi cu pu in unele de altele astfel c, dup rezolvarea problemei perturbate prin revenire la problema ini ial se ob ine solu ia 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 situa ie similar se va proceda absolut analog.

Probleme de optimizare n te ele de transport i distribuie

Exemplul 2.5.1 Considerm problema de transport echilibrat definit de datele din tabelul 2.5.1: C1 F1 F2 F3 Necesar 4 6 3 110 C2 2 7 5 90 C3 5 3 4 50 C4 4 8 5 50 Disponibi l 100 100 100 300

Tabelul 2.5.1

n tabelul 2.5.2 este dat solu ia generat prin metoda diferen elor maxime: 10 100
(4)

90

(1)

(3)

50

(2)

50

(5)

Tabelul 2.5.2

Solu ia este degenerat deoarece are 5 < 6 = 3 +4 - 1 componente nenule. Aceast situa ie se datoreaz faptului c la alocarea a 4-a disponibilul curent al furnizorului F1 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 ob ine o solu ie nedegenerat perturbm pu in 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: Actualizm: x11 = min(10 + , 10) = 10 b1 a1 0

Continund aplicarea metodei diferen elor maxime, rezult n final solu ia nedegenerat: 10 (4) (5) 100 (3) dar, pentru problema perturbat!! Aplicm acestei solu ii algoritmul de rezolvare a PTE: v1 = 0 u1 =4 * u2 =6 u3=3 * * v2 = -2 v3 = -3 v4 = 2 * -4 2 -3 -4 * -4 * 0 90
(1) (2) (6)

50

50

Tabelul 2.5.3

_
10 90 50 50

+ _

100

Tabelele 2.5.4 - 2.5.5

Redistribuim n col urile ciclului valoarea: 0 = min {x11 =10 , x24 =50}= 10 Ob inem solu ia:

90 10 + 100 50
Tabelul 2.5.6

10 40

Probleme de optimizare n te ele de transport i distribuie

Pentru = 0 se gsete o solu ie nedegenerat a problemei originale algoritmul: v1=6 v2=6 v3=3 v4=8 90 10 -2 * -6 u1 = -4 u2=0 10 50 40 * -1 * u3=-3 100 * -2 -4
Tabelele 2.5.7 - 2.5.8

creia i aplicm, n continuare * * 0

Noua solu ie, notat x , este optim. Deoarece 34 = 0, problema mai are o solu ie optim de baz x care se ob ine folosind conturul poligonal asociat n tabelul 2.5.7 celulei (3,4): 90 50 60 50 40
Tabelul 2.5.9

10

n acord cu teoria general a programrii liniare, problema dat va avea o infinitate de solu ii optime de forma: x = x + x unde + = 1 0,0 90 10 +50 100 +60
Tabelul 2.5.10

50

10 40 40

Exempul 2.5.2 S rezolvm acum problema: C1 F1 F2 F3 Necesar 4 6 3 120 C2 2 7 5 90 C3 5 3 4 50 C4 4 8 5 20 Disponibi l 110 80 90 280

Tabelul 2.5.11

pornind de la solu ia de baz nedegenerat din tabelul 2.5.12, determinat prin metoda diferen elor maxime. 20 10 90
(4)

90

(1)

90 50
(2)

20 50

(5) +
(3)

20

(6)

+ -

30 90

Tabelul 2.5.12

Tabelul 2.5.13

Propunem cititorului s verifice c aceast solu ie nu este optim i c 14 = 2 > 0. n tabelul 2.5.12 este indicat i conturul poligonal asociat rutei (1,4). Marcnd succesiv col urile 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 solu ie, indicat n tabelul 2.5.13, s fie degenerat. Pentru a evita degenerarea, modificm pu in 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 col urile conturului poligonal indicat se ob ine solu ia nedegenerat din tabelul 2.5.14: 30 90 90 50
Tabelul 2.5.14

20

v1 = 0 u1 = 4 * u2 = 6 * u3 = 3 *

v2 = -2 * -3 -4

v3 = -3 -4 * -4

v4 = 0 * -2 -2

Tabelul 2.5.15

Probleme de optimizare n te ele de transport i distribuie

dar, a problemei modificate! Din tabelul alturat 2.5.15 rezult c solu ia construit este optim. Lund = 0 ob inem solu ia optim a problemei ini iale care este deja afiat n tabelul 2.5.13.

3. Variante ale problemei de transport


n dezvoltrile teoretice din sec iunile precedente condi ia de echilibru (1.2.5) a fost esen ial. n foarte multe contexte practice ns, aceast condi ie 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 solu ia optim. n fine, nu pu ine sunt situa iile concrete ce nu implic "transporturi" n sensul strict al cuvntului, dar care pot fi modelate ca probleme de transport. 3.1 Probleme de transport neechilibrate n cazul n care n problema general de transport (sec iunea 1.2) totalul cantit ilor disponibile la furnizori ntrece totalul cererilor consumatorilor:

ai > b j
i =1 j =i

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:

bn +1 = a i b j
i =1 j =1

Costurile unitare de transport de la furnizorii reali ctre Cn +1 se iau egale cu zero. Dup rezolvarea problemei echilibrate, cantit ile livrate consumatorului fictiv se vor interpreta drept cantit i rmase n stocurile furnizorilor. Dac totalul cantit ilor disponibile este mai mic dect cererea total:

a < b
i i =1 j =i

problema de transport, aa cum a fost ea definit n sec iunea 1.2, este incompatibil (vezi inegalitatea (1.2.1)). Putem ncerca o rezolvare par ial a cererilor, introducnd un furnizor fictiv Fm +1 al crui disponibils fie egal cu cererea neacoperit:

a m+1 = b j a 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. Ob inem o problem de transport echilibrat, n a crei solu ie optim, cantit ile livrate de furnizorul fictiv se vor interpreta drept cereri neacoperite. Mult mai aproape de realitate ni se pare urmtoarea abordare. S presupunem c furnizorii F1, F2,..., Fm sunt bazine carbonifere iar consumatorii C1, 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 anun ate o serie de ac iuni greviste la unele centre miniere. Este posibil ca nu toate sindicatele miniere din acelai bazin carbonifer s adere la grev ceea ce face ca produc ia de crbune s scad ntr-o msur mai mic sau mai mare. Fie a1 , a 2 ,...., a m produc iile lunare n condi ii de criz i Q< Q suma acestora.

Probleme de optimizare n te ele de transport i distribuie

ntr-o asemenea situa ie critic este mai logic ca fiecare termocentral s primeasc o parte propor ional cu cererea sa n condi ii normale de aprovizionare, adic:

b1 b2 b = =K = n , b1 b2 bn b1, b2 ,..., bn fiind cantit ile ce urmeaz a fi primite n situa ia de criz. Noile cantit i se pot deduce uor, b j
bj
este egal cu:

observnd c fiecare raport

b1 + b2 +L+bn a + a 2 +L a m Q = 1 = b1 + b2 +L+bn a1 + a 2 +L+ a m Q


de unde:

b = j

Q bj Q

j = 1,K , n .

O dat stabilite cantit ile bi avem o problem de transport echilibrat pe care o rezolvm cu algoritmul descris. 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, produc iile lunare ale minelor i costurile transportului unei unit i fizice de crbune (1000 t.) pe diferitele rute sunt date n tabelul 3.1.1 F1 F2 F3 Necesar C1 3 4 3 100 C2 2 3 3 110 C3 1 7 5 140 C4 5 2 6 150 Disponibil 120 180 200 500

Tabelul 3.1.1

Cu metoda diferen elor maxime, se ob ine direct programul optim de aprovizionare din tabelul 3.1.2. Rutele utilizate n acest program sunt eviden iate n figura alturat. 120 100 30 80 150 20
F1
120

C1

30

F2
80 20

F3
150

100

Tabelul 3.1.2

C2

C3

C4

Costul asigurrii transporturilor din program se ridic la 1150 u.m. Pentru luna urmtoare unele sindicate miniere preconizeaz o serie de ac iuni greviste. Ca urmare a acestora se estimeaz c produc ia total de crbune va scade cu 30% fiind repartizat astfel: 100 mii t. la mina F1 i numai 120, respectiv 130 mii t. la minele F2 i F3 deci un total de 350 mii t. fa de o cerere de 500 mii t. Problema repartizrii produc iei diminuate se poate pune n dou moduri: urmrind n exclusivitate criteriul minimizrii cheltuielilor de transport. Reechilibrm problema prin introducerea unei mine fictive F4 a crei produc ie lunar s fie egal cu cantitatea cu care s-a diminuat produc ia curent a minelor reale, adic 150 mii t. Neexistnd transporturi efective ntre F4 i C1, C2, C3, C4 costurile unitare de transport pe rutele corespunztoare vor fi luate, firesc, egale cu zero. Vezi tabelul 3.1.3. F1 F2 F3 F4 Necesar C1 3 4 3 0 100 C2 2 3 3 0 110 C3 1 7 5 0 140 C4 5 2 6 0 150 Disponibil 100 120 130 150 500

Probleme de optimizare n te ele de transport i distribuie Tabelul 3.1.3

Rezult dou solu ii optime indicate n tabelele 3.1.4 i 3.1.5. Costul de transport aferent este de 730 u.m. n prima variant numai cererea termocentralei C2 este integral acoperit, C1 primind numai 20%, C3 numai 71% iar C4 numai 80% din necesarul curent. n a doua variant C1 primete cantitatea normal, C2 numai 27% iar C3 i C4 procentele anterioare. Dup cum se vede reducerea cu 30% a produc iei normale este repartizat foarte diferit pe consumatori. C1 F1 F2 F3 F4 20 80 C1 F1 F2 F3 F4 100 C2 110 40 C2 30 80 C3 100 30 C4 120 40 30 C3 100 C4 120
F1
100

F2
110

F3
120

C1

20

C2

C3

C4

Tabelul 3.1.4 F1
100

F2
30

F3
120

C1

100

C2

C3

C4

Tabelul 3.1.5

repartiznd produc ia diminuat propor ional cu cererile normale. Produc ia diminuat reprezint 70% din cea normal, astfel c termocentralele C1, C2, C3, C4 ar urma s primeasc 1000,7=70 mii t, 1100,7=77 mii t, 1400,7=98 mii t, respectiv 1500,7=105 mii t. Rezolvnd problema echilibrat rezultat ob inem solu ia: 2 15 60 98 105
F1
98 15

F2
60

F3
105

70

C1

2
70

C2

C3

C4

Exemplul 3.1.2 Datorit dezvoltrii i extinderii capacit ilor de produc ie, conducerea firmei X a decis s fac noi angajri n fiecare din cele cinci fabrici ale sale, conform datelor din urmtorul tabel: Fabrica Nr. de noi angaja i I 45 II 74 III 50 IV 82 V 63 Total 314

Noul personal este recrutat din 3 orae mari aflate n zon, prin intermediul unor agen ii specializate. Contactnd aceste agen ii, firma a gsit convenabile urmtoarele oferte: Agen ia din oraul A Numr de oferte convenabile ptr. firm 120 B 100 C 154 Total 374

Fabricile sunt situate ntr-o zon rural aa c, n discu iile cu sindicatele interesate, firma a convenit s suporte cheltuielile zilnice de ntoarcere de la locul de munc la ora, la to i angaja ii noi, cheltuieli evaluate la 12 u.m. pe persoan km. Distan ele n km dintre fabrici i orae sunt indicate n urmtorul tabel: A B C I 6 14 10 II 2 9 4 III 2 4 11 IV 6 5 3 V 3 3 4 Pentru nceput conducerea firmei este interesat n a cunoate cte persoane ar putea fi angajate astfel nct cheltuielile totale de transport s fie ct mai mici cu putin .

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 angaja i. Ob inem o problem echilibrat de transport cu datele din tabelul 3.1.6 al crei obiectiv este minimizarea numrului total de persoane km.

Probleme de optimizare n te ele de transport i distribuie

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. A B C Cerere I 6 14 10 45 II 2 9 4 74 III 2 4 11 50 IV 6 5 3 82 V 3 3 4 63 VI 0 0 0 60 Disponibil 120 100 154 374

Tabelul 3.1.6

Aplicnd algoritmul de rezolvare descris n sec iunea 2.4 se ob ine urmtorul program posibil de angajri (vezi tabelul 3.1.7).To i cei 120 de candida i din oraul A vor fi angaja i: 45 la fabrica I, 62 la fabrica II i restul la fabrica III. la fel, candida ii din B vor fi angaja i 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 transporta i pentru care firma trebuie s plteasc zilnic 12612 u.m. I A 45 B C 45 II 62 12 74 III 13 37 50 IV V 63 82 82 60 63 VI

Tabelul 3.1.7

Conducerea firmei este de prere c adoptarea acestui program ar creea o imagine nefavorabil firmei pe pia a for ei de munc prin "discriminarea" poten ialilor 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 candida ii poten iali 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 angaja i. 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 solu ia din tabelul 3.1.8. A B C I 45 II 22 52 III 33 17 IV V 63 82 Conform acesteia, numrul total de persoanekm transporta i va crete la 1087, implicnd cheltuieli zilnice n valoare de 13044 u.m., cu 3,43 % mai mari dect n varianta studiat anterior. Noul program satisface oferta de for de munc n propor ie de 83,3 % pentru A, 80 % pentru B i 87 % pentru C.

Tabelul 3.1.8

Plecnd de la ultima solu ie, conducerea firmei dorete s cunoasc ce implica ii ar putea avea asupra cheltuielilor de transport satisfacerea ofertelor n aceeai propor ie. 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. A B C I 45 II 27 47
Tabelul 3.1.9

Cu noile date se ob ine programul:

III 29 21

IV

V 63

82

Solu ia gsit implic 1089 oameni km de transportat zilnic la un cost de 13068 u.m., cu 3,6 % mai mare dect n prima variant.

Firete, n adoptarea deciziei asupra variantei finale a programului de noi angajri, conducerea firmei poate s in seama i de alte cerin e care nu au fost avute n vedere n studiul ntreprins. n consecin , solu iile 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!

Probleme de optimizare n te ele de transport i distribuie

3.2 Blocarea unor rute Pn n prezent am admis c orice rut dintre un furnizor i un consumator poate fi utilizat la un cost de transport mai mic sau mai mare. Sunt cazuri n care, din diferite motive una sau mai multe rute nu pot fi utilizate. Blocarea acestor rute se va face prin introducerea unor costuri unitare de transport foarte mari. Concret, dac ruta (Fi,Cj) nu mai poate fi folosit vom lua cij = M unde M este o constant pozitiv foarte mare. Exemplul 3.2.1 n exemplul 3.1.1 am determinat programul lunar normal de aprovizionare cu crbune al celor patru termocentrale n ipoteza c toate rutele erau disponibile (tabelul 3.1.2). Evident, acest program nu va suferi nici o modificare n cazul n care se blocheaz o rut ce nu era prevzut a fi utilizat. S presupunem c n luna urmtoare ruta (F3,C3) se va nchide temporar din cauza unor lucrri de modernizare. n acest fel, mina F3 nu mai poate aproviziona direct termocentrala C3. Pentru a determina schimbrile din programul actual cauzate de aceast ntrerupere reevalum mrimile ij lund de ast dat n calcul c33 = M 0. v1= 3 u1=1-M u2 = 0 u3 = 0 v2=3 30 80 v3=M 120 20 v4=2 150 1-M -1 * 2-M * * * M-7 * -2-M * -4

100

Tabelele 3.2.1 - 3.2.2

Deoarece 23 = M - 7 > 0, solu ia curent nu mai este optim; ea se mbunt ete folosind conturul poligonal indicat. 120 Noul program de transport, pus n eviden n tabelul 3.2.3 10 20 150 nu mai utilizeaz ruta blocat (F3,C3) i ca urmare costul su crete, 100 100 ajungnd la 1190 u.m. Exemplul 3.2.2 Vom studia acum o problem de transport "parametric care extinde ntr-un fel considera iile 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 F1 la termocentrala C3 exist mai multe variante ce pot fi folosite ntr-o lun sau alta n func ie de programul de ntre inere, reparare i modernizare a re elei de ci ferate. Posibilele schimbri ale traseului au un efect direct asupra costului unitar de transport c13 = 1 luat ini ial n calcul. Ne propunem s studiem efectul pe care l are varia ia costului c13 asupra programului optim de transport i a costului total aferent. Pentru aceasta, considerm solu ia optim determinat n cazul particular c13 = 1 (vezi tabelul 3.1.2) i recalculm mrimile ij lund c13 = 0 variabil. v1= 3 u1= - 5 u2 = 0 u3 = 0 100 v2 =3 30 80 v3 =5 v4 =2 120 150 20 -5 -1 * -4 * * * -2 * -8 * -4
Tabelul 3.2.3

Tabelele 3.2.4 - 3.2.5

Condi ia 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 pu in" 4 din tabelul 3.2.5 rezult 12 > 0 i solu ia din tabelul alturat nu mai este optim. Folosind conturul poligonal asociat rutei (1,2) - indicat n tabel - rezult solu ia din tabelul 3.2.6 v1=3 u1=-5 u2 =-4 u3=0 v2=7- 80 30 v3=5 v4=6- 40 150 100
F1

40 80

30

F2
100

F3
150

100

100 C1 C2

Tabelul 3.2.6

C3

C4

Testarea optimalit ii acestei solu ii este fcut n tabelul 3.2.7 folosind valorile ui , v j nscrise la stnga i deasupra tabelului 3.2.6. Condi ia ij 0 arat c solu ia gsit este optim atta timp ct 4 c13 5 . Costul asociat are valoarea 1350 + 40c13 u.m.

Probleme de optimizare n te ele de transport i distribuie

-5 -5 *

* * 4-

* -6 *

-4 * -

Pentru c13 > 5 avem 11 = 21 < 0.Folosind conturul poligonal asociat rutei (1,1) se gsete solu ia din tabelul 3.2.8 al crei cost este de 1550 u.m.

Tabelul 3.2.7

40 60

80 30 140
Tabelul 3.2.8

F1

150

40

80 60

30

F2
140

F3
150

C1

C2

C3

C4

Se observ c pe msur ce costul unitar c13 crete, ruta (F1,C3) este folosit din ce n ce mai pu in pn cnd este abandonat. 3.3 Alte probleme reductibile la problema de transport 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 de lucru, un anumit numr de generatoare. Dac necesit ile o impun, prin organizarea unr schimburi prelungite, firma poate produce i peste plafoanele normale dar la un cost mai ridicat. Luna Nivelul cererii (buc.) Volumul produc iei n regim normal de lucru (buc.) Volumul produc iei suplimentare (buc.) Costul unui generator din produc ia normal (u.m.) Costul unui generator din produc ia suplimentar (u.m.)
Tabelul 3.3.1

Ianuarie 8 7 4 40 50

Februarie 6 7 4 40 60

Martie 12 7 5 50 80

Dup cum se vede, n luna Martie, cnd cererea este mai mare i costurile de produc ie sunt mai mari, ca urmare a unor tendin e infla ioniste ce pot fi previzionate din vreme: creteri planificate ale salariilor sau creterea pre urilor la materiile prime. Deoarece costurile de produc ie 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 pu in 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 fabrica ie pentru satisfacerea comenzilor la un cost total de produc ie i stocare minim. Pentru a formula o problem de transport trebuie s identificm mai nti sursele i destina iile. 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 produc ie corespunztoare. Astfel, sursa Ianuarie-produc ie normal are un disponibil de 7 buc i n timp ce sursa Martie-produc ie suplimentar are un disponibil de 5 buc i. Destina iile se identific cu sfriturile celor trei luni cnd cererile trebuie acoperite. ntre cele 6 surse i 3 destina ii 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 produc ie la care se adaug eventualele cheltuieli de stocare. Astfel, pe ruta Ianuarie-produc ie suplimentar Martie costul unitar de transport va fi egal cu costul fabricrii unui generator peste nivelul produc iei normale din Ianuarie la care se adaug costul stocrii pe dou luni, adic 50+210 = 70 u.m.

Probleme de optimizare n te ele de transport i distribuie

Am ob inut o problem de transport ale crei date sunt prezentate n tabelul 3.3.2. Destina ii Ianuarie Februarie Martie Disponibil Surse Ian.-prod. normal 40 50 60 7 Ian.-prod, suplim. 50 60 70 4 Feb.-prod. normal M 40 50 7 Feb.-prod. suplim. M 60 70 4 Martie-prod. normal M M 50 7 Martie-prod. suplim. M M 80 5 34 Cerere 8 6 12 26
Tabelul 3.3.2

Deoarece oferta total ntrece cererea total (34 > 26) este necesar s echilibrm problema introducnd un consumator fictiv care s preia diferen a 34 - 26 = 8 buc. Invitm cititorul s rezolve problema echilibrat, avertizndu-l c aceasta are mai multe solu ii optime! Una dintre ele este interpretat n figura 3.3.1; costul asociat este de 1250 u.m.
Ianuarie Prod. normal 7 buc. Prod. suplim. 4 buc.

7 1 3 6 1 1

Ianuarie Cerere: 8 buc.

Februarie Prod. normal 7 buc. Prod. suplim. 1 buc. Martie Prod. normal7 buc. Prod. suplim. 5 buc.

Februarie Cerere: 6 buc.

Martie Cerere: 12 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 dispozi ie dou posibilit i: fie s le cumpere la pre ul 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. Pornind fr nici un ervet utilizabil, cum trebuie s procedeze patronul cu achizi ionarea i splarea ervetelor astfel nct s minimizeze costul total pe perioada celor n zile? Pentru a trata problema enun at ca o problem de transport este necesar s identificm: 1) produsul ce trebuie transportat i distribuit, 2) sursele, 3) destina iile, 4) legturile (rutele) permise ntre surse i destina ii i 5) costurile unitare de transport.

Probleme de optimizare n te ele de transport i distribuie

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 inten ioneaz s le cumpere de la magazin; notm aceast surs cu F0. Deoarece, la urma urmei, fiecare ervet splat a fost cndva nou este clar c la nceputul perioadei patronul nu poate cumpra mai pu ine 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 ini ial F0 va trebui fixat undeva ntre limitele specificate n urmtoarea inegalitate:

max ri S ri
1i n
i =1

(3.3.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 excep ie 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 F0, vom mai considera alte n - 1 surse F1, 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 destina ie a crei cerere este egal cu numrul ervetelor curate. Vom avea deci n destina ii C1, C2,..., Cn , corespunztoare zilelor 1, 2,..., n cu cererile r1, r2,..., rn. Datorit rela iei (3.3.1) oferta total de ervete curate acoper cererea total:

S + r1 + r2 +L+rn 1 r1 + r2 +L+ rn 1 + rn
1i n

S rn

Dac S = rn (care are loc numai dac rn = max ri ), problema este din start echilibrat; dac S > rn , vom introduce o destina ie suplimentar C0 cu cererea S - rn. Situa ia ervetelor cu destina ia C0 se interpreteaz diferit: acelea care provin de la sursa F0 reprezint ervete pe care patronul inten iona s le cumpere dar a renun at deoarece nu mai avea nevoie de ele; cele care provin de la oricare din sursele F1, F2,..., Fn-1 reprezint ervete murdare care nu mai sunt trimise la splat fiind aruncate la deeuri. 4) i 5) Avnd n vedere semnifica ia ei, sursa F0 este legat de toate destina iile C1, C2,..., Cn , costul unitar comun pe aceste rute fiind pre ul 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 (Fi, Cj) cu 1 j < i + q sunt lipsite de sens i vor fi blocate printr-un cost M foarte mare. Pe rutele (Fi, 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 destina ia C0 - n caz c aceasta trebuie avut n vedere! - cu costul comun zero. Considera iile precedente sunt ilustrate prin urmtorul caz concret: n = 5 zile ziua i cererea ri 1 60 2 50 3 80 4 40 5 60

pre ul 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 corespunztoare.
F0 F1 F2 F3 F4 Necesar C1 5 M M M M 60 C2 5 2 M M M 50 C3 C4 5 5 1 1 2 1 M 2 M M 80 40 Tabelul 3.3.3 C5 5 1 1 1 2 50 C0 0 0 0 0 0 S - 50 Disponibil S 60 50 80 40 S + 230

Probleme de optimizare n te ele de transport i distribuie

Problema are mai multe solu ii optime; structura unora depinde de numrul S de ervete noi pe care patronul inten ioneaz 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 solu ii implic un cost total de 730 u.m. a crui structur va fi detaliat pe solu ia din tabelul 3.3.4. C1 C2 C3 C4 C5 C0 60 20 S - 80 F0 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 ntrebuin ate 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 solu iei analizate este vizualizat n figura 3.3.2.
30 30
Ziua 1 Necesar: 60 ervete Ziua 2 Necesar: 50 ervete

40 50
Ziua 3 Necesar: 80 ervete

40
Ziua 4 Necesar: 40 ervete

10 30
Ziua 5 Necesar: 50 ervete

60

50

20

Figura 3.3.2