Sunteți pe pagina 1din 13

PROGRAMAREA LINIARA TIP TRANSPORT

Un caz particular al programarii liniare este atunci cnd activitatile si


resursele se exprima in unitati de masura de acelasi fel , caz in care problema
se numeste tip transport.
Modelul matematic al problemei de transport este :

i 1,.......m
(sistemul restrictiilor )
j 1,......n

xij ai
j 1
m

x b
i 1

ij

c x

f min
i 1

j 1

ij ij

( functia obiectiv )
i 1,2,........m
( conditia de nenegativitate )
j 1,2,........n

pentru xij 0

ai 0

bj 0

cij 0

De regula exista si :
m

i 1

j 1

ai b j

( ecuatia de echilibru )

Daca egalitatea nu este satisfacuta se adauga, pentru echilibrare, un


consumator respectiv un producator suplimentar care are coeficientii de cost
zero.
Remarcam ca functia obiectiv cere numai minim .
Modelul este denumit tip Transport pentru ca ofera solutii unor
probleme formulate astfel:
Se dau:
- cantitatile disponibile la furnizori pentru un produs omogen:
- necesarul de aprovizionat al consumatorilor aceluiasi produs;
- costurile unitare de transport intre furnizori si consumatori.
Se cere sa se intocmeasca un program de transport care sa satisfaca
necesarul consumatorilor cu un cost total minim.

R.Cazacu, CIT- Note de Curs


Rev.20-Apr-05 (6,7)

Dat fiind aplicatiile numeroase si importante ale modelului in optimizarea


transportului feroviar, vom studia cateva metode pentru calcularea
optimumului.
Metoda Nord Vest pentru aflarea unei solutii initiale de baza .
Se da in tabel necesarul si disponibilul unui produs omogen precum si
costurile unitare de transport sau distantele dintre furnizori si consumatori.

FURNIZOR

1
2
3

19
70
40
5

30
30
8
8

Necesar bj

CONSUMAT
OR
3
4
50
40
70
7

Disponibil

ai

10
60
20
14

7
9
18
34

Se cere gasirea unei repartizari ca pe total costul sa fie minim .


Se porneste din campul din colt stanga sus ( pe o harta coltul N-V ) si
se aloca valoarea minima dintre disponibil si necesar, in cazul nostru
valoarea minima dintre 5 si 7. S-a satisfacut necesarul si au mai ramas 2
unitati disponibile , se face acelasi rationament pentru campul alaturat si asa
mai departe obtinandu-se alocarea din tabel.
5(19)

2(30)
6(30)
8

3(40)
4(70)
7

14(20)
14

7
9
18
34

Costul total dupa alocarea obtinuta adica valoarea functiei obiectiv


este :
f=5x19 + 2x30 + 6x40 + 3x40 + 4x70 + 14x20 = 1015
Metoda elementului minim al matricei costurilor consta in executarea
alocarilor in campurile in ordinea crescatoare a costurilor .
Metoda nu da o solutie optima ci una imbunatatita fata de metoda NV.
2(70)
3(40)
5

R.Cazacu, CIT- Note de Curs


Rev.20-Apr-05 (6,7)

8(8)
8

7(40)
7

7(10)
7(20)
14

7
9
18
34

Valoarea functiei obiectiv este :


f = 7x40 + 7x10 + 2x70 + 3x40 + 8x8 + 7x20 = 814
Exemplu Laborator 1:
Metoda diferentelor maxime sau Vogel (nu garanteaza optimul)
1. Se scade pe fiecare linie elementul de valoare minima Cij din
elementul imediat urmator ca marime si se adauga ca o coloana
suplimentara ;
2. Se face aceeasi operatie pe coloane obtinandu-se o noua linie ;
3. Se alege din linie si coloana diferentelor de acelasi grad diferenta
maxima si se cauta valoarea minima Cij din matrice careia i se
atribuie Xij=min.(ai ;bj ) Coloana sau linia unde necesarul sau
disponibilul s-a epuizat se scot din calculele urmatoare .
4. Se reincepe ciclul cu calculul noilor diferente de ordin superior .

1
2
3
4
5

{2}
{1}
{5}
5(19) 30
50
2(10)
70
30 7(40) 2(60)
40
8(8)
70
10(20)
5
8
7
14, 4, 2
21
[22]
10
10
[21]
0
10
10
0
0
10
10
0
0
10
[50]
0
0
[40]
60

7, 2
9, 2
18, 10
34

1 2
9
9
10 20
12 20

3
40
20
[50]

4
40
20
0

5
0 {4}
20
0 {3}

Recalculam functia obiectiv :


f= 5x19 + 2x10 + 7x40 + 2x60 + 8x8 + 10x20 = 779
Exemplu Laborator:
Metoda ciclurilor sau distributiva garanteaza obtinerea solutiei optime.
De obicei se porneste de la o solutie obtinuta prin metoda Vogel care se
verifica si eventual se imbunatateste prin metoda ciclurilor astfel ca
pentru rezolvare sunt pasi de calcul mai putini.
Din ratiuni didactice in cele ce urmeaza vom folosi o solutie obtinuta
prin metoda elementului minim al matricii costurilor.

R.Cazacu, CIT- Note de Curs


Rev.20-Apr-05 (6,7)

2(70)
3(40)
5

8(8)
8

7(40)
7

7(10)
7(20)
14

7
9
18
34

f= 7x10 + 2x70 + 7x40 + 3x40 + 8x8 + 7x20 = 814


Numarul furnizorilor m=3, numar de clienti n=4
Regula: La fiecare pas de calcul trebuie ca numarul de alocari nenule
sa fie m+n-1(se scade 1 deoarece variabilele sunt legate deja prin ec. de
echilibru). In cazul in care numarul de alocari nenule este mai mic decat
m+n-1 solutia este degenerata si nu se vor putea inchide toate ciclurile.
Metoda de ridicare a degenerarii se va expune ulterior.
In continuare se calculeaza evolutia valoarii functiei obiectiv
alocand cate o unitate in campurile fara alocare din matricea costurilor.
Pentru a pastra echilibrul alocarilor pe linii si coloane se scad si se
aduna cate o unitate din alocari creindu-se ciclurile dupa cum urmeaza.
Sensul de parcurgere al ciclurilor este indiferent.
d11 C11 C14 C 34 C 31 19 10 20 40 11
d12 C12 C14 C 34 C 32 30 10 20 8 32
d13 C13 C14 C 34 C 31 C 21 C 23 50
d 22 C 22 C 32 C 31 C 21 30 8 40 70 8
d 24 C 24 C 21 C 31 C 34 60 20 40 70 10
d 33 C 33 C 31 C 21 C 23 70 40 70 40 60

Se poate imbunatati solutia repartizand cantitati in campurile 1,1 si


2,2. Avantajos este campul (1,1) deoarece d11 < d22. (converge mai rapid
catre optim). Alocarea se face dupa regula:
Se aloca minimumul gasit cu semn negativ pe ciclul a carui suma este
negativa. Ciclul ales este iar noua matrice devine:
3(C11 )

3(C 31 )

3(C14 )

3(19)
2(70)
40
5

3(C 34 )

30
30
8(8)
8

50
7(40)
70
7

Valoarea functiei obiectiv devine astfel:


f= 5x19 + 4x10 + 2x70 + 7x40 + 8x8 + 10x20 = 781
R.Cazacu, CIT- Note de Curs
Rev.20-Apr-05 (6,7)

4(10)
60
10(20)
14

7
9
18

Se fac din nou alocari in campurile care nu fac parte din solutie.
d12 C12 C 32 C 34 C14 30 8 20 10 32
d13 C13 C 23 C 21 C11 50 40 70 19 61

d 22 C 22 C 32 C 34 C14 C11 C 21 30 8 20 10 19 70 19
2 C11

2 C14
d 24 C 24 C14 C11 C 21 60 10 19 70 1

d 31 C 31 C 34 C14 C11 40 20 10 19 11
2 C 21 2 C 22

d 33 C 33 C 34 C14 C11 C 21 C 23 70 20 10 19 70 40 71

2 C32 2 C34

Se mai poate aloca in campul (2,2) asa cum se vede schematic pe


ciclul:
Noua solutie
este :

5(19)
70
40
5

30
2(30)
6(8)
8

50
7(40)
70
7

2(10)
60
12(20)
14

7
9
18

f= 5x19 + 2x10 + 2x30 + 7x40 + 6x8 + 12x20 = 743


Se evalueaza din nou alocari in campurile nealocate :
d12 C12 C14 C 34 C 32 30 10 20 8 32
d13 C13 C14 C34 C 32 C 22 C 23 50 10 20 8 30 40 42
d 21 C 21 C11 C14 C34 C32 C 22 70 19 10 20 8 30 19
d 24 C 24 C34 C 32 C 22 60 20 8 30 18
d 31 C 31 C11 C14 C 34 40 19 10 20 11
d 33 C 33 C32 C 22 C 23 70 8 30 40 52

Solutia nu se mai poate imbunatati deoarece noile alocari sunt toate


pozitive . Valoarea functiei obiectiv pentru solutia optima este deci:
Z = 5x19 + 2x10 + 2x30 + 7x40 + 6x8 + 12x20 = 743
PROBLEMA DEGENERARII
Metoda ciclurilor cere ca la fiecare pas de calcul numarul alocarilor
nenule trebuie sa fie m+n-1 (minus 1 arata ca variabilele sunt legate si prin
conditia de echilibru, deci nu sunt total independente) .
R.Cazacu, CIT- Note de Curs
Rev.20-Apr-05 (6,7)

Daca numarul alocarilor nenule este mai mic decat m+n-1 atunci solutia
este degenerata cu consecinta ca nu se vor putea inchide toate ciclurile si
deci nu se poate continua algoritmul in vederea obtinerii solutiei optime.
Iesirea din degenerare se face prin alocari suplimentare nule, denumite
zeroruri esentiale, in campurile de costuri minime ramase nealocate.
Zerorurile esentiale sunt socotite ca alocari nenule.
Alocari de zerouri esentiale se face pana cand se satisface conditia ca
numarul de alocari nenule sa fie egal cu m+n-1.
In metoda ciclurilor, la realocarile pe ciclul de valoarea negativa, se
vor mentine zerouri esentiale in campurile care raman fara alocare astfel ca
noua solutie obtinuta sa nu fie degenerata.
Exemplu, sa presupunem ca pe parcursul aplicarii metodei ciclurilor
se obtine solutia intermediara de forma:
20(4)
40(8)
30(12)
24

15
10(10)
80
10

5(6)
50
25
6

70
15
20(8)
8

10
18
20
48

Evaluam campurile nealocate:


d12 15 20 40 10 25
d14 70 20 30 20 60
d 23 50 5 20 40 25
d 24 15 40 30 20 15
d 32 80 10 40 30 80
d 33 25 5 20 30 10

O alocare in campul d24 mai poate imbunati solutia dupa schema:


C 21 8

C31 8

C 24 8

C34 8

In noua solutie apare o alocare noua in campul 2,4 si dispar alocarile


din campurile 2,1 si 3,4. Solutia obtinuta astfel este degenerata. Pentru
evitarea degenerarii, se pastreaza un zero esential in campul 3,4.
20(4)
40
30(20)
R.Cazacu, CIT- Note de Curs
24
Rev.20-Apr-05 (6,7)

15
10(10)
80
10

5(6)
50
25
6 6

70
15(8)
20(0)
8

10
18
20
48

Ridicarea degenerarii se mai poate face si prin adaugarea la coloana


de disponibil a unei valori mici (epsilon) astfel ca in solutia perturbata sa
gasim campul unde trebuie sa se faca alocarea unui zero esential.
Exemplu: sa presupunem ca dupa o alocare obtinuta prin metoda
elementului minim al matricii costurilor obtinem:
20(4)
40
30(8)
24

15
10(10)
80
10

5(6)
50
25
6

70
15(8)
20
8

10
18
20
48

Solutia obtinuta este degenerata deoarece sunt numai 5 alocari fiind


necesare 6. Se adauga cantitati infinit mici, (epsilon) la coloana de
disponibil echilibrand pe linia de necesar obtinandu-se matricea:
20
40
30
24

15
10
80
10

5
50
25
6

70
15
20
8+3

10+
18+
20+
48+

Se incearca din nou sa se gaseasca o solutie initiala de baza prin


metoda elementului minim al costurilor si se obtine:
20(4+)
15
40
10(10)
30(20-)
80
24
10

5(6)
50
25
6

70
15(8+)
20(2)
8+3

10+
18+
20+
48+

Se egaleaza infinitul mic cu zero si se obtine matricea


20(4)
40
30(20)
24

15
10(10)
80
10

5(6)
50
25
6

70
15(8)
20(0)
8

10
18
20
48

Se observa ca in ultima matrice sunt 6 alocari deci s-a rezolvat


degenerarea aparand un zero esential in campul 3,4.

R.Cazacu, CIT- Note de Curs


Rev.20-Apr-05 (6,7)

Exemplu Laborator 2:
Metoda acoperirii zerourilor.
Metoda permite obtinerea unei solutii optime fara a fi necesara o
solutie initiala de baza. Reluam acelasi exemplu :

(M1)
Nec

19
70
40
5

30
30
8
8

50
40
70
7

10
60
20
14

Disp
7
9
18

Se scad minorantii ( valorile minime) pe linii si coloane in matricea


costurilor si se obtine M2 si M3.
9
40
32

0
31
23

20
0
0

20
0
0

40
10
62

30
0
52

0
30
12

0
30
12

M2

M3

Inventariem toate modurile distincte de a taia liniile si coloanele care


contin zerouri cu un numar minim de linii .
Linii

Coloane

I 1 1

J 1 2,3

I 3 3

J 3 1,2,3,4

I 5 1,3

J 5 2,3

I 2 2

J 2 1,2,4

I 4 1,2

J 4 2

I 6 2,3

J 6 1,4

I 7 1,2,3

J 7

Enumerarea modurilor de taiere a liniilor se face similar ca


inventarierea multimii partilor unei multimi.

R.Cazacu, CIT- Note de Curs


Rev.20-Apr-05 (6,7)

E a1 a 2 a n
P( E ) 2 n 1
n nr . de elemente a multimii
n3

In cazul nostru
2 1 8 1 7
3

Se fac sumele necesarului si disponibilului pentru toate modurile de


taiere a zerourilor inventariate mai inainte.
S1 7 8 7 22
S 2 9 5 8 14 36
S 3 18 5 8 7 14 52
S 4 7 9 8 24
S 5 7 18 8 7 40
S 6 9 18 5 14 46
S 7 7 9 18 34

Se taie liniile si coloanele din Sk min. Adica S1 .


0

20

30

31

30

23

52

12

M
4

Se cauta elementul minim dintre cele netaiate (cazul de fata 12)


- se aduna la elementele dublu taiate;
- se scade din cele netaiate;
- restul ramin neschimbate .
0

32

42

19
11
5

0
0
8

0
52
7

18
0
14

9
18

M
5

Inventariem din nou modurile cum se pot taia zerourile si calculam


sumele SK .

1
2
3
1,2
1,3
2,3
1,2,3

R.Cazacu, CIT- Note de Curs


Rev.20-Apr-05 (6,7)

2,3,4
1,2,4
1,2,3,4
2,4
2,3
1,4

S1 7 8 7 14 36
S 2 9 5 8 14 36
S 3 18 5 8 7 14 52
S 4 7 9 8 14 38
S 5 7 18 8 7 40
S 6 9 18 5 14 46
S 7 7 9 18 34
9

S a obtinut solutia optima cand :


m

S K min b j

S 7 b j 34

j 1

j 1

In matricea M5 numai pozitiile campurilor ce contin zero sunt


relevante deoarece numai in aceste campuri se fac alocari. Se aloca cantitati
incepand cu zero-urile unice pe linii sau pe coloane, dupa regula Xij =min (ai
,bj).
Revenim la matricea initiala a costurilor pe care se pune alocarea
optima.
5(19)
70
40
5

30
2(30)
6(8)
8

50
7(40)
70
7

2(10)
60
12(20)
14

7
9
18

Valoarea optima a functiei obiectiv este:


fmin = 5x19 + 2x10 + 2x30 + 7x40 + 6x8 + 12x20 = 743
In cazul cand problema nu este echilibrata adica total necesar este
diferit de total disponibil adica:
m

bi a j
a)

bi a j

pot fi doua cazuri


Disponibil Necesar

In acest caz se introduce un necesar fictiv si apare o noua coloana cu


coeficientii tehnici zero care echilibreaza necesarul cu disponibilul .
La aceasta matrice se gaseste solutia cu unul din algoritmii cunoscuti.

b ) bi ai
R.Cazacu, CIT- Note de Curs
Rev.20-Apr-05 (6,7)

Disponibil Necesar
10

Se introduce un disponibil fictiv sub forma unei linii suplimentare cu


coeficientii tehnici nuli rezolvandu-se similar.

Exemplu :

daca :

39

34

a
1

19
70
40
5

30
30
8
8

50
40
70
7

10
60
20
14

0
0
0
5

12
9
18
39

DIRIJAREA VAGOANELOR GOALE


Este cunoscut ca in majoritatea statiilor de cale ferata nu exista
echilibru intre numarul vagoanelor descarcate cu cele incarcate sau chiar
daca acest echilibru exista, vagoanele descarcate sunt de o categorie iar
pentru incarcare este necesara o alta categorie. Exemplu in statie se descarca
vagoane materiale de constructii din vagoane descoperite si se incarca
ceriale in vagoane acoperite, deci este excedent de vagoane descoperite si
necesar de vagoane acoperite.
Se impune deci o dirijare a vagoanelor goale excedentare pentru a
acoperi deficitulin alte statii. Cursa goala a vagonului nu este productiva
deci trebuie redusa la minimum posibil .
Se procedeaza astfel:
-Se imparte reteaua de caleferata in zone (cca 120) ;
-Se stabileste pentru fiecare categorie de vagon volumul de incarcari si
descarcari pe decada , luna etc.
Dk , Ik ,
k=1,2,.120
Daca :
Dk > Ik zona k este excedentara in vag.goale
deci
Dk-Ik = bj
j=1,2,m
Dk < Ik zona k este deficitara in vag.
Ik-Dk =ai
I=1,2,.n
R.Cazacu, CIT- Note de Curs
Rev.20-Apr-05 (6,7)

11

Cunoastem distantele kilometrice intre zone :

M ( Km )

C11
C 21

C m1

C12
C 22

C13
C 23

C1n
C2n

Cm2

C m3

C mn

Evident ca trebuie sa se realizeze relatia :


n

b a
j

Se cauta :
n

f min cij xij

pentru xij 0

La CFR s-au obtinut rezultate in acest domeniu pentru o dirijare


cadru decadica. Pentru o dirijare mai operativa sunt necesare mijloace mai
eficace de urmarire a vagoanelor precum sistemele informatice in timp real.
BIBLIOGRAFIE
1. Dinescu C., Savulescu B., Metode matematice si aplicatii pentru
optimizarea problemelor din economie. Ed. Didactica si Pedagogica
Bucuresti 1976.
2. Dinescu C., Savulescu B., Initiere in matematica aplicata. Ed. Albatros,
Bucuresti 1984.
3. Ionescu H, Dinescu C, Burlacu V., Teoria grafelor cu aplicatii in
economie, Editura stiintifica, Bucuresti, 1969.
4. Ionescu H, Dinescu C, Savulescu B, Probleme ale cercetarii
operationale. Ed. Didactica si Pedagogica Bucuresti 1972.
5. Kaufmann A., Metode si modele ale cercetarii operationale Vol 1 si 2,
Ed. Stiintifica, Bucuresti, 1967.
6. Malita M, Zidaroiu C. Matematica organizarii. Editura tehnica.
Bucuresti 1975.
7. Pop D-tru., Elemente de programare liniara cu aplicatii, Editura
militara, Bucuresti, 1972.
8. Postelnicu T, Dinescu C, Savulescu B, Matematici speciale aplicate in
economie, Ed. Didactica si Pedagogica, Bucuresti 1977.
9. Vaduva I, Dinescu C, Savulescu B, Modele matematice de organizare si
conducerea productiei, vol.1 si 2, Ed. Didactica si Pedagogica
Bucuresti. 1974.

R.Cazacu, CIT- Note de Curs


Rev.20-Apr-05 (6,7)

12

R.Cazacu, CIT- Note de Curs


Rev.20-Apr-05 (6,7)

13