Teorema 3.7.3 Jika suatu jaringan proyek dengan waktu aktifitas tegas mempunyai n titik, maka vektor saat-penyelesaian paling lambat untuk semua kegiatan yang
4.1 Nilai Eigen dan Vektor Eigen Max-Plus
Terlebih dulu akan dibahas kembali konsep aljabar max-plus dan graf, terutama yang terkait dengan pembahasan nilai eigen dan vektor eigen max-plus.
Berikut didefinisikan suatu matriks yang graf bobotnya terhubung kuat.
Definisi 4.1.1 (Irredusibilitas, Schutter,1996)
Suatu matriks A Rnxnmax dikatakan irredusibel jika graf bobotnya terhubung kuat.
Teorema berikut memberikan syarat perlu dan cukup matriks irredusibel.
Teorema 4.1.2
Matriks A Rnxnmax irredusibel jika dan hanya jika (A A2 ... An1)ij untuk setiap i, j dengan i j.
Bukti: () Jika A irredusibel maka G(A) = (V, A) dengan V = {1, 2, , ... , n}
terhubung kuat, yaitu untuk setiap i, j V , i j , terdapat suatu lintasan dari i ke j . Hal ini berarti untuk setiap i, j V, i j terdapat k dengan 1 k n1 sehingga (Ak )ij . Akibatnya (A A2 ... An1)ij untuk setiap i, j dengan i j.
() Jika (A A2 ... An1)ij untuk setiap i, j dengan i j, maka terdapat k dengan 1 k n1 sehingga (Ak )ij . Hal ini berarti dalam graf bobot G(A) = (V, A) dengan V = {1, 2, , ... , n}, untuk setiap i, j V , i j
terdapat suatu lintasan dari i ke j. Akibatnya G(A) terhubung kuat, yang berarti bahwa A irredusibel. ■
Contoh 4.1.3
Diperhatikan matriks A dalam Contoh 3.5.7. Matriks A tersebut irredusibel, karena
A A2 =
Sedangkan matriks A dalam Contoh 3.5.4 tidak irredusibel, karena A A2 =
Dalam graf pada Gambar 3.5.2 terlihat bahwa dalam G(A)-nya tidak ada lintasan dari titik 1 ke titik 2.
Berikut dibahas konsep nilai eigen dan vektor eigen suatu matriks dalam aljabar max-plus.
Definisi 4.1.4 (Nilai eigen dan vektor eigen max-plus, Schutter,1996)
Diberikan A Rnmaxn . Skalar Rmax disebut nilai eigen max-plus matriks A jika terdapat suatu vektor v Rnmax dengan v ε sehingga A n1 v = v.
Vektor v tersebut disebut vektor eigen max-plus matriks A yang bersesuaian dengan .
Berikut diberikan teorema yang memberikan eksistensi nilai eigen aljabar max-plus untuk setiap A Rnmaxn .
Teorema 4.1.5
Diberikan A Rnmaxn. Skalar max(A), yaitu bobot rata-rata maksimum sirkuit elementer dalam G(A), merupakan suatu nilai eigen max-plus matriks A.
Bukti: Didefinisikan matriks B = max(A) A, maka
max(B) =
n
k 1
(
k
1 trace(Bk)
)
=
n
k 1
(
k
1 trace((max(A)A)k)
)
=
n
k 1
(
k
1 trace((max(A))k Ak)
)
=
n
k 1
(
k
1 ((max(A))k) trace(Ak)
)
=
n
k 1
(max(A))max(A))
=
n
k 1(0) = 0.
Akibatnya G(B) tidak mempunyai sirkuit dengan bobot positif. Menurut Teorema 3.5.8 dapat diperoleh B* = E B ... Bn1 dan B= B B2... Bn. Karena max(B) = 0, maka terdapat k N (= himpunan semua bilangan asli) , k n dan suatu s {1, 2, ..., n} sehingga (Bk ) = 0. Akibatnya komponen ke-s dari ss
B.s ( kolom ke-s matriks B ) adalah (Bk ) = 0 yang berarti bahwa ss B.s
n1. Di sisi lain menurut Definisi 3.5.9 B= B B* dan B*= E B. Karena (E)ss = 0, maka B.s = B . Akibatnya .s* B.s= B B = .s* B atau ( .s* max(A) A) *
B = .s B atau A .s* B = .s* max(A) B . Jadi .s* max(A) merupakan suatu nilai eigen aljabar max-plus matriks A dan B merupakan vektor eigen aljabar max-.s* plus matriks A yang bersesuaian dengan max(A). ■
Karena definisi matriks B = max(A) A, maka sirkuit kritis 0 dalam G(A) juga merupakan sirkuit kritis dalam G(B). Dari bukti Teorema 4.1.5 di atas, jika titik i menyusun busur dalam sirkuit kritis 0 , maka kolom ke-i matriks B* merupakan vektor eigen yang bersesuaian dengan nilai eigen max(A). Kolom ke-i
matriks B di atas, yang merupakan vektor-vektor eigen max-plus matriks A yang * bersesuaian dengan nilai eigen max(A), disebut vektor eigen max-plus fundamental yang bersesuaian dengan nilai eigen max-plus max(A). Dapat ditunjukkan bahwa kombinasi linear max-plus vektor-vektor eigen max-plus fundamental matriks A juga merupakan vektor eigen max-plus yang bersesuaian dengan max(A).
1 2 1 merupakan sirkuit kritis dalam G(A) maka kolom pertama dan kedua matriks B merupakan vektor eigen yang bersesuian dengan nilai eigen *
Berikut diberikan suatu teorema yang memberikan syarat perlu nilai eigen aljabar max-plus suatu matriks.
Teorema 4.1.7
Diberikan A Rnmaxn . Jika skalar R, merupakan nilai eigen aljabar max-plus matriks A, maka merupakan bobot rata-rata suatu sirkuit dalam G(A).
Bukti: Misalkan adalah nilai eigen max-plus matriks A maka untuk setiap sedemikian hingga
3 operasi “” dalam Rmax bersifat komutatif, maka diperoleh
(Ail,il1 . . . diberikan lemma yang menyatakan bahwa untuk matriks irredusibel semua komponen vektor eigen max-plusnya berupa bilangan real. Lemma 4.1.8 berikut juga akan digunakan untuk membuktikan Teorema 4.1.9.
Lemma 4.1.8
Jika matriks irredusibel A Rnmaxn mempunyai nilai eigen aljabar max-plus dengan x vektor eigen aljabar max-plus yang bersesuaian dengan , maka x i untuk setiap i {1, 2, ..., n}.
Bukti: Misalkan terdapat dengan tunggal s {1, 2, ..., n} sehingga xs = . Akibatnya (A x) = s x = atau s As,i xi = untuk setiap i {1, 2, ..., n}.
Karena x untuk setiap i i s, maka As,i= . Hal ini berarti tidak ada busur dari setiap titik i s ke titik s. Akibatnya G(A) tidak terhubung kuat atau A tidak irredusibel. Jika terdapat lebih dari satu komponen yang sama dengan , bukti seperti di atas sehingga akan diperoleh kesimpulan A tidak irredusibel. ■
Matriks irredusibel mempunyai nilai eigen aljabar max-plus tunggal seperti diberikan dalam teorema berikut.
Teorema 4.1.9
Jika matriks A Rnmaxn irredusibel, maka A mempunyai nilai eigen aljabar max-plus tunggal.
Bukti:. Eksistensi nilai eigen aljabar max-plus matriks A telah diberikan dalam Teorema 4.1.5 Misalkan adalah sebarang nilai eigen aljabar max-plus matriks A dengan x adalah vektor eigen aljabar max-plus yang bersesuaian dengan .
Karena A irredusibel maka menurut Lemma 4.1.8, x untuk setiap i {1, 2, i ..., n}. Diambil sebarang sirkuit , misalkan sirkuit adalah (i1,i2), (i2 , i ) , ... , 3 (i ,p i1) dalam G(A). Karena adalah nilai eigen aljabar max-plus matriks A, maka
2 1
1
2 i i i
i x λ x
A , ,
p p
p
p i i i
i x λ x
A , 1 1 , Ai1, ip xip λxi1.
Dari bukti Teorema 4.1.7, didapat bahwa lebih besar atau sama dengan rata-rata bobot , untuk setiap sirkuit dalam G(A). Jadi = max(A), yang berarti nilai eigen aljabar max-plus matriks A tunggal. ■
Berikut diberikan list program MATLAB untuk menghitung nilai eigen dan vektor eigen max-plus.
% Program Matlab Menghitung NILAI EIGEN MAX-PLUS Maksimum dan VEKTOR EIGEN
% yang bersesuaian untuk suatu Matriks max-plus A
% Oleh: M. Andy Rudhito FKIP Universitas Sanata Dharma
% input: matriks max-plus Anxn
% output: irredusibel/ tak irredusibel matriks A
% nilai eigen max-plus maximum
% vektor eigen yang bersesuaian function hasilkali = eigmax
disp(' ')
disp(' NILAI EIGEN DAN VEKTOR EIGEN MAX-PLUS MATRIKS') disp(' ---') disp(' ')
A = input(' Matriks yang dihitung A = ');
disp(' ') disp(' HASIL PERHITUNGAN :') disp(' ===================') disp(' Matriks A = '), disp(A)
% Menghitung A pangkat , trace/pangkat dan nilai eigen maksimum [m, n]= size(A);
if m==n if n==2
for i = 1: n for j=1: n if i==j
A(i,j) = 0;
end;
end;
end;
A0 = min(A);
A00 = min(A0);
if A00 == -Inf
disp(' Matriks A TIDAK IRREDUSIBEL') else
disp(' Matriks A IRREDUSIBEL') end;
end;
trace = max(diag(A));
D=A;
for r=1:n-1 r+1;
for i = 1: m for j = 1: n
C(i, j) = -Inf;
for p = 1: n
C(i, j) = max( C(i, j) , A(i, p) + D(p, j) );
end;
end;
end;
A_plus = max(D, C);
D=C;
trace_perpk(r) = max(diag(D)./(r+1));
lambmax = max(trace_perpk);
end;
lambmaxmat = max(trace, lambmax);
for r=1:n-2 r+1;
for i = 1: m for j = 1: n
C(i, j) = -Inf;
for p = 1: n
C(i, j) = max( C(i, j) , A(i, p) + D(p, j) );
end;
end;
end;
A_plus1 = max(D, C);
D=C;
end;
if n>2
for i = 1 : n for j = 1 : n if i==j
A_plus1(i,j) = 0;
end;
end;
end;
A0_plus1 = min(A_plus1);
A00_plus1 = min(A0_plus1);
if A00_plus1 == -Inf
disp(' Matriks A TIDAK IRREDUSIBEL') else
disp(' Matriks A IRREDUSIBEL') end;
end;
disp('NILAI EIGEN max-plus maksimum matriks A
=’),disp(lambmaxmat)
% Menghitung matriks normal B, B pangkat dan B+
B = A-lambmaxmat;
disp(' ') G=B;
for s=1:n-1 s+1;
for i = 1: m for j = 1: n
F(i, j) = -Inf;
for p = 1: n
F(i, j) = max( F(i, j) , B(i, p) + G(p, j) );
end;
end;
end;
B_plus = max(G, F);
G = F;
end;
% Menghitung matriks E dan B*
for i = 1 : n for j = 1 : n if i ~= j
E(i,j) = -Inf;
end;
end;
end;
B_star= max(E, B_plus);
% Menentukan vektor eigen yang bersesuaian
disp(' VEKTOR EIGEN max-plus yang bersesuaian =') x= diag(B_plus);
for t = 1 : n if x(t)>=0
VE = B_star(:,t); disp(VE) end;
end;
% Perhatian jika yang diinputkan bukan matriks nxn else
disp(' ') disp(' P E R H A T I A N ! ! !') disp('BUKAN matriks bujursangkar, nilai eigen tidak didefinisikan')
end;
Gambar 4.1.1 List Program MATLAB untuk nilai dan vektor eigen max-plus.
Dengan menggunakan program di atas dapat ditentukan nilai eigen maksimum dan vektor eigen yang bersesuaian untuk matriks seperti dalam contoh berikut.
Contoh 4.1.10
Untuk matriks A =
1 2
1 1
1 3 2
dapat diperoleh bahwa vektor eigen
maksimumnya max(A) = 2 dengan vektor-vektor eigen max-plus fundamentalnya adalah v1 = [0, 1, 1]T dan v2 = [1, 0, 0]T .