Sunteți pe pagina 1din 6

Bazele Ingineriei Sistemelor de Producție

Suport pentru Activitati Aplicative – Tema 2

PROBLEME DE TRANSPORT
3 AA

BREVIAR TEORETIC

Formularea generală a unei probleme de transport:


Se cere determinarea unui plan de transport optim pentru un produs de la m
centre de aprovizionare (depozite) la n centre de desfacere (de consum). Produsul se află
în cantitatea ai la depozitul i, 1  i  m, şi este cerut în cantitatea bj la centrul de consum
j, 1  j  n. Cantitatea (necunoscută) ce va fi transportată de la depozitul i la centrul de
consum j se notează xij, iar preţul de transport al unei unităţi din produsul considerat de
la i la j se notează cij.
Cantitatea transportată de la depozitul i la toate cele n centre de consum trebuie să
fie cel mult egală cu cantitatea aflată în depozitul i:
n

 x  a
j 1
ij i , pentru 1  i  m.

Cantitatea transportată de la toate cele m depozite la centrul de consum j trebuie


să fie cel puţin egală cu cantitatea necesară la centrul de consum j:
m

 x  b , pentru 1  j  n.
i 1
ij j

Costul transportului de la depozitul i la centrul de consum j este cij xij, iar costul
m n
total al transportului este:  c
i 1 j 1
ij xij .

Se urmăreşte minimizarea acestui cost (care reprezintă, de fapt, funcţia obiectiv a


problemei de transport).
Pentru ca să se poată efectua transportul este necesar să fie îndeplinită următoarea
m n
condiţie:  a   b
i 1
i
j 1
j .

Dacă ultima condiţie de mai sus este îndeplinită cu semnul „=”, se obţine astfel
următorul program liniar:
n

x
j 1
ij  ai , 1  i  m ,

m
10. (sistemul de restricţii) x
i 1
ij  bj , 1  j  n ,
m n
unde  ai   b j ,
i 1 j 1

1
U.P.G. Ploieşti / Facultatea de Inginerie Mecanică şi Electrică / Departamentul Inginerie Mecanică

20. (condiţii de ne-negativitate) xij  0, 1  i  m, 1  j  n .


m n

30. (funcţia obiectiv) min F   cij xij


i 1 j 1

Acest tip de program liniar, formulat în forma standard, cu m + n restricţii şi m∙n


variabile, se numeşte program de transport. Se poate demonstra, prin aplicarea
teoremelor de calcul matriceal, că orice soluţie de bază a acestei problemei are cel mult
m + n – 1 componente nenule.

Metoda celulelor (distributivă) de rezolvare a problemelor de transport:


Rezolvarea unui program de transport presupune parcurgerea a două faze, pentru
fiecare existând o serie de metode diferite de rezolvare:
A. determinarea unei soluţii iniţiale de bază;
B. determinarea soluţiei optimale, printr-un proces iterativ.
Observaţie: pentru simplificarea rezolvării, se utilizează tabelul de transport, notat
în continuare cu T, care este de forma:

[cij ] 1 i  n [ai ] 1i n


1 j  n

[b j ] 1 j n

Metoda generală de determinare a unei soluţii iniţiale de bază (faza A) presupune


parcurgerea următoarelor etape (unde s-a notat cu x ij valoarea numerică, care poate fi
eventual şi zero, a variabilei xij):
10. se atribuie unei variabile de bază oarecare valoarea: x ij  min{ai , b j } ;
20. se înlocuiesc, în T, ai şi bj repectiv prin ai  x ij şi b j  x ij şi se suprimă linia i
din T, dacă x ij  ai , sau coloana j, dacă x ij  b j , rezultând un tabel T redus;
30. se repetă etapele 10 şi 20 până când toate cererile sunt sqtisfăcute (toate
variabilele problemei de transport au atribuită o valoare).
Observaţie: Suprimarea unei linii / coloane din tabel este echivalentă cu faptul că
toate valorile x ij ale variabilelor corespunzătoare acelei linii / coloane sunt nule, cu
excepţia celei egale cu ai sau bj. Variabilele care au valori nule sunt variabilele
secundare (din afara bazei), iar cele cu valori nenule alcătuiesc baza iniţială şi se vor
trece în tabelul T, alături de valorile cij, în aceleaşi celule. Valorile variabilelor
secundare (cele nule) nu se vor trece în tabel.
Celula se defineşte ca fiind un element („căsuţă”) din tabelul T / T redus.
Metoda are cazuri particulare din punctul de vedere al alegerii variabilei xij la
etapa 10. Vom aplica metoda colţului de Nord-Vest, care presupune alegerea variabilei
din celula situată în prima linie şi prima coloană a tabelului T / T redus.
Soluţia de bază iniţială, odată determinată, se poate indica în tabelul T, astfel: se
trec valorile variabilelor bazei iniţiale în colţul din dreapta jos al fiecărei celule, alături
de coeficienţii cij, iar valorile variabilelor nule nu se trec în tabel.
La finalul fazei A, se poate verifica soluţia de bază obţinută cu ajutorul tabelului
T, însumând pe fiecare coloană, respectiv linie valorile variabilelor de bază. Aceste
sume trebuie să rezulte egale cu coeficienţii bj, respectiv ai.

2
Bazele Ingineriei Sistemelor de Producţie – suport pentru Activități Aplicative IEDM, ID (Tema 1)

Pentru determinarea soluţiei optimale (faza B), vom aplica metoda distributivă,
care este iterativă şi presupune parcurgerea următoarelor etape:
10. Se notează cu I mulţimea celulelor (i, j) corespunzătoare variabilelor de bază
(cele cu valori nenule), determinate în cursul fazei A. Se introduc variabilele ui şi vj,
corespunzătoare liniei ai, respectiv coloanei bj din tabelul T / T redus. Se determină
valorile variabilelor ui şi vj din rezolvarea sistemului: ui + vj = cij, pentru (i, j)  I,
plecând de la u1 = 0.
20. Se calculează coeficienţii ij = ui + vj - cij , pentru celulele (i, j)  I :
 dacă ij  0,  (i, j)  I, soluţia de bază obţinută după iteraţia precedentă este
cea optimă;
 dacă NU, se calculează  kl  max{ ij } şi se determină un ciclu cu celula (k, l) şi
( i , j )I

celule corespunzătoare variabilelor de bază.


Un ciclu reprezintă un contur poligonal închis prin celulele tabelului T.
30. Se marchează cu  celulele pare din ciclul obţinut în etapa 20. În celulele
marcate, se evidenţiază variabila xps de valoare minimă.
40. Se scade valoarea lui xps din valorile variabilelor din celulele marcate şi se
adună la valorile variabilelor din celelalte celule ale ciclului. Noua soluţie de bază este
constituită din xkl (cu valoarea lui xps) şi variabilele bazei precedente (cu valori
modificate după cum s-a arătat mai sus), iar variabila xps părăseşte baza.
50. Se repetă etapele 10 ...40 până când se obţine (la 20) soluţia OPTIMĂ.

PROBLEMĂ REZOLVATĂ

Să se rezolve problema de transport caracterizată de următorul tabel T:


2 3 2 12
1 3 4 10
2 8 1 8
10 15 5

Rezolvare: Se verifică întâi condiţia următoare:


3 3

a
i 1
i  12  10  8   b j  10  15  5  30.
j 1

Faza A: Iteraţia 1: x11  min( a1 , b1 )  min(12,10)  10  b1 . Se suprimă coloana 1,


iar a1=12 se înlocuieşte cu a1- x11 =12-10=2. Rezultă tabelul redus (în acest exemplu,
vom păstra valorile coeficienţilor cij în tabel, fără a le înlocui cu variabilele xij):
3 2 2
3 4 10
8 1 8
15 5

3
U.P.G. Ploieşti / Facultatea de Inginerie Mecanică şi Electrică / Departamentul Inginerie Mecanică

Iteraţia 2: x12  min(15,2)  2 . Se suprimă linia 1, iar b2=15 se înlocuieşte cu b2-


x12 =15-2=13. Rezultă tabelul redus de mai jos:
3 4 10
8 1 8
13 5

Iteraţia 3: x 22  min(10, 13)  10 . Se suprimă linia 2, iar ‘13’ se înlocuieşte cu


‘13’- x 22 =13-10=3. Rezultă tabelul redus:
8 1 8
3 5
Din acest ultim tabel, rezultă evident: x 32 = 3 şi x 33 = 5.
Soluţia de bază iniţială obţinută este caracterizată de următoarele valori ale
variabilelor de bază: x11 = 10, x12 = 2, x 22 = 10, x 32 = 3 şi x 33 = 5. Variabilele din afara
bazei (cu valori nule) sunt deci: x21, x31, x13, x23.
Această soluţie de bază se indică în tabelul T, astfel: se trec valorile variabilelor
„bazei iniţiale” în colţul din dreapta jos al fiecărei celule, alături de coeficienţii cij, iar
valorile variabilelor nule (din afara bazei) nu se trec în tabel. Rezultă astfel tabelul (în
care valorile variabilelor sunt scrise îngroşat):
2 3
2 12
10 2
3
1 4 10
10
8 1
2 8
3 5
10 15 5
Se poate apoi verifica soluţia de bază obţinută însumând pe fiecare coloană,
respectiv linie valorile variabilelor de bază. Aceste sume trebuie să rezulte egale cu
coeficienţii bj, respectiv ai.
Faza B - Iteraţia 1 (pe etape):
10. Valorile ui şi vj sunt marcate în tabelul T1 de mai jos.
20. Valorile ij sunt incluse în tabelul T1. Deoarece există valori ij > 0, se
obţine:  kl   31  5 . Se alege ciclul indicat în tabelul T1 de mai jos.
30. Celulele pare ale ciclului ales sunt marcate în tabelul T1. Rezultă, ca
variabilă ce „iese din bază”: x ps  x32  3 .
40. Se determină noua soluţie de bază, iar rezultatele calculului sunt indicate în
tabelul T2 (vezi mai jos). Variabila ce „intră în bază” este x31 = xkl.
Iteraţia 2 (pe etape): 10. Valorile ui şi vj sunt marcate în tabelul T2.
20. Valorile ij sunt incluse în tabelul T2. Deoarece există o valoare ij > 0, se
obţine:  kl   21  1 . Se alege ciclul indicat în tabelul T2 de mai jos.

4
Bazele Ingineriei Sistemelor de Producţie – suport pentru Activități Aplicative IEDM, ID (Tema 1)

30. Celulele pare ale ciclului ales sunt marcate în tabelul T2. Rezultă, ca
variabilă ce „iese din bază”: x ps  x11  7 .

T
v1 = 2 v2 = 3 v3 = -4
T1
2 3 -6
u1 = 0 12
10 * 2 2
1 3 -8
u2 = 0 10
1 10 4
5 8 1
u3 = 5 8
2 3* 5
10 15 5

T
v1 = 2 v2 = 3 v3 = 1
T2
2 3 -1
u1 = 0 12
7* 5 2
1 3 -3
u2 = 0 10
1 10 * 4
2 -5 1
u3 = 0 8
3 8 5
10 15 5

T
v1 = 1 v2 = 3 v3 = 0
T3
-1 3 -2
u1 = 0 12
2 12 2
1 3 -4
u2 = 0 10
7 3 4
2 -4 1
u3 = 1 8
3 8 5
10 15 5

5
U.P.G. Ploieşti / Facultatea de Inginerie Mecanică şi Electrică / Departamentul Inginerie Mecanică

40. Se determină noua soluţie de bază, iar rezultatele calculului sunt indicate în
tabelul T3 (vezi mai sus). Variabila ce „intră în bază” este x21 = xkl.
Iteraţia 3 (pe etape): 10. Valorile ui şi vj sunt marcate în tabelul T3.
20. Valorile ij sunt incluse în tabelul T3. Deoarece NU există valori ij > 0,
soluţia de bază obţinută după iteraţia 2 este şi cea OPTIMĂ.
Soluţia OPTIMĂ presupune deci următoarele valori ale variabilelor:
xˆ12  12, xˆ21  7, xˆ22  3,
xˆ31  3, xˆ33  5, ,
xˆ11  xˆ13  xˆ23  xˆ32  0.
iar valoarea minimă a funcției obiectiv este: fmin = 63.
Observație: Pentru calculul valorii funcției obiectiv, s-a utilizat tabelul T3, luându-
se în considerare celulele variabilelor de bază (cele cu diagonală). Astfel, pentru fiecare
astfel de celulă se face produsul celor două valori (cij, de deasupra diagonalei, și x ij , de
sub diagonală), însumându-se apoi aceste produse, rezultând astfel:
fmin = 3∙12 + 1∙7 + 3∙3 + 2∙3 + 1∙5 = 36 + 7 + 9 + 6 + 5 = 63.
În mod asemănător, se poate calcula valoarile lui f corespunzătoare fiecărei
soluții de bază obținute pe parcursul rezolvării problemei. Se obțin astfel:
 pentru soluția de bază inițială (tabelul T1): f = 2∙10+3∙2+3∙10+8∙3+1∙5 = 85;
 pentru soluția din tabelul T2: f = 2∙7 + 3∙5 + 3∙10 + 2∙3 + 1∙5 = 70.
Se poate constata că, pe măsură ce ne apropiem de soluția optimă, valoarea
funcției obiectiv f scade.