aljabar max-plus dan penerapannya
Transcript of aljabar max-plus dan penerapannya
ALJABAR MAX-PLUS
DAN PENERAPANNYA
M. Andy Rudhito
Program Studi Pendidikan Matematika FKIP
Universitas Sanata Dharma
Yogyakarta 2016
ii
iii
PRAKATA
Aljabar max-plus merupakan suatu struktur aljabar di mana himpunan
semua bilangan real R {} dilengkapi dengan operasi max (maksimum) dan
plus (penjumlahan). Aljabar ini berawal tahun 70an, tetapi baru berkembang
dengan pesat sekitar tahun 90an. Permasalahan-permasalahan dalam jaringan (teori
graf) yang terutama terkait dengan masalah sinkronisasi dapat dimodelkan dan
diselesaikan dengan baik dengan aljabar max-plus. Permasalahan di atas yang
dengan menggunakan matematika biasa berupa model matematika yang nonlinear,
dengan menggunakan aljabar max-plus ini dapat berupa model yang linear dalam
operasinya.
Buku ini disajikan dalam beberapa bab dengan sistematika sebagai berikut.
Bab 1 pendahuluan dan motivasi yang berisi masalah-masalah yang dapat
dimodelkan dan diselesaikan dengan menggunakan aljabar max-plus, di antaranya
adalah masalah sistem jaringan kereta api, sistem produksi sederhana, penjadwalan
dalam jaringan proyek dan jaringan antrian. Bab 2 membahas konsep-konsep dasar
aljabar max-plus yang meliputi matriks dan struktur aljabarnya. Bab 3 membahas
tentang sistem persamaan linear max-plus, yang meliputi sistem input output dan
sistem iteratif. Sistem persamaan linear max-plus ini akan digunakan sebagai dasar
pemodelan masalah dengan menggunakan aljabar max-plus. Selanjutnya dibahas
beberapa penerapan dari sistem persamaan linear max-plus. Bab 4 membahas
tentang nilai eigen matriks atas aljabar max-plus. Nilai eigen ini sangat terkait
dengan permasalahan yang terkait dengan sifat-sifat periodik dinamika jaringan.
Dibahas pula beberapa penerapan dari konsep nilai dan vektor eigen maxplus ini
terkait sifat periodik sistem. Bab 5 membahas varian lain aljabar max-plus, yakni
aljabar min-plus dan aljabar max-min beserta penerapannya.
Pembahasan dalam buku ini agak mengalami kesulitan kalau tidak dibantu
aspek komputasinya dengan menggunakan komputer. Dalam tiap babnya akan
diberikan aspek komputasinya dengan menggunakan bahasa MATLAB.
iv
Pada kesempatan ini penulis mengucapkan terimakasih kepada kolega
dosen di Universitas Sanata Dharma yang telah memberikan dukungan positip.
Jurusan Matematika FMIPA UGM, khusus dosen-dosen kuliah dan pembimbing
tugas akhir selama penulis menempuh S2 dan S3. Para dosen dan mahasiswa dari
berbagai perguruan tinggi di Indonesia yang telah mendiskusikan topik ini dalam
berbagai kesempatan seminar dan perjumpaan-perjumpaan baik online maupun
offline. Mahasiswa bimbingan skripsi saya, Regina Wahyudyah Sonata Ayu, yang
telah bekerja keras menyelesaikan skripsi topik aljabar max-plus, di mana hasilnya
juga merupakan bagian dari susunan buku ini. Akhirnya semoga buku ini
bermanfaat dan dapat digunakan dalam kehidupan sehari-hari, maupun
dikembangkan sebagai kajian ilmu matematika
Yogyakarta, Pebruari 2016
Penulis
(e-mail: [email protected])
v
DAFTAR ISI
PRAKATA ................................................................................................... iii
DAFTAR ISI ................................................................................................ iv
BAB 1 PENDAHULUAN ............................................................................ 1
1.1 Sistem Jaringan Kereta Api ...................................................... 1
1.2 Sistem Produksi Sederhana ...................................................... 4
1.3 Penjadwalan Jaringan Proyek ................................................... 7
1.4 Jaringan Antrian........................................................................ 9
BAB 2 ALJABAR MAX-PLUS DAN MATRIKS ....................................... 12
2.1 Aljabar Max-Plus ...................................................................... 12
2.2 Matriks atas Aljabar Max-Plus ................................................. 15
2.3 Semimodul atas Aljabar Max-Plus ........................................... 23
BAB 3 SISTEM PERSAMAAN LINEAR MAX-PLUS
DAN PENERAPANNYA ................................................................. 28
3.1 Sistem Persamaan Linear Input-Output (SPLIO)
Max-Plus .................................................................................. . 28
3.2 Penerapan pada Sistem Produksi Sederhana ............................. 37
3.3 Eksistensi dan Ketunggalan SPLIO Max-Plus .......................... 58
3.4 Penerapan pada Masalah Ramp-Handling Pesawat ................. 75
3.5 Aljabar Matriks dan Teori Graf ................................................. 83
3.6 Sistem Persamaan Linear Iteratif (SPLI) Max-Plus .................. 93
3.7 Penerapan pada Penjadwalan Proyek ........................................ 98
BAB 4 NILAI, VEKTOR EIGEN MAX-PLUS DAN PENERAPANNYA... 111
4.1 Nilai Eigen dan Vektor Eigen Max-Plus ................................... 111
4.2 Penerapan pada Penjadwalan Kereta .......................................... 119
4.3 Penerapan Analis Model Antrian ................................................ 123
BAB 5 ALJABAR MIN-PLUS DAN ALJABAR MAX-MIN SERTA
PENERAPANNYA .............................................................................. 128
5.1 Aljabar Min-Plus ........................................................................ 128
vi
5.2 Penerapan Aljabar Min-Plus pada Masalah Lintasan
Terpendek ................................................................................... 132
5.3 Aljabar Max-Min ........................................................................ 140
5.4 Penerapan Aljabar Max-Min pada Masalah Kapasitas
Maksimum ................................................................................. 145
DAFTAR PUSTAKA ..................................................................................... 148
INDEKS ........................................................................................................... 151
1
BAB I
PENDAHULUAN
Dalam kehidupan sehari-hari terdapat beberapa masalah yang dapat
dimodelkan secara matematis dengan sistem dinamika, misalnya sistem produksi
perakitan, sistem jaringan telekomunikasi, sistem pemrosesan paralel pada
komputer, sistem jaringan kereta, dan sebagainya. Dalam bab ini akan diberikan
masalah-masalah dalam sistem jaringan kereta api, sistem produksi sederhana,
penjadwalan dalam jaringan kerja dan jaringan antrian yang dapat dimodelkan
dengan menggunakan aljabar max-plus.
1.1 Sistem Jaringan Kereta Api
Diperhatikan suatu sistem jaringan kereta sederhana yang disajikan dalam
Gambar 1.1.1 berikut:
Gambar 1.1.1 Jaringan Kereta Api Sederhana
Misalkan di suatu kota terdapat dua stasiun kereta 1S dan 2S yang dihubungkan
dengan suatu jaringan rel kereta seperti pada Gambar 1.1.1 di atas, dengan dua
kereta untuk tiap stasiun. Misalkan pada waktu keberangkatan pertama empat
kereta tersebut melakukan perjalanan sebagai berikut. Kereta pertama berangkat
dari stasiun 1S , mengantar dan menjemput penumpang di pinggiran kota dan
kembali ke 1S . Kereta kedua berangkat dari stasiun 1S , mengantar dan menjemput
penumpang di tengah kota dan menuju ke stasiun 2S . Kereta ketiga berangkat dari
stasiun 2S , mengantar dan menjemput penumpang di tengah kota dan menuju ke
stasiun 1S . Kereta keempat berangkat dari stasiun 2S , mengantar dan menjemput
3
5 2 3
2
penumpang di pinggiran kota dan kembali ke 1S . Pada waktu keberangkatan
kedua perjalanan kereta sebagai berikut. Kereta pertama dan keempat kembali
melakukan perjalanan seperti pada waktu perjalanan sebelumnya. Kereta kedua
berangkat dari stasiun 2S , mengantar dan menjemput penumpang di tengah kota
dan menuju ke stasiun 1S . Kereta ketiga berangkat dari stasiun 1S , mengantar dan
menjemput penumpang di tengah kota dan menuju ke stasiun 2S . Pada waktu
keberangkatan ketiga perjalanan kereta seperti pada waktu perjalanan pertama,
demikian seterusnya. Dengan demikian jaringan rel kereta ini dapt dipandang
terdiri dari satu lingkar dalam ( 1S 2S 1S ) dan dua lingkar luar ( 1S 1S dan
2S 2S ).
Kereta mencapai stasiun lain (atau yang sama) setelah suatu waktu
tertentu, yang disebut sebagai waktu perjalanan, seperti yang ditunjukkan pada
Gambar 1.1.1 di atas. Keberangkatan kereta di suatu stasiun harus menunggu
kedatangan kereta yang lain sehingga penumpang mempunyai kesempatan
berganti kereta untuk menuju tempat yang diinginkan. Waktu untuk menunggu
kereta lain dan penumpang berganti kereta ini telah diperhitungkan dalam waktu
perjalanan. Stasiun di pinggiran kota tidak dipertimbangkan karena tidak
mempunyai peranan yang penting dalam pemodelan.
Misalkan tidak ada jadwal keberangkatan kereta dan kereta langsung
berangkat setelah penumpang berganti kereta pada suatu stasiun. Didefinisikan :
ix (k+1) : waktu keberangkatan ke-k + 1 pada stasiun iS untuk i = 1, 2 .
Jika proses keberangkatan dan kedatangan suatu kereta berkesinambungan, maka
didapat:
1x (k+1) = max (2 + 1x (k), 5 + 2x (k)),
(1.1.1)
2x (k+1) = max (3 + 1x (k), 3 +
2x (k) ),
untuk k = 0, 1, 2, ... .
Jika operasi max dinotasikan dengan , operasi penjumlahan dinotasikan dengan
, maka persamaan (1.1.1) dapat dituliskan sebagai berikut:
1x (k+1) = ( 1x (k) 2) (2x (k) 5),
3
(1.1.2)
2x (k+1) = (
1x (k) 3) (2x (k) 3).
Jika persamaan (1.1.2) di atas dituliskan dalam persamaan matriks, dengan cara
yang serupa pada aljabar matriks biasa, di mana operasi penjumlahan diganti
operasi maksimum dan operasi perkalian diganti dengan operasi penjumlahan,
maka diperoleh persamaan matriks berikut:
[𝑥1(𝑘 + 1)𝑥2(𝑘 + 1)
] =
33
52 [
𝑥1(𝑘)𝑥2(𝑘)
] (1.1.3)
Persamaan (1.1.3) di atas secara ringkas dapat juga dituliskan sebagai
x(k+1) = A x(k) (1.1.4)
dengan x(k) = [ 1x (k), 2x (k)] T dan A =
33
52.
Dalam prakteknya jaringan rel kereta beroperasi berdasarkan jadwal
keberangkatan. Jadwal keberangkatan terdiri dari waktu keberangkatan kereta
dari semua stasiun. Hal ini berarti bahwa sebuah kereta tidak dapat meninggalkan
stasiun sebelum waktu jadwal keberangkatannya, meskipun kereta yang
ditunggunya telah datang. Didefinisikan:
id (k + 1) : jadwal keberangkatan ke-(k+1) pada stasiun iS untuk i = 1, 2 .
Kemudian didapat ix (k+1) untuk i = 1, 2 sebagai berikut:
1x (k+1) = max ( 1x (k) + 2, 2x (k) + 5,
1d (k + 1)),
(1.1.5)
2x (k+1) = max ( 1x (k) + 3,
2x (k) + 3, 2d (k + 1)),
untuk k = 0, 1, 2, ... .
Jika operasi max dinotasikan dengan , operasi penjumlahan dinotasikan
dengan , maka, persamaan (1.1.5) atas dapat dituliskan sebagai berikut:
1x (k+1) = ( 1x (k) 2) ( 1x (k) 5) 1d (k + 1),
(1.1.6)
2x (k+1) = ( 1x (k) 3) (
2x (k) 3) 2d (k + 1),
4
untuk k = 0, 1, 2, ... . Jika persamaan (1.1.6) dituliskan dalam persamaan matriks
akan diperoleh persamaan matriks berikut
x(k+1) =
33
52 x(k)
)(
)(
1
1
2
1
kd
kd (1.1.7)
untuk k = 0, 1, 2, ... , dengan x(k) = [1x (k),
2x (k)] T .
Persamaan matriks (1.1.7) di atas dapat juga dituliskan dalam persamaan berikut:
x(k+1) = A x(k) d(k + 1) (1.1.8)
untuk k = 0, 1, 2, ... , dengan x(k) = [1x (k),
2x (k)] T, A =
33
52dan d(k + 1) =
[1d (k + 1),
2d (k + 1)]T .
Pada bab-bab selanjutnya akan dibahas bagaimana cara menentukan
keberangkatan awal kereta sehingga waktu keberangkatan selanjutnya akan
periodik untuk periode waktu tertentu.
1.2 Sistem Produksi Sederhana
Diperhatikan suatu sistem produksi sederhana (Schutter, 1996) yang
disajikan dalam Gambar 1.2.1 berikut:
1d = 5
u(k) 1t = 2
3t = 1
3d = 3
5t = 0 y(k)
2d = 6
4t = 0
2t = 0
Gambar 1.2.1 Sistem Produksi Sederhana
Sistem ini terdiri dari 3 unit pemrosesan 1P , 2P , 3P . Bahan baku dimasukkan ke
1P dan 2P , diproses dan dikirimkan ke3P . Waktu pemrosesan untuk 1P , 2P dan
3P
berturut-turut adalah 1d = 5, 2d = 6 dan 3d = 3 satuan waktu. Diasumsikan
5
bahwa bahan baku memerlukan 1t = 2 satuan waktu untuk dapat masuk dari input
ke 1P dan memerlukan 3t = 1 satuan waktu dari produk yang telah diselesaikan di
1P untuk sampai di 3P , sedangkan waktu transportasi yang lain diabaikan. Pada
input sistem dan antara unit pemrosesan terdapat penyangga (buffer), yang
berturut-turut disebut penyangga input dan penyangga internal, dengan kapasitas
yang cukup besar untuk menjamin tidak ada penyangga yang meluap (overflow).
Suatu unit pemrosesan hanya dapat mulai bekerja untuk suatu produk baru jika ia
telah menyelesaikan pemrosesan produk sebelumnya. Diasumsikan bahwa setiap
unit pemrosesan mulai bekerja segera setelah bahan tersedia. Didefinisikan:
i) u(k+1) : waktu saat bahan baku dimasukkan ke sistem untuk pemrosesan
ke-(k+1),
ii) ix (k) : waktu saat unit pemrosesan ke-i mulai bekerja untuk pemrosesan
ke-k,
iii) y(k) : waktu saat produk ke-k yang diselesaikan meninggalkan sistem.
Waktu saat 1P mulai bekerja untuk pemrosesan ke-(k+1) dapat ditentukan sebagai
berikut. Jika bahan mentah dimasukkan ke sistem untuk pemrosesan ke-(k+1),
maka bahan mentah ini tersedia pada input unit pemrosesan 1P pada waktu
t = u(k+1) + 2. Akan tetapi 1P hanya dapat mulai bekerja pada sejumlah bahan
baku baru segera setelah menyelesaikan pemrosesan sebelumnya, yaitu sejumlah
bahan baku untuk pemrosesan ke-k. Karena waktu pemrosesan pada 1P adalah
1d = 5 satuan waktu, maka produk setengah-jadi ke-k akan meninggalkan 1P pada
saat t = 1x (k) + 5. Hal ini dapat dituliskan dengan:
1x (k+1) = max (u(k+1) + 2, 1x (k) + 5) untuk k = 1, 2, 3, ... .
Dengan alasan yang sama untuk 2P ,
3P dan waktu saat produk ke-k yang
diselesaikan meninggalkan sistem, diperoleh:
2x (k+1) = max (u(k+1) + 0,
2x (k) + 6)
3x (k+1) = max ( 1x (k+1) + 5 + 1,
2x (k+1) + 6 + 0, 3x (k) + 3)
6
= max (max (u(k+1) + 2, 1x (k) + 5) + 6, max (u(k+1) + 0,
2x (k) + 6)
+ 6, 3x (k) + 3)
= max (u(k+1) + 2 + 6, 1x (k+1) + 5 + 6, u(k+1) + 0 + 6,
2x (k) + 6 + 6,
3x (k) + 3)
= max ( 1x (k) + 11, 2x (k) + 12,
3x (k) + 3, u(k+1) + 8)
y(k) = 3x (k) + 3 + 0 untuk k = 1, 2, 3, ... .
Jika operasi max dinotasikan dengan , operasi penjumlahan dinotasikan
dengan , maka persamaan-persamaan dalam model sistem produksi sederhana di
atas dapat dituliskan dalam persamaan-persamaan berikut:
1x (k+1) = 5
1x (k) 2 u(k+1)
2x (k+1) = 6
2x (k) u(k+1)
3x (k+1) = 11 1x (k) 12
2x (k) 3 3x (k) 8 u(k+1)
y(k) = 3 3x (k) .
Dalam hal urutan pengoperasian (jika tanda kurung tidak dituliskan), operasi
mempunyai prioritas yang lebih tinggi dari pada operasi . Jika dituliskan dalam
persamaan matriks dapat diperoleh persamaan matriks berikut
x(k+1) =
31211
6
5
x(k)
8
0
2
u(k+1)
(1.2.1)
y(k) = 3 x(k)
untuk k = 1, 2, 3, ... , dengan x(k) = [ 1x (k), 2x (k),
3x (k)] T.
Hasil di atas dapat juga dituliskan dengan
x(k+1) = A x(k) B u(k+1)
(1.2.2)
y(k) = C x(k)
7
untuk k = 1, 2, 3, ... , dengan x(k) = [1x (k),
2x (k), 3x (k)] T, keadaan awal
x(0) = 0x , A =
31211
6
5
, B =
8
0
2
dan C = 3 . Dalam
Schutter (1996), sistem (1.2.2) di atas disebut Sistem Kejadian Diskrit (SKD)
linear max-plus waktu-invariant atau secara singkat disebut sistem linear max-
plus waktu-invariant (SLMI).
Pada bab-bab berikutnya akan dibahas input-output dan sifat periodik
sisstem produksi sederhana di atas.
1.3 Penjadwalan Jaringan Proyek
Dalam Riset Operasi kita sudah mengenal masalah penjadwalan proyek,
dengan beberapa metode penyelesaiannya, di antaranya adalah metode CPM
(Critical Path Method). Masalah penjadwalan yang biasa dibahas meliputi
penentuan saat-mulai paling awal setiap titik pada jaringan, waktu minimal
penyelesaian proyek, saat penyelesaian paling lambat setiap titik pada jaringan,
waktu mengambang setiap titik pada jaringan dan penentuan lintasan kritis.
Suatu proyek mendefinisikan satu kombinasi kegiatan-kegiatan yang
saling berkaitan yang harus dilakukan dalam urutan tertentu sebelum keseluruhan
tugas dapat diselesaikan. Kegiatan-kegiatan ini saling berkaitan dalam satu urutan
kegiatan yang logis dalam arti bahwa beberapa kegiatan tidak dapat dimulai
sampai kegiatan-kegiatan lainnya diselesaikan (Taha, 1996). Pemodelan dinamika
jaringan proyek dan analisis lintasan kritis diawali dengan menentukan saat-
mulai paling awal (earliest start time) untuk setiap aktifitas yang berasal dari
titik i. Dengan mengadopsi teknik perhitungan maju (forward) seperti pada PERT-
CPM dapat dilakukan suatu pemodelan jaringan proyek dengan menggunakan
operasi max dan plus.
Misalkan e
ix = saat-mulai paling awal yang berasal dari titik i.
Diperhatikan jaringan proyek seperti yang diberikan pada Gambar 1.3.1 (Taha,
1996, pp. 81) berikut, di mana bobot busur berarah antara dua titik j dan i yaitu
8
ijA menyatakan waktu aktifitas dalam jaringan. Diasumsikan bahwa aktifitas
jaringan dimulai pada titik 1 pada saat waktu sama dengan nol, yaitu ex1 = 0.
Selanjutnya dengan teknik perhitungan maju PERT-CPM diperoleh
ex2 = 2 + ex1
ex3 = 3 + ex2
ex4 = max(2 +
ex2 , 3 + ex3 )
ex5 = max(2 + ex3 , 0 + ex4 )
ex6 = max(3 + ex4 , 7 + ex5 )
ex7 = max(2 + ex4 , 5 + ex5 , 6 + ex6 )
Jika pada persamaan-persamaan di atas operasi max dinotasikan dengan
, operasi penjumlahan dinotasikan dengan , diperoleh
ex2 = 2 ex1
ex3 = 3 ex2
ex4 = 2
ex2 3 ex3
ex5 = 2 ex3 0 ex4 )
ex6 = 3 ex4 7 ex5 )
ex7 = 2 ex4 5 ex5 6 ex6
4
5
3 6
7 1
2
2
2
3
6
5 7 3
2 2
3
Gambar 1.3.1 Jaringan Proyek
9
Jika dituliskan dalam persamaan matriks dapat diperoleh persamaan matriks
berikut xe = A xe be
di mana xe = [ ex1 , ex2 , ... , enx ]T , be = [0, , ... , ]T dan
A =
652
73
02
32
3
2
.
1.4 Jaringan Antrian
Diperhatikan suatu jaringan antrian seri tertutup (closed tandem) dengan
n pelayan-tunggal (Krivulin, 1995). Adapun asumsi-asumsi dasar dalam jaringan
ini adalah sebagai berikut:
1. Kapasitas penyangga antrian takhingga.
2. Antrian bekerja dengan prinsip First-In First-Out (FIFO).
3. Perpindahan pelanggan dari suatu antrian ke antrian berikutnya tidak
memerlukan waktu.
4. Pelanggan harus melewati antrian dari awal sampai akhir secara berturutan
untuk menerima layanan setiap pelayan.
Satu siklus layanan jaringan adalah proses dari masuknya pelanggan ke
penyangga pelayan ke-1 hingga meninggalkan pelayan ke-n. Setelah penyelesaian
layanan pada pelayan ke-n, pelanggan kembali ke antrian pertama untuk suatu
siklus baru layanan jaringan. Pada saat awal pengamatan, semua pelayan tidak
memberi layanan, di mana penyangga pada pelayan ke-i memuat sebanyak 1
pelanggan untuk setiap i = 1, 2, ..., n. Gambar 1.4.1 berikut (Krivulin, 1996)
memberikan keadaan awal jaringan antrian seri tertutup yang dimaksud, dengan
pelanggan yang dinyatakan dengan ””.
Jaringan antrian seri tertutup dapat dijumpai dalam sistem pabrik
perakitan, seperti perakitan mobil maupun barang-barang elektronik. Pelanggan
10
dalam sistem ini adalah palet sedangkan pelayanan adalah mesin perakit. Palet
yang dimaksud adalah semacam meja atau tempat di mana komponen-komponen
atau barang setengah-jadi ditempatkan dan bergerak mengunjungi mesin-mesin
perakit. Mula-mula sebuah palet ke-1 masuk ke penyangga mesin ke-1, kemudian
masuk mesin ke-1 dan palet ke-2 masuk ke penyangga mesin ke-1. Di mesin ke-1
ini komponen-komponen diletakkan dan dipersiapkan untuk dirakit di mesin
berikutnya. Selanjutnya palet ke-1 masuk ke penyangga mesin ke-2 dan palet ke-2
masuk ke mesin ke-1. Demikian seterusnya untuk n palet yang tersedia, sehingga
tercapai keadaan seperti pada Gambar 1.4.1 di bawah, di mana tercapai keadaan
awal pengamatan. Setelah perakitan selesai dikerjakan di mesin ke-n, barang hasil
rakitan akan meninggalkan jaringan, sementara palet yang membawa akan menuju
kembali ke penyangga mesin ke-1, untuk memulai suatu siklus baru layanan
jaringan, demikian seterusnya.
Misalkan ia (k) = saat kedatangan pelanggan ke-k pada pelayan ke-i,
id (k) = saat keberangkatan pelanggan ke-k dari pelayan ke-i,
it = waktu layanan pada pelayan ke-i.
untuk k = 1, 2, ... dan i = 1, 2, ..., n. Selanjutnya dinamika antrian pada pelayan
ke- i , seperti yang telah dibahas dalam (Krivulin, 1995), dapat dinyatakan dengan
id (k) = max(
it +ia (k), ti +
id (k 1)) (1.4.1)
ia (k) =
2 jika )1(
1 jika)1(
1 n...,,ikd
ikd
i
n (1.4.2)
Jika operasi max dinotasikan dengan , operasi penjumlahan dinotasikan dengan
, maka persamaan (1.4.1) dapat dituliskan sebagai berikut
id (k) = it ia (k) it id (k1) (1.4.3)
Gambar 1.4.1 Jaringan Antrian Seri Tertutup
1 2
n
11
Misalkan d(k) = [1d (k) ,
2d (k), ... , nd (k)]T, a(k) = [
1a (k) , 2a (k), ... ,
na (k)]T dan
T =
nt
t
1
. Persamaan (1.4.3) dan (1.4.2) di atas dapat dituliskan
menjadi
d(k) = T a(k) T d(k 1). (1.4.4)
a(k) = G d(k1), (1.4.5)
dengan matriks G =
0
0
0
.
Dengan mensubstitusikan persamaan (1.4.5) ke persamaan (1.4.4) dapat diperoleh
persamaan d(k) = T G d(k1) T d(k 1) = T (G E) d(k 1) atau
d(k) = A d(k 1) (1.4.6)
dengan A = T (G E) =
nn
nn
tt
tt
tt
tt
11
22
11
. Persamaan (1.4.6) di atas
merupakan model dinamika jaringan antrian tersebut. Pada bab berikutnya akan
dibahas suatu penentuan saat keberangkatan awal tercepat pelanggan agar antar
saat keberangkatan pelanggan pada setiap pelayanan dapat berlangsung secara
periodik dengan besar periode tertentu.
Pemodelan masalah-masalah di atas dengan pendekatan menggunakan
operasi max dan plus ini dapat memberikan suatu cara yang lebih padu dan
menyatu serta persamaan yang dihasilkan analog dengan hasil-hasil pada teori
sistem yang konvensional (Krivulin, 2000).
12
BAB 2
ALJABAR MAX-PLUS DAN MATRIKS
Dalam bab ini dibahas beberapa konsep-konsep dasar yang akan
digunakan untuk membahas bab-bab berikutnya. Pembahasan meliputi aspek
struktur aljabar secara umum, sifat-sifat struktur aljabar tersebut, contoh-contoh,
dan komputasinya. Secara lebih khususnya akan dibahas aljabar max-plus, matriks
atas aljabar max-plus, semimodul atas aljabar max-plus dan kaitan antara matriks
atas aljabar max-plus dan teori graf. Hal ini dikarenakan banyak konsep-konsep
aljabar max-plus yang karena asal-usul dan penerapannya terkait dengan masalah
jaringan dalam teori graf.
2.1 Aljabar Max-Plus
Dalam bab sebelumnya telah diberikan beberapa contoh pemodelan
dengan semesta pembicaraan himpunan semua bilangan real R, dengan
menggunakan operasi maximum yang disingkat dengan max, yang dinotasikan
dengan , dan operasi penjumlahan (atau plus) yang dinotasikan dengan .
Dalam subbab ini dibahas aljabar max-plus dan sifat-sifatnya Pembahasan diawali
dengan meninjau suatu struktur aljabar yang lebih umum.
Definisi 2.1.1
Suatu semiring (S, +, ) adalah suatu himpunan tak kosong S yang dilengkapi
dengan dua operasi biner + dan , yang memenuhi aksioma berikut:
i) ( S, + ) adalah semigrup komutatif dengan elemen netral 0, yaitu a, b, c S :
(a + b) + c = a + (b + c) ,
a + b = b + a ,
a + 0 = a .
ii) (S, ) adalah semigrup dengan elemen satuan 1, yaitu a, b, c S :
(a b) c = a (b c) ,
a 1 = 1 a = a ,
13
iii) elemen netral 0 merupakan elemen penyerap terhadap operasi , yaitu
a S : a 0 = 0 a = 0.
iv) Operasi distributif terhadap + , yaitu a, b, c S :
(a + b) c = (a c) + (b c) ,
a ( b + c ) = (a b) + (a c) .
Contoh 2.1.2
Diberikan R : = R { } dengan R adalah himpunan semua bilangan real dan
: = . Pada R didefinisikan operasi berikut:
a, b R , a b : = max(a, b) dan a b : = a + b.
Misalkan 2 1 : = max(2, 1) = 2 ; 3 4 : = 3 + 4 = 1.
( R , , ) merupakan semiring dengan elemen netral = dan elemen satuan
e = 0, karena untuk setiap a, b, c R berlaku:
i) a b = max(a, b) = max(b, a) = b a,
(a b) c = max(max(a, b), c) = max(a, b, c)
= max(a, max(b, c)) = a (b c),
a = max(a, ) = a.
ii) (a b) c = (a + b) + c = a + (b + c) = a (b c) ,
a e = a + 0 = a = 0 + a = e a,
iii) a = a + () = = () + a = a .
iv) (a b) c = max(a, b) + c = max(a + c, b + c) = (a c) (b c),
a (b c) = a + max(b, c) = max(a + b, a + c) = (a b) (a c).
Definisi 2.1.3
Suatu semiring (S, +, ) dikatakan komutatif jika operasi bersifat komutatif,
yaitu a, b S : a b = b a.
Definisi 2.1.4
Suatu semiring (S, +, ) dikatakan idempoten jika operasi + bersifat idempoten,
yaitu a S : a + a = a.
14
Dalam Baccelli, et.al.(2001) istilah semiring idempoten disebut dioid.
Contoh 2.1.5
Semiring ( R , , ) merupakan semiring komutatif yang sekaligus idempoten,
karena untuk setiap a, b R berlaku a b = a + b = b + a = b a dan
a a = max(a, a) = a.
Definisi 2.1.6
Suatu semiring komutatif (S, +, ) disebut semifield jika setiap elemen tak
netralnya mempunyai invers terhadap operasi , yaitu a S \{0} a1 S,
a a1 = 1.
Contoh 2.1.7
Semiring komutatif ( R , , ) merupakan semifield, karena untuk setiap a R
terdapat a sehingga berlaku a (a) = a + (a) = 0.
Dari Contoh 2.1.5 dan 2.1.7 di atas terlihat bahwa ( R , , ) merupakan
semifield idempoten. Struktur aljabar maxR : = ( R , , ) disebut aljabar max-
plus, yang selanjutnya cukup dituliskan dengan maxR . Elemen-elemen maxR akan
disebut juga skalar. Dalam hal urutan pengoperasian (jika tanda kurung tidak
dituliskan), operasi mempunyai prioritas yang lebih tinggi daripada operasi .
Pangkat k N {0} dengan N adalah himpunan semua bilangan asli, dari
elemen x R dalam aljabar max-plus dinotasikan dengan k
x didefinisikan
sebagai berikut: 0x : = 0 dan
kx : = x
1kx , untuk k = 1, 2, ... .
Didefinisikan pula 0 : = 0 dan
k : = , untuk k = 1, 2, ... .
Diperhatikan bahwa k
x = k
xxx = k
xxx = kx, dengan operasi
perkalian pada bilangan real. Pangkat aljabar max-plus mempunyai prioritas
tertinggi dibandingkan operasi dan dalam hal urutan pengoperasian.
15
2.2 Matriks atas Aljabar Max-Plus
Operasi dan pada maxR di atas dapat diperluas untuk operasi-operasi
matriks dalam nm
maxR seperti dalam definisi berikut.
Definisi 2.2.1
Diberikan nm
maxR : = { A = ( ijA ) ijA maxR , i = 1, 2, ..., m dan j = 1, 2, ..., n }.
i) Diketahui maxR , A, B nm
maxR . Didefinisikan
A adalah matriks yang unsur ke-ij-nya:
( ijA) = ijA untuk i = 1, 2, ..., m dan j = 1, 2, ..., n
dan
A B adalah matriks yang unsur ke-ij-nya:
(A ijB) = ijA ijB untuk i = 1, 2, ..., m dan j = 1, 2, ..., n.
ii) Diketahui A pm
maxR , B np
maxR . Didefinisikan
A B adalah matriks yang unsur ke-ij-nya:
(A ijB) = kjik
p
k
BA 1
untuk i = 1, 2, ..., m dan j = 1, 2, ..., n.
Contoh 2.2.2
i) 4
250
1
60
,
=
24504
414
6404
,
=
24504
414
6404
,
=
254
5
104
,
.
ii)
3
21
71
50=
731
5201
=
7 3,-max1 ,max
5- 2,max0 1,max
=
71
21.
iii)
23
801
42
06
1
=
420312263
48001128601
16
=
6 3, ,max0 9, ,max
12 0, 0,max6 6, ,max
=
69
126.
Definisi 2.2.3
Matriks A, B nm
maxR dikatakan sama jika ijA = ijB untuk setiap i dan j.
Operasi dan untuk matriks di atas mempunyai sifat-sifat berikut:
Teorema 2.2.4
Pernyataan-pernyataan berikut berlaku untuk sebarang skalar dan , dan
sebarang matriks A , B dan C asalkan operasi yang dimaksud terdefinisi.
i) (A B) C = A (B C)
ii) A B = B A
iii) (A B) C = A (B C)
iv) A (B C) = (A B ) (A C)
v) (A B) C = (A C ) (A C)
vi) A = A
vii) ( A) = ( ) A
viii) (A B ) = ( A ) B = A ( B)
ix) ( ) A = ( A) ( A)
x) (A B) = ( A) ( B)
xi) A A = A.
Bukti: Akan dibuktikan untuk iii) dan iv) sedangkan bukti yang lain langsung
mengikuti definisi operasi dan sifat-sifat operasi pada maxR .
iii): Diambil sebarang matriks A pm
maxR , B rp
maxR , C nr
maxR .
Unsur ke-ij matriks (A B) C adalah
r
l 1
ljklik
p
k
CBA
1
, unsur ke-ij
matriks A (B C) adalah ik
p
k
A1
ljkl
r
l
CB1
.
17
Karena
r
l 1
ljklik
p
k
CBA
1
=
r
l 1ljklik
p
k
CBA 1
=
ik
p
k
A1
ljkl
r
l
CB1
maka (A B) C = A (B C).
iv): Diambil sebarang A pm
maxR , B, C np
maxR . Unsur ke-ij matriks A (B C)
adalah ) (1
kjkjik
p
k
CBA
, unsur ke-ij matriks (A B) (A C) adalah
kjik
p
k
BA 1
kjik
p
k
CA 1
. Karena ) (1
kjkjik
p
k
CBA
=
kjik
p
k
BA 1
kjik
p
k
CA 1
, maka A (B C) = (A B) (A C). ■
Berikut diperhatikan dua buah matriks khusus.
Didefinisikan matriks E nn
maxR dengan ( ijE) : =
ji
ji
jika
jika0
.
Didefinisikan matriks nm
maxR dengan: ( ij) := untuk setiap i dan j .
Contoh 2.2.5
( nn
maxR , , ) merupakan semiring idempoten dengan elemen netral adalah
matriks dan elemen satuan adalah matriks E.
Matriks E di atas disebut juga matriks identitas max-plus, sedangkan
matriks disebut matriks nol max-plus. ( nn
maxR , , ) bukan semiring komutatif,
karena terdapat matriks A =
1
0 dan B =
10 dengan A B =
1
0
10=
21
10, B A =
10
1
0 =
2. Jadi A B B A .
18
Pangkat k N {0} dengan N adalah himpunan semua bilangan asli, dari
matriks A nxn
maxR dalam aljabar max-plus didefinisikan dengan:
0A = nE dan k
A = A 1 k
A untuk k = 1, 2, ... .
Unsur ke-st matriks 2A adalah
(2A st) = )( ,, tiis
n
i
AA11
1 1
= ni 11
max (1isA , + tiA ,1
).
Unsur ke-st matriks 3A adalah
(3A st) =
2
2 1is
n
i
A ,(
( tiii
n
i
AA ,,(112
1 1
))) = (
n
i 12
tiiiis
n
i
AAA ,,,(1122
1 1
))
=nii 211
max,
(2isA , +
12 iiA , + tiA ,1).
Secara umum, unsur ke-st matriks k
A adalah
(k
Ast) =
1
1 1
k
k
is
n
i
A ,( ... ( tiii
n
i
AA ,,(112
1 1
))) =
n
i 12
...
tiiiis
n
i
AAAk ,,,(
1121
1 1
))
=niii k 1211
max,,
(1kisA , + ... +
12 iiA , + tiA ,1).
Diperhatikan bahwa untuk sebarang skalar maxR dan A nxn
maxR unsur ke-st
matriks k
A )( adalah
(k
A )( st) = niii k 1211
max,,
((1
kisA , )+ ... + (
12 iiA , ) +( tiA ,1 )).
= ( k
) + ( niii k 1211
max,,
(1kisA , + ... +
12 iiA , + tiA ,1))
= k (
kA
st) untuk k = 1, 2, ... .
Jadi untuk sebarang skalar maxR dan A nxn
maxR berlaku bahwa
kA )( =
k k
A untuk k = 1, 2, ... . (2.1.1)
19
Untuk sebarang A nxn
maxR didefinisikan trace(A) : = ii
n
i
A1
.
Contoh 2.2.6
Diberikan A =
0
42
231
.
2A = A A =
0
42
231
0
42
231
=
42
64
752
.
3A = A 2A =
0
42
231
42
64
752
=
64
86
973
.
Trace(A) = ii
i
A
3
1
= max(1, 2, ) = 2, trace(2A ) =
23
1
ii
i
A = max(2, 4, 4) = 4
dan trace(3A ) =
33
1
ii
i
A = max(3, 6, 6) = 6.
Untuk memudahkan perhitungan dalam perhitungan matriks, terutama
perkalian dan perpangkatan matriks atas aljabar max-plus, berikut diberikan list
program MATLAB untuk menghitung dua operasi matriks tersebut.
% Program Matlab Perkalian Max-plus Matriks A dan B
% Oleh: M. Andy Rudhito FKIP Universitas Sanata Dharma % input: A = matriks max-plus Amxn
% B = matriks nxp
% output: Hasil kali max-plus A dan B
function hasilkali = maxkali
disp(' ')
% Memasukkan matriks yang dikalikan
A = input(' Masukkan matriks A(mxn) = ');
disp(' ')
B = input(' Masukkan matriks B(nxp) = ');
disp(' ')
[m, n]= size(A);
[k, r]=size(B);
if n == k
for i = 1:m
for j = 1: r
AB(i, j) = -Inf;
for p = 1: n
20
AB(i, j) = max(AB(i, j) , A(i, p) + B(p, j));
end;
end;
end;
% Menampilkan hasil kali
disp(' HASIL PERHITUNGAN :')
disp(' ===================')
disp(' Matriks A = '),disp(A)
disp(' Matriks B = '),disp(B)
disp(' Hasil kali max-plus matriks A dan B adalah'),disp(AB)
% Peringatan tidak dapat dikalikan
else
disp(' Ordo tidak sesuai, matriks tidak dapat dikalikan ');
end;
Gambar 2.2.1 List Program MATLAB Perkalian Matriks Max-Plus
Berikut diberikan contoh entri matriks dan hasil eksekusi programnya.
Contoh 2.2.7
» maxkali
Masukkan matriks A(mxn) = [1 0 -2 -Inf 3 4 12 -Inf -1 0;
-Inf 2 3 0 -Inf 5 -6 11 20 -7;-3 1 -Inf 1 2 -3 0 0 1 0;
2 7 -1 -2 0 1 1 -Inf 0 4;-Inf 0 -Inf 6 6 7 10 -11 -5 1;
-1 0 1 -Inf -Inf 0 0 -Inf 0 7;4 4 -2 -2 -Inf 9 -6 -8 0 0;
-Inf -Inf 0 -Inf -Inf -Inf -Inf -Inf -Inf -Inf]
Masukkan matriks B(nxp) = [-Inf 0 -Inf 1 -4 0 -Inf;
4 -1 -Inf 2 4 -Inf 0;1 0 -Inf 0 -7 8 10;-Inf 11 -Inf 13 -Inf -Inf
1;
-2 1 -Inf 1 6 -2 -3;-Inf -Inf -Inf -Inf -Inf -Inf -1;
0 -1 -Inf 1 -2 2 0;0 0 -Inf 20 16 -2 1;1 0 -Inf -2 2 -Inf 3;
-Inf -Inf -Inf -Inf 7 4 1]
HASIL PERHITUNGAN :
===================
Matriks A =
1 0 -2 -Inf 3 4 12 -Inf -1 0
-Inf 2 3 0 -Inf 5 -6 11 20 -7
-3 1 -Inf 1 2 -3 0 0 1 0
2 7 -1 -2 0 1 1 -Inf 0 4
-Inf 0 -Inf 6 6 7 10 -11 -5 1
-1 0 1 -Inf -Inf 0 0 -Inf 0 7
4 4 -2 -2 -Inf 9 -6 -8 0 0
-Inf -Inf 0 -Inf -Inf -Inf -Inf -Inf -Inf -Inf
Matriks B =
-Inf 0 -Inf 1 -4 0 -Inf
4 -1 -Inf 2 4 -Inf 0
1 0 -Inf 0 -7 8 10
-Inf 11 -Inf 13 -Inf -Inf 1
21
-2 1 -Inf 1 6 -2 -3
-Inf -Inf -Inf -Inf -Inf -Inf -1
0 -1 -Inf 1 -2 2 0
0 0 -Inf 20 16 -2 1
1 0 -Inf -2 2 -Inf 3
-Inf -Inf -Inf -Inf 7 4 1
Hasil kali max-plus matriks A dan B adalah
12 11 -Inf 13 10 14 12
21 20 -Inf 31 27 11 23
5 12 -Inf 20 16 4 4
11 9 -Inf 11 11 8 9
10 17 -Inf 19 12 12 10
4 1 -Inf 2 14 11 11
8 9 -Inf 12 8 6 8
1 0 -Inf 0 -7 8 10
% Program Matlab Menghitung PANGKAT MAX-PLUS Matriks
% Oleh: M. Andy Rudhito FKIP Universitas Sanata Dharma % input: A = matriks max-plus Anxn
% k = pangkat tertinggi
% output A pangkat max-plus 1 s/d k
function kuadrat = pkmax
% Memasukkan matriks dan pangkat tertinggi
disp(' ')
disp(' PANGKAT MAX-PLUS MATRIKS')
disp(' -------------------------')
disp(' ')
A = input(' Masukkan matriks A = ');
disp(' ')
k = input(' Hitung sampai pangkat ke- ');
disp(' HASIL PERHITUNGAN :')
disp(' ===================')
disp(' Matriks A = '), disp(A)
[m, n]= size(A);
if m==n
D = A;
for r = 1 : k-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;
D = C;
% Menampilkan hasil perhitungan
disp(' Matriks A pangkat max-plus'), disp(r+1), disp(C)
end;
else
22
% Peringatan kalau matriksnya tidak bujur sangkar
disp(' Matriks A tidak bujur sangkar, pangkat tidak
didefinisikan' )
end;
Gambar 2.2.2 List Program MATLAB Perpangkatan Matriks Max-Plus
Berikut diberikan contoh entri matriks dan hasil eksekusi programnya.
Contoh 2.2.8
» maxpk
PANGKAT MAX-PLUS MATRIKS
------------------------
Masukkan matriks A = [1 0 -2 -Inf 3 -Inf -1 0;
-Inf 2 3 0 -Inf 5 -6 -7;-3 1 -Inf 1 2 0 1 0; -1 -2 0 1 1 -Inf 0
4;
-Inf 0 -Inf 7 10 -11 -5 1;-1 0 1 0 0 -Inf 0 7;4 4 -2 -2 -Inf 9
0 0;
-Inf -Inf 0 -Inf -Inf -Inf -Inf -Inf ]
Hitung sampai pangkat ke- 4
HASIL PERHITUNGAN :
===================
Matriks A =
1 0 -2 -Inf 3 -Inf -1 0
-Inf 2 3 0 -Inf 5 -6 -7
-3 1 -Inf 1 2 0 1 0
-1 -2 0 1 1 -Inf 0 4
-Inf 0 -Inf 7 10 -11 -5 1
-1 0 1 0 0 -Inf 0 7
4 4 -2 -2 -Inf 9 0 0
-Inf -Inf 0 -Inf -Inf -Inf -Inf -Inf
Matriks A pangkat max-plus
2
3 3 3 10 13 8 0 4
4 5 6 5 5 7 5 12
5 5 4 9 12 10 1 7
4 4 4 8 11 9 1 5
6 10 7 17 20 5 7 11
4 4 7 7 10 9 2 4
8 9 10 9 9 9 9 16
-3 1 -Inf 1 2 0 1 0
Matriks A pangkat max-plus
3
9 13 10 20 23 9 10 15
9 9 12 12 15 14 7 14
9 12 11 19 22 10 10 17
8 11 10 18 21 10 9 16
16 20 17 27 30 16 17 21
23
8 10 10 17 20 11 9 16
13 13 16 16 19 18 11 16
5 5 4 9 12 10 1 7
Matriks A pangkat max-plus
4
19 23 20 30 33 19 20 24
13 15 15 22 25 16 14 21
18 22 19 29 32 19 19 23
17 21 18 28 31 18 18 22
26 30 27 37 40 26 27 31
16 20 17 27 30 18 17 21
17 19 19 26 29 20 18 25
9 12 11 19 22 10 10 17
2.3 Semimodul atas Aljabar Max-Plus
Bagian ini akan membahas struktur aljabar yang melandasi pembahasan
konsep vektor dalam aljabar max-plus. Di samping itu juga akan dibahas konsep
urutan dalam vektor di mana di dalamnya dibahas konsep lebih besar dan lebih
kecil.
Definisi 2.3.1
Diberikan semiring komutatif (S, +, ) dengan elemen netral 0 dan elemen
identitas 1. Semimodul M atas S adalah semigrup komutatif (M, + ) bersama
operasi perkalian skalar : S M M , yang dituliskan dengan ( , x) x,
yang memenuhi aksioma berikut:
, S dan x, y M berlaku:
i) (x + y) = x + y,
ii) ( + ) x = x + x,
iii) ( x) = ( ) x,
iv) 1 x = x,
v) 0 x = 0 .
Elemen dalam semimodul disebut vektor.
Contoh 2.3.2
Diberikan n
maxR := { x = [ 1x , 2x , ... , nx ]T | ix maxR , i = 1, 2, ... , n}.
24
Untuk setiap x, y n
maxR dan untuk setiap maxR didefinisikan operasi
dengan
x y = [ 1x 1y ,
2x 2y , ... , nx ny ]T
dan operasi perkalian skalar dengan
x = x = [ 1x , 2x , ... , nx ]T.
Perhatikan bahwa n
maxR dapat dipandang sebagai 1
max
nR . Dengan memperhatikan
Teorema 2.2.4 i) dan ii) terlihat bahwa (n
maxR , ) merupakan semigrup komutatif
dengan elemen netral = [, , ..., ]T. Kemudian dengan memperhatikan
Teorema 2.2.4 x), ix), dan vii), n
maxR merupakan semimodul atas maxR .
Diberikan vektor-vektor 1x , 2x , ..., nx di dalam semimodul M dan skalar-
skalar 1 , 2 , ..., n di dalam semiring komutatif S. Didefinisikan kombinasi
linear dari vektor-vektor 1x , 2x , ..., nx adalah suatu bentuk aljabar 1 1x +
2 2x + ... + n nx .
Definisi 2.3.3 (Wohlgemuth, 1990)
Relasi “ ” pada himpunan P disebut urutan parsial pada P jika untuk semua
x, y, z P berlaku:
i) Sifat refleksif, yaitu: x x .
ii) Sifat antisimetris, yaitu: jika x y dan y x, maka x = y .
iii) Sifat transitif, yaitu: jika x y dan y z, maka x z .
Elemen x dan y dikatakan komparabel (comparable) jika x y atau y x .
Jika x y akan dituliskan juga dengan y x. Jika x y dan x y akan dituliskan
juga dengan x y.
Definisi 2.3.4 (Wohlgemuth, 1990)
Urutan parsial “ ” pada himpunan P disebut urutan total pada P jika setiap dua
elemen dalam P komparabel.
25
Teorema 2.3.5
Jika (S, + ) semigrup komutatif idempoten maka relasi “ ” yang didefinisikan
pada S dengan x y x + y = y merupakan urutan parsial pada S.
Bukti: Diambil sebarang x, y, z S.
i) Karena berlaku sifat idempoten maka x + x = x x x .
ii) Jika x y dan y x maka x + y = y dan y + x = x. Karena berlaku sifat
komutatif maka x = y.
iii) Jika x y dan y z maka x + y = y dan y + z = z. Dari sini karena berlaku
sifat asosiatif maka x + z = x + (y + z) = (x + y) + z = y + z = z. Dengan
demikian x z. ■
Akibat 2.3.6
Relasi “ m ” yang didefinisikan pada maxR dengan
x m y x y = y
merupakan urutan parsial pada maxR . Lebih lanjut relasi ini merupakan urutan
total pada maxR .
Bukti: Karena ( R , ) merupakan semigrup komutatif idempoten, maka
menurut Teorema 2.3.5 relasi “ m ” yang didefinisikan pada maxR di atas
merupakan urutan parsial pada maxR . Selanjutnya diambil x , y maxR maka
berlaku
x y = max (x, y) = x atau x y = max (x, y) = y. ■
Akibat 2.3.7
Relasi “ m ” yang didefinisikan pada nm
maxR dengan
A m B A B = B ijA ijB = ijB ijA m ijB
untuk setiap i dan j, merupakan urutan parsial pada nm
maxR .
26
Bukti: Dengan menggunakan Teorema 2.2.4 i), ii) dan xi) nampak (nm
maxR , )
merupakan semigrup komutatif idempoten, sehingga menurut Teorema 2.3.5
relasi “ m ” yang didefinisikan pada nm
maxR di atas merupakan urutan parsial. ■
Akibat 2.3.8
Relasi “ m ” yang didefinisikan pada n
maxR dengan
x m y x y = y ix m iy
untuk setiap i , merupakan relasi urutan parsial pada n
maxR .
Bukti: Karena (n
maxR , ) merupakan semigrup komutatif idempoten, maka relasi
“ m ” yang didefinisikan pada n
maxR merupakan urutan parsial pada n
maxR . ■
Relasi “ m ” yang didefinisikan pada nm
maxR di atas bukan merupakan urutan
total, karena terdapat matriks A =
21
10 dan B =
01
12 dengan
A B =
21
10
01
12 =
22
22, sehingga A B B dan A B A.
Demikian juga relasi “ m ” yang didefinisikan pada n
maxR di atas bukan
merupakan urutan total, karena terdapat vektor x = [1, 2, 3]T dan y = [2, 0, -1]T
dengan x y = [1, 2, 3]T [2, 0, -1]T = [2, 2, 3]T . Dengan demikian x y y
dan x y x.
Teorema 2.3.9
Diberikan matriks A nm
maxR . Jika x, y n
maxR dengan x m y, maka
(A x) m (A y).
Bukti: Diambil sebarang x, y n
maxR dengan x m y, maka
x y = y A (x y) = A y
27
(A x) (A y) = A y
(A x) m (A y). ■
Hasil pada Teorema 2.3.9 di atas akan digunakan dalam pembahasan
penyelesaian sistem persamaan linear max-plus melalui subpenyelesaian
terbesarnya.
28
BAB 3
SISTEM PERSAMAAN LINEAR MAX-PLUS DAN PENERAPANNYA
Dalam bab ini dibahas sistem persamaan linear (SPL) max-plus yang
merupakan salah satu alat untuk pemodelan masalah real dengan pendekatan aljabar
max-plus. Secara umum ada dua bentuk SPL max-plus, yaitu SPL max-plus input-
output dan SPL max-plus iteratif. Akan dibahas eksistensi dan ketunggalan
penyelesaian SPL max-plus dan juga beberapa contoh penerapannya.
3.1 Sistem Persamaan Linear Input-Output (SPLIO) Max-Plus
Sistem persamaan linear max-plus input-output max-plus mempunyai
bentuk umum A x = b di mana Anm
maxR , x n
maxR dan b m
maxR . SPL ini tidak
selalu mempunyai penyelesaian. Sebagai contoh:
Contoh 3.1.1
Diberikan sistem persamaan linear
54
32
2
1
x
x =
7
6.
Sistem di atas ekuivalen dengan
754
632
21
21
xx
xx atau
74544
62322
21
21
)(
)(
xx
xx atau
31
41
21
21
xx
xx
atau
31max(
41max(
21
21
),
),
xx
xx.
Karena 4 3 maka tidak ada 1x , 2x yang memenuhi sistem persamaan di atas.
Untuk itu masalah penyelesaian A x = b dapat diperlemah dengan
mendefinisikan konsep subpenyelesaian berikut.
29
Definisi 3.1.2
Diberikan A nm
maxR dan b m
maxR . Vektor x n
maxR disebut suatu
subpenyelesaian sistem persamaan linear A x = b jika vektor x tersebut
memenuhi A x m b.
Subpenyelesaian A x = b selalu ada, karena untuk = [, , ... , ]T selalu berlaku:
A = m b.
Definisi 3.1.3
Suatu subpenyelesaian x dari sistem A x = b disebut subpenyelesaian terbesar
sistem A x = b jika x m x untuk setiap subpenyelesaian x dari sistem
A x = b.
Sebagai suatu usaha untuk menyelesaikan sistem persamaan ini, berikut dibahas
suatu hasil mengenai subpenyelesaian terbesar.
Teorema 3.1.4
Diberikan A nm
maxR dengan unsur-unsur setiap kolomnya tidak semuanya sama
dengan dan b mR . Subpenyelesaian terbesar A x = b ada dan diberikan oleh
x dengan
jx = i
max ( ib + ijA )
untuk setiap i = 1, 2, ... , m dan j = 1, 2, ... , n.
Bukti: Perhatikan bahwa:
( A x m b )
mnmnmm
nn
nn
bxAxAxA
bxAxAxA
bxAxAxA
m2211
2m2222121
1m1212111
30
iijij
j
bxA ,)( m
( ijA jx m ib , j,i )
( ijA + jx ib , j,i )
Karena unsur setiap kolom matriks A tidak semuanya sama dengan , maka untuk
setiap j selalu ada i sehingga ijA yang berarti ijA ada. Mengingat untuk setiap
a Rmax berlaku a = dan a = a maka koefisien-koefisien ijA = tidak
akan berpengaruh pada nilai A x. Sehingga berlaku:
( ijA + jx ib , j,i )
( ijA + jx ib , j,i dengan Aij )
( jx ib ijA , j,i dengan Aij )
( jx i
min ( ib ijA ), j dengan Aij )
( jx i
max ( ib + ijA ), j ).
Jadi subpenyelesaian sistem A x = b di atas adalah setiap vektor x yang
komponen-komponennya memenuhi jx i
max ( ib + ijA ), j .
Jika vektor x = [ 1x , 2x , ... , nx ]T didefinisikan dengan jx = i
max ( ib + ijA )
untuk setiap j = 1, 2, ... , n maka diperoleh:
( jx = i
max ( ib + ijA ), j ) ( jx = i
min ( ib ijA ), j dengan ijA )
( jx ib ijA , j,i dengan ijA )
iijij
j
,bxA m)( ( A x m b ).
Jadi vektor x tersebut merupakan subpenyelesaian sistem A x = b. Karena
jx i
max ( ib + ijA ) = jx , j , maka jx jx , j . Akibatnya x m x .
Jadi vektor x tersebut merupakan subpenyelesaian terbesar sistem A x = b. ■
31
Dengan demikian, suatu cara untuk menyelesaikan sistem persamaan
A x = b, pertama-tama dihitung dahulu subpenyelesaian terbesarnya, kemudian
diperiksa subpenyelesaian terbesar itu memenuhi sistem persamaan atau tidak.
Untuk mempermudah penghitungan subpenyelesaian terbesar A x = b,
diperhatikan bahwa:
x =
nx
x
x
2
1
=
)(max
)(max
)(max
2
1
inii
iii
iii
Ab
Ab
Ab
=
)(max
)(max
)(max
2
1
iini
iii
iii
bA
bA
bA
=
)))
)))
)))
2211
2222112
1221111
mmnnn
mm
mm
bAbAbA
bAbAbA
bAbAbA
(((
(((
(((
= AT ( b).
Jadi untuk menentukan subpenyelesaian terbesar A x = b, pertama-tama dapat
dilakukan dengan menghitung: x = AT ( b).
Dalam Teorema 3.1.4 di atas, karena diasumsikan bahwa komponen setiap
kolom matriks A tidak semuanya sama dengan , maka subpenyelesaian terbesar
x n
R .
Contoh 3.1.5
Akan ditentukan penyelesaian terbesar sistem persamaan berikut, dengan terlebih
dulu menentukan subpenyelesaian terbesarnya.
100
3
21
2
1
x
x =
10
7
11
.
Pertama-tama dihitung: AT ( b) =
102
031
10
7
11
=
0
10.
Akibatnya subpenyelesaian terbesar sistem persamaan di atas adalah
0
10.
32
Karena
100
3
21
0
10=
10
7
11
, maka
0
10 merupakan penyelesaian sistem di
atas.
Contoh 3.1.6
Akan ditentukan penyelesaian terbesar sistem persamaan berikut, dengan terlebih
dulu menentukan subpenyelesaian terbesarnya.
54
32
2
1
x
x =
7
6.
Pertama-tama dihitung: AT (b)=
53
42
7
6=
2
3. Akibatnya
subpenyelesaian terbesar sistem persamaan di atas adalah
2
3.
Karena
54
32
2
3 =
7
5
7
6 maka
2
3 bukan merupakan penyelesaian
sistem.
Catatan: Jika sistem persamaan linear max-plus A x = b mempunyai
subpenyelesaian terbesar yang bukan merupakan penyelesaian, maka sistem
persamaan linear max-plus tersebut tidak mempunyai penyelesaian. Hal ini dapat
ditunjukkan sebagai berikut. Andaikan x adalah penyelesaian sistem persamaan
linear max-plus A x = b, yang berarti (A xi) = ib untuk setiap i = 1, 2, ..., m.
Misalkan sistem persamaan linear max-plus A x = b mempunyai subpenyelesaian
terbesar x yang bukan merupakan penyelesaian, yang berarti terdapat i {1, 2, ...,
m} sehingga (A x i) ib . Karena x juga merupakan subpenyelesaian, maka
x m x . Akibatnya menurut Teorema 2.3.9 berlaku (A x ) m (A x ), yang
berarti (A xi) (A x i) untuk setiap i = 1, 2, ..., m. Hal ini berakibat terdapat
i {1, 2, ..., m} sehingga (A xi) (A x i) ib , yang kontradiksi dengan
pengandaian di atas.
33
Teorema 3.1.7 (Zimmermann, 2006) Andaikan x adalah subpenyelesaian
terbesar sistem A x = b. Vektor x merupakan subpenyelesaian sistem
A x = b jika dan hanya jika x m x .
Bukti: () Jelas menurut definisi subpenyelesaian terbesar.
() Andaikan x m x . Mengingat operasi pada matriks konsisten terhadap
urutan “ m ” dan x adalah subpenyelesaian terbesar sistem A x = b, maka
berlaku A x m A x m b. Jadi A x m b yang berarti x merupakan
subpenyelesaian sistem A x = b. ■
Teorema 3.1.8 (Zimmermann, 2006) Sistem A x = b mempunyai penyelesaian
jika dan hanya jika A x m b , di mana vektor x adalah subpenyelesaian
terbesar dari sistem A x = b.
Bukti ( ) Andaikan A x m b . Mengingat x adalah subpenyelesaian terbesar
sistem A x = b, maka berlaku A x m b. Mengingat berlaku A x m b
dan A x m b, maka A x = b, sehingga x merupakan peyelesaian A x =
b. Jadi A x = b mempunyai penyelesaian.
() Andaikan A x = b mempunyai penyelesaian, yaitu vektor y, maka A y = b
atau A y m b dan A y m b. Nampak bahwa y merupakan subpenyelesaian
sistem A x = b. Mengingat x adalah subpenyelesaian terbesar sistem A x = b,
maka berlaku y m x . Mengingat operasi pada matriks konsisten terhadap urutan
“ m ”, maka A x m A y m b. Jadi A x m b. ■
Akibat 3.1.9 (Schutter and Boom, 2000)
Diberikan A nm
maxR dengan unsur-unsur setiap kolomnya tidak semuanya sama
dengan , dan b Rm . Jika x adalah subpenyelesaian terbesar sistem persamaan
linear max-plus A x = b maka untuk setiap indeks j {1, 2, ... , n} terdapat suatu
indeks i(j) {1, 2, ..., m} sedemikian hingga )(),(ˆ
jijjji bxA .
34
Bukti: Karena x adalah subpenyelesaian terbesar sistem A x = b, maka menurut
Teorema 3.1.4 jx = i
min (ib ijA ) untuk setiap j = 1, 2, ..., n dengan ijA . Hal
ini berarti juga untuk setiap indeks j {1, 2, ... , n} terdapat suatu indeks
i(j) {1, 2, ... , m} sedemikian hingga jjijij Abx ),()(ˆ atau )(),(
ˆjijjji bxA .
Definisi 3.1.10
Diberikan x = [ 1x , 2x , ..., nx ]T
nR . Didefinisikan
x =
imaks ix untuk i = 1, 2,
..., n.
Diberikan masalah optimisasi yang berkaitan dengan sistem persamaan
linear max-plus A x = b berikut:
Diberikan A nm
maxR dengan komponen setiap kolomnya tidak semuanya sama
dengan dan b m
R . Akan ditentukan suatu vektor x n
R yang
meminimalkan
xb A .
Karena komponen setiap kolom matriks A di atas tidak semuanya sama dengan
dan x n
R , maka (A x) m
R . Akibatnya b A x merupakan hasil operasi
pengurangan vektor dalam m
R . Berikut teorema yang memberikan penyelesaian
masalah optimisasi di atas.
Teorema 3.1.11 (Schutter and Boom, 2000)
Diberikan A nm
maxR dengan komponen setiap kolomnya tidak semuanya sama
dengan dan b m
R . Vektor #
x = x 2
δ dengan x subpenyelesaian terbesar
sistem A x= b dan =
xb ˆA , merupakan vektor yang meminimalkan
xb A . Selanjutnya
#A xb =
2
δ.
Bukti : Misalkan x subpenyelesaian terbesar sistem A x = b.
35
i) Jika x merupakan penyelesaian sistem A x = b, maka
xb ˆA = i
maks
ii Ab )( x = 0. Akibatnya x meminimalkan
xb A .
ii) Jika x bukan merupakan penyelesaian sistem A x = b, maka
xb ˆA =
imaks ii Ab )( x = 0. Karena A x m b, maka
imaks ii Ab )( x =
imaks ii Ab )( x . Himpunan indeks i yaitu {1, 2, ..., m}dapat dipartisi menjadi
tiga himpunan bagian I, J dan K sedemikian hingga:
ib (A x i) = 0 untuk semua i I
ib (A x i) = untuk semua i J
ib (A x i) =
i untuk semua i K, dengan 0 i 1.
Karena x adalah subpenyelesaian terbesar sistem A x = b maka menurut Akibat
3.1.9 untuk setiap indeks j {1, 2, ... , n} terdapat suatu indeks i(j) {1, 2, ... , m}
sedemikian hingga )(),(ˆ
jijjji bxA . Akibatnya I tidak kosong. Karena x bukan
merupakan penyelesaian sistem A x = b, maka terdapat suatu indeks i sehingga
imaks ii Ab )( x = . Akibatnya himpunan J juga tidak kosong. Sementara
himpunan K dapat kosong atau tidak kosong.
Menurut Teorema 2.3.9 untuk setiap x yang memenuhi x m x berlaku (A x)
m (A x ), yang berakibat i
maks ii Ab )( x i
maks ii Ab )( x untuk
setiap x m x . Dengan memperhatikan Teorema 2.2.4 vi) dan viii) diperoleh
bahwa untuk sebarang Rmax berlaku (A x ) = A ( x ). Jika
0, maka x ( x ), yang berakibat i
maks ii Ab ))(( 0 x i
maks
ii Ab )( x untuk suatu skalar positip 0 Rmax . Untuk itu didefinisikan x()
:= x , dengan Rmax, 0. Karena ib (A x()i) = ib (A ( x )
i)
= ib ((A xi) ), maka diperoleh
36
ib (A x()i) =
.K jika
J jika
I jika
i
i
i
i
Karena I dan J tidak kosong dan 0 i 1 untuk semua i K, maka
)(xb A = ii
iAb ))((max x =
,
0max yang mempunyai
nilai minimum untuk = 2
δ. Jadi
#x = x(
2
δ) = x
2
δ merupakan vektor yang
meminimumkan
xb A . Selanjutnya diperoleh
#A xb =
22max
0, =
2
δ.
Kemudian akan ditunjukkan bahwa tidak ada vektor x yang memenuhi
xb A
2
δ. Misalkan terdapat vektor x~
nR sedemikian hingga
)( xb ~A
2
δ. (3.1.1)
Didefinisikan = x~ x . Maka A x~ = A ( x + ). Karena x subpenyelesaian
terbesar sistem A x = b maka menurut Akibat 3.1.9 untuk setiap j {1, 2, ..., n},
terdapat suatu indeks i(j) sedemikian hingga )(),(ˆ
jijjji bxA . Karena )(~
jiA )( x
= jjjjij
xA ˆ),(max jjjji xA ˆ
),( , maka diperoleh )(~
jiA )( x
jjib )( . Karena ketaksamaan (3.1.1) maka j 2
δ (3.1.2)
untuk setiap j {1, 2, ..., n}.
Karena x merupakan subpenyelesaian terbesar sistem A x = b, maka terdapat
suatu indeks i {1, 2, ..., m} sehingga ib (A x i) = atau (A x i) = ib .
Karena (A x i) = 1iA
1x 2iA 2x
inA nx ,
= max(1iA
1x ,2iA
2x , , inA
nx ), maka
ijA jx ib , untuk setiap j {1, 2, ..., n}. (3.2.3)
37
Akibatnya (A x~ i) = jjijj
xA ˆmax jij
b max ib + j
jmax .
Karena ketaksamaan (3.1.2), maka ib + jjmax ib +
2
δ = ib
2
δ.
Jadi terdapat suatu indeks i {1, 2, ..., m} sedemikian hingga (A x~ i) ib 2
δ
atau ib (A x~ i) 2
δ. Hal ini berakibat bahwa
)( xb ~A
2
δ, yang
bertentangan dengan pemisalan bahwa
)( xb ~A 2
δ. ■
3.2 Penerapan pada Sistem Linear Max-Plus Waktu-Invarian dan Sistem
Produksi Sederhana
Pada subbab 1.2 telah diintrodusir mengenai model sistem produksi
sederhana, seperti pada persamaan (1.2.3). Dari ilustrasi dan contoh-contoh pada
Bab 1. Pendahuluan nampak bahwa sistem-sistem yang dibahas merupakan Sistem
Kejadian Diskrit (SKD) yang mempunyai waktu aktifitas dan barisan kejadian yang
deterministik. Matriks dalam persamaan sistemnya merupakan matriks konstan,
yaitu tidak tergantung pada parameter k, sehingga sistemnya merupakan sistem
waktu-invariant. Sistem seperti dalam contoh di atas merupakan suatu contoh
sistem linear max-plus waktu-invariant seperti yang diberikan dalam definisi
berikut.
Definisi 3.2.1 (Sistem Linear Max-Plus Waktu-Invariant (SLMI), Schutter, 1996)
Sistem Linear Max-Plus Waktu-Invariant adalah SKD yang dapat dinyatakan
dengan persamaan berikut:
x(k+1) = A x(k) B u(k+1)
(3.2.1)
y(k) = C x(k)
untuk k = 1, 2, 3, ... , dengan kondisi awal x(0) = 𝒙0, A nn
maxR , B mn
maxR ,
C nl
maxR .
38
Vektor x(k) n
maxR menyatakan keadaan (state), u(k) m
maxR adalah vektor input,
dan y(k) l
maxR adalah vektor output sistem saat waktu ke-k.
SLMI seperti dalam definisi di atas secara singkat akan dituliskan dengan
SLMI (A, B, C) dan dituliskan dengan SLMI (A, B, C, 𝒙0) jika kondisi awal x(0) =
𝒙0 diberikan. SLMI dengan satu input dan satu output akan disebut SLMI satu input
satu output (SISO). Sedangkan SLMI dengan lebih dari satu input dan lebih dari
satu output akan disebut SLMI multi input multi output (MIMO).
Dalam buku ini, SLMI yang dibahas dibatasi pada SLMI SISO. Secara
khusus SLMI SISO mempunyai persamaan berikut:
x(k+1) = A x(k) B u(k + 1)
(3.2.2)
y(k) = C x(k)
untuk k = 1, 2, 3, ... , kondisi awal x(0) = 𝒙0, A nn
maxR , B n
maxR , C n1
maxR .
Vektor x(k) n
maxR menyatakan keadaan, skalar u(k) maxR menyatakan input,
skalar y(k) maxR menyatakan output sistem untuk saat waktu ke-k. Selanjutnya
SLMI yang dimaksud adalah SLMI SISO dan kadang-kadang hanya disebut
“sistem” apabila konteksnya sudah jelas. Sistem Produksi Sederhana dalam subbab
1.2 merupakan contoh SLMI SISO.
Dalam situasi tertentu ada suatu SLMI yang keadaannya tidak dipengaruhi
kedatangan input, yang disebut SLMI autonomous, seperti diberikan dalam definisi
berikut.
Definisi 3.2.2 (SLMI Autonomous)
SLMI autonomous adalah SLMI yang mempunyai persamaan berikut:
x(k+1) = A x(k)
(3.2.3)
y(k) = C x(k)
untuk k = 1, 2, 3, ... , dengan kondisi awal x(0) = 𝒙0 , A nn
maxR , B n
maxR ,
C n1
maxR .
39
Secara singkat SLMI autonomous seperti dalam definisi di atas dituliskan
dengan SLMI (A, C, 𝒙0) dengan 𝒙0 . Interpertasi SLMI autonomous dalam
sistem produksi sederhana adalah bahwa keadaan awal sistem, buffer input dan
beberapa buffer internal tidak kosong (𝒙0 ), kemudian bahan baku dimasukkan
pada sistem dengan laju tertentu sedemikan hingga buffer input tidak pernah
kosong. Jadi mesin-mesin sudah bekerja pada kondisi awal, dan untuk berikutnya
tidak perlu menunggu kedatangan input, karena input sudah selalu tersedia.
Selanjutnya dibahas analisis dan beberapa masalah input-output SLMI. Jika
kondisi awal dan suatu barisan input diberikan untuk suatu SLMI (A, B, C, 𝒙0 ),
maka secara rekursif dapat ditentukan suatu barisan vektor keadaan sistem dan
barisan output sistem.
Contoh 3.2.3
Diperhatikan sistem produksi sederhana dalam subbab 1.2. Misalkan kondisi awal
sistem x(0) = [0, 1, ]T , yang berarti unit pemrosesan P1 dan P2 berturut-turut
memulai aktifitasnya saat waktu 0 dan 1 sementara unit pemrosesan P3 masih
kosong dan harus menunggu datangnya input dari P1 dan P2 . Bahan mentah
dimasukkan sistem saat waktu 0, 9, 12, 24 dan seterusnya, yang berarti diberikan
barisan input u(1) = 0, u(2) = 9, u(3) = 12, u(4) = 24, dan seterusnya, dengan u(k)
u(k+1) untuk setiap k = 1, 2, 3, ... . Secara rekursif dapat ditentukan barisan vektor
keadaan berikut
x(1) = A x(0) B u(1) =
31211
6
5
1
0
8
0
2
0 =
13
7
5
8
0
2
=
13
7
5
x(2) = A x(1) B u(2) =
19
13
10
17
9
11
=
19
13
11
,
x(3) = A x(2) B u(3) =
25
19
16
20
12
14
=
25
19
16
,
40
x(4) = A x(3) B u(4) =
31
25
21
32
24
26
=
32
25
26
, dan seterusnya .
Kemudian diperoleh barisan output sistem sebagai berikut:
y(1) = 16, y(2) = 22, y(3) = 28, y(4) = 35, dan seterusnya, yang berarti produk
akan meninggalkan sistem saat waktu 16, 22, 28, 35 dan seterusnya..
Untuk SLMI autonomous (A, C, 𝒙0) dengan 𝒙0 , jika kondisi awal
diberikan, maka secara rekursif juga dapat ditentukan barisan keadaan sistem dan
barisan output sistem yang bersesuaian dengan kondisi awal tersebut.
Secara umum sifat input-output SLMI (A, B, C, 𝒙0 ) diberikan dalam
teorema berikut.
Teorema 3.2.5 (Input-Output SLMI (A, B, C, 𝒙0 ))
Diberikan suatu bilangan bulat positip p. Jika vektor output y = [y(1), y(2), ... ,
y(p)]T dan vektor input u = [u(1), u(2), ... , u(p)]T pada SLMI (A, B, C, x0 ) , maka
y = K 𝒙0 H u
dengan
K =
pAC
AC
AC
2
dan H =
BCBACBAC
BCBAC
BC
pp
21
.
Bukti: Jika diberikan kondisi awal x(0) = 𝒙0 dan barisan input 0)( kku , dengan
induksi matematik akan dibuktikan berlaku
x(k) = (k
A x(0) ) (
k
i 1
( ik
A B u(i) ) untuk k = 1, 2, 3, ... .
(3.2.4)
Diperhatikan bahwa x(1) = A x(0) B u(1) = A x(0) 0A B u(1)
= (1A x(0) ) (
1
1i
( i
A1 B u(i) ).
41
Jadi (3.2.4) benar untuk k = 1.
Misalkan benar untuk k = n : x(n) = (n
A x(0) ) (
n
i 1
( in
A B u(i) ),
maka x(n +1) = A x(n) B u(n +1)
= A ((n
A x(0) ) (
n
i 1
( in
A B u(i) ) ) B u(n +1)
= ((1n
A x(0) ) (
n
i 1
(in
A )1( B u(i) ) ) B u(n +1)
= ((1n
A x(0) ) (
1
1
n
i
(in
A )1( B u(i) ) ) B u(n +1).
Jadi (3.2.4) benar untuk k = n +1.
Akibatnya diperoleh
y(k) = (C k
A x(0)) (
k
i 1
C ik
A B u(i) ) (3.2.5)
untuk k = 1, 2, 3, ... .
Diberikan suatu bilangan bulat positip p. Jika didefinisikan y = [y(1), y(2), ... ,
y(p)]T dan u = [u(1), u(2), ... , y(p)]T maka dari persamaan (3.2.2) diperoleh:
y(1) = C A x(0) C B u(1)
y(2) = C 2A x(0) C A B u(1) C B u(2)
y(p) = C p
A x(0) C 1 p
A B u(1) C 2 p
A B u(2)
. . . C B u(p).
atau dalam persamaan matriks dapat dituliskan sebagai
)(
(2)
(1)
py
y
y
=
pAC
AC
AC
2
x(0)
42
BCBACBAC
BCBAC
BC
pp
21
)(
(2)
(1)
pu
u
u
atau y = K x(0) H u (3.2.6)
dengan
K =
pAC
AC
AC
2
dan H =
BCBACBAC
BCBAC
BC
pp
21
. ■
Dalam sistem produksi, Teorema 3.2.5 berarti bahwa jika diketahui kondisi
awal sistem dan barisan waktu saat bahan mentah dimasukkan ke sistem, maka
dapat ditentukan barisan waktu saat produk selesai diproses dan meninggalkan
sistem.
Contoh 3.2.6
Diperhatikan sistem produksi sederhana dalam subbab 1.2. Didefinisikan
y = [y(1), y(2), y(3), y(4)]T. Jika diberikan x(0) = [0, 1, ]T dan u = [0, 9, 12, 24 ]T,
maka diperoleh y = K x(0) H u dengan
K =
153329
122724
92119
61514
dan H =
11162127
111621
1116
11
.
Diperhatikan bahwa
y = K x(0) H u =
33
28
22
16
35
25
20
11
=
35
28
22
16
.
Hal ini berarti bahwa jika kondisi awal x(0) = [0, 1, ]T dan bahan baku dimasukkan
ke dalam sistem pada saat waktu u(1) = 0, u(2) = 9, u(3) = 12, u(4) = 15, maka
43
produk selesai dan akan meninggalkan sistem pada saat waktu y(1) = 16, y(2) = 22,
y(3) = 28, y(4) = 34. Hasil pada contoh ini sesuai dengan Contoh 3.2.3 di atas.
Secara khusus untuk SLMI (A, B, C, ) diperoleh sifat input-otputnya dalam
akibat berikut.
Akibat 3.2.7 (Input-Output SLMI (A, B, C, ))
Diberikan suatu bilangan bulat positip p. Jika vektor output y = [y(1), y(2), ... ,
y(p)]T dan vektor input u = [u(1), u(2), ... , u(p)]T pada SLMI (A, B, C, ) , maka
y = H u
dengan
H =
BCBACBAC
BCBAC
BC
pp
21
.
Bukti: Seperti bukti Teorema 3.2.3, dengan mengambil 𝒙0 = . ■
Dalam sistem produksi, SLMI (A, B, C, ) berarti bahwa keadaan awal
sistem, semua penyangga dalam keadaan kosong dan tidak ada unit pemrosesan
yang memuat bahan mentah atau produk setengah-jadi.
Contoh 3.2.8
Diperhatikan sistem produksi sederhana dalam subbab 1.2. Didefinisikan y = [y(1),
y(2), y(3), y(4)]T. Jika diberikan x(0) = , dan u = [0, 9, 12, 15 ]T, maka
diperoleh y = H u dengan H =
11162127
111621
1116
11
.
44
Diperhatikan bahwa y = H u =
11162127
111621
1116
11
15
12
9
0
=
30
25
20
11
.
Hal ini berarti bahwa jika keadaan awal sistem semua penyangga dalam keadaan
kosong dan tidak ada unit pemrosesan yang memuat bahan mentah atau produk
setengah-jadi dan bahan baku dimasukkan ke dalam sistem pada saat waktu u(1) =
0, u(2) = 9, u(3) = 12, u(4) = 15, maka produk selesai dan akan meninggalkan sistem
pada saat waktu y(1) = 11, y(2) = 20, y(3) = 25, y(4) = 30.
Teorema 3.2.9 (Input-Output SLMI Autonomous)
Diberikan suatu bilangan bulat positip p. Jika vektor output y = [y(1), y(2), ... ,
y(p)]T pada SLMI Autonomous (A, C, 𝒙0 ) dengan 𝒙0 , maka
y = K x(0)
dengan
K =
pAC
AC
AC
2
.
Bukti: Dengan kondisi awal x(0) = 𝒙0 , dengan induksi matematik akan
dibuktikan bahwa x(k) = k
A x(0), untuk k = 1, 2, 3, ... . (3.2.7)
Diperhatikan bahwa x(1) = A x(0) = 1A x(0). Jadi (3.2.4) benar untuk k = 1.
Misalkan (3.2.4) benar untuk k = n yaitu x(n) = n
A x(0), maka
x(n + 1) = A x(n) = A (n
A x(0)) = 1n
A x(0). Jadi (3.2.4) benar
untuk k = n + 1.
Akibatnya diperoleh
y(k) = C k
A x(0), untuk k = 1, 2, 3, ... , sehingga
45
)(
(2)
(1)
py
y
y
=
pAC
AC
AC
2
x(0) untuk suatu bilangan bulat positip p. ■
Diperhatikan dua barisan input 1u = 01 )(
kku dan 2u =
02 )(k
ku .
Misalkan 1y = 11 )(
kky adalah barisan output yang bersesuaian dengan barisan
input 1u (dengan kondisi awal 01,x ) dan 2y =
12 )(k
ky adalah barisan output yang
bersesuaian dengan barisan input 2u (dengan kondisi awal 02,x ) serta , maxR .
Dengan menggunakan persamaan (3.2.3) dan sifat-sifat pada Teorema 2.2.4, maka
dengan barisan input 1u 2u =
021 )()(
kkuku (dengan
kondisi awal 0x =
01,x 02,x ) untuk SLMI (A, B, C,
0x )) diperoleh
K ( 01,x
02,x ) H ( 1u 2u )
= (K 01,x ) (K
02,x ) (H 1u ) (H 2u )
= (K 01,x H 1u ) (K
02,x H 2u )
= (K 01,x H 1u ) (K
02,x H 2u )
= 1y 2y .
Jadi jika barisan input 1u dan 2u berturut-turut akan memberikan barisan output 1y
dan 2y , maka barisan input 1u 2u akan memberikan barisan output
1y 2y . Hal ini merupakan suatu alasan bahwa sistem (3.2.1) disebut
sistem linear max-plus.
Berikut dibahas masalah input paling lambat pada SLMI (A, B, C,0x ).
Masalah input paling lambat pada SLMI (A, B, C,0x ) adalah sebagai berikut:
Diberikan suatu bilangan bulat positip p. Diketahui vektor output
y = [y(1), y(2), ... , y(p)]T. Misalkan vektor u = [u(1), u(2), ... , u(p)]T adalah
vektor input. Permasalahannya adalah menentukan vektor input u terbesar
46
(waktu paling lambat) sehingga memenuhi K 0x H u m y, dengan
K dan H seperti dalam Teorema 3.2.9.
Dalam sistem produksi, masalah ini mempunyai interpretasi sebagai
berikut. Misalkan diketahui vektor y adalah vektor waktu paling lambat agar produk
harus meninggalkan sistem. Permasalahannya adalah menentukan vektor u yaitu
vektor waktu paling lambat saat bahan baku harus dimasukkan ke dalam sistem.
Terlebih dahulu diperhatikan untuk SLMI (A, B, C, ). Penyelesaian
masalah input paling lambat pada SLMI (A, B, C, ) dengan C B diberikan
dalam teorema berikut.
Teorema 3.2.10
Penyelesaian masalah input paling lambat pada SLMI (A, B, C, ) dengan
C B diberikan oleh u = T)]( , (2), (1),[ puuu ˆˆˆ dengan )(ku =
))(( max1
k,ipi
Hiy
, untuk k = 1, 2, ..., p.
Bukti: Karena K = , maka K H u = H u . Akibatnya masalah
input paling lambat pada SLMI (A, B, C, ) menjadi masalah menentukan vektor
input u terbesar (waktu paling lambat) yang memenuhi H u m y. Masalah ini
merupakan masalah menentukan subpenyelesaian terbesar sistem persamaan linear
max-plus H u = y. Karena C B , maka komponen setiap kolom matriks H
tidak semuanya sama dengan . Menurut Teorema 3.1.4 subpenyelesaian terbesar
sistem persamaan linear max-plus H u = y diberikan oleh vektor u =
T)]( , (2), (1),[ puuu ˆˆˆ dengan )(ku = ))(( max1
k,ipi
Hiy
, k = 1, 2, ...., p. ■
Contoh 3.2.11
Diperhatikan sistem produksi sederhana dalam subbab 1.2 Misalkan diinginkan
penyelesaian produk sebelum saat y(1) = 17, y(2) = 19, y(3) = 24, y(4) = 27, dengan
47
waktu pemasukkan bahan baku ke dalam sistem yang selambat mungkin. Misalkan
y = [y(1), y(2), y(3), y(4)]T dan u = [u(1), u(2), u(3), u(4)]T. Masalah ini diselesaikan
dengan cara menentukan subpenyelesaian terbesar sistem persamaan linear max-
plus
H u = y, yaitu
11162127
111621
1116
11
)(
)(
)(
)(
4
3
2
1
u
u
u
u
=
27
25
19
17
.
Terlebih dulu diperhatikan bahwa
u = H T ( y) =
11
1611
211611
27211611
27
24
19
17
=
16
11
6
0
.
Jadi subpenyelesaian terbesar sistem persamaan linear max-plus H u = y di atas
adalah vektor u = [0, 6, 11, 16]T. Hal ini berarti bahwa bahan baku harus
dimasukkan ke sistem pada saat waktu u (1) = 0, u (2) = 6, u (3) = 11, u (4) = 16.
Dengan waktu input u ini, diperoleh waktu output sistem adalah y = H u =
[11, 17, 22, 27]T yaitu y (1) = 11, y (2) = 17, y (3) = 22, y (4) = 27.
Pembahasan penyelesaian masalah input paling lambat pada
SLMI (A, B, C, ) di atas dapat sedikit diperluas untuk SLMI (A, B, C, 0x ) dengan
0x , seperti diberikan dalam teorema berikut.
Teorema 3.2.12
Diberikan SLMI (A, B, C,0x ) dengan C B . Jika K
0x m
y , maka
penyelesaian masalah input paling lambat pada SLMI (A, B, C, 0x ) diberikan oleh
u = T)]( , (2), (1),[ puuu ˆˆˆ dengan )(ku = ))(( max1
k,ipi
Hiy
, k = 1, 2, ..., p.
Bukti: Karena K x0 m y, maka K
0x H u = y H u = y. Selanjutnya
bukti seperti pada bukti Teorema 3.2.10 di atas. ■
48
Berikut dibahas masalah minimisasi simpangan maksimum output pada
SLMI (A, B, C,0x ). Masalah minimisasi simpangan maksimum output pada
SLMI (A, B, C, 0x ) adalah sebagai berikut.
Diberikan suatu bilangan bulat positip p. Diketahui vektor output
y = [y(1), y(2), ... , y(p)]T. Misalkan vektor u = [u(1), u(2), ... , u(p)]T adalah
vektor input. Permasalahannya adalah menentukan vektor input u sehingga
ii
HK ))((max 0 uxy minimal dengan K dan H seperti dalam Teorema
3.2.5.
Interpretasi masalah ini dalam sistem produksi adalah sebagai berikut.
Misalkan dimiliki bahan-bahan mentah yang tidak tahan lama. Kemudian
diinginkan meminimalkan simpangan maksimal antara waktu penyelesaian yang
diinginkan dengan waktu penyelesaian yang sesungguhnya.
Terlebih dahulu diperhatikan untuk SLMI (A, B, C, ). Penyelesaian
masalah minimisasi simpangan maksimum output pada SLMI (A, B, C, ) dengan
C B diberikan dalam teorema berikut.
Teorema 3.2.13
Penyelesaian masalah minimisasi simpangan maksimum output pada
SLMI(A, B, C, ) dengan C B diberikan oleh vektor u~ = u 2
δ, dengan
u subpenyelesaian terbesar sistem H u = y dan = ii
ˆH )(max uy .
Bukti: Karena K = , maka K H u = H u. Akibatnya masalah
minimisasi simpangan maksimum output ini menjadi menentukan vektor input u
sedemikian hingga ii
H )(max uy minimal. Masalah ini merupakan masalah
optimisasi yang berkaitan dengan sistem persamaan linear max-plus H u = y,
seperti pada pembahasan subbab 3.1 di atas. Karena C B , maka komponen
setiap kolom matriks H tidak semuanya sama dengan .. Menurut Teorema 3.1.11
49
suatu penyelesaian u~ untuk masalah di atas diberikan oleh u~ = u 2
δ, dengan
= ii
ˆH )(max uy dan u merupakan subpenyelesaian terbesar sistem
H u = y. ■
Contoh 3.2.14
Diperhatikan sistem produksi sederhana dalam subbab 1.2. Misalkan diinginkan
penyelesaian produk saat y(1) = 17, y(2) = 19, y(3) = 24, y(4) = 27 dengan
meminimalkan simpangan maksimum antara waktu yang diberikan dengan waktu
sesungguhnya. Misalkan y = [y(1), y(2), y(3), y(4)]T dan u = [u(1), u(2), u(3), u(4)]T
Dari Contoh 3.2.11 diperoleh bahwa u = [0, 6, 11, 16]T dengan y = H u =
[11, 17, 22, 27]T . Diperhatikan bahwa simpangan terbesar antara waktu output y
yang diberikan dengan waktu output sesungguhnya y adalah
=
yy ˆ = iii
uHy )(max41
ˆ
= max(6, 2, 2, 0) = 6.
Kemudian waktu input yang meminimalkan simpangan maksimum antara waktu
output yang diinginkan dengan waktu output sesungguhnya y adalah
u~ = u 2
δ = u 3 = [0, 6, 11, 16]T 3 = [3, 9, 14, 19]T.
Untuk wakatu input u~ ini diperoleh waktu output berikut:
y~ = H u~ = [14, 20, 25, 30]T.
Simpangan terbesar antara waktu penyelesaian (waktu output) yang diinginkan dan
waktu penyelesaian sesungguhnya ( y~ ) adalah
iii
uHy )(max ~ = max (3, 1, 1, 3) = 3 = 2
6 =
2
δ .
Pembahasan penyelesaian masalah minimisasi simpangan maksimum
output pada SLMI (A, B, C, ) di atas juga dapat sedikit diperluas untuk
SLMI(A, B, C, 0x ) dengan
0x , seperti diberikan dalam teorema berikut.
50
Teorema 3.2.15
Diberikan SLMI (A, B, C, 0x ) dengan C B . Jika K
0x m
y maka
penyelesaian masalah minimisasi simpangan output pada SLMI (A, B, C,0x )
diberikan oleh u~ = u 2
, dengan u merupakan subpenyelesaian terbesar
sistem H u = y dan = ii
ˆH )(max uy .
Bukti: Karena K 0x m y, maka K
0x H u = y H u = y. Selanjutnya
bukti seperti pada bukti Teorema 3.2.13 di atas. ■
Untuk memudahkan perhitungan dalam perhitungan dalam sistem di atas,
berikut diberikan list program MATLAB untuk perhitungan masalah-masalah di
atas.
% Program Matlab Menghitung INPUT-OUTPUT Sistem Linear Max-Plus
Waktu-Invariant
% Oleh: M. Andy Rudhito FKIP Universitas Sanata Dharma % input: A = matriks max-plus Anxn
% B = matriks nx1
% C = matriks 1xn
% x0 = kondisi awal
% u = barisan input
% output: x(k) = barisan keadaan sistem
% y(k) = barisan output sistem
function io_SLMI = maxio
% Memasukkan input
disp(' ')
disp(' INPUT-OUTPUT SLMI(A, B, C, x0) ')
disp(' --------------------------------')
disp(' ')
A = input(' Masukkan matriks A(nxn) = ');
disp(' ')
B = input(' Masukkan matriks B(nx1) = ');
disp(' ')
C = input(' Masukkan matriks C(1xn) = ');
disp(' ')
x0 = input(' Masukkan kondisi awal x0(nx1) = ');
disp(' ')
u = input(' Masukkan barisan input sp kej ke-k u(kx1) = ');
disp(' ')
q = length(u);
[a1, a2] = size(A);
L = zeros(a1,q);
51
M = zeros(1,q);
L(:,1)= x0;
% Menghitung x(1) = Ax(0) + Bu(1)
[x01, x02] = size(x0);
for i = 1 : a1
for j = 1 : x02
Ax0(i, j) = -Inf;
for p = 1: a2
Ax0(i, j) = max(Ax0(i, j) , A(i, p) + x0(p, j));
end;
end;
end;
x = max(Ax0, B+u(1));
% Menghitung y(1) = Cx(1)
[c1, c2] = size(C);
[x1, x2] = size(x);
for i = 1 : c1
for j = 1 : x2
Cx(i, j) = -Inf;
for p = 1: c2
Cx(i, j) = max(Cx(i, j) , C(i, p) + x(p, j));
end;
end;
end;
L(:,2)= x;
M(1,1)= Cx;
% Menghitung x(k+1) = Ax(k) + Bu(k+1) dan Menghitung y(k) =
Cx(k) utk k=1,2,...,p
% Menghitung x(k+1) = Ax(k) + Bu(k+1)
[a1, a2] = size(A);
[x1, x2] = size(x);
for r = 1 : q-1;
for i = 1 : a1
for j = 1 : x2
Ax(i, j) = -Inf;
for p = 1: a2
Ax(i, j) = max(Ax(i, j) , A(i, p) + x(p, j));
end;
end;
end;
x = max(Ax, B+u(r+1));
% Menghitung y(k) = Cx(k)
[c1, c2] = size(C);
[x1, x2] = size(x);
for i = 1 : c1
for j = 1 : x2
Cx(i, j) = -Inf;
for p = 1: c2
Cx(i, j) = max(Cx(i, j) , C(i, p) + x(p, j));
end;
end;
end;
52
L(:,r+2)= x;
M(1,r+1)= Cx;
end;
% Menampilkan hasil perhitungan
disp(' HASIL PERHITUNGAN :')
disp(' ===================')
disp(' Matriks A = '),disp(A)
disp(' Matriks B = '),disp(B)
disp(' Matriks C = '),disp(C)
disp(' Kondisi awal x0 = '),disp(x0)
disp(' Barisan input u = '),disp(u')
disp(' Barisan vektor keadaan sistem x(k) utk k = 0,1, 2,
... : '), disp(L)
disp(' Barisan output sistem y(k) utk k = 1, 2, ... : '),
disp(M)
Gambar 3.2.1 List Program MATLAB Input-Output SLMI
% Program Matlab Menghitung INPUT-OUTPUT SLMI(A, C, x0)
AUTONOMOUS
% Oleh: M. Andy Rudhito FKIP Universitas Sanata Dharma % input: A = matriks max-plus Anxn
% C = matriks max-plus C1xn
% x0 = kondisi awal
% k = hitung sampai k
% Output: Barisan keadaan sampai kejadian ke-k
% Barisan output sistem sampai kejadian ke-k
function io_SLMI_autonomous = maxioauto
% Memasukkan input program
disp(' ')
disp(' INPUT-OUTPUT SLMI (A, C, x0) AUTONOMOUS')
disp(' -----------------------------------------')
disp(' ')
A = input(' Masukkan matriks A(nxn) = ');
disp(' ')
C = input(' Masukkan matriks C(1xn) = ');
disp(' ')
x0 = input(' Masukkan kondisi awal x0(nx1) = ');
disp(' ')
q = input(' Hitung sampai kejadian ke = ');
disp(' ')
[a1, a2] = size(A);
L = zeros(a1,q);
L(:,1)= x0;
% Menghitung x(k+1) = Ax(k)
x1=x0;
[x01, x02] = size(x0);
for r = 1 : q;
for i = 1 : a1
for j = 1 : x02
Ax0(i, j) = -Inf;
for p = 1: a2
53
Ax0(i, j) = max(Ax0(i, j) , A(i, p) + x1(p,
j));
end;
end;
end;
L(:,r+1)= Ax0;
x1=Ax0;
end;
% Menghitung output y = C*x(k)
[c1, c2]= size(C);
[l1, l2]=size(L);
for i = 1:c1
for j = 1: l2
y(i, j) = -Inf;
for p = 1: c2
y(i, j) = max(y(i, j) , C(i, p) + L(p, j));
end;
end;
end;
% Menampilkan output program
disp(' HASIL PERHITUNGAN :')
disp(' ===================')
disp(' Matriks A = '),disp(A)
disp(' Matriks C = '),disp(C)
disp(' Kondisi awal x0 = '),disp(x0)
disp(' Barisan vektor keadaan sistem utk k = 0, 1, 2, ... :
'), disp(L)
disp(' Barisan output sistem utk k = 1, 2, ... : '), disp(y)
Gambar 3.2.2 List Program MATLAB Input-Output SLMI Autonomous
% Program Matlab Menghitung BARISAN KEADAAN x(k) SLMI AUTONOMOUS
tanpa output
% Oleh: M. Andy Rudhito FKIP Universitas Sanata Dharma % input: A = matriks max-plus Anxn
% x0 = kondisi awal
% k = hitung sampai k
% Output: Barisan keadaan sampai kejadian ke-k
function keadaan_SLMI_autonomous = maxauto
% Memasukkan input program
disp(' ')
disp(' BARISAN KEADAAN x(k) SLMI AUTONOMOUS tanpa
output')
disp(' ----------------------------------------------
----')
disp(' ')
A = input(' Masukkan matriks A(nxn) = ');
disp(' ')
x0 = input(' Masukkan kondisi awal x0(nx1) = ');
disp(' ')
q = input(' Hitung sampai kejadian ke = ');
disp(' ')
[a1, a2] = size(A);
L = zeros(a1,q);
54
L(:,1)= x0;
% Menghitung x(k+1) = Ax(k)
x1=x0;
[x01, x02] = size(x0);
for r = 1 : q;
for i = 1 : a1
for j = 1 : x02
Ax0(i, j) = -Inf;
for p = 1: a2
Ax0(i, j) = max(Ax0(i, j) , A(i, p) + x1(p,
j));
end;
end;
end;
L(:,r+1)= Ax0;
x1=Ax0;
end;
% Menampilkan output program
disp(' HASIL PERHITUNGAN :')
disp(' ===================')
disp(' Matriks A = '),disp(A)
disp(' Kondisi awal x0 = '),disp(x0)
disp(' Barisan vektor keadaan sistem utk k= 0, 1, 2, ... : '),
disp(L)
Gambar 3.2.3 List Program MATLAB Input-Output SLMIA Tanpa Output
% Program Matlab Menghitung OPTIMISASI INPUT-OUTPUT Sistem
Linear Max-Plus Waktu-Invariant
% Oleh: M. Andy Rudhito FKIP Universitas Sanata Dharma % input: A = matriks max-plus Anxn
% B = matriks nx1
% C = matriks 1xn
% x0 = kondisi awal
% y = barisan output
% output:u_topi = barisan input paling lambat
% y_topi = barisan outpout untuk u_topi
% u_tilde = barisan input minimum simpangan
% y_tilde = barisan output untuk u_tilde
function opt_input_output = optio
% Memasukkan input
disp(' ')
disp(' OPTIMISASI INPUT-OUTPUT Sistem Linear Max-Plus
Waktu-Invariant')
disp(' ------------------------------------------------
----')
disp(' ')
A = input(' Masukkan matriks A = ');
disp(' ')
B = input(' Masukkan matriks B = ');
disp(' ')
C = input(' Masukkan matriks C = ');
disp(' ')
55
x0 = input(' Masukkan kondisi awal x0 = ');
disp(' ')
y = input(' Masukkan barisan output (dalam vektor kolom) y =
');
disp(' ')
q = length(y);
% Menghitung C*B = CB
[c1, c2] = size(C);
[b1, b2] = size(B);
for i = 1 : c1
for j = 1 : b2
CB(i, j) = -Inf;
for p = 1: c2
CB(i, j) = max(CB(i, j) , C(i, p) + B(p, j));
end;
end;
end;
% Menghitung C*A = CA
[c1, c2] = size(C);
[a1, a2] = size(A);
for i = 1:c1
for j = 1: a2
CA(i, j) = -Inf;
for p = 1: c2
CA(i, j) = max(CA(i, j) , C(i, p) + A(p, j));
end;
end;
end;
L = zeros(q,a2);
L(1,:)= CA;
% Menghitung (C*A)*B
[ca1, ca2] = size(CA);
[b1, b2] = size(B);
for i = 1:ca1
for j = 1: b2
CAB(i, j) = -Inf;
for p = 1: ca2
CAB(i, j) = max(CAB(i, j) , CA(i, p) + B(p,
j));
end;
end;
end;
% Menghitung A^k = Ak
[a1, a2]= size(A);
D = A;
for r = 1 : q-1
r+1;
for i = 1 : a1
for j = 1 : a2
Ak(i, j) = -Inf;
for p = 1: a2
56
Ak(i, j) = max(Ak(i, j) , A(i, p) + D(p, j));
end;
end;
end;
% Menghitung C*A^k = CAk
[c1, c2] = size(C);
[ak1, ak2] = size(Ak);
for i = 1 : c1
for j = 1: ak2
CAk(i, j) = -Inf;
for p = 1: c2
CAk(i, j) = max(CAk(i, j) , C(i, p) + Ak(p,
j));
end;
end;
end;
L(r+1,:)=CAk;
% Menghitung CAkB
[cak1, cak2] = size(CAk);
[b1, b2] = size(B);
for i = 1:cak1
for j = 1: b2
CAkB(i, j) = -Inf;
for p = 1: cak2
CAkB(i, j) = max(CAkB(i, j) , CAk(i, p) + B(p,
j));
end;
end;
end;
% Menyusun matriks H
for i = 1 : q
for j = 1 : q
if i < j
H(i,j) = -Inf;
end;
if i == j
H(i,j) = CB;
end;
if (i-j) ==1
H(i,j)= CAB;
end;
if (i-j) == r+1
H(i,j)= CAkB;
end;
if (i-j) > q
H(i,j)=[];
end;
end;
end;
D = Ak;
end;
% Menghitung K*x0
[l1, l2] = size(L);
57
[x01, x02] = size(x0);
for i = 1 : l1
for j = 1 : x02
Kx0(i, j) = -Inf;
for p = 1: l2
Kx0(i, j) = max(Kx0(i, j) , L(i, p) + x0(p,
j));
end;
end;
end;
if max(Kx0 - y)<=0
% Menghitung input paling lambat u1 (H*(-y))
Ht=H';
my = -y;
[ht1, ht2] = size(Ht);
[my1, my2] = size(my);
for i = 1 : ht1
for j = 1 : my2
Htmy(i, j) = -Inf;
for p = 1: ht2
Htmy(i, j) = max(Htmy(i, j) , Ht(i, p) + my(p,
j));
end;
end;
end;
u_topi = -Htmy;
% Mengitung H*u_topi
[h1, h2] = size(H);
[utp1, utp2] = size(u_topi);
for i = 1 : h1
for j = 1 : utp2
Hutp(i, j) = -Inf;
for p = 1: h2
Hutp(i, j) = max(Hutp(i, j) , H(i, p) +
u_topi(p, j));
end;
end;
end;
Hutp;
% Menghitung barisan output y untuk u_topi
y_topi = max(Kx0, Hutp);
% Menghitung input minimum simpangan
delta = max(abs(y - y_topi));
u_tilde = u_topi + delta/2;
% Mengitung H*u_tilde
[h1, h2] = size(H);
[utd1, utd2] = size(u_tilde);
for i = 1 : h1
for j = 1 : utd2
Hutd(i, j) = -Inf;
for p = 1: h2
58
Hutd(i, j) = max(Hutd(i, j) , H(i, p) +
u_tilde(p, j));
end;
end;
end;
Hutd;
% Menampilkan hasil perhitungan
disp(' HASIL PERHITUNGAN :')
disp(' ===================')
disp('Matriks A = '),disp(A)
disp('Matriks B = '),disp(B)
disp('Matriks C = '),disp(C)
disp('Kondisi awal x0 = '),disp(x0)
disp('Barisan output y = '),disp(y)
disp('Barisan input paling lambat u_topi = '), disp((u_topi)')
disp('Barisan output y untuk u_topi = '), disp((y_topi)')
disp('Barisan input minimum simpangan u_tilde = '),
disp((u_tilde)')
disp('Barisan output y untuk u_tilde = '), disp((Hutd)')
else
disp('Input Minimum Simpangan tidak dapat dikerjakan (Kx0 >
y)')
end;
Gambar 3.2.4 List Program MATLAB Optimisasi Input-Output SLMI
3.3 Eksistensi dan Ketunggalan SPLIO Max-Plus
Pada pembahasan sebelumnya telah dibahas mengenai sub-penyelesaian
terbesar dari sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃. Pada bagian ini akan dibahas mengenai
eksistensi dan ketunggalan penyelesaian sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃.
Diberikan matriks A nm
maxR dengan elemen-elemen pada setiap kolomnya
tidak semuanya sama dengan 𝜀 dan b m
R . Sub-penyelesaian terbesar merupakan
calon penyelesaian sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 yakni vektor 𝒙∗ dengan
−𝒙∗ = [
−𝑥∗1
−𝑥∗2
⋮−𝑥∗
𝑛
] =
[ max
𝑖(−𝑏𝑖 + 𝑎𝑖1)
max𝑖
(−𝑏𝑖 + 𝑎𝑖2)
⋮max
𝑖(−𝑏𝑖 + 𝑎𝑖𝑛)]
=
[ max
𝑖(𝑎𝑖1 − 𝑏𝑖)
max𝑖
(𝑎𝑖2 − 𝑏𝑖)
⋮max
𝑖(𝑎𝑖𝑛 − 𝑏𝑖)]
= [
max{𝑎11 − 𝑏1, 𝑎21 − 𝑏2, … , 𝑎𝑚1 − 𝑏𝑚}
max{𝑎12 − 𝑏1, 𝑎22 − 𝑏2, … , 𝑎𝑚2 − 𝑏𝑚}⋮
max{𝑎1𝑛 − 𝑏1, 𝑎2𝑛 − 𝑏2, … , 𝑎𝑚𝑛 − 𝑏𝑚}
]
Selanjutnya didefinisikan matriks ‘discrepancy’ dinotasikan dengan 𝐷𝐴,𝑏 di mana
59
𝐷𝐴,𝑏 = [
𝑎11 − 𝑏1 𝑎12 − 𝑏1 … 𝑎1𝑛 − 𝑏1
𝑎21 − 𝑏2 𝑎22 − 𝑏2 … 𝑎2𝑛 − 𝑏2
⋮𝑎𝑚1 − 𝑏𝑚
⋮𝑎𝑚2 − 𝑏𝑚
⋱ …
⋮𝑎𝑚𝑛 − 𝑏𝑚
]
Catatan bahwa setiap −𝑥∗𝑗 dapat ditentukan dengan mengambil nilai maksimum
dari setiap kolom 𝐷𝐴,𝑏.
Untuk memprediksi banyaknya penyelesaian persamaan 𝐴 ⨂ 𝒙 = 𝒃, maka
selanjutnya didefinisikan matriks 𝑅𝐴,𝑏 yang merupakan reduksi matriks 𝐷𝐴,𝑏
sebagai berikut
𝑅𝐴,𝑏 = [𝑟𝑖𝑗] di mana 𝑟𝑖𝑗 = {1 jika 𝑑𝑖𝑗 = maksimum kolom 𝑗
0 untuk yang lainnya .
Di bawah ini akan diberikan contoh-contoh penyelesaian sistem persamaan
𝐴 ⨂ 𝒙 = 𝒃.
Contoh 3.3.1
Akan ditentukan penyelesaian sistem 𝐴 ⨂ 𝒙 = 𝒃 , dengan
𝐴 = [
1 6 114 1 2810
−15
012
], 𝒙 = [
𝑥1
𝑥2
𝑥3
], dan 𝒃 = [
125813
].
Berdasarkan matriks 𝐴 dan vektor 𝒃 diperoleh matriks
𝐷𝐴,𝑏 = [
1 − 12 6 − 12 11 − 124 − 58 − 8
10 − 13
1 − 5−1 − 85 − 13
2 − 50 − 8
12 − 13
] = [
−11 −6 −1−1 −4 −30
−3−9−8
−8−1
]
𝑅𝐴,𝑏 = [
0 0 10 1 010
00
01
].
Perhatikan bahwa terdapat elemen bernilai 1 pada tiap baris matriks 𝑅𝐴,𝑏. Karena
pada tiap kolom matriks 𝑅𝐴,𝑏 pasti terdapat elemen bernilai 1, maka sistem
persamaan 𝐴 ⨂ 𝒙 = 𝒃 pada contoh ini hanya memiliki satu penyelesaian. Elemen-
elemen dari vektor penyelesaian dapat ditentukan dengan mengambil nilai
maksimum dari tiap kolom 𝐷𝐴,𝑏, yakni:
−𝑥′1 = max{−11,−1,0, −3} = 0
60
−𝑥′2 = max{−6,−4, −9,−8} = −4
−𝑥′3 = max{−1,−3, −8,−1} = −1
Dengan demikian, 𝒙∗ = [0, 4, 1]𝑇 merupakan calon penyelesaian sekaligus
menjadi satu-satunya penyelesaian dari sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃. Hal ini
ditunjukkan sebagai berikut
𝐴 ⨂𝒙∗ = [
1 6 114 1 2810
−15
012
]⨂ [041] = [
max{1,10,12}
max{4,5,3}
max{8,3,1}
max{10,9,13}
] = [
125813
] = 𝒃.
Contoh 3.3.2
Akan ditentukan penyelesaian sistem 𝐴 ⨂ 𝒙 = 𝒃 , dengan
𝐴 = [2 1 30 𝜀 64 0 2
], 𝒙 = [
𝑥1
𝑥2
𝑥3
], dan 𝒃 = [435].
Berdasarkan matriks 𝐴 dan vektor 𝒃 diperoleh matriks
𝐷𝐴,𝑏 = [2 − 4 1 − 4 3 − 40 − 3 𝜀 − 3 6 − 34 − 5 0 − 5 2 − 5
] = [−2 −3 −1−3 𝜀 3−1 −5 −3
]
𝑅𝐴,𝑏 = [0 1 00 0 11 0 0
].
Perhatikan bahwa terdapat elemen bernilai 1 pada tiap baris matriks 𝑅𝐴,𝑏. Hal ini
berarti bahwa sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 pada contoh ini juga hanya memiliki
satu penyelesaian yakni 𝒙∗ = [0, 4, 1]𝑇. Hal ini ditunjukkan sebagai berikut
𝐴 ⨂ 𝒙∗ = [2 1 30 𝜀 64 0 2
]⨂ [13
−3] = [
max{3,4,0}
max{1, 𝜀, 3}
max{5,3, −1}] = [
435] = 𝒃 .
Contoh 3.3.1 dan 3.3.2 di atas merupakan contoh sistem persamaan
𝐴 ⨂ 𝒙 = 𝒃 yang memiliki penyelesaian tunggal baik untuk kasus 𝑚 > 𝑛 maupun
𝑚 = 𝑛. Berikut ini akan diberikan contoh-contoh sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃
yang tidak memiliki penyelesaian baik untuk kasus 𝑚 > 𝑛, 𝑚 = 𝑛 maupun kasus
𝑚 < 𝑛.
61
Contoh 3.3.3
Akan ditentukan penyelesaian sistem 𝐴 ⨂ 𝒙 = 𝒃 dengan
𝐴 = [
1 6 114810
1−15
2012
], 𝒙 = [
𝑥1
𝑥2
𝑥3
] dan 𝒃 = [
146813
].
Berdasarkan matriks 𝐴 dan vektor 𝒃 diperoleh matriks
𝐷𝐴,𝑏 = [
−13 −8 −3−2 −5 −40
−3−9−8
−8−1
] dan 𝑅𝐴,𝑏 = [
0 0 00 1 010
00
01
].
Berdasarkan matriks 𝐷𝐴,𝑏 diperoleh 𝒙∗ = [0, 5, 1]𝑇. Namun demikian, dari
matriks 𝑅𝐴,𝑏 di atas terlihat bahwa terdapat baris yang tidak memiliki nilai
maksimum yakni baris pertama atau dengan kata lain semua elemen dalam baris
pertama bernilai 0. Hal ini mengisyaratkan bahwa sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃
tidak memiliki penyelesaian. Hal ini diperkuat melalui perhitungan berikut:
𝐴 ⨂ 𝒙∗ = [
1 6 114810
1−15
2012
]⨂ [051] = [
max{1,11,12}
max{4,6,3}
max{8,4,1}
max{10,10,13}
] = [
126813
] ≤ [
146813
] = 𝒃.
Dengan demikian, 𝒙∗ hanya merupakan sub-penyelesaian terbesar dan bukan
merupakan penyelesaian sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃.
Contoh 3.3.4
Akan ditentukan penyelesaian sistem 𝐴 ⨂ 𝒙 = 𝒃, dengan
𝐴 = [2 1 30 𝜀 64 0 2
], 𝒙 = [
𝑥1
𝑥2
𝑥3
], dan 𝒃 = [835].
Berdasarkan matriks 𝐴 dan vektor 𝒃 diperoleh matriks
𝐷𝐴,𝑏 = [−6 −7 −5−3 𝜀 3−1 −5 −3
] dan 𝑅𝐴,𝑏 = [0 0 00 0 11 1 0
].
62
Berdasarkan matriks 𝐷𝐴,𝑏 diperoleh 𝒙∗ = [1, 5, −3]𝑇. Namun demikian, dari
matriks 𝑅𝐴,𝑏 di atas terlihat bahwa semua elemen dalam baris pertama bernilai 0.
Hal ini mengisyaratkan bahwa sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 dalam contoh ini tidak
memiliki penyelesaian. Hal ini juga diperkuat melalui perhitungan berikut:
𝐴 ⨂ 𝒙∗ = [2 1 30 𝜀 64 0 2
]⨂ [15
−3] = [
max{3,6,0}
max{1, 𝜀, 3}
max{5,5, −1}] = [
635] ≤ [
835] = 𝒃 .
Dengan demikian, 𝒙∗ hanya merupakan sub-penyelesaian terbesar dan bukan
merupakan penyelesaian sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃.
Contoh 3.3.5
Akan ditentukan penyelesaian sistem 𝐴 ⨂ 𝒙 = 𝒃, dengan
𝐴 = [1 0 3𝜀 4 2
], 𝒙 = [
𝑥1
𝑥2
𝑥3
], dan 𝒃 = [16] .
Berdasarkan matriks 𝐴 dan vektor 𝒃 diperoleh matriks
𝐷𝐴,𝑏 = [0 −1 2𝜀 −2 −4
] dan 𝑅𝐴,𝑏 = [1 1 10 0 0
] .
Berdasarkan matriks 𝐷𝐴,𝑏 diperoleh 𝒙∗ = [0, 1, −2]𝑇. Serupa dengan dua contoh
sebelumnya, sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 dalam contoh ini juga tidak memiliki
penyelesaian karena semua elemen pada baris kedua matriks 𝑅𝐴,𝑏-nya bernilai 0.
Hal ini ditunjukkan juga melalui perhitungan berikut:
𝐴 ⨂ 𝒙∗ = [1 0 3𝜀 4 2
]⨂ [01
−2] = [
max{1,1,1}
max{𝜀, 5,0}] = [
15] ≤ [
16] = 𝒃
Jadi, sistem persamaan linear tersebut hanya memiliki sub-penyelesaian terbesar
namun tidak mempunyai penyelesaian.
Selanjutnya akan diberikan contoh-contoh sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃
yang memiliki takhingga banyak penyelesaian baik untuk kasus 𝑚 > 𝑛, 𝑚 = 𝑛
maupun kasus 𝑚 < 𝑛.
Contoh 3.3.6
Akan ditentukan penyelesaian sistem 𝐴 ⨂ 𝒙 = 𝒃 dengan
63
𝐴 = [
1 6 114810
1−15
2012
], 𝒙 = [
𝑥1
𝑥2
𝑥3
], dan 𝒃 = [
145315
].
Berdasarkan matriks 𝐴 dan vektor 𝒃 diperoleh matriks
𝐷𝐴,𝑏 = [
−13 −8 −3−1 −4 −35
−5−4−10
−3−3
] dan 𝑅𝐴,𝑏 = [
0 0 10 1 110
10
11
].
Berdasarkan matriks 𝐷𝐴,𝑏 diperoleh 𝒙∗ = [−5, 4, 3]𝑇. Selanjutnya diperoleh
𝐴 ⨂ 𝒙∗ = [
1 6 114810
1−15
2012
]⨂ [−543
] = [
max{−4,10,14}
max{−1,5,5}
max{3,3,3}
max{5,9,15}
] = [
145315
] = 𝒃 ,
yang berarti 𝒙∗ merupakan penyelesaian dari 𝐴 ⨂ 𝒙 = 𝒃. Akan tetapi, pada baris
kedua dan ketiga matriks 𝑅𝐴,𝑏 terdapat lebih dari satu nilai maksimum atau dengan
kata lain terdapat lebih dari satu elemen bernilai 1 pada kedua baris tersebut. Hal
ini mengisyaratkan bahwa sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 memiliki takhingga
banyak penyelesaian. Selain itu, berdasarkan Teorema 3.1.4 diperoleh bahwa
elemen-elemen dari 𝒙∗ merupakan batas atas. Karena itu, elemen-elemen vektor
penyelesaian 𝒙 dalam contoh ini harus mememenuhi 𝑥1 ≤ −5, 𝑥2 ≤ 4 dan 𝑥3 ≤ 3.
Pada baris pertama dan keempat matriks 𝑅𝐴,𝑏 nampak bahwa nilai maksimum
terdapat pada kolom ke-3 karena itu 𝑥3 = 3. Pada baris kedua nilai maksimum
terdapat pada kolom ke-2 dan ke-3 maka terdapat dua kemungkinan yakni 𝑥2 = 4
atau 𝑥3 = 3. Bila nilai 𝑥3 diubah maka akan mempengaruhi persamaan baris
pertama dan keempat. Karena itu, selama 𝑥2 ≤ 4 maka persamaan pertama dan
keempat akan selalu terpenuhi. Demikian halnya dengan memilih 𝑥1 ≤ −5 maka
persamaan baris akan selalu terpenuhi. Jadi, semua vektor 𝒙 yang berbentuk 𝒙 =
[𝑎, 𝑏, 3]𝑇 dengan 𝑎 ≤ −5 dan 𝑏 ≤ 4 juga memenuhi sistem persamaan.
Jadi, sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 dalam contoh ini memiliki takhingga banyak
penyelesaian.
64
Contoh 3.3.7
Akan ditentukan penyelesaian sistem 𝐴 ⨂ 𝒙 = 𝒃 , dengan
𝐴 = [2 −1 30 𝜀 64 0 4
], 𝒙 = [
𝑥1
𝑥2
𝑥3
], dan 𝒃 = [435].
Berdasarkan matriks 𝐴 dan vektor 𝒃 diperoleh matriks
𝐷𝐴,𝑏 = [−2 −5 −1−3 𝜀 3−1 −5 −1
] dan 𝑅𝐴,𝑏 = [0 1 00 0 11 1 0
] .
Berdasarkan matriks 𝐷𝐴,𝑏 diperoleh 𝒙∗ = [1, 5, −3]𝑇. Selanjutnya diperoleh
𝐴 ⨂ 𝒙∗ = [2 −1 30 𝜀 64 0 4
]⨂ [15
−3] = [
max{3,4,0}
max{1, 𝜀, 3}
max{5,5,1}] = [
435] = 𝒃 .
Nampak bahwa 𝒙∗ merupakan penyelesaian dari sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 .
Akan tetapi, dapat diperiksa bahwa semua 𝒙 yang memenuhi bentuk 𝒙 =
[𝑎, 5, −3]𝑇 dengan 𝑎 ≤ 1 juga memenuhi sistem persamaan di atas.
Jadi, sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 dalam contoh ini memiliki takhingga banyak
penyelesaian.
Contoh 3.3.8
Akan ditentukan penyelesaian sistem 𝐴 ⨂ 𝒙 = 𝒃 , dengan
𝐴 = [2 2 14 7 8
], 𝒙 = [
𝑥1
𝑥2
𝑥3
], dan 𝒃 = [46] .
Berdasarkan matriks 𝐴 dan vektor 𝒃 diperoleh matriks
𝐷𝐴,𝑏 = [−2 −2 −3−2 1 2
] dan 𝑅𝐴,𝑏 = [1 0 01 1 1
] .
Berdasarkan matriks 𝐷𝐴,𝑏 diperoleh 𝒙∗ = [2,−1,−2]𝑇. Selanjutnya ditunjukkan
bahwa 𝒙∗ juga merupakan penyelesaian dari sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 yakni:
𝐴 ⨂ 𝒙∗ = [2 0 14 2 3
]⨂ [2
−1−2
] = [max{4, −1,−1}
max{6,1,1} ] = [
46] = 𝒃.
65
Namun demikian, dapat diperiksa bahwa semua 𝒙 yang berbentuk 𝒙 = [2, 𝑎, 𝑏]𝑇
dengan 𝑎 ≤ −1 dan 𝑏 ≤ −2 juga memenuhi sistem persamaan di atas.
Jadi, sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 pada contoh ini juga memiliki takhingga banyak
penyelesaian.
Matriks 𝐷𝐴,𝑏 dan 𝑅𝐴,𝑏 berperan dalam menentukan perilaku sistem
persamaan ⨂ 𝒙 = 𝒃 . Berikut ini diberikan teorema mengenai ada atau tidak
adanya (eksistensi) penyelesaian 𝐴 ⨂ 𝒙 = 𝒃.
Teorema 3.3.9
Diberikan sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 di mana A nm
maxR dengan elemen-elemen
pada setiap kolomnya tidak semuanya sama dengan 𝜀 dan b m
R .
1. Jika terdapat baris nol pada matriks 𝑅𝐴,𝑏 maka sistem tidak mempunyai
penyelesaian.
2. Jika terdapat paling tidak satu elemen 1 pada tiap baris 𝑅𝐴,𝑏, maka 𝒙∗ adalah
penyelesaian dari sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃.
Bukti:
1. Misalkan baris nol pada matriks 𝑅𝐴,𝑏 adalah baris ke 𝑘 dan andaikan 𝒙∗
merupakan penyelesaian dari sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃, maka
−𝑥∗𝑗 ≥ max
𝑖(−𝑏𝑖 + 𝑎𝑖𝑗) > −𝑏𝑘 + 𝑎𝑘𝑗
Akibatnya,
−𝑥∗𝑗 > −𝑏𝑘 + 𝑎𝑘𝑗 ⇔ 𝑎𝑘𝑗 + 𝑥∗
𝑗 < 𝑏𝑘 , ∀𝑗.
Dengan demikian, 𝒙∗ tidak memenuhi persamaan ke- 𝑘. Hal ini bertentangan
dengan 𝒙∗ adalah penyelesaian dari sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃. Jadi, 𝒙∗
bukan merupakan penyelesaian dari sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 atau sistem
persamaan 𝐴 ⨂ 𝒙 = 𝒃 tidak mempunyai penyelesaian.
2. Akan dibuktikan kontraposisinya. Andaikan 𝒙∗ bukan merupakan
penyelesaian dari sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃. BerdasarkanTeorema 3.1.4
diperoleh
66
−𝑥∗𝑗 ≥ −𝑏𝑘 + 𝑎𝑘𝑗 , ∀𝑘, 𝑗
Akibatnya,
max𝑗
(𝑎𝑘𝑗 + 𝑥∗𝑗) ≤ 𝑏𝑘
Jika 𝒙∗ bukan merupakan penyelesaian dari 𝐴 ⨂ 𝒙 = 𝒃, maka terdapat 𝑘
sedemikian sehingga
max𝑗
(𝑎𝑘𝑗 + 𝑥∗𝑗) < 𝑏𝑘
Hal ini ekuivalen dengan
−𝑥∗𝑗 > −𝑏𝑘 + 𝑎𝑘𝑗 , ∀𝑗
Karena −𝑥∗𝑗 = max(−𝑏𝑙 + 𝑎𝑙𝑗) untuk beberapa 𝑙, maka tidak ada elemen
dalam baris 𝑘 dari 𝑅𝐴,𝑏 yang bernilai 1. ∎
Teorema 3.3.9 di atas digunakan untuk menentukan eksistensi penyelesaian
sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃. Namun demikian, eksistensi ini belum menjelaskan
kapan penyelesaiannya tunggal dan kapan penyelesaiannya taktunggal. Karena itu,
untuk menentukan ketunggalan sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 diberikan definisi
berikut.
Definisi 3.3.10
Elemen bernilai 1 pada suatu baris 𝑅𝐴,𝑏 dinamakan elemen peubah tetap jika
1. Elemen tersebut merupakan satu-satunya elemen bernilai 1 pada baris
tersebut (lone-one), atau
2. Elemen tersebut berada pada kolom yang sama dengan lone-one.
Elemen-elemen bernilai 1 lainnya dinamakan elemen-elemen slack.
Tabel 3.3.1 berikut ini akan menunjukkan elemen peubah tetap dari setiap
contoh yang telah diberikan sebelumnya. Elemen yang dilingkari merupakan
elemen peubah tetap.
Pada Contoh 3.3.1, semua elemen bernilai 1 merupakan peubah tetap.
Persamaan baris pertama menetapkan elemen 𝑥3 = 1, persamaan baris kedua
menetapkan elemen 𝑥2 = 4, dan persamaan baris ketiga menetapkan elemen
67
𝑥1 = 0. Ketika sampai pada persamaan keempat, semua elemen 𝒙 sudah ditentukan.
Setiap elemen yang sudah dipilih tidak dapat diubah karena bila diubah akan
menimbulkan pertidaksamaan pada salah satu dari ketiga baris sebelumnya.
Tabel 3.3.1 Daftar Elemen Peubah Tetap pada Contoh
Tidak Mempunyai
Penyelesaian
Mempunyai Satu
Penyelesaian
Mempunyai Takhingga
Banyak Penyelesaian
Contoh 3.3.3
𝑅𝐴,𝑏 = [
0 0 00 1 010
00
01
]
Contoh 3.3.1
𝑅𝐴,𝑏 = [
0 0 10 1 010
00
01
]
Contoh 3.3.6
𝑅𝐴,𝑏 = [
0 0 10 1 110
10
11
]
Contoh 3.3.4
𝑅𝐴,𝑏 = [0 0 00 0 11 1 0
] Contoh 3.3.2
𝑅𝐴,𝑏 = [0 1 00 0 11 0 0
]
Contoh 3.3.7
𝑅𝐴,𝑏 = [0 1 00 0 11 1 0
]
Contoh 3.3.5
𝑅𝐴,𝑏 = [1 1 10 0 0
]
Contoh 3.3.8
𝑅𝐴,𝑏 = [1 0 01 1 1
]
Pada Contoh 3.3.2, semua elemen bernilai 1 juga merupakan peubah tetap.
Persamaan baris pertama menetapkan elemen 𝑥2 = 3, persamaan baris kedua
menetapkan elemen 𝑥3 = −3, dan persamaan baris ketiga menetapkan elemen
𝑥1 = 1.
Pada Contoh 3.3.6, terdapat elemen slack pada 𝑅𝐴,𝑏. Persamaan baris
pertama menetapkan elemen 𝑥3 = 3. Pada persamaan baris kedua, terdapat dua
kemungkinan untuk memenuhi persamaan yakni 𝑥2 = 4 atau 𝑥3 = 3. Akan tetapi,
nilai 𝑥3 sudah ditetapkan sebelumnya yakni sama dengan 3. Jadi, asalkan 𝑥2 ≤ 4
maka persamaan baris diatasnya tidak akan berubah. Dengan cara yang sama, pada
persamaan baris ketiga, asalkan 𝑥1 ≤ −5 maka persamaan baris diatasnya tidak
akan berubah. Sedangkan, pada persamaan baris keempat, elemen penyelesaiannya
sudah ditetapkan oleh persamaan baris pertama. Dengan demikian, dengan
68
menetapkan 𝑥3 = 3 dan asalkan 𝑥1 ≤ −5 serta 𝑥2 ≤ 4, maka persamaan baris akan
selalu benar.
Berikut ini diberikan teorema untuk menunjukkan bila mana persamaan
𝐴 ⨂ 𝒙 = 𝒃 memiliki penyelesaian tunggal dan bilamana penyelesaiannya
taktunggal.
Teorema 3.3.11
Diberikan sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 di mana A nm
maxR dengan elemen-elemen
pada setiap kolomnya tidak semuanya sama dengan 𝜀 dan b m
R serta
penyelesaian persamaan 𝐴 ⨂ 𝒙 = 𝒃 ada.
1. Jika tiap baris 𝑅𝐴,𝑏 memiliki lone one, maka penyelesaian sistem
persamaan tunggal.
2. Jika terdapat elemen-elemen slack pada 𝑅𝐴,𝑏, maka sistem memiliki
takhingga banyak penyelesaian.
Bukti:
1. Jika terdapat lone one pada tiap baris 𝑅𝐴,𝑏, maka terdapat satu elemen
peubah tetap pada tiap baris 𝑅𝐴,𝑏. Hal ini berarti bahwa tidak akan ada
elemen-elemen slack. Dengan demikian, semua elemen 𝒙 tetap dan
penyelesaian sistem persamaan tunggal.
2. Misalkan 𝑟𝑖𝑗 adalah salah satu elemen slack pada 𝑅𝐴,𝑏 dan 𝒙∗ merupakan
penyelesaian dari 𝐴 ⨂ 𝒙 = 𝒃. Karena 𝑟𝑖𝑗 tidak tetap, maka tidak terdapat
elemen peubah tetap pada kolom ke 𝑗 dari 𝑅𝐴,𝑏. Jadi, persamaan dapat
dipenuhi tanpa menggunakan elemen 𝑥∗𝑗. Dengan demikian, meskipun
nilai 𝑥∗𝑗 menunjukkan nilai maksimum yang mungkin untuk elemen ini,
setiap nilai yang lebih kecil atau sama dengan 𝑥∗𝑗 tidak akan
mempengaruhi eksistensi persamaan baris yang telah ditetapkan. ∎
Sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 dalam Contoh 3.3.1 dan 3.3.2 memiliki
penyelesaian tunggal karena pada tiap baris matriks 𝑅𝐴,𝑏-nya memiliki lone one.
Sedangkan sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 dalam Contoh 3.3.6, 3.3.7 dan 3.3.8
69
memiliki takhingga banyak penyelesaian karena terdapat elemen slack pada matriks
𝑅𝐴,𝑏-nya.
Akibat 3.3.12
Diberikan persamaan matriks 𝐴 ⨂ 𝒙 = 𝒃 di mana A nm
maxR dengan elemen-
elemen pada setiap kolomnya tidak semuanya sama dengan 𝜀 dan b m
R serta
𝑚 < 𝑛. Jika penyelesaian persamaan 𝐴 ⨂ 𝒙 = 𝒃 ada maka sistem memiliki
takhingga banyak penyelesaian.
Bukti: Penyelesaian sistem persamaan 𝐴 ⨂ 𝒙 = 𝒃 ada maka tidak terdapat baris
nol pada matriks 𝑅𝐴,𝑏. Andaikan penyelesaian sistem tunggal maka terdapat lone
one pada tiap baris 𝑅𝐴,𝑏. Sementara itu, 𝑚 < 𝑛 berarti banyaknya persamaan lebih
sedikit daripada banyaknya variabel. Karena itu, pastilah terdapat slack pada
matriks 𝑅𝐴,𝑏. Hal ini bertentangan dengan penyelesaian sistem tunggal. Jadi,
haruslah sistem memliki takhingga banyaknya penyelesaian. ∎
Pembahasan pada bagian di atas masih terbatas pada sistem persamaan
𝐴 ⨂ 𝒙 = 𝒃 dengan A nm
maxR dengan elemen-elemen pada setiap kolomnya tidak
semuanya sama dengan 𝜀 dan b m
R . Berikut ini diberikan penyelesaian sistem
persamaan untuk kasus-kasus lain.
Andaikan terdapat 𝑗 ∈ {1,2, … , 𝑛} sedemikian sehingga 𝑎𝑖𝑗 = 𝜀 untuk setiap
𝑖 ∈ {1,2, … ,𝑚} dan b m
R maka berlaku hal-hal berikut
1. Jika elemen-elemen pada setiap baris matriks 𝐴 tidak semuanya sama dengan
𝜀 maka 𝑥𝑗 = 𝑎 untuk sebarang 𝑎 ∈ 𝐑max . Hal ini berangkat dari fakta bahwa
elemen netral 𝜀 merupakan elemen penyerap terhadap operasi ⨂.
2. Jika terdapat baris pada matriks 𝐴 dengan semua elemennya sama dengan 𝜀
maka sistem tidak memiliki penyelesaian. Hal ini ditunjukkan sebagai
berikut. Andaikan baris tersebut adalah baris ke- 𝑘. Persamaan ke- 𝑘
berbentuk
(𝐴 ⨂ 𝒙 )𝑘 = max𝑗
{𝜀 + 𝑥1, 𝜀 + 𝑥2 + ⋯+ 𝜀 + 𝑥𝑛} = 𝑏𝑘.
70
Mengingat untuk setiap 𝑥 ∈ ℝmax berlaku 𝑥 ⨂ 𝜀 = 𝜀 ⨂ 𝑥 = 𝜀 + 𝑥 = 𝜀 maka
(𝐴 ⨂ 𝒙 )𝑘 ≠ 𝑏𝑘. Dengan kata lain, persamaan baris ke-𝑘 tidak terpenuhi.
Jadi, sistem tidak memiliki penyelesaian.
Berikut diberikan contoh-contoh untuk mengilustrasikan dua hal di atas.
Contoh 3.3.13
Diberikan sistem persamaan linear
[𝜀 1𝜀 0
]⨂ [𝑥1
𝑥2] = [
21].
Sistem persamaan ini ekuivalen dengan
{𝜀 ⨂ 𝑥1 ⨁ 1 ⨂ 𝑥2 = 2𝜀 ⨂ 𝑥1 ⨁ 0 ⨂ 𝑥2 = 1
atau {𝜀 ⨁ 1 ⨂ 𝑥2 = 2𝜀 ⨁ 0 ⨂ 𝑥2 = 1
atau {max(𝜀, 1 + 𝑥2) = 2
max(𝜀, 0 + 𝑥2) = 1 atau
{1 + 𝑥2 = 20 + 𝑥2 = 1
sehingga diperoleh 𝑥2 = 1.
Jadi, semua vektor 𝒙 yang berbentuk 𝒙 = [𝑎, 1]𝑇 merupakan penyelesaian sistem
di atas.
Contoh 3.3.14
Diberikan sistem persamaan linear
[𝜀 1𝜀 𝜀
]⨂ [𝑥1
𝑥2] = [
21].
Sistem persamaan ini ekuivalen dengan
{𝜀 ⨂ 𝑥1 ⨁ 1 ⨂ 𝑥2 = 2𝜀 ⨂ 𝑥1 ⨁ 𝜀 ⨂ 𝑥2 = 1
atau {𝜀 ⨁ 1 ⨂ 𝑥2 = 2 𝜀 ⨁ 𝜀 = 1
atau {𝜀 ⨁ 1 ⨂ 𝑥2 = 2 𝜀 = 1
Karena 𝜀 ≠ 1 maka persamaan baris kedua tidak terpenuhi. Jadi, sistem persamaan
di atas tidak memiliki penyelesaian.
Selanjutnya, andaikan terdapat 𝑗 ∈ {1,2, … , 𝑛} sedemikian sehingga 𝑎𝑖𝑗 = 𝜀
untuk setiap 𝑖 ∈ {1,2, … ,𝑚} dan terdapat 𝑘 ∈ {1,2, … ,𝑚} sedemikian sehingga
𝑏𝑘 = 𝜀 maka berlaku hal-hal berikut
1. Jika elemen-elemen pada baris ke- 𝑘 matriks 𝐴 tidak semuanya sama dengan
𝜀 maka sistem tidak memiliki penyelesaian. Hal ini ditunjukkan sebagai
berikut. Karena elemen-elemen pada baris ke- 𝑘 tidak semuanya sama dengan
𝜀 maka terdapat 𝑙 ∈ {1,2, … , 𝑛} sedemikian sehingga 𝑎𝑘𝑙 ≠ 𝜀. Agar
71
persamaan ke- 𝑘 terpenuhi maka haruslah 𝑥𝑙 = 𝜀. Namun demikian, karena
terdapat 𝑝 ∈ {1,2, … ,𝑚} sedemikian sehingga 𝑏𝑝 ≠ 𝜀 maka persamaan ke- 𝑝
tidak terpenuhi. Jadi, sistem tidak memiliki penyelesaian.
2. Jika elemen-elemen pada baris ke- 𝑘 matriks 𝐴 semuanya sama dengan 𝜀
maka 𝑥𝑗 = 𝑏 untuk sebarang 𝑏 ∈ ℝmax . Hal ini berangkat dari fakta bahwa
elemen netral 𝜀 merupakan elemen penyerap terhadap operasi ⨂.
Berikut diberikan contoh-contoh untuk mengilustrasikan dua hal di atas.
Contoh 3.3.15
Diberikan sistem persamaan linear
[𝜀 1𝜀 0
]⨂ [𝑥1
𝑥2] = [
2𝜀].
Sistem persamaan ini ekuivalen dengan
{𝜀 ⨂ 𝑥1 ⨁ 1 ⨂ 𝑥2 = 2𝜀 ⨂ 𝑥1 ⨁ 0 ⨂ 𝑥2 = 𝜀
atau {𝜀 ⨁ 1 ⨂ 𝑥2 = 2𝜀 ⨁ 0 ⨂ 𝑥2 = 𝜀
atau {max(𝜀, 1 + 𝑥2) = 2
max(𝜀, 0 + 𝑥2) = 𝜀
Agar persamaan baris kedua terpenuhi maka haruslah 𝑥2 = 𝜀. Namun demikian,
jika 𝑥2 = 𝜀 maka persamaan baris pertama tidak terpenuhi sebab 1 + 𝜀 = 𝜀 ≠ 2.
Jadi, sistem di atas tidak memiliki penyelesaian.
Contoh 3.3.16
Diberikan sistem persamaan linear
[𝜀 1𝜀 𝜀
]⨂ [𝑥1
𝑥2] = [
2𝜀].
Sistem persamaan ini ekuivalen dengan
{𝜀 ⨂ 𝑥1 ⨁ 1 ⨂ 𝑥2 = 2𝜀 ⨂ 𝑥1 ⨁ 𝜀 ⨂ 𝑥2 = 𝜀
atau {𝜀 ⨁ 1 ⨂ 𝑥2 = 2 𝜀 ⨁ 𝜀 = 𝜀
atau 1 ⨂ 𝑥2 = 2 atau 𝑥2 = 1.
Jadi, semua vektor 𝒙 yang berbentuk 𝒙 = [𝑎, 1]𝑇 merupakan penyelesaian sistem
di atas.
Kasus selanjutnya adalah andaikan elemen-elemen pada setiap kolom
matriks 𝐴 tidak semuanya sama dengan 𝜀 dan terdapat 𝑘 ∈ {1,2, … ,𝑚} sedemikian
sehingga 𝑏𝑘 = 𝜀. Jika 𝑎𝑘𝑗 ≠ 𝜀 maka 𝑥𝑗 = 𝜀. Hal ini ditunjukkan sebagai berikut.
Persamaan ke- 𝑘 berbentuk 𝑎𝑘𝑗 + 𝑥𝑗 = 𝜀. Karena 𝑎𝑘𝑗 ≠ 𝜀 maka haruslah 𝑥𝑗 = 𝜀.
72
Contoh 3.3.17
Diberikan sistem persamaan linear
[𝜀 64 𝜀
]⨂ [𝑥1
𝑥2] = [
8𝜀].
Sistem persamaan ini ekuivalen dengan
{𝜀 ⨂ 𝑥1 ⨁ 6 ⨂ 𝑥2 = 84 ⨂ 𝑥1 ⨁ 𝜀 ⨂ 𝑥2 = 𝜀
atau {𝜀 ⨁ 6 ⨂ 𝑥2 = 8 4 ⨂ 𝑥1 ⨁ 𝜀 = 𝜀
.
Agar persamaan baris kedua terpenuhi maka haruslah 𝑥1 = 𝜀. Akibatnya, 𝑥2 = 2.
Jadi, 𝒙 = [𝜀, 2]𝑇 merupakan penyelesaian sistem di atas.
Bila sistem memuat banyak persamaan, dalam hal ini ukuran matriks sangat
besar maka perhitungan manual dirasa kurang efektif untuk menentukan
penyelesaian sistem persamaan linear 𝐴 ⨂ 𝒙 = 𝒃. Untuk itu, perlu dibuat program
komputer untuk memudahkan perhitungan. Bahasa program yang akan digunakan
adalah bahasa pemograman komputer MATLAB. Program ini akan menampilkan
penyelesaian sistem persamaan linear. List program secara lengkap diberikan dalam
Gambar berikut.
% Program Matlab Penyelesaian Sistem Persamaan Linear Ax = b % Oleh: M. Andy Rudhito & Regina FKIP Universitas Sanata Dharma % Input: A = matriks max-plus Amxn % b = vektor mx1 % Output: Menampilkan penyelesaian sistem
function x = solsislinmax % Memasukkan matriks A dan b A = input('Masukkan matriks A(mxn) = '); disp(' ') b = input('Masukkan matriks b(mx1) = '); disp(' ') [m,n]= size (A); [p,q]= size (b); if m == p & q == 1 A1=zeros(1,n); for j = 1:n if A(:,j)== -inf A1(j)=0; else A1(j)=1; end; end; Sum1 = sum(A1); b1=zeros(m,1); for i = 1:m
73
if b(i)== -inf b1(i)=0; else b1(i)=1; end; end;
c = zeros(m,1); for i = 1:m if R(i,:)== 0 c(i)= 0; else c(i)= 1; end end; Sum3 = sum(c); if Sum3 < m x = '{}'; else x = xc; end
%Menampilkan Penyelesaian Sistem disp('Matriks A = '),disp(A) disp('Matriks b = '),disp(b) disp('Matriks D = '),disp(D) disp('Matriks R = '),disp(R) disp('Penyelesaian sistem adalah '), disp('x = ') disp(x) else disp('Elemen-elemen tiap kolom matriks A tidak
semuanya -inf dan elemen-elemen matriks b semuanya
berhingga') end; % Peringatan sistem persamaan tidak dapat diselesaikan else disp('Ordo matriks A dan b tidak sesuai') end;
Gambar 3.3.1. List Program MATLAB untuk Menyelesaikan SPLIO Max-Plus
Berikut ini diberikan hasil eksekusi untuk beberapa contoh soal yang telah
diberikan pada bagian sebelumnya.
Perhitungan MATLAB untuk Contoh 3.3.1: Masukkan matriks A(mxn) = [1 6 11; 4 1 2; 8 -1 0; 10 5 12]
Masukkan matriks b(mx1) = [12; 5; 8; 13]
Matriks A =
1 6 11
4 1 2
8 -1 0
10 5 12
74
Matriks b =
12
5
8
13
Matriks D =
-11 -6 -1
-1 -4 -3
0 -9 -8
-3 -8 -1
Matriks R =
0 0 1
0 1 0
1 0 0
0 0 1
Penyelesaian sistem adalah
x =
0
4
1
Perhitungan MATLAB untuk Contoh 3.3.3: Masukkan matriks A(mxn) = [1 6 11; 4 1 2; 8 -1 0; 10 5 12]
Masukkan matriks b(mx1) = [14; 6; 8; 13]
Matriks A =
1 6 11
4 1 2
8 -1 0
10 5 12
Matriks b =
14
6
8
13
Matriks D =
-13 -8 -3
-2 -5 -4
0 -9 -8
-3 -8 -1
Matriks R =
0 0 0
0 1 0
1 0 0
0 0 1
Penyelesaian sistem adalah
x =
{}
75
Perhitungan MATLAB untuk Contoh 3.3.8: Masukkan matriks A(mxn) = [1 6 11;4 1 2;8 -1 0;10 5 12]
Masukkan matriks b(mx1) = [14;5;3;15]
Matriks A =
1 6 11
4 1 2
8 -1 0
10 5 12
Matriks b =
14
5
3
15
Matriks D =
-13 -8 -3
-1 -4 -3
5 -4 -3
-5 -10 -3
Matriks R =
0 0 1
0 1 1
1 1 1
0 0 1
Penyelesaian sistem adalah
x =
-5
4
3.4 Penerapan SPLIO Max-Plus pada Masalah Ramp-Handling Pesawat
Ramp handling merupakan kegiatan penanganan pesawat yang dilakukan di
ramp area atau apron yakni suatu pelataran yang ada di bandara, saat jeda waktu
antara pesawat block-on (yakni saat ganjalan pesawat dipasang dan pesawat dalam
posisi berhenti) hingga pesawat block-off (yakni saat ganjalan dilepas dan pesawat
bersiap menuju landasan pacu). Waktu antara pesawat block-on dan pesawat block-
off ini dikenal dengan istilah ground time. Keberlangsungan kegiatan ramp
handling berada dalam pengawasan dari satuan unit khusus yang dikenal dengan
istilah ramp dispatcher. Setiap petugas ramp dispatcher bertanggung jawab untuk
mengawasi dan mengkoordinasi segala aktivitas ramp berkaitan dengan
76
keberangkatan ataupun kedatangan pesawat. Secara umum, aktivitas-aktivitas yang
dilakukan dalam ramp handling adalah sebagai berikut
1. Maintenance merupakan kegiatan pemeriksaan/pemeliharaan kondisi
pesawat, termasuk kebersihan tempat duduk dan pantry.
2. Fueling/Refueling merupakan kegiatan pengisian bahan bakar pesawat.
3. Loading/Unloading berkaitan pelaksanaan bongkar muat barang/bagasi.
4. Aircraft Cleaning berkaitan dengan kegiatan membersihkan kabin pesawat
dan kamar kecil.
5. Catering berkaitan dengan penyediaan konsumsi bagi para penumpang
selama penerbangan.
Menurut Suwarno (2001), penanganan pesawat di bandara dibedakan atas dua
cara yakni turnaround arrangement dan transit arrangement. Turnaround
arrangement adalah penanganan bagi pesawat yang mendarat di kota tujuan akhir
(destination) sedangkan transit arrangement adalah penanganan bagi pesawat yang
mendarat di kota persinggahan atau transit. Penanganan pesawat ini dilakukan pada
tempo waktu yang sudah ditentukan yakni sesuai dengan ground time agar sesuai
dengan jadwal penerbangan (departure time).
Lebih lanjut, Suwarno (2001) menambahkan penanganan pesawat di bandara
udara, baik turnaround arrangement maupun transit arrangement menganut sistem
yang sama. Perbedaannya terletak pada lama waktu penanganannya. Penanganan
transit arrangement biasanya lebih pendek dibanding turnaround arrangement.
Hal ini disebabkan karena pada transit arrangement terdapat perbedaan dalam hal-
hal tertentu, yaitu:
1. Kabin tidak dibersihkan seluruhnya.
2. Awak pesawat (crew) biasanya tidak diganti.
3. Penumpang transit tidak turun ke ruang transit.
4. Kadangkala konsumsi untuk penumpang sudah tersedia di dalam pesawat,
kecuali jika ada penambahan penumpang pada saat-saat terakhir.
Prosedur penanganan pesawat di bandara udara antara satu jenis pesawat
dengan jenis pesawat yang lain tidak sama. Hal ini tergantung tipe pesawat, kondisi
77
Gate 1
Gate 2
Gate 3
pesawat, jarak yang akan ditempuh pesawat, serta banyaknya penumpang. Namun,
secara umum lama ground time untuk keperluan turnaround arrangement adalah
40 menit sampai 1 jam sedangkan untuk transit arrangement memerlukan minimal
25 menit untuk penerbangan domestik dan sekitar 1 jam untuk penerbangan
internasional (Bazargan, 2004).
Berdasarkan penjelasan di atas nampak bahwa kegiatan ramp handling
merupakan salah satu masalah sinkronisasi dalam SKD. Dalam masalah
sinkronisasi, kejadian-kejadian (events) terjadi secara simultan dan harus selesai
pada batas waktu yang ditentukan (deadline). Rangkaian kegiatan ramp handling
dilakukan secara simultan dan harus selesai pada waktu yang ditentukan sehingga
ketepatan jadwal tercapai.
Misalkan di suatu bandara terdapat tiga pesawat yakni pesawat A, B dan C
telah tiba di gate-nya masing-masing. Pesawat-pesawat tersebut membutuhkan
penanganan sebelum penerbangan berikutnya. Penanganan yang dibutuhkan berupa
refueling, maintenance, food service dan luggage service. Masing-masing pesawat
membutuhkan waktu yang berbeda untuk refueling dan food service (terkait dengan
jarak tempuh penerbangan selanjutnya), maintenance (tergantung apakah ada
masalah dalam penerbangan selanjutnya atau tergantung pada usia pesawat terbang
tersebut), dan luggage service (berkaitan dengan jarak tempuh dan banyaknya
penumpang). Ketiga pesawat tersebut akan ditangani sekaligus dengan asumsi
bahwa tim yang bertugas memadai dan peralatan yang dibutuhkan pun memadai.
Berikut ini diberikan matriks yang berisi waktu yang diperlukan untuk penanganan
pesawat per kegiatan penanganan (waktu kegiatan dalam menit).
𝑅 𝑀 𝐹 𝐿
[ 25 10 35 15
15 45 15 20
25 15 20 15]
78
Contoh 3.4.1
Ketiga pesawat memiliki ground time berturut-turut 𝑔𝑎 = 45, 𝑔𝑏 = 50, 𝑔𝑐 = 55
menit. Akan dicari waktu mulai paling lambat untuk kegiatan 𝑅, 𝑀, 𝐹, dan 𝐿
sedemikian sehingga kegiatan terakhir sudah selesai pada waktu keberangkatan
pesawat. Masalah ini dapat diformulasikan dalam bentuk sistem persamaan aljabar
max-plus sebagai berikut.
[25 10 35 1515 45 15 2025 15 20 15
]⨂ [
𝑡1𝑡2𝑡3𝑡4
] = [455055
].
Dalam hal ini kita akan mencari vektor 𝒕. Hasil eksekusi program MATLAB untuk
sistem ini diberikan sebagai berikut.
Masukkan matriks A(mxn) = [25 10 35 15;15 45 15 20;25 15 20 15]
Masukkan matriks b(mx1) = [45;50;55]
Matriks A =
25 10 35 15
15 45 15 20
25 15 20 15
Matriks b =
45
50
55
Matriks D =
-20 -35 -10 -30
-35 -5 -35 -30
-30 -40 -35 -40
Matriks R =
1 0 1 1
0 1 0 1
0 0 0 0
Penyelesaian sistem adalah
t =
{}
Berdasarkan matriks 𝑅 dan Teorema 3.3.9 maka sistem tidak memiliki
penyelesaian. Vektor 𝒕∗ = [20, 5, 10, 30]𝑇 bukan merupakan penyelesaian sebab
79
[25 10 35 1515 45 15 2025 15 20 15
]⨂ [
2051030
] = [455045
] ≠ [455055
]
Meskipun 𝒕∗ bukan merupakan penyelesaian yang tepat untuk sistem
persamaan di atas, bukan berarti pesawat akan mengalami delay. Akan tetapi, tidak
terpenuhinya persamaan ketiga disebabkan karena penanganan pesawat di gate 3
selesai lebih awal. Penyelesaian seperti ini disebut penyelesaian tak ideal.
Contoh 3.4.2
Bagian Departure Control memutuskan untuk menjadwal ulang waktu lepas landas
(take-off) dari ketiga pesawat karena pesawat di gate 1 dan 2 membutuhkan waktu
penanganan yang lebih panjang. Ground time ketiga pesawat secara berturut-turut
dalam 𝑔𝑎 = 50, 𝑔𝑏 = 55, 𝑔𝑐 = 45 menit. Sistem persamaaannya berbentuk
[25 10 35 1515 45 15 2025 15 20 15
]⨂ [
𝑡1𝑡2𝑡3𝑡4
] = [505545
].
Hasil eksekusi program MATLAB untuk sistem ini diberikan sebagai berikut
Masukkan matriks A(mxn) = [25 10 35 15;15 45 15 20;25 15 20 15]
Masukkan matriks b(mx1) = [50;55;45]
Matriks A =
25 10 35 15
15 45 15 20
25 15 20 15
Matriks b =
50
55
45
Matriks D =
-25 -40 -15 -35
-40 -10 -40 -35
-20 -30 -25 -30
80
Matriks R =
0 0 1 0
0 1 0 0
1 0 0 1
Penyelesaian sistem adalah
t =
20
10
15
30
Berdasarkan matriks 𝑅 dan berdasarkan Teorema 3.3.11 maka sistem
memiliki takhingga banyak penyelesaian dan 𝒕 merupakan salah satu penyelesaian
sistem. Semua vektot 𝒕 yang berbentuk 𝒕 = [𝑎, 10, 15, 𝑏]𝑇 dengan 𝑎 ≤ 20 dan 𝑏 ≤
30 juga merupakan penyelesaian sistem. Dalam hal ini, waktu mulai paling lambat
untuk kegiatan perawatan dan layanan makanan sudah pasti dan tidak dapat diubah.
Sedangkan waktu mulai untuk kegiatan pengisian bahan bakar dan layanan bagasi
bisa lebih awal tanpa mempengaruhi penyelesaian. Kehadiran lebih dari satu
elemen 1 pada baris ketiga matriks 𝑅 mengindikasi bahwa kegiatan pengisisan
bahan bakar dan layanan bagasi selesai dalam waktu bersamaan.
Contoh-contoh yang diberikan di atas mengikuti contoh dalam Andersen
(2002). Penanganan pesawat hanya dibatasi pada empat kegiatan yakni pengisian
bahan bakar, perawatan, layanan makanan, dan layanan bagasi. Berikut diberikan
contoh rangkaian kegiatan ramp handling secara lebih rinci.
Contoh 3.4.3
Terdapat tiga pesawat yakni pesawat model 767-200, 767-200ER dan 767-300 yang
tiba di gatenya masing-masing dan memerlukan penanganan turnaround sebelum
penerbangan selanjutnya. Lama ground time ketiga pesawat secara berturut-turut
𝑔𝑎 = 40, 𝑔𝑏 = 40, 𝑔𝑐 = 45 menit. Akan dicari waktu mulai paling lambat untuk
setiap kegiatan penanganan sedemikian sehingga kegiatan terakhir sudah selesai
pada waktu keberangkatan pesawat. Diasumsikan bahwa tim bertugas dalam
kegiatan penanganan memadai. Tabel kegiatan ramp handling ketiga pesawat
diberikan sebagai berikut.
81
Tabel 3.4.1 Kegiatan Ramp Handling 3 Pesawat
No Nama Kegiatan
Waktu yang
Diperlukan
Pesawat 767-
200 (menit)
Waktu yang
Diperlukan
Pesawat 767-
200ER
(menit)
Waktu yang
Diperlukan
Pesawat
767-300
(menit)
1 Unloading & loading
bulk compartment 26 31 36
2 Fuel airplane 18 30 18
3 Service toilet 12 12 12
4 Service potable water 7 7 10
5 Service galleys 21 21 26
6 Service cabin 13,5 18,5 14,5
7 Loading AFT
compartment 10 10 14
8 Loading FWD
compartment 12 6 16
Berdasarkan tabel di atas, dapat dibentuk sistem persamaaan 𝐴 ⨂ 𝒕 = 𝒃 sebagai
berikut
[26 18 12 7 21 13,5 10 1231 30 12 7 21 18,5 10 636 18 12 10 26 14,5 14 16
]⨂
[ 𝑡1𝑡2𝑡3𝑡4𝑡5𝑡6𝑡7𝑡8]
= [404045
].
Penyelesaian sistem ini dapat dicari dengan menggunakan program yang telah
dibuat sebelumnya dengan sedikit modifikasi. Hasil eksekusi program diberikan
sebagai berikut:
Masukkan matriks A(mxn) = [26 18 12 7 21 13.5 10 12;31 30 12 7 21
18.5 10 6;36 18 12 10 26 14.5 14 16]
Masukkan matriks b(mx1) = [40;40;45]
Matriks A =
82
26.0000 18.0000 12.0000 7.0000 21.0000 13.5000
10.0000 12.0000
31.0000 30.0000 12.0000 7.0000 21.0000 18.5000
10.0000 6.0000
36.0000 18.0000 12.0000 10.0000 26.0000 14.5000
14.0000 16.0000
Matriks b =
40
40
45
Matriks D =
-14.0000 -22.0000 -28.0000 -33.0000 -19.0000 -26.5000 -
30.0000 -28.0000
-9.0000 -10.0000 -28.0000 -33.0000 -19.0000 -21.5000 -
30.0000 -34.0000
-9.0000 -27.0000 -33.0000 -35.0000 -19.0000 -30.5000 -
31.0000 -29.0000
Matriks R =
0 0 1 1 1 0 1 1
1 1 1 1 1 1 1 0
1 0 0 0 1 0 0 0
Penyelesaian sistem adalah
t =
9.0000
10.0000
28.0000
33.0000
19.0000
21.5000
30.0000
28.0000
Kolom-kolom matrks 𝐴 menyatakan jenis kegiatan ramp handling berturut dari
nomor 1 sampai 9. Dalam hal ini, akan ditentukan waktu mulai paling lambat untuk
setiap jenis kegiatan. Berdasarkan matriks 𝑅 dan berdasarkan Teorema 3.3.11 maka
sistem memiliki takhingga banyak penyelesaian dan t merupakan salah satu
penyelesaian sistem persamaan 𝐴 ⨂ 𝒕 = 𝒃 di atas. Karena tidak terdapat elemen
peubah tetap pada matriks 𝑅 maka semua elemen vektor 𝒕 berupa variabel bebas.
Semua vektor 𝒕 yang berbentuk 𝒕 = [𝑎, 𝑏, 𝑐, 𝑑, 𝑒, 𝑓, 𝑔, ℎ]𝑇 dengan 𝑎 ≤ 9, 𝑏 ≤ 10,
𝑐 ≤ 28, 𝑑 ≤ 33, 𝑒 ≤ 19, 𝑓 ≤ 21,5, 𝑔 ≤ 30, dan ℎ ≤ 28 juga merupakan
penyelesaian sistem. Kehadiran lebih dari satu elemen 1 pada tiap baris matriks 𝑅
mengindikasi bahwa kegiatan yang bersesuaian dengan kolom di mana elemen-
83
elemen bernilai 1 itu ada selesai dalam waktu bersamaan. Namun demikian, karena
kegiatan loading dilakukan setelah kegiatan unloading selesai maka dipilih 𝑔 = 30
dan ℎ = 28. Penyelesaian sistem menjadi 𝒕 = [𝑎, 𝑏, 𝑐, 𝑑, 𝑒, 𝑓, 30,28]𝑇
3.5 Matriks atas Aljabar Max-Plus dan Teori Graf
Dalam subbab ini diberikan pengantar singkat teori graf, dan interpretasi
beberapa operasi dan konsep dasar aljabar max-plus dalam teori graf. Konsep ini
akan menjadi dasar pembahasan pada sistem persamaan linear iteratif max-plus,
nilai eigen max-plus dan vektor eigen max-plus.
Suatu graf didefinisikan sebagai suatu pasangan (V, E) dengan V adalah
suatu himpunan berhingga tak kosong yang anggotanya disebut titik (vertices) dan
E adalah suatu himpunan pasangan (takterurut) titik-titik. Anggota E disebut rusuk
(edges). Suatu graf berarah didefinisikan sebagai suatu pasangan (V, A) dengan V
adalah suatu himpunan titik-titik dan A adalah suatu himpunan pasangan terurut
titik-titik. Anggota A disebut busur (arc). Untuk busur (v, w) A, v disebut titik
awal busur dan w disebut titik akhir busur. Suatu loop adalah busur (v, v) A.
Jika suatu graf disajikan dalam gambar, titik digambarkan sebagai noktah
yang diberi label dengan nama titik yang diwakilinya. Rusuk digambarkan sebagai
kurva atau ruas garis yang menghubungkan noktah-noktah yang bersesuaian pada
rusuk atau loop. Busur digambarkan sebagai kurva atau ruas garis berarah yang
menghubungkan noktah-noktah yang bersesuaian dengan titik awal dan titik akhir
busur, dengan tanda panah pada ujungnya yang menandakan arah busur.
Contoh 3.5.1
Diperhatikan graf berarah yang direpresentasikan dalam Gambar 3.5.1 di bawah ini
yang direpresantasikan graf berarah 1G = ( 1V , 1A ), dengan 1V = {1, 2, 3} dan
1A = {(1, 1 ), (1, 2), ( 2, 1), ( 2, 3 ), ( 3, 1), ( 3, 3)}.
84
Gambar 3.5.1 Graf Berarah Contoh 3.5.1
Diberikan G = (V, A) adalah graf berarah dengan V = {1, 2, , ... , n }. Suatu
lintasan dalam G adalah suatu barisan berhingga busur ( 1i , 2i ), ( 2i , 3i ), ... ,
(1li ,
li ) dengan (ki ,
1ki ) A untuk suatu l N dan k = 1, 2, ... , l 1 (Wilson,
1972). Lintasan ini direpresentasikan dengan 1i 2i ... li . Titik 1i disebut
titik awal lintasan dan titik li disebut titik akhir lintasan. Untuk suatu lintasan ,
panjang lintasan didefinisikan sebagai banyak busur yang menyusun dan
dinotasikan dengan l
. Suatu lintasan disebut sirkuit jika titik awal dan titik
akhirnya sama. Sirkuit elementer adalah sirkuit yang titik-titiknya muncul tidak
lebih dari sekali, kecuali titik awal yang muncul tepat dua kali. Suatu graf berarah
G = (V, A) dengan V = {1, 2, , ... , n} dikatakan terhubung kuat jika untuk setiap i,
j V , i j , terdapat suatu lintasan dari i ke j. Suatu graf yang memuat sirkuit
disebut graf siklik, sedangkan suatu graf yang tidak memuat sirkuit disebut graf
taksiklik.
Contoh 3.5.2
Diperhatikan graf berarah dalam Contoh 3.5.1. Barisan busur (2, 1), (1, 1), (1, 2),
(2, 3) merupakan suatu lintasan dalam G1 yang dapat direpresentasikan dengan 2
1 2
3
85
1 1 2 3. Busur ini mempunyai panjang 4 karena tersusun atas 4 busur.
Lintasan 2 1 2 3 1 2 merupakan suatu sirkuit dengan panjang 5.
Lintasan 1 2 3 1 merupakan suatu sirkuit elementer dengan panjang 3.
Diperhatikan bahwa untuk setiap titik yang berbeda dalam graf berarah tersebut
selalu terdapat suatu lintasan, sehingga graf berarah tersebut terhubung kuat.
Diberikan graf berarah G = (V, A) dengan V = {1, 2, ... , p}. Graf berarah
G dikatakan berbobot jika setiap busur (j, i) A dikawankan dengan suatu
bilangan real ijA . Bilangan real ijA disebut bobot busur (j, i), dinotasikan dengan
w(j, i). Dalam penyajiannya dengan gambar untuk graf berarah berbobot, busur
diberi label dengan bobotnya. Dari pengertian graf berbobot ini, setiap matriks
A nn
maxR bersesuaian dengan suatu graf berarah berbobot seperti diberikan dalam
definisi berikut.
Definisi 3.5.3 (Graf Bobot (Precedence Graph), Schutter, 1996)
Diberikan A nn
maxR . Graf bobot dari A adalah graf berarah berbobot G(A) =
(V, A) dengan V = {1, 2, ... , n} dan A = {(j, i) | w(i, j) = ijA }.
Contoh 3.5.4
Diberikan A =
0
42
231
.
Graf bobot dari A adalah graf berarah berbobot G(A) = (V, A) dengan V = {1, 2, 3}
dan A = {(1, 1), (2, 1), (3, 1), (2, 2), (3, 2), (2, 3)} yang disajikan dalam Gambar
3.5.2 di bawah ini. Perhatikan sebaliknya bahwa untuk setiap graf berarah berbobot
G = (V, A) selalu dapat didefinisikan suatu matriks A nn
maxR dengan
ijA =
.A )( jika
A )( jika )(
i,j
i,ji,jw
Matriks A seperti ini disebut matriks bobot dari graf G(A). Jelas bahwa graf berarah
berbobot tersebut merupakan graf bobot dari A. Terlihat bahwa graf berarah
86
berbobot dalam Gambar 3.5.2 di bawah ini bersesuaian dengan matriks A yang
diberikan dalam Contoh 3.5.4.
Gambar 3.5.2 Graf Berarah Berbobot Contoh 3.5.4
Diberikan graf berarah berbobot G = (V, A) dengan V = {1, 2, ... , n}. Bobot
suatu lintasan = 1i 2i ... li didefinisikan sebagai jumlahan bobot busur-
busur yang menyusun . Bobot lintasan dinotasikan dengan w
. Untuk matriks
A nn
maxR , bobot suatu lintasan lintasan = 1i 2i ... li dalam graf bobot
G(A) adalah w
= 12 iiA , +
23 iiA , + ... +1ll iiA , . Bobot rata-rata lintasan ,
dinotasikan dengan , didefinisikan sebagai
l
1w
(dengan operasi pembagian
dan perkalian pada bilangan real).
Contoh 3.5.5
Diperhatikan graf bobot G(A) dalam Contoh 3.5.4. Panjang suatu lintasan
= 2 3 2 1 1 adalah l
= 4 . Bobot lintasan adalah
w
= w(3, 2) + w(2, 3) + w(1, 2) + w(1, 1)
= 32A +
23A + 12A + 11A = 0 + 4 + 3 + 1 = 8.
Bobot rata-rata lintasan adalah =
l
1w
= 4
1( 8 ) = 2.
3
1
2 1
3 2
4 0
-2
87
Berikut diberikan suatu interpertasi dalam teori graf untuk pangkat k matriks
A nxn
maxR dalam aljabar max-plus. Diberikan Ann
maxR . Jika k N , maka unsur
ke-st dari matriks k
A adalah
st
kA )( =
niii k 1211max,,
(1kisA , + ... +
12 iiA , + tiA ,1)
= niii k 1211
max,,
( tiA ,1+
12 iiA , + ... +1kisA , )
untuk setiap s, t. Karena ( tiA ,1+
12 iiA , + ... +1kisA , ) adalah bobot lintasan dengan
panjang k dengan t sebagai titik awal dan s sebagai titik akhirnya dalam G(A), maka
st
kA )( adalah bobot maksimum semua lintasan dalam G(A) dengan panjang k,
dengan t sebagai titik awal dan s sebagai titik akhirnya. Jika tidak ada lintasan
dengan panjang k dari t ke s, maka bobot maksimum didefinisikan sama dengan .
Contoh 3.5.6
Diambil matriks A dalam Contoh 3.5.4. Bobot maksimum semua lintasan dalam
G(A) dengan panjang k untuk setiap pasangan titik awal dan titik akhir lintasan
dapat ditentukan dari unsur-unsur matriks k
A . Misalkan diperhatikan untuk k =
2, 3, 4 berikut:2A =
42
64
751
, 3A =
64
86
971
dan 4A =
86
88
1191
.
Misalkan diperhatikan bahwa 12
2)( A = 5 yang berarti bobot maksimum semua
lintasan dalam G(A) dengan panjang 2, dengan 2 sebagai titik awal dan 1 sebagai
titik akhirnya adalah 5. Hal ini karena 12
2)( A = max(1+3, 3+2, 2+0) = max (3+1,
3+2, 0+(2)) = max(4, 5, 2). Situasi ini sesuai dalam G(A), dimana ada 3 lintasan
dengan panjang 2, dengan 2 sebagai titik awal dan 1 sebagai titik akhirnya, yaitu:
2 1 1, 2 2 1 dan 2 3 1 yang berturut turut mempunyai bobot 4, 5
dan 2. Unsur 31
3)( A = yang berarti tidak ada lintasan dengan panjang 3, dengan
1 sebagai titik awal dan 3 sebagai titik akhirnya. Karena 33
4)( A = 8, hal ini berarti
bobot maksimum semua sirkuit dalam G(A) dengan panjang 4, dengan 3 sebagai
88
titik awal dan titik akhirnya adalah 8, yang bersesuaian dengan sirkuit 3 2 3
2 3.
Sekarang diperhatikan bobot rata-rata maksimum sirkuit elementer, dengan
maksimum diambil atas semua sirkuit elementer dalam graf. Diberikan A nn
maxR
dengan graf bobotnya G (A) = (V, E ). Bobot maksimum dari semua sirkuit dengan
panjang k dengan titik i sebagai titik awal dan titik akhir dalam G(A) dituliskan
sebagai ii
kA )( . Maksimum dari bobot maksimum semua sirkuit dengan panjang
k dengan titik i sebagai titik awal dan titik akhir dalam G(A) atas seluruh titik i
adalah ii
kn
A )(1i
yang dapat dituliskan sebagai trace )(
kA dan rata-ratanya
adalah k
1 trace )(
kA . Kemudian diambil maksimum atas sirkuit dengan panjang
k n, yaitu atas semua sirkuit elementer, diperoleh suatu rumus untuk bobot rata-
rata maksimum sirkuit elementer dalam G(A) (dinotasikan dengan max(A)),
sebagai berikut:
max(A) =
n
k 1(
k
1 trace )(
kA ).
Suatu sirkuit dalam graf G disebut sirkuit kritis jika bobot rata-ratanya sama dengan
bobot rata-rata maksimum sirkuit elementer dalam G. Suatu graf yang terdiri dari
semua sirkuit kritis dari graf G disebut graf kritis dari G dan dinotasikan dengan
Gc.
Contoh 3.5.7
Diberikan A =
12
11
132
. Graf bobot G(A) dinyatakan dalam Gambar 3.5.3.
Akan ditentukan max(A), bobot rata-rata maksimum sirkuit elementer dalam G(A)
di atas. Diperhatikan bahwa: 2A =
233
242
244
dan 3A =
464
355
575
.
89
Gambar 3.5.3 Graf Bobot Contoh 3.5.7
max(A) =
3
1k(
k
1 trace )(
kA ) = max(
1
1(1),
2
1(4),
3
1(5) ) =
2
1(4) = 2.
Sirkuit kritis dalam G(A) di atas adalah sirkuit 1 2 1 dan 2 1 2, sehingga
graf kritis Gc(A) dapat disajikan dalam Gambar 3.5.4 berikut.
Gambar 3.5.4 Graf Kritis Contoh 3.5.7
Teorema 3.5.8 (Baccelli, et.al., 2001)
Diberikan A nxn
maxR . Jika semua sirkuit dalam G(A) mempunyai bobot takpositif,
maka p n , p
A m E A ... 1n
A .
Bukti:
Karena banyak titik dalam G(A) adalah n maka semua lintasan dengan panjang p
n tersusun dari k sirkuit dengan jumlah panjang seluruh sirkuit kurang dari p dan
3 2
3
1 2
1 1
1 2
1
3 2 1
1
90
satu lintasan dengan panjang kurang dari n. Hal ini berarti untuk setiap p n dan
untuk setiap s, t {1, 2, ..., n}, , terdapat r {1, 2, ..., n} sehingga (p
A )st =
(l
A )st + k
i
r,r
m
ii
i
)A( dengan 0 l n1, 1 mi n , 1 ri n dan k = 1, 2, 3,
... .
Karena semua sirkuit mempunyai bobot nonpositif maka untuk setiap p n dan
untuk setiap s, t {1, 2, ..., n} berlaku (p
A )st (l
A )st dengan 0 l n1.
Akibatnya p
A m A ... 1n
A , p n.
Karena untuk setiap A nxn
maxR berlaku E A m A, maka
p
A m E A ... 1n
A , p n. ■
Berdasarkan Teorema 3.5.8 di atas didefinisikan operasi bintang () untuk matriks
berikut ini.
Definisi 3.5.9
Diberikan A nxn
maxR dengan semua sirkuit dalam G(A) berbobot takpositif.
Didefinisikan A* : = E A ... n
A 1n
A ...
dan A+ : = A A*.
Berikut diberikan definisi untuk istilah lain matriks yang sirkuit dalam G(A)
mempunyai bobot takpositif dan negatif. Istilah ini akan digunakan dalam masalah
penyelesaian sistem persamaan linear iteratif max-plus pada pembahasan subbab
berikutnya.
Definisi 3.5.10
Suatu matriks A nn
maxR dikatakan semi-definit jika semua sirkuit dalam G(A)
mempunyai bobot takpositif dan dikatakan definit jika semua sirkuit dalam G(A)
mempunyai bobot negatif.
91
Berikut ini list program MATLAB untuk menghitung matriks A+ dan A* .
% Program Matlab Menghitung A+ dan A*
% Oleh: M. Andy Rudhito FKIP Universitas Sanata Dharma % input: A = matriks batas bawah dan atas max-plus Anxn
% output: Matriks A+ dan A*
A1 = input(' Masukkan matriks Anxn = ');
A1
[m, n]= size(A1);
% Menghitung A pangkat dan A+
G1=A1;
A1_plus = A1;
for s=1:100
s+1;
for i = 1: m
for j = 1: n
F1(i, j) = -Inf;
for p = 1: n
F1(i, j) = max( F1(i, j) ,
A1(i, p) + G1(p, j) );
end;
end;
end;
G1 = F1;
F1;
A1_plus = max(A1_plus, F1);
end;
disp(' Matriks A+ '), disp(A1_plus)
% Menghitung matriks E dan A*
for i = 1 : n
for j = 1 : n
if i ~= j
E(i,j) = -Inf;
end;
end;
end;
A1_star= max(E, A1_plus);
disp(' Matriks A* '), disp(A1_star)
Gambar 3.5.5 List Program MATLAB untuk Menghitung Matriks A+ dan A*.
Berikut diberikan beberapa contoh matriks dan hasil perhitunganya dengan
program di atas.
Contoh 3.5.11.
Diperhatikan matriks A seperti pada Contoh 3.5.7 di atas. Hasil perhitungan sebagai
berikut, dengan mengambil pangkat tertinggi 100.
Masukkan matriks Anxn = [-2 3 1; 1 1 -Inf;-Inf 2 1]
92
A1 =
-2 3 1
1 1 -Inf
-Inf 2 1
Matriks A+
201 203 201
201 201 199
200 202 200
Matriks A*
201 203 201
201 201 199
200 202 200
Nampak bahwa hasil perhitungan akan membesar dan tidak akan konvergen. Hal
ini nampak juga sesuai dengan G(A) di mana terdapat sirkuit dengan bobot positif.
Contoh 3.5.12.
Dari G(A) pada Contoh 3.5.7 jika sedikit dimodifikasi bobot busurnya, sedemikian
hingga semua bobot sirkuitnya berbobot nonnegatif dan diperoleh matriks bobot A
berikut, A =
12
11
132
.
Dengan program di atas diperoleh hasil perhitungan berikut.
Masukkan matriks Anxn = [-2 -3 1;1 0 -Inf;-Inf -2 0]
A1 =
-2 -3 1
1 0 -Inf
-Inf -2 0
Matriks A+
0 -1 1
1 0 2
-1 -2 0
Matriks A*
0 -1 1
1 0 2
-1 -2 0
93
Nampak bahwa dengan perhitungan sampai pangkat sampai ke-100, matriks tidak
membesar melainkan konvergen.
Contoh 3.5.13.
Diberikan matriks A =
876
109
5. Nampak bahwa graf bobot matrik tersebut
tidak memuat sirkuit atau semua sirkuitnya berbobot , sehingga matriks tersebut
juga merupakan matriks definit. Dengan program di atas diperoleh hasil
perhitungan berikut.
Masukkan matriks Anxn = [-Inf -Inf -Inf -Inf;5 -Inf -Inf -Inf; 9
10 -Inf -Inf; 6 7 8 -Inf]
A1 =
-Inf -Inf -Inf -Inf
5 -Inf -Inf -Inf
9 10 -Inf -Inf
6 7 8 -Inf
Matriks A+
-Inf -Inf -Inf -Inf
5 -Inf -Inf -Inf
15 10 -Inf -Inf
23 18 8 -Inf
Matriks A*
0 -Inf -Inf -Inf
5 0 -Inf -Inf
15 10 0 -Inf
23 18 8 0
Nampak bahwa dengan perhitungan sampai pangkat sampai ke-100, matriks tidak
membesar melainkan konvergen.
3.6 Sistem Persamaan Linear Iteratif (SPLI) Max-Plus
Sistem persamaan linear iteratif (SPLI) Max-Plus mempunyai bentuk umum
x = A x b , dengan x, b n
maxR dan A nxn
maxR . Untuk sistem tersebut, dengan
subsitusi berulang diperoleh:
94
substitusi ke-1 : x = A (A x b ) b = 2A x A b b
= 2A x (A E) b.
substitusi ke-2 : x = 3A x (
2A A E) b.
substitusi ke-n : x = n
A x (
1nA ... A E) b.
Dengan demikian jika A* : = E A ... n
A 1n
A ... ada, maka x =
A* b merupakan penyelesaian sistem di atas. Hal ini karena
A (A* b) b = (E A A*) b = A* b.
Dari uraian di atas dan menurut Teorema 3.5.8 diperoleh teorema berikut.
Teorema 3.6.1 (Baccelli, dkk., 2001) Jika A semi-definit, maka x* = A* b
merupakan suatu penyelesaian sistem persamaan linear iteratif max-plus x = A
x b. Lebih lanjut jika A definit, maka sistem persamaan linear tersebut
mempunyai penyelesaian tunggal.
Bukti: Dari uraian di atas nampak bahwa x* = A* b merupakan penyelesaian
sistem. Andaikan A definit. Dari proses substitusi di atas pada substitusi ke-n
diperoleh
x = n
A x (
1nA ... A E) b
= (n
A x ) (
1
0
n
i
(k
A b)).
Dengan mengambil k diperoleh
nlim ((
nA
x ) (
1
0
n
i
(k
A b)))
= n
lim ((n
A x )
nlim (
1
0
n
i
(k
A b))
= n
lim ((n
A x )
nlim
1
0
n
i
(k
A) b.
95
Mengingat A definit, yaitu semua sirkuitnya berbobot negatif, maka jika n
maka ij
nA , sehingga
nlim ((
nA
x ) = . Jadi selanjutnya diperoleh
nlim ((
nA
x ) n
lim
1
0
n
i
(k
A) b = A* b. Dengan demikan x* = A*
b merupakan penyelesaian tunggal sistem di atas. ■
Selanjutnya SPLI Max-Plus yang dibahas dengan matriks koefisien yang
definit. Berikut diberikan list program MATLAB untuk menyelesaikan SPLI Max-
Plus .
% Program Matlab Menyelesaikan pers iterative x=Ax+b
% Oleh: M. Andy Rudhito FKIP Universitas Sanata Dharma % input: A1 = matriks Anxn, B = matriks b kolom nx1
% output: Penyelesaian minimal sistem x=A*b
A1 = input(‘ Masukkan matriks Anxn = ‘);
B1 = input(‘ Masukkan matriks Bnx1 = ‘);
A1
B1
[m, n]= size(A1);
[k, r]= size(B1);
% Menghitung A pangkat dan A+
G1=A1;
A1_plus = A1;
for s=1:n-1
s+1;
for i = 1: m
for j = 1: n
F1(i, j) = -Inf;
for p = 1: n
F1(i, j) = max( F1(i, j) ,
A1(i, p) + G1(p, j) );
end;
end;
end;
G1 = F1;
F1 ;
A1_plus = max(A1_plus, F1) ;
end;
disp(‘ Matriks A_plus ‘), disp(A1_plus);
% Menghitung matriks E dan A*
for i = 1 : n
for j = 1 : n
if i ~= j
E(i,j) = -Inf;
end;
end;
96
end;
A1_star= max(E, A1_plus);
% Menampilkan hasil A pangkat
disp(‘ Matriks A_star ‘), disp(A1_star);
% Menghitung A_star kali B
for i = 1:m
for j = 1: r
A1_starB1(i, j) = -Inf;
for p = 1: n
A1_starB1(i, j) = max(A1_starB1(i, j) ,
A1_star(i, p) + B1(p, j));
end;
end;
end;
% Menampilkan hasil kali
disp(‘ Penyelesaian minimal x’),disp(A1_starB1)
Gambar 3.6.1 List Program MATLAB Penyelesaian SPLI Max-Plus
Contoh 3.6.2
Berikut diberikan contoh hasil perhitungan penyelesaian SPLI Max-Plus dengan
matriks A definit dan b yang dientrikan berikut ini.
Masukkan matriks Amxn = [-3 1 1;-1 -2 -Inf;-Inf 0 -1]
Masukkan matriks Bnx1 = [-1;0;2]
A1 =
-3 1 1
-1 -2 -Inf
-Inf 0 -1
B1 =
-1
0
2
Matriks A_plus
0 1 1
-1 0 0
-1 0 0
Matriks A_star
0 1 1
-1 0 0
97
-1 0 0
Penyelesaian minimal x
3
2
2
Contoh 3.6.3
Berikut diberikan contoh hasil perhitungan penyelesaian SPLI Max-Plus dengan
matriks A definit di mana graf bobotnya tidak memuat sirkuit. dan b yang
dientrikan berikut ini.
Masukkan matriks Anxn = [-Inf -Inf -Inf -Inf;5 -Inf -Inf -Inf; 9
10 -Inf -Inf; 6 7 8 -Inf]
Masukkan matriks Bnx1 = [0;-1;1;-Inf]
A1 =
-Inf -Inf -Inf -Inf
5 -Inf -Inf -Inf
9 10 -Inf -Inf
6 7 8 -Inf
B1 =
0
-1
1
-Inf
Matriks A_plus
-Inf -Inf -Inf -Inf
5 -Inf -Inf -Inf
15 10 -Inf -Inf
23 18 8 -Inf
Matriks A_star
0 -Inf -Inf -Inf
5 0 -Inf -Inf
15 10 0 -Inf
23 18 8 0
Penyelesaian minimal x
0
5
15
23
98
3.7 Penerapan SPLI Max-Plus pada Penjadwalan Proyek
Dalam subbab 1.1 telah diberikan gambaran pemodelan masalah
penjadwalan dengan pendekatan aljabar max-plus. Dalam subbab ini akan dibahas
lebih lanjut penerapan aljabar max-plus untuk pemodelan dinamika jaringan proyek
(project network) dengan waktu aktifitas tegas dan masalah penjadwalan di
dalamnya. Masalah penjadwalan meliputi penentuan saat-mulai paling awal setiap
titik pada jaringan, waktu minimal penyelesaian proyek, saat penyelesaian paling
lambat setiap titik pada jaringan, waktu mengambang setiap titik pada jaringan dan
penentuan lintasan kritis.
Suatu proyek mendefinisikan satu kombinasi kegiatan-kegiatan yang saling
berkaitan yang harus dilakukan dalam urutan tertentu sebelum keseluruhan tugas
dapat diselesaikan. Kegiatan-kegiatan ini saling berkaitan dalam satu urutan
kegiatan yang logis dalam arti bahwa beberapa kegiatan tidak dapat dimulai sampai
kegiatan-kegiatan lainnya diselesaikan (Taha, 1996). Hubungan ketergantungan
dan urutan di antara kegiatan-kegiatan dalam proyek dapat dinyatakan dalam suatu
graf berarah yang disebut juga dengan graf berarah aktifitas (activity digraph)
(Chartrand & Oellermann, 1993). Aturan-aturan pengembangkan diagram panah
(graf berarah di atas) dapat dilihat pada (Taha, 1996). Jaringan Proyek secara
matematis dapat dinyatakan dalam definisi berikut.
Definisi 3.7.1 (Chanas & Zielinski, 2001) Suatu jaringan proyek S adalah suatu
graf berarah berbobot terhubung kuat taksiklik S = (V, A), dengan V = {1, 2, , ...,
n} yang memenuhi: jika (i, j) A, maka i < j.
Dalam jaringan proyek ini, busur menyatakan suatu aktifitas, sedangkan bobot
busur menyatakan waktu aktifitas, sehingga bobot dalam jaringan selalu positip.
Selanjutnya dilakukan pemodelan dan analisis lintasan kritis. Pembahasan
diawali dengan menentukan saat-mulai paling awal (earliest start time) untuk
setiap aktifitas yang berasal dari titik i. Pembahasan dilakukan dengan mengadopsi
teknik perhitungan maju (forward) seperti pada PERT-CPM, dengan menggunakan
pendekatan aljabar-max-plus. Jaringan proyek seperti di atas sering juga disebut
99
jaringan PERT (PERT network), yaitu suatu graf berarah yang digunakan untuk
menyatakan interaksi antara kegiatan-kegiatan individual dalam suatu proyek
komplek keseluruhan. Busur bersesuaian dengan aktifitas dan titik–titik akhirnya
dipilih sedemikian hingga memenuhi kendala urutan di mana aktifitas dapat
dilakukan (Busacker & Saaty, 1965).
Misalkan iES =
e
ix menyatakan saat-mulai paling awal yang berasal dari titik i ,
ijA =
A ),( jika )(
A),( jika titik ke titik dari aktifitaswaktu
ij
ijij
.
Dalam pembahasan ini diasumsikan bahwa aktifitas jaringan dimulai pada titik 1
pada saat waktu sama dengan nol, yaitu ex1 = 0, sehingga dapat dituliskan
exi =
1 jika ) (max
1 jika 0
1ixA
ie
jijnj
.
Dengan menggunakan notasi aljabar max-plus persamaan di atas dapat dituliskan
menjadi
exi =
1 jika ) (
1 jika 0
1
ixA
i e
jij
nj
. (3.7.1)
Selanjutnya diperoleh hasil dalam Teorema 3.7.2 berikut.
Teorema 3.7.2 Jika suatu jaringan proyek dengan n titik, maka vektor saat-mulai
paling awal yang berasal dari titik i pada jaringan tersebut diberikan oleh
xe = (E A ... 1n
A ) be
di mana A adalah matriks bobot dari graf berarah berbobot jaringan tersebut dan
vektor be = [0, , ... , ]T. Lebih lanjut, waktu minimal penyelesaian proyek adalah
enx .
Bukti: Misalkan A adalah matriks bobot graf S , yaitu graf berarah berbobot
jaringan tersebut, xe = [ex1 ,
ex2 , ... , enx ]T dan be = [0, , ... , ]T, persamaan (3.7.1)
dapat dituliskan ke dalam suatu sistem persamaan linear iteratif max-plus berikut
xe = A xe be (3.7.2)
100
Mengingat jaringan proyek merupakan graf berarah taksiklik, maka tidak terdapat
sirkuit, sehingga semua sirkuit dalam jaringan mempunyai bobot takpositif, yang
berarti matriks A definit. Dengan demikian menurut Teorema 3.6.1,
xe = A* be (3.7.3)
merupakan penyelesaian tunggal sistem (3.7.2) di atas. Mengingat jumlah titik
dalam jaringan proyek ini adalah n, maka panjang lintasan terpanjang jaringan tidak
akan melebihi n 1. Dengan demikian dalam hal ini persamaan (3.7.3) dapat ditulis
menjadi xe = A* be = (E A ... 1n
A ) be
yang merupakan vektor saat-mulai paling awal yang berasal dari titik i.
Perhatikan bahwa 1)( n
*A merupakan bobot maksimum lintasan dari titik awal
hingga titik akhir proyek, sehingga enx merupakan waktu minimal penyelesaian
proyek. ■
Dari pemodelan dinamika jaringan proyek di atas nampak bahwa dengan
pendekatan aljabar max-plus dapat diperoleh suatu model yang padu dan menyatu
dalam suatu sistem persamaan linear max-plus iteratif. Selanjutnya dibahas
penentuan saat-penyelesaian paling lambat (latest completion time) untuk semua
kegiatan yang datang ke titik i. Pembahasan dilakukan dengan mengadopsi teknik
perhitungan mundur (backward) seperti pada PERT-CPM, dengan menggunakan
pendekatan aljabar-max-plus, sehingga diperoleh Teorema 3.7.3 berikut.
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
datang ke titik i diberikan oleh
xl = ( (AT )* bl )
di mana A adalah matriks bobot dari graf berarah berbobot jaringan tersebut dan
vektor bl = [, , ... , enx ]T.
Bukti: Misalkan iLC = lix menyatakan saat-penyelesaian paling lambat untuk
semua kegiatan yang datang ke titik i,
101
ijB =
A )( jika )(
A)( jika titik ke titik dari aktifitaswaktu
j, i
ij,ji
.
Diasumsikan bahwa l
nx = enx , kemudian dapat dituliskan
l
ix =
jika ) (min
jika
1nixB
nixl
jijnj
e
n
. (3.7.4)
Dengan menggunakan notasi aljabar max-plus persamaan (3.7.4) ekivalen dengan
l
ix =
jika ) (max
jika
1nixB
nixl
jijnj
e
n
. (3.7.5)
Perhatikan bahwa matriks B = AT, dengan A matriks bobot graf berarah berbobot
jaringan tersebut. Misalkan z = [ 1z , 2z , ... , nz ]T = xl = [ lx1 , lx2 , ... , l
nx ]T dan
bl = [, , ... , enx ]T, persamaan (3.7.5) dapat dituliskan menjadi
z = AT z bl . (3.7.6)
yang, menurut Teorema 3.6.1, penyelesaiannya adalah
z = (AT )* bl .
Dengan demikian diperoleh vektor saat paling lambat adalah xl = z. ■
Seperti halnya yang telah dikenal dalam Riset Operasi, berikut dibahas
mengenai mengenai waktu senggang atau waktu mengambang. Ada dua jenis waktu
mengambang yang biasa dibicarakan, yaitu waktu mengambang total (total float
time) dan waktu mengambang bebas (free float time). Sebelumnya didefinisikan
saat-mulai paling lambat (latest start (LS) time) dan saat-penyelesaian paling cepat
(earliest completion (EC) time) untuk setiap aktifitas (i, j) dalam jaringan dengan
ijLS = jLC jiA dan ijEC = iES + jiA .
Waktu mengambang total adalah besarnya tenggang waktu yang masih
dimungkinkan untuk terjadi keterlambatan selesainya aktifitas tersebut, tanpa
mempengaruhi waktu minimal penyelesaian proyek. Secara matematis waktu
mengambang total untuk aktifitas (i, j) A, yang dilambangkan dengan ijTF
didefinisikan sebagai selisih antara waktu maksimum yang tersedia untuk
melakukan aktifitas tersebut dengan waktu aktifitasnya, yaitu
102
ijTF = ( jLC iES ) jiA = ( l
jx e
ix ) jiA .
Jika dituliskan dalam bentuk matriks akan diperoleh matriks waktu mengambang
total TF = LJ EI AT
dengan LJ adalah matriks dengan semua kolomnya adalah vektor xl dan EI adalah
matriks dengan semua barisnya adalah vektor baris (xe)T.
Waktu mengambang bebas adalah besarnya tenggang waktu yang masih
dimungkinkan pada suatu aktifitas untuk dilakukan penundaan tanpa
mempengaruhi saat dimulainya aktifitas berikutnya. Secara matematis waktu
mengambang bebas untuk aktifitas (i, j) A, yang dilambangkan dengan ijFF ,
dengan mengasumsikan semua kegiatan dimulai sedini mungkin, didefinisikan
sebagai kelebihan waktu yang tersedia di sepanjang aktifitasnya, yaitu
ijFF = ( jES iES ) jiA = ( e
jx e
ix ) jiA .
Jika dituliskan dalam bentuk matriks akan diperoleh matriks waktu ambang
FF = EJ EI AT
dengan EJ adalah matriks dengan semua kolomnya adalah vektor xe dan EI adalah
matriks dengan semua barisnya adalah vektor baris (xe)T.
Selanjutnya diperhatikan aktifitas (i, j) A dengan waktu mengambang
totalnya ijTF = 0, hal ini berarti waktu maksimum yang tersedia untuk melakukan
aktifitas tersebut sama dengan waktu aktifitasnya. Dengan kata lain tidak ada waktu
senggang antara saat-mulai paling cepat dan saat-mulai paling lambat penyelesaian
aktifitas tersebut. Aktifitas seperti ini dikatakan sebagai aktifitas kritis seperti
diberikan dalam Definisi 3.7.4 berikut. Misalkan P adalah himpunan semua lintasan
di dalam S dari titik 1 ke titik n.
Definisi 3.7.4 (Chanas & Zielinski, 2001) Suatu aktifitas (i, j) A dalam jaringan
proyek S disebut aktifitas kritis jika ijTF = 0.
Definisi 3.7.5 (Chanas & Zielinski, 2001) Suatu lintasan p P dalam jaringan
proyek S disebut lintasan kritis jika semua aktifitas yang terletak dalam p
merupakan aktifitas kritis.
103
Dari Definisi 3.7.4 dan 3.7.5 di atas dapat diperoleh Teorema 3.7.6 berikut
(Chanas & Zielinski, 2001).
Teorema 3.7.6 Suatu lintasan p P merupakan lintasan kritis jika dan hanya jika
p mempunyai bobot maksimum, yaitu sama dengan enx .
Bukti: ( ) Akan dibuktikan kontraposisinya. Jika bobot suatu lintasan pP tidak
maksimum, maka ada lintasan selain p, yaitu p P yang bobotnya lebih besar dari
bobot lintasan p. Hal ini berakibat terdapat suatu aktifitas (i, j) p, sedemikian
hingga ijTF 0, yang berarti tidak semua aktifitas pada lintasan p merupakan
aktifitas kritis. Jadi menurut Definisi 3.7.5, lintasan p tersebut bukan merupakan
lintasan kritis.
() Akan dibuktikan kontraposisinya. Jika lintasan p P bukan merupakan
lintasan kritis, maka menurut Definisi 3.7.5, ada suatu aktifitas (i, j) p, sedemikian
hingga ijTF 0. Hal ini berarti waktu maksimum yang tersedia untuk melakukan
aktifitas tersebut lebih besar dari pada waktu aktifitasnya, yang berarti bobot
lintasan p tersebut bukan merupakan lintasan maksimum. ■
Berikut diberikan contoh suatu jaringan proyek dan perhitungannya.
Contoh 3.7.8 Perhatikan jaringan proyek seperti yang diberikan pada Gambar 3.7.1
(Taha, 1996, pp. 81) :
4
5
3 6
7 1
2
2
2
3
6
5 7 3
2 2
3
Gambar 3.7.1 Jaringan Proyek
104
Matriks bobot graf berarah berbobot pada jaringan proyek di atas adalah matriks
A =
652
73
02
32
3
2
.
Dengan menggunakan bantuan program yang disusun dengan menggunakan
MATLAB, yang list programnya pada Gambar 3.7.2 di bawah ini, dengan input
matriks A di atas, diperoleh output program sebagai berikut.
A* =
61313161519
7710913
0326
326
03
02
0
, xe =
19
13
6
6
3
2
0
dan xl =
19
13
6
6
3
4
0
. Hasil perhitungan
selengkapnya seperti dalam Tabel 3.7.1 berikut.
Tabel 3.7.1 Tabel Waktu Hasil Analisis Lintasan Kritis Contoh 3.7.8
No (i, j) Aji ESi ECij LSij LCj TFij FFij
1 (1, 2) 2 0 2 2 4 2 0
2 (1, 3) 3 0 3 0 3 0 0
3 (2, 4) 2 2 4 4 6 2 2
4 (3, 4) 3 3 6 3 6 0 0
5 (3, 5) 2 3 5 4 6 1 1
6 (4, 5) 0 6 6 6 6 0 0
7 (4, 6) 3 6 9 10 13 4 4
8 (4, 7) 2 6 8 17 19 11 11
9 (5, 6) 7 6 13 6 13 0 0
10 (5, 7) 5 6 11 14 19 8 8
11 (6, 7) 6 13 19 13 19 0 0
Dari hasil di atas diperoleh lintasan kritis: (1, 3), (3, 4), (4, 5), (5, 6), (6, 7). Hasil
yang diperoleh di atas sesuai dengan hasil yang diperoleh dalam Taha (1996).
105
% Program Matlab Menghitung saat-mulai paling awal, saat-mulai
paling lambat dan waktu mengambang dengan menggunakan aljabar
max-plus % Oleh: M. Andy Rudhito FKIP Universitas Sanata Dharma % input: A = matriks max-plus Anxn, (matriks yang bersesuaian
dengan graf proyek) % output: Tabel meliputi saat-mulai paling awal, saat-mulai
paling lambat, waktu mengambang, dan waktu aktifitas kritis.
% Memasukkan matriks yang bersesuaian: A = input(' Masukkan matriks A = '); disp(' HASIL PERHITUNGAN :') disp(' ===================') disp(' Matriks A = '),disp(A) [m, n]= size(A);
%MENGHITUNG MAJU % Menghitung A pangkat dan A+ G=A; A_plus = A; 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) , A(i, p) + G(p, j) ); end; end; end; G = F; A_plus = max(A_plus, F); end;
% Menghitung matriks E dan A* for i = 1 : n for j = 1 : n if i ~= j E(i,j) = -Inf; end; end; end; A_star= max(E, A_plus)
% Membuat matriks B for i = 1 : n for j = 1 : 1 if i ~= 1 B(i,j) = -Inf; else B(i,j)=0; end; end; end;
106
% Menghitung vektor saat-mulai paling awal ESi = A_star kali B [k, r]= size(B); for i = 1:m for j = 1: r A_starB(i, j) = -Inf; for p = 1: n A_starB(i, j) = max(A_starB(i, j) , A_star(i, p) + B(p,
j)); end; end; end; ESi=A_starB
% Membuat matriks saat-mulai paling awal MESi for i = 1:n for j = 1:n if A(i,j)~=-Inf MESi(i,j)= ESi(j,1); else MESi(i,j)=-Inf; end end end
% Membuat matriks saat-mulai paling awal MESj for i = 1:n for j = 1:n if A(i,j)~=-Inf MESj(i,j)= ESi(i,1); else MESj(i,j)=-Inf; end end end
% Membuat matriks saat penyelesaian paling cepat MECij for i = 1:n for j = 1:n MEC(i,j)= MESi(i,j)+A(i,j); end end
%MENGHITUNG MUNDUR % Menghitung A2 pangkat dan A2+ A2=A'; G2=A2; A2_plus = A2; for s=1:n-1 s+1; for i = 1: m for j = 1: n F2(i, j) = -Inf; for p = 1: n F2(i, j) = max( F2(i, j) , A2(i, p) + G2(p, j) ); end;
107
end; end; G2 = F2; A2_plus = max(A2_plus, F2); end; % Menghitung matriks E2 dan A2* for i = 1 : n for j = 1 : n if i ~= j E2(i,j) = -Inf; end; end; end; A2_star= max(E2, A2_plus);
% Membuat matriks B2 for i = 1 : n for j = 1 : 1 if i ~= n B2(i,j)= -Inf; else B2(i,j) = -A_starB(n,1); end; end; end; [k, r]= size(B2);
% Menghitung vektor saat penyelesaian paling lambat LCj =
A2_star kali B2 for i = 1:m for j = 1: r A2_starB2(i, j) = -Inf; for p = 1: n A2_starB2(i, j) = max(A2_starB2(i, j) , A2_star(i, p) + B2(p,
j)); end; end; end; LCj = -A2_starB2
% Membuat matriks saat penyelesaian paling lambat MLCj for i = 1:n for j = 1:n if A(i,j)~=-Inf MLCj(i,j)= LCj(i,1); else MLCj(i,j)=-Inf; end end end
% Membuat matriks saat penyelesaian paling lambat MLCi for i = 1:n for j = 1:n if A(i,j)~=-Inf
108
MLCi(i,j)= LCj(j,1); else MLCi(i,j)=-Inf; end end end
% Membuat matriks saat penyelesaian paling lambat MLS for i = 1:n for j = 1:n if MLCj(i,j)~=-Inf MLS(i,j)= MLCj(i,j)-A(i,j); else MLS(i,j)=-Inf; end end end
%Membuat Matriks utk Menghitung ESj-ESi (MESji)dan LCj-LCi
(MLCji) MESji=MESj-MESi; MLCji=MLCj-MLCi; % Menampilkan Tabel WAKTU MENGAMBANG ta0 =zeros(n*n, 9); ta1 =zeros(n*n, 9); ta2 =zeros(n*n, 9); ta3 =zeros(n*n, 9); ta4 =zeros(n*n, 9); ta5 =zeros(n*n, 9); ta6 =zeros(n*n, 9); ta7 =zeros(n*n, 9); ta8 =zeros(n*n, 9); Ck0=zeros(n); for i=1:n for j=1:n Ek0(i,j)=j; Fk0(i,j)=i; end; end; Tk0=(Ek0(1:n*n))'; Tk1=(Fk0(1:n*n))'; Tk2=(A(1:n*n))'; Tk3=(MESi(1:n*n))'; Tk4=(MESj(1:n*n))'; Tk5=(MLCi(1:n*n))'; Tk6=(MLCj(1:n*n))'; Tk7=(MESji(1:n*n))'; Tk8=(MLCji(1:n*n))'; ta0(:,1)= Tk0; ta1(:,2)= Tk1; ta2(:,3)= Tk2; ta3(:,4)= Tk3; ta4(:,5)= Tk4; ta5(:,6)= Tk5; ta6(:,7)= Tk6; ta7(:,8)= Tk7;
109
ta8(:,9)= Tk8; ta=ta0+ta1+ta2+ta3+ta4+ta5+ta6+ta7+ta8; for k=n*n:-1:1 if ta(k,3)==-Inf ta(k,:)=[]; end end
%MENGHITUNG WAKTU MENGAMBANG % Membuat vektor waktu mengambang total titik VSi VSi=(LCj)-(ESi); % Membuat Matriks Slack Total aktifitas MTF for i = 1:n for j = 1:n if MLS(i,j)~=-Inf MTF(i,j)= MLS(i,j)-MESi(i,j); else MTF(i,j)=-Inf; end end end
% Membuat waktu mengambang bebas MFF for i = 1:n for j = 1:n if A(i,j)~=-Inf MFF(i,j)= MESj(i,j)- MESi(i,j)-A(i,j); else MFF(i,j)=-Inf; end end end
% Menampilkan Tabel WAKTU MENGAMBANG tab0 =zeros(n*n, 9); tab1 =zeros(n*n, 9); tab2 =zeros(n*n, 9); tab3 =zeros(n*n, 9); tab4 =zeros(n*n, 9); tab5 =zeros(n*n, 9); tab6 =zeros(n*n, 9); tab7 =zeros(n*n, 9); tab8 =zeros(n*n, 9); C0=zeros(n); for i=1:n for j=1:n E0(i,j)=j; F0(i,j)=i; end; end; T0=(E0(1:n*n))'; T1=(F0(1:n*n))'; T2=(A(1:n*n))'; T3=(MESi(1:n*n))'; T4=(MEC(1:n*n))'; T5=(MLS(1:n*n))';
110
T6=(MLCj(1:n*n))'; T7=(MTF(1:n*n))'; T8=(MFF(1:n*n))'; tab0(:,1)= T0; tab1(:,2)= T1; tab2(:,3)= T2; tab3(:,4)= T3; tab4(:,5)= T4; tab5(:,6)= T5; tab6(:,7)= T6; tab7(:,8)= T7; tab8(:,9)= T8; tab=tab0+tab1+tab2+tab3+tab4+tab5+tab6+tab7+tab8; disp('TABEL WAKTU AKTIFITAS DAN WAKTU MENGAMBANG:') for k=n*n:-1:1 if tab(k,3)==-Inf tab(k,:)=[]; end end tab1=tab; disp(' i j Aji ESi ECij LSij LCj TFij
FFij '),disp(tab1);
%Menentukan Aktifitas Kritis [kta, ktb]=size(tab1); for k=kta:-1:1 if tab1(k,8)~=0 tab1(k,:)=[]; end end disp(' AKTIFITAS KRITIS :') disp(' i j Aji ESi ECij LSij LCj TFij FFij
'),disp(tab1);
Gambar 3.7.2 List Program MATLAB Menentukan Lintasan Kritis
111
BAB 4
NILAI EIGEN DAN VEKTOR MAX-PLUS SERTA PENERAPANNYA
Dalam bab ini dibahas nilai eigen dan vektor eigen max-plus yang
merupakan salah satu alat untuk menganalisa sifat periodik pemodelan masalah
real dengan pendekatan aljabar max-plus. Akan dibahas eksistensi dan
ketunggalan nilai eigen max-plus dan juga beberapa contoh penerapannya.
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 nxn
maxR dikatakan irredusibel jika graf bobotnya terhubung kuat.
Teorema berikut memberikan syarat perlu dan cukup matriks irredusibel.
Teorema 4.1.2
Matriks A nxn
maxR irredusibel jika dan hanya jika (A 2A ...
1nA 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
(k
Aij) . Akibatnya (A
2A ... 1n
A ij) untuk setiap i, j dengan
i j.
() Jika (A 2A ...
1nA ij) untuk setiap i, j dengan i j, maka
terdapat k dengan 1 k n1 sehingga (k
Aij) . Hal ini berarti dalam graf
bobot G(A) = (V, A) dengan V = {1, 2, , ... , n}, untuk setiap i, j V , i j
112
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 2A =
12
11
132
233
242
244
=
233
242
244
, berarti (A 2A ij)
untuk setiap i j. Dalam graf pada Gambar 3.5.3 terlihat bahwa untuk sebarang
dua titik yang berbeda i dan j dalam G(A) terdapat suatu lintasan dari i ke j.
Sedangkan matriks A dalam Contoh 3.5.4 tidak irredusibel, karena
A 2A =
0
42
231
42
64
751
=
42
64
751
, di mana (A 21
2)A = .
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 nn
maxR . Skalar Rmax disebut nilai eigen max-plus matriks A
jika terdapat suatu vektor v n
maxR dengan v 1nε sehingga A 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 nn
maxR .
Teorema 4.1.5
Diberikan A nn
maxR . Skalar max(A), yaitu bobot rata-rata maksimum sirkuit
elementer dalam G(A), merupakan suatu nilai eigen max-plus matriks A.
113
Bukti: Didefinisikan matriks B = max(A) A, maka
max(B) =
n
k 1 (
k
1 trace )(
kB
)
=
n
k 1 (
k
1 trace ))((( max
kAA ) )
=
n
k 1
(k
1 trace )))((( max
kkAA )
=
n
k 1 (
k
1)))((( max
kA trace )(
kA )
=
n
k 1 ))())( AA maxmax( =
n
k 1(0) = 0.
Akibatnya G(B) tidak mempunyai sirkuit dengan bobot positif. Menurut Teorema
3.5.8 dapat diperoleh B* = E B ... 1n
B dan B = B 2B ...
nB .
Karena max(B) = 0, maka terdapat k N (= himpunan semua bilangan asli) , k n
dan suatu s {1, 2, ..., n} sehingga (k
Bss) = 0. Akibatnya komponen ke-s dari
sB. ( kolom ke-s matriks B ) adalah (
kB
ss) = 0 yang berarti bahwa sB. n1.
Di sisi lain menurut Definisi 3.5.9 B = B *B dan *B = E B . Karena (E)ss =
0, maka sB. =
*.sB . Akibatnya
sB. = B
*.sB =
*.sB atau ( max(A) A)
*.sB =
*.sB atau A
*.sB = max(A)
*.sB . Jadi max(A) merupakan suatu nilai
eigen aljabar max-plus matriks A dan *.sB merupakan vektor eigen aljabar max-
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
114
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).
Contoh 4.1.6
Diperhatikan matriks A dalam Contoh 3.5.7 dengan max(A) = 2. Dibentuk matriks
B = max(A) A = 2
12
11
132
=
10
11
114
. Kemudian dihitung
2B =
211
202
200
, *B = E B 2B =
001
201
110
. Karena sirkuit
1 2 1 merupakan sirkuit kritis dalam G(A) maka kolom pertama dan kedua
matriks *B merupakan vektor eigen yang bersesuian dengan nilai eigen
max(A) = 2, yaitu bahwa
12
11
132
1
1
0
=
1
1
2
= 2
1
1
0
dan
12
11
132
0
0
1
=
2
2
3
= 2
0
0
1
.
Berikut diberikan suatu teorema yang memberikan syarat perlu nilai eigen
aljabar max-plus suatu matriks.
Teorema 4.1.7
Diberikan A nn
maxR . Jika skalar R, merupakan nilai eigen aljabar max-plus
matriks A, maka merupakan bobot rata-rata suatu sirkuit dalam G(A).
115
Bukti: Misalkan adalah nilai eigen max-plus matriks A maka untuk setiap
i {1, 2, ... , n} berlaku iA )( x = ix dengan x n 1. Akibatnya terdapat
suatu indeks 1i , 2i sehingga 221 iii xA , =
1ix dengan
1ix . Karena dan
1ix maka
2ix dan
21 iiA , . Karena 2i
x maka terdapat suatu indeks 3i
sedemikian hingga 332 iii xA , =
2ix . Karena dan
2ix maka
3ix
dan 32 iiA , . Demikian seterusnya dengan cara yang sama di atas, akan
diperoleh suatu barisan { ji } sehingga jjj iii xA
,1=
1
jixλ , denganjix
dan jj iiA ,1 , j = 1, 2, 3, ... . Karena banyak titik dalam G(A) berhingga, maka
terdapat suatu j dan l sehingga ji = li . Akibatnya diperoleh suatu sirkuit ,
katakan adalah (li ,
mi ), ..., (2li ,
1li ), (1li ,
li ). Selanjutnya diperoleh
(11
lll iii xA , ) ... (
llm iii xA , ) = ( li
x ) . . . ( mi
x ) . Karena
operasi “” dalam Rmax bersifat komutatif, maka diperoleh
(1ll iiA , . . .
lm iiA , ) (1li
x . . . mi
x li
x ) = 1 lm
(li
x 1li
x . . .
mi
x ) atau (1ll iiA , + . . . +
lm iiA , ) = 1 lm
atau = 1
1
lm(
1ll iiA , + . . .
+lm iiA , ). Hal ini berarti merupakan bobot rata-rata sirkuit . ■
Dari Teorema 4.1.5 dan 4.1.7 dapat disimpulkan bahwa untuk A nn
maxR ,
max(A) merupakan nilai eigen aljabar max-plus maksimum matriks A. Berikut
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 nn
maxR mempunyai nilai eigen aljabar max-plus
dengan x vektor eigen aljabar max-plus yang bersesuaian dengan , maka ix
untuk setiap i {1, 2, ..., n}.
116
Bukti: Misalkan terdapat dengan tunggal s {1, 2, ..., n} sehingga xs = .
Akibatnya (A xs) =
sx = atau iis xA , = untuk setiap i {1, 2, ..., n}.
Karena ix untuk setiap i s, maka isA , = . 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 nn
maxR 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, ix untuk setiap i {1, 2,
..., n}. Diambil sebarang sirkuit , misalkan sirkuit adalah (1i ,
2i ), (2i , 3i ) , ... ,
( pi ,1i ) dalam G(A). Karena adalah nilai eigen aljabar max-plus matriks A, maka
2112 iiii xλxA , ,
pppp iiii xλxA
11, ,
11 iiii xλxA
pp, .
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.
117
% 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);
118
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
119
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 =
12
11
132
dapat diperoleh bahwa vektor eigen
maksimumnya max(A) = 2 dengan vektor-vektor eigen max-plus fundamentalnya
adalah 1v = [0, 1, 1]T dan 2v = [1, 0, 0]T .
4.2 Penerapan pada Penjadwalan Kereta
Dibahas kembali sistem (1.1.8) pada Bab 1 di depan. Diberikan waktu
keberangkatan perjalanan awal dari dua stasiun x(0) = [0, 0]T. Secara rekursif
akan diperoleh barisan vektor x(k) (waktu keberangkatan perjalanan ke-k dari dua
stasiun) berikut
120
x(0) =
0
0, x(1) =
3
5, x(2) =
8
8, x(3) =
11
13, x(4) =
16
16, ... .
Diperhatikan barisan vektor di atas, parameter k pada vektor x(k) menyatakan
banyak perjalanan (kejadian) yang telah diberangkatkan (dimulai) oleh suatu
stasiun (titik). Pada kondisi awal, yaitu untuk k = 0, dianggap sebagai kejadian ke-
0. Misalkan saat waktu 12, setelah kondisi awal, titik 1 telah menjadi aktif
(memulai suatu kejadian) sebanyak dua kali, yaitu pada waktu 5 dan 8. Sementara
pada waktu yang sama, setelah kondisi awal, titik 2 telah menjadi aktif sebanyak
tiga kali, yaitu pada waktu 3, 8 dan 11.
Selanjutnya diperhatikan sistem jaringan kereta sederhana dalam sistem
(1.1.8), untuk kasus tidak ada jadwal keberangkatan. Secara rekursif barisan
vektor keadaan sistem dapat ditentukan dengan
x(1) = A x(0), x(2) = A x(1), x(3) = A x(2), ... .
Jika diberikan waktu keberangkatan perjalanan awal (perjalanan ke-0) dari dua
stasiun adalah x(0) =
0
2, yaitu kereta berangkat dari stasiun 1S saat waktu 2
untuk dan saat waktu 0 dari stasiun 2S , maka barisan waktu keberangkatan dari
dua stasiun adalah: x(0) =
0
2, x(1) =
5
5, x(2) =
8
10, x(3) =
13
13,
x(4) =
16
18, x(5) =
21
21, ... .
Hal ini berarti untuk perjalanan ke-1, kereta berangkat dari stasiun 1S saat waktu 5
untuk dan saat waktu 5 dari stasiun 2S , untuk perjalan ke-2, kereta berangkat dari
stasiun 1S saat waktu 10 untuk dan saat waktu 8 dari stasiun 2S dan seterusnya.
Selanjutnya dibahas sifat periodik SLMI autonomous berdasarkan
pengertian nilai eigen dan vektor eigen aljabar max-plus. Sebelumnya
didefinisikan pengertian sifat periodik suatu SLMI.
121
Definisi 4.2.1
Suatu SLMI (A, B, C, 0x ) dikatakan periodik dengan periode , jika x(k) =
k x(0), untuk k = 1, 2, 3, ... .
Teorema 4.2.2
Diberikan SLMI autonomous (A, C,0x )) dengan A matriks irredusibel yang
mempunyai nilai eigen aljabar max-plus . Jika 0x = x(0), merupakan vektor
eigen aljabar max-plus yang bersesuaian dengan maka x(k) = k x(0),
untuk k = 1, 2, 3, ... . Selanjutnya y(k) = C k x(0), untuk k = 1, 2, 3, ... .
Bukti: Untuk kondisi awal 0x yang merupakan vektor eigen yang bersesuaian
dengan , dengan induksi matematik akan dibuktikan bahwa
x(k) = k x(0), untuk k = 1, 2, 3, ... . (4.2.1)
Diperhatikan bahwa x(1) = A x(0) = x(0) = 1 x(0). Jadi (4.2.1) benar
untuk k = 1. Misalkan (4.2.1) benar untuk k = n yaitu x(n) = n x(0), maka
x(n +1) = A x(n) = A (n x(0)) =
n (A x(0)) = n ( x(0))
= 1n
x(0). Jadi (4.2.1) benar untuk k = n + 1.
Selanjutnya diperoleh
y(k) = C k x(0), untuk k = 1, 2, 3, ... . ■
Dengan kata lain teorema di atas mengatakan bahwa setelah kondisi awal
kejadian berikutnya muncul secara secara periodik dengan periode .
Kembali diperhatikan sistem jaringan kereta sederhana dalam subbab 1.1,
untuk kasus tidak ada jadwal keberangkatan. Matriks A =
33
52merupakan
matriks irredusibel karena 12A , 21A . Dengan cara seperti yang dibahas dalam
122
subbab 4.1 di atas dapat ditentukan bahwa matriks A tersebut mempunyai nilai
eigen tunggal = 4 dengan vektor eigen yang bersesuaian adalah [0, 1]T dan
[1, 0]T. Dengan mengambil0x = [1, 0]T maka diperoleh barisan vektor keadaan
sistem sebagai berikut:
x(0) =
0
1, x(1) =
4
5, x(2) =
8
9, x(3) =
12
13, x(4) =
16
17, x(5) =
20
21, ... .
Terlihat bahwa x(1) = 4 x(0), x(2) = 4 x(1), x(3) = 4 x(2) dan seterusnya.
Hal ini berarti dengan mengambil waktu keberangkatan awal [1, 0]T, waktu antar
keberangkatan dalam setiap stasiun adalah 4 satuan waktu. Dengan demikian
waktu keberangkatan menjadi sangat teratur, yang mana setiap 4 satuan waktu
kereta akan berangkat dari setiap stasiun.
Hasil dalam Teorema 4.2.2 di atas, dalam Sistem Jaringan Kereta dapat
dipergunakan sebagai pertimbangan dalam penyusunan jadwal keberangkatan
kereta dengan waktu antar keberangkatan yang tetap.
Berikut dibahas penerapan teorema di atas untuk Sistem Jaringan Kereta
Sederhana untuk kasus dengan jadwal keberangkatan. Dalam pembahasan subbab
1.1 untuk kasus dengan jadwal keberangkatan, telah diperoleh sistem
x(k+1) = A x(k) d(k + 1) untuk k = 0, 1, 2, ... ,
dengan x(k) = [ 1x (k), 2x (k)] T 2
maxR , A =
33
52 22
max
R ,
d(k + 1) = [ 1d (k + 1), 2d (k + 1)]T 2
maxR ,
ix (k+1): waktu keberangkatan ke-k+1 pada stasiun
iS untuk i = 1, 2 , dan
id (k + 1): jadwal keberangkatan ke-(k+1) pada stasiun
iS untuk i = 1, 2 .
Jika diinginkan suatu jadwal keberangkatan dengan waktu antar keberangkatan
yang tetap, misalkan T satuan waktu, maka jadwal keberangkatan ke-k pada
stasiun iS untuk i = 1, 2 adalah d(k) = d(0) k
T untuk k = 1, 2, 3, ...,
dengan d(0) adalah jadwal keberangkatan awal. Misalkan pada keberangkatan ke-
k kereta berangkat dengan jadwal keberangkatan k, maka waktu keberangkatan
123
ke-k + 1 pada stasiun iS untuk i = 1, 2 adalah x(k+1) = A d(k) d(k + 1).
Agar kereta dapat berangkat sesuai jadwal, maka waktu keberangkatan kereta
harus sama dengan jadwal keberangkatan kereta yaitu x(k+1) = d(k + 1) untuk k =
0, 1, 2, 3, ... . Hal ini dipenuhi bila A d(k) m d(k + 1) untuk k = 0, 1, 2, 3, ... .
Dalam subbab 2.3 telah dibahas bahwa nilai eigen suatu matriks irredusibel A
merupakan bobot rata-rata maksimum sirkuit elementer dalam G(A). Dalam
sistem jaringan kereta di atas yang merupakan nilai eigen aljabar max-plus
matriks A diinterpretasikan sebagai rata-rata waktu antar kedatangan kereta dalam
lingkar yang memerlukan waktu perjalanan terbesar, yaitu lingkar dalam. Jika 0x
vektor eigen aljabar max-plus yang bersesuaian dengan di ambil sebagai d(0),
maka merupakan waktu antar keberangkatan minimum agar kereta dapat
berangkat sesuai jadwal. Jika jadwal keberangkatan yang disusun dengan
mengambil T = , maka jadwal ini tidak memperbolehkan adanya keterlambatan
kedatangan kereta. Dalam penyusunan jadwal keberangkatan, keterlambatan
kereta dapat diperbolehkan untuk suatu selang waktu tertentu dengan mengambil
T yang lebih besar dari . Misalkan diambil T = 5, maka keterlambatan kereta
yang diperbolehkan maksimum sebesar T = 5 4 = 1 satuan waktu.
4.3 Penerapan Analis Model Antrian
Dalam subab 1.4 telah dibahas pemodelan jaringan antrian seri tertutup.
Diperhatikan kembali jaringan antrian seri tertutup dengan banyak pelayan dan
banyak pelanggan masing-masing adalah n = 5. Misalkan waktu layanan pada
pelayan ke-i = 1, 2, 3, 4, 5 berturut-turut 1t = 3, 2t = 4,
3t = 6, 4t = 7 dan 5t = 5,
maka diperoleh A =
55
77
66
44
33
.
Misalkan diambil saat keberangkatan awal pelanggan d(0) = [0, 0, ..., 0]T , maka
saat keberangkatan pelanggan untuk k = 1, 2, 3, ... adalah
124
)1(
)1(
)1(
)1(
)1(
5
4
3
2
1
d
d
d
d
d
=
55
77
66
44
33
0
0
0
0
0
=
5
7
6
4
3
,
)2(
)2(
)2(
)2(
)2(
5
4
3
2
1
d
d
d
d
d
=
55
77
66
44
33
5
7
6
4
3
=
12
14
12
8
8
.
)3(
)3(
)3(
)3(
)3(
5
4
3
2
1
d
d
d
d
d
=
55
77
66
44
33
7
9
10
6
5
=
19
21
18
12
15
dan seterusnya.
Saat keberangkatan pelanggan d(k) sampai k = 15, seperti dalam tabel berikut.
Tabel 4.3.1. Perhitungan Saat Keberangkatan Pelanggan
k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
d1 0 3 8 15 22 29 36 43 50 57 64 71 78 85 92 99
d2 0 4 8 12 19 26 33 40 47 54 61 68 75 82 89 96
d3 0 6 12 18 24 30 36 42 48 54 60 67 74 81 88 95
d4 0 7 14 21 28 35 42 49 56 63 70 77 84 91 98 105
d5 0 5 12 19 26 33 40 47 54 61 68 75 82 89 96 103
Dari Tabel 4.3.1 di atas, dengan saat keberangkatan awal pelanggan d(0) =
[0, 0, ..., 0]T, nampak bahwa antar saat keberangkatan pelanggan pada setiap
pelayanan tidak seluruhnya periodik. Selanjutnya akan dibahas suatu upaya
penjadwalan saat keberangkatan awal pelanggan d(0) agar saat keberangkatan
selanjutnya periodik dengan periode tertentu.
Sebelumnya akan dibahas cara lain untuk menyatakan persamaan rekursif
model dinamika jaringan antrian (1.4.6) melalui vektor saat keberangkatan awal
pelanggan d(0). Dengan menggunakan induksi matematis dapat ditunjukkan
bahwa d(k) = A d(k 1) = k
A d(0) , k = 1, 2, ... . (4.3.1)
Untuk k = 1 berlaku d(1) = A d(0) = 1A d(0).
Andaikan benar untuk k = n 1, yaitu d(n 1) = )1( n
A d(0).
Untuk k = n , d(n) = A d(n 1) = A ()1( n
A d(0)) = n
A d(0). Jadi benar
untuk k = n.
125
Saat keberangkatan pelanggan d(k) dikatakan perodik dengan periode
sebesar jika
d(k) = d(k 1) untuk setiap k = 1, 2, ... .
Dengan demikan agar d(k) dikatakan perodik dengan periode sebesar haruslah
dipenuhi
d(k) = A d(k 1) = d(k 1) untuk setiap k = 1, 2, ... .
Hal ini berarti merupakan suatu nilai eigen max-plus matriks A dan d(k 1)
merupakan vektor eigen yang bersesuaian dengan . Mengingat berlaku untuk
setiap k = 1, 2, ... , maka juga berlaku untuk k = 1. Jadi agar saat keberangkatan
pelanggan perodik dengan periode sebesar , maka d(0), yaitu saat keberangkatan
awal pelanggan, haruslah merupakan suatu vektor eigen yang bersesuaian dengan
.
Mengingat graf bobot matriks A pada model jaringan antrian di atas
terhubung kuat maka matriks A irredusibel. Kemudian menurut Teorema 4.1.9,
matriks A mempunyai nilai eigen max-plus tunggal, yaitu max(A), dengan vektor
eigen fundamental v di mana iv untuk setiap i {1, 2, ..., n}. Situasi ini
sesuai dengan keadaan nyata, di mana saat keberangkatan awal berhingga.
Selanjutnya agar realistis, saat keberangkatan awal pelanggan haruslah tak negatif.
Untuk itu perlu dilakukan modifikasi terhadap vektor eigen fundamental v
sedemikian hingga semua komponennya tak negatif . Dibentuk vektor
v* = v , dengan = )(min ii
v , untuk i = 1, 2, ..., n.
Dengan kombinasi linear max-plus di atas akan diperoleh bahwa komponen-
komponen *
iv semuanya tak negatif dan paling sedikit satu komponennya bernilai
nol. Sementara vektor v* juga merupakan vektor eigen yang bersesuaian dengan
max(A).
Jika diambil saat keberangkatan awal pelanggan d(0) = v* , maka v*
merupakan saat keberangkatan awal tercepat pelanggan, agar saat keberangkatan
pelanggan periodik sejak saat keberangkatan awal pelanggan. Mengingat vektor v*
merupakan vektor eigen yang bersesuaian dengan max(A), maka A v* =
126
)(max A v*. Dari persamaan (4.3.1) dengan menggunakan induksi matematis
dapat ditunjukkan bahwa d(k) = k
A ))(( max v*, untuk k = 1, 2, ... . (4.3.2)
Untuk k = 1 berlaku d(1) = A v* = )(max A v* = 1
max ))(( A v*.
Andaikan benar untuk k = n 1, yaitu d(n 1) = )1(
max ))(( n
A v*.
Untuk k = n , d(n) = A d(n 1) = A ()1(
max ))(( n
A v* =
()1(
max ))(( n
A A v* = ()1(
max ))(( n
A )(max A v* = (1
max ))((n
A v*.
Jadi benar untuk k = n.
Dari Persamaan (4.3.2) di atas nampak bahwa v* adalah saat keberangkatan awal
tercepat pelanggan, sehingga saat keberangkatan pelanggan pada jaringan periodik
dengan periode sebesar )(max A .
Selanjutnya dapat ditentukan bahwa nilai eigen max-plus tunggal matriks
A adalah )(max A = 7 dengan vektor eigen max-plus fundamental yang
bersesuaian dengan )(max A adalah v = [6, 9, 10, 0, 2]T. Selanjutnya
diperoleh = )(min ii
v = 10, untuk i = 1, 2, ..., n, sehingga saat keberangkatan
awal tercepat pelanggan adalah d(0) = v* = 10 v = [4, 1, 0, 10, 8]T. Selanjutnya
dengan saat keberangkatan awal tersebut, saat keberangkatan pelanggan untuk
k = 1, 2, 3, ... adalah
)1(
)1(
)1(
)1(
)1(
5
4
3
2
1
d
d
d
d
d
=
55
77
66
44
33
8
10
0
1
4
=
15
17
7
8
11
= 7
8
10
0
1
4
,
)2(
)2(
)2(
)2(
)2(
5
4
3
2
1
d
d
d
d
d
=
22
24
14
15
18
= 2
7
8
10
0
1
4
,
)3(
)3(
)3(
)3(
)3(
5
4
3
2
1
d
d
d
d
d
=
29
31
21
22
25
= 3
7
8
10
0
1
4
dan seterusnya.
Saat keberangkatan pelanggan d(k) sampai k = 15, seperti dalam tabel berikut
127
Tabel 4.3.2 Perhitungan Saat Keberangkatan Periodik
k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
d1 4 11 18 25 32 39 46 53 60 67 74 81 88 95 102 109
d2 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
d3 0 7 14 21 28 35 42 49 56 63 70 77 84 91 98 105
d4 10 17 24 31 38 45 52 59 66 73 80 87 94 101 108 115
d5 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 113
Nampak bahwa saat awal keberangkatan tercepat pelanggan adalah vektor d(0) =
[4, 1, 0, 10, 8]T, sehingga saat keberangkatan pelanggan pada setiap pelayanan
dalam jaringan antrian tersebut periodik dengan periode sebesar 7.
128
BAB 5
ALJABAR MIN-PLUS DAN ALJABAR MAX-MIN
SERTA PENERAPANNYA
Bab ini membahas beberapa varian lain dari aljabar max-plus. Jika operasi
maximum pada aljabar max-plus diganti dengan operasi minimum, maka akan
diperoleh aljabar max-min. Jika operasi plus dalam aljabar max-plus diganti dengan
dengan minimum, maka akan diperoleh aljabar max-min. Beberapa penyesuaian
dilakukan terkait perubahan operasi tersebut. Diberikan juga penerapannya
khususnya terkait dengan masalah jaringan.
5.1 Aljabar Min-Plus
Secara umum aljabar min-plus analog dengan aljabar min-plus, atau dapat
dikatakan kedua struktur aljabarnya isomorfis. Dalam pembahasan berikut hanya
akan ditampilkan beberapa hal yang berbeda, baik dari segi konsep maupun
penafsirannya.
Diberikan R := R { } dengan R adalah himpunan semua bilangan real
dan : = . Pada R didefinisikan operasi berikut:
a b := min(a, b) dan a b : = a b
untuk setiap a, b R .
Dapat ditunjukkan bahwa (R, , ) merupakan semiring idempoten
komutatif dengan elemen netral 0 = 0 dan elemen satuan = +. Kemudian (R ,
, ) disebut dengan aljabar min-plus, yang selanjutnya cukup dituliskan dengan
Rmin. Relasi “ ” didefinisikan pada R dengan x y x y = x.
Dalam masalah lintasan terpendek, Aij adalah bilangan real nonnegatif dan
merupakan bobot busur (j, i), yaitu waktu tempuh untuk melalui busur (j, i).
Diberikan A nn
minR . Jika k = 0, 1, 2, 3, ..., maka unsur ke-st dari matriks k
A adalah
st
kA )( =
niii k 121 ,,1min
(1kisA , + ... +
12 iiA , + tiA ,1)
= niii k 121 ,,1
min
( tiA ,1+
12 iiA , + ... +1kisA , ),
m m
129
untuk setiap s, t. Karena ( tiA ,1+
12 iiA , + ... +1kisA , ), adalah bobot lintasan, dengan
panjang k dengan t sebagai titik awal dan s sebagai titik akhirnya dalam G(A), yang
dalam hal ini adalah total waktu tempuh lintasan dengan t sebagai titik awal dan s
sebagai titik akhirnya, maka st
kA )( adalah waktu tempuh minimum, dari semua
lintasan dalam G(A) dengan panjang k, dengan t sebagai titik awal dan s sebagai
titik akhirnya. Jika tidak ada lintasan dengan panjang k dari t ke s, maka kapasitas
bobot maksimum didefinisikan sama dengan .
Suatu matriks A nn
minR dikatakan semi-definit jika semua sirkuit dalam
G(A) mempunyai bobot taknegatif dan dikatakan definit jika semua sirkuit dalam
G(A) mempunyai bobot positif. Teorema berikut memberikan hasil seperti dalam
aljabar max-plus dalam versi aljabar min-plus.
Teorema 5.1.1 (versi Min-Plus dari Max-Plus dalam Baccelli, et.al., 2001)
Diberikan A nn
minR . Jika semua sirkuit dalam G(A) mempunyai bobot taknegatif,
atau dengan kata lain A adalah semi-definit, maka p n,
E A ... 1n
A m p
A
Bukti: Mengingat banyak titik dalam G(A) adalah n maka semua lintasan dengan
panjang p n tersusun dari k sirkuit dengan jumlah panjang seluruh sirkuit kurang
dari p dan satu lintasan dengan panjang kurang dari n. Hal ini berarti untuk setiap
p n dan untuk setiap s, t {1, 2, ..., n}, terdapat r {1, 2, ..., n} sehingga
( st
pA ) = ( st
lA ) +
k
i
r,r
m
ii
i
A )( dengan 0 l n1 , 1 im n , 1
ir n dan
k = 1, 2, 3, ... . Mengingat semua sirkuit mempunyai bobot taknegatif maka untuk
setiap p n dan untuk setiap s, t {1, 2, ..., n} berlaku ( st
lA )
( st
pA ) dengan
0 l n1. Akibatnya A ... 1n
A mp
A , p n.
Mengingat untuk setiap A nn
minR berlaku A m E A, maka
E A ... 1n
A m p
A ■
130
Berdasarkan Teorema 5.1.1 di atas didefinisikan operasi bintang (*) berikut.
Definisi 5.1.2 Diberikan matriks semi-definit A nn
minR . Didefinisikan A* : = E
A ... n
A 1n
A ... .
Mengingat Teorema 5.1.1 di atas diperoleh bahwa A* : = E A ... 1n
A .
Berikut diberikan teorema yang memberikan eksistensi dan ketunggalan
penyelesaian sistem persamaan linear iteratif min-plus x = A x b. Teorema
berikut merupakan versi min-plus, yang analog dengan versi max-plus (Baccelli,
et.al., 2001 atau Heidergott, et.al., 2005).
Teorema 5.1.3 Jika A semi-definit, maka x* = A* b merupakan suatu
penyelesaian sistem persamaan linear iteratif min-plus x = A x b. Lebih lanjut
jika A definit, maka sistem persamaan linear tersebut mempunyai penyelesaian
tunggal.
Bukti:
Mengingat A semi-definit maka A* ada. Perhatikan bahwa A (A* b) b =
(E A A*) b = A* b. Jadi x* = A* b merupakan suatu penyelesaian sistem
persamaan linear iteratif min-plus x = A x b.
Selanjutnya andaikan A definit dan x adalah penyelesaian sistem x = A x b.
Substitusikan x ke ruas kanan diperoleh:
x = b A [(A x) b] = b (A b) (2A x) .
Dengan pengulangan cara di atas diperoleh
x = b (A b) (2A b) (
3A x)
= b (A b) … (1k
A b) (k
A x)
= )(1
1
b
kk
l
A (k
A x).
131
Untuk k diperoleh lim𝑘→∞
)(1
1
b
kk
l
A (k
A x)
= lim𝑘→∞
b
kk
l
A1
1
lim𝑘→∞
(k
A x).
Mengingat A semi-definit, yaitu bahwa semua sirkuit dalam G(A) mempunyai bobot
positif, maka lim𝑘→∞
k
A= , sehingga diperoleh x = A* b . Jadi x = A* b
merupakan penyelesaian tunggal. ■
Contoh 5.1.4 Diberikan A = [1 3 54 2 00 𝜀 2
] , b = [602
]. Dapat diperoleh A* = [0 3 30 0 00 3 0
],
sehingga x* = A* b = [302
] merupakan suatu penyelesaian sistem persamaan linear
iteratif min-plus x = A x b.
Perhitungan di atas diperoleh dengan Program MATLAB dengan list program
berikut.
% Program Matlab Menyelesaikan pers iterative SPL min-plus x=Ax+b
% Oleh: M. Andy Rudhito Pmat FKIP USD
% input: A = matriks koefisien Anxn, B = matriks konstanta nx1
% output: Interval matriks x=A*b
A1 = input(’ Masukkan matriks Amxn = ’);
B1 = input(’ Masukkan matriks Bnx1 = ’);
A1
B1
[m, n]= size(A1);
[k, r]= size(B1);
% Menghitung A pangkat dan A+
G1=A1;
A1_plus = A1;
for s=1:n-1
s+1;
for i = 1: m
for j = 1: n
F1(i, j) = Inf;
for p = 1: n
F1(i, j) = min( F1(i, j) , A1(i, p)
+ G1(p, j) );
end;
end;
end;
132
G1 = F1;
F1;
A1_plus = min(A1_plus, F1);
end;
disp(’ Matriks A_plus ’), disp(A1_plus);
% Menghitung matriks E dan A*
for i = 1 : n
for j = 1 : n
if i ~= j
E(i,j) = Inf;
end;
end;
end;
A1_star= min(E, A1_plus);
% Menampilkan hasil A pangkat
disp(’ Matriks A_star ’), disp(A1_star);
% Menghitung A_star kali B
for i = 1:m
for j = 1: r
A1_starB1(i, j) = Inf;
for p = 1: n
A1_starB1(i, j) = min(A1_starB1(i, j) ,
A1_star(i, p) + B1(p, j));
end;
end;
end;
% Menampilkan hasil kali
disp(’ Penyelesaian minimal x’),disp(A1_starB1)
Gambar 5.1.1 List Program MATLAB untuk Menyelesaikan SPL Min-Plus
5.2 Penerapan Aljabar Min-Plus pada Masalah Lintasan Terpendek
Pembahasan diawali dengan meninjau beberapa pengertian dasar,
dilanjutkan dengan memberikan pemodelan dan analisa dengan pendekatan aljabar
min-plus dan memberikan contoh perhitungannya. Pembahasan dengan mengikuti
alur dan konsep yang analog dengan masalah penjadwalan seperti pada subbab 3.7.
Definisi 5.2.1
Suatu jaringan lintasan searah S adalah suatu graf berarah berbobot terhubung
kuat taksiklik S = (V, A), dengan V = {1, 2, , ... , n} yang memenuhi kondisi: jika
(i, j) A, maka i < j.
133
Dalam jaringan lintasan searah ini, titik menyatakan persimpangan, busur
menyatakan suatu jalan, sedangkan bobot busur menyatakan waktu tempuh,
sehingga bobot dalam jaringan selalu positip. Selanjutnya dilakukan pemodelan dan
analisis lintasan terpendek, yaitu lintasan dengan waktu tempuh minimum.
Pembahasan diawali dengan menentukan saat-mulai paling awal (earliest start
time) untuk setiap persimpangan titik i dapat dilalui. Pembahasan dilakukan dengan
mengadopsi dan memodifikasi teknik perhitungan maju (forward) seperti pada
PERT-CPM, dengan menggunakan pendekatan aljabar-min-plus.
Misalkan e
ix = menyatakan saat-mulai paling awal titik i dapat dilalui,
ijA =
.j, i
ij,ij
A )( jika )(
A)( jika titik ke titik dariuh waktu temp
Dalam pembahasan ini diasumsikan bahwa perjalanan dalam jaringan dimulai pada
titik 1 pada saat waktu tempuh sama dengan nol, yaitu ex1 = 0, diasumsikan pula
tidak ada waktu singgah di persimpangan, sehingga dapat dituliskan
e
ix =
1 jika ) (min
1 jika 0
1.ixA
ie
jijnj
Dengan menggunakan notasi aljabar min-plus persamaan di atas dapat dituliskan
menjadi
e
ix =
1 jika ) (
1 jika 0
1
. ixA
i e
jij
nj
(5.2.1)
Selanjutnya diperoleh hasil dalam Teorema 5.2.2 berikut.
Teorema 5.2.2
Diberikan suatu jaringan lintasan searah dengan n titik dan A adalah matriks bobot
graf berarah berbobot jaringan tersebut. Vektor saat-mulai paling awal titik i dapat
dilalui diberikan oleh
xe = (E A ... 1n
A ) be
di mana be = [0, , ... , ]T. Lebih lanjut e
nx merupakan waktu minimal untuk
melintasi jaringan.
134
Bukti:
Misalkan A adalah matriks bobot jaringan tersebut, xe = [ ex1 , ex2 , ... , enx ]T dan be =
[0, , ... , ]T, persamaan (5.2.1) dapat dituliskan ke dalam suatu sistem persamaan
linear min-plus berikut
xe = A xe be . (5.2.2)
Karena jaringan lintasan searah merupakan graf berarah taksiklik, maka tidak
terdapat sirkuit, sehingga semua sirkuit dalam jaringan mempunyai bobot
takpositif. Dengan demikian
xe = A* be (5.2.3)
merupakan penyelesaian sistem (5.2.2) di atas. Karena jumlah titik dalam jaringan
proyek ini adalah n, maka panjang lintasan terpanjangnya tidak akan melebihi
n 1. Dengan demikian dalam hal ini persamaan (5.2.3) dapat ditulis menjadi
xe = A* be = (E A ... 1n
A ) be
yang merupakan vektor waktu-mulai paling cepat setiap titik i dapat dilalui.
Perhatikan bahwa 1)( n
*A merupakan bobot minimum lintasan dari titik awal hingga
titik akhir jaringan, sehingga enx merupakan waktu tempuh minimal untuk melintasi
jaringan. ■
Selanjutnya setelah diketahui waktu tercepat untuk melintasi jaringan ( enx )
akan ditentukan lintasan mana yang dilalui. Pembahasan dilakukan dengan
mengadopsi dan memodifikasi teknik perhitungan mundur (backward) seperti pada
PERT-CPM, dengan menggunakan pendekatan aljabar-min-plus, sehingga
diperoleh Teorema 5.2.3 berikut.
Teorema 5.2.3
Diberikan suatu jaringan lintasan searah dengan n titik dan A adalah matriks bobot
graf berarah berbobot jaringan tersebut. Vektor saat-penyelesaian paling lambat
titik diberikan oleh
xl = ( (AT )* bl )
di mana bl = [, , ... , enx ]T.
135
Bukti:
Misalkan lix = saat-penyelesaian paling lambat titik i,
Bij =
.j, i
ij,ji
A )( jika )(
A)( jika titik ke titik dariuh waktu temp
Diasumsikan bahwa l
nx = enx , kemudian dapat dituliskan
lix =
1 jika ) (max
jika
1. ixB
ni xl
jijnj
e
n (5.2.4)
Dengan menggunakan notasi aljabar min-plus persamaan (5.2.4) ekivalen dengan
lix =
1 jika ) (min
jika
1. ixB
ni xl
jijnj
e
n (5.2.5)
Perhatikan bahwa matriks B = AT, dengan A adalah matriks bobot graf berarah
berbobot jaringan tersebut. Misalkan z = [ 1z , 2z , ... , nz ]T = xl = [ lx1 , lx2 , ... ,
lnx ]T dan bl = [, , ... , e
nx ]T, persamaan (5.2.5) dapat dituliskan menjadi
z = AT z bl . (5.2.6)
yang penyelesaiannya adalah
z = (AT )* bl .
Jadi diperoleh vektor saat-penyelesaian paling lambat adalah xl = z. ■
Dari hasil pada Teorema 5.2.2 dan Teorema 5.2.3 di atas, dapat ditentukan
lintasan terpendek pada jaringan lintasan searah. Mengingat waktu singgah pada
persimpangan adalah nol, dan telah diketahui bahwa enx merupakan waktu tercepat
untuk melintasi jaringan, maka persimpangan yang dilalui lintasan terpendek yang
dicari adalah titik-titik i di mana eix = l
ix . Berikut diberikan beberapa definisi dari
hasil di atas.
Definisi 5.2.4 Suatu jalan (i, j) A dalam jaringan lintasan searah S disebut jalan
terpendek jika eix = l
ix dan e
jx = l
jx .
136
Definisi 5.2.5 Suatu lintasan p P dalam jaringan lintasan searah S disebut
lintasan terpendek jika semua jalan yang terletak dalam p merupakan jalan
terpendek.
Dari Definisi 5.2.4 dan 5.2.5 di atas dan uraian sebelumnya, dapat diperoleh
Teorema 5.2.6 berikut.
Teorema 5.2.6 Suatu lintasan p P merupakan lintasan terpendek jika dan hanya
p jika mempunyai bobot minimum, yaitu sama dengan enx .
Bukti: () Akan dibuktikan kontraposisinya. Jika lintasan pP mempunyai bobot
tidak minimum, maka ada (i, j) p sedemikian hingga eix l
ix atau e
jx l
jx .
Hal ini berarti ada jalan (i, j) p yang bukan merupakan jalan terpendek. Jadi
menurut Definisi 5.2.5 lintasan p bukan merupakan lintasan terpendek.
() Akan dibuktikan kontraposisinya. Jika lintasan p P bukan lintasan terpendek,
maka menurut Definisi 5.2.5, terdapat jalan (i, j) p yang bukan merupakan jalan
terpendek, yaitu di mana eix l
ix atau e
jx l
jx . Hal ini berakibat ada lintasan
selain p, yaitu p P yang bobotnya lebih kecil dari bobot lintasan p. Jadi bobot
lintasan p tidak mempunyai bobot minimum. ■
Berikut diberikan contoh suatu jaringan lintasan searah dan perhitungannya.
Contoh 5.2.8
Perhatikan jaringan lintasan searah seperti yang diberikan pada Gambar 5.2.1
berikut :
4
5
3 6
7 1
2
7
2
3
6
5 7
3
2
2
3
Gambar 5.2.1 Contoh Jaringan lintasan searah
137
Matriks bobot graf berarah berbobot pada jaringan proyek di atas adalah matriks A
di bawah ini. Dengan menggunakan program yang disusun dengan menggunakan
MATLAB, di mana list programnya dapat dilihat pada Gambar 5.2.2 di bawah ini,
dengan input matriks A berikut, diperoleh output program sebagai berikut.
A =
657
73
02
32
3
2
A* =
0655779
073657
00224
0324
03
02
0
xe =
9
7
4
4
3
2
0
xl =
9
3
4
4
2
2
0
.
Dari hasil di atas, waktu tempuh minimal untuk melintasi lintasan adalah 9 dan
lintasan terpendek yang diperoleh adalah lintasan : (1, 2), (2, 4), (4, 5), (5, 7).
% Program Matlab Menentukan Lintasan Terpendek
% Oleh: M. Andy Rudhito FKIP Universitas Sanata Dharma
% input: A = matriks max-plus Anxn, (matriks yang bersesuaian
dengan graf jaringan)
% output: saat-mulai paling awal, saat-mulai paling lambat.
% Memasukkan matriks yang bersesuaian:
A = input(' Masukkan matriks A = ');
disp(' HASIL PERHITUNGAN :')
disp(' ===================')
disp(' Matriks A = '),disp(A)
[m, n]= size(A);
%MENGHITUNG MAJU
% Menghitung A pangkat dan A+
G=A;
A_plus = A;
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) = min( F(i, j) , A(i,
p) + G(p, j) );
end;
end;
138
end;
G = F;
A_plus = min(A_plus, F);
end;
% Menghitung matriks E dan A*
for i = 1 : n
for j = 1 : n
if i ~= j
E(i,j) = Inf;
end;
end;
end;
A_star= min(E, A_plus)
% Membuat matriks B
for i = 1 : n
for j = 1 : 1
if i ~= 1
B(i,j) = Inf;
else
B(i,j)=0;
end;
end;
end;
% Menghitung vektor saat-mulai paling awal ESi = A_star kali
B
[k, r]= size(B);
for i = 1:m
for j = 1: r
A_starB(i, j) = Inf;
for p = 1: n
A_starB(i, j) = min(A_starB(i, j) ,
A_star(i, p) + B(p, j));
end;
end;
end;
ESi=A_starB
% Membuat Matriks saat-mulai paling awal MESi
for i = 1:n
for j = 1:n
if A(i,j)~=Inf
MESi(i,j)= ESi(j,1);
else MESi(i,j)=Inf;
end
end
end
% Membuat Matriks saat-mulai paling awal MESj
for i = 1:n
for j = 1:n
if A(i,j)~=Inf
MESj(i,j)= ESi(i,1);
else
139
MESj(i,j)=Inf;
end
end
end
% Membuat matriks saat penyelesaian paling cepat MECij
for i = 1:n
for j = 1:n
MEC(i,j)= MESi(i,j)+A(i,j);
end
end
%MENGHITUNG MUNDUR
% Menghitung A2 pangkat dan A2+
A2=A';
G2=A2;
A2_plus = A2;
for s=1:n-1
s+1;
for i = 1: m
for j = 1: n
F2(i, j) = Inf;
for p = 1: n
F2(i, j) = min( F2(i, j) ,
A2(i, p) + G2(p, j) );
end;
end;
end;
G2 = F2;
A2_plus = min(A2_plus, F2);
end;
% Menghitung matriks E2 dan A2*
for i = 1 : n
for j = 1 : n
if i ~= j
E2(i,j) = Inf;
end;
end;
end;
A2_star= min(E2, A2_plus);
% Membuat matriks B2
for i = 1 : n
for j = 1 : 1
if i ~= n
B2(i,j)= Inf;
else
B2(i,j) = -A_starB(n,1);
end;
end;
end;
[k, r]= size(B2);
% Menghitung vektor saat penyelesaian paling lambat LCj =
A2_star kali B2
140
for i = 1:m
for j = 1: r
A2_starB2(i, j) = Inf;
for p = 1: n
A2_starB2(i, j) = min(A2_starB2(i, j) ,
A2_star(i, p) + B2(p, j));
end;
end;
end;
LCj = -A2_starB2
Gambar 5.2.2 List Program MATLAB untuk Menentukan Lintasan Terpendek
5.3 Aljabar Max-Min
Secara umum aljabar max-min juga analog dengan aljabar max-plus, atau
dapat dikatakan kedua struktur aljabarnya isomorfis. Seperti dalam pembahsan
aljabar min-plus, dalam pembahasan berikut hanya akan ditampilkan beberapa hal
yang berbeda, baik dari segi konsep maupun penafsirannya.
Aljabar max-min, yaitu himpunan semua bilangan real Rdilengkapi dengan
operasi max (maksimum) dan min (minimum), telah dapat digunakan dengan baik
untuk memodelkan dan menganalisis masalah lintasan kapasitas maksimum
(Gondran dan Minoux, 2008).
Diberikan
R :=
R { } dengan
R adalah himpunan semua bilangan real
nonnegatif dan : = +. Pada
R didefinisikan operasi berikut:
a,b
R , a b := max(a, b) dan a b : = min(a, b).
Dapat ditunjukkan bahwa (
R , , ) merupakan semiring idempoten komutatif
dengan elemen netral 0 = 0 dan elemen satuan = +. Kemudian (
R , , )
disebut dengan aljabar max-min, yang selanjutnya cukup dituliskan dengan
R .
Dalam masalah lintasan kapasitas maksimum, ijA adalah bilangan real
nonnegatif dan merupakan kapasitas busur (j, i), yaitu aliran maksimum yang dapat
melalui busur (j, i). Diberikan A nn
R . Jika k = 0, 1, 2, 3, ..., maka unsur ke-st
dari matriks k
A adalah st
kA )( =
niii k 1211max,,
(min(1kisA , , ... ,
12 iiA , , tiA ,1))
141
= niii k 1211
max,,
(min( tiA ,1,
12 iiA , , ... ,1kisA , )) , untuk
setiap s, t. Karena min( tiA ,1,
12 iiA , , ... ,1kisA , ) adalah kapasitas lintasan dengan
panjang k dengan t sebagai titik awal dan s sebagai titik akhirnya dalam G(A), maka
st
kA )( adalah kapasitas maksimum semua lintasan dalam G(A) dengan panjang k,
dengan t sebagai titik awal dan s sebagai titik akhirnya. Jika tidak ada lintasan
dengan panjang k dari t ke s, maka kapasitas bobot maksimum didefinisikan sama
dengan 0.
Agak berbeda dengan aljabar max-plus dan aljabar min-plus di mana ada
konsep semi-definit dan definit, dalam aljabar max-min teorema berikut berlaku
untuk sembarang matriks persegi dalam aljabar max-min.
Teorema 5.3.1 Diberikan A nn
R . p n , p
A m E A ... n
A .
Bukti: Karena banyak titik dalam G(A) adalah n maka semua lintasan dengan
panjang p n tersusun setidaknya oleh sebuah sirkuit, sehingga kapasitas
maksimum sirkuit tersebut lebih kecil atau sama dengan kapasitas maksimum
lintasan yang panjangnya kurang dari n. Akibatnya p
Am A ...
1nA ,
p n. Karena untuk setiap A nn
R berlaku A m E A, maka p
A m E
A ... 1n
A , p n. ∎
Berdasarkan Teorema 5.3.1 di atas didefinisikan operasi bintang (*) berikut.
Definisi 5.3.2 Diberikan A nn
R . Didefinisikan A* : = E A ... n
A
1nA ... .
Mengingat Teorema 5.3.1 diperoleh bahwa A* : = E A ... 1n
A .
Berdasarkan penjelasan tentang kapasitas dan pangkat matriks di atas, berikut
diberikan suatu hasil mengenai kapasitas maksimum lintasan dalam suatu jaringan.
142
Teorema 5.3.3 Jika A nn
R adalah matriks bobot suatu graf berarah berbobot,
di mana bobot ijA merupakan kapasitas busur (j, i), yaitu aliran maksimum yang
dapat melalui busur (j, i), maka unsur ij
*A )( merupakan kapasitas maksimum
lintasan dengan ujung titik j dan pangkal titik i.
Bukti: Jika A nn
R , maka seperti pada penjelasan di atas, diperoleh bahwa
st
kA )( adalah kapasitas maksimum semua lintasan dalam G(A) dengan panjang k,
dengan t sebagai titik awal dan s sebagai titik akhirnya. Mengingat A* = E A
... n
A 1n
A ... dapat disimpukan bahwa unsur ij
*A )( merupakan
kapasitas maksimum lintasan dengan ujung titik j dan pangkal titik i . ■
Berikut list program MATLAB untuk menghitung A* max-min.
% Program Matlab untuk menghitung A* max-min
% Oleh: M. Andy Rudhito FKIP Universitas Sanata Dharma
% input: A = matriks persegi atas max-min
% output: Matriks A*
A1 = input(' Masukkan matriks Anxn = ');
[m, n]= size(A1);
% Menghitung A pangkat dan A+
G1=A1;
A1_plus = A1;
for s=1:n-1
s+1;
for i = 1: n
for j = 1: n
F1(i, j) = -Inf;
for p = 1:
n
F1(i, j) = max( F1(i, j) , min(A1(i,
p), G1(p, j)));
end;
end;
end;
G1 = F1;
A1_plus = max(A1_plus, F1);
end;
disp(' Matriks A_plus '), disp(A1_plus);
% Menghitung matriks E dan A*
for i = 1 : n
for j = 1 : n
143
if i == j
E(i,j) = Inf;
end;
end;
end;
A1_star= max(E, A1_plus)
% Menampilkan hasil A*
disp(' Matriks A_star '), disp(A1_star);
Gambar 5.3.1 List Program MATLAB untuk Menghitung A* max-min
Berikut diberikan teorema yang memberikan eksistensi dan ketunggalan
penyelesaian sistem persamaan linear iteratif max-min x = A x b.
Teorema 5.3.4 Diberikan A nn
R dan b n
R . Vektor x* = A* b merupakan
penyelesaian tunggal sistem persamaan linear iteratif max-min x = A x b.
Bukti: Perhatikan bahwa berlaku A (A* b) b = (E A A*) b = A* b.
Jadi x* = A* b merupakan suatu penyelesaian sistem persamaan linear iteratif
max-min x = A x b.
Selanjutnya andaikan x adalah penyelesaian sistem x = A x b. Substitusikan
x ke ruas kanan diperoleh:
x = b A [(A x) b] = b (A b) (2A x) .
Dengan pengulangan cara di atas diperoleh
x = b (A b) (2A b) (
3A x)
= b (A b) … (1k
A b) (k
A x)
= )(1
1
b
kk
l
A (k
A x).
Untuk k diperoleh lim𝑘→∞
)(1
1
b
kk
l
A (k
A x)
= lim𝑘→∞
b
kk
l
A1
1
lim𝑘→∞
(k
A x).
144
Mengingat sifat operasi maximum dan minimum lim𝑘→∞
k
Am A*
, sehingga
diperoleh x = A* b . Jadi x = A* b merupakan penyelesaian tunggal. ■
Contoh 5.3.5 Diberikan A = [1 3 54 2 00 𝜀 2
] , b = [102
]. Dapat diperoleh A* = [𝜀 5 54 𝜀 04 𝜀 𝜀
],
sehingga x* = A* b = [222
] merupakan suatu penyelesaian sistem persamaan linear
iteratif max-min x = A x b. Perhitungan di atas diperoleh dengan Program
MATLAB dengan list program seperti Gambar berikut.
% Program Matlab Menyelesaikan Sistem Pers Linear Iterative
Max-Min x=Ax+b
% Oleh: M. Andy Rudhito FKIP Universitas Sanata Dharma
% Input: A = matriks atas aljabar max-min Anxn, b = Vektor nx1
% Output: Matriks x=A*b
% Memasukkan matriks A dan vektor b
A1 = input(' Masukkan matriks Anxn = ');
B1 = input(' Masukkan matriks bnx1 = ');
[m, n]= size(A1);
[k, r]= size(B1);
% Menghitung A pangkat dan A+
G1=A1;
A1_plus = A1;
for s=1:n-1
s+1;
for i = 1: n
for j = 1: n
F1(i, j) = -Inf;
for p = 1: n
F1(i, j) = max( F1(i, j) , min(A1(i,
p), G1(p, j)));
end;
end;
end;
G1 = F1;
A1_plus = max(A1_plus, F1);
end;
disp(' Matriks A_plus '), disp(A1_plus);
% Menghitung matriks E dan A*
for i = 1 : n
for j = 1 : n
if i == j
E(i,j) = Inf;
end;
end;
end;
145
A1_star= max(E, A1_plus)
% Menampilkan hasil A pangkat
disp(' Matriks A_star '), disp(A1_star);
% Menghitung A_star kali B
for i = 1:m
for j = 1: r
A1_starB1(i, j) = -Inf;
for p = 1: n
A1_starB1(i, j) = max(A1_starB1(i, j) ,
min(A1_star(i, p), B1(p, j)));
end;
end;
end;
% Menampilkan hasil kali
disp(' Penyelesaian minimal x'), disp(A1_starB1)
Gambar 5.3.2 List Program MATLAB untuk SPL Max-Min
5.4 Penerapan Aljabar Max-Min pada Masalah Kapasitas Maksimum
Dalam pembahasan subbab di atas, diketahui bahwa unsur ij
*A )(
merupakan kapasitas maksimum lintasan dengan ujung titik j dan pangkal titik i,
dengan A adalah matriks bobot pada graf berarah berbobot yang terkait. Dari hasil
ini kemudian dapat ditentukan lintasan dengan kapasitas maksimum yang berawal
dari titik 1 dan berakhir di titik n dalam suatu jaringan lintasan searah seperti dalam
Definisi 5.2.1, dengan bobot busurnya berupa kapasitas busur, yaitu aliran
maksimum yang dapat melalui busur tersebut. Selanjutnya lintasan yang dimaksud
adalah lintasan yang berawal dari titik 1 dan berakhir di titik n.
Dari Teorema 5.3.3 diperoleh bahwa 1)( n
*A merupakan kapasitas
maksimum lintasan dengan titik awal 1 dan titik akhir n. Kapasitas maksimum
lintasan dengan titik awal 1 dan titik akhir n seperti ini selanjutnya disebut kapasitas
maksimum jaringan. Selanjutnya didefinisikan busur kapasitas maksimum dan
lintasan kapasitas maksimum.
Definisi 5.4.1. Suatu busur (j, i) dalam jaringan lintasan searah dengan n titik
merupakan busur kapasitas maksimum jika kapasitasnya tidak kurang dari
kapasitas maksimum jaringan .
146
Definisi 5.4.2. Suatu lintasan disebut lintasan kapasitas maksimum jika seluruhnya
terdiri dari busur kapasitas maksimum.
Dari definisi di atas dan hasil sebelumnya dapat diperoleh hasil pada
teorema berikut.
Teorema 5.4.3. Diberikan jaringan lintasan searah dengan n titik dan matriks
bobotnya A nn
R . Suatu busur (j, i) dalam jaringan merupakan busur kapasitas
maksimum jika dan hanya jika ijA 1)( n
*A 0.
Bukti. Menurut Definisi 5.4.1 di atas, suatu busur (j, i) merupakan busur kapasitas
maksimum jika hanya jika kapasitasnya tidak kurang dari kapasitas maksimum
jaringan. Dari Teorema 5.3.3 diperoleh bahwa 1)( n
*A merupakan disebut kapasitas
maksimum jaringan. Dengan demikian suatu busur (j, i) dalam jaringan merupakan
busur kapasitas maksimum jika dan hanya jika ijA 1)( n
*A 0. ■
Contoh 5.4.4 Diberikan suatu jaringan berkapasitas seperti pada Gambar 5.4.1 di
bawah ini.
Matriks bobot graf berarah berbobot pada jaringan berkapasitas di atas
adalah matriks A di bawah ini. Dengan menggunakan program MATLAB untuk
menyelesaikan SPL Max-Min dengan list programnya seperti pada Gambar 5.3.2
4
5
3 6
7 1
7
2
2
5
6
5 7 6
2 4
3
Gambar 5.4.1. Suatu Jaringan Lintasan Searah Berkapasitas Real
5
147
di atas, dengan input matriks A tersebut, diperoleh output program matriks A*
sebagai berikut.
A =
0652000
0073000
0005200
0000540
0000006
0000007
0000000
, A* =
665545
075545
005545
000545
000006
000007
000000
.
sehingga diperoleh 71)( *A = 5. Selanjutnya diperoleh
A 71)( *A =
5103555
5522555
5550355
5555015
5555551
5555552
5555555
.
Dari matriks A 71)( *A nampak bahwa busur kapasitas maksimum adalah (1,2),
(1,3), (3,4), (4,5), (5,6) dan (6,7), sehingga lintasan 134567 merupakan
lintasan kapasitas real maksimum. Untuk lintasan mulai busur (1, 2) tidak
membentuk lintasan kapasitas real maksimum karena (2, 4) bukan merupakan busur
kapasitas maksimum.
148
DAFTAR PUSTAKA
Andersen, Maria H. 2002. Max-Plus Algebra: Properties and Applications. Master
of Science in Mathematics’ Thesis. Department of Mathematics University
of Wyoming. Laramie, WY.
Bazargan, Massoud. 2004. Airline Operations and Scheduling. Asghate Publishing
Company. Burlington.
Baccelli, F., Cohen, G., Olsder, G.J. and Quadrat, J.P. 2001. Synchronization and
Linearity. John Wiley & Sons. New York.
Boom, T.J.J., Schutter, B. D. and Verdult, V. 2003. Identification of Stochastic
Max-plus-linear Systems. Proceedings of the 2003 European Control
Conference (ECC'03), Cambridge, UK. Paper 104. pp. 6 – 11.
Busacker, R. G. and Saaty, T. L. 1965. Finite Graphs and Networks: An
Introduction with Applications. McGraw-Hill Book Company. New York.
Butkovič, Peter. 2010. Max Linear System: Theory and Algorithm. Springer. New
York.
Chanas, S. and Zielinski, P. 2001. Critical Path Analysis in the Network with Fuzzy
Activity Times. Fuzzy Sets and Systems. 122. pp. 195 –204.
Chartrand, G. and Oellermann, O. R. 1993. Applied and Algorithmic Graph Theory.
McGraw-Hill, Inc. New York.
Farlow, Kasie G. 2009. Max-Plus Algebra. Master’s Thesis Virginia Polytechnic
Institute and State University. Blacksburg, VA.
Gondran, M and Minoux, M. 2008. Graph, Dioids and Semirings. Springer. New
York.
Heidergott, B., Olsder, J. G and Woude, J. 2005. Max Plus at Work. Princeton
University Press. Princeton.
Krivulin, N.K. 1995. A Max-Algebra Approach to Modeling and Simulation of
Tandem Queueing Systems. Mathematical and Computer Modelling, 22.
pp. 25-31.
149
149
Krivulin, N.K. 1996. The Max-Plus Algebra Approach in Modelling of Queueing
Networks. Proc. Summer Computer Simulation Conf. Portland, OR, SCS.
pp. 485-490.
Krivulin, N.K. 2000. Algebraic Modelling and Performance Evaluation of Acyclic
Fork-Join Queueing Networks. Advances in Stochastic Simulation Methods,
Statistics for Industry and Technology. Birkhäuser. Boston.
Krivulin, N.K. 2001. Evaluation of Bounds on Service Cycle Times in Acyclic
Fork-Join Queueing Networks. International Journal of Computing
Anticipatory Systems. 9. pp. 94-109.
Rudhito, M. A. 2003. Sistem Linear Max-Plus Waktu Invariant. Tesis. Program
Pascasarjana Universitas Gadjah Mada. Yogyakarta.
Rudhito, M. A. 2004. Penerapan Sistem Persamaan Linear Max-Plus x = Axb
pada Masalah Penjadwalan. Jurnal Ilmiah Bidang Matematika, Informatika
dan Terapannya. Math – Info (4). pp. 14 – 19.
Rudhito, M. A. 2011. Aljabar Max-Plus Bilangan Kabur dan Penerapannya pada
Masalah Penjadwalan dan Jaringan Antrian Kabur. Disertasi Program
Pascasarjana Universitas Gadjah Mada. Yogyakarta.
Schutter, B. De. 1996. Max-Algebraic System Theory for Discrete Event Systems.
PhD Thesis. Department of Electrical Engineering Katholieke Universiteit
Leuven. Leuven.
Schutter, B. D. and Boom, T. 2000. ”Model Predictive Control for Max-plus-linear
Discrete-event Systems: Extended Report & Addendum”. Technical report
bds: 99-10a. Faculty of Information Technology and System. Delft
University of Technology. Delft.
Skalna, I., Rao, R. M. V. and Pownuk, A. 2007. Systems of Fuzzy Equations in
Structural Mechanics. The University of Texas at El Paso Department of
Mathematical Sciences Research Reports Series No. 2007-01.
Soltoni, A.and Haji, R. 2007. A Project Scheduling Method Based on Fuzzy
Theory. Journal of Industrial and Systems Engineering. 1. pp 70 – 80.
150
Susilo, F. 2006. Himpunan dan Logika Kabur serta Aplikasinya. Edisi kedua. Graha
Ilmu. Yogyakarta
Suwarno, FX Widadi A. 2001. Tata Operasi Darat. PT Gramedia Widiasarana
Indonesia. Jakarta.
Taha, Hamdi A. 1996. Riset Operasi. Jilid 2 (terjemahan). Binarupa Aksara.
Jakarta.
Wahyudyah, Regina. 2015. Sistem Persamaan Linear Max-Plus dan Aplikasinya
dalam Masalah Ramp-Handling Pesawat. Skripsi. Program Studi
Pendidikan Universitas Sanata Dharma. Yogyakarta.
Wilson, Robin J. 1972. Introduction to Graph Theory. Oliver & Beyond.
Edinburgh.
Wohlgemuth, A. 1990. Introduction to Proof in Abstract Mathematics. Saunders
College Publishing. Philadelphia.
Zimmermann, K. 2006. Interval Linear Systems and Optimization Problems over
Max-plus Algebras. Linear Optimization Problem with Inexact Data.
Springer Science+Business Media, Inc. New York.
151
INDEKS
aktifitas, 7, 8, 98 jadwal keberangkatan, 2, 3, 122
aktifitas kritis, 102, 103 jadwal penerbangan, 76
aljabar max-min, 128, 140, 145 jalan, 133
aljabar max-plus, 1, 12, 15, 23 jalan terpendek, 135, 136
aljabar min-plus, 123, 132, 133 jaringan antrian, 9, 123
antrian seri tertutup, 9, 10, 123 jaringan kereta api, 1
bahan baku, 4, 39, 42 jaringan lintasan searah, 132, 135
block-off, 75 jaringan proyek,7, 98,
block-on, 75 kapasitas busur, 140, 145
bobot, 7, 85, 86 kapasitas maksimum, 140, 145
bobot lintasan, 86, 87, 103, 129 kesamaan matriks, 16
bobot negatif, 90, 95, ketunggalan penyelesaian SPLIO, 66
bobot positif, 92, 113, 129 kombinasi linear, 24
bobot rata-rata lintasan, 86, komparabel, 25
bobot rata-rata maksimum, 88, 112, 123 kondisi awal, 38
bobot taknegatif, 129 lintasan, 84
bobot takpositif, 89, 90, 100, 134 lintasan kapasitas maksimum, 147
buffer, 5, 39, lintasan kritis, 102
busur, 7, 83, 84, 98, 133, 145, 146 lintasan terpendek, 136
busur kapasitas maksimum, 145, 146 lone-one, 66
closed tandem, 9 loop, 83
critical path method, 7 masalah input paling lambat, 45
definit, 90, 94, 100, 129 masalah lintasan terpendek, 128, 132
delay, 79 masalah optimisasi SPL, 34
dioid, 14 minimisasi simpangan maksimum, 47
earliest start time, 7, 98, 133 MATLAB I-O SLMI autonomous, 53
eksistensi penyelesaian SPLIO, 65 MATLAB input-output SLMI, 52
elemen invers, 14 MATLAB lintasan terpendek, 140
elemen netral, 13, 17, 128 MATLAB operasi bintang max-min, 145
elemen penyerap, 13 MATLAB operasi bintang max-plus, 93
elemen satuan, 12, 17, 128, 140 MATLAB pangkat matriks, 22
elemen slack, 66 MATLAB SPLI max-plus, 96
first-in-first-out, 9 MATLAB SPLI min-plus, 132
forward, 7, 98, 133 MATLAB perkalian matriks, 20
graf, 83 MATLAB SPLI max-min, 145
graf berarah, 83, MATLAB SPLIO max-plus, 73
graf berarah aktifitas, 98 MATLAB lintasan kritis, 110
graf bobot, 85 MATLAB nilai dan vektor eigen, 119
graf kritis, 88 matriks atas aljabar max-plus, 15
graf siklik, 84 matriks bobot, 85
graf taksiklik, 84 matriks identitas max-plus, 17
ground time, 75 matriks nol max-plus, 17
idempoten, 13, nilai eigen max-plus, 113
input-output SLMI, 40 operasi bintang, 90
input-output SLMI autonomous, 44 operasi max, 3
irredusibel, 111 operasi min, 128
152
operasi penjumlahan, 3 sifat transitif, 24
overflow, 5 siklus layanan jaringan, 9
palet, 9 sirkuit, 84
pangkat matriks, 18 sirkuit kritis, 88
penjadwalan proyek, 7, 98 sistem kejadian diskrit (SKD), 6
penyangga, 5 SLMI, 6
penyelesaian paling cepat, 101 SLMI autonomous, 38
penyelesaian tak ideal, 79 SLMI MIMO, 38
perhitungan maju, 7 SLMI periodik, 122
persimpangan, 133 SLMI satu input satu output (SISO), 38
peubah tetap, 66 sistem persamaan linear (SPL), 28
ramp dispatcher, 75 SPL input-output (SPLIO) max-plus, 28
ramp-handling, 75 SPL Iteratif (SPLI) max-plus, 93
rusuk, 83 SPL Iteratif min-plus, 131
saat keberangkatan, 10 sistem produksi sederhana, 4, 37
saat keberangkatan periodik, 127 subpenyelesaian, 29
saat kedatangan, 10 subpenyelesaian terbesar, 29
saat-mulai paling awal, 7 teori graf, 83
saat-mulai paling lambat, 101 terhubung kuat, 84
saat-penyelesaian paling cepat, 98 titik, 83
saat-penyelesaian paling lambat, 100 trace, 19
semi-definit, 90 transit arrangement, 76
semifield, 14 turnaround arrangement, 76
semigrup, 12 urutan parsial, 24
semigrup komutatif, 12 urutan pengoperasian, 6
semimodul, 23 urutan total, 24
semiring, 12 vektor, 24
semiring komutatif, 13 vektor eigen max-plus fundamental, 114
sifat antisimetris, 24 vektor eigen max-plus, 112, 114
sifat refleksif, 24 waktu mengambang, 101