Documente Academic
Documente Profesional
Documente Cultură
MN 14
MN 14
B1
B2
....
Bn
disponibil
A1
c11
c12
....
c1n
a1
A2
c21
:
cm1
c22
:
cm 2
....
:
....
c2n
:
cmn
a2
:
am
b1
b2
....
bn
Bj
Ai
:
Am
necesar
i 1
j 1
i 1
j 1
coloana, adica un centru fictiv de consum Bn 1 , care sa absoarba diferenta, iar toate
costurile unitare de transport pentru acest centru sunt nule.
3) Daca
i 1
j 1
linie, adica un depozit fictiv Am 1 , avand diferenta de resursa, iar toate costurile unitare
de transport de la acest depozit sunt nule.
Obiectivul problemei este minimizarea cheltuielilor totale de transport si a
penalitatilor platite consumatorilor.
Vom nota cu xij cantitatea de produs ce se transporta din depozitul Ai spre
consumatorul B j . Pentru calcularea cheltuielilor totale de transport, trebuie facuta suma
produselor dintre cantitatile xij expediate de la sursa Ai la destinatia B j si costurile unitare de
transport cij .
min(
cij xij )
i 1 j 1
n
xij ai , i 1, m
(1) j 1
,
m
xij b j , j 1, n
i 1
xij 0, i 1, m, j 1, n
si este caracterizat de urmatoarele:
- este un model de programare liniara cu m+n restrictii si m*n variabile;
-
i 1
j 1
ai b j ceea ce
Metoda coltului de nord-vest: Regula dupa care se decide intrarea in baza a variabilelor este
ca la fiecare pas al algoritmului intra in baza variabila situata in casuta din coltul de N-V al
tabelei. Metoda nu tine seama de costurile unitare de transport, ci numai de cantitatile
disponibile si necesare.
Metoda elementului minim pe matrice: La fiecare pas al algoritmului intra in baza variabila
x pq daca c pq min cij . Rezulta de cele mai multe ori solutii initiale mai bune, cu costuri
i, j
totale de transport mai mici, decat cele obtinute prin metoda coltului de N-V. Daca la un
moment dat exista doua sau mai multe casute carora le corespunde acelasi cost unitar minim
de transport, o vom completa pe aceea pentru care cantitatea ce urmeaza a fi trnsportata este
mai mare.
Metoda elementului minim pe coloana: Incepand cu prima coloana intra in baza variabila x p1
daca c p1 min ci1 pana se satisface intreaga cerere a primului centru consumator. Se trece la
i
coloana a doua. Din coloana j intra in baza variabila x pj pentru care c pj min cij .
i
sup(
a
u
bjv j )
i i
i 1
j 1
ui v j cij
(2)
i 1, m , j 1, n
ui , v j oarecare
Introducand variabilele ecart de compensare, pentru a transforma inegalitatile in egalitati, in
cele m*n restrictii ale dualei si presupunand ca X este o solutie admisibila de baza
nedegenerata a modelului primal, atunci din teorema ecarturilor complementere, variabilele
ecart din modelul dual ce corespund variabilelor strict pozitive din modelul primal, trebuie sa
fie nule, deci variabilele duale verifica sistemul de ecuatii: ui v j cij . Acesta este un sistem
nedeterminat de m+n-1 ecuatii cu m+n necunoscute, care se rezolva atribuind unei variabile o
valoare arbitrara dupa care rezolvarea sistemului va conduce la solutia modelului dual.
Criteriul de introducere a unui vector in baza: A introduce un vector in baza inseamna a face o
casuta care este libera in vechea solutie admisibilade baza sa devina casuta ocupata in noua
soluite admisibila de baza, imbunatatita.
Criteriul de eliminare a unui vector din baza: Se scrie mai intai in matricea ce continea vechea
solutie, o valoare (nedeterminata) in casuta ce urmeaza a fi ocupata, apoi pornind din
aceasta casuta se determina un circuit ale carui varfuri se afla numai in casute ocupate si care
merge alternativ pe linii si coloane. Varfurile se marcheaza cu +,-,+,-,...incepand cu cu casuta
in care am trecut , indiferent de sensul de parcurgere ales. Se determina valoarea lui ca
fiind egala cu cea mai mica valoare marcata cu -, pentru ca noua solutie sa aiba tot
componente nenegative. Valoarea se aduna la toate componentele solutiei marcate cu + si
se scade din toate componentele marcate cu -, celelalte componente ramanand neschimbate.
Componenta care a devenit zero iese din baza. Se obtine o noua solutie admisibila de baza,
mai buna decat precedenta.
Exemplu:
A1
B1
8
B2
3
B3
5
B4
2
10
A2
15
A3
25
10
20
15
50
5
5
10
10 15
10 20 15
5 10 0
0 0
5
0
10 5 0
15 10 0
25 15 0
50
Putem calcula la acest moment costul pentru cazul solutiei initiale de baza:
CI 5 8 5 3 5 1 10 6 10 4 15 3 205
3) Se rezolva sistemul liniar ui v j cij pentru casutele ocupate, dand uneia dintre
variabile o valoare arbitrara, de obicei se considera u1 0 si se determina celelalte.
u1
v1
v2
5
5
u2
u3
5
v3
v4
10
10
15
10 15
25
10 20 15
50
u1 v4 c14 5 x14
u2 v1 c21 2
u2 v4 c24 2
u3 v1 c31 2
u3 v2 c32 10
Deci, pe pozitia (1,4) se trece + si de aici se incepe formarea circuitului, x14 va fi noua
varibila de baza si prin constructia circuitului vom vedea care valoare iese din baza.
u1
v1
v2
5
5
u2
u3
5
v3
v4
+
10
10
15
10 15
25
10 20 15
50
5+
5+ 1010+ 15-
6) Pentru celulele marcate cu se se determina cea mai mica valoare trecuta in aceste
casute, adica min(5,10,15)=5 si astfel se obtine 5 .
7) Noua solutie de baza se obtine scazand din cantitatile casutelor marcate cu si
adunand la cantitatile casutelor notate cu + si avem noul tabel:
5
10 5
15 10
u1 v4 2
u2 v2 1
u2 v3 6
v4 2
u3 1
v3 3
u3 v3 4
u2 3
u3 v4 3
v2 2
4) Se calculeaza diferentele:
u1 v2 c12 5
u1 v3 c13 2
u2 v1 c21 7
u2 v4 c24 2
u3 v1 c31 8 x31
5
10 5
15 10
u3 v2 c32 10
x31 intra in baza
5) Circuitul +,5,5,10
5-
5+
10 5
15 10-
6) min(5,10) 5 .
7) Noua solutie:
10
10 5
15 5
CIII 10 2 10 1 5 6 5 1 15 4 5 3 140
8) Repetam algoritmul:
3) Rezolvam sistemul:
u1 v4 2
u1 0 v4 2
u2 v2 1
v2 2
u2 v3 6
u3 v1 1
u2 3
v1 0
u3 v3 4
v3 3
u3 v4 3
u3 1
u1 v1 c11 8 0
u1 v2 c12 5 0
u1 v3 c13 2 0
4) Se calculeaza diferentele:
u2 v1 c21 1 0
u2 v4 c24 8 0
u3 v2 c32 10 0
Se observa ca toate diferentele sunt negative, atunci putem spune ca ultimul cost este costul
optim, deci CIII 140 si se obtine pentru:
x14 10
x22 10
x23 5
x31 5
x33 15
x34 5
Tema:
A1
B1
3
B2
5
B3
9
B4
2
B5
18
A2
22
A3
20
25
60
15 12