Documente Academic
Documente Profesional
Documente Cultură
27 Transport
27 Transport
92
Programarea liniar
Destinaii
C1
Surse
F1
c11
F2
c21
C2
Cn
c12
c22
c1n
c2n
A1
A2
Fm
cm1
cm2
cmn
B1
B2
Bm
Am
disponibil
necesar
Dac notm cu xij cantitatea care va fi transportat de la sursa i la destinaia j atunci avem de
rezolvat problema:
min f
i 1
j1
ij
x ij
ij
Ai
i 1,..., m
ij
Bj
j 1,..., n
j1
m
i 1
x ij 0
i 1,..., m; j 1,..., n
disponibil total =
Ai
i 1
De asemenea, condiia ca
i 1
x ij
x ij
i 1 j1
= cerere total
j1
Ai
j1
Ai B j
m
i 1
n alt ordine de idei, chiar dac disponibilul total este mai mare dect cererea total, este
clar c se va transporta doar necesarul, deoarece transportarea unei cantiti mai mari dect
necesarul va duce la un cost suplimentar, n contrast cu scopul urmrit. Matematic, unei soluii n
care una din ultimele n restricii ar fi verificat strict, i corespunde o soluie n care am sczut
cantitatea suplimentar din valorile variabilelor implicate n restricie, care este de asemenea
admisibil (aceste variabile nu apar n alte restricii dintre ultimele n, iar primele m vor fi cu att
mai mult verificate dac xij scad) i care este evident mai bun, dnd un cost mai mic.
n concluzie, dac exist soluie optim, se va transport exact cantitatea cerut.
Totui, n practic se poate ntlni oricare din cele trei cazuri:
m
(1)
Ai
i 1
j1
i 1
j1
(2) A i B j
m
(3)
i 1
Ai
j1
93
Ai
i 1
j1
tipul (3).
Analog, n al treilea caz, chiar dac disponibilul este mai mic dect necesarul, nu nseamn
c nu se va mai transporta nimic, ci doar c unora dintre consumatori nu li se va satisface toat
cererea. Aceast cerere nesatisfcut poate fi privit ca disponibilul unui furnizor fictiv i innd
cont c, de fapt, aceast cantitate nu exist, costurile unitare pe rutele care ar lega consumatorii de
n
j1
Bj
, vom
i 1
A x B
i
ij
i 1
i 1 j1
, n contradicie cu
j1
A B
i
i 1
j1
iar dac mcar una din ultimele n restricii ar fi verificat cu ">" atunci am avea prin nsumare:
m
A x B
i
ij
i 1
i 1 j1
, n contradicie cu
j1
A B
i
i 1
j1
min f
i 1
j1
ij
x ij
ij
Ai
i 1,..., m
j1
m
unde
ij
Bj
j 1,..., n
i 1
Ai
j1
i 1
x ij 0
i 1,..., m; j 1,..., n
Programarea liniar
motiv este natural s cutm un algoritm special pentru problema de transport care s se foloseasc
la maximum caracteristicile acesteia.
Pentru ilustrarea celor de mai vom scrie matricea A desfurat:
1
0
0
1
0
0
0
m linii
n linii
1
0
0
0
1
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
1
0
0
0 0
1 1
0 0
0 0
1 0
0 1
0n coloane
0
0 0 0
0
1 0 0 0
0
1 1 1
0
1 0 0
0
0 1 0
0 0 0 1
1
0 n0coloane
0
0
0
1
0
0
0
m ori
n coloane
Aceast matrice are m + n linii, mn coloane i deci (m + n)mn componente din care doar
2mn sunt 1, restul fiind 0. O problema cu 50 furnizori i 50 consumatori va avea doar un procent de:
2 50 50
50 50 50 50
Observnd c suma primelor m linii minus suma ultimelor n este 0, rezult c liniile matricii
sunt liniar dependente, deci rangul lui A este mai mic dect m + n. Se poate gsi ns un minor de
dimensiune m + n 1 cu determinantul diferit de 0 (cititorul l poate gsi singur), deci o baz a unei
probleme de transport are dimensiunea m+n1 i o soluie de baz are cel mult m+n1 componente
diferite de 0 (o soluie nedegenerat are deci m+n1 componente diferite de 0). Preferarea
soluiilor nedegenerate se face din acelai motiv ca i la algoritmul simplex i anume evitarea
ciclrii (la problema de transport este mult mai important acest aspect deoarece soluiile de baz ale
acesteia sunt, n general, puternic degenerate).
nainte de a da algoritmul pentru rezolvarea problemei de transport, trebuie remarcat c ntro problem de transport nu poate aprea dect varianta de optim finit, existnd ntotdeauna soluii
admisibile (aa cum s-a demonstrat mai sus) iar minimul nu este posibil, innd cont c avem de
minimizat o funcie liniar cu toi coeficienii pozitivi pe o mulime de soluii cu toate
componentele pozitive.
Ca i n algoritmul simplex, rezolvarea problemei de transport se face n dou etape:
Etapa 1. Gsirea unei soluii iniiale de baz
Deoarece fiecare variabil corespunde unei rute (este cantitatea transportat pe aceast rut)
iar fiecare rut corespunde unei perechi furnizor-consumator, vom identifica fiecare variabil x ij cu
ruta (i,j). A gsi o soluie de baz nedegenerat este echivalent cu a gsi cel mult m+n1 rute, din
cele mn posibile, pe care s transportm toat cantitatea disponibil. Rutele vor fi organizate ntr-un
tabel asemntor celui n care sunt organizate datele problemei, fiecrei rute corespunzndu-i o
csu (i,j):
Destinaii
C1
Surse
F1
C2
Cj
ruta (i,j)
Cn
A1
95
A2
Fi
Ai
Fm
Am
disponibil
necesar
B1
B2
Bj
Bm
Spre deosebire de algoritmul simplex, gsirea unei soluii iniiale de baz nu este dificil. De
fapt, este att de uor de gsit o astfel de soluie, nct exist o multitudine de metode n acest scop,
care ncearc nu numai gsirea acesteia, ci chiar gsirea uneia ct mai bun. Vom expune dintre
acestea:
1.
2.
3.
4.
5.
Pasul 2. Se transport pe aceast rut maximul posibil. Acest maxim este egal cu minimul dintre
cantitatea care mai e disponibil la furnizorul corespunztor acestei rute i cantitatea care
mai e necesar la consumatorul corespunztor rutei, n momentul alegerii acestei rute. Se
transport n acest fel pentru ca s se foloseasc ct mai puine rute i deci s se obin o
soluie de baz.
Pasul 3. Dup folosirea unei rute este clar c fie se epuizeaz disponibilul furnizorului corespunztor, fie se asigur ntregul necesar al consumatorului corespunztor, fie ambele. Dac se
epuizeaz disponibilul furnizorului este clar c nici o rut care pleac de la acesta nu va
mai fi folosit i analog, dac se asigur ntregul necesar al consumatorului, nici o rut
spre acesta nu va mai fi folosit. Rutele care nu vor mai fi folosite se numesc rute blocate,
96
Programarea liniar
sunt cele nefolosite nc de pe linia sau /i coloana ultimei rute folosite i se evideniaz n
tabel prin haurarea acestora.
Pasul 4. Se alege urmtoarea rut, folosind regula:
Metoda nord vest;
Pasul 5. Se reia algoritmul de la pasul 2 pn cnd nu mai rmne nici o rut nefolosit sau
neblocat.
Se observ c, dac prima metod este pur geometric, neinnd cont de costurile rutelor,
toate celelalte ncearc s micoreze ct mai mult costul ntregului transport. Cu toate c, statistic
vorbind, ultima metod este cea mai bun, ea dnd de foarte multe ori chiar soluia optim, totui i
existena celorlalte metode este justificat de faptul c sunt mai simplu de aplicat i exist cazuri n
care fiecare d soluia cea mai bun.
Etapa 2. Gsirea soluiei optime
Algoritmul care urmeaz reprezint algoritmul simplex pentru o problem de minim, aplicat
n cazul particular al problemei de transport.
Pasul 1. Se asociaz fiecrui furnizor Fi o variabil ui i fiecrui consumator Cj o variabil vj;
Pasul 2. Fiecrei rute (i,j) folosit n soluia actual i se asociaz ecuaia u i + vj = cij, rezultnd un
sistem cu m + n necunoscute (m de ui i n de vj) i m + n 1 ecuaii (egal cu rangul
matricii A);
Pasul 3. Se gsete o soluie particular a acestui sistem, egalnd una din necunoscute cu 0 (pe cea
care apare de cele mai multe ori);
Pasul 4. Se calculeaz toi ij = ui + vj cij pentru toate rutele care nu fac parte din soluie (ceilali
sunt 0, innd cont de felul cum au fost gsii ui, i = 1,...,m i vj, j = 1,...,n)
Pasul 5. Se analizeaz ij gsii.
dac toi sunt mai mici sau egali cu 0 soluia gsit este optim STOP
dac exist ij strict pozitivi atunci soluia actual nu este optim i ruta
corespunztoare lui ij maxim va fi cea care intr n baz (dac maximul este multiplu
se ia una la ntmplare)
Pasul 6. Se construiete un circuit, pornind din aceast rut, trecnd doar prin rutele soluiei,
mergnd doar pe vertical sau orizontal i fiecare trecere de la o rut la alta fcndu-se
97
Programarea liniar
valorilor). Dac, la un moment dat, prin anularea unui parametru introdus, soluia rmne
nedegenerat, acesta va fi anulat.
Exemplu: Presupunem c n rezolvarea problemei:
F1
F1
F1
F1
F1
F1
F1
F1
F1
C1
C2
C3
C4
C5
C6
C7
C8
C9 C10 C11 C12
2
4
5
3
7
8
9
3
5
7
3
8
3
5
6
7
5
4
3
5
5
6
3
6
2
4
5
3
6
7
4
5
7
4
6
7
3
4
2
6
8
4
6
7
4
7
8
3
3
5
6
4
7
8
3
5
6
9
3
6
2
4
6
3
7
8
9
4
6
2
4
2
3
5
2
6
7
8
9
5
3
6
7
3
9
4
5
3
6
2
7
8
9
4
7
5
8
3
4
2
6
3
7
8
3
7
4
8
800 300 600 400 500 200 700 300 200 600 600 500
1000
700
400
900
400
400
700
400
800
C2
C3
C4
C5
200 500
C6
C7
200
C8
C9
C10
C11
C12
900
700
300
500
800
200
800
1000
400
400
100
300
400
300
100
400
100
300 400
400
300
700
400 300 200 200 500 600 700 500 600 600 800 300
200
500
care este dublu degenerat. Aceasta nseamn c mulimea furnizorilor i consumatorilor pot fi
partiionate fiecare n trei grupe. Pentru a le gsi vom porni de la un furnizor, vom gsi consumatorii
care se aprovizioneaz de la acesta, apoi furnizorii care aprovizioneaz aceti consumatori i tot aa
pn vom gsi prima grup din fiecare (furnizori i consumatori). Pentru cei rmai din fiecare vom
continua procedeul pn vom gsi toate grupele.
n cazul nostru pentru F1 gsim consumatorii C4, C5 i C7, pentru acetia furnizorii F5 i F8,
pentru acetia noul consumator C12 i am gsit prima grup:
consumatorii {C4, C5, C7, C12} se aprovizioneaz de la furnizorii {F1, F5, F8}
Apoi, pentru F2 gsim consumatorii C3 i C10, pentru acetia furnizorul F7, pentru acesta noul
consumator C6, pentru acesta noul furnizor F3, pentru acesta noul consumator C8 i am gsit a doua
grup:
consumatorii {C3, C6, C8, C10} se aprovizioneaz de la furnizorii {F2, F3, F7}
A treia grup va fi, evident: {C1, C2, C9, C11} se aprovizioneaz de la furnizorii {F4, F6, F9}
Conform regulii de perturbare, vom alege o rut corespunztoare unui furnizor din prima
grup i unui consumator din a doua, de exemplu (5,6) i o rut corespunztoare unui furnizor din a
doua grup i unui consumator din a treia, de exemplu (3,9) i vom aduga la furnizorul F 5 i
consumatorul C6 cantitatea suplimentar iar la furnizorul F3 i consumatorul C9 cantitatea
suplimentar , cu < de exemplu, obinnd problema perturbat:
C1
F1
F2
F3
F4
F5
F6
C2
C3
C4
C5
200 500
C6
C7
200
C8
C9
200
C11
500
300
500
200
800
100
C10
400
300
99
C12
900
700
800+
1000
400+
400
300
100
100
300
400
300
400 300 200 200 500 600 700 500 600 600 800 300
+
+
400
400
700
100
Programarea liniar
Condiiile ca fiecare lucrare s fie repartizat unui muncitor precum i condiia ca fiecare
muncitor s primeasc o lucrare se traduc prin restriciile:
ij
1 1 i n
ij
1 1 j n
j1
m
i 1
(min) f =
ij
x ij
i 1 j1
Modelul rezultat difer de modelul problemei de transport echilibrate prin condiia impus
variabilelor de a fi doar 0 sau 1 (variabile bivalente). Totui rezolvarea sa se poate face cu
algoritmul de la problema de transport, ns ea este greoaie, datorit faptului c soluiile de baz ale
acestei probleme sunt puternic degenerate. Exist metode mai eficiente de abordare a problemei
afectrii, bazate pe teoria grafurilor.
4. Problema ncrcrii utilajelor
Fcnd parte din acelai cadru al programrii operative a produciei, problema ncrcrii
utilajelor (punctelor de lucru) ocup a poziie central. Aceast problem poate fi formulat astfel:
"ntr-o secie a unei uniti economice se produc reperele (bunurile) P1, P2, ..., Pn care pot fi
realizate pe oricare din utilajele (grupele de utilaje) Ul,U2,...,Um. Se cunosc urmtoarele date:
cantitile N1, N2,...,Nn din reperele date, care trebuie produse ntr-o anumit perioad;
fondurile de timp disponibil F1, F2,...,Fm ale utilajelor, n perioada respectiv;
cantitatea Pij din reperul Pj ce poate fi produs pe utilajul U i ntr-o anumit perioad de
timp;
costul cij al realizrii unei uniti specifice din reperul Pj pe utilajul Ui.
Se dorete gsirea acelui mod de repartizare a sarcinilor de producie pe utilaje astfel nct
costul realizrii cantitilor planificate s fie minim."
Modelul matematic asociat acestei probleme este:
101
min f
ij
x ij
i 1 j1
x ij Fi
Nj
j1
m
1 i m
ij
ij
1 j n
i 1
x ij 0
unde xij reprezint cantitatea de repere Pj ce urmeaz a fi realizat pe utilajul Ui. Modelul este
asemntor modelului problemei de transport, pentru rezolvare putndu-se folosi algoritmul de la
problema clasic de transport, cu unele modificri dictate de prezena "ponderilor" Pij.
5. Problema de transport a lui Koopmans
Aceast problem este, istoricete vorbind, anterioar problemei clasice de transport i de ea
s-a ocupat pentru prima oar T. C. Koopmans.
Problema se refer la la transportul materialelor de rzboi, efectuate n perioada celui de-al
doilea rzboi mondial, din S.U.A. n Anglia i retur. ntruct cantitile de produse transportate n
cele dou sensuri erau diferite, navele circulau de multe ori goale sau incomplet ncrcate. Avnd n
vedere i faptul c transporturile pe mare ale aliailor se aflau sub ameninarea submarinelor i a
aviaiei germane se punea problema asigurrii unei asemenea utilizri a mijloacelor de transport
nct s se reduc la minimum capacitatea de transport neutilizat (msurat n tone-kilometri) i,
implicit, s se reduc pierderile de nave.
Dei problema de transport a lui Koopmans a avut un caracter tactico-militar, ea poate fi
considerat - dup cum a fcut mai trziu nsui Koopmans - i ca o problem economic.
Economic vorbind, reducerea capacitii de transport neutilizate a navelor mrete rentabilitatea
transporturilor maritime. Firete c am putea aplica o soluie optim a acestei probleme pe plan
mondial numai n cazul n care ar exista o form oarecare de administrate internional a navelor i
de dirijare a transporturilor maritime. Totui, se poate vedea c modelul lui Koopmans poate s-i
gseasc aplicarea nu numai la transportul maritim, ci i n transportul feroviar, n cel auto, precum
i n alte domenii similare.
Matematic, aceast problem se poate formula astfel:
"Fie n porturi din care se expediaz i n care sosesc ncrcturi. Notm cu w i un volum dat
de mrfuri expediate (exprimate, de pild, n tone), iar cu p i - un volum dat de mrfuri care se aduc
n decursul unei anumite perioade n portul i (i = 1, 2,..., n). Se cunosc distanele s ij dintre porturi
(exprimate, de pild, n kilometri), acestea fiind date n matricea:
0 s12 s1n
s
s
21
2n
S=
s n1 s n2 0
Dac xij reprezint volumul efectiv de mrfuri care urmeaz s fie transportate din portul i n
portul j, iar yij - capacitatea de ncrcare a vaselor care circul din portul i in portul j date, de
asemenea, sub forma unor matrici:
102
Programarea liniar
0 x 12 x 1n
x
x
21
2n
X=
x n1 x n2 0
0 y12
y
0
Y = 21
y n1 y n2
y 1n
y 2n
atunci necunoscutele problemei sunt mrimile yij (i,j = 1, 2,..., n), adic capacitile de ncrcare a
navelor ce vor fi trimise din portul i n portul j.
Funcia obiectiv f va stabili mrimea "transporturilor goale", adic mrimea tonajului
neutilizat al navelor. Mrimea tonajului neutilizat pe traseul dintre portul i i portul j va fi (y ij xij),
deci mrimea capacitii de transport neutilizate pe toate traseele (n tone kilometri) va reprezenta:
n
f=
s y
ij
ij
x ij
i 1 j1
j1
n
y ij p j 1 j n
i 1
Primele n ecuaii arat c tonajul total al navelor trimise dintr-un port oarecare i n toate
celelalte porturi trebuie s fie egal cu wi iar ultimele n c tonajul total al navelor sosite ntr-un port
oarecare j din toate celelalte porturi trebuie s fie egal cu pj.
Trebuie menionat c - ntocmai ca n problema de transport - dintre cele n + n ecuaii de
n
echilibru, numai (2n - 1) ecuaii sunt independente. Aceasta se explic prin faptul c
i 1
wi
j1
adic tonajul total al navelor care pleac din toate porturile este egal cu tonajul total al navelor care
sosesc n toate porturile. ntruct problema are (n2 n) necunoscute yjj (i,j = l, 2,...,n), dar exist 2n
1 ecuaii de echilibru independente, numrul gradelor de libertate (numrul variabilelor
secundare) va fi (n2 n) (2n 1) = n2 3n + 1.
n afar de relaiile de echilibru exist i condiiile de nenegativitate:
yij xij 0
condiia yij xij nseamn c tonajul vaselor care pleac din portul i spre portul j trebuie s fie mai
mare sau egal cu cantitatea de mrfuri care urmeaz a fi transportat pe acest traseu."
Aceasta este formularea matematic a modelului lui Koopmans. Din aceast formulare se
vede c modelul lui Koopmans este o problem de programare liniar, deoarece att funcia
obiectiv, ct i ecuaiile de echilibru sunt relaii liniare n raport cu necunoscutele y ij. Aceast
problem poate fi uor transformat ntr-un model de programare neliniar dac, de pild, n locul
distanei sij ntre porturi, introducem cheltuielile de transport cu meniunea c aceste cheltuieli nu
cresc direct proporional, ci mai lent dect distanele. Aceasta problem poate fi uor nlocuit
printr-o problem dual, lund ca funcie obiectiv rentabilitatea total a tuturor transporturilor pe
plan mondial. n acest caz, problema de minimizare a tonajului neutilizat al navelor ar fi nlocuit
printr-o problem de maximizare a rentabilitii totale a transporturilor.
103