Sunteți pe pagina 1din 18

CAPITOLUL 1.

MODELUL MATEMATIC AL PROBLEMEI DE TRANSPORT

În decursul acestui capitol, se va prezenta o imagine de ansamblu în care


vor fi prezentate aspecte generale privind problema transportului într-un caz
particular al programării liniare, metodele folosite pentru a determina o soluție
inițială și algoritmul de rezolvare din perspectivă matematică.
1.1. Prezentarea problemei transportului

Problema transportului face parte din clasa problemelor modelate prin


retele de transport, aceasta poate fi considerată un caz particular de problemă de
programare liniară sau un model matematic distinct cu largi aplicații practice.1
Rețeaua de transport (exemplificată prin anexa 1) are ca scop modelarea unei
situații economice în care, din mai multe puncte denumite surse, este necesar
transportarea unei cantități, în punctele denumite destinații.
O astfel de situație generală se poate concretiza în extrem de multe feluri,
deoarece pot interveni variabile precum punctele intermediare, timpul maxim
destinat transportului, scopurile urmărite etc. De aceasta se pot concepe o
multitudine de cerințe care au la bază rețelele de transport, cum ar fi: problema
de transport clasică, determinarea costului minim, determinarea de flux maxim,
comis voiajorul, etc.
Caracteristicile problemei de transport sunt:
-orice sursă aprovizionează măcar o destinație și fieacare punct de
destinație este aprovizonat de minim o sursă;
-sunt posibile legături sursă-destinație care nu pot fi acoperite (rute
blocate);
-nu se impune limită în privința cantității transportate pe o rută;
-cantitățile disponibile și necesare sunt cunoscute în orice sursă, respectiv
destinație;
-fiecarei rută îi este asociată un cost care nu este dependent de sensul
parcurgerii.

1
V. Căruțașu, Matematici aplicate în management, Sibiu, Editura Adalex, 2006, p.39
Importanţa problemelor de transport este dată de multiplele posibilităţi de
aplicabilitate pe care le oferă în diverse sectoare ale activităţii economice, cum
ar fi:
 Transporturi de bunuri de la beneficiari la consumatori;
 Proiectare de canale în agricultură;
 Proiectare de canale de informaţii;
 Proiectare de canale transportoare de energie;
 Proiectare de depozite de la care aprovizionarea să se facă în
condiţii optime ca timp şi cost;
 Repartizarea optimă a necesarului de producţie pe utilaje şi secţii;
 Optimizarea unor probleme de producţie şi stocaj;
 Proiectarea traseelor mijloacelor de transport goale către centrele
de aprovizionare, astfel încât cheltuielile pentru deplasările în gol
să fie minime.2

Obiectivul soluționării problemei este aflarea cantităților corespunzătoare


fiecărei rute pentru a asigura necesarul în fiecare destinație, limitate de
cantitatea disponibilă în surse, costul având valoare minimă posibilă.

Matematic problema se transpune în următoarele relații:


m n
min  f   c ij  x ij
i 1 j1

 n
  x ij  a i i  1,..., m (1.1)
 j1
m
 x ij  b j j  1,..., n (1.2)
 i 1

 x ij  0 i  1,..., m; j  1,..., n (1.3)

ai= cantitatea disponibilă
bj= cantitatea necesară
xij=cantitate tranportată corespondentă costului cij.
m= număr surse
n= număr destinatari
Spunem că o problemă este echilibrată atunci când:
m n

ai  b j .
i 1 j1

2
Moise Cocan, Anca Vasilescu, ” Programarea matematică folosind MS Excel Solver,
Management Scientist, Matlab” Editura Albastră, 2001, p.20
2
În caz contrar se vor crea surse, respectiv destinatari care vor acoperi
diferența. Costul pentru acești va fi 0. Astfel problema neechilibrată se va
transforma în una echilibrată.
f=soluția problemei; se numește funcția scop. Aceasta este egală cu suma
produselor dintre costuri și cantitatea transportată corespondentă fiecăruia.
Următorul tabel reprezintă forma generală de organizare a datelor unei
probleme de transport:
Tabelul 1.1: Forma generală a modelului unei probleme de transport
… 𝒂𝒊
B1 B2 Bn
A1 C11 C12 … C1n 𝒂𝟏
x11 x12 x1n
A2 C21 C22 … C2n 𝒂𝟐
x21 x22 x2n
… … … … … …

Cm1 Cm2 … Cmn


Am xm1 xm2 xmn 𝒂𝒎
𝒃𝒋 𝒃𝟏 𝒃𝟐 … 𝒃𝒏 T

1.2. Metode de determinare a unei soluții inițiale

Soluția optimă specifică problemei de transport face parte din soluțiile de


bază. De aceea, este necesar să determinăm soluția inițială pentru a rezolva
problema respectivă.
O metodă de determinare a unei soluții inițiale de bază constă în stabilirea
unui sistem de valori 𝑥𝑖𝑗 , așezate pe m linii și n coloane, astfel încât suma lor pe
linii să fie egală cu numerele scrise în ultima coloană 𝑎𝑖 , iar suma lor pe coloană
să fie agală cu numerele scrise în ultima linie 𝑏𝑖𝑗. 3

O soluție de bază a problemei de transport are un număr de componente


nenule egal cel mult cu m+n-1. O soluție inițială are exact m+n-1=µ
componente nenule, dacă este soluție nedegenerată de bază și un număr mai mic
de µ componente nenule dacă este soluție degenerată de bază. Soluția inițială de
bază se obține respectând următorii pași4:
3
Dumitru Pop, Elemente de programare liniară cu aplicații, București, Editura Militară,
1972, p.123
4
V. Căruțașu, op. cit.,p.41

3
1. i se atribuie unei variabile aleatoare 𝑥𝑖𝑗 valoarea: 𝑥̅ ij=min {ai,bj};
2. dacă 𝑎𝑖 < 𝑏𝑗 ; 𝑥𝑖𝑗 =𝑎𝑖 . Se suprimă linia i, iar bj se va înlocui cu 𝑏𝑗 ∗ = 𝑏𝑗 -
𝑎𝑖 ;
3. dacă 𝑎𝑖 > 𝑏𝑗 ; 𝑥𝑖𝑗 =𝑏𝑗 . Se suprimă linia j, iar 𝑎𝑖 se va înlocui cu 𝑎𝑖 ∗ = 𝑏𝑗 -
𝑎𝑖 ;
Astfel, se reduce o linie sau o coloană din tabelul inițial. Procesul este
repetat până când toate efectivele necesare au fost acoperite.
Următoarele patru metode sunt câteva variante de a determina o soluție de bază.

1.2.1 Metoda colțului nord-vest

Această metodă nu are în vedere criteriul economic al costurilor minime


(sau al distanțelor minime), nici cel operativ (al timpului minim), ci numai
amplasarea formală a cantitățiilor de substanță transportată după poziția
variabilei corespunzătoare în tabel.5 Prioritare fiind cantitățile care sunt dispuse
în colțul de N-V al tabelului. Chiar dacă se consideră dezavantajoasă, ramâne
una dintre cele mai simple metode de calcul.
Pasul 1. Se alege variabila 𝑥11 situată la intersecția dintre prima linie și
prima coloană(așazisul colț nord-vest);
Pasul 2. Dacă min {𝑎1 , 𝑏1 }= 𝑎1 atunci 𝑥̅ 11= 𝑎1 ; 𝑥̅ 12= 𝑥̅ 13=…= 𝑥̅ 1n= 0. Se
taie prima linie și se determină x21 din relația: 𝑥̅ 21=min {𝑎2 , 𝑏1 - 𝑎1 };
Dacă min {𝑎1 , 𝑏1 }= 𝑏1 atunci 𝑥̅ 11= 𝑏1 ; 𝑥̅ 21= 𝑥̅ 31=…= 𝑥̅ m1= 0. Se taie prima
coloană și se determină 𝑥12 din relația: 𝑥̅ 12=min {𝑎1 - 𝑏1 , 𝑏2 };
Pasul 3. Algoritmul se repetă determinând succesiv valorile 𝑥𝑖𝑗 situate pe
prima linie și prima coloană rămasă nesuprimată.6

Exemplul 1.1: Trei subunități de parașutiști de infanterie ( 𝐼1 -𝐼3 ) angajează


prin foc direct șase obiective (𝑂1 -𝑂6 ). Datele referitoare la numărul militarilor
(𝐼𝑖 ) apartenent la fiecare grupă și necesarul pentru acoperirea sectorului în care
se execută tragerea (𝑂𝑗 ) care corespunde fiecărui obiectiv si de asemenea,
variabilele 𝑥𝑖𝑗 care sunt asociate sunt listate în tabelul 1.
Cerință: Stabiliți cea mai optimă repartiție a militararilor în dispozitiv
astfel încât fiecare sector de tragere să fie acoperit cu un număr minim de
militari.

5
cf. Dumitru Pop, op.cit., p.124
6
V. Căruțașu, op. cit.,p.42
4
Tabelul 1.2.: Modelul matematic al problemei

O1 O2 O3 O4 O5 O6 𝐈𝐢
Oj
Ii
I1 X11 X12 X13 X14 X15 X16 7
I2 X21 X22 X23 X24 X25 X26 7
I3 X31 X32 X33 X34 X35 X36 7
Oj 3 4 2 3 3 6 21

Prima etapă: Se începe prin atribuirea variabilei 𝑥11 din colțul N-V (colțul
stânga sus) numărul minim dintre apartenenții primei subunități (I1 ) și militarii
necesari acoperirii primului obiectiv ( 𝑂1 ) de unde rezultă 𝑥11 =min (𝐼1, 𝑂1 )=min
(7,3)=3.
Astfel, necesarul este satifăcut pentru a acoperii obiectivul 1 și rezultă
următoarele:
i) 𝑥21 = 𝑥31 =0;
ii) Scade disponibilitatea subunității unu datorită repartizării militarilor
pentru a acoperi obiectivul 1: 𝐼𝑖 =𝐼1 - 𝑥11 =4
iii) Primul obietiv este acoperit, astfel că: 𝑂𝑖 =𝑂1 - 𝑥11 =2-2=0.;

După prima trecere tabelul va arăta astfel:


Tabelul 1.3: Rezultatele intermediare după prima etapă
O1 O2 O3 O4 O5 O6 Ii 𝐈𝐢 "
Oj
Ii

I1 3 X12 X13 X14 X15 X16 7 4


I2 0 X22 X23 X24 X25 X26 7 7
I3 0 X32 X33 X34 X35 X36 7 7
Oj 3 4 2 3 3 6 21 -
𝐎𝐣 " 0 4 2 3 3 6 - 17

A doua etapă: Se aplică aceeași metodă ca și în prima etapă. Se alege


variabila N_V și îi vom atribui minumul dintre numărul disponibil de militari
din subunitatea 𝐼1 și necesarul pentru a acoperi obiectivul numărul 2. Asta
înseeamnă că avem: 𝑥12 =min (𝐼′𝑖 , 𝑂′𝑗 )=min (7,4)=3.
5
Rezultă că:
i) 𝑥22 = 𝑥33 =0;
ii) numărul militarilor disponibili în subunitatea I1 va scadea datorită
militarilor care sunt deja repartizați pentru a acoperiri obiectivul 2: 𝐼1 "=𝐼1 -
𝑥12 =7-4=3;
iii) Necesarul de militari pentru acoperirea obiectivului 2 este satisfăcut
ceea ce înseamnă 𝑂2 "=𝑂2 ′- 𝑥12 =4-4=0.

Tabelul se va completa cu datele următoare:

Tabelul 1.4: Rezultatele intermediare după a doua etapă


O1 O2 O3 O4 O5 O6 Ii 𝐈𝐢
Oj
Ii
I1 3 4 X13 X14 X15 X16 7 0
I2 0 0 X23 X24 X25 X26 7 7
I3 0 0 X33 X34 X35 X36 7 7
Oj 3 4 2 3 3 6 21 -
𝐎𝐣 " 0 0 2 3 3 6 - 14

Etapa a treia : Continuăm în același fel alegând variabila 𝑥13 și îi vom


atribui minimul militarilor disponibili din subunitatea I1 și necesarul pentru
acoperi obiectivul al treilea ceea ce înseamnă:
𝑥13 =min (I"i , O"j )=min (0,2)=0
Vom observa ca în această etapă toți militarii apartenenți subunității unu
au fost deja repartizați către obiective .

Rezultă că:
i) 𝑥14 = 𝑥15 =𝑥16 =0;
ii) numărul militarilor disponibili în subunitatea 𝐼1 devine 0: 𝐼1 ′′′=𝐼"3 -
𝑥31 =3-3=0;
iii) numărul militarilor necesari pentru a coperi obiectivului numărul 3 nu
este satisfăcut așadar,va fi diminuat cu numărul de militari deja repartizați din
subunitatea 𝐼2 : 𝑂𝑖 "=𝑂3 "- 𝑥13 =7-2=5

6
Tabelul se completează cu noile date:

Tabelul 1.5: Rezultatele intermediare după a treia etapă


O1 O2 O3 O4 O5 O6 Ii 𝐈𝐢
Oj
Ii
I1 3 4 X13 X14 X15 X16 7 0
I2 0 0 2 X24 X25 X26 7 5
I3 0 0 X33 X34 X35 X36 7 7
Oj 3 4 2 3 3 6 21 -
𝐎𝐣 " 0 0 0 3 3 6 - 12

Continuând rezolvarea după același procedeu se ajunge în final la soluția


din tabelul:

Tabelul 1.6: Soluția finală a problemei


O1 O2 O3 O4 O5 O6 Ii
Oj
Ii
I1 3 4 0 0 0 0 7
I2 0 0 2 3 2 0 7
I3 0 0 0 0 1 6 7
Oj 3 4 2 3 3 6 21

După cum observăm, avem 11 valori egale cu 0 iar restul sunt mai mari
decât 0,deci aceasta este una dintre soluțiile de bază nedegenerate.
Vom interpreta astfel:
- militarii subunității unu sunt repartizați astfel: 3 la obiectivul 1,4 la
obiectivul 2 și 0 la obectivul 3.
- 2 militai din subunitatea 2 este repartizat pentru obiectivul 3, 3 pentru
obiectivul 4, 2 pentru obiectivul 5
- 1 militar din subunitatea 3 la obiectivul 5 și 6 la obiectivul 6 din aceeași
subunitate.

1.2.2 Metoda minimului pe linie sau coloană

Spre deosebire de varianta de calcul anterioară, aceasta are ca avantaj


faptul că, în determinarea soluției inițiale, ține cont de criteriul economic
(costul, distanțele minime) sau de cel operativ (timpul minim). Principiul
general de rezolvare prevede alegerea din tabel pe fiecare linie elementul cel

7
mai mic, pe poziția respectivă repartizându-se cea mai mică cantitate dintre
cantitățile disponibile de la expeditor și necesare pentru destinatar.

Pasul 1. Se alege variabila 𝑥𝑖𝑗 de pe prima linie corespunzătoare celulei în


care costul 𝑐1𝑗 este minim: Ck=min {𝑐11 , 𝑐12 , …𝑐1𝑛 }; k ∈ {1,2,…n} ;
Pasul 2. Se determină apoi 𝑥̅ 1k din relația:
𝑥̅ 1k=min {𝑎1 , 𝑏𝑘 };
Dacă 𝑎1 < 𝑏𝑘 ; 𝑥̅ 1k= 𝑎1 ; 𝑥̅ 11= 𝑥̅ 12=…= 𝑥̅ 1n= 0; Se taie prima line și
algoritmul se repetă pe linia a doua.
Dacă 𝑎1 > 𝑏𝑘 ; 𝑥̅ 1k= bk; 𝑥̅ 2k= 𝑥̅ 3k=…= 𝑥̅ mk= 0; Se taie coloana k și
algoritmul continuă, alegând variabila 𝑥𝑖𝑗 de pe prima linie corespunzătoare
costului minim care a mai rămas după suprimarea coloanei k.
Pasul 3. Se repetă algoritmul până când toate valorile situate pe prima linie
au fost determinate. În mod analog se va continua pentru celelate linii.
Metoda corespunzătoare minimului pe coloană este asemănătoare cu
precedenta. Singura mențiune că la primul pas, elementul minim se va căuta pe
fiecare coloană.

Exemplul 1.2: Un produs depozitat în D1, D2, D3 trebuie transportat către


4 centre de consum C1, C2, C3, C4. Costurile aferente transportului, necesarul
fiecărui centru de consum si disponibilitatea depozitelor sunt listate în tabelul
următor.
Cerința: Care este cantitatea trimisă de la fiecare depozit la fiecare centru
de consum, astfel încât costul rezultat din urma transportului sa fie minim.
Datele problemei sunt reprezentate în tabelul :

Tabelul 1.7: Datele inițiale ale problemei


Depozite Centre de consum Disponibil(t)
C1 C2 C3 C4
D1 17 0 15 15 10
D2 14 7 9 20 18
D3 0 16 18 12 17
Necesar(t) 10 7 8 20 45

Pentru a pune în evidență metoda de rezolvare se va apela la tabelul


următor în care fiecarui cost unitar de transport (𝑐𝑖𝑗 ) are atribuit o variabilă 𝑥𝑖𝑗 :

8
Tabelul 1.8: Variabilele problemei

17 0 15 15
x11 x12 x13 x14
14 7 9 20
x21 x22 x23 x24
0 16 18 12
x31 x32 x33 x34

Se pornește prin calculul variabilelor aflate pe prima linie și nu se va


părăsi linia respectivă până când nu se vor stabili toate variabilele. Se caută și
se exploatează costul minim prezent pe prima linie: 0=𝑐12 𝑥12 =min=10t.
Rezultă 𝑥11 =𝑥13 =𝑥14 =0.
Ramân de repartizat înca 3 t ale depozitului D1.
Costul urmator este 𝑐13 , =15 𝑥13 =min=3t, etc.
Se trece la linia următoare. Costul minim de pe a doua linie este 7(𝑐22) , dar
𝑥22 =0 deoarece centrul C2 este satisfăcut prin alegerea 𝑥12 =10. Urmează în
ordinea marimii 𝑐23 =9 𝑥23 =min=8t.
Ramân de repartizat înca 10 t ale depozitului F2.
Costul urmator este 𝑐21 , =14 𝑥21 =min=10t, etc.
Continuând în același mod s-a determinat soluția:

Tabelul 1.9: Soluția finală


0 7 3 0
10 0 5 3
0 0 0 17

f(x) =0∙17+3∙15+10∙14+5∙9+3∙20+17∙12=494 unități monetare. Soluția este


degenerată.
Soluția inițială determinată prin metoda minimului pe coloană se
calculează la fel ca aceea determinată prin metoda minimului pe linie, doar că
repartizarea se va face pe centre de consum, deci pe coloane.

9
1.2.3 Metoda ierarhizării eficiențelor

Pasul 1. În tabelul iniţial, toate valorile vor fi înlocuite cu valori opuse;


Pasul 2. Pe fiecare coloană, cea mai mare valoare se adună cu fiecare
element negativ, inclusiv cu opusul acestuia;
Pasul 3. Rezultatul obţinut în cadrul fiecărei coloane se va înmulți cu
necesarul corespondent fiecărui beneficiar ;
Pasul 4. Rezultatele înmulțirii se vor dispune în ordine descrescătoare;
Pasul 5. Efectuarea transportului se va realiza după ordinea ierarhizării
realizate.

Exemplul 1.3:

Tabelul 1.10: Datele inițiale ale problemei


Uj U1 U2 U3 U4 U5 ai
Di
D1 40 50 28 27 42 5

D2 25 19 10 33 26 9

D3 12 25 20 18 21 12

bj 2 3 6 10 5 26

Folosind datele din tabelul de mai sus și algoritmul prezentat mai sus
rezolvarea este dată în următorul tabel:

Tabelul 1.11 Rezolvarea problemei


Uj U1 U2 U3 U4 U5 ai
Di
D1 -40+40=0 -50+50=0 -28+28=0 -27+33=6 -42+42=0 5
02=0 03=0 06=0 610=60 05=0

D2 -25+40=15 -19+50=31 -10+28=18 -33+33=0 -26+42=16 9


152=30 313=93 186=108 010=0 165=80

D3 -12+40=28 -25+40=15 -20+28=2 -18+33=15 -21+42=21 12


282=56 153=45 26=12 1510=150 215=105

bj 2 3 6 10 5 26

10
1.3 Metoda diferențelor maxime

Această metodă este cunoscută și sub numele de: metoda aproximativă a


lui Vogel.
Pasul 1. În fiecare linie a matricei inițiale se caută elementul minim care se
scade din elementul de valoare imediat superioară. Rezultatul se notează într-o
coloană suplimentară ce se adaugă matricei inițiale;
Pasul 2. Această operaţiune se execută şi pentru coloanele matricei iniţiale.
Diferenţele se scriu într-o linie suplimentară adăugată matricei iniţiale;
Pasul 3. Se compară diferenţele de acelaşi ordin de pe linii şi coloane şi se
alege elementul cu valoarea cea mai mare;
Pasul 4. În linia sau coloana în care se gasește diferenţa de valoare maximă
se caută elementul de valoare minimă;
Pasul 5. În căsuţa respectivă se transportă după regula cunoscută minimul
dintre disponibil şi necesar;
Pasul 6. Linia sau coloana în care s-a epuizat atât existentul cât și
necesarul, se anulează printr-o linie;
Pasul 7. Se repetă algoritmul începând da le pasul 1 până se epuizează tot
disponibilul din surse.7

Exemplul 4:
Pentru ducerea unei luptei, depozitele D1-D3 trebuie să aprovizioneze
unităţile U1-U5. Cantităţile disponibile şi necesarul solicitat de unitățil, precum
şi distanţele în km. dintre acestea au fost trecute în tabelul de la exemplul 3.

Prin aplicarea algoritmului prezentat se obţine următoarea soluţie iniţială


de bază în tabelul 1.10:

7
Dumitru Vasile, Modelarea matematică a acțiunilor militare, Bacău, Editura Diagonal,
2002, p.40-41

11
Tabelul 1.12: Rezultatele intermediare și soluția finală
Uj U1 U2 U3 U4 U5 ai Diferențe
Di
I II III IV

D1 40 50 28 27/5 42 5 1 1 1 1
D2 25 19/3 10/6 33 26 9 9 9 9
D3 12/2 25 20 18/5 21/5 12 6 6 6 6
bj 2 3 6 10 5 26

I
13 6 10 9 5
Diferențe

II
6 10 9 5
III
6 9 5
IV

Funcția scop se determină astfel:

f=275+193+106+122+185+215=471
1.3 Rezolvarea problemei de transport

Dat fiind faptul că problema de transport este un exemplu particular de


problemă de programare liniară, sigur că rezolvarea ei se poate realiza cu
ajutorul algoritmului simplex.8 Din cauza dificultății calculelor și prin numărul
acestora s-a cercetat această formă particulară pentru a se găsi metode de
soluționare mai simple și mai rapide
Avem la dispoziție mai multe metode: se poate calcula soluția finală și
optimă fără a fi necesară o soluție inițială (metoda acoperirii zerourilor sau
ungară , algoritmul SIMPLEX-modificat), și de asemenea prin optimizarea unei
soluții inițiale de bază obținută (metoda distributivă, distributivă-modificată) și
metoda geometrică.
În problemele de transport odată cunoscute datele problemei acestea se
aranjează într-un tabel (vezi subcap.1.1) și se procedează la determinarea unei
soluții inițiale (vezi subcap 1.2). Nu există certitudinea că soluția inițială de
bază este optimă de aceea trebuie verificată și optimizată în cazul în care nu este
optimă. A verifica dacă această soluție este optimă înseamnă a arăta că orice
altă soluție conduce la o valoare mai mare sau egală a funcției liniare f și deci
totalul cantității transportate nu mai poate fi redus.9

8
cf. Dumitru Pop, op. cit., p.119

9
Dumitru Vasile, Rugină Nicolae, Stoian Ion, Modelarea matematică a acțiunilor militare,
Bacău, Editura Diagonal, 2002, p.43

12
Pasul 1: Se găsește o soluție initială.
Pasul 2: Se verifică optimalitatea soluției inițiale prin următorul tabel:

Tabelul 1.13: Verificare a soluției inițiale


vj v2 v3 vn

ui

u1 c11 c12 c1n



𝑐̅11__ 𝑐̅12__ 𝑐̅1n_

u2 c21 c22 c2n



𝑐̅21__ 𝑐̅22_ 𝑐̅2n__

… … … … …

um cm1 cm2 cmn



𝑐̅m1__ 𝑐̅m2__ 𝑐̅mn__

Pentru aceasta urmăm pașii de mai jos:

1. Pe prim linie valorile vj care urmează să fie determinate.


2. Pe prima coloană valorile ui care urmează să fie determinate.
3. În colțul stânga sus ale celulelor din interior se trec costurile cij.
4. În celulele corespunzătoare celulelor din tabelul soluției inițiale sau
soluției îmbunătățite obținute la pasul curent în care xij>0 se trec și
colțul dreapta jos costurile cij (în aceste celule costurile cij apar și în
colțul din stânga sus și în colțul din dreapta jos)
5. Se determină numerele ui și vj (i=1,2,3,...,m și j=1,2,3,...,n) folosind
ecuațiile:

13
1. ui+vj=cij i=1,2,3,...,m și j=1,2,3,...,n.
2. Se consideră u1=0.
6. Folosind relația 𝑐̅ij_=ui+vj se calculează costurile care se trec în colțul din
dreapta jos ale tabelului. Indiferent de soluția sistemului, valorile 𝑐̅ij
obținute sunt aceleași. Evident că pentru celulele bazice pentru care xij>0,
avem 𝑐̅ij =cij.
7. Se compară cij(scrise în colțul din stânga sus) cu costurile 𝑐̅ij (scrise în
colțul din dreapta jos). Avem două situații:
8. Dacă cij>𝑐̅ij , pentru orice i=1,2,3,…,m și orice j=1,2,3,…,n, atunci soluția
din tabelul current este optimă;
9. Dacă există cel puțin o celulă în care cij<𝑐̅ij , atunci soluția din tabelul
current poate fi îmbunătățită .10

Pasul 3: Pentru a putea studia modalitatea de îmbunătățire a soluției com


introduce noțiunea de circuit. Această noțiune se introduce numai pentru
celulele în care cij<𝑐̅ij , celule care se află printer celulele corespunzătoare din
tabelul soluției inițiale sau a soluției îmbunătățite obținute la pasul current în
care xij=0.11

Se verifică dacă soluția este degenerată: m+n-1=nr. valori xij>0. (În cazul
în care nu este, atribuit valoarea 0 unei cellule libere.)

Vom define circuitul corespunzător acestei celule ca fiind un contur


poligonal închis (care unește celulele din interiorul tabelului cu linii orizontale
și verticale) care pleacă din celula în care xkl=0 li trece numai prin celule în care
xij>0 pentru a reveni la celula inițială.12

Optimizarea se va realiza prin calculul de produse αklskl pentru acele


celule unde cij<𝑐̅ij ; skl=ckl-𝑐̅kl ; αkl=min{xy /xy>0 valori poziționate în celule pare
din circuitul celulei xkl=0, aceasta fiind celula de start a circuitului}.

Pentru a determina funcția obiectiv cea mai mică ca și valoare, luăm în


considerare circuitul celulei cu produsul aklskl minim.

Noua soluție va fi construită în funcție de soluția curentă astfel


(presupunem că îmbunătățirea se face corespunzător celulei pentru care
produsul aklskl are valoare minimă):

10
Vasile Căruțașu, Cercetari operaționale și teoria deciziei,Sibiu, Editura Academia Forțelor
Terestre „Nicolae Bălcescu” , 2014, p.114
11
Ib. p. 115
12
Ib. p. 115
14
a) xkl=αkl;
b) în celulele impare din circuitul corespunzător celulei xkl se scade din
soluția curentă valoarea αkl;
c) în celulele pare din circuitul corespunzător celulei xkl se adună la
soluția curentă valoarea αkl.13

Astfel se obține o funcție scop mai mica decât cea anterioară și se reia
pasul 2.

Exemplul 5: Pentru desfășurarea unui exercițiu, 5 subunități de nivel


batalion (B1-B5) vor solicita aprovizionarea cu muniție de la trei surse (A1-A3).
Cantitățile de muniție disponibilă sunt notate cu ai (i=1,2,3) calculate în tone,
necesarul subunităților cu bj (j=1,2..5) și distanța dintre acestea în kilometri.
După centralizarea datelor am obținut următorul tabel:

Tabelul 1.14: Datele inițiale ale problemei

Ai Bj B1 B2 B3 B4 B5 𝐚𝐢
A1 10 20 30 30 10 5
A2 20 10 10 10 30 5
A3 20 10 30 20 20 5
𝐛𝐣 2 4 1 2 6 15

Cerință: Să se determine schema de transport a muniției astfel încât


costul să fie minim. Se ține cont că se va realiza cu mijloace auto, astfel costul
va fi față de distanță direct proporțional.

Pasul 1: Se va calcula funcția scop după calcularea unei soluții de bază :

Tabelul 1.15: Datele inițiale ale problemei


Ai Bj B1 B2 B3 B4 B5 𝐚𝐢
A1 10/2 20 30 30 10/3 5
A2 20 10/4 10 10/1 30 5
A3 20 10 30/1 20/1 20/3 5
𝐛𝐣 2 4 1 2 6 15

f=20+30+40+10+30+20+60=210

13
Vasile Căruțașu, Cercetari operaționale și teoria deciziei,Sibiu, Editura Academia Forțelor
Terestre „Nicolae Bălcescu” , 2014, p.116
15
Pasul 2: Verificarea soluției.

Tabelul 1.16: Verficare soluție

ui vj 10 10 10 10 10
0 10/10 20/10 30/20 30/10 10/10
0 20/10 10/10 10/20 10/10 30/10
10 20/20 10/20 30/30 20/20 20/20

După cum obervăm în căsuțele cu indicele 23 și 32, ckl<𝑐̅ij.. Așadar trecem la


pasul 3 pentru a optimiza soluția.

Pasul 3: Îmbunătățirea soluției.

Calculăm diferențele skl:

s23=10-20=-10; s32=10-20=-10;

Stabilim ciclurile pentru celulele în cauză după care realizăm minimul


celulelor pare pentru fiecare în parte:

Tabelul 1.17:Ciclurile soluției

Ai Bj B1 B2 B3 B4 B5 𝐚𝐢

A1 10/2 20/0 30/0 30/0 10/3 5


A2 20/0 10/4 10/0 10/1 30/0 5
A3 20/0 10/0 30/1 20/1 20/3 5
𝐛𝐣 2 4 1 2 6 15

α23=min(1,1)=1; α32=min(4,1)=1.

Calculăm produsele αklskl:

s23α23= s32α32=-101=-10.

Ambele produse sunt egale așadar avem liberă alegere. Prelucrăm


circuitul cu celula de start de pe poziția A2B3.

16
Tabelul 1.18: Noua soluție

Ai Bj B1 B2 B3 B4 B5 𝐚𝐢
A1 10/2 20 30 30 10/3 5
A2 20 10/4 10/1 10 30 5
A3 20 10 30 20/2 20/3 5
𝐛𝐣 2 4 1 2 6 15

Funcția scop:

f=20+30+40+10+40+60

Se reia algoritmul începând cu pasul 2 și după un număr finit de


prelucrări obținem soluția:

Tabelul 1.19: Soluția finală.

Ai Bj B1 B2 B3 B4 B5 𝐚𝐢
A1 10/2 20 30 30 10/3 5
A2 20 10/2 10/1 10/2 30 5
A3 20 10/2 30 20 20/3 5
𝐛𝐣 2 4 1 2 6 15

Tabelul 1.20: Verificare soluție finală

ui vj 10 0 0 0 10
0 10/10 20/0 30/0 30/0 10/10
10 20/20 10/10 10/10 10/10 30/20
10 20/20 10/10 30/10 20/10 20/20

După cum observăm toatele relațiile de forma cij≥𝑐̅ij sunt îndeplinite,


așadar nu mai putem optimiza această soluție. Astfel funcția scop finală va avea
valoarea:

f=20+30+20+10+20+20+60=180.

Prin urmare costul total pentru trasportul muniției este de 180 unități.

17
18