IMPLEMENTASI ALGORITMA OPTIMASI BEE COLONY
UNTUK PENJADWALAN JOB SHOP
(Kata kunci: Optimasi Bee Colony, Penjadwalan Job Shop)
Penyusun Tugas Akhir :
Nafiuna Hidayatus Saidah
(NRP : 5205.100.022)
Dosen Pembimbing
:Mahendrawathi Er, Ph.D
Rully Soelaiman, S.Kom, M.Kom.
Pemahaman mengenai konsep penjadwalan sangat penting bagi manajemen perusahaan.
Dengan konsep penjadwalan, para pelaksana perusahaan mengetahui kapan waktu harus memulai suatu pekerjaan dan kapan waktu mengakhirinya.
Penjadwalan yang baik akan memberikan dampak positif, yaitu rendahnya biaya operasi dan waktu pengiriman, yang akhirnya dapat meningkatkan kepuasan pelanggan.
Sehingga tujuan dari penjadwalan seperti yang telah diungkapkan oleh Rejendran dan Holthaus (1999) yaitu untuk meminimalkan (memaksimalkan) ukuran atau beberapa ukuran dalam pelaksanaannya agar dapat tercapai.
.:
.:
.:
LATAR BELAKAN
LATAR BELAKAN
G (2):.
G (2):.
Penjadwalan
job shop
dapat digolongkan sebagai masalah optimasi kombinasi yang sulit dan memiliki tingkat kompleksitas yang cukup tinggiMetode heuristik merupakan solusi alternatif yang dapat digunakan untuk menangani kompleksitas dari masalah penjadwalan khususnya penjadwalan
job shop
Pada paper yang ditulis oleh Chin Soon Chong, Malcolm Yoke Hean Low, Appa Iyer Sivakumar, dan Kheng Leng Gay (2006) memberikan alternatif penyelesaian persoalan ini menggunakan Algoritma
Bee Colony
.Tujuan dari tugas akhir ini adalah :
• Membangun suatu program yang dapat menyelesaikan permasalahan penjadwalan job shop.
• Menentukan kapan suatu operasi harus diproses pada mesin yang ada sehingga pendapatkan waktu penyelesaian paling minimum.
• Membandingkan hasil penerapan Algoritma Bee Colony dengan PSO.
.:
.: Manfaat
:.
:.
Memberikan kemudahan bagi pihak manajemen perusahaan dalam melakukan penjadwalan pada perusahaan mereka melalui aplikasi yang dihasilkan.Permasalahan yang diangkat dalam tugas akhir ini adalah :
Bagaimana permasalahan penjadwalan
job shop
dapat dimodelkan secara matematis?Bagaimana melakukan optimasi menggunakan metode algoritma
bee
colony
dalam menyelesaikan permasalahan penjadwalanjob shop
?Bagaimana penyelesaian optimasi
bee colony
dibanding dengan algoritma optimasi lainnya dalam menghasilkan solusi?.:
.:Batasan Masalah
:.
:.
1.
Beberapa permasalahan penjadwalan di ambil dari data yang direferensikan oleh paper karya Chin Soon Chong,dkk (2006).2.
Tujuan dalam permasalahan ini adalah untuk meminimumkan total waktu penyelesaian (makespan).3.
Metode yang digunakan dalam tugas akhir ini merupakan algoritmabee colony
4.
Perangkat lunak ini dibangun dengan menggunakan bahasa pemrograman Matlab..:PEMBAHASAN:.
Pada bagian pembahasan ini meliputi dua bagian, yaitu:
•
Persoalan penjadwalan job shop.:Uji Coba dan Analisis:.
Pembahasan uji coba ini terdiri dari 2 bagian, yaitu:
•
Data Uji Coba•
Analisis Hasil Uji CobaSkenario yang digunakan :
perubahan jumlah lebah
perubahan konfigurasi parameterMean :
( (56-55)/55*100% + (593-593)/593 *100% + (1313-1032)/1032*100% )/3=
.:Kesimpulan:.
Penjadwalan job shop dapat dimodelkan secara matematis dengan memenuhi aturan dan batasan yang berlaku sesuai pengertian secara luas mengenai penjadwalan job shop. Metode optimasi bee colony dapat digunakan sebagai alternatif untuk menyelesaiakan permasalahan penjadwalan job shop.
Jika dibandingkan dengan algoritma PSO, metode optimasi bee colony ini tidak menyelesaikan permasalahan penjadwalan job shop dengan lebih baik. Karena nilai makespan yang dihasilkan secara keseluruhan proses uji coba terhadap data yang digunakan tidak berhasil mencapai makespan yang paling minimal, sesuai dengan nilai makespan terbaik yang didapatkan oleh Pratama (2009).
Untuk mendapat hasil makespan yang semakin minimal (optimal), penambahan jumlah lebah dalam satu koloninya perlu dilakukan. Hal ini terjadi karena semakin banyak jumlah lebah dalam satu koloninya, maka ruang solusi yang akan didapatkanpun menjadi semakin luas.
.:Kesimpulan:.
Pemilihan nilai alpha dan beta sangat berpengaruh dalam menyelesaikan permasalahan penjadwalan job shop khususnya dalam menentukan solusi makespan yang dihasilkan.
Semakin besar ukuran permasalahan penjadwalan job shop yang diselesaikan, maka waktu komputasi yang dibutuhkan untuk mendapatkan solusi optimalnya akan menjadi semakin tinggi.
.:Saran:.
Untuk menghasilkan solusi makespan yang lebih optimal, khususnya dalam menangani data-data dengan ukuran yang cukup besar, maka algoritma optimasi
bee colony masih membutuhkan modifikasi.
Peningkatan kualitas solusi makespan dapat dilakukan dengan menggabungkan algoritma optimasi bee colony dengan algoritma yang mempunyai kelebihan dalam hal heuristik pencarian lokal seperti Tabu Search.
.:Daftar Pustaka(1):.
• Chong, Low, Sivakumar, and Gay, 2006. A Bee Colony Optimization Algorithm To Job Shop Scheduling. Proceeding of the 2006 Winter Simulation Conference.
• Butt, Norman. 2009. Bee Colonies Applied To Multiprocessor Sxcheduling. Borlange Sweeden: Dalarna University.
• Jain. A. S. and Meeran. S., Deterministic job shop scheduling: past,
present and future. European Journal of Operational Research, Vol. 113, No. 2 (1999), pp. 390-434.
• Nahmias, Steven. 1989 & 1993. Production and Operastions Analysis, Second Edition. Sydney: Santa Clara University.
• Maharesi Retno, 2002. Perbandingan Antara Pendekatan Branch And Bound Dan Pemrograman Linear : Dengan Sebuah Contoh Kasus Optimasi. Jakarta: Universitas Gunadharma.
• Panggabean, Henry Pantas, 2002. Penjadwalan Job Shop Statik Dengan Algoritma Simulated Annealing.
.:Daftar Pustaka(2):.
• Nismah . 2006. Evaluasi Perilaku Antara Lebah Pekerja Apis Cerana Javana FABR Untuk Menginformasikan Sumber Makanan. Indonesia: Institut teknologi Bandung
• Henry P. Panggabean. 2005. Penjadwalan Job Shop Statik Dengan Algoritma Tabu Search. Integral, vol 10 no 1
• Sha, D.Y, & Hsu, C.Y., 2006. A hybrid Particle Swarm Optimization for Job Shop scheduling problem. Computers & Industrial Engineering 51 (2006) : 791-808.
• Pervaiz Ahmed, Reza Tavakkoli Moghaddam, Fariborz Jolai & Farzaneh Vaziri, 2004. Solving stochastic job shop scheduling problems by a hybrid method. UK : University of Wolverhampton.
• Pinedo L Michael, 2008. Scheduling:Theory, Algorithms, and Systems. USA : NewYork University.
• Pratama Hinsa Adi, 2009. Optimasi Permasalahan Penjadwalan Job Shop Dengan Menggunakan Metode Particle Swarm Optimization Yang Dimodifikasi. Surabaya : Institut Teknologi Sepuluh Nopember.
.:Penjadwalan Job Shop:.
• Permasalahan penjadwalan job shop merupakan suatu permasalahan untuk menentukan urutan operasi yang dilakukan dalam mesin yang ada dengan tujuan meminimumkan waktu proses total yang dibutuhkan.
• Contoh suatu persoalan JSP dalam dunia nyata adalah penjadwalan kegiatan di sekolah/universitas, penjadwalan perjalanan kereta api, penjadwalan penerbangan pesawat terbang,dsb.
.:Definisi Penjadwalan Job Shop:.
Terdapat m-mesin yang harus memproses n-
job
secara tuntas.Terdapat serangkaian operasi dari sebuah
job.
Tiap operasi yang ada sudah ditetapkan akan diproses dimesin tertentu.Setiap operasi memiliki waktu pemrosesan yang telah ditetapkan sebelumnya.
Mempunyai tujuan membuat sebuah jadwal yang memiliki waktu penyelesaian seluruh
job
(makespan
) yang paling minimum..:Karakteristik Penjadwalan Job Shop:.
Setiap
job
terdiri dari satu rantai urutan operasi mengikuti rute yang telah ditentukanPada waktu tertentu, setiap
job
hanya dapat diproses ke dalam satu mesin tertentu. Begitu juga sebaliknya, pada waktu tertentu setiap mesin hanya dapat memproses satujob
tertentuSetiap
job
tidak boleh diproses ke dalam mesin yang sama sebanyak 2 kali atau lebihTidak diijinkan adanya
overlap
waktu pemrosesan pada operasi-operasi yang ada dalam mesin yang samaPermasalahan penjadwalan
job shop
merupakan permasalahan optimisasi kombinatorial yang kompleks(np-hard)
Bentuk permasalahan penjadwalan model
job shop
dapat digambarkan ke dalam bentukdisjungtive graph
.
.:Kombinatorial:.
Masalah optimasi kombinatorik berhubungan dengan penentuan kombinasi optimum dari sejumlah alternatif kombinasi dari sekumpulan obyek.
Masalah
job shop
dengan m mesin n job akan menghasilkan (n!)m buahkemungkinan solusi atau jadwal
Menurut Panggabean (2002), waktu komputasi untuk mencari solusi optimal dari permasalahan yang tergolong permasalahan kombinatorial akan meningkat secara exponensial seiring dengan membesarnya nilai parameter masalah (jumlah mesin dan jumlah job).
.:Permodelan Penjadwalan Job Shop:.
Fungsi tujuan : Meminimalkan t(akhir) (1) Batasan : ti(j+1) –tij …..………. (Oij,Oi(j+1)) Ai (2) tij– tkl kl atau tkl – tij ij ………. (Oij, Okl) Ex (3) tij , tkl 0 ……….. (Oij,Okl) Ai , Ak (4) Variabel keputusan : tij , tkl ... (Oij,Okl) Ai , Ak (5) Keterangan :t = waktu mulai operasi
tij = waktu mulai operasi j pada job i ij = waktu proses operasi j pada job i
≥
τ
ijτ
τ
≥ ≥
≥
.:Fungsi Tujuan:.
Fungsi Tujuan = Meminimumkan (Makespan)
Meminimumkan ( t finish(akhir) – t0 ) Meminimumkan (t finish(akhir) – 0 )
Meminimumkan (t finish(akhir))
.:Fungsi Batasan 2:.
ti(j+1) –tij ≥
τ
ij …..……… (Oij,Oi(j+1)) Ai (2)Waktu mulai operasi 1 job 2 Waktu mulai operasi 2 job 2 Selang waktu = waktu proses operasi 1 job 2
Waktu mulai operasi 3 job 5 Waktu mulai operasi 4 job 5 Selang waktu > waktu proses operasi 1 job 2
Operasi 1 Job 1
Operasi 2 Job 1
Waktu mulai op1Job1 waktu mulai op2 Job1
.:Fungsi Batasan 3:.
tij– tkl ≥
τ
kl atau tkl – tij ≥τ
ij ………. (Oij, Okl) ExWaktu mulai operasi 2 job 5 waktu mulai operasi 3 job 1 Selang waktu = waktu proses operasi pertama
Waktu mulai operasi 1 job 1 waktu mulai operasi 2 job 2 Selang waktu > waktu proses operasi 1 job 1
Operasi 1 Job 1 Operasi 2 job 2
Waktu mulai operasi 1 job 1 waktu mulai operasi 2 job 2 Selang waktu < waktu proses operasi 1 job 1
.:Representasi Graph:.
• Kumpulan conjungtive arch secara langsung digunakan untuk
merepresentasikan batasan presedensi untuk setiap job. • Kumpulan disjungtive arch
digunakan untuk merepresentasikan batasan kapasitas untuk
memastikan bahwa tidak ada dua proses operasi dengan mesin yang sama dapat di eksekusi secara
simultan. O11 O12 O13 O21 O31 O23 O33 O32 O22 * O disjungtive arch conjungtive arch
.:Gantt Chart:.
Hasil akhir dari jadwal yang sudah terbentuk, selanjutnya akan diinterpretasikan dalam bentuk
gantt chart
Mesin 1 Op2 Job 1 Op2 Job 2 Op2 Job 3
Mesin 2 Op1 Job1 Op1 Job 3 Op3 Job 2
.:Heuristik:.
Algoritma Heuristik adalah algortima yang mencari nilai optimal dari bagian atau irisan suatu permasalahan utama lalu melakukan proses
penyempurnaan sehingga mencapai solusi tebaik yang diinginkan, tapi tidak menjamin perolehan jadwal yang benar-benar optimal.
Dengan metode heuristik dapat dihasilkan solusi baik yang mendekati solusi optimal. Selain itu waktu komputasi yang dibutuhkan oleh metode heuristik ini lebih singkat.
.:Sekilas Cara Kerja Lebah:.
SCOUT
:Menemukan sumber makanan baru Menari (Waggle Dance)
RECRUITS : Mengikuti Tarian
.:Algoritma Bee Colony:.
Mulai
Permasalahan penjadwalan job shop
Input parameter
Best solution makespan = ~
Apakah lebah sudah dijalankan semuanya?
Apakah lebah saat ini adalah lebah pertama?
Random selected dance
Ploting jadwal dengan sistem random
Forage berdasar preffered path Apakah ada pilihan
jalan node
Jadwal Aktif Save best solution jadwal aktif
& best solution makespannya Berhenti
Apakah makespan yang dihasilkan lebih bagus
dari best solution?
Waggle Dance N Y N Y Y N Y N
.:Parameter Input:.
Nmax = jumlah maksimum iterasi yang diijinkan l = jumlah lebah dalam satu koloni
Alpha_rating = nilai pembobotan /
rating
pada pilihan path yang diijinkanAlpha = bobot untuk
arch fitness
Beta = bobot untuk
heuristik distance
.:Ploting Jadwal:.
Mulai
Data masukan berupa matriks mesin pemroses dan
waktu proses tiap operasi
Apakah masih ada operasi yang belum masuk
dalam jadwal aktif?
Pilih random operasi pada urutan awal daftar operasi dari tiap jobnya
Masukkan Operasi yang terpilih ke dalam jadwal aktif
Hapus operasi yang telah terpilih, majukan operasi selanjutnya
pada posisi pertama
Jadwal aktif
Berhenti
1 2 3
4 5 6
7 8 9
.:Jadwal Aktif:.
Menurut Pinedo (2008) sebuah jadwal, layak disebut jadwal aktif jika tidak ada perubahan apapun sehingga beberapa operasi diselesaikan secepatnya dan tidak ada operasi lain yang diselesaikan kemudian.
.:Algoritma Forage:.
Mulai
Data masukan berupa matriks mesin pemroses dan waktu
proses tiap operasi Apakah masih ada
operasi yang belum masuk dalam jadwal aktif?
Pilih random operasi pada urutan awal daftar operasi dari tiap jobnya
Masukkan operasi yang terpilih ke dalam jadwal aktif
Hapus operasi yang telah terpilih, majukan operasi selanjutnya pada
posisi pertama Perhitungan probability
Jadwal aktif
Berhenti
.:Arch Fitness:.
= nilai yang diberikan pada node yang ada pada preffered path k = jumlah node yang diijinkan
m = jumlah preffered path, m =1 atau m = 0
ij
ρ
= 1 – m k - mα
α
α
Dihitung untuk semua kemungkinan path yang bisa dikunjungi
A
B
C
.:Probability:.
= arch fitness antara node i dan node j = jarak heuristic antara node i dan node j
= kemungkinan percabangan dari node i dan node j = pembobot untuk arc fitness
= mengontrol signifikan level untuk heuristic distance
Pij (t) =
[
]
[
]
∑
∈ ⎥⎥⎦ ⎤ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ nodes allowed j ij ij ij ij d t d t _ 1 . ) ( 1 . ) ( β α β α ρ ρ ijρ
ijd
ijP
α
β
Heuristik distance =waktu proses dari operasi
Heuristik distance =
waktu proses dari operasi
.:Algoritma Waggle Dance:.
Mulai Berhenti Perhitungan profitability Penghitungan durasi dance Pengecekan nilai ri ri, Pf, D.:Profitability:.
Pfi =
Pfcolony =
Cimax = makespan dari jadwal yang digenerate oleh lebah f i.
n = jumlah
waggle dance
yang dilakukan dalam waktu tCjmax = makespan dari jadwal yang digenerate oleh lebah fj yang menunjukkan
waggle dance
.i
C
max1
∑
= n j jC
n
1 max1
1
.:Durasi Dance:.
A = faktor skala waggle dance
di = perbandingan profitability individu terhadap koloninya
D = A. d
i= A . Pf
iPf
colony.:Probability Selected Dance:.
Tabel di adaptasi dari Nakrani dan Tovey (2004) Profitability Rating ri Pfi < 0.9Pfcolony 0.60 0.9Pfcolony Pfi < 0.95Pfcolony 0.20 0.95Pfcolony Pfi < 1.15Pfcolony 0.02 1.15 Pfcolony Pfi 0.00
≤
lebah lebih menyukai mengobservasi secara random dan mengikuti waggle dance dalam dance floor jika profitability
rating rendah ketika dibandingkan dengan profitability koloninya lebah lebih menyukai mengobservasi secara random dan mengikuti waggle dance dalam dance floor jika profitability
rating rendah ketika dibandingkan dengan profitability koloninya
≤
≤
Dalam kasus ekstrim, dimana ri adalah nol, maka lebah akan memelihara path-nya sendiri. Dalam kasus ekstrim, dimana ri
adalah nol, maka lebah akan memelihara path-nya sendiri.
.:Bee Colony vs Ant Colony:.
Penghitungan probabilitas pemilihan node
: Pij(t) =Perhitungan pembaharuan jejak semut :
Waggle Dance Sumber : Algoritma Semut pada Penjadwalan
Job Shop, zukhri (2004)
ij lama ij baru ij
ρ
τ
τ
τ
=
×
×
Δ
[
]
[
]
∑
∈ ⎥⎥⎦ ⎤ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ nodes allowed j ij ij ij ij d t d t _ 1 . ) ( 1 . ) ( β α β α ρ ρ = arch fitness antara node i dan node j = jarak heuristic antara node i dan node j
= kemungkinan percabangan dari node i dan node j
ij ρ ij d ij P
.:Data Uji Coba:.
Data masukan diambil dari data yang direkomendasikan oleh paper yang di ambil dari website OR-Library dengan alamat
http://people.brunel.ac.uk/~mastjjb /jeb/orlib/files/jobshop1.txt
Data matriks 6x6 (ftp06)
Data matriks 10x5 (la05)
.:Analisis Hasil Uji Coba Data ftp06 (6x6):.
Berdasar jumlah lebah
Berdasar konfigurasi parameter Jumlah lebah diubah-ubah dari 6, 50, 75, dan 100
konfigurasi parameter apha_rating, alpha dan beta adalah (0.001;1;1)
Penambahan jumlah lebah akan membuat solusi yang dihasilkan menjadi semakin mendekati optimal yang sebenarnya Konfigurasi parameter
alpha_rating, alpha dan beta ini berpengaruh terhadap solusi makespan yang dihasilkan.
Semakin kecil nilai alpha_rating maka membuat solusi semakin minimum.
Pada kasus data ini, nilai beta yang lebih besar dari nilai alpha akan membuat nilai makespan semakin minimum.
Waktu komputasi yang
dibutuhkan semakin meningkat seiring dengan bertambahnya jumlah lebah
Perubahan konfigurasi parameter ini tidak
berpengaruh cukup berarti terhadap waktu komputasi untuk menghasilkan solusi makespannya.
konfigurasi parameter diubah-ubah dari
(0.9;1;1),(0.001;1;1),(0.001;10;1), dan (0.001;1;10) jumlah lebah 100
.:Analisis Hasil Uji Coba Data la05 (10x5):.
Berdasar jumlah lebah Berdasar konfigurasi parameter Penambahan jumlah lebah pada
kasus data ini tidak banyak berpengaruh terhadap hasil, karena hasil yang didapatkan selalu optimal.
Pada kasus data ini, konfigurasi alpha_rating, alpha dan beta tidak banyak berpengaruh
terhadap solusi yang dihasilkan. Hal ini terbukti hari hasil yang di dapatkan selalu optimal. Waktu komputasi yang
dibutuhkan semakin naik seiring dengan pertambahan jumlah lebah
Perubahan konfigurasi parameter ini tidak
berpengaruh cukup berarti terhadap waktu komputasi untuk menghasilkan solusi
makespan-nya.
Jumlah lebah diubah-ubah dari 10, 50, 75, dan 100
Konfigurasi parameter apha_rating, alpha dan beta adalah (0.001;1;1) konfigurasi parameter diubah-ubah dari
(0.9;1;1),(0.001;1;1),(0.001;10;1), dan (0.001;1;10) jumlah lebah 100
.:Analisis Hasil Uji Coba Data la23 (15x10):.
Berdasar jumlah lebah Berdasar konfigurasi parameter Penambahan jumlah lebah
membuat solusi makespan semakin mendekati nilai optimal.
Meski pada saat jumlah lebah 75 sudah mendapat makespan yang paling minimum.
Hal ini disebabkan kasus yang digunakan menggunakan ukuran yang cukup besar, sehingga
memiliki banyak kombinasi jadwal.
Konfigurasi parameter
alpha_rating, alpha dan beta ini berpengaruh terhadap solusi makespan yang dihasilkan. Pada kasus data ini, makespan paling minimum di dapatkan ketika nilai alpha lebih besar dibanding nilai beta.
Jumlah lebah diubah-ubah dari 15, 50, 75, dan 100
konfigurasi parameter apha_rating, alpha dan beta adalah (0.001;1;1) konfigurasi parameter diubah-ubah dari
(0.9;1;1),(0.001;1;1),(0.001;10;1), dan (0.001;1;10) jumlah lebah 100
Waktu komputasi yang dibutuhkan semakin tinggi
sebanding dengan pertambahan jumlah lebah
Perubahan konfigurasi parameter ini tidak
berpengaruh cukup berarti terhadap waktu komputasi untuk menghasilkan solusi makespannya.