Documente Academic
Documente Profesional
Documente Cultură
Aj
Ri
R1
R2
.
.
.
Ri
.
.
.
Rn
A1 A2
c11
c21
.
.
.
ci1
.
.
.
cn1
...
Aj
An
c12 .. c1j ..
c22 .. c2j ..
c1n
c2n
Aj
Ri
R1
R2
.
.
.
Ri
.
.
.
Rn
A1 A2
x11
x21
.
.
.
xi1
.
.
.
xn1
...
Aj
An
xi2 .. xij
xin
Convenim ca variabilele fixate s poat lua valori egale cu 0 sau cu 1, astfel nct:
x ij 1
xij 0
Faptul c resursele R1,...,Rn sunt afectate unei singure activiti, se pot scrie urmtoarele egaliti:
...................................
x n1 x n 2 .... x nn 1
Se observ c egalitatea nu poate avea loc dect dac un termen este egal cu 1 iar toi ceilali
sunt egali cu zero.
n
x
j 1
ij
1,
i 1, n
Restriciile care impun ca fiecrei activiti s-i fie repartizat o singur resurs sunt:
x11 x 21 ..... x n1 1
x x .... x 1
12
22
n2
...................................
x1n x 2 n .... x nn 1
n
x
i 1
ij
1,
j 1, n
Z (c11 x11 c12 x12 .... c1n x1n ) (c 21 x 21 c 22 x 22 .... c 2 n x 2 n ) ..... (c n1 x n1 c n 2 x n 2 .... c nn x nn )
n
cij xij
i 1 j 1
Observaie. Aceast sum se reduce la suma acelor costuri C ij care corespund la valori xij 1 .
Modelul matematic al problemei de afectare va fi:
opt Z
c
i 1 j 1
ij
xij
ij
1,
i 1,2,..., n
ij
1,
j 1,2,..., n
x 0,1 ,
ij
i 1,2,..., n,
j 1
i 1
j 1,2,..., n
n repartizarea sarcinilor pe executani se folosete algoritmul ungar al lui EgervahryKuhn, utilizat ndeosebi pentru determinarea unui cuplaj maxim ntr-un graf corespunztor unui
cost total minim. Aplicat eficientizrii repartizrii sarcinilor pe muncitori, el folosete o matrice
de baz, n care coloanele sunt lucrrile atribuite iar liniile reprezint lucrtorii, n ale crei
csue se nscriu timpii necesari executrii sarcinilor primite.
n continuare, prezentm pe scurt noiunile de baz necesare aplicrii algoritmului ungar i
anume:
- cuplajul unui graf G, care reprezint o mulime de arce E, astfel nct dou arce din E s
nu fie adiacente (K);
- suportul matricei A, notat cu S(A), care reprezint mulimea de linii i coloane a cror
suprimare duce la dispariia tuturor zerourilor matricei A. Evident c pentru o matrice dat poate
exista o familie de suporturi : notm mulimea lor cu .
Suportul care posed numrul minim de linii i coloane se numete suportul minimal al
matricei A.
(A) = min
Notm cu (A) numrul de elemente ale suportului minimal, adic
S(A) , S(A) .
Spre exemplu, pentru matricea A = | aij | de mai jos, unde i = 1, ..., 5 i y = 1, ..., 7 se pot
considera suporturile :
Y1
Y2
X1
Y3
Y4
Y5
Y6
Y7
X2
X3
X4
X5
0
S1 A x1 , x 2 , x 3 , x 5
S2 A y 2 , y 4 , y 5 , y 6 , y 7
S3 A x1 , x 3 , y 7
S4 A x 1 , x 2 , x 3 , y 7
Y2
Y3
Y4
Y5
X1
X2
X3
X4
X5
K 1 A x1 , y 4 , x 2 , y 2 , x 3 , y1 , x 4 , y 3 , x 5 , y 5
K 2 A x1 , y1 , x 2 , y 5 , x 3 , y 4 , x 4 , y 2 , x 5 , y3
Notm cu C K 1 i C K 2 costurile totale ale cuplajelor maxime de mai sus,
determinate astfel:
C K 1 C K 2 = 28 20 = 8.
Y1 Y2 Y3 Y4 Y5 Y6
A=
X1
X2
X3
X4
X5
X6
A=
X1
X2
X3
X4
X5
X6
Deoarece nu s-a obinut cte un zero i pe fiecare coloan, scdem din elementele fiecrei coloane a
matricei A1 minoranii j i obinem matricea A . Minoranii j sunt trecui n prelungirea matricei
A1.
Y1 Y2 Y3 Y4 Y5 Y6
X1
X2
X3
X4
X5
X6
Etapa 2: Se ncadreaz un zero de pe o linie cu cele mai puine zerouri, tind celelalte zerouri de pe
linia i coloana zeroului ncadrat. Pe liniile rmase repetm operaia pn ce toate zerourile au fost sau
ncadrate sau tiate.
Astfel procednd, n matricea A se obine:
Y1 Y2 Y3 Y4 Y5 Y6
X1
X2
X3
X4
X5
X6
Deoarece s-a obinut suportul minim (A) = 6, algoritmul ia sfrit. Lui (A) astfel determinarea i
corespunde cuplajul maxim
K A x1 , y 5 , x 2 , y1 , x 3 , y 4 , x 4 , y 3 , x 5 , y 2 , x 6 , y 6
Y4
Y5
Y6
X1
X2
X3
X4
X5
X6
K A x1 , y 5 , x 2 , y1 , x 3 , y 4 , x 4 , y 3 , x 5 , y 6 , x 6 , y 2
X1
20
10
25
X2
10
15
A= X3
10
15
X4
20
X5
25
20
Etapa 1. Dac scdem din elementele fiecrei linii minorantul i al liniei respective, obinem
matricea A1.
Minoranii i sunt trecui n prelungirea matricei A.
Y1 Y2 Y3 Y4 Y5
X1
15
20
X2
10
15
A1= X3
X4
15
X5
25
20
Se observ c s-a
linie a matricei, ns coloana a
minorantul j al fiecrei
respective, obinndu-se matricea A .
0
obinut cte un zero pe fiecare
doua nu conine zero. Scdem
coloane din toate elementele
Y1
Y2
Y3
Y4
Y5
X1
15
20
X2
10
15
X3
X4
15
21
20
X5
Etapa 2. Determinm
procedeul de ncadrare i tiere a zerourilor.
0
un cuplaj maxim n A prin
Y1 Y2 Y3 Y4 Y5
X1
15
20
X2
10
15
X4
15
X5
21
A X3
20
X1
15
20
X2
10
15
X3
X4
15
X5
21
20
0
*
*
Am marcat linia x 5 care nu conine zerouri ncadrate i coloana y 4 care are zerouri tiate pe linia
marcat x 5 . Totodat, marcm i linia x 2 care conine zero ncadrat pe coloana marcat y 4 .
Etapa 4. n matricea A tiem toate liniile nemarcate i coloanele marcate, adic linile x1 , x 3 , x 4 i
coloana y 4 .
Y1 Y2 Y3 Y4 Y5
X1
15
20
X2
10
15
X3
X4
15
X5
21
20
0
*
0
*
n matricea A minorantul elementelor netiate (este 10) l adunm elementelor dublu-tiate (prin
tiere de linii i coloane) i l scdem din elementele netiate, iar elementele simplu tiate rmn
neschimbate. Obinem astfel matricea A :
Y1 Y2 Y3 Y4 Y5
A =
X1
15
30
X2
X3
X4
15
X5
11
10
A =
X1
15
30
X2
X3
X4
15
X5
11
10
Y1
Y2
Y3
Y4
Y5
(A) = 5