Sunteți pe pagina 1din 24

1

CURS 12-13

Problema de transport. Formulare i


rezolvare

Cuprins

1 Tipuri speciale de programe linare


2 Problema de transport. Enun i model matematic
3 Caracterul special al problemei de transport
4 Construirea unei soluii iniiale pentru problema de
transport echilibrat
5 Algoritm de rezolvare a problemei de transport
echilibrate
6 Probleme propuse

1 Tipuri speciale de programe liniare


Pn acum problema programrii liniare a fost studiat n cea mai general form. Prezenta
seciune se constituie ca o introducere n studiul unor cazuri particulare importante. Ca urmare, pentru
rezolvarea acestor probleme, au fost elaborate versiuni ale algoritmului simplex, special concepute n
vederea exploatrii structurii lor particulare, versiuni care au condus la importante reduceri ale efortului
de calcul.
Cea mai cunoscut problem de programare liniar cu structur special este problema de
transport.Ea a fost formulat i studiat, chiar mai nainte de apariia algoritmului simplex, de ctre
HITCHCOCK (1941), KOOPMANS (1942) n SUA i independent de ctre TOLSTOI (1930) i
KANTOROVICI (1939) n Rusia.

2 Problema de transport. Enun i model matematic


Un produs omogen este disponibil la furnizorii F1 , F2 ,, Fm n cantitile a1, a2 ,, am ( 0)
i solicitat (pentru consum sau prelucrare) de ctre consumatorii C1, C2 ,, Cn n cantitile
b1 , b2 ,, bn ( 0). Se cunoate costul cij 0 al transportrii unei uniti de produs de la furnizorul Fi
la consumatorul Cj pentru toi i 1,, m i j 1,, n .
Se pune problema satisfacerii cererilorn punctele de consum la cel mai mic cost total de
transport.
n mod constant vom presupune c problema de transport astfel formulat este echilibrat,
aceasta nsemnnd c:
m

i 1

j 1

oferta total ai b j cererea total

(1)

Din enun rezult c orice furnizor poate aproviziona orice consumator, bineneles n limita
disponibilului su. Prin urmare exist m n rute posibile F i C j pentru transportarea produsului de
la furnizori la consumatori, rute evideniate n figura 1.

Introducnd variabilele:

xij

cantitatea de produs livrat de furnizorul Fi consumatorului Cj

i 1,, m ; j 1,, n

C1

b1

C2

b2

Cn

bn

c11

a1

F1

c12
c 1n
c21

a2

c22

F2

c2n

cm1

am

Fm

cm2

cmn

c11
Figura 1

putem scrie urmtorul model matematic pentru problema de transport echilibrat:


n

xij ai
i 1,, m

j 1

j 1,, n
xij b j
( PTE )
i 1

xij 0 i 1,, m ; j 1,, n

m n

(min) z cij xij

i 1 j 1

(2)
(3)
(4)
(5)

Ecuaiile (2) arat c, pentru fiecare furnizor Fi ,suma cantitilor livrate consumatorilor este egal cu
disponibilul su ai.
Ecuaiile (3) arat c, pentru fiecare consumator Cj, totalul cantitilor primite de la furnizori este egal
cu cererea sa bj.
Condiiile de nenegativitate (4) rezult din semnificaia variabilelor xij. Un xij 0 nseamn c
furnizorul Fi nu livreaz nimic consumatorului Cj.
Costul transportrii cantitii xij de la Fi la Cj este egal cu cij xij astfel c suma (5) este expresia costului
total al transporturilor efectuate.
Egalitile din (2) i (3) sunt consecina direct a condiiei de echilibru (1).

Evident, (PTE) este o problem de programare liniar n form standard cu m n variabile i


m n restricii.
Exemplul 1 Patru antiere de construcii C1 , C2 , C3 , C4 se aprovizioneaz cu ciment de la trei
depozite F1 , F2 , F3. Cantitile de ciment (n tone) disponibile n depozite, cele solicitate de antiere
precum i costurile unitare de transport (per ton) sunt date n tabelul 7.1.

F1
F2
F3
Cerere

C1 C2 C3 C4
3
2
8
1
1
5
5
4
6
7
3
4
150 200 240 180

Disponibil
120
250
400
770

Disponibilul depozitului F1

Costul transportrii unei tone de ciment de la F2 la C3


Cererea antierului C2

Tabelul 1
Se pune problema de a stabili n ce mod vor fi distribuite cele 770 t de ciment (adic cine pe cine
aprovizioneaz i cu ct!) astfel nct costul total al transporturilor efectuate s fie minim.
Va trebui s gsim sistemul de valori numerice x ( xij ) i 1,2,3

j 1,2,3,4 reprezentnd

cantitile ce vor fi transportate pe cele 3 4 12 rute posibile astfel nct:


- disponibilele furnizorilor s fie epuizate:
x11 x12 x13 x14 120
x21 x22 x23 x24 250

(2)

x31 x32 x33 x34 400

- cererile consumatorilor s fie acoperite:

x11 x21 x31 150


x12 x22 x32 200
x13 x23 x33 240
x14 x24 x34 180
- valorile s fie nenegative:

(3)

xij 0 i 1,2,3

j 1,2,3,4

(4)

- costul total al transportului s fie minim:

z 3x11 2 x12 8 x13 1 x14 1 x21 5 x22 4 x23 5 x24

(5)

6 x31 7 x32 3x33 4 x34 min


n tabelul 2 a fost pus n eviden matricea tehnologic a programului rezultat:
A11 A12 A13 A14 A21 A22 A23 A24 A31 A32 A33 A34
i=1
1
1
1
1
2
1
1
1
1
3
1
1
1
j=1
1
1
1
2
1
1
1
3
1
1
1
4
1
1
Aij = coloana coeficienilor variabilei xij n restriciile (2) i (3)

Tabelul 2

Caracterul special al problemei de transport

Din modelul general (2) (5) al problemei de transport echilibrate (PTE) rezult urmtoarele concluzii
(pentru ilustrare vezi exemplul 1)
- PTE este un program liniar compatibil; de exemplu, sistemul de valori numerice:

a b
xij i j

i 1,, m

j 1,, n unde S a1 am b1 bn

este o soluie admisibil. Mai mult, PTE are ntotdeauna optim finit.
- matricea tehnologic A se compune numai din 0 i 1. Fiecare variabil xij nu apare dect
n dou ecuaii: n ecuaia i din (2) i n ecuaia j din (3). Astfel, fiecare coloan Aij din A are numai
dou componente nenule ambele egale cu 1. n concluzie din cele (m n) mn componente ale matricii
2
A numai 2mn sunt nenule, astfel c densitatea elementelor nenule este
(de exemplu pentru o
mn
2
100 8% )
PTE cu 5 furnizori i 20 de consumatori, densitatea elementelor nenule este
5 20

- din cauza condiiei de echilibru (1), suma ecuaiilor din (2) este egal cu suma ecuaiilor din
(3). Atunci oricare dintre aceste m n ecuaii este consecina liniar a celorlalte i ca urmare poate fi
omis. Se constat uor c cele rmase sunt liniar independente astfel c rangul matricii A este
m n 1 . Se demonstreaz c orice determinant extras din A are una din valorile 1 , 0 sau -1.
- o consecin imediat a proprietii precedente este faptul c n orice soluie de baz a PTE
exist m n 1 variabile bazice. Valorile acestora rezult n mod unic anulnd variabilele nebazice
i rezolvnd sistemul rmas. Calcularea valorilor variabilelor bazice nu necesit dect operaii de
adunare i scdere. n consecin, dac ofertele ai i cererile bj sunt exprimate prin numere ntregi,
atunci orice soluie de baz a PTE va avea componentele ntregi i n particular PTE va avea o
soluie optim ntreag.
Algoritmul de rezolvare a PTE care va fi descris n seciunile urmtoare este o versiune a
algoritmului simplex, adaptat la specificul acestei probleme.
n notaiile introduse, un ansamblu de valori numerice x ( xij ) i 1,, m

j 1,, n care satisface

(2), (3), (4) se va numi program admisibil de transport i va fi nscris ntr-un tabel cu m rnduri
corespunztoare furnizorilor i n coloane corespunztoare consumatorilor.
n acord cu teoria general a algoritmului simplex, pentru rezolvarea PTE, avem nevoie de un program
de transport iniial care s fie o soluie de baz. Acest program va fi modificat n mai multe etape
(iteraii) n scopul micorrii costului aferent pn la determinarea programului cu cel mai mic cost.

Construirea unei soluii iniiale a PTE

Urmtorul procedeu general construiete un program de transport x ( xij ) pentru PTE care se
dovedete a fi o soluie admisibil de baz.
START Se ordoneaz ntr-un ir, ntr-un fel oarecare, toate cele m n rute de transport. Toate
aceste rute se declar neblocate.
Coninutul unei iteraii:
1) Fie ( Fk , Cl ) prima rut neblocat din ir. Pe aceast rut se va transporta cantitatea (vom
spune c s-a fcut alocarea):
xkl minak , bl
unde
ak disponibilul curent al furnizorului Fk

bl cererea curent (neacoperit) a consumatorului Cl


Mrimea xkl se nscrie n tabel n celula ( Fk , Cl ) . Ruta ( Fk , Cl ) se declar blocat.
2) Se actualizeaz disponibilul lui Fk i cererea lui Cl:

ak ak xkl

; bl bl xkl

3) dup actualizare sunt posibile trei situaii:


3.1) ak 0 dar bl 0 . Se vor bloca toate rutele nc neblocate cu origina n Fk (aceste rute nu
mai pot fi folosite deoarece disponibilul lui Fk a fost epuizat!) Astfel, n tabelul soluiei care se
construiete, rndul corespunztor furnizorului Fk este n ntregime blocat.
3.2) bl 0 dar ak 0 .Se vor bloca toate rutele nc neblocate cu destinaia Cl (pe motiv c
cererea lui Cl a fost acoperit!) n acest caz coloana consumatorului Cl este blocat n ntregime.
3.3) ak bl 0 . Acest caz apare atunci cnd, la pasul 1:
disponibilul curent al furnizorului Fk = cererea curent a consumatorului Cl
Dac este aa, vom bloca dup dorin, fie rndul furnizorului Fk fie coloana consumatorului Cl dar nu
pe amndou!
Dac mai rmn rute neblocate se reia pasul 1, altminteri STOP.
Dup fiecare alocare, n tabelul n care se nscriu componentele soluiei x ce se construiete, se
blocheaz n ntregime fie un rnd (furnizorul implicat n alocare i-a epuizat stocul disponibil) fie o
coloan (prin alocarea fcut consumatorul implicat i-a acoperit ntreaga cerere) dar nu amndou.
Cum n total sunt m n rnduri i coloane rezult c n final vor fi folosite exact m n 1 rute din
cele m n disponibile. Este posibil ca pe unele din rutele alese alocarea s fie egal cu zero i asta se
ntmpl ori de cte ori apare situaia 3.3). n continuare, rutele ( Fi , C j ) efectiv folosite la transport

( xij 0) se vor numi rute ocupate. Soluia construit se va zice nedegenerat dac numrul
rutelor ocupate este exact m n 1 , altminteri vom zice c soluia este degenerat.
Metodele efective de construire a unui program de transport difer prin modul de ordonare a
rutelor. Astfel:
- n metoda colului de Nord -Vest rutele sunt ordonate lexicografic:
( F1, C1 ) , ( F1, C2 ) , , ( F1, Cn ) , ( F2 , C1 ) , , ( F2 , Cn ) , , ( Fm , Cn )

- n metoda costului (unitar) de transport minim rutele sunt examinate n ordinea


cresctoare a costurilor unitare de transport.
Exemplul 2 Se va considera problema de transport echilibrat din exemplul 1. Prin metoda colului
de N-V se obine programul de transport nedegenerat cu 6 = 3 + 4 1 rute ocupate dat n tabelul 3.
Metoda este foarte simpl ns produce soluii n general scumpe deoarece nu ine cont de costurile
unitare de transport.

Atenie: numerele nscrise n paranteze indic ordinea n care s-au fcut alocrile; cu ajutorul lor
cititorul va putea reconstitui n dinamic modul n care a fost construit soluia!

(1)

120
(2)
30

(3)
200

(4)

20
(5)

220

(6)
180

3120
1 30
5200
4 20
3220
4180
Cost total

= 360
=
30
= 1000
=
80
= 660
= 720
= 2850 u.m.

Tabelul 3
Prin metoda costului minim se obine soluia din tabelul 4 de asemeni nedegenerat.

*
(1)
150

(2)
120

*
(5)

100
*

(6)
100

(3)
240

(4)
60

1150
1120
3240
4 60
5100
7100
Cost total

= 150
= 120
= 720
= 240
= 500
= 700
= 2430 u.m.

Tabelul 4
Urmtorul procedeu d rezultate excelente n sensul c genereaz o soluie foarte apropiat de soluia
optim!
Metoda diferenelor maxime (Vogel) La START toate rutele se declar neblocate.
Coninutul unei iteraii:
1) Pe fiecare rnd sau coloan din tabelul soluiei care se construiete n care mai exist
mcar dou rute neblocate se face diferena dintre cel mai mic cost neblocat i cel imediat
superior tot neblocat, cu meniunea c dac costul neblocat minim nu este unic diferena se va lua
egal cu zero!
2) Se identific rndul sau coloana cu cea mai mare diferen (n valoare absolut). Dac
diferena maxim nu este unic are prioritate rndul sau coloana cu cel mai mic cost neblocat.
3) Pe rndul sau coloana aleas se face o alocare pe ruta de cost (neblocat) minim dup care se
fac actualizrile corespunztoare i se blocheaz rutele ce nu mai pot fi folosite, conform instruciunilor
din procedeul general.
n caz c a rmas un singur rnd sau o singur coloan cu mai mult de dou rute neblocate,
ultimele alocri sunt unic determinate i se vor face n rutele neblocate rmase. STOP.
Altminteri, se reiau paii descrii mai sus n cadrul unei noi iteraii.

Exemplul 3 Se consider problema de transport echilibrat cu datele din tabelul 5:


F1
F2
F3
Cerere

C1
3
2
4
310

C2
7
4
3
370

C3
6
3
8
200

C4 Disponibil
4
510
2
230
5
360
220
1100

Tabelul 5
Vom determina o soluie prin metoda diferenelor maxime. Calculele sunt sintetizate n urmtoarele
tabele. Pentru determinarea rutei n care se face prima alocare vezi tabelul 6.1

3
2
4

7
4
3

6
3
8

4
2
5

Diferene
pe rnduri
1=43
0=22
1=4-3

*
200
*

(1)

Diferene
1=3-2 1=4-3 3=6-3 2=4-2
pe coloane

Tabelul 6.1
Cea mai mare diferen se gsete n coloana 3. Conform instruciunilor metodei, prima alocare se va
face pe cea mai ieftin rut din coloana 3, adic pe ruta (F2 , C3). Dup alocare blocm i celelalte rute
ale coloanei 3 deoarece ele nu mai pot fi folosite n alocrile ulterioare, cererea consumatorului C3 fiind
acoperit n totalitate! Refacem diferenele n rndurile i coloanele rmase.
n tabelele 6.2 i 6.3 se arat cum i unde au fost fcute urmtoarele dou alocri.Asteriscurile indic
rutele blocate; costurile asociate acestor rute ne mai fiind luate n considerare n evaluarea diferenelor!
3
2
4

7
4
3

Diferene
1=3-21=4-3
pe coloane

*
*
*

4
2
5

2=4-2

Diferene
pe rnduri
1=43
0=22
1=4-3

*
200
*

*
360 (3)

(1)

30

(1)

30 (2)
*

(2)

Tabelul 6.2
3
*
4

7
*
3

Diferene
1=4-34=7-3
pe coloane

*
*
*

4
*
5

1=54

Diferene
pe rnduri
1=43
1=4-3

*
200
*

Tabelul 6.3
Ultimele trei alocri se fac obligatoriu n cele trei rute neblocate din rndul 1 vezi tabelul 6.4
3
*
*

7
*
*

*
*
*

4
*
*

310

(4)

10

(5)

Tabelul 6.4

360

(3)

*
200
*

(1)

190 (6)
30 (2)
*

10

A rezultat o soluie nedegenerat cu un cost total de 3500u.m. Prin metoda costului unitar minim s-ar fi
obinut soluia
80 (3)
230 (1)

10
360

(6)

200 (5)

220 (4)

(2)

Tabelul 7
cu un cost mai mare, de 3930u.m.
Pentru problema din exemplul 1 metoda diferenelor maxime conduce la soluia gsit prin metoda
costului minim.

5 Algoritm de rezolvare a problemei de transport echilibrate


START Se presupune cunoscut o soluie admisibil de baz x ( xij ) , determinat cu una dintre
descrise. Presupunem
m n 1componente nenule.
Coninutul unei iteraii:
metodele

soluia

este

nedegenerat

adic

are

exact

I) Testarea optimalitii soluiei curente


I.1) se asociaz furnizorilor F1 ,, Fm variabilele u1 ,, um . Se asociaz consumatorilor

C1 ,, Cn variabilele v1 ,, vn .

I.2) se asociaz fiecrei rute ( Fi , C j ) ocupate ( xij 0) ecuaia ui v j cij .

I.3) se determin o soluie particular a sistemului construit ( de exemplu, se d valoarea 0


uneia dintre variabile, de regul celei care apare de cele mai multe ori n sistem)
I.4) pentru rutele neocupate ( xij 0) se calculeaz mrimile:

ij ui v j cij
I.5) test de optimalitate: dac toi ij 0 soluia curent este optim, altfel spus costul
total de transport asociat este cel mai mic posibil. STOP
n caz contrar se trece la:
II) Construirea unui program de transport mai bun, adic cu un cost total de transport mai mic
II.1) se identific ruta ( Fi0 , C j0 ) cu proprietatea

i0 j0 max ij

11

(evident i0 j0 0 )
II.2) n tabelul soluiei curente se construiete ciclul rutei ( Fi0 , C j0 ) . Acesta este un drum
nchis care ncepe i sfrete n celula ( Fi0 , C j0 ) i care, n rest, cotete n unghi drept numai
prin celule ocupate
II.3) se marcheaz alternativ cu + i colurile ciclului ncepnd cu + n celula ( Fi0 , C j0 )
II.4) se calculeaz minimul al valorilor xij situate n colurile marcate cu (clar 0 )
II.5) se construiete o nou soluie de baz a PTE astfel:
- se adun la valorile xij situate n colurile ciclului marcate cu + ;
- se scade din valorile xij situate n colurile ciclului marcate cu ;
- toate celelalte componente ale soluiei curente x , nesituate n colurile ciclului, nu se
modific.
Atenie: n caz c noua soluie este degenerat se aplic tehnica de perturbare care va fi
explicat n seciunea 6.
Se revine la pasul I) n cadrul unei noi iteraii.
Observaii i precizri
- Nedegenerarea soluiilor testate de algoritmul descris mai sus este esenial! ntr-adevr,
dac toate soluiile cercetate sunt nedegenerate, algoritmul se oprete ntr-un numr finit de
iteraii (conform teoriei generale a algoritmului simplex!).
- Ca urmare a ipotezei de nedegenerare, sistemul liniar construit n pasul I.2) are m n 1
ecuaii i m n variabile. El are o infinitate de soluii.
- Se demonstreaz c mrimile ij calculate n pasul I.4) nu depind de soluia particular aleas
n pasul precedent.Conform teoriei generale a algoritmului simplex (adaptat la specificul PTE!)
valorile ij sunt de fapt costurile reduse asociate variabilelor nebazice ( rutelor neocupate!) din
soluia testat. Ele au urmtoarea interpretare economic prin care se justific testul de optimalitate
din pasul I.5
Fie Fi C j o rut neocupat ( xij 0) .Valoarea ij asociat arat cu ct crete sau descrete
costul total aferent soluiei curente x n cazul n care aceasta se modific n scopul folosirii rutei
Fi C j .Mai precis, dac ij 0 , modificarea soluiei x n scopul transportrii unei uniti de
produs de la Fi la Cj duce la scderea costului total cu valoarea ij . Dac ij 0 ,aceeai
modificare conduce la creterea costului total cu valoarea ij . Evident dac ij 0 utilizarea
rutei Fi C j nu antreneaz nici o schimbare n costul total.
- Se poate arta c dac soluia curent este nedegenerat atunci ciclul construit la pasul II.2
exist i este unic. El are un numr par de coluri.

12

- Noua soluie construit n pasul II.5 i notat x este mai bun dect soluia anterioar x
deoarece se poate arta c:

f ( x ) f ( x ) i0 j0 f ( x )

Exemplul 4 Vom determina soluia optim a problemei de transport din exemplul 1 plecnd de la
soluia construit prin metoda costului minim (exemplul 2, tabelul 4)
Iteraia 1
Soluia curent
Costul total asociat = 2430

Sistemul ecuaiilor ui+vj = cij asociate rutelor (Fi , Cj) ocupate


v1
120

150

100

240

v3

u1

100

v2

60

Tabelul 8

u2
u3

v4
u1 +v4 =1

u2 +v1 =1

u2 +v2 =5
u3 +v2 =7

u3 +v3 =3

u3 +v4 =4

Tabelul 8.1

Comentarii: soluia curent este nscris n tabelul 8, identic cu tabelul 4 .Pentru cercetarea
optimalitii acestei soluii am introdus variabilele u1 , u2 , u3 corespunztoare celor trei furnizori i
variabilele v1 , v2 , v3 , v4 corespunztoare consumatorilor. Fiecrei rute ( Fi , C j ) ocupate n soluie i s-a
asociat ecuaia ui v j cij (vezi tabelul 8.1)
Determinm o soluie particular a sistemului construit dnd valoarea 0 variabilei u3 (care apare de cele
mai multe ori) vezi figura 2

13

v2 =7

u2 = -2

v1 =3

v3 =3

u3 =0

u1 = -3

v4 =4

Figura 2

Valorile ij sunt calculate n tabelul 2 asteriscurile indic rutele ocupate n soluia curent. Se gsete

12 2 0 i ca urmare testul de optimalitate nu este ndeplinit. n tabelul alturat 8.3 identic cu


tabelele 4 i 8 - este vizualizat ciclul rutei ( F1 , C2 )
v1 =3

v2 = 7

v3 =3

v4 = 4

u1 = -3

-3

-8

u2 = -2

-3

-3

u3 = 0

-3

120

150

100
100

Tabelul 8.2

240

+
60

Tabelul 8.3

Colurile ciclului au fost marcate alternativ cu + i ncepnd cu + n celula ( F1 , C2 ) . n continuare


se determin minimul valorilor nscrise n celulele marcate cu

minx14 120 , x32 100 100


i se construiete o nou soluie a problemei de transport date (vezi tabelele 9 i 9.1).
120 100

0 + 100
150

100
100 - 100

240

Tabelul 9

60 +100

14

Noua soluie este nedegenerat. Costul total asociat f ( x ) 12 2430 100 2 2230 u.m.
Iteraia 2
Soluia curent
Costul total asociat = 2230

Sistemul ecuaiilor ui+vj = cij asociate rutelor (Fi , Cj) ocupate


v1

100
150

20

u1

100
240

160

u2

v2

v3

u1 +v2 =2
u2 +v1 =1

u1 +v4 =1

u2 +v2 =5

u3

u3 +v3 =3

Tabelul 9.1

v4

u3 +v4 =4

Tabelul 9.2

O soluie particular a sistemului afiat n tabelul 9.2 este dat n figura 3:


v3 = 3

u3 = 0

v4 = 4

u1 = -3

v2 = 5

u2 = 0

v1 = 1

Figura 3
n tabelul 9.3 sunt calculate mrimile ij ui v j cij asociate rutelor nefolosite n soluia curent.
v1 = 1
u1 = -3
-5
u2 = 0
*
u3 = 0
-5

v2 = 5
*
*
-2

v3 = 3
-8
-1
*

v4 = 4
*
-1
*

Deoarece ij 0
STOP: soluia curent este optim!

Tabelul 9.3

15

C1

150

C2

200

C3

240

C4

180

150
120

F1

100

100
250

F2
20
240

400

F3

160

Figura 4
n figura 4 sunt puse n eviden cele ase rute folosite n soluia optim pentru transportarea cimentului
de la depozite la antiere precum i cantitile transportate.
Dup cum era i de ateptat, soluia iniial, generat prin metoda costului unitar de transport minim, a
fost foarte bun: ntr-o singur iteraie s-a gsit soluia optim!

6 Tratarea soluiilor degenerate


Algoritmul descris funcioneaz corect numai dac soluia (de baz) iniial i soluiile (de baz)
cercetate pe parcurs sunt nedegenerate. Foarte des ns, n rezolvarea problemelor de transport, apar
soluii degenerate. Ce facem ntr-o asemenea situaie ? Vom proceda n felul urmtor:
n momentul apariiei unei soluii de baz degenerate vom perturba uor datele problemei
aa nct soluia n cauz s capete componentele nenule care i lipsesc. Dup determinarea
soluiei optime a problemei perturbate, eliminm perturbaiile obinnd soluia optim a
problemei originale.
O soluie de baz degenerat nu poate apare dect n dou situaii:
I)

La construirea unei soluii iniiale cnd, la efectuarea unei alocri pe o rut, s zicem pe
ruta ( Fk , Cl ) , se ntmpl ca:
disponibilul curent al furnizorului Fk = cererea curent a consumatorului Cl (*)

16

n acest caz vom mri cu un 0 foarte mic fie disponibilul lui Fk fie cererea lui Cl . S presupunem
c am perturbat disponibilul lui Fk Este clar c n urma acestei operaii problema de transport s-a
dezechilibrat! Pentru reechilibrare vom aduga acelai 0 la cererea unuia dintre consumatorii
care n-au primit ntreaga cantitate cerut, dar altul dect Cl !
Efectum alocarea pe ruta ( Fk , Cl ) precum i celelalte alocri care urmeaz. Dac situaia (*) nu mai
apare va rezulta o soluie nedegenerat a problemei perturbate cu o component nenul egal cu .
Dup aplicarea algoritmului de optimizare se va face 0 .
Exemplul 5 Determinm o soluie iniial prin metoda colului de N-V pentru problema de transport
echilibrat cu datele din tabelul 10.
C1
F1 2
F2 4
Necesar 100

C2
5
3
100

C3 Disponibil
1
200
3
150
150
350

Tabelul 10
La a doua alocare, pe ruta ( F1 , C2 ) avem sitaia 3 semnalat n seciunea 4 i renotat aici cu ():
disponibilul curent al lui F1 = cererea lui C2 = 100
Dup alocare ar trebui blocate att rndul F1 ct i coloana C2; blocnd numai coloana C2 i continund
alocrile se obine soluia din tabelul 11.
(1)

(2)

100

100

(3)
0
(4)
150

Tabelul 11
Conform teoriei, aceasta este o soluie de baz a problemei date ns degenerat deoarece are numai trei
componente nenule n loc de 4 = 2 + 3 1. nlocuind zeroul din ruta ( F1 , C3 ) cu un 0 foarte mic se
obine o soluie nedegenerat.

100

100

150

Tabelul 11.1

17

dar pentru problema cu datele perturbate:


C1
F1 2
F2 4
Necesar 100

C2
C3 Disponibil
5
1
200+
3
3
150
100 150+ 350+

Tabelul 10.1
Am aplicat acestei soluii algoritmul de optimizare:
v1=2
u1= 0

v2 = 5

100

100
+

u2= 2

ij =ui +vj - cij

v3 = 1

150

Tabelul 11.2

v1=2
u1= 0

v2 = 5

Tabelul 11.3

+
100 +

100
+

u2= 2

ij =ui +vj - cij

v3 = 1

100

50

-4

Tabelul 12

Tabelul 12.1

50
50

150 +
100

Tabelul 13
Soluia din tabelul 12 este optim (pentru problema perturbat!). Deoarece n tabelul 12.1 avem
21 = 0 problema perturbat mai are o soluie optim de baz, indicat n tabelul 13. Lund = 0 se
obin dou soluii optime de baz x1 i x2 pentru problema original, ambele nedegenerate vezi
tabelele 14 i 15
x1

100
100

100
50

Tabelul 14

x2

50
50

150
100

Tabelul 15

18

n acord cu teoria general a programrii liniare, problema de transport dat are o infinitate de soluii

100 - 50
50

100

100 +50

75

50 - 50

25

125
100

Tabelul 16

25

Tabelul 16.1

optime de forma (1-)x1 + x2 cu 0 1 . Componentele soluiei optime generale sunt date n


tabelul 16 Pentru = 0 sau 1 regsim soluiile de baz x1 respectiv x2. Pentru 0 1 soluiile
corespunztoare nu mai sunt soluii de baz acestea au cinci componente nenule, cu una mai mult
dect soluiile de baz!! n tabelul 16.1 este dat soluia optim nebazic corespunztoare lui = .
Degenerarea poate apare i n cursul aplicrii algoritmului de optimizare, atunci cnd:
II)

la pasul II.4), minimul al mrimilor nscrise n colurile circuitului marcate cu


nu este unic

Exemplul 6 S presupunem c n rezolvarea unei probleme de transport echilibrate s-a ajuns la soluia
dat n tabelul. Se tie c soluia nu este optim i c o soluie mai bun va rezulta din ciclul rutei
(F2 , C3) vezi tabelul 17.1.

80
100

40

80

40

100

40

40

+
+

50
Tabelul 17

30

50

30

Tabelul 17.1

Se observ c min x14 40 , x22 40 , x33 50 40 nu este unic astfel c, dup redistribuirea lui
40 pe colurile ciclului, rezult soluia degenerat din tabelul 18 creia nu i se mai poate aplica
algoritmul de optimizare!
120
100

40
10
Tabelul 18

70

19

Pentru evitarea acestei situaii, n tabelul 17 vom modifica puin una dintre valorile egale cu 40.
De exemplu perturbm x22 40 cu 0 foarte mic. Aceasta revine la a mri cu att
disponibilul furnizorului F2 ct i cererea consumatorului C2 vezi tabelul 17.2

80
100

40

80

40+

100
50

40+

40

30

+
50

Tabelul 17.2

30

Tabelul 17.3

Relum algoritmul de optimizare cu pasul II.4) ns pentru problema perturbat! (vezi tabelul 17c). De
aceast dat, minimul va fi unic: min x14 40 , x22 40 , x33 50 40 i dup redistribuirea
sa se obine pentru problema perturbat ! soluia nedegenerat:
120
100

40
10

70

Tabelul 18.1
creia i se poate aplica algoritmul de optimizare. La terminare se va face = 0.

Probleme propuse
Pentru problemele de transport echilibrate de mai jos:
i) Determinai soluii iniiale prin metodele descrise (metoda colului de NV, metoda costului
unitar de transport minim, metoda diferenelor maxime sau alte metode...);
ii) Determinai soluia optim plecnd de la cea mai bun soluie gsit la i).
iii) Vizualizai rutele folosite n soluia optim ca n figura 4.
Mare atenie la rezolvarea situaiilor de degenerare!
1.
Furnizori
F1
F2
F3
Cerere

Consumatori
C1
C2
C3
5
7
12
11
6
9
14
10
2
50
40
30

Tabelul 19

Disponibil
35
45
50
130

20

2.
Furnizori
F1
F2
F3
F4
Cerere

C1
30
20
25
18
1200

C2
27
22
14
25
800

Consumatori
Disponibil
C3
C4
C5
C6
15
42
25
10
2200
20
17
12
22
2000
10
24
34
8
1000
28
30
30
28
1300
700 1300 1000 1500
6500

Tabelul 20

3.
Furnizori
F1
F2
F3
F4
Cerere

Consumatori
C2
C3
C4
21
27
3
16
25
12
5
11
4
7
19
14
30
120
40

C1
15
18
6
21
10

C5
22
29
6
9
50

Disponibil
100
60
50
40
250

Tabelul 21

4.
Furnizori
F1
F2
F3
F4
Cerere

Consumatori
C2
C3
C4
1
7
2
2
1
4
1
4
1
7
5
6
30
30
20

C1
3
3
1
3
20

C5
4
1
2
6
50

Disponibil
40
30
50
30
150

Tabelul 22
5.
Furnizori
F1
F2
F3
F4
Cerere

C1
9
7
6
6
400

C2
12
3
5
8
400

Consumatori
C3
C4
C5
9
6
9
7
7
5
9
11
3
11
2
2
600 200 400

Tabelul 23

C6
10
5
11
10
200

Disponibil
500
600
200
900
2200

21

Ilustrri practice ale problemei de transport


Un prim obiectiv al seciunii este acela de a arta cum se soluioneaz o serie de situaii speciale ce pot
apare n studiul problemelor de transport i care amintesc de reoptimizarea din programarea liniar
general: modificri n structura ofertei sau a cererii, blocarea unor rute, maximizarea profitului
rezultat din activitatea de transport etc
Al doilea obiectiv vizeaz problemele de transport neechilibrate. Nu ntotdeauna, condiia de echilibru
(1) din seciunea 2
m

i 1

j 1

oferta total ai b j cererea total


este ndeplinit. Dac oferta total cererea total, problema de transport are n mod clar soluii.
Reducerea la o problem echilibrat se face prin introducerea unui consumator fictiv a crui cerere
este egal cu excesul de ofert. Pe rutele ce leag furnizorii reali de consumatorul fictiv, costurile
unitare de transport se iau egale cu zero. n mod logic, cantitile livrate de (unii) furnizori
consumatorului fictiv se interpreteaz drept cantiti rmase n stoc.
Dac din contr, oferta total cererea total, lucrurile sunt ceva mai delicate. n primul rnd problema
de transport aa cum a fost ea formulat n seciunea 7.2 nu mai are soluii! S-ar putea pune
problema repartizrii la cel mai mic cost de transport a ofertei totale insuficiente ctre consumatori,
numai c unii s-ar putea s primeasc ntreaga cantitate solicitat sau pe aproape n timp ce alii s-ar
putea s primeasc foarte puin sau chiar nimic! Se ridic aici o chestiune principial: cum ar trebui
fcut repartizarea ofertei totale insuficiente astfel nct penuria s fie suportat echitabil de ctre
toi consumatorii!
n al treilea rnd, dorim s semnalm, prin cteva exemple, faptul c practica economic furnizeaz
numeroase situaii care nu implic un transport n sensul propriu al cuvntului dar care pot fi
modelate ca probleme de transport.
Exemplul 1 Se consider problema de transport echilibrat cu datele din tabelul 1
C1
F1 2
F2 4
F3 7
Cerere 100

C2
5
8
9
150

C3
3
3
5
100

Disponibil
50
150
150
350

Tabelul 1
i) s se determine programul de transport care minimizeaz costul total.
ii) cum se modific programul i costul total dac cel puin 50% din cererea consumatorului C1
trebuie asigurat de furnizorul F3.
iii) cum se modific programul i costul total de la i) dac ruta F2C3 nu mai poate fi utilizat.

22

Soluie. i) Metoda diferenelor maxime furnizeaz direct urmtoarea soluie optim de baz,
nedegenerat:
C1
F1
F2
F3

C2
50

100
100

C3
50
50

Tabelul 2
Problema mai are o soluie optim de baz, de ast dat degenerat vezi tabelul 3:
F1
F2
F3

C1
50
50

C2

C3
100

150

Tabelul 3
Costul total de transport are valoarea minim de 1950 u.m.
ii) Diminum cererea consumatorului C1 i disponibilul furnizorului F3 cu

100

50
50
100

uniti. Rezult o nou problem de transport cu datele din tabelul 4


F1
F2
F3
Cerere

C1
2
4
7
50

C2
5
8
9
150

C3
3
3
5
100

Disponibil
50
150
100
300

Tabelul 4
i cu soluia optim degenerat
C1
F1
F2
F3

C2
50

50

C3
100

100

Tabelul 5
al crei cost total este de 1650 u.m.Adugnd i cele 50 uniti deja programate pe ruta F3C1 obinem
programul de transport afiat n tabelul 6

23

C1
F1
F2
F3

50
50

C2
50

C3
100

100

Tabelul 6
al crui cost este de 1650 + 750 = 2000 u.m.
iii) Remarcm faptul c ruta F2C3 este folosit n ambele soluii optime ale problemei date
50 iar n soluia x din tabelul 8.3, x23
100 ) Blocarea rutei
(n soluia x din tabelul 8.2 avem x23
se va face schimbnd valoarea actual 3 a costului unitar de transport c23 pe aceast rut cu o valoare
M, foarte mare, care s oblige algoritmul de optimizare s caute soluii mai ieftine.
Datele problemei modificate sunt n tabelul 7
C1
F1 2
F2 4
F3 7
Cerere 100

C2
5
8
9
150

C3
3
M
5
100

Disponibil
50
150
150
350

Tabelul 7
Este clar c orice soluie a problemei originale este o soluie i pentru problema modificat, diferena
aprnd la cost.
n consecin vom pleca de la soluia optim nedegenerat a problemei originale (tabelul 2) i vom
recalcula mrimile ij.
v1 = 9 - M
u1 = - 4
u2 = M - 5
u3 = 0

v2 = 9
50

v3 = 5

100

50
50

100

3-M
*
2-M

Tabelul 8

ij = ui + vj - cij
*
-2
M-4
*
*
*

Tabelul 8.1

Deoarece M este foarte mare, 22 = M 4 0 (celelalte diferene sunt negative). Utiliznd ciclul rutei
(F2 , C2) se ajunge la soluia optim din tabelul 9:
C1
F1
F2
F3

100

C2
50
50
50

C3

100

Tabelul 9
cu costul total de 2000 u.m. i n care ruta F2C3 nu mai este folosit.

24

Observaie final: compararea costurilor diferitelor soluii obinute confirm ideea c orice
constrngere asupra rutelor poteniale de transport sau asupra cantitilor transportate conduce, n
general, la creterea costului total!

S-ar putea să vă placă și