aljabar max-plus dan penerapannya

158
ALJABAR MAX-PLUS DAN PENERAPANNYA M. Andy Rudhito Program Studi Pendidikan Matematika FKIP Universitas Sanata Dharma Yogyakarta 2016

Transcript of aljabar max-plus dan penerapannya

Page 1: aljabar max-plus dan penerapannya

ALJABAR MAX-PLUS

DAN PENERAPANNYA

M. Andy Rudhito

Program Studi Pendidikan Matematika FKIP

Universitas Sanata Dharma

Yogyakarta 2016

Page 2: aljabar max-plus dan penerapannya

ii

Page 3: aljabar max-plus dan penerapannya

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.

Page 4: aljabar max-plus dan penerapannya

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])

Page 5: aljabar max-plus dan penerapannya

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

Page 6: aljabar max-plus dan penerapannya

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

Page 7: aljabar max-plus dan penerapannya

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

Page 8: aljabar max-plus dan penerapannya

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),

Page 9: aljabar max-plus dan penerapannya

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),

Page 10: aljabar max-plus dan penerapannya

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

Page 11: aljabar max-plus dan penerapannya

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)

Page 12: aljabar max-plus dan penerapannya

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)

Page 13: aljabar max-plus dan penerapannya

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

Page 14: aljabar max-plus dan penerapannya

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

Page 15: aljabar max-plus dan penerapannya

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

Page 16: aljabar max-plus dan penerapannya

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

Page 17: aljabar max-plus dan penerapannya

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).

Page 18: aljabar max-plus dan penerapannya

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 ,

Page 19: aljabar max-plus dan penerapannya

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.

Page 20: aljabar max-plus dan penerapannya

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.

Page 21: aljabar max-plus dan penerapannya

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

Page 22: aljabar max-plus dan penerapannya

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

.

Page 23: aljabar max-plus dan penerapannya

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 .

Page 24: aljabar max-plus dan penerapannya

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)

Page 25: aljabar max-plus dan penerapannya

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

Page 26: aljabar max-plus dan penerapannya

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

Page 27: aljabar max-plus dan penerapannya

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

Page 28: aljabar max-plus dan penerapannya

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

Page 29: aljabar max-plus dan penerapannya

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}.

Page 30: aljabar max-plus dan penerapannya

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.

Page 31: aljabar max-plus dan penerapannya

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 .

Page 32: aljabar max-plus dan penerapannya

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

Page 33: aljabar max-plus dan penerapannya

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.

Page 34: aljabar max-plus dan penerapannya

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.

Page 35: aljabar max-plus dan penerapannya

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

Page 36: aljabar max-plus dan penerapannya

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. ■

Page 37: aljabar max-plus dan penerapannya

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.

Page 38: aljabar max-plus dan penerapannya

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.

Page 39: aljabar max-plus dan penerapannya

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 .

Page 40: aljabar max-plus dan penerapannya

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.

Page 41: aljabar max-plus dan penerapannya

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

Page 42: aljabar max-plus dan penerapannya

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)

Page 43: aljabar max-plus dan penerapannya

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 .

Page 44: aljabar max-plus dan penerapannya

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 .

Page 45: aljabar max-plus dan penerapannya

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

,

Page 46: aljabar max-plus dan penerapannya

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) ).

Page 47: aljabar max-plus dan penerapannya

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)

Page 48: aljabar max-plus dan penerapannya

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

Page 49: aljabar max-plus dan penerapannya

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

.

Page 50: aljabar max-plus dan penerapannya

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

Page 51: aljabar max-plus dan penerapannya

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

Page 52: aljabar max-plus dan penerapannya

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

Page 53: aljabar max-plus dan penerapannya

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. ■

Page 54: aljabar max-plus dan penerapannya

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

Page 55: aljabar max-plus dan penerapannya

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.

Page 56: aljabar max-plus dan penerapannya

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);

Page 57: aljabar max-plus dan penerapannya

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;

Page 58: aljabar max-plus dan penerapannya

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

Page 59: aljabar max-plus dan penerapannya

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);

Page 60: aljabar max-plus dan penerapannya

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(' ')

Page 61: aljabar max-plus dan penerapannya

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

Page 62: aljabar max-plus dan penerapannya

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);

Page 63: aljabar max-plus dan penerapannya

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

Page 64: aljabar max-plus dan penerapannya

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

Page 65: aljabar max-plus dan penerapannya

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

Page 66: aljabar max-plus dan penerapannya

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

𝑚 < 𝑛.

Page 67: aljabar max-plus dan penerapannya

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

].

Page 68: aljabar max-plus dan penerapannya

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

Page 69: aljabar max-plus dan penerapannya

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.

Page 70: aljabar max-plus dan penerapannya

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] = 𝒃.

Page 71: aljabar max-plus dan penerapannya

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

Page 72: aljabar max-plus dan penerapannya

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

Page 73: aljabar max-plus dan penerapannya

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

Page 74: aljabar max-plus dan penerapannya

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

Page 75: aljabar max-plus dan penerapannya

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 + ⋯+ 𝜀 + 𝑥𝑛} = 𝑏𝑘.

Page 76: aljabar max-plus dan penerapannya

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

Page 77: aljabar max-plus dan penerapannya

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 𝑥𝑗 = 𝜀.

Page 78: aljabar max-plus dan penerapannya

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

Page 79: aljabar max-plus dan penerapannya

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

Page 80: aljabar max-plus dan penerapannya

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 =

{}

Page 81: aljabar max-plus dan penerapannya

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

Page 82: aljabar max-plus dan penerapannya

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

Page 83: aljabar max-plus dan penerapannya

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]

Page 84: aljabar max-plus dan penerapannya

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

Page 85: aljabar max-plus dan penerapannya

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

Page 86: aljabar max-plus dan penerapannya

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.

Page 87: aljabar max-plus dan penerapannya

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 =

Page 88: aljabar max-plus dan penerapannya

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-

Page 89: aljabar max-plus dan penerapannya

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)}.

Page 90: aljabar max-plus dan penerapannya

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

Page 91: aljabar max-plus dan penerapannya

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

Page 92: aljabar max-plus dan penerapannya

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

Page 93: aljabar max-plus dan penerapannya

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

Page 94: aljabar max-plus dan penerapannya

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

.

Page 95: aljabar max-plus dan penerapannya

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

Page 96: aljabar max-plus dan penerapannya

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.

Page 97: aljabar max-plus dan penerapannya

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]

Page 98: aljabar max-plus dan penerapannya

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

Page 99: aljabar max-plus dan penerapannya

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:

Page 100: aljabar max-plus dan penerapannya

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.

Page 101: aljabar max-plus dan penerapannya

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;

Page 102: aljabar max-plus dan penerapannya

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

Page 103: aljabar max-plus dan penerapannya

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

Page 104: aljabar max-plus dan penerapannya

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

Page 105: aljabar max-plus dan penerapannya

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)

Page 106: aljabar max-plus dan penerapannya

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,

Page 107: aljabar max-plus dan penerapannya

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

Page 108: aljabar max-plus dan penerapannya

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.

Page 109: aljabar max-plus dan penerapannya

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

Page 110: aljabar max-plus dan penerapannya

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).

Page 111: aljabar max-plus dan penerapannya

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;

Page 112: aljabar max-plus dan penerapannya

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;

Page 113: aljabar max-plus dan penerapannya

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

Page 114: aljabar max-plus dan penerapannya

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;

Page 115: aljabar max-plus dan penerapannya

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))';

Page 116: aljabar max-plus dan penerapannya

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

Page 117: aljabar max-plus dan penerapannya

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

Page 118: aljabar max-plus dan penerapannya

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.

Page 119: aljabar max-plus dan penerapannya

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

Page 120: aljabar max-plus dan penerapannya

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).

Page 121: aljabar max-plus dan penerapannya

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}.

Page 122: aljabar max-plus dan penerapannya

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.

Page 123: aljabar max-plus dan penerapannya

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);

Page 124: aljabar max-plus dan penerapannya

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

Page 125: aljabar max-plus dan penerapannya

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

Page 126: aljabar max-plus dan penerapannya

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.

Page 127: aljabar max-plus dan penerapannya

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

Page 128: aljabar max-plus dan penerapannya

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

Page 129: aljabar max-plus dan penerapannya

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

Page 130: aljabar max-plus dan penerapannya

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.

Page 131: aljabar max-plus dan penerapannya

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* =

Page 132: aljabar max-plus dan penerapannya

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

Page 133: aljabar max-plus dan penerapannya

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.

Page 134: aljabar max-plus dan penerapannya

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

Page 135: aljabar max-plus dan penerapannya

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 ■

Page 136: aljabar max-plus dan penerapannya

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).

Page 137: aljabar max-plus dan penerapannya

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;

Page 138: aljabar max-plus dan penerapannya

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.

Page 139: aljabar max-plus dan penerapannya

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.

Page 140: aljabar max-plus dan penerapannya

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.

Page 141: aljabar max-plus dan penerapannya

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 .

Page 142: aljabar max-plus dan penerapannya

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

Page 143: aljabar max-plus dan penerapannya

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;

Page 144: aljabar max-plus dan penerapannya

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

Page 145: aljabar max-plus dan penerapannya

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

Page 146: aljabar max-plus dan penerapannya

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))

Page 147: aljabar max-plus dan penerapannya

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.

Page 148: aljabar max-plus dan penerapannya

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

Page 149: aljabar max-plus dan penerapannya

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).

Page 150: aljabar max-plus dan penerapannya

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;

Page 151: aljabar max-plus dan penerapannya

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 .

Page 152: aljabar max-plus dan penerapannya

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

Page 153: aljabar max-plus dan penerapannya

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.

Page 154: aljabar max-plus dan penerapannya

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.

Page 155: aljabar max-plus dan penerapannya

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.

Page 156: aljabar max-plus dan penerapannya

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.

Page 157: aljabar max-plus dan penerapannya

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

Page 158: aljabar max-plus dan penerapannya

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