Sunteți pe pagina 1din 122

V.

PROBLEMA DE TRANSPORT

1. Problema de transport echilibrată. Model matematic.


Proprietăţi.

O problemă de mare importanţă în cadrul expedierii mărfurilor o


reprezintă mişcarea fizică, deplasarea în spaţiu a acestora. În sistemul
cibernetic al firmei, sub-sistemul transport – aprovizionare – desfacere
realizează legătura directă dintre producător şi consumator, condiţionând
realizarea planului de desfacere.

Organizarea eficientă a transporturilor presupune cunoaşterea tuturor


rutelor de transport, precum şi a costurilor pe fiecare mijloc de transport în
parte, astfel încât să se utilizeze rutele cele mai economice, deoarece o
reducere permanentă a cheltuielilor de transport conduce la sporirea
eficienţei activităţii economice a firmei. Toate cheltuielile care sunt legate
de transportul operativ al mărfurilor trebuiesc evidenţiate distinct pe
furnizori şi pe cantităţi transportate, pentru a se putea efectua o analiză
economică riguroasă.

Concurenţa din ce în ce mai dură care îşi face simţită prezenţa în


toate domeniile activităţii economice impune sistemelor de conducere o
analiză cu instrumente ştiinţifice a tuturor alternativelor existente, căutându-
se acea variantă de acţiune care să conducă la o activitate economică
eficientă. Pe această linie se înscrie şi activitatea din domeniul
transporturilor, care are ca obiect de studiu circulaţia mărfurilor şi ca
obiectiv principal, accelerarea vitezei de circulaţie a mărfurilor şi reducerea
la maximum a cheltuielilor de transport, transbordare, descărcare.
Analita economico-matematică a unor modele liniare

În acest capitol se vor studia o parte a modelelor liniare ce apar în


activitatea de aprovizionare, în circumstanţe ce vor fi specificate. Studiul
“problemelor de transport” pe baza teoriei programării liniare a fost început
în 1941 de Hitchook, apoi extins de diverşi matematicieni interesaţi de
rezolvarea acestei colecţii de probleme.

Formularea economică a problemei de transport echilibrate


În punctele sursă, reprezentând locul de încărcare a mărfii într-un
mijloc de transport, există un tip de marfă solicitată de către anumite puncte
de destinaţie, care pot fi unităţi de desfacere, unde marfa se descarcă şi,
astfel, se încheie procesul de transport.
Se cere găsirea modului optim, în raport cu cheltuielile totale de
transport, în care se poate asigura aprovizionarea a n ∈ N * consumatori cu o
anumită marfă disponibilă, într-o perioadă T, de la m ∈ N * surse, în
condiţiile:
• Se cunosc cantităţile solicitate şi cele disponibile.
• Suma cererilor este egală cu suma disponibilităţilor.
• Livrarea se face prin transport direct, fără puncte de transbordare.
Orice depozit poate aproviziona orice centru consumator pe rute
prestabilite, cu costuri proporţionale cu cantitatea de marfă
expediată.
Problema de transport

Formulare matematică – prezentare schematică

Exprimarea grafică
Notaţii Semnificaţii
a legăturilor
Di , i ∈ M = {1,..., m} Depozitul i
C j , j ∈ N = {1,..., n} Consumatorul j
bj
ai , i ∈ M Cantitatea de marfă disponibilă în Di
a Vectorul disponibilului ai
bj , j ∈ N Cantitatea de marfă solicitată de C j
b Vectorul solicitărilor sau necesarului x ij Cj
(i, j ) , i ∈ M , j ∈ N Ruta fixată pentru aprovizionarea lui
j∈N
C j de la Di
Di c ij
c ij , i ∈ M , j ∈ N Cost unitar de transport pe
ruta (i, j ) i∈M
( )ij∈∈MN
C = cij Matricea costurilor unitare

xij , i ∈ M , j ∈ N Cantitatea de marfă expediată pe


ruta (i, j )
( )ij∈∈MN
X = xij Matricea variabilelor

Modelul matematic
Cantitatea expediată de Di , i ∈ M , n

la cele n centre consumatoare este ∑x


j =1
ij = ai , i ∈ M
egală cu stocul din respectiva marfă
V.1.1
existent în depozit.
Cantitatea de marfă primită de C j , m

j ∈ N , de la cele m depozite trebuie


∑x
i =1
ij = bj , j ∈ N

să fie egală cu cantitatea pe care a V.1.2


solicitat-o.
Variabila x ij poate fi cel puţin zero, xij ≥ 0 , ∀i ∈ M , ∀j ∈ N
oricare ar fi i ∈ M şi j ∈ N . V.1.3
Planul de transport trebuie să fie m n
minim sub aspectul costului total. [min] f = ∑∑ c x
i =1 j =1
ij ij

V.1.4
Oferta este egală cu cererea. m n

∑ a = ∑b
i =1
i
j =1
j

V.1.5
Analita economico-matematică a unor modele liniare

Prezentarea problemei sub forma tabelară


T.V.1.1
Cj C1 ….. Cj Cn D
Di
c11 c1 j c1n
D1 …. …..
x11 x1 j x1n a1
… … …. …. …. ….. …….
ci1 cij cin ai n
Di
xi1 ….
xij
….. xin ∑x
j =1
ij = ai , i ∈ M

….. ….. …. ….. …. ….. …….


cm1 cmj cmn
Dm ….. …..
xm1 xmj xmn am
n m
N b1 …. bj …. bm ∑b = ∑ a
j =1
j
i =1
i

∑x i =1
ij = bj , j ∈ N

Restricţiilor V.1.1 şi V.1.2 le corespunde scrierea


⎛a⎞
matriceală AX = ⎜⎜ ⎟⎟
⎝b⎠
unde A are forma

⎡1 1 ... 1 0 0 ... 0 ... 0 0 ... 0⎤ Linia 1


⎢0 0 ... 0 1 1 ... 1 ... 0 0 ... 0⎥⎥

⎢... ... ... ... ⎥
⎢ ⎥ Linia m
0 0 ... 0 0 0 ... 0 ... 1 1 ... 1⎥
A=⎢
⎢1 0 ... 0 1 0 ... 0 ... 1 0 ... 0⎥ Linia m+1
⎢ ⎥
⎢0 1 ... 0 0 1 ... 0 ... 0 1 ... 0⎥
⎢... ... ... ... ⎥
⎢ ⎥
⎣⎢ 0 0 ... 1 0 0 ... 1 ... 0 0 ... 1⎦⎥ Linia m+n

Coloanele:
1 2 ... n n + 1 ... 2n ... mn
Problema de transport

Din relaţia V.1.5 rezultă că între ecuaţiile sistemului mai există o


relaţie, deci, cele m+n restricţii ale problemei nu sunt independente, ceea ce
ne permite să tragem concluzia că rangA ≤ m + n − 1 , aşadar, o soluţie
admisibilă de bază are cel mult m+n-1 componente pozitive.
Formularea matematică a problemei de transport arată în mod
evident că aceasta se poate rezolva prin metoda simplex sau alte metode
specifice programării liniare.
Pentru exemplificare, considerăm următoarea situaţie:
Un întreprinzător deţine două puncte de prelucrare a cărnii de pui,
(D1 , D2 ) . Produsele finite sunt comercializate de trei centre, C j , j = 1,3 . În
punctul D1 se prelucrează 80% din întreaga cantitate, iar în D2 , restul de
20% din necesarul evaluat pentru o lună. Cantităţile vândute în cele trei
centre sunt de 40%, 30% şi, respectiv, 30% din producţia totală. Procentele
au fost stabilite în funcţie de puterea de cumpărare a clienţilor din
respectivele zone. Costurile de transport pe rutele (D , C ) ,
i j i = 1,2 şi

j = 1,3 , sunt presupuse a fi proporţionale cu lungimile rutelor, şi sunt date în


următoarea matrice:
⎡5 12 7 ⎤
C=⎢ ⎥.
⎣6 8 10⎦
În aceste condiţii, problema de rezolvat este:
[min] f = 5 x11 + 12 x12 + 7 x13 + 6 x 21 + 8 x 22 + 10 x 23
⎧ x11 + x12 + x13 = 80
⎪ x + x + x = 20
⎪⎪ 21 22 23

x
⎨ 11 + x 21 = 40
⎪ x + x = 30
⎪ 12 22

⎪⎩ x13 + x 23 = 30
xij ≥ 0, ∀i = 1,2, j = 1,3
unde xij reprezintă procentul din marfă, transportată pe ruta (Di , C j ) .
Analita economico-matematică a unor modele liniare

Vom rezolva această problemă prin metoda grafică. Pentru aceasta,


notăm
x11 = u ⇒ x21 = 40 − u ≥ 0 ( d1 : 40 − u = 0 )
x12 = v ⇒ x 22 = 30 − v ≥ 0 ( d 2 : 30 − v = 0 )
x13 = 80 − u − v ≥ 0 ( d 3 : 80 − u − v = 0 )
x23 = 20 − 40 + u − 30 + v ⇒ x23 = u + v − 50 ≥ 0 ( d 4 : u + v − 50 = 0 )
80 − u − v + u + v − 50 = 30 (ceea ce este adevărat)
[min] f (u , v) = 5u + 12v + 7(80 − u − v ) + 6(40 − u ) + 8(30 − v) + 10(u + v − 50) =
= 2u + 7v + 540

v
80
d3 d1
d4

50 d2
30 B A

C
O
40 u

Vârf (u , v ) f (u , v )
A (40,30) 830
B (20,30) 790
C (40,10) 690 min
Problema de transport

Se obţine planul optimal

x11* = 40 C1
D1 x12 = 10
*

x13* = 30

C2
x21 = 0
*

x = 20
*
22
D2
x23 = 0
*

cu costul minim [min] f = 690 u.m. C3


Aplicarea algoritmului simplex chiar în acest caz particular în care
numărul restricţiilor este m+n=5 şi numărul variabilelor m ⋅ n = 6 presupune
efectuarea unui număr foarte mare de calcule (tabelul simplex va avea
m ⋅ n + m + n coloane numai pentru vectorii din spaţiul bunurilor).
Modelul matematic al problemei de transport este un model liniar
prezentând anumite particularităţi care au fost folosite de Hitchoock numai
la stabilirea soluţiei de start. În 1947, T. C. Koopmans a exploatat aceste
particularităţi, şi, ca urmare, problemele de transport nu sunt rezolvate prin
metode de tip simplex, ci prin metode speciale bazate pe teoria dualităţii. O
parte dintre aceste particularităţi sunt evidenţiate prin propoziţiile care
urmează.

Propoziţia 1 O problemă de transport echilibrată este un caz particular de


problemă de programare liniară care are cel puţin o soluţie admisibilă.
ai ⋅ b j not m n
Într-adevăr, dacă luăm xij = , unde D = ∑ ai = ∑ b j = N
D i =1 j =1

atunci, se observă că:


● xij ≥ 0 , ∀i = 1, m , j = 1, n
● sunt verificate relaţiile V.1.1 şi V.1.2:
Analita economico-matematică a unor modele liniare

n ai ⋅ b j 1 n
V.1.1' ∑ j =1 D
=
D
⋅ ai ⋅ ∑ b j = ai , i ∈1, m
j =1

n ai ⋅ b j 1 m
V.1.2' ∑ j =1 D
=
D
⋅ b j ⋅ ∑ ai = b j , j ∈1, n .
i =1

Propoziţia 2 rangA=m+n-1.
Matricea A a sistemului V.1.1 - V.1.2 are m+n linii şi m ⋅ n coloane,
fiecare din acestea având două elemente egale cu 1 şi restul egale cu 0.
rangA ≤ min(m + n, m ⋅ n) = m + n < m ⋅ n , m, n ∈ N − {0,1,2}

Ca la orice problemă de programare liniară, aflarea soluţiei optime


impune parcurgerea a două mari etape:
Etapa 1: Generarea unei soluţii admisibile de bază.
Etapa 2: Verificarea optimalităţii soluţiei găsite şi, dacă este nevoie,
îmbunătăţirea ei, până la aflarea soluţiei optime finite.

În continuare, vor fi comentate pe scurt aceste etape.

Etapa 1: Determinarea unei soluţii admisibile de bază, pe care o vom numi


în continuare soluţia iniţială, poate fi făcută prin metodele cunoscute din
programarea liniară sau, mai simplu, prin metode specifice, printre care
menţionăm:
- metoda diagonalei (Dantzig) sau metoda colţului de nord-vest;
- metoda elementului minim pe linie;
- metoda elementului minim pe coloană;
- metoda elementului minim pe tabel;
- metoda diferenţelor maxime sau metoda lui Vogel.
Deoarece aceste metode nu cer o teoretizare specială, vor fi expuse odată cu
aplicarea lor.
Problema de transport

Etapa 2: Determinarea soluţiei optime.


Pasul 1 Testarea optimalităţii.
Soluţia iniţială X 1 este optimă ? ⎯DA
⎯→ STOP. Se interpretează
economic rezultatele.
⎯⎯
NU
→ Pasul 2.
Pasul 2 Îmbunătăţirea soluţiei.
Se îmbunătăţeşte soluţia X 1 prin trecerea la o nouă soluţie
admisibilă de bază, X 2 , cu f ( X 2 ) ≤ f ( X 1 ) . Se revine apoi la pasul 1,
înlocuind X 1 cu X 2 . După un număr finit de îmbunătăţiri succesive, se
obţine soluţia optimă.
Testarea şi, eventual, îmbunătăţirea soluţiei pot fi realizate prin:
- metoda potenţialelor;
- metoda distributivă modificată;
- metoda stepping-stone, etc.

Metoda potenţialelor, sau algoritmul primal – dual pentru rezolvarea


problemelor de transport, se bazează pe următoarele teoreme:

Teorema 1: Dacă (xij* ) , i = 1, m , j = 1, n , este soluţie admisibilă de bază


pentru
m n
[min] f = ∑∑ cij xij
i =1 j =1

⎧n
⎪∑ xij = ai , ∀i = 1, m
⎪ j =1
⎨m
⎪ x = b , ∀j = 1, n
⎪⎩∑i =1
ij j

xij ≥ 0 , ∀i, j

şi (u i* , v *j ) , i = 1, m , j = 1, n , este soluţie admisibilă de bază a dualei sale


Analita economico-matematică a unor modele liniare

m n
[max]g = ∑ ai u i + ∑ b j v j
i =1 j =1

{u i + v j ≤ cij , ∀i = 1, m , ∀j = 1, n
u i , v j ∈ R , ∀i = 1, m , ∀j = 1, n
atunci ele sunt optime dacă şi numai dacă:

[ ]
V.1.6 xij* cij − (u i* + v *j ) = 0 , ∀i = 1, m , j = 1, n .
n
V.1.7 ∑x
j =1
*
ij − ai = 0 , ∀i = 1, m .

m
V.1.8 ∑x
i =1
*
ij − b j = 0 , ∀j = 1, n .

V.1.9 xij* ≥ 0 şi cij − (u i* + v *j ) ≥ 0 , ∀i = 1, m , j = 1, n .

Variabilele dualei problemei de transport echilibrate, ui , i = 1, m , şi

v j , j = 1, n , mai sunt numite şi multiplicatori simplex. Conform relaţiei


V.1.6, dacă xij este o variabilă bazică şi are valoare strict pozitivă, notată
xij , atunci cij − (u i + v j ) = 0 . O soluţie admisibilă de bază nedegenerată are
(m+n-1) componente strict pozitive, deci îi va corespunde un sistem de
(m+n-1) ecuaţii, câte o ecuaţie pentru fiecare xij bazică:
V.1.10 ui + v j = cij .
Necunoscutele fiind u1 ,.., u m , v1 ,.., vn , rezultă că totdeauna acest

sistem liniar este compatibil simplu nedeterminat. Fie ui , i = 1, m , şi

v j , j = 1, n , o soluţie ce se poate afla, de exemplu, anulând multiplicatorul


care apare de cele mai multe ori în sistem. Din relaţiile V.1.9 rezultă că
soluţia admisibilă de bază este optimă dacă:
V.1.11 cij − (u i + v j ) ≥ 0 pentru ∀xij nebazic.
Problema de transport

( )
Teorema 2: Dacă xij* , i = 1, m , j = 1, n , este soluţie optimă a problemei de
transport echilibrate, atunci ea rămâne optimă şi pentru problema în care
costurile de transport cij cresc sau descresc cu u i unităţi pe linia i şi v j

unităţi pe coloana j, i = 1, m , j = 1, n .

În practică, după determinarea soluţiei admisibile de bază, pentru


etapa 2 de îmbunătăţire a soluţiei optime,se procedează astfel:

Etapa 2
Pasul 1 Testarea optimalităţii soluţiei iniţiale X 1 :
• Se scrie sistemul u i + v j = cij pentru toate variabilele bazice xij .
• Se calculează ∆ ij = cij − (u i + v j ) pentru toate variabilele xij nebazice.
∆ ij ≥ 0 , ∀xij variabilă nebazică ? DA → STOP.
NU → Pasul 2.
Pasul 2 Se îmbunătăţeşte soluţia testată (X k ) trecând la un alt
program de transport admisibil ( X k +1 ) cel puţin la fel de bun în sensul
f ( X k ) ≥ f ( X k +1 ) .

{ }
Criteriul de intrare în bază: dacă ∆ kr = min ∆ ij ∆ ij < 0 , atunci x kr va intra
în bază. Planul de transport se îmbunătăţeşte prin micşorarea costului total
dacă se va folosi ruta (k , r ) .
Se va atribui variabilei x kr o valoare pozitivă notată θ .

Criteriul de eliminare din bază: se va construi un contur poligonal închis,


cu un număr par de vârfuri, având primul vârf în căsuţa (k , r ) şi celelalte
vârfuri numai în căsuţele corespunzătoare variabilelor bazice. Schimbarea
direcţiei se face numai sub un unghi de 90 grade. Dacă este corect construit,
Analita economico-matematică a unor modele liniare

atunci este unic, şi se revine în căsuţa (k , r ) . Vârfurile vor fi marcate


alternativ ‘+’ şi ‘-‘, începând cu vârful (k , r ) .
Noii variabile bazice i se atribuie valoarea θ egală cu cea mai mică
dintre valorile
variabilelor bazice situate în căsuţele în care vârfurile au fost marcate ‘-‘:
θ = min{x ij > 0 | (i, j ) marcat '-'} = x ep
Se determină soluţia îmbunătăţită X k +1 prin transferarea cantităţii θ
de-a lungul liniei poligonale, conform următoarelor reguli:
x ij := xij − θ , dacă (i, j ) a fost marcat cu ‘-‘;
x ij := xij + θ , dacă (i, j ) a fost marcat cu ‘+‘;
x ij := x ij , dacă (i, j ) nu se află pe conturul poligonal.
Variabila x ep va fi fi eliminată din bază de către x kr . Se revine la pasul 1,
înlocuind X k cu X k +1 .

Observaţie: Între f ( X k ) şi f ( X k +1 ) există relaţia:

f ( X k ) = f ( X k +1 ) + θ ⋅ ∆ kr ⎫

θ ≥0 ⎬ ⇒ f ( X k +1 ) ≤ f ( X k ) .
∆ kr < 0 ⎪

În finalul acestei scurte prezentări a problemei de transport


echilibrate, se va sistematiza tehnica de rezolvare care utilizează metoda
potenţialelor:
Problema de transport

START

Se determină o soluţie iniţială:


X1 .

Numărul
NU Aplică procedeul
rutelor utilizate prin
de perturbare.
X 1 este (m+n-1).

DA

Ataşează restricţiilor variabilele dualei:


u1 ,..., u m surselor (depozitelor);
v1 ,..., v n consumatorilor (destinaţiilor).

Dacă xij este variabilă bazică în X 1 , atunci scrie ecuaţia


u i + v j = cij .
Rezolvă sistemul astfel obţinut; el va fi totdeauna simplu
nedeterminat deoarece are:
• (m+n) variabile (şi anume variabilele dualei);
• (m+n-1) ecuaţii (câte una pentru fiecare variabilă bazică).

Dacă x kl este nebazică în X 1 , atunci calculează


diferenţa ∆ kl = c kl − (u k + vl ) .

• aplică criteriul de intrare în


∆ kl ≥ 0 bază: min ( ∆ kl ) = ∆ pr ;
NU ∆ kl < 0
∀x kl nebazică. • aplică criteriul de ieşire din
bază construind linia poligonală
închisă, cu vârful iniţial în
DA ( p, r ) ;
• calculează componentele
Soluţia testată este soluţiei îmbunătăţite.

STOP
Analita economico-matematică a unor modele liniare

2. Modelarea şi rezolvarea problemelor de transport echilibrate

2.1. Se consideră problema de transport echilibrată, cu datele de


intrare specificate în tabelul următor.
T.V.2.1
C1 C2 C3 C4 Disponibil

D1 5 7 11 4
400t
x11 x12 x13 x14
D2 10 9 5 6
250t
x21 x22 x23 x24
D3 7 8 8 9
300t
x31 x32 x33 x34
Necesar 200t 270t 330t 150t 950t

Fiecare căsuţă (i,j) , i ∈ {1,.., m} , j ∈ {1,.., n} din cele m ⋅ n de acest


tip existente în tabelul T.V.2.1, corespunde rutei dintre depozitul Di în care
sunt stocate ai unităţi de marfă (vezi coloana disponibilului) şi centru
consumator C j care solicită b j unităţi din aceeaşi marfă (vezi linia
necesarului). Pe această rută este cunoscut costul transportului pe unitatea
de produs, exprimat în unităţi monetare, la care se ataşează variabila xij ce
reprezintă cantitatea cu care Di va aproviziona pe C j . Se cere să se

stabilească acele valori ale variabilelor xij , i = 1, m , j = 1, n care satisfac


restricţiile:

⎧ x11 + x12 + x13 + x14 = 400



V.2.1 ⎨ x21 + x22 + x23 + x24 = 250
⎪ x31 + x32 + x33 + x34 = 300

Problema de transport

x11 + x21 + x31 = 200


x12 + x22 + x32 = 270
V.2.2 x13 + x23 + x33 = 330
x14 + x24 + x34 = 150

V.2.3 xij ≥ 0 , i = 1,3 , j = 1,4 .


şi minimizează forma liniară:
V.2.4 [min] f = 5 x11 + 7 x12 + ... + 9 x34 .
Din punct de vedere economic, soluţia optimă reprezintă un plan de
aprovizionare a celor patru centre consumatoare, optim sub aspectul
costului. Optimizarea planurilor de transport al mărfurilor omogene poate fi
făcută şi după alte criterii de rentabilitate, cum ar fi:
• distanţa parcursă să fie minimă;
• minimizarea consumului total de combustibil, etc.

Vom trece acum la rezolvarea modelului prezentat anterior.


Etapa 1: Determinarea unor soluţii admisibile de bază de start. Se vor
exemplifica trei metode.

Metoda diagonalei
Această metodă propusă de Dantzig este deosebit de uşoară, dar
acest avantaj este de cele mai multe ori anulat de faptul că repartizarea
mărfii stocate, disponibile, se face fără a se ţine seama de costurile unitare
de transport.
Iteraţia 1: Se începe construirea unei soluţii iniţiale, atribuind variabilei x11
cea mai mare valoare permisă de restricţii. Dar x11 apare în prima şi în a
patra restricţie, deci, x11 =min(400, 200)=200= b1 . Dacă x11 =200, atunci a
Analita economico-matematică a unor modele liniare

patra restricţie va fi verificată ⇔ x21 = x31 = 0 , iar prima restricţie va fi


verificată ⇔ x12 + x13 + x14 = 400 − 200 .
În general apar trei cazuri:
1. x11 = min(a1 , b1 ) = a1 ⇒ x11 = a1 , x1 j = 0 , cu j = 2, n , deoarece
disponibilul din D1 a fost epuizat prin aprovizionarea lui C1 . Dar C1 care a
solicitat iniţial b1 unităţi de marfă, mai are nevoie de (b1 − a1 ) unităţi.

⎡ x11 = a1 x12 = 0 ... x1n = 0 ⎤ ⇒ ∑ x1 j = a1 Se notează:


I = {2,..., m} ⊂ M ,
⎢ x =? x 22 = ? ... ... ⎥⎥
j =1

⎢ 21 J = {1,..., n} = N .
⎢ ... ⎥
⎢ ⎥
⎣ x m1 = ? x m 2 = ? ... x mn = ?⎦

m

∑x
i=2
i1 = b1 − a1

Se trece la iteraţia 2 pentru a afla valoarea variabilei x21 , care este


variabila cu cei mai mici indici din I , respectiv J.
2. x11 = min(a1 , b1 ) = a1 = b1 ⇒ x11 = a1 = b1 , x1 j = 0 , cu j = 2, n şi x i1 = 0 ,

cu i = 2, m
n
⎡ x11 = a1 = b x12 = 0 ... x1n = 0 ⎤ ⇒ ∑ x1 j = a1 = b1 Se actualizează mulţimile
⎢ x =0 x 22 = ? ... ... ⎥⎥ j =2 I şi J :
⎢ 21 I = {2,..., m},
⎢ ... ⎥
⎢ ⎥ J = {2,..., n}.
⎣ x m1 = 0 x m 2 = ? ... x mn = ?⎦

m

∑x
i =1
i1 = b1
Problema de transport

Se trece la iteraţia 2 pentru a afla valoarea variabilei x 22 , unde i = 2


este cel mai mic indice din I şi j = 2 cel mai mic indice din J.
3. x11 = min(a1 , b1 ) = b1 < a1 ⇒ x11 = b1 , xi1 = 0 , cu i = 2, m , deoarece
cantitatea solicitată de C1 a fost primită numai de la D1 , iar aceasta mai
rămâne cu un stoc de (a1 − b1 ) unităţi:

n
⎡ x11 = b1 x12 = ? ... x1n = ? ⎤ ⇒ ∑ x1 j = a1 − b1 Se actualizează
⎢x =0 x 22 = ? ... x 2 n = ? ⎥⎥ j =2 mulţimile indicilor:
⎢ 21 I = {1,..., m},
⎢ ... ⎥ J = {2,..., n}.
⎢ ⎥
⎣ x m1 = 0 x m 2 = ? ... x mn = ?⎦


m

∑x
i =1
i1 = b1

Se trece la iteraţia 2 şi se află valoarea lui x12 .

Să revenim la exemplul dat:

C1 C2 C3 C4 Disponibil

D1 5 7 11 4
200 400 → 200
D2 10 9 5 6
0 250
D3 7 8 8 9
0 300
Necesar 200 ↓ 270 330 150
950
0

Iteraţia 2: Se aplică raţionamentul de la iteraţia 1 pentru a stabili valoarea


variabilei x 21 în cazul 1, sau x22 în cazul 2, sau x12 în cazul 3.
Analita economico-matematică a unor modele liniare

Se observă că la fiecare iteraţie va fi epuizat un disponibil şi/sau


satisfăcut un necesar, de unde rezultă că după cel mult (m+n-1) paşi se
obţine soluţia de start.

Vom continua exemplificarea:


Iteraţia 2: x12 = min(200,270) = 200 ⇒ x13 = x14 = 0 şi
b2 := 270 − 200 = 70 .
Iteraţia 3: x22 = min(70,250) = 70 ⇒ x 32 = 0 şi a 2 := 250 − 70 = 180 .
Iteraţia 4: x23 = min(180,330) = 180 ⇒ x24 = 0 şi b3 := 330 − 180 = 150 .
Iteraţia 5: x33 = min(150,300) = 150 ⇒ a 3 := 300 − 150 = 150 .
Iteraţia 6: x34 = min(150,150) = 150 ⇒ STOP.

C1 C2 C3 C4 Disponibil
D1 200 200 0 0 400 → 200 → 0
D2 0 70 180 0 250 → 180 → 0
D3 0 0 150 150 300 → 150 → 0
200 ↓ 270 ↓ 330 ↓ 150 ↓
Necesar 0 70 ↓ 150 ↓ 0 950
0 0

După m+n-1=4+3-1 paşi s-a obţinut o soluţie de start (S.A.B) cu


m+n-1=6 componente strict pozitive, grupate de-a lungul diagonalei
principale, deci, o soluţie admisibilă de bază nedegenerată.
Valoarea funcţiei cost pentru această variantă de aprovizionare este:
f = 200 ⋅ 5 + 200 ⋅ 7 + 70 ⋅ 9 + 180 ⋅ 5 + 150 ⋅ 8 + 150 ⋅ 9 = 6480 u.m.
0
1

Toate celelalte metode de găsire a soluţiilor de start au la bază


următorul principiu: repartizarea cantităţilor disponibile în cele m depozite
către cele n centre consumatoare este făcută astfel încât să fie folosite cele
Problema de transport

mai economice rute, fiecare centru consumator să primească întreaga


cantitate solicitată şi fiecare depozit să livreze întregul stoc.

Metoda elementului minim pe coloană


Se prezintă problema de transport sub formă de tabel (vezi T.V.2.1).
Se vor parcurge cel mult (m+n-1) iteraţii, la fiecare iteraţie stabilindu-se ce
variabilă va intra în bază, prin regula “alege variabila xij dacă cij = min{cij } ,
i

apoi atribuie-i valoarea maximă compatibilă cu ecuaţiile i şi m+j din


sistem”.

Să exemplificăm:
Iteraţia 1: j := 1 ⇒ min{ci1 } = min{5,10,7} = 5 = c11 ⇒ x11 va fi variabilă
i =1, m

bazică de valoare x11 = min(a1 , b1 ) = 200 = b1 ⇒ x21 = x31 = 0 şi


a1 := 400 − 200 = 200 .
Subliniem faptul că ultimele patru metode diferă de metoda lui
Dantzig numai prin regula de alegere a variabilelor bazice, raţionamentele
prezentate în cele trei cazuri rămânând valabile.

Iteraţia 2: b1 = 0 ? ⎯DA
⎯→ j := 2
⎯⎯→
NU
j := 1 ; dar se va considera min{ci1 }.
i ≠1

Avem j=2 ,
min{c i 2 } = min{7,9,8} = 7 = c12 ⇒ x12 = min{a1 , b2 } = 200 = a1 ⇒
i =1, 3

x13 = x14 = 0 şi b2 = 270 − 200 = 70 .


Iteraţia 3: b2 = 0 ? ⎯⎯→
NU
j=2, min{c i 2 } = min{9,8} = 8 = c 32 ⇒
i ≠1

x 32 = min{a 3 , b2 } = 70 ⇒ x 22 = 0 şi a 3 := 300 − 70 = 230 .


Analita economico-matematică a unor modele liniare

Iteraţia 4: b2 = 0 ? ⎯⎯→
DA
j := 3 , min{ci 3 } = min{c 23 , c33 } = 5 = c 23 ⇒
i ≠1

x 23 = min{a 2 , b3 } = min{250,330} = 250 ⇒ x 24 = 0 şi b3 := 330 − 250 = 80


(ATENŢIE: a1 , b3 vor fi luate cu valorile lor actualizate!).
⎯→ j := 3 , min{c i 3 } = min{8} = 8 = c 33 ⇒ x 33 = 80
Iteraţia 5: b3 = 0 ? ⎯NU
i ≠1, 2

⇒ a 3 := 230 − 80 = 150 .
⎯→ j := 4 , min {c i 4 } = c 34 ⇒
Iteraţia 6: b3 = 0 ? ⎯ DA
i∉{1, 2}

x 34 = min{150,150} = 150 şi b4 = 0 ⇒ STOP .

C1 C2 C3 C4 Disponibil

D1 5 7 11 4
400 → 200 → 0
200 200 0 0
D2 10 9 5 6
250 → 0
0 0 250 0
D3 7 8 8 9
300 → 230 → 150 → 0
0 70 80 150
Necesar 200 ↓ 270 330 150
0 ↓ ↓ ↓
70 80 0
950
↓ ↓
0 0

A fost distribuită întreaga marfă stocată. Planul de livrare foloseşte


(m+n-1)=6 rute şi corespunde unui cost de:
f 02 = 5 ⋅ 200 + 7 ⋅ 200 + 5 ⋅ 250 + 8 ⋅ 70 + 8 ⋅ 80 + 9 ⋅ 150 = 6200u.m. < f 01 .

Metoda lui Vogel


Regula de alegere a variabilelor bazice: se vor efectua diferenţele
între cele mai mici costuri unitare de transport pe fiecare linie şi fiecare
coloană şi se va atribui valoarea maximă variabilei situată pe linia sau
coloana celei mai mari diferenţe dintre toate diferenţele luate în modul, în
locul corespunzător celui mai mic cost.
Problema de transport

Iteraţia 1:
a) Se află cel mai mic element al liniei i ∈ {1,..., m} , min{cij } = cik , apoi se
j =1, n

calculează diferenţa α i1 = cik − min{cij } , i = 1, m .


j ≠k

b) Se află cel mai mic element al coloanei j ∈ {1,..., n} , min{cij } = cil , apoi
i =1, m

se calculează diferenţa β 1j = clj − min{cij } , j = 1, n .


i ≠l

c) Se alege max ⎧⎨max (α i1 ), max (β 1j )⎫⎬ pentru a fixa linia sau coloana în care
⎩ i =i , m j =1, n ⎭
se va situa variabila bazică. Valoarea se va stabili în funcţie de relaţia
dintre disponibil şi necesar, conform celor trei situaţii descrise la metoda
diagonalei.
La următorii paşi se repetă acest raţionament cu ai , i = 1, m , b j ,

j = 1, n , I şi J actualizaţi.

Să exemplificăm: min{c1 j } = 4 = c14 , k = 4 ⇒ α11 = c14 − min{c1 j } = 4 − 5


j =1, 4 j ≠4

min{c2 j } = 5 = c23 , k = 3 ⇒ α 21 = c23 − min{c2 j } = 5 − 6


j =1, 4 j ≠3

min{c3 j } = 7 = c31 , k = 1 ⇒ α 31 = c31 − min{c3 j } = 7 − 8


j =1, 4 j ≠1

min{ci1 } = 5 = c11 , l = 1 ⇒ β 11 = c11 − min{ci1 } = 5 − 7


i =1, 3 i ≠1

min{ci 2 } = 7 = c12 , l = 1 ⇒ β 21 = c12 − min{ci 2 } = 7 − 8


i =1, 3 i ≠1

min{ci 3 } = 5 = c23 , l = 2 ⇒ β 31 = c23 − min{ci 3 } = 5 − 8


i =1, 3 i≠2

min{ci 4 } = 4 = c14 , l = 1 ⇒ β 41 = c14 − min{ci 4 } = 4 − 6


i =1, 3 i ≠1
Analita economico-matematică a unor modele liniare

Rezultă max ⎧⎨max (α i1 ), max (β 1j )⎫⎬ = 5 − 8 = 3 = β 31 . Se atribuie variabilei


⎩ i =i , 3 j =1, 4 ⎭
situată în căsuţa costului minim din coloana 3, x23 , valoarea minimă
(vezi tabelul următor): x 23 = min(a 2 , b3 ) = 250 ⇒ x 21 = x22 = x24 = 0 ,
I := {1,2,3} − {2} şi b3 := 330 − 250 = 80 .

C1 C2 C3 C4 Disponibil α1
D1 5 7 11 4 400 |4-5|

D2 10 9 5 6 250 |5-6|
0 0 250 0
D3 7 8 8 9 300 |7-8|

Necesar 200 270 330 150 950


β1 |5-7| |7-8| |5-8| |4-6|

Maxim
Observaţie: I:={1,3} are următoarea semnificaţie: prin repartizarea unei
cantităţi de marfă de 250t centrului C3 , depozitul D2 şi-a epuizat stocul, ca
atare nu mai poate aproviziona alte centre şi atunci va fi eliminat din
calculele următoare.

C1 C2 C3 C4 Disponibil α1 α2 α3 α4 α5
D1 5 7 11 4 400 250 50 0 |4-5| |4-5| |5-7| |4-5| Fără sens
200 50 0 150
D2 10 9 5 6 250 0 |5-6|
0 0 250 0
D3 7 8 8 9 300 220 0 |7-8| |7-8| |7-8| |7-8| Fără sens
0 220 80 0
N 200 270 330 150 950
0 220 80 0 Max iteraţia 4
0 0
β1 |5-7| |7-8| |5-8|* |4-6|
β2 |5-7| |7-8| |8-11| |4-9|
Max iteraţia 2
β 3 |5-7| |7-8| |8-11|
Max iteraţia 3
β4 |5-7| |7-8|
β5 |7-8| Max iteraţia 5 (unică)
Problema de transport

Iteraţia 2:
I = {1,3} , J = {1,2,3,4}
α 12 = α 11 şi α 32 = α 31 .
Acest lucru se întâmplă ori de câte ori la pasul precedent a fost
epuizat un disponibil. I are doar două elemente, deci:
β12 =| c11 − c31 |=| 5 − 7 | ; β 22 =| c12 − c32 |=| 7 − 8 | ; β 32 =| c13 − c33 |=| 8 − 11 | ;
β 42 =| c14 − c34 |=| 4 − 9 | ; max(α 12 ,α 22 , β12 , β 22 , β 32 , β 42 ,) = β 42 ⇒ se alege cel
mai mic cost din coloana 4; c14 = 4 . Se atribuie variabilei cu aceeaşi indici
valoarea maximă compatibilă cu restricţiile corespunzătoare depozitului D1
şi centrului C 4 : x14 = max(400,150) = 150 = b4 . În acest caz a fost satisfăcut
necesarul centrului C 4 ⇒ x34 = 0 ( x 24 = 0 se ştie de la pasul precedent),
J := {1,2,3,4} − {4} şi a1 := 400 − 150 = 250 , etc.
Calculele implicate de aplicarea metodei sunt sistematizate în tabelul
precedent.
Observaţia 1: La iteraţia 4 există mai multe diferenţe maxime: α14 = β14 . În
asemenea cazuri se recomandă alegerea diferenţei maxime ce corespunde
costului de transport minim şi dacă acestea sunt egale, atunci se preferă
diferenţa maximală care implică repartizarea cantităţii celei mai mari. În
cazul studiat coincideau şi costurile minime şi cantităţile ce urmau să fie
repartizate , şi atunci este indiferent ce diferenţă maximă se alege.
Observaţia 2: La iteraţia 5, J = {2} şi I = {1,3} , deci, diferenţele α 5 nu au
sens.
Observaţia 3: După parcurgerea iteraţiilor 1,…,5, I = {3} şi J = {2} , deci
este imposibil să mai calculăm vreo diferenţă. Astfel, se atribuie variabilei
x32 valoarea maximă compatibilă cu restricţiile 3 şi m+2=3+2, adică
x 32 = 220 .
Analita economico-matematică a unor modele liniare

Valoarea funcţiei scop va fi:


f = 5 ⋅ 200 + 7 ⋅ 50 + 4 ⋅150 + 5 ⋅ 250 + 8 ⋅ 220 + 8 ⋅ 80 = 5600 < f 02 < f 01 .
0
3

Etapa 2: Stabilirea soluţiei optime finite.

Pasul 1 Testarea optimalităţii soluţiei iniţiale X 1 .

Operaţia 1: Drept soluţie iniţială, notată X 1 , am considerat soluţia


iniţială obţinută prin metoda elementului minim pe coloană. În tabel au fost
trecute numai valorile variabilelor bazice, în număr de m+n-1=6.

C1 C2 C3 C4 Disponibil

D1 5 7 11 4
400
200 200
D2 10 9 5 6
250
250
D3 7 8 8 9
300
70 80 150
Necesar 200 270 330 150 950

Se scrie sistemul u i + v j = cij pentru toate variabilele bazice xij .


xij variabilă bazică → ecuaţie → soluţie particulară
x11 → u1 + v1 = 5 v1 = 6
u1 = −1 v2 = 8
x12 → u1 + v 2 = 7
u 2 = −3 v3 = 8
x 23 → u 2 + v3 = 5 u3 = 0 v4 = 9
x 32 → u3 + v2 = 8
x 33 → u 3 + v3 = 8 Obs: S-a anulat u 3
x 34 → u3 + v4 = 9 deoarece apare cu cea
mai mare frecvenţă în
sistem.
Problema de transport

Operaţia 2: Se calculează ∆ ij = cij − (u i + v j ) pentru toate variabilele


xij nebazice în X 1 :
xij nebazice → diferenţa ∆ ij
x13 → ∆ 13 = c13 − (u1 + v 3 ) = 11 − (− 1 + 8) = 4 > 0
x14 → ∆ 14 = c14 − (u1 + v 4 ) = 4 − (− 1 + 9 ) = −4 < 0
x 21 → ∆ 21 = c 21 − (u 2 + v1 ) = 10 − (− 3 + 6 ) = 7 > 0
x 22 → ∆ 22 = c 22 − (u 2 + v 2 ) = 9 − (− 3 + 8) = 4 > 0
x 24 → ∆ 24 = c 24 − (u 2 + v 4 ) = 6 − (− 3 + 9 ) = 0
x 31 → ∆ 31 = c 31 − (u 3 + v1 ) = 7 − (0 + 6 ) = 1 > 0
∆ ij ≥ 0 , ∀xij variabilă nebazică ? NU ⇒ pasul 2.

Pasul 2 Îmbunătăţirea soluţiei în cazul în care nu este optimă.


Se îmbunătăţeşte X 1 trecând la soluţia admisibilă de bază X 2 , cel
puţin la fel de bună în sensul f ( X 1 ) ≥ f ( X 2 ) .
Criteriul de intrare în bază:
min ∆ ij = −4 = ∆ 14 ⇒ x14 va intra în bază şi i se va atribui valoarea θ ≥ 0 ;
∆ ij < 0

x14 = θ

C1 C2 C3 C4 Disponibil

D1 200 200- θ +θ 400


D2 250 250
D3 70+ θ 80 150 - θ 300
Necesar 200 270 330 150 950

Cum a fost construit conturul poligonal? Primul vârf, marcat cu “+”


este în căsuţa (1,4) corespunzătoare variabilei ce intră în bază; de la aceasta
se trasează un segment de dreaptă, pe linie sau pe coloană, până la o căsuţă
Analita economico-matematică a unor modele liniare

ce corespunde unei variabile bazice. Să presupunem că se lucrează pe linie.


În acest caz, avem două alternative:
• următorul vârf este (1,2);
• următorul vârf este (1,1) ⇒ se schimbă direcţia cu 900, deci se continuă
trasarea următoarei laturi în coloana lui C1 până la căsuţa unei alte
variabile bazice. Se observă că este imposibilă continuarea trasării
conturului poligonal, deoarece în coloana lui C1 există o singură variabilă
bazică. Alternativa aleasă a fost greşită. O vom adopta, aşadar, pe prima.
Prima latură va fi între (1,4) şi (1,2); se schimbă direcţia de înaintare
0
cu 90 şi se trasează dreapta dintre (1,2) şi (3,2). Se continuă procedeul
trasând laturile dintre (3,2) şi (3,4), respectiv (3,4) şi (1,4). Linia poligonală
s-a închis, deci se poate trece la aflarea variabilei înlocuite de x14 .
Criteriul de eliminare din bază:
θ = min(150,200) = 150 = x 34 . În noua soluţie admisibilă de bază variabila
x14 a eliminat-o pe x34 :

C1 C2 C3 C4 Disponibil

D1 200 200-150 150 400


D2 250 250
D3 70+150 80 300
Necesar 200 270 330 150 950

f ( X 2 ) = 200 ⋅ 5 + 50 ⋅ 7 + 150 ⋅ 4 + 250 ⋅ 5 + 220 ⋅ 8 + 80 ⋅ 8 = 5600


= f ( X 1 ) + θ ⋅ ∆ 14 = 6200 + 150 ⋅ (−4) = 5600 .
Se reia algoritmul testând optimalitatea soluţiei îmbunătăţite.

De multe ori, în practică, nu se scrie sistemul de ecuaţii, calculul


soluţiei particulare făcându-se cu ajutorul unor matrice, şi anume:
• matricea costurilor de transport: (cij ) , i = 1, m , j = 1, n ;
Problema de transport

• matricea costurilor comparative: (cij ) , i = 1, m , j = 1, n , unde cij = u i + v j ;

• matricea diferenţelor: (∆ ij ) , i = 1, m , j = 1, n .

(cij ) (cij )i, j ∆ ij = cij − cij


v1 = 5 v2 = 7 v3 = 7 v4 = 4
i = 1,3 , j = 1, 4
5 7 11 4 u1 = 0 5 7 7 4 Ø Ø 4 Ø
10 9 5 6 u 2 = −2 3 5 5 2 7 4 Ø 4

7 8 8 9 u3 = 1 6 8 8 5 1 Ø Ø 4

Se observă că matricea (cij )ij a fost extinsă cu o linie şi o coloană în


care vor fi trecute valorile multiplicatorilor simplex (variabilele dualei).
Elementele acestui tabel sunt completate în următoarea ordine:
• Se trec valorile costurilor unitare ce corespund soluţiei admisibile de bază
care trebuie testată, deci cij = cij dacă xij este variabilă bazică. Se vor
haşura toate cele (m+n-1) căsuţe ce corespund rutelor folosite în soluţia
testată. În realitate, aceste numere reprezintă termenii liberi ai sistemului
u i + v j = cij , cu i = 1,3 şi j = 1,4 .
• Care coloană şi/sau linie are cele mai multe căsuţe haşurate? Linia 1
⇒ u1 = 0 ; se determină valorile celorlalte variabile: v1 = 5 din
u1 + v1 = 5 , v 2 = 7 din u1 + v 2 = 7 , v 4 = 4 din u1 + v 4 = 4 ,
u 3 = 8 − 7 = 1 , v 3 = 8 − 1 = 7 , u 2 = 5 − 7 = −2 .
• Se calculează cij corespunzătoare variabilelor nebazice, conform formulei:
cij = u i + v j .
• Se calculează matricea diferenţelor cu elementul general ∆ ij = cij − cij ,
i = 1, m , j = 1, n .
∆ ij ≥ 0 ∀i = 1, m , j = 1, n ? DA ⇒ STOP. Soluţia testată este optimă dar
şi unică, deoarece nici o variabilă nebazică nu are diferenţa egală cu zero.
Analita economico-matematică a unor modele liniare

Planul optim de livrare este prezentat în următorul graf:

200 C1
D1 50
150 C2
D2 250
C3
220
D3 80 C4

Valoarea cheltuielilor de transport va fi minimă şi egală cu f = 5600 u.m.


Se observă că rutele utilizate în programul optim au cele mai mici
costuri în coloană şi linie, excepţie făcând linia a treia. Vom micşora c31 cu
o unitate pentru a stabili dacă varianta optimă de aprovizionare se menţine.
Soluţia optimă a problemei rezolvate va fi considerată soluţie iniţială pentru
modelul în care funcţia scop are coeficientul c31 egal cu 6.

cij v1 v2 v3 v4 ∆ ij = cij − cij


C1 C2 C3 C4 D
=5 =7 =7 =4

D1 5 7 11 4 u1 = 0 5 7 7 4 Ø Ø 4 Ø
200 50 150 400
D2 10 9 5 6 u 2 = −2 3 5 5 2 7 4 Ø 4
250 250
D3 6 8 8 9 u3 = 1 6 8 8 5 0 Ø Ø 4
220 80 300
N 200 270 330 150 950
∆ ij ≥ 0 ∀i, j ⇒ STOP

Deoarece, pentru această soluţie optimă, există diferenţa egală cu


zero corespunzătoare unei variabile nebazice ( ∆ 31 = 0 ), problema admite o
infinitate de soluţii optime, dintre care cel puţin două bazice.
C1 C2 C3 C4
D1 170 80 150
D2 250
D3 30 270
Problema de transport

Se poate obţine o nouă soluţie admisibilă de bază optimă


(corespunde aceluiaşi cost total minim) luând x31 = θ . Se construieşte
conturul poligonal închis (sau ciclul) corespunzător rutei (3,1):

C1 C2 C3 C4
D1 200 - θ 50 + θ 150 θ = min( 200,30) =
D2 250 = 30 ⇒
D3 +θ 270 30 - θ

Problema de transport fiind o problemă de programare liniară,


rezultă că orice combinaţie liniară convexă de două soluţii optime este tot o
soluţie optimă, eventual nebazică.

⎡200 0 50 150⎤ ⎡170 0 80 150⎤


λ ⋅ ⎢⎢ 0 0 250 0 ⎥⎥ + (1 − λ ) ⋅ ⎢⎢ 0 0 250 0 ⎥⎥ = X * , λ ∈ [0,1] .
⎢⎣ 0 270 30 0 ⎥⎦ ⎢⎣ 30 270 0 0 ⎥⎦

Din punct de vedere economic, o soluţie admisibilă de bază optimă


este un plan de transport ce utilizează (m+n-1) rute din cele m ⋅ n posibile, şi
care corespund unui cost total minim. O soluţie optimă nebazică obţinută,
1
de exemplu, pentru λ = :
5

⎡200 0 50 150⎤ ⎡170 0 80 150⎤ ⎡176 0 74 150⎤


1 ⎢ 4
X* = ⋅⎢ 0 0 250 0 ⎥⎥ + ⋅ ⎢⎢ 0 0 250 0 ⎥⎥ = ⎢⎢ 0 0 250 0 ⎥⎥
5 5
⎢⎣ 0 270 30 0 ⎥⎦ ⎢⎣ 30 270 0 0 ⎥⎦ ⎢⎣ 24 270 6 0 ⎥⎦

este un plan optim de transport cu m+n rute folosite. Dacă politica


economică impune folosirea a mai mult de (m+n-1) rute, atunci soluţia
optimă nebazică este preferată celei bazice. În practică, folosirea a prea
puţine rute feroviare, aeriene sau navale poate provoca dereglări ale
Analita economico-matematică a unor modele liniare

activităţii gărilor, aeroporturilor sau porturilor, prin staţionarea excesivă a


mijloacelor de transport.

Pentru fixarea cunoştinţelor, propunem o a doua problemă de acest


tip, dar de data aceasta, metodele vor fi prezentate foarte pe scurt, unele sub
altă sistematizare. Lăsăm pe seama cititorului să aleagă forma de prezentare
care i se potriveşte.

2.2. În sursele D 1 , D2 , D3 sunt stocate 450, 820, respectiv 530


unităţi dintr-o marfă, care trebuie expediată consumatorilor C 1 , C 2 , C 3 şi
C 4 . Cantităţile solicitate sunt 300, 700, 200, respectiv 600 unităţi. Se cere
identificarea unui program de aprovizionare optim sub aspectul costului, în
ipoteza că se mai deţin următoarele informaţii:
• Se poate folosi orice rută ( D i , C j ) , i ∈ 1,3, j ∈ 1,4 .
• Sunt suficiente capacităţi de transport şi acestea pot fi folosite astfel încât
este inutilă restricţia de nedepăşire a capacităţii pe ruta (i, j ) .
Se cunoaşte matricea costurilor unitare de transport:
⎛ 5 8 12 6 ⎞
⎜ ⎟
C = (cij ) i =1,3 = ⎜10 7 11 4 ⎟ .
j =1, 4 ⎜ 8 9 9 10 ⎟
⎝ ⎠
Matricea C are elementele cvasiconstante în perioada în care trebuie
să se realizeze transportul; ele sunt stabilite în funcţie de lungimea rutei
(i, j ) , i ∈ 1,3, j ∈ 1,4 , şi a tipului de drum (asfaltat, drum naţional, pietruit,
stare proastă a carosabilului, etc.).
Problema de transport

Datele de intrare vor fi sistematizate într-un tabel (T.V.2.2) de tipul


tabelului T.V.1.1:

T.V.2.2
C1 C2 C3 C4 Disponibil

D1 5 8 12 6 450
D2 10 7 11 4 820
D3 8 9 9 10 530
Necesar 300 700 200 600 1800

Notăm cu xij cantitatea de marfă care se transportă de la D i la C j ,


adică pe ruta (i, j ) , i ∈ {1,2,3} , j ∈ {1,2,3,4} .

Problema primală: Problema duală


3 4 3 4
[min] f = ∑∑ c x
i =1 j =1
ij ij [max]g = ∑ aiui + ∑b v j j
i =1 j =1
⎧ x11 + x12 + x13 + x14 = 450
⎪ x + x + x + x = 820
→ u1 ∈ R {u + v
i j ≤ cij , ∀i ∈ 1,3, j ∈ 1,4
⎪ 21 22 23 24 → u2 ∈ R
ui , v j ∈ R , ∀i ∈ 1,3, j ∈ 1,4
⎪ x31 + x32 + x33 + x34 = 530 → u3 ∈ R

⎪ x11 + x21 + x31 = 300 → v1 ∈ R

⎪ x12 + x22 + x32 = 700 → v2 ∈ R
⎪ x13 + x23 + x33 = 200 → v3 ∈ R

⎪ x14 + x24 + x34 = 600 → v4 ∈ R
⎪ x ≥ 0, ∀i ∈ 1,3 , ∀j ∈ 1,4
⎩ ij

Vom sublinia o parte din particularităţile modelului primal:


• numărul necunoscutelor este totdeauna m × n ; aici, m × n = 12
• numărul restricţiilor independente este totdeauna ( m + n − 1 ). În acest caz,
m + n −1 = 6 .
Analita economico-matematică a unor modele liniare

ai ⋅ b j
• Modelul admite totdeauna soluţia xij = m
, i ∈ 1, m , j ∈ 1, n , deci,
∑a
i =1
i

conform teoriei cunoscute, are cel puţin o soluţie optimă finită:

⎛ 450 ⋅ 300 450 ⋅ 700 ⎞


⎜ ... .. ⎟
⎜ 1800 1800 ⎟
X =⎜ ... ... ... ... ⎟.
⎜ 530 ⋅ 200 350 ⋅ 600 ⎟
⎜ ... ...
⎝ 1800 1800 ⎟⎠

Aflarea programului optimal X * = ( xij* ) i =1,3 :


j =1, 4

Etapa 1: Obţinerea unei soluţii iniţiale.


Din punct de vedere economic se vor stabili variante de
aprovizionare care utilizează numai m + n − 1 rute şi onorează toate cererile,
dar nu sunt neapărat cele mai bune variante decizionale. În acest scop
propunem trei metode, şi anume:

Metoda colţului de nord-vest (impune atribuirea valorilor maxime


corespunzătoare rutelor din nord-vestul fiecărei linii).

X1 C1 C2 C3 C4 Disponibil

D1 300 150 450


D2 550 200 70 820
D3 530 530
Necesar 300 700 200 600 1800

Sunt folosite exact m + n − 1 = 6 rute, motiv pentru care soluţia X 1


se numeşte nedegenerată (cele şase variabile bazice x11 , x12 , x 22 , x 23 , x 24
şi x34 au valori strict pozitive).
Problema de transport

Metoda elementului minim pe tabel - Costurile unitare vor fi grupate


în ordine crescătoare: c 24 = 4 < c11 = 5 < c14 = 6 < ... < c13 = 12 . Variabilei
din ruta primului termen c 24 i se va atribui valoarea maximă:
x 24 = min(a 2 , b4 ) = min(820,600) = 600 . Apar întrebările:
• S-a lichidat stocul? Nu. Atunci, acesta se actualizează. Vor rămâne în stoc
820-600=220.
• A fost onorată cererea? Da. Atunci, se elimină din şir costurile din coloana
4 (deoarece, practic, se face o inspecţie vizuală a costurilor, eliminarea
unora este vizualizată prin zerourile de pe rutele devenite inutilizabile,
prin satisfacerea necesarului).

X2 C1 C2 C3 C4 Disponibil

D1 5 8 12 6 450
0
D2 10 7 11 4 820-600=220
600
D3 8 9 9 10 530
0
Necesar 300 700 200 600 1800

Cu subşirul de costuri obţinut se reia raţionamentul. În final, se


obţine SAB nedegenerată:

X2 C1 C2 C3 C4 Disponibil

D1 5 8 12 6
300 150 0 0 450 → 150 → 0
D2 10 7 11 4
0 220 0 600 820 → 220 → 0
D3 8 9 9 10
0 330 200 0 530 → 200 → 0
Necesar 300 ↓ 700 ↓ 200 ↓ 600 ↓ 1800
0 480 ↓ 0 0
330 ↓
0
Analita economico-matematică a unor modele liniare

Metoda diferenţelor maximale - Procedeul propus de Vogel dă


prioritate rutelor cu cel mai scăzut cost de transport şi cu cea mai mare
“penalizare”. Cum sunt definite aceste penalizări? Se ordonează costurile
liniei i (coloanei j) în ordine strict crescătoare; penalizarea ataşată celei mai
ieftine rute din linia i (coloana j) este modulul diferenţei primilor doi
termeni ai şirului.

C1 C2 C3 C4 α (1)
D
D1 5 8 12 6 6-5=1
450
D2 10 7 11 4
3
600 820
D3 8 9 9 10 1
530
300 700 200 600 1800
N
β (1) 3 1 2 2

• Coloana α (1) este coloana penalizărilor asociate costurilor minime pe linii,


iar linia β (1) reprezintă penalizările asociate costurilor minime din
coloane. Se va alege maximul acestor penalizări.
• Se alege ruta de cost minim cu penalizare maximă, şi anume, ruta (2,4);
atribuim variabilei x 24 valoarea maximă 600; dacă disponibilul a fost
consumat, se elimină linia respectivă, sau, dacă cererea a fost onorată , se
elimină coloana corespunzătoare rutei în discuţie.
Se reface raţionamentul pe submatricea rămasă cu necesarul sau
disponibilul actualizat.
Problema de transport

În cazul problemei considerate, se elimină coloana 4 şi se obţine:

C1 C2 C3 α ( 2)
D
D1 5 8 12 3
300 450
D2 10 7 11 3
220
D3 8 9 9 1
530
300 700 200
N
β ( 2) 3 1 2

x11 = 300 ; se elimină coloana 1:

C2 C3 α ( 3)
D
D1 8 12 4
150
D2 7 11
4
220 220
D3 9 9 0
530
700 200
N
β ( 3) 1 2

Se observă că aici avem două diferenţe maxime egale cu 4; deoarece


c12 = 8 > c 21 = 7 , alegem x 21 = 220 şi eliminăm linia 2. Rezultă

C2 C3 α ( 3)
D
D1 8 12
150 4
150
D3 9 9 530 0
480 200
N

β ( 3) 1 3
Analita economico-matematică a unor modele liniare

după care se face atribuirea automată

C2 C3
D
D3 9 9 530
330 200
330 200
N

Soluţia iniţială a problemei de transport prezentate va fi:

X3 C1 C2 C3 C4
D
D1 300 150 450
D2 220 600 820
D3 330 200 530
300 700 200 600
N

Etapa 2: Stabilirea soluţiei optime finite.


Pasul 1 Testarea optimalităţii.
Se va testa optimalitatea soluţiei X 1 :
Operaţia 1: Se asociază variabilei bazice xij ecuaţia u i + v j = cij şi se află
astfel o soluţie particulară a sistemului construit în acest mod.
x11 → u1 + v1 = 5
x12 → u1 + v 2 = 8
x 22 → u 2 + v 2 = 7
x 23 → u 2 + v3 = 11
x 24 → u 2 + v 4 = 4
x34 → u 3 + v 4 = 10
Problema de transport

Variabilei care apare de cele mai multe ori în sistem i se atribuie


valoarea 0:
⎧v 2 = 7 ⇒ u1 = 1 ⇒ v1 = 4

u 2 = 0 ⇒ ⎨ v3 = 11 .
⎪v = 4 ⇒ u = 6
⎩ 4 3

Soluţia acestui sistem este: u1 = 1 , u 2 = 0 , u 3 = 6 , v1 = 4 , v 2 = 7 ,


v3 = 11 şi v 4 = 4 .
Operaţia 2: Se asociază variabilei nebazice x kl diferenţa
∆ kl = c kl − (u k + vl ) :
x13 → ∆ 13 = 12 − (1 + 11) = 0
x14 → ∆ 14 = 6 − (1 + 4) > 0
x 21 → ∆ 21 = 10 − (0 + 4) > 0
x31 → ∆ 31 = 8 − (6 + 4) = −2
x32 → ∆ 32 = 9 − (6 + 7) = −4
x33 → ∆ 33 = 9 − (6 + 11) = −8
Conform teoremei 1 (din paragraful 1 al acestui capitol), soluţia
testată este optimă dacă ∆ ij ≥ 0 , ∀i ∈ 1, m , j ∈ 1, n . În cazul acesta soluţia
nu este optimă din punctul de vedere cerut. O funcţie secundară a testului de
optimalitate este aceea de a indica ruta rentabilă neutilizată în soluţia testată:
min (∆ kl ) = −8 = ∆ 33
∆ kl < 0

Variabila x33 va deveni bazică şi valoarea sa va fi notată θ ≥ 0 .


Ce variabilă se elimină? Răspunsul va fi dat la pasul 2.
Analita economico-matematică a unor modele liniare

Pasul 2 Îmbunătăţirea soluţiei testate.


Plecăm de la soluţia din tabelul de mai jos:

C1 C2 C3 C4
D
D1 5 8 12 6 450
300 150
D2 10 7 11 4 820
550 200 70
D3 8 9 9 10 530
θ 530
300 700 200 600 1800
N

• Se va identifica un circuit de la ruta (3,3) spre rute folosite de X 1 şi înapoi


la ea însăşi.
Se vor marca vârfurile alternativ +, -, începând cu ruta (3,3) marcată cu
“+”.
Se constată că, în acest caz, transferul maxim ce poate fi realizat este
θ = min (200, 530) , deoarece orice alt transfer nu ar respecta condiţia
marcaj −

xij ≥ 0 , ∀i, j .

200- θ 70+ θ

θ 530- θ

Soluţia îmbunătăţită X 1' :

C1 C2 C3 C4
D1 5 8 12 6
300 150
D2 10 7 11 4
550 270
D3 8 9 9 10
200 330
Problema de transport

este nedegenerată. Variabila x 23 a fost eliminată din bază. Se observă


imediat că f ( X 1 ) = 14330 ≥ f ( X 1' ) = 12730 . Costul transferului unei unităţi
de marfă pe ciclul identificat va fi:
− c 21 ⋅ 1 + c32 ⋅ 1 − c34 ⋅ 1 + c 24 ⋅ 1 = −10 + 9 − 10 + 4 = −8 , deci costul
transferului a θ = 200 unităţi va fi − 8 ⋅ 200 = 1600 = f ( X 1 ) − f ( X 1' ) .
Orice ciclu care se construieşte în alte căsuţe ale variabilelor
nebazice conduce la un transfer cu cost mai mare. Să exemplificăm acest
lucru pentru x14 :

5 8 12 6
300 150- θ θ
10 7 11 4
550+ θ 200 70- θ
8 9 9 6
530

Costul pentru o unitate de marfă transferată este 6-8+7-4=1 u.m.


Sistematizarea calculelor implicate de parcurgerea completă a etapei 2:

cij v1 v2 v3 v4 ∆ ij = c ij − c ij
=4 =7 = 11 =4

u1 = 1 5 8 12 5 Ø Ø 0 1
u2 = 0 4 7 11 4 6 Ø Ø Ø

u3 = 6 10 13 17 10 -2 -4 -8 Ø

• Celulă haşurată: pentru rute folosite în X 1 .


• Elementele din celulele haşurate sunt termenii liberi de la operaţia 1.
• Elementele din celulele nehaşurate le regăsim la operaţia 2, dacă se
efectuează adunările din paranteze.
Analita economico-matematică a unor modele liniare

• Pentru x kl nebazică, diferenţa este cea calculată la operaţia 2: ∆ ij ≥ 0, ∀i, j


? NU ⇒ se alege min(∆ ij ) = ∆ 33 ⇒ x33 va intra în noua bază.

X 1'
300 150 300 150
550 200- θ 70+ θ 550 270
+θ 530- θ 200 330

θ = min(200, 530) = 200 ⇒ se elimină din bază x 23 ⇒ noua soluţie


Se testează optimalitatea lui X 1' :

cij v1 v2 v3 v4
=5 =8 =4 =5 ∆ ij = c ij − c ij

u1 = 0 5 8 4 5 Ø Ø 8 1
300 150

u 2 = −1 4 7 3 4 6 Ø 8 Ø 550- θ
270+ θ
u3 = 5 10 13 9 10 -2 -4 Ø Ø
+θ 200 330- θ

θ = min(550, 330) =
∆ ij ≥ 0, ∀i, j ? NU ⇒ = 330 ⇒
⇒ se alege min(∆ ij ) = ∆ 32 ⇒ C.I.B C.E.B se elimină din bază x34 .
Noua soluţie va fi:
⇒ x32 = θ va intra în noua bază

X 1''
300 150
220 600
330 200
Problema de transport

''
Testăm acum optimalitatea soluţiei X 1 :

v4 = −3
c ij v1 = −3 v2 = 0 v3 = 0 ∆ ij = c ij − c ij

u1 = 8 5 8 8 5 Ø Ø 4 1

u2 = 7 4 7 7 4 6 Ø 4 Ø

u3 = 9 6 9 9 6 2 Ø Ø 4

∆ ij ≥ 0, ∀i, j şi ∆ kl > 0, ∀(k , l ) pentru care x kl este nebazică. Rezultă deci

că X 1'' este soluţie optimă unic determinată:

C1
300×5

D1
150×8

C2 min f = 11410
220×7
D2
600×4
C3
330×9
200×9
D3
C4
Analita economico-matematică a unor modele liniare

Vom trece acum la reoptimizarea acestei probleme, prin mărirea cu o


unitate a termenilor liberi a1 şi b1 . Considerăm ca soluţie de start, soluţia
optimă obţinută pentru problema iniţială:

X1 C1 C2 C3 C4 Disponibil

D1 5 8 12 6
301 150 451
D2 10 7 11 4
220 600 820
D3 8 9 9 10
480 50 530
Necesar 301 700 200 600 1800

Se testează optimalitatea acestei soluţii:

vj 5 12 12 9 ∆ ij = c ij − c ij
ui cij
0 5 12 12 9 Ø -4 Ø -3 301 +θ 150- θ
-5 0 7 7 4 10 Ø 4 Ø 220 600
-3 2 9 9 6 6 Ø Ø 4 480- θ 50+ θ

min(−4,−3) = −4 = ∆ 12 θ = 150

Rezultă

X2 vj 5 8 8 5 ∆ ij = cij − c ij
ui cij
301 150 0 5 8 8 5 Ø Ø 4 1
220 600 -1 4 7 7 4 6 Ø 4 Ø
330 200 1 6 9 9 6 2 Ø Ø 4

∆ ij ≥ 0 , ∀i = 1,3 , j = 1,4
⇒ STOP
Problema de transport

Costul total este de 11415, soluţia optimă fiind prezentată grafic mai jos.

Cantitate Depozite Rute folosite şi costurile Centre Marfă


transportată de transport consumatoare primită
corespunzătoare

451
301× 5
D1 C1 301
150 × 8
700
820
220 × 7 C2
D2

600 × 4
200
530
330 × 9 C3
D3
200 × 9
600
C4

Reoptimizarea s-a realizat prin modificarea a doi termeni liberi din


modelul matematic, şi anume:
a1 := a1 + 1 = 451 pentru prima restricţie,
b1 := b1 + 1 = 31 pentru a (m + 1 = 4 ) patra restricţie.
Din teoria programării liniare, rezultă că [min] f = 11410 trebuie să se
( )
modifice cu u1* + v 4* unităţi.
Într-adevăr, 11410 + (u *
1 + v 4* ) = 11410 + (0 + 5) = 11415 , costul total minim
pentru modelul postoptimizat.
Analita economico-matematică a unor modele liniare

3. Probleme reductibile la problema de transport echilibrată

3.1 Probleme de transport cu rută blocată. Soluţii admisibile


degenerate.

3.1.1 Se va considera o problemă de transport echilibrată, definită


⎛ 3 4 6 5⎞
⎜ ⎟
complet de matricea costurilor unitare C = ⎜ 6 4 4 5 ⎟ , vectorul cantităţilor
⎜ 8 5 9 9⎟
⎝ ⎠
⎛ 200 ⎞
⎜ ⎟
disponibile a = ⎜ 200 ⎟ , vectorul cantităţilor solicitate b = (100 100 200 250)
⎜ 250 ⎟
⎝ ⎠
⎛ x11 x12 x13 x14 ⎞
⎜ ⎟
şi matricea variabilelor ⎜ x21 x22 x23 x24 ⎟ .
⎜x x32 x33 x34 ⎟⎠
⎝ 31

⎛ (1,1) (1,2) (1,3) (1,4) ⎞


⎜ ⎟
Matricea rutelor disponibile dată de ⎜ (2,1) (2,2) (2,3) (2,4) ⎟
⎜ ⊗ (3,2) (3,3) (3,4) ⎟
⎝ ⎠
evidenţiază faptul că ruta (3,1) nu poate fi folosită în perioada pentru care se
caută soluţia optimă.

În acest caz, se spune că problema are o rută blocată. Pentru a o


transforma într-o problemă de transport echilibrată este suficient ca, în
matricea C, elementul c31 = 8 u.m. să fie înlocuit cu un cost mare. Prin
această modificare ruta blocată (3,1) nu va fi utilizată în programul optimal.
Vom considera, de exemplu, c31 = 20 sau orice valoare mai mare care,
totuşi, să nu mărească volumul de calcul necesar aflării soluţiei optime.
Problema de transport

Astfel, avem de rezolvat problema de transport cu datele de intrare


cuprinse în tabelul următor:

C1 C2 C3 C4 D

D1 3 4 6 5 200

D2 6 4 4 5 200

D3 20 5 9 9 250

N 100 100 200 250 650

Vom trece la rezolvarea acestei probleme.


Etapa 1: Determinarea unei soluţii iniţiale. Se va aplica metoda elementului
minim pe linie.

C1 C2 C3 C4 D

D1 3 4 6 5
100 100 200
D2 6 4 4 5
200 200
D3 20 5 9 9
250 250
N 100 100 200 250 650

O1 : min (c1 j ) = 3 = c11 ; min (cij ) = 4 = c12 ;


j j ≠1

O2 : min (c 2 j ) = 4 = c 23 ;
j∉{1, 2}

O3 : (3,4) este unica rută disponibilă.

⎡100 100 0 0 ⎤

Soluţia iniţială ⎢ 0 0 200 0 ⎥⎥ utilizează 4 rute; altfel spus,
⎢⎣ 0 0 0 250⎥⎦
prin aplicarea metodei s-au găsit numai 4 variabile bazice cu valori strict
pozitive. Se spune că s-a obţinut o soluţie degenerată.
Analita economico-matematică a unor modele liniare

Ca şi în cazul programelor liniare studiate în capitolele anterioare, şi


modelul problemei de transport poate admite soluţii degenerate, ceea ce
înseamnă că printre variantele de aprovizionare care utilizează cel mult
(m + n − 1) rute există cel puţin unul care are cel mult (m + n − 2) rute
folosite. Condiţia necesară a existenţei unei astfel de variante este :
V.3.1 ∃M 1 ⊂ M şi ∃N 1 ⊂ N astfel încât ∑a
i∈M 1
i = ∑b
j∈N1
j .

Pentru problema de mai sus, se poate identifica uşor M 1 = {1} şi N 1 = {1,2} :


a1 = b1 + b2 .
Procedura de testare a optimalităţii functionează doar pentru soluţii
admisibile de bază, deci cu (m+n-1)=rangA=3+4-1 variabile bazice cu
valori pozitive. Din cele ( 3 ⋅ 4 − 4 ) variabile cu valori egale cu zero trebuie
să alegem [(m+n-1)-4]=2=k variabile bazice cărora le vom atribui valori
egale cu 0. Alegerea nu este unică, dar nici indiferentă. Pentru a decide care
din variabilele x13 , x14 , x 21 , x 22 , x 24 , x31 , x32 şi x33 vor deveni bazice şi
pentru a evita ciclajul, se trece la problema de transport perturbată, care
conservă relaţia de echilibru, dar face imposibilă verificarea relaţiei V.3.1.
Astfel, considerăm
a i (ε ) = a i + ε , i ∈1, m
⎧ b , j ∈1,n-1
b j (ε ) = ⎨ j
⎩bn + mε , j = n
unde ε este un număr pozitiv foarte mic, ce va fi anulat după stabilirea
soluţiei optime a problemei perturbate.
Printr-o astfel de modificare a unor date iniţiale se identifică mai
uşor variabilele bazice cu valoare zero, în opoziţie cu cele nebazice, despre
care ştim, de asemenea, că sunt egale cu zero.
Unii autori propun şi alte variante de perturbare a problemei, cum ar fi:
• Se măreşte un disponibil, de exemplu a1 , cu kε unităţi: a1 → a1 + 2ε .
Problema de transport

• Pentru ca problema să rămână echilibrată, trebuie mărit şi un necesar cu tot


atâtea unităţi. Se va alege b j astfel încât j ≠ 1 (indicele disponibilului
mărit). În acest caz, alegem b3 = 200 + ε şi b4 = 250 + ε ( sau doar
b4 = 250 + 2ε ).
• În problema perturbată se aplică aceeaşi metodă de găsire a soluţiei
admisibile de bază, şi anume, metoda elementului minim pe linie:

X1 C1 C2 C3 C4 D

D1 3 4 6 5
100 100 ε ε 200 + 2ε
D2 6 4 4 5
200 200
D3 20 5 9 9
250 250
N 100 100 200 + ε 250 + ε 650 + 2ε

Etapa 2: Se stabileşte soluţia optimă pentru problema perturbată.

X1 vj 3 4 6 5 ∆ ij = cij − cij

u i cij
100 100- θ ε +θ
3 4 6 5 0 3 4 6 5 Ø Ø Ø Ø
100 100 ε ε ε
6 4 4 5 -2 1 2 4 3 5 2 Ø 2
200
200
20 5 9 9 4 7 8 10 9 13 -3 -1 Ø +θ 250- θ
250

min(100,250)=100
min ∆ ij = ∆ 32 = −3
∆ ij < 0 ⇒ x12 eliminat din bază
⇒ x32 intră în noua bază
Analita economico-matematică a unor modele liniare

Continuăm algoritmul şi obţinem:

X2 vj 3 1 6 5 ∆ ij = cij − cij

u i cij
3 4 6 5 0 3 1 6 5 Ø 3 Ø Ø 100+ ε + θ
ε 100 ε -θ
100 100+ ε
6 4 4 5 -2 1 -1 4 3 5 5 Ø 2
200
200
20 5 9 9 4 7 5 10 9 13 Ø -1 Ø θ
100 150- θ
100 150

min ∆ ij = ∆ 33 = −1 min( ε ,150)= ε


∆ ij < 0

⇒ x 33 intră în noua bază ⇒ x13 eliminat din bază

În final, găsim:

X3 vj 7 5 9 9 ∆ ij = cij − c ij Soluţia optimă

u i cij
3 4 6 5 -4 3 1 5 5 Ø 3 1 Ø 100+2
100 100+2 ε
100
ε
6 4 4 5 -5 2 0 4 4 4 4 Ø 1
200
200
20 5 9 9 0 7 5 9 9 13 Ø Ø Ø
100 ε 150- ε
100 ε 150- ε

∆ ij ≥ 0 ∀i, j
⇒ Soluţie optimă unică.
şi ∆ kp > 0 ∀x kp
nebazică
Problema de transport

Aşadar, problema perturbată admite soluţia optimă unic determinată:

⎡100 0 0 100 + 2ε ⎤

Xε = ⎢ 0
*
0 200 0 ⎥⎥
⎢⎣ 0 100 ε 150 − ε ⎥⎦

După anularea lui ε se obţine soluţia optimă a problemei iniţiale:


⎡100 0 0 100⎤

X =⎢ 0
*
0 200 0 ⎥⎥ ,
⎢⎣ 0 100 0 150⎥⎦
care utilizează (m+n-2) rute, ceea ce, din puct de vedere practic s-ar putea să
fie un avantaj.

C1
100 × 3

D1 Se observă că ruta (3,1), blocată, nu


este folosită în programul optim cu
100 × 5 costul total de
C2 300+500+800+500+1350=3450 u.m.
Deşi soluţia iniţială este dublu
degenerată, în final, soluţia optimă
este simplu degenerată.
D2 200 × 4

C3
100 × 5

D3 150 × 9

C4
Analita economico-matematică a unor modele liniare

Observaţie:

coeficientul numărul rutelor


lui ε pentru (m+n-1) × folosite în soluţia = 6-4 = 2
=
degenerată
un a i ales

3.2 Probleme de transport neechilibrate; probleme de transport


cu priorităţi.

Practica oferă numeroase situaţii în care trebuie rezolvată o


problemă de alocare a unor resurse, fără a fi satisfăcută condiţia de
echilibru, sau în care sunt impuse restricţii privind programul de alocare. În
acest paragraf, vor fi studiate patru modele particulare reductibile la
problema standard, probleme ce vor fi prezentate schematic după cum
urmează:
Cum se manifestă dezechilibrul Cum se face echilibrarea Cum se poate exprima o servire cu prioritate
m n
3.2.1. Prin introducerea unui centru
i) ∑ ai > ∑ b j , adică,
3.2.2. Se poate cere stabilirea unui
consumator fictiv program optim de aprovizionare care să
i =1 j =1 epuizeze cu prioritate stocul depozitului
C n +1
oferta>cererea Di , i ∈ {1,.., m} .
0
D … D
C1 C2
0
C1 C2 C3
5 4 700
D1
∑a − ∑b
i j
D1 5 4 0
700
D2 9 3 300 Soluţia iniţială pentru problema echilibrată, 9 3 0
D2 300
D3 2 4 500 găsită prin metoda N-V:
D3 2 4 20
N 1500 500
C1 C2 C3 D N 600 700 200 1500
600 700 1300

5 4 0 Ruta (3,3) se transformă în rută


D1 nerentabilă (cost mare) dacă se cere
600 100 700
D2 9 3 0 lichidarea stocului a 3 .
300 300
D3 2 4 0
300 200 500
N 600 700 200 1500
Interpretarea economică a valorilor din
coloana fictivă:
Cât nu expediază D3 din
x32 = 200 cantitatea a3 = 500
D3 C3
m n 3.2.3. Prin introducerea unei surse de 3.2.4. În acest caz se poate face servirea
ii) ∑ a < ∑b
i =1
i
j =1
j , adică, aprovizionare fictive:
cu prioritate a unui centru Cj în
oferta<cererea Dm +1 0…0
∑b − ∑a
j i
sensul de a i se asigura primirea
cantităţii cerute.
D C1 C2 C3 D
C1 C2 C3 Soluţia iniţială pentru problema echilibrată
3 2 4 320 (metoda N-V): D1 3 2 4
D1 320
N-V C C C D 2 4 1
D2 2 4 1 300 1 2 3 D2 300
D1 3 2 4 0 10 0
N 520 180 200 D3
320 320 280
D2 2 4 1 N 520 180 200 900
200 100 300
D3 0 0 0 Să presupunem că se cer servirea cu
80 200 280 prioritate a centrului C 2 . Dacă recitim
N 520 180 200 900
Interpretarea economică a valorilor din linia interpretarea dată lui x 32 = 80 > 0 ,
fictivă: vom înţelege că, în solutia optimă
Cât nu primeşte această variabilă trebuie să fie egală cu
C 2 din 0, ceea ce este echivalent cu a bloca
D3 x32 = 80 C2 ruta (3,2).
cantitatea cerută
Trecem acum la rezolvarea succintă a problemelor date ca exemplu.
Problema 3.2.1. Etapa 1:
După introducerea consumatorului fictiv C 3 , soluţia admisibilă de
bază iniţială a fost găsită folosindu-se metoda colţului de N-V

X1 C1 C2 C3 D

D1 5 4 0
600 100 700
D2 9 3 0
300 300
D3 2 4 0
300 200 500
N 600 700 200 1500

Etapa 2: Testarea optimalităţii. Iteraţia 1:

X1 vj 1 0 -4 ∆ ij = cij − cij

u i cij
5 4 0 4 5 4 0 Ø Ø 0 600- θ 100+ θ
600 100
9 3 0 3 4 3 -1 5 Ø 1
300
300
2 4 0 4 5 4 0 -3 Ø Ø +θ 300- θ 200
300 200

min ∆ ij = ∆ 31 = −3 min(600,300)=300
∆ ij < 0

⇒ x 31 intră în noua bază ⇒ x 32 eliminat din bază


Iteraţia 2:
X2 vj 5 4 3 ∆ ij = cij − c ij
u i cij
5 4 0 0 5 4 3 Ø Ø -3
300 400 300- θ 400 +θ
9 3 0 -1 4 3 2 5 Ø 2
300
300
2 4 0 -3 2 1 0 Ø 3 Ø
300 200 300+ θ 200- θ

min ∆ ij = ∆ 13 = −3 min(300,200)=200
∆ ij < 0
⇒ x 33 eliminat din bază
⇒ x13 intră în noua bază
Analita economico-matematică a unor modele liniare

Iteraţia 3:
X3 vj 5 4 0 ∆ ij = c ij − c ij
Soluţia optimă
ui cij
5 4 0 0 5 4 0 Ø Ø Ø
100 400 200
100 400 200
9 3 0 -1 4 3 -1 5 Ø 1
300
300
2 4 0 -3 2 1 -3 Ø 3 3
500
500

∆ ij ≥ 0 , ∀i, j şi Soluţie optimă unic


⇒ determinată.
∆ kp > 0 , ∀x kp nebazică

Comentariu: Cele 200 unităţi de marfă repartizarte consumatorului fictiv


C 3 au următoarea semnificaţie: în depozitul D1 mai rămân 200 unităţi de
marfă nefolosite (în stoc). Depozitele D2 şi D3 îşi epuizează stocul.
Evident, cererile consumatorilor C1 şi C 2 sunt satisfăcute.
Schema soluţiei optime

x11 = 100
*

D1 C1 : x11* + x31
*
= 600 unităţi
x12 = 400
*
de marfă primită.
x13 = 200
*

x 22 = 300
*

D2 C 2 : x12* + x22
*
= 700 unităţi
de marfă primită.
x 31 = 500
*

C3 fictiv : x13* = 200 stoc în D1 .


D3
[min] f = 4000 u.m
Problema de transport

Problema 3.2.2.
Etapa 1: Epuizarea cu prioritate a stocului din D3 se face prin
blocarea rutei (3,3). După introducerea consumatorului fictiv C 3 şi blocarea
rutei (3,3) - prin repartizarea unui cost mare ( c 33 = 20 ) pe această
rută - soluţia admisibilă de bază iniţială a fost găsită folosindu-se metoda
elementului minim pe coloană:

X1 C1 C2 C3 D

D1 5 4 0
100 400 200 700
D2 9 3 0
300 300
D3 2 4 20
500 500
N 600 700 200 1500

Se observă că este o soluţie care utilizează m+n-1=5 rute.

Etapa 2: Testarea optimalităţii.

X1 vj 5 4 0 ∆ ij = cij − c ij
Soluţia optimă
ui cij
5 4 0 0 5 4 0 Ø Ø Ø
100 400 200
100 400 200
9 3 0 -1 4 3 -1 5 Ø 1
300
300
2 4 0 -3 2 1 -3 Ø 3 3
500
500

∆ ij ≥ 0 , ∀i, j
Soluţie optimă
∆ kp > 0 , ∀xkp nebazică ⇒ unic determinată.
Analita economico-matematică a unor modele liniare

S-a obţinut planul optim de aprovizionare al problemei precedente,


plan care verifică şi restricţiile impuse în cadrul acestui exemplu.

Problema 3.2.3
Etapa 1: După introducerea sursei fictive D3 , soluţia admisibilă de
bază iniţială a fost găsită aplicând metoda colţului de nord-vest.

X1 C1 C2 C3 D

D1 3 2 4
320 320
D2 2 4 1
200 100 300
D3 0 0 0
80 200 280
N 520 180 200 900

Etapa 2: Testarea optimalităţii.

X1 vj 2 4 4 ∆ ij = cij − c ij
ui cij
3 2 4 -1 3 3 3 Ø -1 1
320
320
2 4 1 0 2 4 4 Ø Ø -3
200 100- θ +θ
200 100
2 0 0 -4 -2 0 0 2 Ø Ø 80+ θ
80 200 200- θ

min(100,200)=100
min ∆ ij = ∆ 23 = −3 ⇒ x 22 eliminat din bază
∆ ij < 0

⇒ x 23 intră în noua bază


Problema de transport

X2 vj 2 1 1 ∆ ij = cij − c ij
ui cij
3 2 4 0 3 2 2 Ø 0 2
320
320
2 4 1 0 2 1 1 Ø 3 Ø 200- θ 100+ θ
200 100
0 0 0 -1 1 0 0 -1 Ø Ø +θ 180 100- θ
180 100

min(200,100)=100
min ∆ ij = ∆ 31 = −1
∆ ij < 0 ⇒ x 33 eliminat din bază
⇒ x 31 intră în noua bază

X3 vj 0 0 -1 ∆ ij = c ij − cij
ui cij
3 2 4 3 3 3 2 Ø -1 2 320- θ +θ
320
2 4 1 2 2 2 1 Ø 2 Ø
100 200
100 200
0 0 0 0 0 0 -1 Ø Ø 1 100+ θ 180- θ
100 180

min(320,180)=180
⇒ x 32 eliminat din bază
min ∆ ij = ∆ 12 = −1
∆ ij < 0

⇒ x12 intră în noua


Analita economico-matematică a unor modele liniare

X4 vj 0 -1 -1 ∆ ij = cij − c ij
Soluţia optimă
ui cij
3 2 4 3 3 2 2 Ø Ø 2
140 180
140 180
2 4 1 2 2 1 1 Ø 3 Ø
100 200
100 200
0 0 0 0 0 -1 -1 Ø 1 1
280
280

∆ ij ≥ 0 , ∀i, j Soluţie optimă unic



∆ kp > 0 , ∀xkp nebazică determinată.

Schema soluţiei optime

x11 = 140
*

D1 C1 : x11* + x 21* = 240 unităţi


x12 = 180
*

de marfă primită.
x 31 = 280 deficit
*
x 21 = 100
*

D2 x 23 = 200
*
C 2 : x12* = 180 unităţi de marfă primită.

x 31 = 280
*

D3
C3 : x 23* = 200 unităţi
ficti
v de marfă primită.
[min] f = 1180 u.m.
Problema de transport

Problema 3.2.4.
Etapa 1: Sevirea cu prioritate a centrului C 2 este echivalentă, aşa
cum am mai spus, cu blocarea rutei (3,2). După introducerea depozitului
fictiv D3 şi blocarea rutei (3,2) - prin repartizarea unui cost mare ( c 32 = 10 )
pe această rută - soluţia admisibilă de bază iniţială a fost găsită folosindu-se
metoda elementului minim pe linie:

X1 C1 C2 C3 D

D1 3 2 4
140 180 320
D2 2 4 1
100 200 300
D3 0 10 0
280 280
N 520 180 200 900

Etapa 2: Testarea optimalităţii:

X1 vj 0 -1 -1 ∆ ij = cij − c ij
Soluţia optimă
ui cij
3 2 4 3 3 2 2 Ø Ø 2
140 180
140 180
2 4 1 2 2 1 1 Ø 3 Ø
100 200
100 200
0 10 0 0 0 -1 -1 Ø 11 1
280
280

Soluţie optimă unic


∆ ij ≥ 0 , ∀i, j
⇒ determinată. Ea
∆ kp > 0 , ∀xkp nebazică coincide cu soluţia
optimă a problemei
3.2.3.
În continuare, vom prezenta o problemă în care decizia de eliminare
din bază este mai dificilă decât în cazul problemelor rezolvate anterior.
Analita economico-matematică a unor modele liniare

Problema 3.2.5. Considerăm problema de transport cu datele iniţiale


prezentate în următorul tabel:

C1 C2 C3 C4 D

D1 9 10 9 16
100
D2 12 9 16 8
120
D3 15 8 13 11
150
N 80 90 100 80

Este uşor de observat că problema este neechilibrată. Într-adevăr,


3 4

∑ ai = 370 ≠ ∑ b j . În aceste condiţii, se impune introducerea unui


i =1 j =1

consumator fictiv, C 5 . În coloana acestuia, ci 5 = 0 , i = 1,3 , deoarece nu s-au


impus serviri cu prioritate.

Rezolvarea problemei echilibrate:

Etapa 1: Soluţia admisibilă de bază iniţială a fost stabilită prin metoda lui
Vogel:
X1 C1 C2 C3 C4 C5 D
α (1) α ( 2 ) α (3) α ( 4 ) α (5)
D1 9 10 9 16 0 9* 0
80 20100
D2 12 9 16 8 0 8 1 1 4* 4*
40 80 120
D3 15 8 13 11 0 8 3 3* 2 2
40 90 20 150
N 80 90 100 80 20 370
β (1) 3 1 4* 3 0

β ( 2) 3 1 4* 3

β ( 3) 3 1 3 3

β ( 4) 3 3 3

β ( 5) 3 3
Problema de transport

Etapa 2: Stabilirea soluţiei optime.


Pasul 1 Testarea optimalităţii soluţiei obţinute la etapa 1.
X1

80 20

40 80

TESTARE
40 90 20

vj 15 8 13 11 4 ∆ ij = c ij − c ij
u i cij
-4 11 4 9 7 0 -2 6 Ø 9 Ø
-3 12 5 10 8 1 Ø 4 6 Ø -1
0 15 8 13 11 4 Ø Ø Ø 0 -4

min ∆ ij = ∆ 35 = −4
∆ ij < 0

⇒ x 35 intră în noua bază

Observaţie: Conform teoriei, trecerea la o soluţie admisibilă de bază mai


bună se face prin trecerea la o nouă bază care provine din baza soluţiei
testate, prin înlocuirea unui singur vector. În acest caz, problema este aceea
de a stabili care variabilă trebuie eliminată: x15 sau x 33 . Scopul declarat
este acela de a stabili un program de transport care să corespundă unui cost
total minim, deci se va elimina variabila corespunzătoare rutei cu cost
maxim:
x15 → c15 = 0 ⇒ x15 = 0 este variabilă bazică şi în noua soluţie;
x 33 → c 33 = 13 ⇒ x 33 = 0 este variabilă nebazică în noua soluţie.
Analita economico-matematică a unor modele liniare

Ca urmare a acestei decizii, se obţine:

80+ θ
20- θ θ = min( x15 , x33 ) = min (20,20) =
= 20 = x33 ,
40 80 deoarece c33 = max (c15 , c33 ) .

20- θ
40 90 +θ

Iteraţia 2: Noua soluţie admisibilă de bază este dată în tabelul următor:

100 0

40 80

TESTARE
40 90 20

vj 15 8 9 11 0 ∆ ij = c ij − c ij
u i cij
0 15 8 9 11 0 -6 2 Ø 5 Ø
-3 12 5 6 8 -3 Ø 4 10 Ø 3
0 15 8 9 11 0 Ø Ø 4 0 Ø
min ∆ ij = ∆ 11 = −6
∆ ij < 0

⇒ x11 intră în noua bază


Problema de transport

θ
100 0- θ θ =min(0,40)=0.
⇒ x15 eliminat

40 80 din bază.

40- θ 90 20+ θ

Iteraţia 3: Continuăm cu testarea soluţiei îmbunătăţite:

0 100

40 80

40 90 20

vj 15 8 15 11 0 ∆ ij = cij − c ij
u i cij
-6 9 2 9 5 -6 Ø 8 Ø 11 6
-3 12 5 12 8 -3 Ø 4 4 Ø 3
0 15 8 15 11 0 Ø Ø -2 0 Ø

min ∆ ij = ∆ 33 = −2
∆ ij < 0

⇒ x 33 intră în noua
Analita economico-matematică a unor modele liniare

0+ θ
100- θ θ =min(100,40)=40.
⇒ x 31 eliminat din bază.
40 80

40- θ 90 +θ 20

Iteraţia 4:

40 60

40 80
TESTARE
90 40 20

vj 13 8 13 9 0 ∆ ij = c ij − c ij
u i cij
-4 9 4 9 5 -4 Ø 6 Ø 11 4
-1 12 7 12 8 -1 Ø 2 4 Ø 1
0 13 8 13 9 0 2 Ø Ø 2 Ø

∆ ij ≥ 0 , ∀i, j
⇒ soluţia găsită este optimă.
Problema de transport

Schema soluţiei optime:

C1
x11 = 40
*

D1
x13 = 60
*

C2

x 21 = 40
*

D2 x 24 = 80
*
C3

x 32 = 90
* Costul total este
de 3260u.m.
x 33 = 40
*
C4
D3

x 35 = 20 ,
*

adică exact cantitatea C 5 fictiv


care rămâne în stoc, în D3

Propunem spre rezolvare următoarea problemă, care exemplifică


faptul că prin metode diferite se găsesc soluţii admisibile de bază diferite,
unele dintre acestea putând conduce la soluţii degenerate, dar, în final, se
vor găsi planuri (sau, un plan, dacă soluţia este unică) de aprovizionare care
folosesc cel mult (m + n − 1) rute şi dau aceeaşi valoare funcţiei cost total.
Analita economico-matematică a unor modele liniare

Problema 3.2.6. Problema de transport ce va fi studiată are următoarea


prezentare matriceală:

C1 C2 C3 D

D1 3 2 1
30 190
220
D2 2 1
300
300
D3 1 3 5
180
180
D4 2 4 3
40 160
200
N 520 190 190 900

Se observă imediat că este verificată condiţia suficientă de apariţie a


unor soluţii degenerate
a1 + a 2 = b1 şi a3 + a4 = b2 + b3 .
Vom căuta acum soluţii admisibile de bază folosind două metode:

• Metoda elementului minim pe tabel


• Metoda lui Dantzig
C1 C2 C3 D C1 C2 C3 D
D1 3 2 1
220 → 30 → 0 D1 220 220
30 190
D2 2 4 1 D2 300 300
300
300 → 0
D3 180 180
D3 1 3 5
180 → 0
180 D4 10 190 200
D4 2 4 3
200 → 160 → 0 N 520 190 190 900
40 160
N 520 ↓ 190 ↓ 190 ↓ 900
0
340 ↓ 160 ↓
40 ↓ 0
0

Comparând cele două soluţii, se observă că a doua este simplu


degenerată, ea foloseşte cinci rute, ce corespund unui număr de (m + n − 2 )
Problema de transport

variabile bazice, din totalul de m ⋅ n = 12 rute posibile. Din cele ( 3 ⋅ 4 − 5 )


variabile nebazice, trebuie să alegem una căreia să-i atribuim valoarea zero
şi care să formeze împreună cu x11 , x21 , x32 , x42 , x43 , o soluţie admisibilă
de bază degenerată (amintim că la etapa 2 se lucrează numai cu soluţii
admisibile de bază, din spaţiul R m+ n −1 , degenerate sau nu).
Stabilirea noii variabile bazice se face prin perturbarea problemei de
transport:
• se măreşte disponibilul a1 = 220 (sau a 2 = 300 ) cu ε unităţi. Pentru ca
problema să rămână în continuare echilibrată trebuie mărit şi necesarul cu
tot atâtea unităţi. În general se adaugă cele ε unităţi unui necesar b j ,
unde j = {1,2,..., n} − N1 = {1,2,3} − {1} = {2,3} , de exemplu b2 + ε .
• se aplică metoda diagonalei (sau metoda colţului de N-V) problemei
perturbate:

C1 C2 C3 D

D1 220 ε 220+ ε
D2 300 300
D3 180 180
D4 10 190 200
N 520 190+ ε 190 900+ ε

• se stabileşte soluţia optimă.


Observaţia 1: Dacă o soluţie iniţială este degenerată, soluţia optimă poate fi
nedegenerată.
Analita economico-matematică a unor modele liniare

X1 cij v1 v2 v3 ∆ ij = cij − cij


=1 =0 = −1

3 2 1
ε
u1 = 2 3 2 1 Ø Ø 0 220- θ ε +θ
220
2 4 1 u2 = 1 2 1 0 Ø 3 1 300
300
1 3 5 u3 = 3 4 3 2 -3 Ø 3 +θ 180- θ
180
2 4 3 u4 = 4 -3
5 4 3 Ø Ø 10 190
10 190

min( −3, −3) = −3 ⎫ θ = min(220,180) = 180 ⇒


⎬⇒
min (c 31 , c 41 ) = c31 = 1⎭ x32 va fi eliminată din
bază.
⇒ x31 = θ intră în bază.

X2 cij v1 v2 v3 ∆ ij = cij − cij


=0 = −1 = −2
3 2 1 u1 = 3 40- θ 180+ ε + θ
3 2 1 Ø Ø 0
40 180+ ε
2 4 1 u2 = 2 2 1 0 Ø 3 1 300
300
1 3 5 u3 = 1 1 0 -1 Ø 3 6 180
180
2 4 3 u4 = 5 5 4 3 -3 Ø Ø +θ 10- θ 190
10 190

min(10,40)=10
min ∆ ij = −3 = ∆ 41 ⇒ x 42 eliminată
∆ ij < 0
din bază.
⇒ x 41 intră în bază.
Problema de transport

X3 cij v1 v2 v3 ∆ ij = cij − cij


=0 = −1 = −1
3 2 1 30- θ 190+ ε
u1 = 3 3 2 2 Ø Ø -1 +θ
30 190+ ε
2 4 1 u2 = 2 2 1 1 Ø 3 0 300
300
1 3 5 u3 = 1 1 0 0 Ø 3 5 180
180
2 4 3 u4 = 2 2 1 3 Ø 3 Ø 10+ θ 190- θ
10 190

min(30,190)=30
min ∆ ij = −1 = ∆ 13 ⇒ x11 eliminată
∆ ij < 0
din bază.
⇒ x13 intră în bază.

X4 cij v1 v2 v3 ∆ ij = cij − cij


=0 =2 =1
3 2 1 u1 = 0 0 2 1 3 Ø Ø 190+ ε 30
190+ ε 30
2 4 1 u2 = 2
2 4 3 Ø 0 -2 300- θ
300 +θ
1 3 5 u3 = 1 1 3 2 Ø 0 3 180
180
2 4 3 u4 = 2
40 160 2 4 3 Ø 0 Ø 40+ θ 160- θ

min(300,160)=160
min ∆ ij = −2 = ∆ 23
∆ ij < 0 ⇒ x 43 eliminată din
⇒ x 23 intră în bază. bază.
Analita economico-matematică a unor modele liniare

X5 cij v1 v2 v3 ∆ ij = cij − cij


=0 =0 = −1
3 2 1 u1 = 2
190+ ε 30 0 2 1 1 Ø Ø

2 4 1 u2 = 2
140 160 2 4 3 Ø 2 Ø

1 3 5 u3 = 1
180 1 3 2 Ø 2 5

2 4 3 u4 = 2
200 2 4 3 Ø 2 2

∆ ij ≥ 0 , ∀i = 1,4 şi j = 1,3 ⇒ STOP.

Schema soluţiei optime (ε := 0) :

D1
C1
x12 = 190
*

x13 = 30
*

x 21 = 140
*

D2
C2
x 23 = 160
*

D3 C3
x 31 = 180
*

x 41 = 200
*

D4
Problema de transport

Soluţia optimă este unică şi nedegenerată şi corespunde unui cost


total minim egal cu 1630 u.m.

În cazul în care soluţia admisibilă de start este găsită cu metoda


elementului minim pe tabel, stabilim soluţia optimă în următoarele două
iteraţii:

X1 cij v1 v2 v3 ∆ ij = cij − cij


=0 =2 =1
3 2 1 u1 = 0
0 2 1 3 Ø Ø
30 190 30+ θ 190- θ
2 4 1 u2 = 2 2 4 3 Ø 0
-2 300- θ +θ
300
1 3 5 u3 = 1 1 3 3 Ø 0 3 180
180
2 4 3 u4 = 2 2 4 3 Ø Ø 0 40+ θ 160- θ
40 160

min(190,300,160)=160
⇒ x42 eliminată din
min ∆ ij = −2 = ∆ 23
∆ ij < 0 bază.
⇒ x 23 intră în bază.

X5 cij v1 v2 v3 ∆ ij = cij − cij


=0 =0 = −1
3 2 1 u1 = 2 2 2 1 1 Ø Ø
190 30
2 4 1 u2 = 2 2 2 1 Ø 2 Ø
140 160
1 3 5 u3 = 1 1 1 0 Ø 2 4
180
2 4 3 u4 = 2 2 2 1 Ø 2 2
200

∆ ij ≥ 0 , ∀i = 1,4 şi j = 1,3 ⇒ STOP. Evident, s-a obţinut aceeaşi soluţie


optimă.
Analita economico-matematică a unor modele liniare

4. Probleme de transport cu centre intermediare

În cadrul jocurilor de intreprindere din domeniul agriculturii,


participanţii la joc sunt puşi în faţa rezolvării unor probleme în care recolta
din diferite puncte de colectare trebuie expediată în silozuri, iar acestea,
conform unor programe, trebuie să satisfacă cererile unor consumatori, cum
ar fi morile sau fabricile de pâine. Se pune, astfel, problema găsirii unor
planuri de aprovizionare a unor centre consumatoare, după ce marfa a fost
stocată o anumită perioadă în puncte de păstrare, pe care le vom numi centre
intermediare. Acest proces de aprovizionare în două faze nu este specific
agriculturii, el apare în multe alte domenii ale activităţii economice sau
informatice.

Formularea problemei Cunoscând:

a i , producţia în sursa Pi (centrul de expediere a materiei prime, mărfii),


i ∈ M ; A = (a i )i∈M ;
d k , capacitatea depozitului Dk , numit centru intermediar (poate fi centru
de
prelucrare), k ∈ M 1 = {1,.., m1 } ; D = (d k )k∈M 1 ;

b j , cererea consumatorului C j , j ∈ N ; B = (b j ) j∈N ;

c ik , costul unitar pe ruta (Pi , Dk ) ;


p kj , costul unitar pe ruta (Dk , C j ),

să se stabilească planurile de transport de la producător la centru intermediar


şi de la centru intermediar la consumatori astfel încât cheltuielile totale de
transport să fie minime. Şi în acest caz, cheltuielile sunt date pe unitatea de
cantitate transportată şi sunt proporţionale cu aceasta.
Problema de transport

Modelul matematic

Pi x ik
ai Dk

c ik dk

m1
V.4.1 ∑x
k =1
ik = ai , i ∈ M

m
V.4.2 ∑x i =1
ik = dk , k ∈ M1

Dk y kj Cj
dk
p kj
bj

n
V.4.3 ∑y j =1
kj = dk , k ∈ M1

m1
V.4.4 ∑y
k =1
kj = bj , j ∈ N

V.4.5 x ik ≥ 0 , y kj ≥ 0 , i ∈ M , k ∈ M 1 , j ∈ N

m m1 m1 n
V.4.6 [min] f = ∑∑ cik x ik + ∑∑ p kj y kj
i =1 k =1 k =1 j =1
Analita economico-matematică a unor modele liniare

Modelul liniar V.4.1 - V.4.6 admite soluţii dacă:

m m1 n
V.4.7 ai ≥ 0 , dk ≥ 0 , bj ≥ 0 ; ∑a = ∑d
i =1
i
k =1
k = ∑bj ,
j =1
i∈M ,

k ∈ M1, j ∈ N .

În acest model apar (m × m1 ) + (m1 × n ) necunoscute, supuse unui


număr de (m + m1 − 1) + (m1 + n − 1) restricţii independente relativ la
cantităţile transportate.
Din condiţia V.4.7 rezultă că, în această problemă echilibrată,
variabilele x ik şi y kj sunt independente, ceea ce permite descompunerea
problemei de transport cu centre intermediare în două probleme de transport
echilibrate, succesive:

(PB1) (PB2)
m1 n

∑x ik = ai , i ∈ M ∑y
j =1
kj = dk , k ∈ M1
k =1
m m1

∑ xik = d k , k ∈ M 1
i =1
∑y kj = bj , j ∈ N
k =1
x ik ≥ 0 , i ∈ M , k ∈ M 1 y kj ≥ 0 , k ∈ M 1 , j ∈ N
m m1 m1 n
[min] f 1 = ∑∑ c ik x ik [min] f 2 = ∑∑ p kj y kj
i =1 k =1 k =1 j =1
ai ≥ 0 , d k ≥ 0 dk ≥ 0 , bj ≥ 0
m m1

∑ ai = ∑ d k
m1 n

i =1 k =1
∑d
k =1
k = ∑bj
j =1
Problema de transport

După rezolvarea celor două probleme, se construieşte, prin reuniune,


soluţia optimă a modelului enunţat. În realitate se întâlnesc destul de rar
probleme echilibrate. Cel mai adesea trebuie să se introducă puncte sursă
sau depozite sau centre consumatoare fictive pentru a face posibilă
aplicarea algoritmului de rezolvare. În cazul în care capacitatea totală a
centrelor intermediare este mai mare decât oferta totală şi cererea totală,
există riscul ca o parte din marfă să rămână în aceste depozite. Aceste
stocuri pot fi admise sau nu. De exemplu, dacă marfa e perisabilă, s-ar dori
stocuri cât mai mici, eventual nule. Din acest motiv s-a elaborat un procedeu
de punere de acord a soluţiilor optime ale problemelor (PB1) şi (PB 2 ) ,
procedeu prin care se urmăreşte:
• minimizarea stocurilor în centrele intermediare;
• reducerea cheltuielilor prin redistribuirea cantităţilor transportate.

În continuare se va exemplifica acest caz special al problemelor de


transport cu centre intermediare, şi anume, cazul în care capacitatea
centrelor intermediare este strict mai mare decât oferta surselor şi cererea
consumatorilor. Datele numerice după echilibrare sunt cele din tabelele
T.V.4.1 şi T.V.4.2. Se observă că iniţial au existat
relaţiile: a1 + a 2 + a 3 < d 1 + d 2 + d 3 + d 4 > b1 + b2 + b3 + b4 . Centrele P4 şi
C 5 sunt fictive. Deoarece nu s-a impus nici o prioritate în aprovizionare
şi/sau servire, toate costurile din linia lui P4f , respectiv coloana lui C5f au
valori nule:

c 4 k = 0 şi p k 5 = 0 , k ∈1,4 .
Analita economico-matematică a unor modele liniare

După rezolvarea independentă a celor două probleme s-au obţinut soluţiile


optime:

T.V.4.2
T.V.4.1
D1 D2 D3 D4 C1 C 2 C 3 C 4 C 5f
D
A
D1 4 1 1 3 0
P1 9 4 7 8
26
9 25 34 26
P2 3 6 11 3 D2 6 2 1 4 0
15 15 9
9
P3 8 5 9 7
D3 3 5 5 1 0
3 48 51 12 23 2
P4 0
f 0 0 0 37
8 12 20 D4 4 3 2 3 0
26 9 37 48120 4 16 28
48
D N 12 30 25 23 30 120

Reprezentând schematic soluţiile optime, după cum urmează,

[min] f1 = 616
C1
D1 [min] f 2 = 138
P1 Rute fictive folosite
9 26
în variantele optime:
25 (P4 , D1 )
C2 (P , D ) , (D , C )
4 3 3 5
15
P2 D2 (D , C )
4 5

9 4

3 C3
16
12
P3 48
D3
23
8 C4
12
P4 D4 2
28 C5
fictiv
fictiv
Problema de transport

se pot observa mai uşor modalităţile de aprovizionare a celor patru centre


consumatoare reale C1 , C 2 , C 3 şi C 4 şi se pot sesiza soluţii de
îmbunătăţire a variantelor optime de transport. Consumatorul fictiv C 5 este
aprovizionat de D3 şi D4 .

D3 2

•C 5 30=2+28
28
D4

Pe de altă parte, D4 , ca centru intermediar, este aprovizionat numai


de P3 şi “expediază” spre C 5 , fictiv, 28t. Este logic să dorim micşorarea
cantităţii transportate pe ruta (P3 , D4 ) cu 28 unităţi. Să verificăm dacă acest
lucru este posibil. Se vor reaşeza soluţiile optime pentru a facilita procedeul
de punere de acord a variantelor de transport:

Pi Cj
T.V.4.3 T.V.4.4
P1 P2 P3 P4 f D C1 C2 C3 C 4 C 5f
D1 15 3 8 26 26
D2 9 9 9
D3 25 12 37 12 23 2
Dk
D4 48 48 4 16 28
A → 34 15 51 20 B→ 12 30 25 23 30

Din acest tabel, rezultă că D4 primeşte o cantitate de marfă egală cu


capacitatea sa, dar aprovizionează C 2 şi C 3 numai cu 4t, respectiv 16t, iar
*
D1 primeşte numai (15+3)t ( x 41 = 8 ) şi trebuie să satisfacă o cerere de 26t.
Analita economico-matematică a unor modele liniare

Această situaţie poate fi eliminată prin introducerea în bază a variabilei x 44 .


În tabelele T.V.4.3- T.V.4.4 se construiesc liniile poligonale şi se obţin:

Pi Cj
T.V.4.5 T.V.4.6
P1 P2 P3 P4 f D C1 C 2 C 3 C 4 C 5f
D1 15 3+ θ 8- θ 26 26
D2 9 9 9
25 12 37 ~ 23 ~
Dk D3 12- θ 2+ θ
48- θ θ 48 ~ 4 16 ~
D4 θ 28- θ
A → 34 15 51 20 B → 12 30 25 23 30

Aplicând criteriul de eliminare din bază, rezultă θ = 8 , ceea ce


implică:
• din P3 se vor expedia (3+8)t spre D1 şi (48-8)t spre D4 ;
• sursa P4 , fictivă, nu va “expedia” nimic spre D1 , deci D1 , prin această
modificare, va expedia spre C 2 26t (15t primite de la P2 şi 11t de la P3 ).
Să trecem la analiza soluţiei optime corespunzătoare planului de
transport (centre intermediare – centre de consum). În primul rând trebuie să
construim o linie poligonală prin care să eliminăm 8 unităţi de pe ruta
(D4 , C 5 ) . Din analiza ultimului tabel, rezultă că cea mai bună strategie este
aceea ce permite eliminarea acestor 8t de la D3 , care primeşte 12t de la
sursa fictivă P4 :

Aprovizionarea se face de
la D3 , care primeşte în ~ ~
12- θ 23 2+ θ
realitate numai 25t. ~ ~
θ 28- θ
~
θ = 12
Problema de transport

În final, rezultă soluţia:


T.V.4. 7 T.V.4.8
P1 P2 P3 P4 f D C1 C2 C3 C4 C 5f
D1 9 3 8 0 4 1 1 3 0 Expediază tot
26 ce primeşte.
15 11 26
D2 4 6 5 0 6 2 1 4 0
Expediază tot
9 ce primeşte.
9
9
D3 7 11 9 0 3 5 5 1 0 Primeşte 25t,
37 expediază 23t
25 12 23 14
şi rămâne cu un
8 3 7 0 4 3 2 3 0 stoc de 2 unităţi.
D4
48 Primeşte 40t,
expediază
40 8 12 4 16 16 (12+4+16)t
şi rămâne
A→ 34 15 51 20 B→ 12 30 25 23 30
în stoc cu 8t.

Costul total va fi: 624+150=774u.m. Acest cost poate fi micşorat în


continuare, prin reducerea cantităţilor primite de D3 şi D4 cu 2t, respectiv
~
x13* = 25 − 2
8t:

P1 x13* = 25 P1 D3
D3 ⇒ ~
*
x 34 = 40 x 34* = 40 − 8
P3 P3 D4
D4 ⇒
Pentru evitarea imobilizărilor de fonduri fixe, pierderea valorii
mărfii prin depozitarea sau folosirea neraţională a mijloacelor de transport,
se recomandă următoarele politici în alte două cazuri de excepţie:
m m1 n
• ∑ ai = ∑ d j > ∑ bk → Deoarece se cere mai puţin decât se oferă,
i =1 j =1 k =1

m n
diferenţa ∑ a − ∑b
i =1
i
k =1
k nu va fi expediată spre centrele intermediare.
Analita economico-matematică a unor modele liniare

m m1 n
• ∑ ai = ∑ d j < ∑ bk → Se recomandă satisfacerea cu priorităţi a cererilor
i =1 j =1 k =1

formulate de unele centre consumatoare.

5. Problema de transport generalizată

Introducem această problemă printr-un exemplu.


Formularea problemei. Din contractele încheiate de firma
producătoare FAUR rezultă că la atelierul A5, în cursul trimestrului al
II-lea, vor fi realizate produsele Pi , i ∈ {1,2,3,4} , pe utilajele U j ,
j ∈ {1,2,3} . Se doreşte găsirea unui program de producţie care să
asigure firmei un venit total maxim. Pentru scrierea unui model
matematic cu ajutorul căruia să atingem obiectivul propus, se vor
utiliza următoarele elemente:

Semnificaţie Notaţie

• Timp disponibil al utilajului U j în • a j , j = 1,3


trimestrul al II-lea, exprimată în h
• Producţia planificată din fiecare
• bi , i = 1,4
produs, exprimată
în număr de produse
• Randamentul orar al utilajului U j • wij , i = 1,4 , j = 1,3
relativ la produsul Pi
• Costul de producţie de la o unitate • cij , i = 1,4 , j = 1,3
de produs Pi realizat pe utilajul U j
Problema de transport

Modelul matematic

Pj
Ui
wij , cij
ai bj
xij

Suma timpilor necesari


pentru producerea
4 xij reperelor pe utilajul U j
V.5.1 ∑w
i =1
≤ a j , j = 1,3 nu trebuie să depăşească
ij
durata de timp disponibil.

3 Suma unităţilor fizice din


V.5.2 ∑ xij = bi , i = 1,4
j =1
produsul Pi ce se
prelucrează pe cele 3
utilaje trebuie să fie egală
cu cantitatea necesară
onorării contractelor.
V.5.3 xij ≥ 0 , i = 1,4 , j = 1,3 ;

4 3
V.5.4 [min] f = ∑∑ cij xij .
i =1 j =1

Spre deosebire de modelele studiate până acum, în această problemă


de încărcare a utilajelor, a j şi bi sunt măsuraţi în unităţi diferite, şi, ca
urmare, procedeul iterativ prin care se stabileşte soluţia optimă se va
modifica parţial, dar criteriile de eliminare sau intrare în bază, precum şi cel
de verificare a optimalităţii soluţiei testate se menţin.
În tabelul de mai jos sunt prezentate datele numerice ale problemei.
Astfel, într-o căsuţă (P ,U )
i j se vor trece: costul cij în stânga sus,
randamentul wij în stânga jos; variabila cantitate produsă xij în dreapta va fi
scrisă atunci când este cazul. În ultima coloană vor fi scrise cantităţile din
Analita economico-matematică a unor modele liniare

fiecare produs planificate pentru a fi produse, iar ultima linie prezintă


disponibilul de timp pentru fiecare utilaj.

U1 U2 U3 bi - producţia planificată
5 6 1.5
P1 20 80 40
600
1.2 20 1.3
P2 14900
80 20 50
3 2 1.2
P3 11600
32 160 50
1.3 2 0.35
P4 64 200 200
100000

a j - timpul disponibil
180 540 360
(în ore)

Etapa 1: Pentru determinarea soluţiei iniţiale, se vor parcurge următorii


paşi:
Pasul 1 Se fixează linia i şi se alege cij = min {cik }.
i≤k ≤m

Pasul 2 Se atribuie variabilei xij valoarea xij := min{bi , wij ⋅ a j } .


Pasul 3 Se şterge din tabel linia sau coloana saturată ( bi a fost
obţinută sau disponibilul utilajului U j a fost epuizat) şi se revine la pasul 1,
pentru tabelul redus, până la epuizarea tuturor liniilor.
În cazul nostru, soluţia iniţială, găsită prin metoda descrisă mai sus,
este:

U1 U2 U3 bi
5 6 1.5
P1 600 → 0
20 0 80 0 40 6000
1.2 20 1.3
P2 14900 → 500 → 0
80 14400 20 0 50 500
3 2 1.2
P3 11600 → 1600 → 0
32 0 160 1600 50 10000
1.3 2 0.35
P4 100000 → 0
64 0 200 100000 200 0
540 ↓ 360 ↓
aj 180 ↓
0 530 ↓ 200 ↓
30 0
Problema de transport

Se observă că avem 6 variabile de bază nenule, aşadar problema este


nedegenerată.

Etapa 2 Determinarea soluţiei optime


Pasul 1 Pentru indicii (i, j ) pentru care xij ≥ 0 , se scrie sistemul de
ecuaţii
vj
ui + = cij .
wij
În acest caz se obţine sistemul simplu nedeterminat
v3 v v
u1 + = 1 .5 , u 2 + 1 = 1 . 2 , u 2 + 3 = 1 .3 ,
40 80 50
v2 v v
u3 + = 2 , u 3 + 3 = 1 .2 , u 4 + 2 = 2 .
160 50 200
Se consideră u h = 0 sau v k = 0 pentru variabila care intervine de
cele mai multe ori în acest sistem şi se stabileşte o soluţie particulară.
Întrucât v3 apare de cele mai multe ori în sistem, vom lua v3 = 0 . Obţinem
astfel soluţia: u1 = 1,5 , u 2 = 1,3 , u 3 = 1,2 , u 4 = 1,36 , v1 = −8 , v 2 = 128 .
⎛ vj ⎞
Pasul 2 Se calculează ∆ ij = cij − ⎜ u i + ⎟ , ∀i ∈ 1, n , α ∈ 1, m . Dacă toate
⎜ w ⎟
⎝ ij ⎠

aceste diferenţe sunt pozitive sau nule, soluţia este optimă.

Pentru această problemă, matricea diferenţelor este


⎛ 3.9 2.9 0 ⎞
⎜ ⎟
⎜ 0 12.3 0 ⎟
⎜ 2.05 . Aşadar, nu toate elementele acestei matrici sunt
0 0 ⎟
⎜ ⎟
⎜ 0.065 0 − 1.01⎟
⎝ ⎠
pozitive sau nule, deci soluţia găsită nu este optimă.
Analita economico-matematică a unor modele liniare

Trecem la îmbunătăţirea soluţiei. Se alege perechea de indici ( j , k )


după criteriul cunoscut
∆ jk = min{∆ ij | ∆ ij < 0}.
(i , j )

Pentru perechea ( j , k ) vom avea x jk = θ . Se construieşte conturul poligonal


cu primul vârf ( j , k ) . El va fi numit în continuare circuit de transfer şi va fi
notat prin C ( j ,k ) :
C ( j ,k ) = {(i1 , j1 ), (i1 , j 2 ), (i2 , j 2 ),..., (i h , k ), ( j , j k ),..., (i s , j1 )} .
Notăm ℑ = ( j , k ) U C ( j ,k ) .
Numim “distanţa” de la (iλ , j µ ) la ( j , k ) numărul de schimbări de
poziţie necesare pentru a aduce elementul (iλ , j µ ) în locul lui ( j, k ) în
mulţimea ℑ . Elementele lui ℑ la distanţă pară de ( j , k ) se marchează cu +,
iar cele la distantă impară se marchează cu -, astfel încât ℑ = ℑ + U ℑ − . Se
determină ρ astfel ca
⎧⎪ xij ⎫⎪
ρ = min ⎨ ⎬.
( i , j )∈ℑ −
⎪⎩ wij ⎪⎭
Noua soluţie X ' va avea componenta x jk dată de relaţia x 'jk = ρ ⋅ w jk , iar
componentele corespunzătoare perechilor de indici situaţi la distanţă egală
cu 1 faţă de ( j , k ) sunt:
wih k
xi'h k = xih k − x 'jk ,
w jjk

x 'jjk = x jjk − x 'jk .


Componentele corespunzătoare indicilor situaţi la distanţă egală cu 2 faţă de
( j, k ) se vor calcula după formula:
wih k
xi'h kl = xih kl + x 'jk .
w jjk
Problema de transport

Analog pentru celelalte componente.


După aflarea soluţiei îmbunătăţite, se testează din nou optimalitatea.
Justificarea acestui algoritm este similară justificării algoritmului
potenţialelor, din cazul problemelor de transport.

Revenim la problema noastră. Singurul ∆ ij < 0 este ∆ 43 = −1,01 < 0 .

Avem ( j, k ) = (4,3) , ℑ = {(3,2); (3,3); (4,3); (4,2)} , ℑ − = {(3,3); (4,2)} .


⎧10000 100000 ⎫
Aflăm ρ = min− ⎨ ; ⎬ = 200 . Rezultă că
( i , j )∈ℑ ⎩ 50 200 ⎭
'
x 43 = ρ ⋅ w43 = 200 ⋅ 200 = 40000 ,
w33 ' 50
'
x33 = x33 − x 43 = 10000 − ⋅ 40000 = 0 ,
w42 200
'
x 42 = x 42 − x 43
'
= 100000 − 40000 = 60000 ,
şi
w33 ' 50
'
x32 = x32 + x 42 = 1600 + ⋅ 40000 = 11600 .
w42 200
Noua soluţie este prezentată în tabelul de mai jos:
T.V.5.1
U1 U2 U3
5 6 1,5
P1
20 0 80 0 40 6000
1,2 20 1,3
P2
80 14400 20 0 50 500
3 2 1,2
P3
32 0 160 11600 50 0
1,3 2 0,35
P4
64 0 200 60000 200 40000
Analita economico-matematică a unor modele liniare

vj
Să vedem dacă această soluţie este optimă. Sistemul u i + = cij
wij
pentru indicii bazici este:
v3 v v
u1 + = 1,5 , u 2 + 1 = 1,2 , u 2 + 3 = 1,3 ,
40 80 50

v2 v v
u3 + = 2 , u 4 + 2 = 2 , u 4 + 3 = 0,35 ,
160 50 200

şi are soluţia v3 = 0 , u1 = 1,5 , u 2 = 1,3 , u 3 = −0,0625 , u 4 = 0,35 , v1 = −8 ,


v 2 = 330 . Matricea cu elementele (∆ ij )i , j este, pentru această soluţie,

⎛ 3,9 0,375 0 ⎞
⎜ ⎟
⎜ 0 2.2 0 ⎟ soluţia optimă este cea
⎜ 3,0875 ≥0 ⇒
0 1,2625 ⎟ prezentată în T.V.5.1.
⎜ ⎟
⎜ 1,075 0 0 ⎟⎠

Analiza soluţiei optime:

Pi Prod. Cerere Cerere Uj Fond de Fond de timp utilizat


planif. onorată neonorată timp disp.
*
x 21
P1 6.000 6.000 0 U1 180 = 180
80
*
x32 x*
P2 14.900 14.900 0 U2 540 + 42 = 307,25
160 200
*
x313 x* x*
P3 11.600 11.600 0 U3 360 + 23 + 43 = 360
40 50 200
P4 100.000 100.000 0 [min] f = 8.425.400
Problema de transport

Fondul de timp fiind o resursă nestocabilă, se recomandă folosirea în


alte scopuri a celor (540-307,25) ore rămase neutilizate la P2 prin
programul optim de fabricaţie. Cum elementele acestei matrici sunt positive,
rezultă că soluţia găsită este optimă.

6. Probleme de repartiţie

Problemele de repartiţie sunt probleme întâlnite în domeniul


organizării aprovizionării cu un anumit produs, a repartizării unor sarcini de
plan pe utilajele existente, a formării unor echipe de cercetare în care fiecare
persoană elaborează singur o parte a temei studiate, etc.

Formularea problemei Există n ∈ N * necesităţi şi pentru fiecare există cel


puţin una şi cel mult n posibilităţi de realizare. Se cere aflarea a n
posibilităţi de repartizare a celor n necesităţi ce corespund unei eficienţe
maxime.
Dacă trebuie repartizaţi n solicitanţi pe tot atâtea posturi vacante, în
ipoteza că un solicitant are competenţa să ocupe mai mult de un post, atunci
afectarea poate să ţină seama de satisfacerea globală a preferinţelor sau de
obţinerea unui randament global maxim. În cazul în care n persoane trebuie
să-şi împartă n bunuri indivizibile de valori cvasiegale, se va urmări
realizarea unui partaj echitabil. Scopul urmărit poate fi şi distanţa totală
minimă în cazul satisfacerii cererilor a n puncte cu un produs aflat în
excedent de disponibil în n depozite.

Modelul matematic
● z ij reprezintă repartizarea posibilităţii i pentru necesitatea j;
i, j ∈{1,..., n} . Această variabilă este de tip Boole:
⎧1 , daca i este alocat lui j
z ij = ⎨
⎩ 0 , in rest
● cij este coeficientul de eficienţă asociat alocării (i, j ) .
Analita economico-matematică a unor modele liniare

Se urmăreşte aflarea valorilor z ij ∈{0,1} , i, j ∈{1,..., n} , supuse


restricţiilor
n
V.6.1 ∑z
i =1
ij = 1 , j = 1, n ,

n
V.6.2 ∑z
j =1
ij = 1 , i = 1, n ,

şi care corespund unei eficienţe maxime


n n
V.6.3 [opt ] f = ∑∑ xij ⋅ cij .
i =1 j =1

Modelul problemei de repartiţie sau de afectare este un model liniar,


cu particularităţile unei probleme de transport echilibrate cu ai = bi = 1 ,
i = 1, n . Dualul său are forma
n n
[opt ]g = ∑1 ⋅ α i + ∑1 ⋅ β j
i =1 j =1

{α i + β j ≤ cij , i, j ∈1, n
α i , β j ∈ R , i, j ∈1, n
Se preferă abordarea acestui tip de problemă prin teoria grafurilor,
datorită procedeelor relativ simple şi elegante de găsire a soluţiei optime.

În continuare se vor introduce conceptele ce vor fi folosite în


determinarea unei repartiţii minimale, care, în teoria grafelor, este
echivalent cu stabilirea unui cuplaj maxim de valoare minimă, într-un graf
particular care descrie problema (graf asociat) formulată.

Definiţia 1 Graf simplu


Graful G = ( X , Γ ) este graf simplu dacă:
● X = A U B şi A I B = Φ
● Γ( A) ⊂ B şi Γ(B ) = Φ
Grafurile simple se numesc şi bipartite, deoarece orice arc al grafului
are vârful iniţial în A şi cel final în B, deci are loc o bipartiţie în produsul
cartezian A× B .
Problema de transport

Definiţia 2 Cuplajul unui graf simplu


O mulţime de arce W ⊂ U este un cuplaj în graful simplu
G = ( A U B, Γ ) = ( A U B,U ) dacă două arce oarecare nu sunt adiacente.
Se spune că xi ∈ A acoperă vârful y j ∈ B , sau xi este alocat
(atribuit, afectat) vârfului y j dacă, prin cuplaj, (xi , y j )∈W .
Într-un graf simplu toate drumurile sunt formate numai din câte un
arc, care poate avea ataşată o valoare v (xi , y j )∈ R *+ ; în acest caz, se poate
defini valoarea unul cuplaj W astfel:

v(W ) = ∑ v(x , y ) .
(xi , y j )∈W
i j

Pentru exemplificarea rezolvării unei probleme de repartiţie,


considerăm următoarea problemă.
Exemplu În depozitele Di , i = 1,5 , există stocuri mari dintr-un anumit tip
de marfă. Punctele de consum C j , j = 1,5 , solicită această marfă, cu
observaţia că nu au nici o preferinţă relativ la depozitul furnizor, şi orice
depozit poate satisface oricare din cele şase cereri. Distanţele dintre surse şi
consumatori sunt date în următoarea matrice:
⎡5 5 8 9 3 ⎤
⎢6 4 7 9 6 ⎥
⎢ ⎥
⎢5 3 3 7 4 ⎥
⎢ ⎥
⎢3 7 8 4 8 ⎥
⎢⎣8 2 6 6 6⎥⎦

Se cere să se aloce fiecărui centru C j un depozit Di şi numai unul,


de la care să primească întreaga cantitate de marfă, astfel încât distanţa
totală să fie minimă.
Mulţimea arcelor trasate, şi anume
W1 = {(D1 , C1 ), (D2 , C 2 ), (D3 , C 4 ), (D4 , C3 ), (D5 , C5 )} este unul din cele 5!
cuplaje maximale posibile, şi reprezintă o variantă de repartizare, cu distanţa
totală egală cu (5+4+7+8+6).
Analita economico-matematică a unor modele liniare

5
D1 C1

4
D2 C2

7
D3 C3

8
D4 C4
6
D5 C5

Modelarea matematică
Model primal
Model dual
[min] f = 5 z11 + 5 z12 + 9 z13 + ... + 6 z 55 5 5

⎧ z11 + z12 + z13 + z14 + z15 = 1 → α 1 [max] f = ∑ α i + ∑ β j


⎪ 5 i =1 j =1


∑ z2 j =1 →α2 ⎧α 1 + β1 ≤ 5

j =1


5
⎪α 1 + β 2 ≤ 5
⎪ ∑j =1
z3 j = 1 →α3 ⎪α 1 + β 3 ≤ 9
⎪ ⎪
⎪ 5
⎨.................
⎪ ∑ z4 j =1 →α4 ⎪α + β ≤ c
⎪ j =1
⎪ i j ij
⎪ 5
⎪.................


∑ z5 j = 1 →α5

⎩α 5 + β 5 ≤ 6
j =1

⎪ z11 + z 21 + z 31 + z 41 + z 51 = 1 → β1
⎪ 5
α i ∈ R , i ∈1, n



i =1
zi 2 = 1 → β2 β j ∈ R , j ∈1, n
⎪ 5



i =1
zi3 = 1 → β3
⎪ 5

⎪ ∑
i =1
zi 4 = 1 → β4
⎪ 5

⎩⎪

i =1
zi5 = 1 → β5

z ij ∈ {0,1} , i ∈ 1, n, j ∈ 1, n
Problema de transport

Varianta 1 Metoda Kuhn-Tucker-König

În 1955, Kuhn propune un algoritm pentru aflarea cuplajului maxim


de valoare minimă într-un graf simplu în care | A |=| B | . În realitate, acest
algoritm a rezultat şi din lucrările elaborate de König şi Ergévary.
Algoritmul propune parcurgerea următoarelor etape:
Etapa 0: Construirea matricei M
În general, grafului simplu considerat i se asociază o matrice
pătratică de ordinul n =| A |=| B | , notată M = (mij )i , j =1,n , unde

⎧ vij , daca (xi , x j )∈U


mij = ⎨ , dacă se cere [min] f .
⎩+ ∞ , daca (xi , x j )∉ U
În cazul studiat, matricea M va fi de forma
⎡5 5 8 9 3⎤
⎢6 4 7 9 6⎥⎥

M = (m ij )i , j =1,5 = ⎢5 3 3 7 4⎥ .
⎢ ⎥
⎢3 7 8 4 8⎥
⎢⎣8 2 6 6 6⎥⎦

Etapa 1: Obţinerea matricei distanţelor reduse


Pasul 1 Se notează cu α i cel mai mic element al liniei i; deci,
α i = min (mij ) , pentru ∀i ∈{1,..., n} . De la matricea M se trece la matricea
j =1, n

M = (m
~ )
~ ~
ij i , j =1, n , în care mij = mij − α i , pentru ∀i, j ∈ {1,..., n} .

Pasul 2 Se notează cu β j cel mai mic element al coloanei j din matricea


~ ~ ) , ∀j ∈{1,..., n} . Vom numi matricea redusă matricea
M : β j = min (mij
i =1, n

~ −β .
notată M , de element general mijR = m
R
ij j
Analita economico-matematică a unor modele liniare

Prin construcţie, matricea redusă conţine cel puţin un element egal


cu zero în fiecare linie şi coloană. Numărul acestor zerouri este cel puţin
egal cu ordinul matricei. Elementele nule ale matricei reduse indică rutele
rentabile sub aspectul distanţei.

Pentru problema de noastră, găsim:

Pasul 1 Pasul 2
α1 = 3 ⎛2 2 6 5 0⎞ β1 = 0 ⎛2 2 6 4 0⎞
⎜ ⎟ ⎜ ⎟
α2 = 4 ⎜2 0 3 5 2⎟ β2 = 0
~ ⎜2 0 3 4 2⎟
α3 = 3 ⇒ M = ⎜ 2 0 0 4 1⎟ β3 = 0 ⇒ M R = ⎜ 2 0 1⎟
⎜ ⎟ ⎜
0 3

α4 = 3 ⎜0 4 5 1 5⎟ β4 = 1 ⎜0 4 5 0 5⎟
⎜ ⎟ ⎜ ⎟
α5 = 2 ⎝6 0 4 4 4⎠ β5 = 0 ⎝6 0 4 3 4⎠

Cele două operaţii efectuate asupra elementelor matricei M nu


modifică soluţia optimă a problemei, conform propoziţiei:
˝Soluţia optimă a problemei de afectare nu se schimbă dacă se micşorează
sau măresc cu aceeaşi valoare toate elementele liniei i ∈ N , sau toate
elementele coloanei j ∈ N din matricea M˝.
Se vor analiza valorile lui α i şi β j din punctul de vedere al
programării liniare:

α1 = 3 β1 = 0 ⇒ α1 + β1 = 3 < 5 = c11
α2 = 4 β 2 = 0 ⇒ α 1 + β 2 = 3 < 5 = c12
α3 = 3 β 3 = 0 ⇒ α1 + β 3 = 3 < 9 = c13
α4 = 3 β 4 = 1 ⇒ α1 + β 4 = 4 < 8 = c14
α5 = 3 β 5 = 0 ⇒ α1 + β 5 = 3 = c15 *
Problema de transport

Cititorul poate verifica uşor, pe baza schemei prezentate, că valorile


α1 ,...,α 5 , β1 ,..., β 5 , obţinute la etapa 1, definesc o soluţie admisibilă a dualei.
Conform unei teoreme cunoscute din teoria dualităţii, avem:
5 5
g (α , β ) = ∑α i + ∑ β j = 16 ≤ [min] f .
i =1 j =1

Când ∑α + ∑ β
i j este maximală, atunci relaţia se verifică cu
egalitate.

Observaţie: Zerourile matricei M R indică restricţiile dualei verificate cu


egalitate.

Etapa 2: Se cercetează existenţa unui cuplaj optim în graful simplu asociat


problemei.
Dacă în matricea redusă M R se pot stabili n zerouri, două câte două
nesituate în aceeaşi linie şi coloană, atunci cu ajutorul lor putem pune în
evidenţă un cuplaj maxim de valoare minimă şi algoritmul se opreşte; dacă
nu, se trece la etapa 3. Afirmaţiile se bazează pe propoziţia:
˝Cuplajul maxim de valoare minimă a grafului G = ( A U B, Γ, C ) este dat de
elementele egale cu zero, situate la intersecţii de linii şi coloane distincte în
matricea M R = mijR( ) i , j =1, n
, unde mijR = mij − (α i + β j ) , α i = min (mij ) ,
j

β j = min (mij − α i ) ˝.
i

Se încearcă stabilirea soluţiei optime pe mulţimea căsuţelor (i, j ) cu


elemente nule, numite şi căsuţe admisibile, cu ajutorul procedeului:
• 10 Se consideră linia cu cele mai puţine zerouri. Se încadrează unul din
zerouri şi se barează zerourile situate în linia şi în coloana zeroului
încadrat.
• 20 Din cele (n-1) linii rămase, se consideră linia cu cele mai puţine
zerouri. În continuare se procedează ca la 10.
Analita economico-matematică a unor modele liniare

• k0 În ultima linie neconsiderată până acum, linia cu cele mai multe


zerouri, se alege un zero oarecare şi se încadrează; se vor bara toate
celelalte zerouri situate pe linia sa.
Dacă numărul zerourilor încadrate este n, atunci algoritmul se
opreşte; dacă nu, se trece la etapa 3.

Pentru problema de faţă, avem

⎛2 2 6 4 0⎞ 0
m15R = 0 încadrat
⎜ ⎟ 1 linia 1:
⎜2 0 3 4 2⎟ 0
2 linia 2:
R
m22 = 0 încadrat ⇒ m32R = m52R = 0 barat
M = ⎜2
R
0 0 3 1⎟ 0
⎜ ⎟ 3 linia 3: m33R = 0 încadrat
⎜0 4 5 0 5⎟ 0
⎜6
R
m41 = 0 încadrat ⇒ m44
R
= 0 barat
0 4 3 4 ⎟⎠
4 linia 4:

Etapa 3: Determinarea unui suport minimal


La această etapă se va stabili un număr minim de linii şi coloane ale
matricei reduse, care
să-i conţină zerourile. În acest scop, vom proceda astfel:
(a) se vor marca liniile care nu au nici un zero încadrat;
(b) se vor marca toate coloanele ce conţin zerouri barate în linii marcate;
(c) se vor marca liniile care au cel puţin un zero încadrat în coloane
marcate.
Operaţiile (b) şi (c) se repetă până când nu se mai pot marca linii şi
coloane.
Suportul minimal este dat de mulţimea liniilor nemarcate, la care se
adaugă mulţimea coloanelor marcate.
Problema de transport

În cazul problemei studiate,

*
⎛2 2 6 4 0⎞ (a) se va marca linia 5;
⎜ ⎟ (b) se va marca coloana 2 (zero barat din
⎜2 0 3 4 2⎟ *
linia 5, marcată, se află în coloana 2);
M = ⎜2
R
0 0 3 1⎟ (c) coloana 2, marcată, conţine un zero
⎜ ⎟
încadrat în linia 2 ⇒ linia 2 va fi
⎜0 4 5 0 5⎟
⎜6 marcată.
⎝ 0 4 3 4 ⎟⎠ *

Operaţia (b) nu se poate repeta, deoarece linia 2 marcată nu conţine


nici un zero barat. Liniile 1, 3, 4 nemarcate şi coloana 2 marcată dau o
modalitate de acoperire a zerourilor cu un număr minim de linii şi coloane.

Etapa 4: Deplasarea eventuală a unor zerouri


După parcurgerea etapei 3 în matricea M R apar trei tipuri de
elemente:
T1 = elementele nesituate pe linii şi coloane haşurate sau elemente libere;
T2 = elementele situate pe linii sau coloane haşurate sau elemente simplu
acoperite;
T3 = elementele situate la intersecţia liniilor haşurate cu coloane haşurate
sau elemente dublu acoperite.
Se va aplica o procedură de modificare a matricei reduse după cum
urmează.
Se va nota cu ε 1 cel mai mic element de tip T1. Valoarea ε 1 se va
scădea din elementele de tip T1 şi se va aduna la elementele de tip T3. Prin
acest procedeu se obţine cel puţin un nou element zero. Elementele de tip T2
nu se vor modifica. Astfel, se obţine o nouă matrice redusă M R1 . Cu această
matrice se revine la etapa 2.
Analita economico-matematică a unor modele liniare

Aici,
T1 : {
D1 = m21
R R
, m23 R
, m24 R
, m25 , m51R , m53R , m54R , m55R ;}
ε 1 = min (mijR ) = 2 = m21 = m25 ;
mijR ∈D1

{
T2 : D2 = m11R , m13R , m14R , m15R , m22
R
, m31R , m33R , m34R , m35R , m41
R R
, m43 R
, m44 R
, m45 }
, m52R ;
T3: D3 = {m R
12
R
}
, m32R , m42 .
⎛2 4 6 4 0⎞
⎜ ⎟
⎜0 0 1 2 0⎟
După efectuarea calculelor, se obţine: M = ⎜ 2
R1
2 0 3 1⎟ .
⎜ ⎟
⎜0 6 5 0 5⎟
⎜4 0 2 1 2 ⎟⎠

Dacă se compară M R1 cu prima matrice redusă, se observă că au


apărut două zerouri pe poziţiile (2,1) şi (2,5), şi a dispărut zeroul din (3,2).
Valoarea lui g (α , β ) va creşte cu ε 1 unităţi:
5 5

∑α i + ∑ β j + ε1 = 16 + 2 .
i =1 j =1

Se revine la etapa 2 şi se încearcă găsirea a n = 5 zerouri nesituate pe


aceeaşi linie şi aceeaşi coloană:

10 linia 1: m15 = 0 încadrat ⇒ m25 = 0 barat


R1 R1
⎛2 4 6 4 0⎞
⎜ ⎟
20 linia 3: m33 = 0 încadrat
R1
⎜0 0 1 2 0⎟
M = ⎜2 2 0 3 1⎟ 30 linia 5: m52 = 0 încadrat ⇒ m22 = 0 barat
R1 R1 R1
⎜ ⎟
40 linia 2: m21 = 0 încadrat ⇒ m41 = 0 barat
R1 R1
⎜0 6 5 0 5⎟
⎜4 0 2 1 2 ⎟⎠ 50 linia 4: m44 = 0 încadrat
R1

Problema de transport

Numărul elementelor încadrate este egal cu ordinul matricei M, deci


algoritmul se opreşte. Valoarea funcţiei g nu mai poate fi mărită:
[max]g = 18 = [min] f .

Conform propoziţei enunţate la etapa 2, cuplajul maxim de valoare


minimă este subgraful

D1 3 C1
6

D2 C2
3
D3 C3
4
D4 C4
2

D5 C5

( )
iar valoarea sa v W * = 18 reprezintă distanţa minimă necesară mijloacelor
de transport pentru a aproviziona cele cinci centre consumatoare. Dacă
aprovizionarea se face cu o singură cursă, aceasta este distanţa totală
minimă, iar dacă sunt necesare mai multe, atunci ea se va amplifica cu
numărul curselor.
Analita economico-matematică a unor modele liniare

Pentru fixarea cunoştinţelor, credem că este necesar ca în final să fie


făcută o sistematizare a algoritmului:
Sistematizarea algoritmului

Se scrie matricea M.
R
Se calculează matricea redusă M şi marginea inferioară a funcţiei f.

Se cercetează existenţa unui cuplaj optim, încercând găsirea a n căsuţe


admisibile, nesituate în aceeaşi linie şi aceeaşi coloană.

Se aplică procedeul
NU de marcare a liniilor
Există? şi coloanelor; se
stabileşte acoperirea
minimală a matricei
reduse.
DA

STOP
Se modifică matricea.
Problema de transport

Observaţie: Dacă în problemă scopul urmărit este maximizarea lui f, de


exemplu profitul maxim, se poate trece la minimizarea lui f , prin trecerea
la o matrice C . Se poate fixa un profit dorit, şi toate elementele lui C vor fi
înlocuite cu (profitul dorit – profitul evaluat pe ruta (i, j ) ) şi se va obţine o
problemă de minimizare.

Varianta 2 Algoritmul lui Little

Algoritmul propus de J.D.C Little este o metodă de tip “branch and


bound” (“ramifică şi mărgineşte” sau “separă şi evaluează”) ce poate fi
folosit la rezolvarea problemelor de tip combinatoric, în care relaţiile dintre
elemente pot fi reprezentate printr-o matrice m × n (ca în cazul problemei
considerate). Dacă matricea este dreptunghiulară, se completează cu linii
sau coloane fictive conţinând elemente foarte mari pentru a evita alocarea,
deoarece, prin model, se cere minimizarea lui f .
Rezultatele sunt reprezentate printr-o arborescenţă, în care vârfurile
corespund unor submulţimi de soluţii admisibile. Aplicarea metodei propusă
de Little presupune respectarea unor reguli, cum ar fi:
• reguli pentru ramificarea de la un nod la alte noi noduri;
• reguli pentru determinarea marginii inferioare a funcţiei obiectiv în
noduri;
• reguli de alegere a unui nod intermediar din care să se continue
ramificarea;
• reguli de recunoaştere a unui nod care nu conţine soluţii admisibile;
• reguli de recunoaştere a nodului final.
Pentru exemplificarea algoritmului, se va enunţa o problemă de
repartiţie, şi anume:
Se consideră o matrice C = (cij )i , j =1,n ale cărei elemente reprezintă,

de exemplu, timpii necesari executării unei lucrări de către Li , pe maşina


Analita economico-matematică a unor modele liniare

M j . O soluţie optimă a acestei probleme constă în determinarea acelei


repartizări la locurile de muncă, ce corespunde unui consum total minim de
muncă.
Ideea de bază a algoritmului: dacă W este mulţimea cuplajelor
maxime corespunzătoare matricei C (matricea poate avea elemente
c pl = ∞ , corespunzătoare situaţiei în care L p nu poate efectua lucrarea pe
M l ) şi w un element al său, atunci funcţia scop va fi:
[min] f = min
w∈W
∑c
( i , j )∈W
ij ,

care este o scriere echivalentă a formei V.6.3. Se va calcula matricea redusă


C R . Pornind de la ea, se va forma o arborescenţă folosind un proces de
ramificare succesivă. Dichotomizarea (ramificarea) de la un nod oarecare al
arborescenţei se va face astfel incât trecerea de la un nod la altul să conducă
la o valoare cât mai mică a funcţiei obiectiv, iar mulţimea cuplajelor
maxime să fie împărţită în două submulţimi disjuncte. La fiecare iteraţie,
matricea îşi va micşora ordinul cu o unitate, deci, după un număr finit de
paşi se va stabili soluţia optimă (cuplajul maxim de valoare minimă).

Algoritmul lui Little poate fi organizat în etape, astfel:


Etapa 1 : Se va determina matricea redusă ce va avea cel puţin un
element egal cu zero pe linie şi pe coloană.
Pasul 1 Din fiecare linie se scade cel mai mic element al său.
C = (cij )i , j =1,n ⇒ C ' = (c'ij )i , j =1,n , unde c'ij = cij − min cij .
j

Pasul 2 Din fiecare coloană a matricii C ' se scade cel mai mic
element al său şi se obtine astfel matricea redusă, notată C R :
( )
C R = cijR i , j =1, n
, unde cijR = c'ij − min c'ij .
i
Problema de transport

Spre exemplificare, vom aplica algoritmul lui Little pentru


problema cu următoarele date:

Mj M1 M2 M3 M4 M 5 M 6 αi
Li
L1 6 7 4 2 5 4 2 α i = min{cij }
j
C 7 1 2 6 3 4 1
L2
L3 4 5 2 7 6 8 2

L4 4 5 6 3 8 7 3
L5 5 5 3 7 5 2 2

L6 6 4 4 3 6 5 3
6

∑αi =1
i 13

M j M1 M 2 M 3 M 4 M5 M6 6

Li
∑β
j =1
j

L1 4 5 2 0 3 2
C' L2 8 0 1 5 2 3
L3 2 3 0 5 4 6

L4 1 2 3 0 5 4
L5 3 3 1 5 3 0

L6 3 1 1 0 3 2

β j = min{c'ij } βj 1 0 0 0 2 0 3
i

M j M1 M 2 M3 M4 M5 M6
Li
L1 3 5 2 0 1 2
L2 7 0 1 5 0 3
CR
L3 1 3 0 5 2 6

L4 0 2 3 0 3 4
L5 2 3 1 5 1 0

L6 2 1 1 0 1 2
Analita economico-matematică a unor modele liniare

Etapa 2: Se construieşte nodul iniţial al arborescenţei, notat E şi se


n n
calculează marginea inferioară ω (E ) = ∑ α i + ∑ β j . Mărimea ω (E ) este
i =1 j =1

considerată ca fiind valoarea minimă posibilă a soluţiei optime (cuplaj


maxim), iar E rădăcina comună tuturor soluţiilor. Nodului E îi corespunde o
mulţime ς a cuplajelor maxime ce se pot forma în condiţiile date.

E → ω (E ) = 16

Figura V.6.1

Etapa 3: Fiecărui element nul cijR din matricea redusă i se asociază numărul

θ ij definit ca suma dintre cel mai mic element al liniei i fără cijR şi cel mai
mic element al coloanei j fără cijR :

θ ij = min{cilR } + min{c kjR } .


l≠ j k ≠i

Cuplul (k , l ) corespunzător valorii θ kl = max{θ ij } este ales astfel


i, j

încât cuplajul maxim care nu conţine arcul (Lk , M j ) are valoarea cea mai
mare.
În cazul nostru,
θ 14 = min{c1Rl } + min{c kR4 } = 1 + 0 , θ 41 = min{c 4Rl } + min{c kR1 } = 0 + 1 ,
l≠4 k ≠1 l ≠1 k ≠4

θ 22 = min{c 2Rl } + min{c kR2 } = 0 + 1 , θ 414 = min{c4Rl } + min{ckR4 } = 0 + 0 ,


l≠2 k ≠2 l ≠4 k ≠4

θ 25 = min{c } + min{c } = 0 + 1 , θ 56 = min{c } + min{c kR6 } = 1 + 2 ,


R
2l
R
k5
R
5l
l ≠5 k ≠2 l ≠6 k ≠5

θ 33 = min{c } + min{c } = 1 + 1 , θ 64 = min{c } + min{c kR4 } = 1 + 0 ,


R
3l
R
k3
R
6l
l ≠3 k ≠3 l ≠4 k ≠6

max{θ ij } = max{θ 14 ,θ 22 ,θ 25 ,θ 33 ,θ 41 ,θ 44 ,θ 56 ,θ 64 } = 3 = θ 56 .
i, j
Problema de transport

Etapa 4: Prin ramificare, din nodul E vor porni două arce cu nodurile
finale notate E kl şi E kl . Nodului E kl îi corespund cuplajele maxime ce nu
conţin arcul (Lk , M l ) . Marginea sa inferioară va fi notată ω (E kl ) , şi se află
astfel:

ω (E kl ) = ω (E ) + θ kl

Etapa 5: Nodului E kl îi coresounde mulţimea cuplajelor maxime care


conţin arcul (Lk , M l ) . Pentru a-i determina marginea inferioară ω (E kl ) , se
parcurg etapele 6 şi 7 după ce se vor tăia din matricea redusă linia k şi
coloana l. Eliminarea lor este justificată de faptul că în fiecare cuplaj nu
intră decât un singur element dintr-o linie şi coloană.

Pentru problema prezentată,

M1 M2 M3 M4 M5
E56
ω (E56 ) = 16 + 3 = 19 L1 3 5 2 0 1
L2 5 0 1 5 0
E
ω (E ) = 16 E56 L3 1 3 0 5 2
L4 0 2 3 0 3
L6 2 1 1 0 1
Figura V.6.2

Etapa 6:
a) Dacă matricea aflată la pasul 5 conţine cel puţin un zero pe linie şi
coloană, se trece la pasul b); dacă nu, se reduce matricea găsită după
procedeul de la pasul 1, apoi se trece la b).
Analita economico-matematică a unor modele liniare

b) Se asociază vârfului E kl marginea inferioară


ω (E kl ) = ω (E ) + ∑ α 'i + ∑ β ' j , unde α 'i , i ≠ k ,
i≠k j ≠l

şi β ' j , j ≠ l , sunt cele mai mici elemente din liniile, respectiv coloanele
matricei de la etapa 5.
În situaţia de faţă, se observă că ∑α '
i ≠5
i = 0 şi ∑β'
j ≠6
j = 0 , deci

matricea nu trebuie redusă, şi ω (E56 ) = ω (E ) = 16 .

Etapa 7: Matricea C ' R este de ordinul 1? Dacă da, algoritmul se opreşte; în


caz contrar, se trece la etapa 8.
Pentru problema noastră, C ' R este o matrice de ordinul 4, deci se
trece la etapa 8.

Etapa 8: Dintre toate nodurile arborescenţei, se consideră cele care nu sunt


( )
noduri iniţiale pentru nici un arc U kl+ = Φ , noduri pe care le vom numi
“suspendate”. Se consideră nodul suspendat căruia îi corespunde cea mai
mică margine inferioară. Dacă sunt egale, se preferă alegerea vârfului E kl
sau se continuă dichotomizarea la ambele noduri. Dacă se alege E kl se trece
la pasul 3, iar dacă se alege E kl se trece la etapa 9.

Revenind la exemplul nostru, se observă că arborescenţa din figura


V.6.2 are două noduri suspendate: E 56 şi E 56 .
min{ω (E56 ), ω (E56 )} = 16 = ω (E56 )
Se trece la etapa 3, deoarece nodul ales este E56 .

Etapa 9: În căsuţa (k , l ) se trece la + ∞ , pentru a evita alegerea arcului


(L , M ) . Se verifică dacă matricea mai are proprietatea că are cel puţin un
k j
Problema de transport

element zero pe limie şi coloană; în caz contrar se reduce, după care se trece
la etapa 3.

În cazul exemplului considerat, algoritmul se continuă prin revenire


la
Etapa 3: Corespunzător elementelor nule din tabelul precedent, se
calculează:
θ 14 = 1 + 0 , θ 25 = 0 + 1 , θ 41 = 1 + 0 , θ 64 = 1 + 0
θ 22 = 0 + 1 , θ 33 = 1 + 1 , θ 44 = 0 + 0
min{θ 14 ,θ 25 ,θ 22 ,θ 33 ,θ 41 ,θ 44 ,θ 64 } = 2 = θ 33

Etapa 4:

( )
E56 ω E56 = 19
( )
E33 ω E33 = 16 + θ 33 = 18

E
ω (E ) = 16 Figura V.6.3

E56 ω (E56 ) = 16 E33

Ramificarea nodului E 56 spre E33 şi E 33 înseamnă crearea a două


submulţimi de cuplaje maxime ℑ33 şi ℑ33 ; ℑ33 conţine arcelor (L5 , M 6 ) şi
nu conţine arce (L3 , M 3 ) , iar ℑ33 conţine arcele (L5 , M 6 ) şi (L3 , M 3 ) .
Analita economico-matematică a unor modele liniare

Etapa 5: Se elimină linia L3 şi coloana M 3 :

T. V.6.1
M1 M2 M4 M5
L1 3 5 0 1
L2 5 0 5 0
L4 0 2 0 3
L6 2 1 0 1

Etapa 6: Se observă că matricea din T.V.6.1 conţine cel puţin un zero în


fiecare linie şi coloană , deci marginea inferioară asociată vârfului E33 va fi
ω (E33 ) = ω (E56 ) + 0 = 16 .

Etapa 7: Matricea aflată la pasul 5 este de ordinul 1? Nu, deci se trece la


etapa 8.

Etapa 8: Vârfurilor suspendate E33 , E 33 le corespund marginile inferioare


18, respectiv 16. Se va alege vârful E33 ca rădăcină a unei noi ramificări.
Se revine la etapa 3:

Etapa 3: În T.V.6.1 sunt şase elemente egale cu zero. Lor le corespund


valorile θ ij :
θ 14 = 1 + 0 , θ 25 = 0 + 1 , θ 44 = 0 + 0
θ 24 = 0 + 1 , θ 41 = 0 + 2 , θ 64 = 1 + 0
min{θ 14 ,θ 24 ,θ 25 ,θ 41 ,θ 44 ,θ 64 } = 2 = θ 41
Problema de transport

Etapa 4:

( )
E56 ω E56 = 19 E33 ω (E33 ) = 18 ( )
E41 ω E41 = 18

E
E56 E33
ω (E56 ) = 16 ω (E33 ) = 16 E56
ω (E56 ) = 16

Figura V.6.4

Etapa 5: Se elimină linia L4 şi coloana M 1 :

M2 M4 M5
L1 5 0 1
L2 0 5 0
L6 1 0 1

Etapa 6: ω (E 41 ) = ω (E33 ) = 16 , deoarece matricea din tabelul anterior este


de tip matrice redusă.

Etapa 7: S-a ajuns la o matrice pătratică de ordinul 1? Nu, deci se trece la


etapa 8.

Etapa 8: min{ω (E 41 ), ω (E 41 )} = ω (E 41 ) = 16 .

Algoritmul continuă prin revenirea la etapa 3:

Etapa 3: Se calculează θ ij corespunzătoare elementelor din ultimul tabel:


θ 22 = 0 + 1 , θ 14 = 1 + 0 ,
θ 25 = 0 + 1 , θ 64 = 1 + 0 .
Analiza economico-matematică a unor modele liniare

Toate valorile θ ij sunt egale; în acest caz, se consideră un θ kl


oarecare sau acela pentru care este adevărată relaţia:
ckl = min{cij } = min{c22 , c25 , c14 , c64 } = min{1,3,2,3} = 1 = c22 .

Etapa 4:

E56 E33 E41


ω (E56 ) = 18 ω (E33 ) = 18 ω (E41 ) = 18 E22
ω (E22 ) = 16 + θ 22 = 17

E
E56 E33 E56 E22
ω (E56 ) = 16 ω (E33 ) = 16 ω (E56 ) = 16 ω (E22 )

Etapa 5: Eliminându-se linia 2 şi coloana 2 se obţine:

M4 M5
L1 0 1

L6 0 1

Etapa 6: În coloana corespunzătoare lui M 5 nu există nici un element egal


cu zero, deci β 1 = 0 , β 2 = 1 . Matricea redusă este de forma:

M4 M5
L1 0 0

L6 0 0
Problema de transport

Marginea inferioară asociată lui E 22 se află adunând la ω (E 41 ) suma


(β 1 + β 2 ) :
ω (E 22 ) = 16 + 1 = 17

Etapa 7: Se trece la etapa 8 deoarece ultima matrice este de ordinul 2.

Etapa 8: min{ω (E 22 ), ω (E 22 )} = 17 = ω (E 22 ) = ω (E 22 ) . Se alege E 22 .

Se revine la

Etapa 3: θ 14 = 0 , θ 15 = 0 , θ 64 = 0 , θ 65 = 0 ⇒
⇒ min{c14 , c15 , c64 , c65 } = min{2,5,3,6} = 2 = c14
Nodul E 22 va fi nod iniţial al acelor cu nodurile finale E14 şi E14 .

Etapa 4:

E33 E41 E22


ω (E33 ) = 18 ω (E41 ) = 18 ω (E22 ) = 17
E56 E41
ω (E56 ) = 18 ω (E41 ) = 17

E
ω (E ) = 16 E56 E33 E56 E22 E14
ω (E56 ) = 16 ω (E33 ) = 16 ω (E56 ) = 16 ω (E22 ) = 17
Analiza economico-matematică a unor modele liniare

Etapa 5: Se elimină linia L1 şi coloana M 4 şi se obţine:

M5
L6 0

Etapa 6: Marginea inferioară asociată lui E14 va fi ω (E14 ) = ω (E 22 ) = 17 .

Etapa 7: Algoritmul se opreşte deoarece matricea obţinută este pătratică, de


ordinul 1. Din nodul E14 se trasează arcul cu nodul final E 65 ce va avea
marginea

ω (E 65 ) = ω (E14 ) + 0 = 17

Cuplajul maxim de valoare minimă egală cu ω (E 65 ) = 17 va fi:

L1 M1
2
2 + 1 + 2 + 4 + 2 + 6 = ω (E65 ) = 17

L2 1 M2

L3 2 M3

4
L4 M4

M5
L5 2

M6
L6 6
Problema de transport

Ca şi în cazul primei variante de rezolvare, în finalul aplicaţiei va fi


sistematizat algoritmul aplicat.
Matricea redusă
ai = min tij
(1) j

⎛ ⎞
b j = min⎜ tij − min tij ⎟
i ⎝ j ⎠

(2) n n
ω (E ) = ∑ a + ∑b
i =1
i
j =1
j

(3) Pt. tij = 0 → θ ij = min tij'' + min tij'' , fără tij'' = 0


j i

θ kl = max θ ij

Ekl → Pkl Ekl → Pkl


(4) (5)
ω (Ekl ) = ω (E ) + θ kl
Se suprimă linia k şi coloana l
T1''

(6)
T1'' are câte un (8)
DA
zero pe fiecare ω (Ekl ) = ω (E )
linie şi coloană?

(7) DA
n × n = 1× 1?
NU
După proc. (1) se formează noi
zerouri
∑ ∑
ω (Ekl ) = ω (E ) + ai + b j
i j ω (Ekl ) < ω (Ekl )
NU

DA
(3)
tij'' = +∞ ⇒ se
formează noi
zerouri
STOP
Analiza economico-matematică a unor modele liniare

Pentru a da posibilitatea cititorului să compare cei doi algoritmi şi


să-i clasifice în raport cu volumul de calcul necesar atingerii soluţiei optime
sau pentru a-l alege pe cel care este cel mai uşor de programat pe calculator,
aceştia vor fi aplicaţi pe acelaşi exemplu.

Aplicaţie Programul de fabricaţie al unei anumite piese este compus din


şase operaţii O1 , O2 ,..., O6 , operaţii ce pot fi efectuate pe şase maşini
M 1 , M 2 ,..., M 6 . Vom nota cu t ij timpul necesar efectuării operaţiei O j pe
maşina M i ; datorită faptului că avem maşini diferite, timpii de execuţiei vor
fi în general diferiţi. Dacă pe o anumită maşină nu se poate executa o
anumită operaţie, atunci convenim ca timpul respectiv să ia valoarea infinit.

Cunoscându-se matricea T = (t ij )i , j a timpilor de execuţie exprimaţi

în unităţi temporale (minute, ore, etc)

Oj O1 O2 O3 O4 O5 O6
Mi
M1 ∞ 4 7 2 6 3

M2 1 3 5 8 5 ∞
M3 6 ∞ 8 5 ∞ 7

M4 5 7 3 ∞ 4 5

M5 4 ∞ 9 7 4 4

M6 3 4 9 3 ∞ 5

se cere să se determine palnificarea operaţiilor pe cele şase maşini, astfel


încât timpul total de prelucrare să fie minim.
Problema de transport

Soluţia 1 Vom utiliza algoritmul ungar.

Etapa 1: Vom căuta să obţinem pe fiecare linie şi coloană cel puţin un zero.
Pentru aceasta, evidenţiem din elementele fiecărei linii, respectiv coloane,
elementul minim corespunzător. Scăzând elementul minim al liniei întâi din
toate elementele liniei întâi, ş.a.m.d până la linia şase, se obţine din matricea
T următoarea matrice:

Pasul 1

α1 = 2 ⎛∞ 2 5 0 4 1 ⎞
⎜ ⎟
α2 =1 ⎜ 0 2 4 7 4 ∞⎟
α3 = 5 ~ ⎜ 1 ∞ 3 0 ∞ 2 ⎟⎟
T =⎜
α4 = 3 ⎜2 4 0 ∞ 1 2⎟
⎜0 ∞ 5 3 0 0⎟
α5 = 4 ⎜ ⎟
α6 = 3 ⎜0 1 6 0 ∞ 2⎟
⎝ ⎠

Întrucât nu am obţinut cel puţin un zero pe fiecare coloană, repetăm


procedeul pentru coloane şi obţinem matricea:
Pasul 2
β1 = 0 ⎛∞ 1 5 0 4 1 ⎞
⎜ ⎟
β2 = 1 ⎜ 0 1 4 7 4 ∞⎟
β3 = 0 ⎜1 ∞ 3 0 ∞ 2⎟
TR =⎜ ⎟
β4 = 0 ⎜2 3 0 ∞ 1 2⎟
⎜0 ∞ 5 3 0 0⎟
β5 = 0 ⎜ ⎟
β6 = 0 ⎜0 0 6 0 ∞ 2⎟
⎝ ⎠
⎛ 6 6 ⎞
Se reţine ⎜⎜ ∑ α i + ∑ β j ⎟⎟ = 19 ca margine inferioară a cuplajului
⎝ i =1 j =1 ⎠
maxim de valoare minimă.
Analiza economico-matematică a unor modele liniare

Etapa 2: Trecem acum la încadrarea zerourilor. Se alege linia cu cele mai


puţine zerouri şi se încadrează unul, iar celelalte situate pe linia şi coloana
zeroului încadrat se barează. Se repetă procedeul până ce toate zerourile sunt
încadrate sau barate:
⎛∞ 1 5 0 4 1 ⎞
⎜ ⎟
⎜ 0 1 4 7 4 ∞⎟
⎜1 ∞ 3 0 ∞ 2⎟
⎜ ⎟
⎜2 3 0 ∞ 1 2⎟
⎜0 ∞ 5 3 0 0⎟
⎜ ⎟
⎜0 0 6 0 ∞ 2⎟
⎝ ⎠

Soluţia nu este optimă deoarece nu avem pe fiecare linie şi fiecare


coloană câte un zero încadrat., altfel spus, numărul zerourilor încadrate este
mai mic decât ordinul matricii.
Etapa 3: Determinarea unui suport minimal.
Trecem la marcarea liniilor şi coloanelor după regulile date de
algoritm: se marchează fiecare linie care nu are nici un zero încadrat,
coloanele cu zero barat pe linii marcate, liniile cu zero încadrat pe coloanele
marcate, ş.a.m.d, până ce nu se mai poate face nici o marcare.
În cazul nostru se marchează linia a treia deoarece nu are nici un
zero încadrat, apoi coloana a patra care conţine un zero barat pe linia
marcată şi, în fine, linia întâi cu zero încadrat pe coloana marcată. Alte
posibilităţi de marcare nu mai sunt.
Problema de transport

Se taie apoi liniile nemarcate şi coloanele marcate, pentru a evidenţia


acoperirea minimală, formată din coloana marcată C 4 şi liniile nemarcate L1
şi L3 :

*
⎛ ∞ 1 5 0 4 1 ⎞*
⎜ ⎟
⎜ 0 1 4 7 4 ∞⎟
⎜ 1 ∞ 3 0 ∞ 2 ⎟*
⎜ ⎟
⎜2 3 0 ∞ 1 2⎟
⎜0 ∞ 5 3 0 0⎟
⎜ ⎟
⎜0 0 6 0 ∞ 2⎟
⎝ ⎠

Etapa 4: Se trece acum la deplasarea zerourilor, considerându-se elementul


minim din elementele libere ale matricii, în cazul nostru, 1.
Acesta se scade din fiecare element de tip T1 , se adună la cele de
tipul T3 (elementele din T2 rămân neschimbate). În urma acestei operaţii, se
obţine matricea de mai jos:

⎛∞ 0 4 0 3 0 ⎞
⎜ ⎟
⎜ 0 1 4 8 4 ∞⎟
⎜0 ∞ 2 0 ∞ 1⎟
⎜ ⎟
⎜2 3 0 ∞ 1 2⎟
⎜0 ∞ 5 4 0 0⎟
⎜ ⎟
⎜0 0 6 1 ∞ 2⎟
⎝ ⎠
Analiza economico-matematică a unor modele liniare

Se revine la etapa 2. După efectuarea operaţiilor specifice acestei etape, se


obţine:

⎛∞ 0 4 0 3 0 ⎞
⎜ ⎟
⎜ 0 1 4 8 4 ∞⎟
⎜0 ∞ 2 0 ∞ 1⎟
⎜ ⎟
⎜2 3 0 ∞ 1 2⎟
⎜0 ∞ 5 4 0 0⎟
⎜ ⎟
⎜0 0 6 1 ∞ 2⎟
⎝ ⎠

Întrucât am obţinut pe fiecare linie şi fiecare coloană câte un zero


încadrat, algoritmul se opreşte. Astfel, afectarea optimă a operaţiilor pe
maşini este:
{(M 1 , O6 ), (M 2 , O1 ), (M 3 , O4 ), (M 4 , O3 ), (M 5 , O5 ), (M 6 , O2 )}
cu timpul total de execuţie
t16 + t 21 + t 34 + t 43 + t 55 + t 62 = 3 + 1 + 5 + 3 + 4 + 4 = 20 unităţi temporale.

Soluţia 2 Se va aplica algoritmul lui Little.


Fie matricea
⎛∞ 4 7 2 6 3 ⎞
⎜ ⎟
⎜ 1 3 5 8 5 ∞⎟
⎜6 ∞ 8 5 ∞ 7⎟
T =⎜ ⎟
⎜5 7 3 ∞ 4 5⎟
⎜4 ∞ 9 7 4 4⎟
⎜ ⎟
⎜3 4 9 3 ∞ 5⎟
⎝ ⎠
care defineşte complet şi unic problema.
Problema de transport

Etapa 1: Matricea redusă a fost obţinută la etapa 1 a algoritmului Kuhn-


Tucker:
⎛∞ 1 5 0 4 1⎞
⎜ ⎟
⎜0 1 4 7 4 8⎟
⎜1 ∞ 3 0 ∞ 2⎟
TR =⎜ ⎟
⎜2 3 0 ∞ 1 2⎟
⎜0 ∞ 5 3 0 0 ⎟⎟

⎜0 0 6 0 ∞ 2 ⎟⎠

Etapa 2:
n n n n
ω (E ) = ∑ ∑
i =1
ai +
j =1
bj = ∑i =1
min tij +
j
∑ min⎛⎜⎝ t
j =1
i
ij
j

− min tij ⎟ = 2 + 1 + 5 + 3 + 4 + 3 + 1 = 19 .

Putem considera rădăcina E a arborescenţei asociată matricii cu valoarea în


vârful E egală cu 19.

E → ω (E ) = 19

Etapa 3: Asociem fiecărui t 'ij = 0 cantitatea


θ ij = min t 'iu + min t ' vj .
u v
t 'iu ≠ t 'ij t 'vj ≠ t 'ij

În cazul nostru, avem:


θ 14 = 1 + 0 = 1 θ 55 = 0 + 1 = 1
θ 21 = 1 + 0 = 1 θ 56 = 0 + 1 = 1
θ 34 = 1 + 0 = 1 θ 61 = 0 + 0 = 0
θ 43 = 1 + 3 = 4 θ 62 = 0 + 1 = 1
θ 51 = 0 + 0 = 0 θ 63 = 0 + 0 = 0 .

Rezultă că max{θ 14 ,θ 21 ,θ 34 ,θ 43 ,θ 51 ,θ 55 ,θ 56 ,θ 61 ,θ 62 ,θ 63 } = θ 43 = 4 .
Analiza economico-matematică a unor modele liniare

Etapa 4: Aşadar, am obţinut vârfurile E43 şi E43 ale arborescenţei, cu


valorile ataşate lor:
ω (E43 ) = ω (E ) + θ 43 = 19 + 4 = 23
ω (E43 ) = 19 + ω (E43 ) = 19 .
Etapa 5:

E 43
ω (E43 ) = 23
E
ω (E ) = 19 E 43
ω (E43 ) = 19

Etapa 6: Deoarece ω (E43 ) = 0 (matricea rămasă din T R , după ce tăiem


linia a patra şi coloana a treia are pe fiecare linie şi coloană cel puţin câte un
zero) se trece la:

⎛∞ 1 5 0 4 1⎞
⎜ ⎟
⎜0 1 4 7 4 8⎟
⎜1 ∞ 3 0 ∞ 2⎟
⎜ ⎟
⎜2 3 0 ∞ 1 2⎟
⎜0 ∞ 5 3 0 0 ⎟⎟

⎜0 0 6 0 ∞ 2 ⎟⎠

Revenind la etapa 3, se calculează:


θ 14 = 1 + 0 = 1 θ 55 = 0 + 4 = 4
θ 21 = 1 + 0 = 1 θ 56 = 0 + 1 = 1
θ 34 = 1 + 0 = 1 θ 61 = 0 + 0 = 0
θ 51 = 0 + 0 = 0 θ 62 = 0 + 1 = 1
θ 63 = 0 + 0 = 0
Problema de transport

Se constată că: max{θ 14 ,θ 21 ,θ 34 ,θ 51 ,θ 55 ,θ 56 ,θ 61 ,θ 62 ,θ 63 } = θ 55 = 4 .


Deci,
ω (E55 ) = ω (E43 ) + θ 55 = 19 + 4 = 23 ,
ω (E55 ) = ω (E43 ) + ω (E55 ) = 19 + 1 = 20 ,
deoarece ω (E55 ) = 1 (matricea rămasă după ce s-au tăiat linia a cincea şi
coloana a cincea nu are zero pe coloana şase, însă, scăzând 1 din elementele
coloanei şase, obţinem pe toate liniile şi coloanele rămase cel puţin câte un
zero).

⎛∞ 1 5 0 4 1⎞
⎜ ⎟
⎜0 1 4 7 4 8⎟
⎜1 ∞ 3 0 ∞ 2⎟
⎜ ⎟
⎜2 3 0 ∞ 1 2⎟
⎜0 ∞ 5 3 0 0 ⎟⎟

⎜0 0 6 0 ∞ 2 ⎟⎠

Scăzând din elementele coloanei şase (cele netăiate) valoarea 1, se obţine


matricea

⎛∞ 1 5 0 4 0⎞
⎜ ⎟
⎜0 1 4 7 4 7⎟
⎜1 ∞ 3 0 ∞ 1⎟
⎜ ⎟.
⎜2 3 0 ∞ 1 2⎟
⎜0 ∞ 5 3 0 0 ⎟⎟

⎜0 0 6 0 ∞ 1 ⎠⎟

Analiza economico-matematică a unor modele liniare

Calculând mai departe, se obţin valorile:


θ 14 = 0 + 0 = 0 θ 34 = 1 + 0 = 1
θ 16 = 1 + 0 = 1 θ 61 = 0 + 0 = 0
θ 21 = 1 + 0 = 1 θ 62 = 0 + 1 = 1
θ 64 = 0 + 0 = 0
cu
⎧θ 16
⎪θ

max{θ 14 ,θ 16 ,θ 21 ,θ 34 ,θ 55 ,θ 61 ,θ 62 ,θ 64 } = 4 = ⎨ 21
⎪θ 34
⎪⎩θ 62

Alegem ca valoare maximă (care nu este unică) pe θ 16 . Atunci,


ω (E16 ) = ω (E55 ) + θ16 = 20 + 1 = 21 ,
ω (E16 ) = ω (E55 ) + ω (E16 ) .

Din matricea

⎛∞ 1 5 0 4 0⎞
⎜ ⎟
⎜0 1 4 7 4 7⎟
⎜1 ∞ 3 0 ∞ 1⎟
⎜ ⎟
⎜2 3 0 ∞ 1 2⎟
⎜0 ∞ 5 3 0 0 ⎟⎟

⎜0 0 6 0 ∞ 1 ⎟⎠

rezultă că ω (E16 ) = 0 (matricea rămasă după tăiere are pe fiecare linie şi


fiecare coloană cel puţin un zero), şi, prin urmare, ω (E16 ) = 20 .
Problema de transport

Corespunzător noii matrice, avem:


θ 21 = 1 + 0 = 1 θ 61 = 0 + 0 = 0
θ 34 = 1 + 0 = 1 θ 62 = 0 + 1 = 1
θ 64 = 0 + 0 = 0
⎧θ 21

de unde max{θ 21 ,θ 34 ,θ 61 ,θ 62 ,θ 64 } = 1 = ⎨θ 34 .
⎪θ
⎩ 62
Alegem ca valoare maximă pe θ 21 şi atunci
ω (E21 ) = ω (E16 ) + θ 21 = 20 + 1 = 21 ,
ω (E21 ) = ω (E16 ) + ω (E21 ) = 20 ,
pentru că ω (E21 ) = 0 .

Rezultă matricea

⎛∞ 1 5 0 4 0⎞
⎜ ⎟
⎜0 1 4 7 4 7⎟
⎜1 ∞ 3 0 ∞ 1⎟
⎜ ⎟
⎜2 3 0 ∞ 1 2⎟
⎜0 ∞ 5 3 0 0 ⎟⎟

⎜0 0 6 0 ∞ 1 ⎟⎠

Calculăm iarăşi
θ 34 = ∞ , θ 62 = ∞ , θ 64 = 0 + 0 = 0 .

Alegem ca valoare maximă pe θ 34 şi găsim că

ω (E34 ) = ω (E21 ) + θ 34 = ∞ ,
ω (E34 ) = ω (E21 ) + ω (E34 ) = 20 ,
Analiza economico-matematică a unor modele liniare

deoarece, după ce am suprimat şi linia a treia şi coloana a patra, am ajuns la


matricea cu o linie şi o coloană, cu elementul înscris zero. Prin urmare, am
obţinut arborescenţa:

E43
ω (E43 ) = 23 E55
E16
E21
ω (E16 ) = 21
E34
ω (E55 ) = 23 ω (E21 ) = 21 ω (E ) = 23
(23) 34
(23) (23) (23)
(23)

E62
ω (E62 ) = 20
E E43 E16 E21
E55 E34
ω (E ) = 19 ω (E43 ) = 19 ω (E ) = 20 ω (E16 ) = 20 ω (E21 ) = 20 ω (E34 ) = 20
55

din care citim soluţia optimă (afectarea – repartizarea - optimă a operaţiilor


pe maşini):
{(M 1 , O6 ), (M 2 , O1 ), (M 3 , O4 ), (M 4 , O3 ), (M 5 , O5 ), (M 6 , O2 )} ,
cu timpul total de execuţie t tot = 20 unităţi temporale.

Observaţie: Din faptul că la ultimele trei etape max{θ ij } nu este unic


i, j
t 'ij = 0

determinat, s-ar părea că soluţia nu este unic determinată. Se constată,


totuşi, că valorile θ ij ce realizează maximul au indici care intră în soluţia
optimă şi, deci, avem soluţie unică. Acest lucru rezultă şi din calculul direct,
luînd în consideraţie toate variantele posibile constatăm că, în final, obţinem
aceeaşi afectare optimă pentru fiecare din cazuri.

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