Implementasi Algoritma Cat Swarm Optimization Dalam Menyelesaikan Job Shop Scheduling Problem (JSSP).

(1)

KOMPETENSI FINANSIAL

SKRIPSI

I WAYAN RADIKA APRIANA 1108405016

JURUSAN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS UDAYANA

BUKIT JIMBARAN 2016


(2)

ii

LEMBAR PERSEMBAHAN

Semoga pikiran baik datang dari segala penjuru arah dan semoga

Tuhan Yang Maha Esa menyertai setiap langkah perjuangan

Saya persembahkan tulisan ini kepada kedua orang tua dan keluarga tercinta

Yang telah membesarkan dan merawat saya hingga saat ini

Banyak hal yang telah diberikan dan dikorbankan

Hingga kini saya dapat berada di posisi ini

Dan semoga pencapaian ini menjadi sebagian kecil kebahagiaan yang bisa saya

berikan serta menjadi awal dari kebahagiaan-kebahagiaan selanjutnya untuk mereka


(3)

IMPLEMENTASI ALGORITMA CAT SWARM OPTIMIZATION DALAM MENYELESAIKAN JOB SHOP SCHEDULING PROBLEM (JSSP)

KOMPETENSI FINANSIAL

[SKRIPSI]

Sebagai syarat untuk memperoleh gelar Sarjana Sains bidang Matematika pada Fakultas Matematika dan Ilmu Pengetahuan Alam

Universitas Udayana

Tulisan ini merupakan hasil penelitian yang belum pernah dipublikasikan

I WAYAN RADIKA APRIANA 1108405016

Pembimbing II Pembimbing I

Kartika Sari, S.Si., M.Sc. Ni Ketut Tari Tastrawati, S.Si., M.Si. NIP. 197007112003122001 NIP. 197405282002122002


(4)

iv

LEMBAR PENGESAHAN TUGAS AKHIR

Judul : Implementasi Algoritma Cat Swarm Optimization Dalam Menyelesaikan Job Shop Scheduling Problem (JSSP) Kompetensi : Finansial

Nama : I Wayan Radika Apriana

NIM : 1108405016

Fakultas/Jurusan : Matematika dan Ilmu Pengetahuan Alam/Matematika Tanggal Seminar : 29 April 2016

Disetujui oleh :

Pembimbing II Pembimbing I

Kartika Sari, S.Si., M.Sc. Ni Ketut Tari Tastrawati, S.Si., M.Si. NIP. 197007112003122001 NIP. 197405282002122002

Penguji I

Ir. Tjokorda Bagus Oka, Ph.D. NIP. 195411261986031001

Penguji III Penguji II

Ir. I Putu Eka Nila Kencana, M.T. Luh Putu Ida Harini, S.Si., M.Sc. NIP. 196506141992031004 NIP. 198002102003122001

Mengetahui,

Jurusan Matematika FMIPA Unud Ketua,

Desak Putu Eka Nilakusmawati, S.Si., M.Si. NIP. 197106111997022001


(5)

Judul : Implementasi Algoritma Cat Swarm Optimization Dalam Menyelesaikan Job Shop Scheduling Problem (JSSP) Nama : I Wayan Radika Apriana (NIM : 1108405016) Pembimbing : 1. Ni Ketut Tari Tastrawati, S.Si., M.Si.

2. Kartika Sari, S.Si., M.Sc.

ABSTRAK

Algoritma Cat Swarm Optimization (CSO) merupakan salah satu algoritma metaheuristik dengan dasar pemikirannya adalah dua perilaku kucing yaitu seeking mode dan tracing mode. CSO dapat diimplementasikan dalam menyelesaikan kasus optimasi. Salah satu permasalahan optimasi yang ada dalam kehidupan sehari-hari adalah kasus Job Shop Scheduling Problem (JSSP).

Penelitian ini bertujuan untuk mengetahui kinerja algoritma CSO dalam menyelesaikan kasus nyata JSSP. Data yang digunakan dalam penelitian ini adalah data kasus 5 job – 12 mesin. Berdasarkan hasil penelitian, algoritma CSO efektif dalam menyelesaikan kasus nyata JSSP untuk penjadwalan 5 job – 12 mesin di industri peralatan pengolahan hasil pertanian CV Mitra Niaga Indonesia. Dalam mengimplementasikan algoritma CSO pada kasus JSSP, pemilihan nilai parameter yang tepat dapat menghasilkan solusi yang optimal. Selain itu, semakin besar jumlah job dan mesin yang digunakan maka semakin sulit dan rumit permasalahan JSSP yang harus diselesaikan.


(6)

vi

Title : Implementation Cat Swarm Optimization Algorithm to Solve Job Shop Scheduling Problem (JSSP)

Name : I Wayan Radika Apriana (NIM : 1108405016) Supervisor : 1. Ni Ketut Tari Tastrawati, S.Si., M.Si.

2. Kartika Sari, S.Si., M.Sc.

ABSTRACT

Cat Swarm Optimization (CSO) algorithm is a metaheuristic algorithm which is based on two behaviors of cat, seeking and tracing. CSO algorithm is used in solving optimization problems. One of the optimization problems which can be seen in daily life is Job Shop Scheduling Problem (JSSP).

This study aimed to observe the performance of CSO algorithm in solving JSSP. This study focused on 5 job-12 machine cases. According to this study, CSO algorithm was effective in solving real case of JSSP in 5 jobs – 12 machines scheduling at CV Mitra Niaga Indonesia agriculture tools industry. In implementing CSO algorithm in JSSP, a correct parameter choosing could lead to an optimal result. On other hand, the greater the number of jobs or machines the more complex and difficult the JSSP that needed to be solved.


(7)

KATA PENGANTAR

Puji syukur penulis panjatkan ke hadapan Ida Sang Hyang Widhi Wasa karena berkat rahmat-Nya penulis dapat menyelesaikan Tugas Akhir yang berjudul

“Implementasi Algoritma Cat Swarm Optimazion Dalam Menyelesaikan Job

Shop Scheduling Problem (JSSP)”.

Dalam penulisan Tugas Akhir ini, penulis banyak mendapat bantuan dari berbagai pihak, baik berupa dorongan semangat maupun sumbangan pemikiran. Oleh karena itu, sehubungan dengan terselesaikannya tugas akhir ini, maka penulis mengucapkan terima kasih kepada berbagai pihak yang telah membantu penulis, antara lain :

1. Ibu Ni Ketut Tari Tastrawati, S.Si., M.Si. selaku Dosen Pembimbing I dan Ibu Kartika Sari, S.Si., M.Sc. selaku Dosen Pembimbing II yang telah banyak membantu, membimbing, serta memberikan semangat selama penyusunan Tugas Akhir ini.

2. Bapak Ir. Tjokorda Bagus Oka, Ph.D. selaku penguji I, Ibu Luh Putu Ida Harini, S.Si., M.Sc. selaku penguji II, dan Bapak Ir. I Putu Eka Nila Kencana, M.T. selaku penguji III yang telah memberikan bimbingan dan masukan dalam penyempurnaan Tugas Akhir ini.

3. Bapak dan Ibu dosen Jurusan Matematika serta pegawai Fakultas MIPA Universitas Udayana yang telah memberikan dukungan, saran dan motivasi ilmu selama penulis menjadi mahasiswa.


(8)

viii

4. Peneliti-peneliti sebelumnya yang tidak dapat disebutkan satu persatu yang telah membantu saya memahami metode dan kasus yang saya gunakan dalam penyelesaian Tugas Akhir ini.

5. Teman-teman di Jurusan Matematika yang telah memberikan dukungan moral dalam penyelesaian Tugas Akhir ini.

6. Teman-teman yang tidak dapat disebutkan satu persatu yang telah memberikan dukungan dalam penyelesaian tugas akhir ini.

Penulis menyadari penulisan Tugas Akhir ini masih jauh dari kesempurnaan, oleh karena itu saran dan kritik yang membangun dari berbagai pihak sangat diharapkan dalam penyempurnaan Tugas Akhir ini. Besar harapan penulis skripsi ini dapat bermanfaat bagi semua pihak khususnya para pembaca di Universitas Udayana terutama di Jurusan Matematika. Akhir kata penulis ucapkan terima kasih.

Bukit Jimbaran, 29 April 2016


(9)

BIODATA ALUMNI

Nama Lengkap : I Wayan Radika Apriana

NIM : 1108405016

Jenis Kelamin : Laki-laki

Tempat/Tanggal Lahir : Denpasar/18 April 1993 Alamat Asal : Jl. Gandaria No. 18 Denpasar Alamat Sekarang : Jl. Gandaria No. 18 Denpasar

Agama : Hindu

Tanggal Lulus : 26 April 2016 Tanggal Wisuda : 27 Agustus 2016 Kompetensi : Finansial

IP Kumulatif : 3,20

Predikat Kelulusan : Sangat Memuaskan Nilai TOEFL Lokal : 477

Alamat Email : viruezradikaviruez@gmail.com

Nomor HP : 083119593065

Nama Ayah : I Wayan Astawa

Nama Ibu : Ni Made Gendri


(10)

x DAFTAR ISI

Halaman

LEMBAR JUDUL ... i

LEMBAR PERSEMBAHAN ... ii

LEMBAR PERNYATAAN ... iii

LEMBAR PENGESAHAN ... iv

ABSTRAK ... v

ABSTRACT ... vi

KATA PENGANTAR ... vii

BIODATA ALUMNI ... ix

DAFTAR ISI ... x

DAFTAR TABEL ... xii

DAFTAR GAMBAR ... xiii

DAFTAR LAMPIRAN ... xv

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 3

1.3 Batasan Masalah ... 3

1.4 Tujuan Penelitian ... 4

1.5 Manfaat Penelitian ... 4

BAB II TINJAUAN PUSTAKA ... 5

2.1 Job Shop Scheduling Problem (JSSP) ... 5

2.2 Formulasi Masalah Job Shop Statik ... 8

2.3 Cat Swarm Optimization ... 13

2.4 Inertia Weight (�) ... 19

BAB III METODE PENELITIAN ... 20

3.1 Sumber dan Jenis Data ... 20

3.2 Variabel Penelitian ... 20


(11)

3.3 Implementasi ... 22

BAB IV HASIL DAN PEMBAHASAN ... 23

4.1 Membuat Solusi JSSP Awal yang Valid ... 23

4.1.1 Menyatakan Data ke dalam Bentuk Matriks Informasi 24

4.1.2 Solusi Acak Awal ... 29

4.1.3 Proses Koreksi ... 30

4.1.4 Menghitung Makespan ... 30

4.2 Menerapkan Algoritma Cat Swarm Optimization ... 37

4.2.1 Uji Parameter ... 37

4.2.2 Penjadwalan 3 Job – 2 Mesin ... 40

4.2.3 Penjadwalan 5 Job – 12 Mesin ... 42

BAB V SIMPULAN DAN SARAN ... 45

5.1 Simpulan ... 45

5.2 Saran ... 45


(12)

xii

DAFTAR TABEL

Tabel Halaman

2.1 Contoh Model Job Shop Statik ... 6 4.1 Waktu Proses, Urutan Mesin, dan Uurtan Proses pada

Kasus Penjadwalan 3 Job – 2 Mesin ... 24 4.2 Waktu Proses, Urutan Mesin, dan Uurtan Proses pada

Kasus Penjadwalan 5 Job – 12 Mesin ... 26 4.3 Job yang Diproduksi pada Kasus Penjadwalan 5 Job – 12 Mesin ... 27 4.4 Mesin-Mesin yang Digunakan pada

Kasus Penjadwalan 5 Job – 12 Mesin ... 27 4.5 Kombinasi Parameter Terbaik Kasus Penjadwalan 3 Job – 2 Mesin ... 39 4.6 Kombinasi Parameter Terbaik Kasus Penjadwalan 5 Job – 12 Mesin . 39 4.7 Hasil Simulasi 1 Algoritma CSO pada

Kasus Penjadwalan 3 Job – 2 Mesin ... 41 4.8 Hasil Simulasi 2 Algoritma CSO pada

Kasus Penjadwalan 3 Job – 2 Mesin ... 41 4.9 Hasil Simulasi Algoritma CSO pada


(13)

DAFTAR GAMBAR

Gambar Halaman

2.1 Ilustrasi Model Job Shop Statik ... 7

2.2 Bentuk Solusi Umum JSSP ... 8

2.3 Contoh Representasi Solusi ... 10

2.4 Solusi Baru yang Valid ... 10

2.5 Penempatan Job 1 Operasi 1 pada Mesin 2 ... 11

2.6 Penempatan Job 2 Operasi 1 pada Mesin 1 ... 11

2.7 Penempatan Job 1 Operasi 2 pada Mesin 1 ... 12

2.8 Penempatan Job 2 Operasi 2 pada Mesin 2 ... 12

2.9 Bagan Cat Swarm Optimization ... 18

4.1 Ilustrasi Alur Proses pada Kasus Penjadwalan 3 Job – 2 Mesin ... 25

4.2 Ilustrasi Alur Proses pada Kasus Penjadwalan 5 Job – 12 Mesin ... 28

4.3 Solusi Acak Awal 3 Job – 2 Mesin ... 29

4.4 Solusi Acak Awal 5 Job – 12 Mesin ... 29

4.5 Solusi Valid 3 Job – 2 Mesin ... 30

4.6 Solusi Valid 5 Job – 12 Mesin ... 30

4.7 Operasi Pertama (Operasi 1 pada Job 1) ... 31

4.8 Penempatan Job 1 Operasi 1 pada Mesin 1 ... 31

4.9 Operasi Kedua (Operasi 2 pada Job 1) ... 32

4.10 Penempatan Job 1 Operasi 2 pada Mesin 2 ... 32


(14)

xiv

4.12 Penempatan Job 2 Operasi 1 pada Mesin 2 ... 33

4.13 Operasi Keempat (Operasi 2 pada Job 2) ... 34

4.14 Penempatan Job 2 Operasi 2 pada Mesin 1 ... 34

4.15 Operasi Kelima (Operasi 1 pada Job 3) ... 35

4.16 Penempatan Job 3 Operasi 1 pada Mesin 1 ... 35

4.17 Operasi Keenam (Operasi 2 pada Job 3) ... 36

4.18 Penempatan Job 3 Operasi 2 pada Mesin 2 ... 36

4.19 GANT Chart Solusi Kasus Penjadwalan 3 Job – 2 Mesin ... 42


(15)

DAFTAR LAMPIRAN

Lampiran

1 Matriks Informasi Kasus Penjadwalan 5 Job – 12 Mesin 2 Uji Parameter Kasus Penjadwalan 3 Job – 2 Mesin 3 Uji Parameter Kasus Penjadwalan 5 Job – 12 Mesin 4 Simulasi Program 1 Kasus Penjadwalan 3 Job – 2 Mesin 5 Simulasi Program 2 Kasus Penjadwalan 3 Job – 2 Mesin 6 Simulasi Program Kasus Penjadwalan 5 Job – 12 Mesin


(16)

1 1.1 Latar Belakang

Algoritma Cat Swarm Optimization (CSO) merupakan salah satu algoritma metaheuristik yang diusulkan oleh Shu-Chu Chu dan Pei-Wei Tsai pada tahun 2006. Dasar pemikiran algoritma ini adalah memanfaatkan kombinasi perilaku kucing yaitu seeking mode dan tracing mode untuk memecahkan masalah optimasi. Seeking mode menggambarkan keadaan kucing pada saat beristirahat, melihat kondisi sekitarnya mencari posisi berikutnya untuk bergerak. Tracing mode menggambarkan keadaan ketika kucing sedang mengikuti jejak targetnya. (Chu & Tsai, 2007)

Algoritma CSO dapat diimplementasikan dalam meyelesaikan permasalahan optimasi. Salah satu permasalahan optimasi yang ada dalam kehidupan sehari-hari adalah Job Shop Scheduling Problem (JSSP). JSSP adalah salah satu permasalahan yang biasanya dihadapi perusahaan yang bergerak di bidang industri manufaktur. JSSP merupakan permasalahan optimasi kombinatorial dan bertujuan untuk mendapatkan urutan terbaik operasi mesin-mesin dengan waktu penyelesaian seluruh pekerjaan (makespan) yang minimum, serta memenuhi batasan-batasan yang telah ditentukan. Batasan-batasan yang dimaksud adalah mesin-mesin yang digunakan untuk beroperasi, urutan mesin-mesin yang beroperasi, dan waktu operasi setiap mesin.


(17)

Beberapa penelitian menggunakan algoritma optimasi dalam menyelesaikan kasus JSSP. Satrio (2007) meneliti masalah optimasi penjadwalan job shop untuk industri peralatan pengolahan hasil pertanian dengan menggunakan algoritma genetika. Terdapat tiga kasus dalam penelitiannya, yaitu kasus penjadwalan 3 job – 2 mesin, penjadwalan 3 job – 3 mesin, dan penjadwalan 5 job – 12 mesin. Kasus penjadwalan 5 job – 12 mesin yang digunakan dalam penelitian ini adalah kasus nyata di industri peralatan pengolahan hasil pertanian CV Mitra Niaga Indonesia, Bogor. Hasil yang diperoleh dalam penelitian ini adalah bahwa algoritma genetika dapat dengan efisien menyelesaikan permasalahan job shop berskala kecil maupun berskala besar. Pratama (2009) meneliti masalah optimasi penjadwalan job shop menggunakan metode Particle Swarm Optimization (PSO) yang dimodifikasi. Hasil yang diperoleh dalam penelitian ini menunjukkan algoritma PSO yang dimodifikasi memiliki kinerja yang baik dalam menyelesaikan kasus dengan jumlah mesin tidak lebih dari 10 mesin. Bouzidi & Riffi (2014) mengimplementasikan algoritma CSO dalam menyelesaikan kasus JSSP. Datanya diperoleh dari OR-Library, yaitu data yang telah disiapkan untuk peneliti dalam mencoba menyelesaikan kasus JSSP. Data yang digunakan bervariasi dari 6 sampai 30 job dan 4 sampai 15 mesin. Hasil dari penelitian ini adalah bahwa algoritma CSO dapat menghasilkan solusi yang baik dilihat dari waktu yang diperlukan dan solusi terbaik yang dicapai.

Dari penelitian-penelitian yang dipaparkan pada bagian terdahulu, diperoleh bahwa algoritma genetika efisien dalam menyelesaikan kasus JSSP berskala kecil maupun berskala besar. Sementara algoritma PSO yang dimodifikasi memiliki


(18)

kinerja yang baik dalam menyelesaikan kasus dengan jumlah mesin tidak lebih dari 10 mesin. Selain itu juga diperoleh bahwa algoritma CSO dapat menghasilkan solusi yang baik dilihat dari waktu yang diperlukan dan solusi terbaik yang dicapai dalam menyelesaikan kasus JSSP yang datanya diperoleh dari OR-Library. Oleh karena itu peneliti tertarik untuk mengkaji kinerja algoritma CSO untuk menyelesaikan kasus nyata JSSP. Data yang digunakan adalah data dari penelitian Satrio (2007) kasus penjadwalan 3 job – 2 mesin yaitu kasus yang dibuat mengikuti aturan permasalahan penjadwalan tipe job shop yang digunakan untuk validasi program dan kasus penjadwalan 5 job – 12 mesin yaitu kasus nyata di industri peralatan pengolahan hasil pertanian CV Mitra Niaga Indonesia, Bogor. Penelitian ini diharapkan bisa menjadi cara alternatif dalam menyelesaikan kasus nyata JSSP.

1.2 Rumusan Masalah

Berdasarkan uraian pada latar belakang, maka rumusan masalah pada penelitian ini adalah mengetahui bagaimana kinerja algoritma Cat Swarm Optimization (CSO) dalam menyelesaikan kasus nyata Job Shop Scheduling Problem (JSSP)?

1.3 Batasan Masalah

Permasalahan pada penelitian ini dibatasi pada :

1. Tenaga kerja yang digunakan berupa peralatan mesin.


(19)

3. Untuk mesin yang beroperasi pada suatu job lebih dari sekali dengan tugas yang berbeda, dianggap sebagai mesin yang berbeda.

4. Serangkaian operasi dalam sebuah job sudah memiliki urutan proses tertentu.

5. Saat sebuah operasi sedang diproses dalam suatu mesin, maka proses tersebut tidak boleh dihentikan sebelum operasi itu benar-benar selesai. 6. Gangguan yang mungkin terjadi selama pelaksanaan penjadwalan seperti

kerusakan mesin dianggap tidak ada.

1.4 Tujuan Penelitian

Berdasarkan rumusan masalah, tujuan yang ingin dicapai dalam penelitian ini adalah untuk mengetahui kinerja algoritma Cat Swarm Optimization (CSO) dalam menyelesaikan kasus nyata Job Shop Scheduling Problem (JSSP).

1.5 Manfaat Penulisan

Adapun manfaat dari penulisan penelitian ini adalah : 1. Bagi penulis

Penelitian ini dapat menambah wawasan mengenai metode Cat Swarm Optimzaton dalam menyelesaikan kasus Job Shop Scheduling Problem. 2. Bagi pembaca

Penelitian ini dapat menambah wawasan mengenai metode Cat Swarm Optimization dan juga menjadi salah satu refrensi serta bahan acuan bagi peneliti lainnya yang meneliti masalah sejenis.


(20)

5 BAB II

TINJAUAN PUSTAKA

2.1 Job Shop Scheduling Problem (JSSP)

Job shop scheduling problem (JSSP) adalah permasalahan optimasi kombinatorial. Misalkan terdapat buah job atau pekerjaan, yaitu � , � , … , � yang akan diproses pada buah mesin, yaitu , , … , . Waktu yang diperlukan untuk operasi (mengerjakan job � dengan menggunakan mesin ) adalah � . Setiap operasi diproses selama waktu tertentu dan oleh mesin tertentu. Setiap mesin hanya dapat menangani satu operasi, dan operasi dari pekerjaan yang sama tidak dapat diproses secara bersamaan. Tujuan dari job shop scheduling adalah bagaimana membuat jadwal yang berupa urutan pengerjaan yang optimal berdasarkan kriteria tertentu, misalkan untuk mendapatkan jadwal dengan makespan yang minimum. (Suyanto, 2010)

Untuk job shop dengan job dan mesin, kemungkinan jadwal yang dapat dibuat sangat besar, yaitu sebanyak ! buah kemungkinan. Tetapi, tidak semua kemungkinan jadwal tersebut layak digunakan atau valid. Sebuah jadwal akan dikatakan valid apabila urutan proses pengerjaan operasi-operasi dalam suatu job memenuhi routing yang ditetapkan, dan tidak ada tumpang tindih (overlap) waktu pengerjaan dari operasi-operasi yang dikerjakan pada mesin yang sama. (Suyanto, 2010)


(21)

Terdapat beberapa jenis penjadwalan job shop berdasarkan waktu kedatangan job di suatu tempat produksi, yaitu job shop statik dan job shop dinamik. Penjadwalan job shop statik merupakan model penjadwalan job shop yang paling sederhana. Pada model ini semua job diterima atau tiba di tempat produksi pada waktu yang sama.

Misalkan terdapat 2 job, yaitu job 1 dan job 2 dengan 2 mesin, yaitu mesin 1 dan mesin 2. Masing-masing job memiliki urutan operasi dan waktu operasi dari mesin yang telah ditentukan. Job 1 diproses pada operasi 1 oleh mesin 2 dengan waktu 2 detik dan dilanjutkan operasi 2 oleh mesin 1 dengan waktu 3 detik. Job 2 diproses pada operasi 1 oleh mesin 1 dengan waktu 8 detik dan dilanjutkan operasi 2 oleh mesin 2 dengan waktu 5 detik.

Tabel 2.1 Contoh model job shop statik

Keterangan :

� : Mesin operasi � : Mesin operasi

� : Waktu operasi � : Waktu operasi

Karena mesin yang beroperasi pada job 1 dan job 2 untuk operasi 1 berbeda, maka keduanya dapat beroperasi bersamaan. Selanjutnya pada operasi 2, job 1 diharuskan menunggu mesin 1 selesai beroperasi terlebih dahulu pada job 2,

� , � � , �

Job 1 ,2 ,3 Job 2 ,8 ,5


(22)

sedangkan job 2 dapat langsung beroperasi pada mesin 2 ketika telah selesai beroperasi pada mesin 1. Untuk lebih jelasnya dapat dilihat pada Gambar 2.1 berikut.

Gambar 2.1 Ilustrasi model job shop statik

Penjadwalan job shop dinamik merupakan pengembangan model statik. Pada model job shop dinamik waktu tiba pekerjaan di tempat produksi bervariasi. Jika waktu kedatangan job dapat diketahui sejak awal maka penjadwalan tersebut dinamakan job shop deterministik. Namun apabila waktu kedatangan yang job bervariasi dan tidak diketahui sebelumnya maka penjadwalan itu dinamakan job shop non – deterministik. Dengan demikian jadwal yang dibuat hanya melibatkan pekerjaan yang sudah diterima. Jika terdapat pekerjaan baru di tengah-tengah jadwal produksi, maka akan dilakukan penjadwalan ulang. (Saputro & Yento, 2004) Akan tetapi dalam penelitian ini hanya akan dibahas model job shop statik.


(23)

2.2 Formulasi masalah job shop statik

Untuk permasalahan job dan mesin , ∈ , solusinya diperoleh dari urutan × proses. Masing-masing solusi diwakili oleh urutan semua operasi yang ada. Operasi yang dimaksud adalah operasi pertama sampai operasi

≤ × , ∈ . Setiap proses diwakili oleh sepasang dan , ∈

{ , , … , }. (Bouzidi & Riffi, 2014)

Misalkan � ∈ { , , … , ≤ × } dan ∈ { , , … , }, ∈ . Bentuk solusi umum JSSP yang diperoleh dari urutan × proses dapat dilihat pada Gambar 2.2.

� � … � ≤ ×

Gambar 2.2 Bentuk solusi umum JSSP

Dalam membuat jadwal yang valid, langkah pertama yang harus dilakukan adalah data dari kasus JSSP dibuat ke dalam bentuk matriks informasi. Matriks informasi dibuat untuk mewakili informasi dari masing-masing operasi dan sebagai dasar dalam membuat penjadwalan yang memenuhi setiap batasan yang ada (valid). Matriks informasi memiliki ≤ × kolom dan lima baris. Kolom mewakili jumlah total operasi yang ada pada seluruh job dan kelima baris yang dimaksud adalah :

: nama atau nomor operasi di jadwal ∈ { , , … , }, ∈ .

��� : job dari operasi .


(24)

�� : mesin dimana operasi akan diproses. �� : waktu proses dari operasi .

Bentuk matriks informasi dapat dilihat pada persamaan (2.1)

(

… … ≤ ×

�� �� … ��� … ��� �≤ ×

� � … �� … �� �≤ ×

� � … �� … �� �≤ ×

� � … �� … �� �≤ × )

(2.1)

Sebagai contoh permasalahan job shop scheduling dengan 2 job dan 2 mesin adalah model job shop statik yang sebelumnya telah dibahas, yaitu :

� = { , , , } � = { , 8 , , }

� adalah job pertama dengan urutan operasi diawali dengan operasi 1 pada mesin 2 dengan waktu 2 satuan waktu. Dilanjutkan ke operasi 2 pada mesin 1 dengan waku 3 satuan waktu. Sedankan � adalah job kedua dengan urutan operasi diawali dengan operasi 1 pada mesin 1 dengan waktu 8 satuan waktu. Dilanjutkan ke operasi 2 pada mesin 2 dengan waku 5 satuan waktu.

Sebagai langkah pertama yaitu menyatakan data ke dalam bentuk matriks informasi, seperti berikut :


(25)

Langkah kedua membuat solusi acak awal, solusi yang dihasilkan dapat berupa solusi yang valid atau tidak valid. Gambar 2.3 adalah contoh representasi solusi yang tidak valid. Dilihat dari matriks informasi, 4 dan 2 adalah operasi kedua dari � dan � , sehingga 4 dan 2 tidak bisa mulai beroperasi sebelum 1 dan 3 selesai. Dengan demikian solusi jadwal dikatakan tidak valid, karena urutan operasi salah.

4 2 1 3

Gambar 2.3 Contoh representasi solusi

Untuk dapat menghitung makespan, sebuah solusi harus valid. Solusi awal yang tidak valid diperbaiki sehingga menjadi valid, proses ini dinamakan proses koreksi. Untuk memperbaiki solusi acak yang tidak valid, digunakan matriks informasi dari kasus pada Gambar 2.4. Pertimbangkan “solusi baru” sebagai solusi yang valid dan “solusi lama” sebagai solusi saat ini. Proses koreksi digambarkan sebagai berikut :

1. Amati dan periksa “solusi lama” prioritaskan operasi dengan urutan lebih awal dari operasi lainnya pada setiap job.

2. Operasi yang tersedia ditambahkan ke solusi “solusi baru” dan dihapus dari solusi “solusi lama”

3. Ulangi 1 dan 2 sampai “solusi lama” menjadi solusi “solusi baru” yang disusun valid.

Solusi yang valid dari Gambar 2.3 :

1 3 2 4


(26)

Hitung makespan dari solusi penjadwalan yang valid. Tujuannya untuk mendapatkan waktu operasi dengan makespan minimum. Makespan dari jadwal di Gambar 2.4 adalah 13, seperti yang diperlihatkan oleh GANT chart di Gambar 2.8, dimana , ∈ { , } mewakili mesin dan masing-masing warna mewakili operasi dengan job yang sama.

Langkah-langkah dalam membuat GANT chart dari solusi baru yang valid pada Gambar 2.4 dimulai dari operasi pertama, operasi ketiga, operasi kedua, dan operasi keempat sebagai berikut.

Langkah pertama adalah penempatan operasi pertama, yaitu operasi 1 job 1 oleh mesin 2 dengan waktu 2 satuan waktu, prosesnya dapat dilhat pada Gant chart Gambar 2.5.

Gambar 2.5 Penempatan job 1 operasi 1 pada mesin 2

Langkah kedua dilakukan penempatan operasi ketiga yaitu operasi 1 job 2 oleh mesin 1 dengan waktu 8 satuan waktu.


(27)

Langkah ketiga dilanjutkan penempatan operasi kedua, yaitu operasi 2 job 1 oleh mesin 1 dengan waktu 3 satuan waktu. Operasi kedua dapat dimulai setelah operasi ketiga selesai beroperasi, seperti pada Gambar 2.9.

Gambar 2.7 Penempatan job 1 operasi 2 pada mesin 1

Langkah keempat penempatan operasi keempat, yaitu operasi 2 job 2 oleh mesin 2 dengan waktu 5 satuan waktu. Operasi keempat dapat langsung dimulai setelah operasi ketiga berakhir, keadaan ini disajikan dalam GANT chart Gambar 2.10.

Gambar 2.8 Penempatan job 2 operasi 2 pada mesin 2

Terdapat beberapa algoritma yang tergolong ke dalam algoritma metaheuristik untuk menyelesaikan kasus optimasi diantaranya Algoritma Genetika, Ant Colony Optimization (ACO), Particle Swarm Optimization (PSO), Bee Colony Optimization (BCO), dan Cat Swarm Optimization (CSO). Pada penelitian ini algoritma yang akan diterapkan dalam menyelesaikan kasus JSSP adalah algritma CSO.


(28)

2.3 Cat Swarm Optimization

Cat Swarm Optimization (CSO) adalah algoritma yang diusulkan oleh Shu-Chuan Chu dan Pei-Wei Tsai pada tahun 2006. CSO dihasilkan melalui pengamatan terhadap perilaku sekumpulan kucing dan terdiri dari dua sub-models yaitu : ”seeking mode” dan ”tracing mode”. (Chu & Tsai, 2007)

Tahap pertama yang dilakukan pada proses CSO adalah menentukan berapa banyak kucing yang digunakan dalam iterasi, selanjutnya menggunakan kucing dalam CSO untuk menyelesaikan masalah. Setiap kucing memiliki posisi yang tersusun di dalam dimensi M, kecepatan untuk setiap dimensi, nilai fitness yang menunjukan penyesuaian kucing pada fungsi fitness dan bendera untuk menentukan kucing masuk berada dalam seeking mode atau tracing mode. Solusi akhir adalah satu kucing dengan posisi terbaik. CSO akan menyimpan solusi terbaik hingga akhir iterasi. (Chu & Tsai, 2007)

a. Seeking Mode

Mode ini menggambarkan keadaan kucing pada saat beristirahat, melihat kondisi sekitarnya mencari posisi berikutnya untuk bergerak. Seeking mode memiliki empat faktor penting yang harus diperhitungkan, yaitu : seeking memory pool (SMP), seeking range of the selected dimension (SRD), counts of dimension to change (CDC), dan self position considering (SPC). SMP digunakan untuk menentukan berapa banyak jumlah kucing tiruan yang akan dibuat, SRD atau mencari rentang dimensi terpilih, CDC menentukan dimensi yang akan berubah,


(29)

dan SPC mempertimbangkan apakah posisi saat ini menjadi salah satu kandidat. (Chu & Tsai, 2007)

Langkah – langkah seeking mode dapat dideskripsikan dalam 5 tahap sebagai berikut (Chu & Tsai, 2007) :

Langkah 1 : Bangkitkan tiruan dari posisi kucing ke- , dengan = . Jika nilai SPC benar, maka = − , kemudian pertahankan posisi saat ini sebagai salah satu kandidat.

Langkah 2 : Untuk setiap tiruan, disesuaikan dengan CDC, tambahkan atau kurangkan SRD persen dari nilai saat ini secara acak dan gantikan nilai yang sebelumnya.

Langkah 3 : Hitung nilai fitness (FS) untuk semua titik kandidat.

Langkah 4 : Jika semua nilai fitness tidak benar-benar sama, hitung probabilitas terpilih masing-masing titik kandidat dengan menggunakan persamaan (2.2), sebaliknya atur probabilitas terpilih untuk semua titik sama dengan 1.

ℎ =��|��ℎ−�� |−�� , dimana < ℎ < (2.2)

Langkah 5 : secara acak pilih titik untuk bergerak dari titik-titik kandidat, dan pindahkan posisi kucing ke- .

Jika tujuan fungsi fitness adalah untuk menemukan solusi minimal, maka � =


(30)

b. Tracing Mode

Tracing mode adalah mode yang menggambarkan keadaan ketika kucing sedang mengikuti jejak targetnya. Sekali kucing memasuki tracing mode, kucing tersebut akan bergerak sesuai dengan kecepatannya untuk tiap dimensi. (Chu & Tsai, 2007)

Tahapan tracing mode dapat dijabarkan dalam 3 langkah sebagai berikut (Chu & Tsai, 2007) :

Langkah 1 : Perbarui nilai kecepatan untuk setiap dimensi � , dengan rumus

�′ , = �, + × � , − � , , dimana d = 1,2,3,.., M (2.3)

Langkah 2 : Periksa apakah kecepatan berada dalam rentang kecepatan maksimum. Jika kecepatan yang baru melebihi rentang, tetapkan nilai sama dengan batas.

Langkah 3 : Perbarui posisi kucing ke- dengan rumus

�′ , = � , + �′ , (2.4)

� , adalah posisi kucing yang memiliki nilai fitness terbaik, � , adalah posisi kucing ke- pada dimensi ke- , adalah konstanta dan adalah nilai acak dalam rentang [0,1].

Seperti yang telah dibahas pada sebelumnya CSO terdiri dari dua sub model yaitu seeking mode dan tracing mode, untuk mengkombinasikan kedua mode dalam satu algoritma, perlu didefinisikan mixture ratio (MR). Dengan mengamati perilaku


(31)

kucing, dapat diketahui bahwa kucing menghabiskan sebagian besar waktunya untuk beristirahat.

Selama beristirahat, kucing mengubah posisinya secara perlahan dan berhati-hati, terkadang tetap pada posisi awalnya. Untuk menerapkan perilaku ini ke dalam CSO, digunakan seeking mode. Perilaku mengejar target diaplikasikan dalam tracing mode. Oleh karena itu, MR harus bernilai kecil untuk memastikan bahwa kucing menghabiskan sebagian besar waktu kucing dalam posisi seeking mode. (Chu & Tsai, 2007)

Secara umum proses CSO dapat digambarkan dalam 6 langkah sebagai berikut (Chu & Tsai, 2007) :

Langkah 1 : Bangkitkan kucing dalam proses.

Langkah 2 : Sebarkan kucing secara acak dalam ruang solusi berdimensi M dan pilih nilai dalam rentang kecepatan. Kemudian pilih sejumlah kucing secara sembarang dan masukkan dalam tracing mode sesuai MR, sisanya dimasukkan dalam seeking mode.

Langkah 3 : Hitung nilai fitness (FS) masing-masing kucing dengan memasukkan nilai posisi kucing ke dalam fungsi fitness, yang menunjukkan kriteria tujuan, dan simpan kucing terbaik dalam memori. Perlu diingat bahwa yang perlu disimpan adalah posisi kucing terbaik (� ) karena kucing terbaik sejauh ini mewakili solusi terbaik.


(32)

Langkah 4 : Pindahkan kucing sesuai benderanya. Jika kucing berada dalam seeking mode perlakukan sesuai proses seeking mode, sebaliknya perlakukan sesuai tracing mode. Proses masing-masing telah dijelaskan sebelumnya.

Langkah 5 : Pilih lagi sejumlah kucing dan masukkan dalam tracing mode sesuai MR, sisanya masukkan ke dalam seeking mode.

Langkah 6 : Perhatikan terminating condition-nya. Jika telah terpenuhi, hentikan program. Sebaliknya ulangi langkah 3 hingga 5.


(33)

Diagram proses algoritma Cat Swarm Optimization dapat dilihat pada Gambar 2.7


(34)

2.4 Inertia Weight ()

Parameter ini berguna untuk mengontrol keseimbangan antara kemampuan eksplorasi global dan lokal, serta penurunan kecepatan untuk menghindari stagnasi pada optimum lokal. Jika nilai inertia weight terlalu besar akan mengakibatkan posisi kucing berubah terlalu jauh, sehingga gagal untuk menemukan solusi. Sebaliknya, jika nilai inertia weight terlalu kecil posisi kucing akan terjebak pada optimum lokal. (Suyanto, 2010)

Untuk menyelesaikan permasalahan kucing yang menjauhi solusi dan terperangkap pada optimum lokal, CSO dimodifikasi dengan menambahkan parameter baru berupa nilai inertia weight (�) yaitu, CSO dengan inertia. Pada nilai inertia weight (�) berubah secara acak dalam tracing mode, sehingga kecepatan pada persamaan (2.3) menjadi :


(1)

dan SPC mempertimbangkan apakah posisi saat ini menjadi salah satu kandidat. (Chu & Tsai, 2007)

Langkah – langkah seeking mode dapat dideskripsikan dalam 5 tahap sebagai berikut (Chu & Tsai, 2007) :

Langkah 1 : Bangkitkan tiruan dari posisi kucing ke- , dengan = . Jika nilai SPC benar, maka = − , kemudian pertahankan posisi saat ini sebagai salah satu kandidat.

Langkah 2 : Untuk setiap tiruan, disesuaikan dengan CDC, tambahkan atau kurangkan SRD persen dari nilai saat ini secara acak dan gantikan nilai yang sebelumnya.

Langkah 3 : Hitung nilai fitness (FS) untuk semua titik kandidat.

Langkah 4 : Jika semua nilai fitness tidak benar-benar sama, hitung probabilitas terpilih masing-masing titik kandidat dengan menggunakan persamaan (2.2), sebaliknya atur probabilitas terpilih untuk semua titik sama dengan 1.

ℎ =��|��ℎ−�� |−�� , dimana < ℎ < (2.2)

Langkah 5 : secara acak pilih titik untuk bergerak dari titik-titik kandidat, dan pindahkan posisi kucing ke- .

Jika tujuan fungsi fitness adalah untuk menemukan solusi minimal, maka � = � �, sebaliknya � = � . (Chu & Tsai, 2007)


(2)

b. Tracing Mode

Tracing mode adalah mode yang menggambarkan keadaan ketika kucing sedang mengikuti jejak targetnya. Sekali kucing memasuki tracing mode, kucing tersebut akan bergerak sesuai dengan kecepatannya untuk tiap dimensi. (Chu & Tsai, 2007)

Tahapan tracing mode dapat dijabarkan dalam 3 langkah sebagai berikut (Chu & Tsai, 2007) :

Langkah 1 : Perbarui nilai kecepatan untuk setiap dimensi � , dengan rumus �′ , = �, + × � , − � , , dimana d = 1,2,3,.., M (2.3)

Langkah 2 : Periksa apakah kecepatan berada dalam rentang kecepatan maksimum. Jika kecepatan yang baru melebihi rentang, tetapkan nilai sama dengan batas.

Langkah 3 : Perbarui posisi kucingke- dengan rumus

�′ , = � , + �′ , (2.4)

� , adalah posisi kucing yang memiliki nilai fitness terbaik, � , adalah posisi kucingke- pada dimensi ke- , adalah konstanta dan adalah nilai acak dalam rentang [0,1].

Seperti yang telah dibahas pada sebelumnya CSO terdiri dari dua sub model yaitu seeking mode dan tracingmode, untuk mengkombinasikan kedua mode dalam satu algoritma, perlu didefinisikan mixture ratio (MR). Dengan mengamati perilaku


(3)

kucing, dapat diketahui bahwa kucing menghabiskan sebagian besar waktunya untuk beristirahat.

Selama beristirahat, kucing mengubah posisinya secara perlahan dan berhati-hati, terkadang tetap pada posisi awalnya. Untuk menerapkan perilaku ini ke dalam CSO, digunakan seeking mode. Perilaku mengejar target diaplikasikan dalam

tracing mode. Oleh karena itu, MR harus bernilai kecil untuk memastikan bahwa kucing menghabiskan sebagian besar waktu kucing dalam posisi seeking mode. (Chu & Tsai, 2007)

Secara umum proses CSO dapat digambarkan dalam 6 langkah sebagai berikut (Chu & Tsai, 2007) :

Langkah 1 : Bangkitkan kucing dalam proses.

Langkah 2 : Sebarkan kucing secara acak dalam ruang solusi berdimensi M dan pilih nilai dalam rentang kecepatan. Kemudian pilih sejumlah kucing secara sembarang dan masukkan dalam tracing mode sesuai MR, sisanya dimasukkan dalam seeking mode.

Langkah 3 : Hitung nilai fitness (FS) masing-masing kucing dengan memasukkan nilai posisi kucing ke dalam fungsi fitness, yang menunjukkan kriteria tujuan, dan simpan kucing terbaik dalam memori. Perlu diingat bahwa yang perlu disimpan adalah posisi kucing terbaik (� ) karena kucing terbaik sejauh ini mewakili solusi terbaik.


(4)

Langkah 4 : Pindahkan kucing sesuai benderanya. Jika kucing berada dalam seeking mode perlakukan sesuai proses seeking mode, sebaliknya perlakukan sesuai tracing mode. Proses masing-masing telah dijelaskan sebelumnya.

Langkah 5 : Pilih lagi sejumlah kucing dan masukkan dalam tracing mode sesuai MR, sisanya masukkan ke dalam seeking mode.

Langkah 6 : Perhatikan terminating condition-nya. Jika telah terpenuhi, hentikan program. Sebaliknya ulangi langkah 3 hingga 5.


(5)

Diagram proses algoritma Cat Swarm Optimization dapat dilihat pada Gambar 2.7


(6)

2.4 Inertia Weight ()

Parameter ini berguna untuk mengontrol keseimbangan antara kemampuan eksplorasi global dan lokal, serta penurunan kecepatan untuk menghindari stagnasi pada optimum lokal. Jika nilai inertia weight terlalu besar akan mengakibatkan posisi kucing berubah terlalu jauh, sehingga gagal untuk menemukan solusi. Sebaliknya, jika nilai inertia weight terlalu kecil posisi kucing akan terjebak pada optimum lokal. (Suyanto, 2010)

Untuk menyelesaikan permasalahan kucing yang menjauhi solusi dan terperangkap pada optimum lokal, CSO dimodifikasi dengan menambahkan parameter baru berupa nilai inertiaweight (�) yaitu, CSO dengan inertia. Pada nilai

inertia weight (�) berubah secara acak dalam tracing mode, sehingga kecepatan pada persamaan (2.3) menjadi :