Documente Academic
Documente Profesional
Documente Cultură
Olteanu Andrei
Stoian Catalin
1. Drum optim, drum critic
1 ∋ (𝑥𝑖 , 𝑥𝑗 ) ∊ 𝑈
𝛼𝑖𝑗 = {
0 ∌ (𝑥𝑖 , 𝑥𝑗 ) ∉ 𝑈
X3
X4
X6 X5
Fie A(Γ)
x1 x2 x3 x4 x5 x6
x1 0 1 0 0 0 0
x2 0 0 1 0 0 0
x3 0 0 0 0 0 0
x4 1 1 0 0 1 0
x5 0 1 1 0 0 1
x6 1 0 1 0 0 0
x1 x2 x3 x4 x5 x6 p(xi)
X1 0 1 1 0 0 0 2
X2 0 0 1 0 0 0 1
X3 0 0 0 0 0 0 0
X4 1 1 1 0 1 1 5
X5 1 1 1 0 0 1 4
X6 1 1 1 0 0 0 3
15
X4
X6
X5
X7
X8
Fie A(Γ)
X1 X2 X3 X4 X5 X6 X7 X8
X1 0 1 0 0 0 0 0 0
X2 0 0 1 1 0 0 0 0
X3 0 0 0 0 0 0 0 0
X4 0 0 0 0 1 0 0 0
X5 0 0 1 0 0 0 0 0
X6 1 0 0 1 0 0 1 0
X7 0 0 0 0 0 0 0 1
X8 1 0 0 0 0 0 0 0
Intre X3 si X5 se allege coloana cu cel mai mic nr de zerouri si se pune o banda rulanta intre X3 si
X 5.
Exemplu 2: Prelucrarea unui produs poate trece prin 7 faze distincte notate prin x i, iar
posibilitatile de trecere de la o faza la alta se reprezinta prin arce. Este posibil ca produsul sa
treaca prin toate fazele de prelucrare? In caz afirmativ sa se precizeze drumul.
X1 X2 X3
X7
X4
X6 X5
Fie A(Γ)
X1 X2 X3 X4 X5 X6 X7
X1 0 1 0 0 0 0 1
X2 0 0 1 0 0 1 0
X3 0 0 0 1 0 0 0
X4 0 0 0 0 0 0 1
X5 0 0 1 0 0 0 1
X6 0 0 0 0 1 0 0
X7 0 0 0 0 0 0 0
7∗6
21 = = 21 (A)
2
Drumul Hamiltonian este: dH = (X1, X2, X6, X5, X3, X4, X7)
X3
X5
X4
Fie A(Γ)
X1 X2 X3 X4 X5
X1 0 1 1 0 1
X2 0 0 0 0 1
X3 0 0 0 1 0
X4 0 1 0 0 0
X5 1 0 1 1 0
0 𝑥1 𝑥2 𝑥1 𝑥3 0 𝑥1 𝑥5
0 0 0 0 𝑥2 𝑥5
𝑀(1) = 0 0 0 𝑥3 𝑥4 0
0 𝑥4 𝑥2 0 0 0
( 5 𝑥1
𝑥 0 𝑥5 𝑥3 𝑥5 𝑥4 0 )
̃
2) Se contruieste 𝑀 (1) taind primul capat al arcurilor din 𝑀 (1)
0 𝑥2 𝑥3 0 𝑥5
0 0 0 0 𝑥5
̃
𝑀 (1) = 0 0 0 𝑥4 0
0 𝑥2 0 0 0
(𝑥1 0 𝑥3 𝑥4 0)
(𝑘−1) ̃
3) Se calculeaza 𝑀(𝑘) = 𝑀𝐿 ∗ 𝑀(1) pana la k = n - 1 dupa regula: se pune
secventa daca varfurile sunt distincte, 0 daca se obtine 0 sau nu apar varfuri
distincte
0 0 𝑥1 𝑥5 𝑥3 𝑥1 𝑥3 𝑥4 𝑥1 𝑥5 𝑥4 𝑥1 𝑥2 𝑥3
𝑥2 𝑥5 𝑥1 0 𝑥2 𝑥5 𝑥3 𝑥2 𝑥5 𝑥4 0
(1) ̃
𝑀(2) = 𝑀𝐿 ∗ 𝑀 (1) = 0 𝑥3 𝑥4 𝑥2 0 0 0
0 0 0 0 𝑥4 𝑥2 𝑥5
( 0 𝑥5 𝑥1 𝑥2 𝑥5 𝑥4 𝑥2 𝑥5 𝑥1 𝑥3 𝑥5 𝑥3 𝑥4 0 )
(2)
𝑀(3) = 𝑀𝐿 ∗ 𝑀 ̃
(1)
0 𝑥1 𝑥3 𝑥4 𝑥2 𝑥1 𝑥5 𝑥4 𝑥2 𝑥1 𝑥2 𝑥5 𝑥3 𝑥1 𝑥5 𝑥3 𝑥4 𝑥1 𝑥2 𝑥5 𝑥4 0
0 0 𝑥2 𝑥5 𝑥1 𝑥3 𝑥2 𝑥5 𝑥3 𝑥4 0
= 0 0 0 0 𝑥3 𝑥4 𝑥2 𝑥5
𝑥4 𝑥2 𝑥5 𝑥1 0 𝑥4 𝑥2 𝑥5 𝑥3 0 0
( 0 𝑥5 𝑥4 𝑥3 𝑥2 0 𝑥5 𝑥1 𝑥3 𝑥4 0 )
̃
(3)
𝑀(4) = 𝑀𝐿 ∗ 𝑀 (1)
0 𝑥1 𝑥5 𝑥3 𝑥4 𝑥2 0 𝑥1 𝑥2 𝑥5 𝑥3 𝑥4 𝑥1 𝑥3 𝑥4 𝑥2 𝑥5
0 0 0 𝑥2 𝑥5 𝑥1 𝑥3 𝑥4 0
= 𝑥3 𝑥4 𝑥2 𝑥5 𝑥1 0 0 0 0
0 0 𝑥4 𝑥2 𝑥5 𝑥1 𝑥3 0 0
( 0 𝑥5 𝑥1 𝑥3 𝑥4 𝑥2 0 0 0 )
Avem 7 drumuri hamiltoniene: unele fiind aceleasi dar ordinea varfurilor difera.
dH1 = (x1, x5, x3, x4, x2), dH2 = (x1, x2, x5, x3, x4), dH3 = (x1, x3, x4, x2, x5), dH4 = (x2, x5, x1, x3, x4),
dH5 = (x3, x4, x2, x5, x1), dH6 = (x4, x2, x5, x1, x3), dH17 = (x5, x1, x3, x4, x2)
Algoritmul Kaufmann
(𝑘−1) ̃
Pas3 Se calculeaza 𝑀(𝑘) = 𝑀𝐿 ∗ 𝑀(1) pana la k = n - 1 dupa regula: se pune
secventa daca varfurile sunt distincte, 0 daca se obtine 0 sau nu apar varfuri distincte.
Pas4 Daca se doresc si circuitele atunci se verifica pentru fiecare drum hamiltonian
daca poate fi completat pana la un circuit (adica daca exista in graf arcul care uneste
nodul final cu cel initial)
Pas5 Daca se doreste si drumul (sau circuitul) de valoare optima (maxima sau minima)
se calculeaza suma valorilor pentru fiecare drum si/sau circuit si se alege cel cu valoarea
optima.
Exemplu: 1)
X1 X2
X3
X6 X4
X5
Fie A(Γ)
X1 X2 X3 X4 X5 X6
X1 0 1 0 0 0 0
X2 0 0 1 1 0 0
X3 0 0 0 0 1 0
X4 0 0 0 0 0 1
X5 0 0 1 0 0 1
X6 0 0 1 1 0 0
Matricea latina M(1)
0 𝑥1 𝑥2 0 0 0 0
0 0 𝑥2 𝑥3 𝑥2 𝑥4 0 0
0 0 0 0 𝑥3 𝑥5 0
𝑀(1) =
0 0 0 0 0 𝑥4 𝑥6
0 0 𝑥5 𝑥3 0 0 𝑥5 𝑥6
(0 0 𝑥6 𝑥3 𝑥6 𝑥4 0 0 )
̃
Matricea latina redusa 𝑀 (1)
0 𝑥2 0 0 0 0
0 0 𝑥3 𝑥4 0 0
̃ (1) =
0 0 0 0 𝑥5 0
𝑀
0 0 0 0 0 𝑥6
0 0 𝑥3 0 0 𝑥6
(0 0 𝑥3 𝑥4 0 0)
0 0 𝑥1 𝑥2 𝑥3 𝑥1 𝑥2 𝑥4 0 0
0 0 0 0 𝑥2 𝑥3 𝑥5 𝑥2 𝑥4 𝑥6
(1) ̃ 0 0 0 0 0 𝑥3 𝑥5 𝑥6
𝑀(2) = 𝑀𝐿 ∗ 𝑀 (1) =
0 0 𝑥4 𝑥6 𝑥3 0 0 0
0 0 𝑥5 𝑥6 𝑥3 𝑥5 𝑥6 𝑥4 0 0
(0 0 0 0 𝑥6 𝑥3 𝑥5 0 )
0 0 0 0 𝑥1 𝑥2 𝑥3 𝑥5 𝑥1 𝑥2 𝑥4 𝑥6
0 0 𝑥2 𝑥4 𝑥6 𝑥3 0 0 𝑥2 𝑥3 𝑥5 𝑥6
(2) ̃ 0 0 0 𝑥3 𝑥5 𝑥6 𝑥4 0 0
𝑀(3) = 𝑀𝐿 ∗ 𝑀 (1) =
0 0 0 0 𝑥4 𝑥6 𝑥3 𝑥5 0
0 0 0 0 0 0
(0 0 0 0 0 0 )
0 0 0 0 0 𝑥1 𝑥2 𝑥3 𝑥5 𝑥6
0 0 0 𝑥2 𝑥3 𝑥5 𝑥6 𝑥4 0 0
(3) ̃ 0 0 0 0 0 0
𝑀(4) = 𝑀𝐿 ∗ 𝑀(1) =
0 0 0 0 0 0
0 0 0 0 0 0
(0 0 0 0 0 0 )
0 0 0 𝑥1 𝑥2 𝑥3 𝑥5 𝑥6 𝑥4 0 0
0 0 0 0 0 0
(4) ̃ 0 0 0 0 0 0
𝑀(5) = 𝑀𝐿 ∗ 𝑀(1) =
0 0 0 0 0 0
0 0 0 0 0 0
(0 0 0 0 0 0)
Rezulta un singur drum Hamiltonian: dH = (x1, x2, x3, x5, x6, x4)