abstrak job shop scheduling , dan mutasi. terdapat dua jenis · pdf fileiii abstrak job shop...

42
iii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan pemrosesan tugas. Pada skripsi ini, metode yang akan digunakan untuk menyelesaikan job shop scheduling problem adalah algoritma genetik. Algoritma genetik merupakan suatu algoritma pencarian yang menerapkan proses evolusi biologi untuk menemukan solusi terbaik dari suatu masalah, dengan melibatkan tiga operator dasar, yaitu reproduksi, crossover, dan mutasi. Terdapat dua jenis mutasi yang akan dilakukan, yaitu mutasi sederhana dan local search mutator, sehingga algoritma ini disebut dengan local search genetic algorithm. Kedua operator crossover dan mutasi tidak harus selalu dilakukan, bergantung pada parameter yang ditentukan. Dari hasil percobaan, diperoleh bahwa algoritma yang melakukan local search mutator akan lebih cepat konvergen. Kemampuan dari algoritma ini diuji dengan menggunakan masalah uji yang umum dipakai untuk masalah job shop scheduling problem. Kata kunci: algoritma genetik, job shop scheduling problem, local search. vii + 45 hlm. ; lamp. Bibliografi: 6 (1989 – 2004)

Upload: phamkiet

Post on 06-Mar-2018

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

iii

ABSTRAK

Job shop scheduling problem merupakan salah satu masalah

penjadwalan yang memiliki kendala urutan pemrosesan tugas. Pada skripsi

ini, metode yang akan digunakan untuk menyelesaikan job shop scheduling

problem adalah algoritma genetik. Algoritma genetik merupakan suatu

algoritma pencarian yang menerapkan proses evolusi biologi untuk

menemukan solusi terbaik dari suatu masalah, dengan melibatkan tiga

operator dasar, yaitu reproduksi, crossover, dan mutasi. Terdapat dua jenis

mutasi yang akan dilakukan, yaitu mutasi sederhana dan local search

mutator, sehingga algoritma ini disebut dengan local search genetic

algorithm. Kedua operator crossover dan mutasi tidak harus selalu dilakukan,

bergantung pada parameter yang ditentukan. Dari hasil percobaan, diperoleh

bahwa algoritma yang melakukan local search mutator akan lebih cepat

konvergen. Kemampuan dari algoritma ini diuji dengan menggunakan

masalah uji yang umum dipakai untuk masalah job shop scheduling problem.

Kata kunci: algoritma genetik, job shop scheduling problem, local search.

vii + 45 hlm. ; lamp.

Bibliografi: 6 (1989 – 2004)

Page 2: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

1

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Penjadwalan merupakan suatu proses pengaturan sumber daya

untuk menyelesaikan tugas-tugas dengan melibatkan pekerjaan, sumber

daya, dan waktu. Pekerjaan diproses pada setiap sumber daya dengan

urutan tertentu selama waktu tertentu. Tujuan dari masalah penjadwalan

antara lain: meminimumkan waktu penyelesaian semua tugas (makespan),

meminimumkan keterlambatan pengerjaan, meminimumkan waktu tunggu

pada mesin, meminimumkan biaya, dan lain-lain.

Masalah penjadwalan merupakan salah satu aspek penting pada

lingkungan industri. Misalkan suatu percetakan akan memproduksi brosur,

koran, dan majalah dengan menggunakan 3 sumber daya, yaitu mesin cetak,

mesin potong, dan mesin jilid. Misal brosur hanya melalui mesin cetak,

sementara koran setelah dicetak perlu dipotong, sedangkan majalah setelah

dicetak, dijilid, lalu dipotong. Pada beberapa masalah penjadwalan,

pekerjaan memiliki batas waktu, sehingga mempengaruhi prioritas

pemrosesan. Salah satu solusi untuk menyelesaikan masalah percetakan

tersebut, dapat dimulai dengan menempatkan majalah pada mesin cetak,

karena majalah memiliki urutan proses yang terpanjang. Setelah majalah

Page 3: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

2

dicetak, proses untuk majalah dilanjutkan dengan menempatkan majalah

pada mesin jilid, sementara akan ditentukan apakah brosur atau koran yang

akan ditempatkan pada mesin cetak. Penempatan brosur pada mesin cetak

akan lebih baik dari pada koran, karena jika koran yang ditempatkan terlebih

dahulu pada mesin cetak, maka kemungkinan koran dan majalah akan tiba di

mesin potong pada waktu yang bersamaan. Setelah brosur dicetak maka

pemrosesan brosur selesai, dan koran dapat ditempatkan pada mesin cetak,

sementara majalah ditempatkan pada mesin potong. Proses dari majalah

selesai setelah pemotongan, dan sebagai proses terakhir, koran ditempatkan

pada mesin potong. Masalah percetakan tersebut hanya menggunakan tiga

sumber daya untuk menyelesaikan tiga pekerjaan, jika suatu masalah

dengan pekerjaan dan sumber daya yang lebih banyak, maka pemrosesan

akan menjadi lebih kompleks.

Job shop scheduling problem merupakan salah satu masalah

penjadwalan yang memiliki kendala urutan pemrosesan tugas, dan setiap

tugas harus melalui setiap mesin tepat satu kali. Terdapat dua jenis metode

yang biasa digunakan untuk menyelesaikan masalah job shop scheduling

problem. Metode eksak, seperti pemrograman linier dan pemrograman non-

linier, dapat digunakan untuk ukuran job shop scheduling problem yang kecil.

Sedangkan untuk ukuran masalah yang besar, digunakan suatu pendekatan

secara aproksimasi, seperti local search, simulated annealing, genetic

algorithm, tabu search, dan ant colony optimization. Hal ini disebabkan

Page 4: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

3

karena untuk ukuran masalah yang besar, kompleksitasnya akan semakin

besar.

Pada skripsi ini, pendekatan yang digunakan adalah algoritma genetik,

dengan menerapkan teknik local search. Algoritma genetik ditemukan oleh

John Holland pada tahun 1960. Algoritma ini menerapkan suatu proses

evolusi biologi. Banyak percobaan dalam menyelesaikan job shop

scheduling problem dengan menggunakan metode algoritma genetik, tetapi

masih terdapat beberapa percobaan yang menghasilkan solusi yang tidak

layak. Pada metode dalam skripsi ini, ketidaklayakan dari solusi dapat

dihindari dengan menggunakan suatu skema yang menjaga urutan

pemrosesan tugas. Kualitas dari solusi akan diuji dengan menggunakan

beberapa masalah uji yang biasa dipakai untuk menyelesaikan job shop

scheduling problem.

Terdapat tiga operator dasar yang digunakan pada algoritma genetik,

yaitu reproduksi, crossover, dan mutasi. Reproduksi digunakan untuk

menyeleksi solusi-solusi yang akan diproses, crossover digunakan untuk

memperoleh solusi-solusi melalui proses perkawinan, dan mutasi digunakan

untuk mengubah kualitas dari suatu solusi. Pada skripsi ini, akan digunakan

suatu operator crossover yang sederhana dan efisien, yang memastikan

bahwa setiap solusi baru yang dihasilkan akan selalu layak. Pada tahap

mutasi, akan digunakan suatu operator yang mengarah pada suatu proses

pencarian local search, dengan harapan akan meningkatkan kualitas dari

solusi.

Page 5: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

4

1.2 Perumusan Masalah Apakah job shop scheduling problem dapat diselesaikan

dengan menggunakan algoritma genetik, dan apakah pemilihan antara

menggunakan mutasi sederhana dengan local search mutator akan

mempengaruhi kinerja dari algoritma.

1.3 Tujuan Penulisan

Penulisan skripsi ini bertujuan untuk melihat kemampuan dari

local search genetic algorithm dalam menyelesaikan job shop scheduling

problem dengan menggunakan suatu masalah uji yang biasa dipakai untuk

menguji kinerja dari suatu program untuk menyelesaikan job shop scheduling

problem. Selain itu, akan dilihat juga perbandingan kinerja dari local search

genetic algorithm antara hanya menggunakan crossover, menggunakan

crossover dan mutasi sederhana, dan dengan menggunakan crossover dan

local search mutator.

Page 6: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

5

1.4 Pembatasan Masalah

Job shop scheduling problem yang akan dibahas adalah job

shop scheduling problem dengan tujuan meminimumkan makespan.

Sedangkan untuk pengujian, masalah uji yang digunakan dibatasi hanya

untuk 3 masalah.

1.5 Sistematika Penulisan Sistematika pembahasan skripsi ini adalah sebagai berikut: Bab

I membahas tentang latar belakang, tujuan dari skripsi, batasan masalah, dan

sistematika penulisan; Bab II membahas definisi dan teori dasar dari masalah

penjadwalan, job shop scheduling problem, algoritma genetik, dan local

search; Bab III membahas tentang local search genetic algorithm dalam

menyelesaikan job shop scheduling problem; Bab IV membahas

implementasi algoritma dan beberapa hasil eksperimen; dan terakhir Bab V

membahas kesimpulan yang berdasarkan pada hasil eksperimen.

Page 7: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

6

BAB II

DEFINISI DAN TEORI DASAR

2.1 Masalah Penjadwalan

Penjadwalan merupakan suatu proses pengaturan sumber daya

untuk menyelesaikan tugas-tugas dengan melibatkan waktu. Terdapat

berbagai bentuk sumber daya dan tugas pada suatu organisasi. Sumber

daya dapat berupa mesin pada suatu workshop, landasan terbang pada

suatu bandara, processing units pada suatu lingkungan komputasi, dan

masih banyak lagi. Tugas dapat berupa operasi pada suatu proses produksi,

pemberangkatan dan pendaratan pada suatu bandara, eksekusi pada

program komputer, dan lain-lain. Masing-masing tugas mempunyai suatu

tingkat prioritas tertentu, waktu mulai pengerjaan, dan batas waktu

pengerjaan. Tujuan dari penjadwalan ini pun beragam, antara lain:

meminimumkan waktu penyelesaian semua tugas, meminimumkan

keterlambatan pengerjaan, meminimumkan waktu tunggu, meminimumkan

biaya dan lain-lain.

Pada masalah penjadwalan, banyaknya pekerjaan dan sumber daya

(yang selanjutnya pada skripsi ini disebut mesin) berhingga. Jumlah dari

pekerjaan dinyatakan dengan n dan jumlah mesin dinyatakan dengan m.

Biasanya, indeks j mengacu pada pekerjaan sedangkan indeks i mengacu

Page 8: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

7

pada mesin. Jika suatu pekerjaan mensyaratkan sejumlah langkah

pemrosesan atau operasi, maka pasangan terurut (i, j) merujuk pada langkah

pemrosesan atau operasi dari pekerjaan j pada mesin i, dan biasa disebut

dengan tugas (i, j). Tugas merupakan kombinasi pekerjaan dengan mesin.

Misalkan suatu pekerjaan harus melalui 3 buah mesin, maka pekerjaan

tersebut terdiri dari tiga tugas. Data-data yang berhubungan dengan

pekerjaan j, antara lain: processing time (pij) yaitu waktu yang dibutuhkan

untuk menyelesaikan pekerjaan j pada mesin i, release date (rj) yaitu waktu

awal untuk memproses pekerjaan j, due date (dj) yaitu batas waktu untuk

menyelesaikan pekerjaan j, dan weight (wj) yaitu bobot prioritas pekerjaan j.

Terdapat setidaknya tiga jenis penjadwalan, yaitu: flow shop, job shop,

dan open shop. Pada flow shop, terdapat m mesin yang terurut, semua

pekerjaan harus diproses pada setiap mesin dengan urutan yang sama.

Pada job shop dengan m mesin, setiap pekerjaan harus diproses pada setiap

mesin tepat satu kali dengan urutannya masing-masing. Sedangkan pada

open shop, terdapat m mesin, dimana setiap pekerjaan dapat diproses lebih

dari satu kali pada setiap mesin dengan urutannya masing-masing. Masalah

penjadwalan yang akan dibahas pada skripsi ini adalah jenis penjadwalan job

shop.

Page 9: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

8

2.2 Job Shop Scheduling Problem Di dalam Job shop scheduling problem, diberikan suatu

masalah dengan n pekerjaan dan m mesin. Setiap pekerjaan harus diproses

tepat satu kali pada setiap mesin sesuai dengan urutannya masing-masing.

Karena tugas adalah kombinasi dari pekerjaan dan mesin, maka dua tugas

dari suatu pekerjaan tidak boleh dikerjakan pada waktu yang bersamaan, dan

setiap mesin hanya dapat memproses paling banyak satu pekerjaan pada

satu waktu. Tujuan dari job shop scheduling problem adalah mencari suatu

jadwal yang meminimumkan waktu yang dibutuhkan untuk menyelesaikan

semua pekerjaan (makespan).

Job shop scheduling problem merupakan salah satu masalah

optimisasi kombinatorik, jadwal diperoleh dengan permutasi dari seluruh

pekerjaan pada sembarang mesin. Karena terdapat m mesin, maka ruang

pencarian solusi sebesar (n!)m. Sehingga job shop scheduling problem

dikarakteristikkan sebagai masalah NP-hard. Metode yang digunakan untuk

menyelesaikan masalah NP-hard ini, antara lain dengan: pendekatan secara

eksak dan pendekatan secara aproksimasi. Pendekatan secara eksak yang

digunakan seperti pemrograman linier, pemrograman non-linier, dan lain-lain.

Sedangkan pendekatan secara aproksimasi yang biasa digunakan yaitu

pendekatan heuristik, antara lain dengan menggunakan local search,

simulated annealing, genetic algorithm, dan tabu search.

Page 10: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

9

Untuk menghitung makespan suatu jadwal pada masalah job shop

scheduling problem, digunakan suatu grafik yang dinamakan Gantt-Chart.

Gantt-Chart adalah suatu grafik yang menampilkan durasi dari tugas

terhadap perubahan waktu. Pada contoh 2.1, diberikan suatu masalah job

shop scheduling.

Contoh 2.1:

Diberikan suatu masalah yang terdiri dari 2 pekerjaan dan 3 mesin. Urutan

pekerjaan dan waktu yang dibutuhkan untuk menyelesaikan pekerjaan,

diberikan pada Tabel 2.1 dengan P menyatakan pekerjaan, m menyatakan

mesin, dan t menyatakan waktu.

Tabel 2.1 Urutan pekerjaan dan waktu proses untuk contoh 2.1. M,t m,t m,t

P1 2,3 3,4 1,6

P2 1,4 3,5 2,2

Data dari Tabel 2.1 menunjukkan setiap pekerjaan harus diproses

pada setiap mesin dengan urutannya masing-masing. Urutan pemrosesan

pekerjaan 1 yaitu oleh mesin 2 selama 3 satuan waktu, mesin 3 selama 4

satuan waktu, dan mesin 1 selama 6 satuan waktu. Sedangkan urutan

pemrosesan untuk pekerjaan 2 yaitu oleh mesin 1 selama 4 satuan waktu,

mesin 3 selama 5 satuan waktu, dan mesin 2 selama 2 satuan waktu.

Page 11: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

10

Ruang solusi pada masalah job shop adalah (n!)m, sehingga masalah

pada contoh 2.1 memiliki (2!)3 = 8 jadwal yang mungkin. Dua dari delapan

jadwal yang mungkin, dengan format (pekerjaan, mesin), antara lain:

� (1,2) (2,1) (1,3) (2,3) (1,1) (2,2)

� (2,1) (1,2) (2,3) (1,3) (2,2) (1,1)

Jadwal yang pertama menyatakan bahwa pemrosesan jadwal diawali dengan

pekerjaan 1 pada mesin 2, pekerjaan 2 pada mesin 1, pekerjaan 1 pada

mesin 3, dan seterusnya hingga pekerjaan 2 pada mesin 2. Sedangkan

jadwal yang kedua dikerjakan dengan urutan pemrosesannya sendiri.

Gambar 2.1.a Gambar 2.1.d

Gambar 2.1.b Gambar 2.1.e

Gambar 2.1.c Gambar 2.1.f

Gambar 2.1 Gantt-Chart dari jadwal (1,2)(2,1)(1,3)(2,3)(1,1)(2,2)

m3 m2 m1

12 waktu

m3 m2 m1

3 waktu

m3 m2 m1

4 waktu

m3 m2 m1

13 waktu

m3 m2 m1

7 waktu

m3 m2 m1

14 waktu

Page 12: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

11

Gambar 2.1 menunjukkan tahap pembentukan Gantt-Chart dari jadwal

(1,2)(2,1)(1,3)(2,3)(1,1)(2,2). Tahap pembentukan Gantt-Chart dimulai dari

pekerjaan 1 pada mesin 2 selama 3 satuan waktu, seperti pada Gambar

2.1.a. Pada Gambar 2.1.b, pembentukan dilanjutkan dengan pekerjaan 2

pada mesin 1 selama 4 satuan waktu. Pada Gambar 2.1.c, dibentuk

pekerjaan 1 pada mesin 3 selama 4 satuan waktu setelah pekerjaan 1 pada

mesin 2 selesai. Pekerjaan 2 pada mesin 3 selama 5 satuan waktu dibentuk

setelah mesin 3 selesai mengerjakan pekerjaan 1, seperti terlihat pada

Gambar 2.1.d. Pada Gambar 2.1.e, pembentukan pekerjaan 1 pada mesin 1

selama 6 satuan waktu setelah pekerjaan 1 pada mesin 3 selesai, dan

terakhir pembentukan pekerjaan 2 pada mesin 2 selama 2 satuan waktu

setelah pekerjaan 2 pada mesin 3 selesai, seperti terlihat pada Gambar 2.1.f.

Sehingga diperoleh makespan sebesar 14.

Gambar 2.2 Gantt-Chart dari jadwal (2,1) (1,2) (2,3) (1,3) (2,2) (1,1)

Ket :

Gambar 2.2 merupakan Gantt-Chart dari jadwal (2,1) (1,2) (2,3) (1,3)

(2,2) (1,1), dengan makespan sebesar 19. Sehingga terlihat bahwa

makespan jadwal yang pertama lebih baik dari makespan jadwal yang kedua.

m3

m2

m1

19 waktu

P1 P2

Page 13: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

12

2.3 Algoritma Genetik Algoritma genetik adalah suatu algortima pencarian yang

menerapkan proses evolusi biologi dengan tujuan untuk menemukan solusi

terbaik dari suatu masalah. Istilah-istilah yang sering digunakan pada

algoritma genetik adalah gen, kromosom, populasi, generasi, dan fitness.

Gen adalah rangkaian yang membentuk suatu kromosom, kromosom

menyatakan suatu solusi dari masalah, populasi adalah kumpulan dari

kromosom-kromosom dengan ukuran yang telah ditentukan, dan generasi

menyatakan keturunan. Fungsi tujuan yang biasa dipakai pada algoritma

genetik adalah fungsi fitness, yaitu fungsi yang menyatakan kekuatan dari

suatu kromosom.

Ide dasar dari algoritma ini adalah membentuk suatu populasi awal

secara acak, yang akan diproses melalui tiga operator dasar dari algoritma

genetik, sehingga menghasilkan populasi baru untuk generasi berikutnya.

Tiga operator dasar tersebut adalah: reproduksi, crossover, dan mutasi.

Reproduksi digunakan untuk menyeleksi kromosom-kromosom yang akan

diproses, crossover digunakan untuk mengawinkan pasangan kromosom

sehingga menghasilkan kromosom-kromosom baru, dan mutasi digunakan

untuk mengubah satu atau lebih gen pada suatu kromosom.

Algoritma genetik dapat digunakan untuk menyelesaikan masalah

optimisasi seperti masalah penjadwalan, transportasi, permainan komputer,

traveling salesman problem, dan lain-lain. Yang membedakan antara

Page 14: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

13

algoritma genetik dengan metode optimisasi dan pencarian lainnya adalah:

algoritma genetik bekerja dengan suatu pengkodean dari himpunan

parameter, algoritma genetik mencari dari suatu populasi titik (bukan dari

suatu titik), dan algoritma genetik menggunakan aturan transisi probabilistik,

bukan aturan deterministik.

2.3.1 Pembentukan Populasi Awal Dalam menjalankan algoritma genetik pada suatu masalah,

pembentukan suatu populasi awal merupakan salah satu bagian yang

penting. Populasi awal diperoleh dengan cara mengambil kromosom-

kromosom secara acak sebanyak popSize, dimana popSize adalah ukuran

populasi yang diinginkan. Terdapat banyak jenis format dari kromosom,

tergantung pada masalahnya. Salah satunya ialah dengan menggunakan

untaian bilangan biner, seperti 01101.

2.3.2 Reproduksi Reproduksi adalah suatu operator genetik yang memilih

kromosom-kromosom dari populasi generasi saat ini yang akan diproses

untuk masuk ke populasi generasi berikutnya. Pemilihan suatu kromosom

dilakukan berdasarkan pada kekuatan (fitness) dari kromosom tersebut,

Page 15: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

14

semakin kuat suatu kromosom maka semakin besar kemungkinan kromosom

tersebut terpilih, sebaliknya semakin lemah suatu kromosom maka semakin

kecil kemungkinan kromosom tersebut terpilih.

Beberapa tipe dari operator reproduksi antara lain: roda roulette dan

random. Roda roulette adalah satu dari tipe operator reproduksi yang paling

sering digunakan. Pada roda roulette, setiap kromosom dari populasi

memiliki suatu ukuran tempat pada diagram pie yang sesuai dengan proporsi

dari persentasi nilai fitness-nya. Reproduksi diperoleh dengan memutar roda

roulette sebanyak k kali (dimana k adalah ukuran populasi). Operator

reproduksi random membentuk suatu populasi yang baru dengan memilih

kromosom-kromosom dari populasi secara acak. Penggunaan roda roulette

untuk memproduksi suatu populasi dengan ukuran populasi 4 kromosom

diberikan pada contoh 2.2.

Contoh 2.2:

Misalkan diberikan suatu populasi dimana kromosom-kromosomnya ditulis

dalam bilangan biner dan nilai fitness-nya merupakan nilai numerik dari

untaian biner tersebut. Proporsi dari masing-masing kromosom merupakan

persentasi dari nilai fitness terhadap total fitness. Nilai fitness dan proporsi

dari masing-masing kromosom diberikan pada Tabel 2.2.

Page 16: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

15

Tabel 2.2 Nilai fitness dan persentasi total fitness tiap kromosom pada populasi untuk contoh 2.2. Kromosom Nilai Fitness % Total Fitness

01101 13 18,6

01110 14 20,0

11000 24 34,3

10011 19 27,1

Total 70 100

Diagram pie pada Gambar 2.3 merupakan roda roulette yang dibentuk

berdasarkan proporsi yang diperoleh pada Tabel 2.2. Reproduksi dilakukan

dengan memutar roda roulette sebanyak 4 kali (sesuai dengan ukuran

populasi) dengan harapan kromosom dengan proporsi terbesar, yaitu

kromosom 11000 (dengan proporsi sebesar 34,3%), memiliki probabilitas

terpilih yang lebih besar dibandingkan dengan kromosom lainnya.

27,1%

34,3%

20,0%

18,6%

Gambar 2.3 roda roulette untuk Tabel 2.2.

Page 17: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

16

2.3.3 Crossover Operator crossover adalah suatu operator genetik yang

mengawinkan dua kromosom (sebut parent) untuk menghasilkan dua

kromosom baru (sebut child). Dilakukan atau tidaknya suatu operator

crossover bergantung pada suatu parameter yang disebut dengan

probabilitas crossover (Pc). Ide dibalik operator crossover adalah perkawinan

dari dua kromosom parent akan menghasilkan dua kromosom child yang

lebih baik jika karakteristik-karakteristik terbaik dari masing-masing parent

diambil. Akan tetapi pada beberapa tipe operator crossover, karakteristik-

karakteristik tersebut tidak terlalu diperhatikan, sehingga tidak ada jaminan

bahwa kromosom-kromosom yang baru akan lebih baik.

Beberapa tipe dari operator crossover antara lain: one point, two point,

dan uniform. One point adalah satu dari tipe operator crossover yang paling

sering digunakan. One point dilakukan dengan memilih satu cross point

secara acak, kemudian kromosom dari dua parent bertukar tempat pada point

ini untuk menghasilkan dua kromosom child yang baru. Operator crossover

two point hampir sama dengan one point, bedanya pada two point dipilih dua

cross point secara acak. Pada operator crossover uniform, digunakan suatu

rasio untuk menentukan gen yang akan diturunkan berasal dari kromosom

parent yang mana. Pembentukan dua kromosom child dari dua kromosom

parent dengan menggunakan operator crossover one point, ditunjukkan pada

contoh 2.3.

Page 18: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

17

Contoh 2.3:

Misal diberikan dua kromosom parent P1 dan P2, dan misal secara acak

terpilih suatu cross point adalah 3. Maka crossover dilakukan dengan

menggabungkan gen-gen dari kromosom P1 sebelum cross point dan gen-

gen dari kromosom P2 setelah cross point, untuk menghasilkan kromosom

child, C1. Sedangkan C2 diperoleh dengan cara sebaliknya.

P1 : 1 1 0 0 0

P2 : 1 0 0 1 1

C1 : 1 1 0 1 1

C2: 1 0 0 0 0

Operator crossover yang akan digunakan untuk menyelesaikan job

shop scheduling problem pada local search genetic algorithm adalah

taskCrossover, penjelasan lebih lanjut tentang taskCrossover akan dibahas

pada Sub-Subbab 3.1.4.

2.3.4 Mutasi Operator mutasi adalah suatu operator genetik yang mengubah

satu atau lebih nilai gen pada suatu kromosom dari keadaan awal. Dilakukan

Page 19: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

18

atau tidaknya suatu operator mutasi bergantung pada suatu parameter yang

disebut dengan probabilitas mutasi (Pm).

Beberapa tipe dari operator mutasi antara lain: swap mutation, flip bit,

dan boundary. Swap mutation adalah salah satu tipe operator mutasi yang

paling sering digunakan. Swap mutation dilakukan dengan menukar dua

posisi gen yang terpilih secara acak, sehingga diperoleh suatu kromosom

yang baru. Flip bit dilakukan dengan cara membalikkan nilai dari suatu gen

yang terpilih secara random (0 menjadi 1 dan 1 menjadi 0), flip bit hanya

dapat digunakan pada gen-gen biner. Operator mutasi boundary dilakukan

dengan mengganti nilai dari suatu gen yang terpilih secara acak dengan

batas atas atau batas bawah dari gen tersebut, boundary hanya dapat

digunakan pada gen-gen yang merupakan bilangan bulat. Untuk

menyelesaikan job shop scheduling problem pada local search genetic

algorithm akan digunakan dua operator mutasi yang akan dipilih secara

acak, yaitu mutasi sederhana dan suatu operator mutasi yang menerapkan

pendekatan local search. Penjelasan mengenai local search akan diberikan

secara umum pada Subbab 2.4, mengenai mutasi sederhana dan local

search mutator akan dibahas pada Sub-Subbab 3.1.5 dan Subbab 3.3.

Contoh 2.4 dibawah ini menunjukkan penggunaan swap mutation pada suatu

kromosom dari populasi.

Page 20: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

19

Contoh 2.4:

Misal diberikan suatu kromosom 11000, dan misal terpilih gen ke-2 dan ke-4

secara acak. Maka swap mutation dilakukan dengan menukar posisi dari gen

ke-2 dengan gen ke-4.

1 1 0 0 0 1 0 0 1 0

2.4 Local Search Local search merupakan salah satu teknik pencarian yang sederhana.

Tujuan dari local search adalah untuk memperoleh suatu solusi yang memiliki

nilai optimal. Proses pencarian dimulai dari solusi awal yang layak,

penentuan solusi awal bergantung pada permasalahan. Selanjutnya

dibangun suatu lingkungan dari solusi saat ini, yaitu himpunan solusi-solusi

yang dapat diperoleh dengan satu langkah dari solusi tersebut. Himpunan

solusi-solusi ini disebut tetangga (neighborhood) dari solusi saat ini. Pada

lingkungan tersebut dipilih suatu solusi baru yang merupakan solusi terbaik,

kemudian dari solusi baru tersebut akan dibangun lingkungan yang baru.

Proses tersebut akan terus berulang hingga kriteria berhenti ditemukan, dan

solusi terakhir merupakan solusi yang mempunyai nilai optimal. Meskipun

mempunyai peran penting dalam menyelesaikan masalah optimisasi, teknik

ini masih memiliki kelemahan, yaitu dapat terjebak pada solusi lokal.

Page 21: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

20

BAB III

LOCAL SEARCH GENETIC ALGORITHM DALAM MENYELESAIKAN

JOB SHOP SCHEDULING PROBLEM

Bab ini akan membahas tentang penggunaan algoritma genetik untuk

job shop scheduling problem. Masing-masing jadwal baik yang sudah layak

maupun yang tidak layak (dalam algoritma genetik, jadwal disebut kromosom)

pada populasi akan melalui proses pembentukan menjadi suatu jadwal yang

layak dengan menggunakan suatu skema yang dinamakan Task Assignment

Scheme (TAS), yang akan dibahas pada subbab 3.2. Kemudian masing-

masing jadwal tersebut akan menjalani suatu proses evolusi hingga diperoleh

suatu jadwal dengan makespan minimum yang mungkin. Pada bagian

evolusi akan diterapkan tiga operator dasar algoritma genetik, yaitu

reproduksi, crossover, dan mutasi. Suatu operator mutasi yang mengarah

pada metode local search akan digunakan dengan harapan memperoleh

suatu jadwal yang optimal. Rincian mengenai local search mutator, akan

dijelaskan pada subbab 3.3.

Page 22: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

21

3.1 Penyajian Kromosom dan Operasi Algoritma Genetik 3.1.1 Penyajian dan Pembuatan Populasi Awal

Seperti telah dijelaskan pada sub-subbab 2.3.1, bahwa

pembentukkan populasi awal merupakan salah satu bagian yang penting.

Pada masalah job shop scheduling, kromosom ditampilkan sebagai suatu

rangkaian dari tugas, yaitu kombinasi pekerjaan dengan mesin. Kromosom

diperoleh secara acak dengan memperhatikan urutan dari masing-masing

pekerjaan. Kromosom ditulis dalam format (pekerjaan, mesin, waktu proses)

seperti ditunjukkan pada contoh 3.1.

Contoh 3.1:

Salah satu kromosom dari masalah pada contoh 2.1 adalah:

(1,2,3) (2,1,4) (1,3,4) (2,3,5) (1,1,6) (2,2,2)

Untuk pembacaan yang lebih mudah serta untuk mengefisienkan komputasi

dan penyimpanan, format (pekerjaan, mesin, waktu proses) dari kromosom

dapat di sederhanakan dengan menghilangkan waktu proses, sehingga

contoh kromosom diatas dapat ditulis sebagai berikut:

(1,2) (2,1) (1,3) (2,3) (1,1) (2,2)

Page 23: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

22

Seperti diberikan pada contoh 2.1, suatu masalah job shop scheduling

dapat disajikan dalam bentuk tabel, dimana baris menyatakan mesin dan

waktu proses dari tiap pekerjaan, dan kolom menyatakan urutan untuk tiap

pekerjaan pada sembarang mesin. Suatu populasi awal diperoleh dengan

permutasi pada tiap kolom. Permutasi tersebut dilakukan sebanyak popSize

kali, dimana popSize adalah ukuran populasi yang ditentukan. Salah satu

populasi awal yang mungkin, yang dapat diperoleh dari masalah pada contoh

2.1, diberikan pada contoh 3.2 dibawah ini.

Contoh 3.2:

Misal telah ditentukan popSize adalah 4. Dengan melakukan permutasi tiap

kolom dari masalah pada contoh 2.1, akan diperoleh suatu populasi awal

seperti pada Tabel 3.1. Nilai makespan dari masing-masing kromosom

diperoleh dengan menggunakan Gantt-Chart, sedangkan nilai fitness

diperoleh berdasarkan penghitungan fungsi fitness pada sub-subbab 3.1.2

Tabel 3.1 Makespan dan nilai fitness tiap kromosom pada populasi untuk contoh 3.2.

Kromosom Makespan Nilai fitness

(1,2) (2,1) (2,3) (1,3) (2,2) (1,1) 19 1 (2,1) (1,2) (1,3) (2,3) (1,1) (2,2) 14 6 (2,1) (1,2) (1,3) (2,3) (2,2) (1,1) 14 6 (2,1) (1,2) (2,3) (1,3) (2,2) (1,1) 19 1

Page 24: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

23

3.1.2 Penghitungan Nilai Fitness dari Kromosom Dalam aplikasi algoritma genetik, perlu adanya suatu fungsi

yang menentukan probabilitas kelangsungan hidup dari suatu individu untuk

masuk ke generasi berikutnya. Fungsi tujuan ini oleh ahli biologi biasa

disebut sebagai fungsi fitness. Nilai fitness dari suatu kromosom x untuk job

shop scheduling problem ditentukan dengan cara:

F(x) = (max_length – T(x)) + small_int

Dimana max_length adalah makespan terburuk dari kromosom-kromosom

pada generasi saat ini. T(x) adalah makespan dari kromosom x. Sedangkan

small_int adalah nilai fitness terkecil dan merupakan suatu nilai parameter

yang tetap. Sehingga, dari contoh 3.2 dengan max_length adalah 19, yaitu

makespan terburuk pada populasi, dan misal ditentukan small_int adalah 1,

maka nilai fitness dari masing-masing kromosom dapat dilihat pada Tabel

3.1. Nilai-nilai fitness tersebut nantinya akan mempengaruhi penyeleksian

tiap kromosom pada tahap reproduksi.

3.1.3 Reproduksi Untuk menyelesaikan job shop scheduling problem pada local

search genetic algorithm, operator reproduksi yang digunakan adalah roda

roulette. Roda roulette dilakukan untuk menghasilkan suatu populasi baru

Page 25: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

24

untuk generasi berikutnya. Dengan menggunakan operator ini diharapkan

solusi terbaik dari generasi saat ini akan selalu hadir pada populasi yang

baru. Sehingga demi kelangsungan hidup suatu individu, kekuatan dari

individu tersebut akan bersaing dengan kekuatan dari individu yang lain pada

setiap generasi. Contoh 3.3 dibawah ini menunjukkan penggunaan roda

roulette untuk masalah pada contoh 3.2.

Contoh 3.3:

Dari nilai fitness masing-masing kromosom pada Tabel 3.1, dapat ditentukan

proporsi yang merupakan persentasi dari nilai fitness terhadap total fitness.

Nilai fitness dan proporsi dari masing-masing kromosom diberikan pada

Tabel 3.2.

Tabel 3.2 Nilai fitness dan persentasi total fitness tiap kromosom pada populasi untuk contoh 3.3.

Kromosom Nilai Fitness % Total Fitness

(1,2) (2,1) (2,3) (1,3) (2,2) (1,1) 1 7,1

(2,1) (1,2) (1,3) (2,3) (1,1) (2,2) 6 42,9

(2,1) (1,2) (1,3) (2,3) (2,2) (1,1) 6 42,9

(2,1) (1,2) (2,3) (1,3) (2,2) (1,1) 1 7,1

Total 14 100

Roda roulette pada Gambar 3.1 dibentuk berdasarkan proporsi yang

diperoleh pada Tabel 3.2. Reproduksi dilakukan dengan memutar roda

roulette sebanyak 4 kali (sesuai dengan ukuran populasi) dengan harapan

Page 26: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

25

kromosom dengan proporsi terbesar, yaitu kromosom kedua dan ketiga

(dengan proporsi sebesar 42,9%), memiliki probabilitas terpilih yang lebih

besar dibandingkan dengan kromosom pertama dan keempat (dengan

proporsi sebesar 7,1%).

7,1%

42,9% 42,9%

7,1%

Gambar 3.1 roda roulette untuk Tabel 3.2. 3.1.4 Crossover Operator crossover merupakan salah satu aspek yang penting

dalam menjalankan algoritma genetik. Sudah banyak teknik operator

crossover yang digunakan untuk menyelesaikan job shop scheduling

problem, seperti Uniform Order Crossover (UOX) dan subsequence

exchange crossover (SXX). Tetapi metode UOX masih mengakibatkan

jadwal yang tidak layak, sehingga diperbaiki menjadi taskCrossover, yang

Page 27: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

26

mempertahankan urutan tugas dari masing-masing pekerjaan serta menjaga

kelayakan dari masing-masing kromosom.

Pada taskCrossover, seluruh tugas dari pekerjaan yang terpilih akan

diturunkan dari parent ke child. Proses pembentukan kromosom child C1 dari

dua parent P1 dan P2 adalah sebagai berikut:

1. Diberikan suatu masalah dengan n pekerjaan dan m mesin. Pilih

suatu bilangan i secara acak (i ∈ [1, n-1]).

2. Selanjutnya, pilih i buah pekerjaan. Pekerjaan-pekerjaan ini nantinya

akan diturunkan dari parent ke child (misal dari P1 ke C1).

3. Bangun suatu mask pattern sepanjang jumlah total tugas, yaitu

sebanyak n x m tugas, yang diinisialisasi dengan nol.

4. Untuk setiap posisi mask pattern yang bersesuaian dengan tugas

dari pekerjaan yang dipilih pada langkah 2, ubah nilai 0 menjadi 1.

5. Dengan menjaga urutan tugas dari P1, semua tugas yang posisinya

bersesuaian dengan nilai 1 pada mask pattern diturunkan (dari kiri ke

kanan) ke child C1.

6. Sisa tugas pada C1 di ambil dari parent yang lain, yaitu P2. (tugas

yang sudah ada di C1 tidak diambil dari P2)

Dengan cara yang sama C2 dibangun dari P2 dengan membangun mask

pattern yang bersesuaian dengan P2 dan sisa tugasnya diambil dari P1.

Page 28: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

27

Contoh 3.4:

Misal diberikan dua kromosom parent P1 dan P2, dan terpilih satu pekerjaan

secara acak, yaitu pekerjaan 2, yang akan diturunkan dari parent ke

keturunannya. Sehingga diperoleh C1 dan C2 sebagai berikut :

P1: (2,1) (1,2) (1,3) (2,3) (1,1) (2,2) P2: (2,1) (1,2) (1,3) (2,3) (2,2) (1,1)

M1: 0 0 0 0 0 0 M2: 0 0 0 0 0 0

↓ ↓

M1: 1 0 0 1 0 1 M2: 1 0 0 1 1 0

C1: (2,1) (2,3) (2,2) (1,2) (1,3) (1,1) C2: (2,1) (2,3) (2,2) (1,2) (1,3) (1,1)

Dimana M1 adalah mask pattern dari P1. M1 diinisialisasikan dengan nol

terlebih dahulu sepanjang 2x3 = 6 tugas. Untuk setiap posisi mask pattern

yang bersesuain dengan tugas dari pekerjaan 2, yaitu (2,1), (2,3), dan (2,2),

nilai 0 diubah menjadi 1. Kemudian C1 dibentuk dengan cara mengambil

tugas yang posisinya bersesuaian dengan nilai 1 pada M1, yaitu (2,1), (2,3),

dan (2,2), yang ditempatkan pada C1 dari kiri ke kanan. Sisa tugas, yaitu

(1,2), (1,3), dan (1,1), diambil dari P2 secara berurutan. Sedangkan C2

dibangun dari P2 dengan menggunakan M2 sebagai mask pattern dari P2.

3.1.5 Mutasi Pada masalah job shop scheduling problem terdapat dua

operator mutasi yang akan digunakan, yaitu mutasi sederhana dan local

search mutator. Operator mutasi yang akan digunakan ditentukan secara

Page 29: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

28

sampling, yaitu akan dipilih secara acak suatu bilangan r (r ∈ [0,1]), apabila r

≤ 0,5 maka dilakukan mutasi sederhana, sebaliknya apabila r > 0,5 maka

dilakukan local search mutator.

Mutasi sederhana adalah operator swap mutation yang diterapkan

pada masalah penjadwalan. Mutasi sederhana dilakukan dengan memilih

suatu mesin secara acak. Kemudian, dua pekerjaan yang berurutan pada

mesin ini dipilih secara acak. Dengan menjaga urutan tugas, posisi dari dua

pekerjaan ini ditukar. Penukaran ini hanya dilakukan satu kali untuk

keseluruhan jadwal.

Contoh penggunaan mutasi sederhana diberikan pada contoh 3.5.

Sedangkan mengenai local search mutator akan dibahas pada subbab 3.3.

Contoh 3.5:

Misal diberikan suatu kromosom (2,1)(1,2)(1,3)(2,3)(1,1)(2,2), dan misal

terpilih mesin 3 secara acak, dan pada mesin 3 terpilih pekerjaan 1 dan

pekerjaan 2. Maka mutasi dilakukan dengan menukar posisi dari kedua

tugas, (1,3) dan (2,3), tersebut.

(2,1) (1,2) (1,3) (2,3) (1,1) (2,2) (2,1) (1,2) (2,3) (1,3) (1,1) (2,2)

Page 30: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

29

3.2 Task Assignment Scheme (TAS) Task Assignment Scheme (TAS), menempatkan pekerjaan ke

mesin dengan menjaga hal-hal berikut:

o Memastikan tidak ada pre-emption (menginterupsi pemrosesan dari

suatu pekerjaan untuk memproses pekerjaan lain)

o Tidak ada tugas dari pekerjaan yang sama sedang dikerjakan oleh

mesin lain

o Meminimumkan waktu kosong mesin

Langkah-langkah dari TAS adalah sebagai berikut:

1. Untuk k = 1 sampai nxm, lakukan:

2. Ambil tk sebagai gen (tugas) dari suatu kromosom. (dimana k = 1, 2,

…, nxm)

3. Periksa kendala urutan dari tugas, dan periksa bahwa tidak ada

tugas yang mengandung pekerjaan yang sama sedang diproses.

Kemudian, tempatkan tk ke suatu mesin yang diberikan.

4. Jika masing-masing gen pada kromosom telah ditempatkan pada

suatu mesin, maka telah diperoleh suatu jadwal. Jika tidak, kembali

ke langkah 1 dan tempatkan tugas yang belum ditempatkan

berikutnya ke suatu mesin.

Page 31: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

30

3.3 Tahap Local Search Untuk menyelesaikan job shop scheduling problem dengan

local search genetic algorithm, digunakan suatu local search mutator yang

bertujuan untuk meningkatkan jadwal yang diperoleh. Local search mutator

merupakan suatu proses mutasi dengan menerapkan teknik pencarian local

search. Pada local search mutator, untuk setiap kromosom pada populasi,

posisi dari dua tugas yang berurutan pada mesin yang sama akan ditukar.

Dari seluruh hasil penukaran, satu kromosom terbaik yang diperoleh akan

diperiksa. Jika kromosom yang baru memberikan hasil yang lebih baik dari

kromosom yang lama, maka kromosom diganti dan proses diulangi sekali

lagi. Tetapi jika kromosom yang baru tidak lebih baik dari kromosom yang

lama, maka kromosom tidak diganti dan proses berhenti.

Langkah yang diikuti di dalam tahap local search mutator adalah sebagai

berikut:

1. Tentukan secara acak suatu bilangan r (r ∈ [ 0,1]).

2. Jika r ≤ 0.5, lakukan mutasi sederhana seperti yang dijelaskan pada

sub-subbab 3.1.5

3. Jika r lebih besar dari 0.5 lanjutkan ke langkah 4

4. Untuk mesin i = 1 sampai m dan untuk pekerjaan j = 1 sampai n,

lakukan:

5. Tentukan makespan terbaik yang diperoleh dengan menukar dua

tugas berurutan tj dan tj+1 (di mana j = 1, 2, ..., n) pada mesin mi

Page 32: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

31

6. Jika penukaran mengakibatkan makespan yang lebih buruk

dibandingkan dengan makespan sebelum dilakukan penukaran,

batalkan penukaran, dan proses berhenti, jika tidak ulangi dari langkah

5 sekali lagi (jika pengulangan kedua, proses berhenti)

3.4 Algoritma Genetik untuk Job Shop Scheduling Problem Berdasarkan penjelasan pada subbab 3.1 hingga subbab 3.3,

maka diperoleh suatu algoritma genetik untuk job shop scheduling problem

sebagai berikut:

begin

Baca data (urutan pekerjaan dan waktu proses);

Tentukan parameter algoritma genetik;

Bangun populasi awal secara acak dengan ukuran popSize;

for gen = 1 hingga maxGen do

Ubah tiap kromosom menjadi layak dengan menggunakan TAS;

Hitung nilai fitness tiap kromosom pada populasi;

Bangun populasi baru dengan reproduksi;

Terapkan crossover dan mutasi (atau local search mutator);

end for;

end;

Page 33: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

32

BAB IV

IMPLEMENTASI DAN BEBERAPA HASIL PERCOBAAN

4.1 Implementasi Algoritma genetik untuk menyelesaikan job shop scheduling

problem yang dijelaskan pada Bab III, diimplementasikan dengan

menggunakan compiler MATLAB 6.0. Kinerja dari algoritma ini dalam

menyelesaikan job shop scheduling problem diuji dengan menyelesaikan

masalah uji yang biasa digunakan [OR]. Akan dibandingkan juga kinerja

program apabila operator yang digunakan hanya crossover, crossover

dengan mutasi sederhana, dan crossover dengan local search mutator.

Masukan dari program tersebut adalah urutan pemrosesan tiap

pekerjaan, waktu proses tiap pekerjaan, dan empat parameter dari algoritma

genetik, yaitu ukuran populasi, batas generasi maksimum, probabilitas

crossover, serta probabilitas mutasi. Ukuran populasi diasumsikan genap,

agar kromosom-kromosom tepat berpasangan ketika dilakukan operator

crossover. Pencarian solusi akan dilakukan sebanyak batas generasi

maksimum yang ditentukan.

Pelaksanaan operator crossover dan mutasi bergantung pada

pemilihan suatu bilangan yang diperoleh secara acak. Jika bilangan tersebut

memenuhi kriteria dari probabilitas crossover atau probabilitas mutasi, maka

Page 34: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

33

crossover atau mutasi akan dijalankan. Tetapi apabila tidak memenuhi kriteria

tersebut, maka proses crossover atau mutasi tidak dilakukan sama sekali.

Program akan berhenti apabila batas generasi maksimum yang ditentukan

telah tercapai.

Berikut adalah fungsi-fungsi utama yang digunakan pada program

beserta dengan penjelasannya :

� Main:

Merupakan fungsi utama dari local search genetic algorithm. Fungsi

ini akan memanggil beberapa fungsi yang lain. Di dalam fungsi ini

pula, akan dihitung nilai fitness dan dijalankan operator reproduksi.

� POP:

Fungsi untuk membangun solusi awal yang memenuhi kendala urutan

dengan melakukan permutasi dari tiap pekerjaan untuk sembarang

mesin.

� TAS:

Fungsi untuk mengubah kromosom yang tidak layak menjadi layak.

� Makespan:

Fungsi untuk membangun Gantt-Chart, sehingga menghasilkan

besaran makespan untuk tiap kromosom pada populasi.

� CO:

Fungsi untuk menjalankan operator crossover.

Page 35: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

34

� SimpleMut:

Fungsi untuk menjalankan operator mutasi sederhana.

� LSGA:

Fungsi untuk menjalankan operator local search mutator.

4.2 Hasil Percobaan Di dalam subbab ini akan diberikan beberapa hasil percobaan

dalam menjalankan program hasil implementasi. Program tersebut

dijalankan pada Personal Computer (PC) dengan prosesor Intel Pentium III

500 MHz, memori 128 Mb, dan sistem operasi Microsoft Windows 2000

Professional Edition.

Contoh pemanggilan program untuk masalah dari contoh 2.1,

diberikan pada contoh 4.1. Sedangkan pada contoh 4.2 diberikan solusi

yang diperoleh, beserta grafik makespan terhadap generasi untuk masalah

berukuran 6x6 yang diambil dari [OV 04].

Contoh 4.1 :

Diberikan suatu masalah yang terdiri dari 2 pekerjaan dan 3 mesin. Urutan

pekerjaan dan waktu yang dibutuhkan untuk menyelesaikan pekerjaan,

diberikan pada Tabel 2.1. Dengan ukuran populasi 4, batas generasi

maksimum 5, probabilitas crossover 0,95 dan probabilitas mutasi 0,15, jadwal

Page 36: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

35

yang diperoleh adalah: (1,2) (2,1) (1,3) (2,3) (2,2) (1,1) dengan makespan

sebesar 14. Gambar 4.1 dan Gambar 4.2 merupakan tampilan program pada

saat memasukan data dan solusi keluaran yang diperoleh.

Gambar 4.1 Data masukan untuk contoh 4.1.

Page 37: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

36

Gambar 4.2 Solusi yang diperoleh untuk contoh 4.1

Contoh 4.2 :

Diberikan suatu masalah yang terdiri dari 6 pekerjaan dan 6 mesin. Urutan

pekerjaan dan waktu yang dibutuhkan untuk menyelesaikan pekerjaan,

diberikan pada Tabel 4.1, dengan P menyatakan pekerjaan, m menyatakan

mesin, dan t menyatakan waktu.

Solusi keluaran yang diperoleh dengan ukuran populasi 4, batas

generasi maksimum 100, probabilitas crossover 0,95 dan probabilitas mutasi

0,15, diberikan pada Gambar 4.3. Tetapi makespan yang diperoleh tidak

Page 38: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

37

optimal yaitu sebesar 59, sedangkan makespan dari solusi terbaik untuk

masalah ini adalah 55 [OV 04]. Grafik dari makespan terhadap generasi

untuk masalah ini diberikan pada Gambar 4.4.

Tabel 4.1 Urutan pekerjaan dan waktu proses untuk contoh 4.2

Pekerjaan m,t m,t m,t m,t m,t m,t

P1 3,1 1,3 2,6 4,7 6,3 5,6

P2 2,8 3,5 5,10 6,10 1,10 4,4

P3 3,5 4,4 6,8 1,9 2,1 5,7

P4 2,5 1,5 3,5 4,3 5,8 6,9

P5 3,9 2,3 5,5 6,4 1,3 4,1

P6 2,3 4,3 6,9 1,10 5,4 3,1

Gambar 4.3 Solusi yang diperoleh untuk contoh4.2

Page 39: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

38

0 10 20 30 40 50 60 70 80 90 10059

59.5

60

60.5

61

61.5

62

62.5

63

63.5

64

mak

espa

n

Generasi

Gambar 4.4 Grafik makespan terhadap generasi untuk contoh 4.2

Algoritma ini telah diuji untuk menyelesaikan masalah uji yang

diperoleh dari data benchmark [OR] dengan ukuran masalah 10 x 5 (yaitu, 10

pekerjaan dan 5 mesin), 15 x 5, dan 20 x 5 (urutan pekerjaan dan waktu

proses diberikan pada Lampiran). Tingkat keberhasilan program untuk setiap

ukuran masalah dilihat berdasarkan besar makespan yang diperoleh,

dibandingkan dengan makespan solusi terbaik yang diperoleh dari data

benchmark [OR]. Ukuran populasi, batas generasi maksimum, probabilitas

crossover, dan probabilitas mutasi untuk setiap ukuran masalah ditetapkan

sama, yaitu 4, 100, 0,95, dan 0,15. Hasil yang diperoleh dari tiap ukuran

masalah dapat dilihat pada Tabel 4.2, dimana kolom masalah uji menyatakan

nama file dari masalah yang digunakan, BKS (Best Known Solution)

Page 40: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

39

menyatakan makespan solusi terbaik yang diperoleh dari data benchmark

[OR], LSGA menyatakan makespan dari solusi dengan menggunakan local

search genetic algorithm, dan R.error menyatakan error relatif dari solusi

yang diperoleh terhadap solusi terbaik dari masalah.

Tabel 4.2 Hasil Percobaan untuk tiap ukuran masalah

Masalah Banyaknya Banyaknya BKS LSGA R.error

Uji pekerjaan mesin

la01 10 5 666 675 1,3

la07 15 5 890 1046 17,5

la11 20 5 1222 1222 0

Pada Tabel 4.2 terlihat bahwa pada masalah dengan 10 pekerjaan

dan 5 mesin, memiliki error relatif sebesar 1,3%. Sedangkan pada masalah

dengan 15 pekerjaan dan 5 mesin memiliki error relatif sebesar 17,5%, dan

masalah dengan 20 pekerjaan dan 5 mesin memiliki error relatif sebesar 0%.

Hal ini terjadi karena sifat probabilistik yang dimiliki oleh metode algoritma

genetik. Sehingga, ukuran masalah tidak merupakan faktor utama yang

mempengaruhi besarnya error relatif.

Gambar 4.5 menunjukkan perbandingan grafik makespan terhadap

generasi dari solusi yang diperoleh antara hanya menggunakan operator

crossover, menggunakan operator crossover dan mutasi sederhana, dan

dengan menggunakan operator crossover dan local search mutator. Masalah

yang diuji menggunakan data masalah la01, yaitu suatu masalah dengan 10

pekerjaan dan 5 mesin.

Page 41: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

40

: grafik makespan terhadap generasi yang hanya menggunakan crossover : grafik makespan terhadap generasi yang menggunakan crossover dan mutasi sederhana : grafik makespan terhadap generasi yang menggunakan crossover dan local search mutator

+

x

Keterangan :

Gambar 4.5 Grafik makespan terhadap generasi untuk data masalah la01

Berdasarkan Gambar 4.4, terlihat bahwa jadwal yang diperoleh

dengan menggunakan operator crossover dan local search mutator, akan

lebih cepat menuju ke suatu solusi optimal dibandingkan dengan jadwal yang

diperoleh dengan hanya menggunakan operator crossover, dan dengan

menggunakan operator crossover dan mutasi sederhana.

Page 42: ABSTRAK job shop scheduling , dan mutasi. Terdapat dua jenis · PDF fileiii ABSTRAK Job shop scheduling problem merupakan salah satu masalah penjadwalan yang memiliki kendala urutan

41

BAB V

KESIMPULAN

Untuk menyelesaikan job shop scheduling problem, digunakan suatu

algoritma genetik yang menjaga urutan dari tiap pekerjaan, sehingga setiap

solusi yang diperoleh adalah layak. Operator crossover yang digunakan

melakukan suatu proses evolusi dengan menjaga kelayakan dari solusi-solusi

baru yang dihasilkan. Mutasi dilakukan jika kromosom yang baru

memberikan makespan yang lebih baik. Kedua operator crossover dan

mutasi tidak harus selalu dilakukan, bergantung pada parameter yang

ditentukan.

Berdasarkan hasil percobaan untuk beberapa ukuran masalah yang

diperoleh dari data benchmark [OR], terlihat bahwa local search genetic

algorithm memperoleh suatu jadwal dengan makespan yang optimal dan

yang memiliki error relatif kurang dari 20 persen. Pada beberapa hasil

percobaan terlihat pula bahwa jadwal yang diperoleh dengan menggunakan

operator crossover dan local search mutator, pada setiap generasi akan lebih

cepat konvergen dibandingkan dengan jadwal yang diperoleh dengan hanya

menggunakan operator crossover, dan dengan menggunakan operator

crossover dan mutasi sederhana.