BAB 1 PENDAHULUAN
1.6. Metodologi Penelitian
Dalam penelitian ini, metode penelitian yang digunakan adalah sebagai berikut : 1. Kajian pustaka atau Literature review, membaca riset-riset yang telah
dilakukan sehubungan dengan teknik yang akan dipergunakan dalam menyelesaikan masalah ini dan riset-riset yang membahas tentang masalah yang berhubungan dengan riset yang akan dilakukan oleh Penulis.
2. Pengumpulan data atau Collecting Data, mengumpulkan data yang berkaitan dan diperlukan dalam mengatasi masalah ini.
3. Analisis, menganalisis teknik yang akan dipergunakan dengan mempergunakan data yang tersedia sehingga membentuk suatu sistem.
4. Pengujian atau testing, menguji sistem yang telah dibentuk untuk memastikan
apakah sistem tersebut bekerja sesuai dengan yang diharapkan.
BAB 2
LANDASAN TEORI
2.1. Penjadwalan dan Penjadwalan Flow shop
Menurut Kumar (2011), jadwal merupakan rencana sistematis yang umumnya menceritakan hal-hal yang akan dikerjakan. Menurut Pinedo (2005), Penjadwalan diartikan sebagai proses pengambilan keputusan yang dilakukan secara teratur di bidang manufaktur dan jasa. Menurut Gajpal (2014), penjadwalan adalah proses alokasi sumber daya yang terbatas.
Menurut Ruiz (2007), permasalahan flow shop didefinisikan sebagai sekumpulan job N=1,2,...,n yang diproses oleh satu set mesin M=1,2,...n. Menurut Balasundaram (2014), penjadwalan flow shop adalah pengklasifikasian sebuah optimasi kombinatorial yang terdiri dari n-job, m mesin, diasumsikan bahwa job-job melewati semua mesin yang sama. Penjadwalan flow shop didefinisikan sebagai sebuah permasalahan produksi dimana terdapat satu set n job yang di proses pada aliran semua mesin yang identik, Tyagi (2014), Menurut Budi Santosa (2014), permasalahan dalam penjadwalan berfokus pada bagaimana mengalokasikan sumber daya produksi yang terbatas, seperti mesin, alat material handling, operator, dan peralatan lainnya untuk melakukan proses pada serangkaian aktivitas operasi (job) dalam periode waktu tertentu dengan optimalisasi pada fungsi objektif tertentu.
2.1.1. Tujuan penjadwalan
Menurut Ginting (2009), ada beberapa tujuan dari aktivitas penjadwalan adalah sebagai berikut :
1. Meningkatkan penggunaan sumberdaya atau mengurangi waktu tunggunya,
sehingga total waktu proses dapat berkurang dan produktivitas dapat
meningkat.
2. Mengurangi persediaan barang setengah jadi atau mengurangi sejumlah job yang menunggu dalam antrian ketika sumber daya yang ada masih mengerjakan tugas lain.
3. Mengurang beberapa keterlambatan pada job yang mempunyai batas waktu penyelesaian .
4. Membantu pengambilan keputusan mengenai perencanaan kapasitas pabrik dan jenis kapasitas yang dibutuhkan.
2.1.2. Definisi dalam penjadwalan
Menurut Ginting (2009), ada beberapa istilah dalam penjadwalan yaitu : 1. Processing time (t
i)
Adalah waktu yang dibutuhkan untuk mengerjakan suatu job. Dalam waktu proses ini sudah termasuk waktu yang dibutuhkan untuk persiapan dan pengaturan (set-up) selama proses berlangsung.
2. Due-date (d
i)
Adalah batas waktu di mana operasi terakhir dari suatu job harus selesai.
3. Slack time (SL
i)
Adalah waktu tersisa yang muncul akibat dari waktu prosesnya lebih kecil dari due-date-nya.
4. Flow time (F
i)
Adalah rentang waktu antara satu titik di mana tugas tersedia untuk diproses dengan suatu titik ketika tugas tersebut selesai.
5. Completion Time (C
i)
Adalah waktu yang dibutuhkan untuk menyelesaikan job mulai dari saat tersedianya job (t= 0) sampai pada job tersebut selesai dikerjakan.
6. Lateness (L
i)
Adalah selisih antara Completion time (C
i) dengan due-date-nya (d
i). Suatu
job memiliki lateness yang bernilai positif apabila pckerjaan tersebut
criseresaikan setelah due date-nya, job tersebut akan memiliki keterlambatan
yang negatif. sebaliknya jika job diselesaikan setelah batas waktunya, job
tersebut memiliki keterlambatan yang positif.
7. Tardiness (Ti)
Adalah ukuran waktu terlambat yang bernilai positif jika suatu job dapat diselesaikan lebih cepat dari due-date-nya, job tersebut akan memiliki keterlambatan yang negatif. Sebaliknya jika job diselesaikan setelah batas waktunya, job tersebut memiliki keterlambatan yang positif
8. Makespan (M
i)
Adalah total waktu penyelesaian pekeriaan-pekeriaan mulai dari urutan pertama yang dikerjakan pada mesin work center pertama sampai kepada urutan job terakhir pada mesin atau work center terakhir
2.2. Multi-objective Optimization (MO)
Multi-objective Optimization (MO) merupakan sebuah proses yang dilakukan secara simultan untuk optimalisasi dua atau lebih tujuan (objektif). Proses akan semakin rumit jika optimasi dilakukan pada fungsi objektif yang saling bertentangan, dimana solusi optimal untuk sebuah fungsi objektif akan berbeda untuk fungsi objektif lainnya.
Menurut Deb (2002), MO akan menghasilkan sekumpulan solusi optimal yang dikenal dengan pareto-optimal solutions (solusi pareto-optimal) bukan single-optimal solutions.
Secara umum permasalahan MO diformulasikan oleh Deb (2011) ke dalam bentuk persamaan matematika sebagai berikut :
Minimize/Maximize f
m(x), m = 1,2,…,M;
Ada banyak optimasi yang tersedia untuk menyelesaikan permasalahan MO, beberapa diantaranya akan dijelaskan pada sub-bab dibawah ini.
2.2.1. Single Aggregat Objective Function (AOF)
Ide dasar dari optimasi ini adalah menggabungkan beberapa fungsi objektif menjadi satu bentuk fungsi objektif. Salah satunya adalah weighted linear sum of objective, yaitu fungsi-fungsi objektif yang akan dioptimasi diberi bobot dan dijumlahkan secara
(2.1)
linear menjadi sebuah fungsi yang dapat diselesaikan dengan Single-objective Optimization (SO).
Secara umum, persamaan matematika untuk AOF diformulasikan oleh Srinivas (1994) sebagai berikut :
Minimize/Maximize Z =
Subject to x X dimana X adalah himpunan solusi;
0 w
i 1
Dengan menggunakan optimasi ini solusi yang dihasilkan akan sangat bergantung pada nilai bobot (w) yang diberikan. Nilai setiap bobot merupakan nilai desimal antara 0 sampai 1, yang jika semua bobot dijumlahkan akan bernilai 1.
2.2.2. Evolutionary Algorithm (EA)
Menurut Deb (2011), pendekatan yang digunakan dalam Algoritma Evolutionary Optimization (EO) adalah tahapan iterasi (pengulangan) terhadap populasi solusi (sekumpulan solusi) yang mengembangkan populasi solusi baru untuk iterasi berikutnya. EO sangat terkenal dan banyak digunakan dalam permasalahan MO karena : (1) EO tidak membutuhkan informasi tambahan seperti bobot pada optimasi AOF, (2) Relatif sederhana untuk diimplementasikan dan (3) Fleksibel dan dapat diterapkan pada banyak permasalahan.
Penerapan EO yang memakai populasi solusi untuk Single-objective Optimization (SO) akan terlihat sia-sia karena hanya mencari satu solusi optimal saja.
Namun untuk MO, penerapan EO ini adalah pilihan yang tepat sebab EO akan menghasilkan populasi solusi pareto-optimal, yang seluruh populasi tersebut diproses lebih lanjut agar mendapatkan sebuah solusi.
2.2.2.1. Evolutionary Optimization (EO) untuk Single-Objective Optimization
Tahapan pencarian solusi EO untuk SO dijelaskan oleh Deb (2011) dimulai dengan inisialiasi populasi solusi yang dihasilkan secara acak. Selanjutnya dilakukan tahapan iterasi dimana setiap iterasi akan menghasilkan populasi baru dengan menggunakan 4 operator utama yaitu seleksi, crossover (penyilangan), mutasi dan elite-preservation.
Iterasi akan berhenti ketika satu atau lebih kriteria berhenti telah terpenuhi.
(2.2)
Inisialiasi populasi dilakukan dengan menghasilkan populasi solusi secara acak, namun jika beberapa solusi telah diketahui sebelumnya, maka inisialisasi populasi akan lebih cepat dengan menggunakan solusi tersebut. Seleksi diterapkan untuk memilih beberapa solusi dan ditempatkan pada penyimpanan (pool) sementara.
Crossover diterapkan dengan menyilangkan dua solusi (parent) secara acak dari pool dan menghasilkan satu atau lebih solusi (children). Parameter utama crossover adalah probabilitas crossover (p
c [0,1]) yang menunjukkan bagian populasi yang diikutsertakan pada crossover. Sementara itu, parameter utama mutasi adalah probabilitas p
myang biasanya bernilai 1/ ( adalah jumlah variabel). Elitism akan menggabungkan populasi lama dengan yang baru (children) dan mempertahankan solusi yang lebih baik untuk populasi berikutnya, untuk memastikan algoritma mempunyai peningkatan kinerja secara monoton. Untuk menentukan kriteria berhenti, biasanya digunakan angka yang menunjukkan batas jumlah generasi populasi.
Dibawah ini dilampirkan gambar yang menjelaskan populasi solusi yang dihasilkan pada setiap generasi EO.
(i) Inisialiasasi Populasi (ii) Populasi Generasi ke-5
(iii) Populasi Generasi ke-40 (iv) Populasi Generasi ke-100
Gambar 2.1 Populasi yang dihasilkan pada setiap Generasi EO (Deb, 2011)
Pada gambar diatas, terlihat bahwa inisialiasi awal populasi yang acak, akan berada dalam solusi feasible (himpunan solusi yang mungkin) pada generasi ke-5, dan akan makin konvergen menuju sebuah solusi untuk generasi berikutnya.
2.2.2.2. Evolutionary Multi-objective Optimization (EMO)
Definisi dan skema prosedur untuk mencari solusi pareto-optimal EMO dijelaskan oleh Deb (2011) sebagai berikut dibawah ini.
Solusi optimal pada MO dapat didefinisikan dengan konsep matematika partial ordering yang dikenal dengan istilah Dominasi pada MO. Definisi Dominasi dari dua buah solusi adalah sebagai berikut :
Sebuah solusi x
(1)dikatakan mendominasi solusi yang lain x
(2), jika kedua kondisi berikut terpenuhi (benar) yaitu :
1. Solusi x
(1)tidak lebih buruk dari x
(2)untuk semua objektif, Dengan demikian, solusi-solusi tersebut dibandingkan berdasarkan nilai fungsi objektif-nya (atau lokasi dari titik (z
(1)dan z
(2)) pada ruang solusi).
2. Solusi x
(1)lebih baik dari x
(2)minimal pada satu objektif.
Tujuan ideal (utama) dalam MO adalah :
1. Mencari sekumpulan solusi yang terdapat pada pareto-optimal front.
2. Mencari sekumpulan bermacam-macam yang merepresentasikan jangkauan pareto-optimal front.
Meskipun perbedaan utama antara SO dan MO terdapat pada kardinalitas solusi yang optimal, namun dari sisi penerapan tetap yang dibutuhkan hanya satu solusi. Pemilihan satu solusi dari sekumpulan solusi yang optimal melibatkan informasi tingkat tinggi yang biasanya non teknis, kualitatif dan pengalaman.
Langkah-langkah dasar pada prosedur EMO adalah :
Langkah 1 : Mencari beberapa titik non-dominated yang paling dekat dengan pareto-optimal front.
Langkah 2 : Memilih satu dari titik yang dihasilkan pada langkah 1 berdasarkan informasi tingkat tinggi.
Gambar 2.2 dibawah ini menjelaskan skema dari langkah-langkah prosedur EMO
diatas.
Prosedur Elitist Non-dominated Sorting Genetic Algorithm (NSGA-II) adalah salah satu prosedur EMO yang terkenal, karena NSGA-II mempunyai 3 keutamaan, yaitu :
1. Prinsip elitist.
2. Mekanisme diversity preserving (melestarikan keragaman).
3. Mengutamakan solusi non-dominated.
Beberapa prosedur yang membedakan NSGA-II dengan algoritma EMO lainnya adalah fast-non-dominated-sort, crowding-distance-assignment dan Crowded Comparison Operator.
Gambar 2.2 Skema prosedur Multi-objective Optimization (Deb, 2011)
Prosedur fast-non-dominated-sort digunakan untuk mengidentifikasi dan mengurutkan solusi kedalam beberapa tingkatan front non-dominated yang berbeda.
Sebagai permulaan, semua solusi dihitung entitas : (1) jumlah dominasi n
p, yaitu
jumlah solusi yang mendominasi solusi p, (2) S
p, yaitu himpunan solusi yang
didominasi solusi p. Penghitungan entitas ini membutuhkan kompleksitas komputasi
sebesar O(MN
2).
Semua solusi di front non-dominated pertama akan mempunyai jumlah dominasi bernilai nol. Selanjutnya untuk setiap solusi dengan n
p=0 akan ditelusuri semua solusi q yang terdapat pada S
pdan mengurangi jumlah dominasi q (n
q) dengan satu. Jika n
qada yang bernilai nol, maka q dipisahkan ke himpunan Q. Solusi q yang terdapat pada himpunan Q akan menjadi front non-dominated berikutnya. Proses ini dilanjutkan sampai semua front berhasil diidentifikasikan.
Algoritma untuk fast-non-dominated-sort yang lebih rinci disajikan oleh Deb (2002) sebagai berikut :
i = 1 inisialisasi jumlah front
while Ƒ
i≠
Q = untuk menyimpan anggota front berikutnya
for each p Ƒ
iSelain menghasilkan solusi yang konvergen terhadap himpunan pareto-optimal, NSGA-II juga menjaga agar solusi yang dihasilkan menggambarkan keragaman dari himpunan pareto-optimal. Untuk itu didefinisikan metric perkiraan kepadatan (Density Estimation Metric) dan operator perbandingan keramaian (Crowded-Comparison Operator).
Untuk perkiraan kepadatan solusi di sekeliling sebuah solusi i, dilakukan perhitungan jarak rata-rata antara dua solusi di kedua sisi solusi i untuk setiap objektif.
Nilai yang dihasilkan i
distanceadalah perkiraan keliling cuboid yang dibentuk oleh
solusi terdekat i sebagaimana disajikan dalam gambar dibawah ini.
Gambar 2.3 Perhitungan Crowding-Distance (Deb,2011)
Perhitungan Crowding-Distance memerlukan pengurutan solusi dalam urutan membesar sesuai dengan fungsi objektif-nya. Solusi dengan nilai fungsi terkecil dan terbesar selanjutnya diberi nilai distance tak terhingga, sementara solusi lainnya diberi nilai berdasarkan perhitungan nilai absolut dari selisih nilai objektif solusi terdekat yang telah dinormalisasi. Nilai total Crowding Distance dihitung dari jumlah distance untuk setiap fungsi objektif. Algoritma rincinya telah disusun oleh Deb (2002) sebagai berikut :
Crowding-distance-assignment (χ)
l = |χ| jumlah solusi di χ
for each i, set χ[i]
distance= 0 inisialisasi jarak
for each objective m
χ = sort(χ,m) pengurutan menggunakan nilai objektif
χ[1]
distance= χ[l]
distance= agar titik batas selalu terpilih
for i = 2 to (l-1) untuk semua titik lain
χ[i]
distance= χ[i]
distance+ (χ[i+1].m - χ[i-1].m) / ( )
Setelah distance metric terbentuk, selanjutnya dapat dibandingkan kedekatan sebuah solusi dengan solusi lainnya. Solusi dengan nilai distance yang kecil berarti lebih ramai daripada solusi yang lain. Untuk itu digunakan Crowded-Comparison Operator sebagai panduan proses seleksi untuk mendapatkan pareto-optimal front yang tersebar merata.
Asumsikan setiap individu i pada populasi mempunyai 2 atribut, yaitu Nondomination rank (i
rank) dan Crowding Distance (i
distance). Maka Deb (2002) mendefinisikan partial order ≺
nsebagai berikut :
i ≺
nj jika (i
rank< j
rank)
atau ((i
rank= j
rank) dan (i
distance> j
distance))
Definisi diatas mempunyai arti jika dua buah solusi berbeda Nondomination rank, maka akan dipilih solusi yang mempunyai rank lebih kecil. Jika solusi mempunyai rank yang sama (berasal dari front yang sama), maka akan dipilih solusi dari daerah yang kurang ramai (distance besar).
Prosedur utama dari algoritma NSGA-II terdiri dari tahapan inisialisasi populasi parent P
osecara acak, kemudian diurutkan berdasarkan tingkatan nondomination (rank/fitness). Awalnya operator binary tournament selection, recombination, dan mutasi akan digunakan untuk menghasilkan populasi offspring (child) Q
o. Tahapan inisialisasi diatas hanya dilakukan sekali, untuk generasi berikutnya akan dilakukan langkah-langkah yang berbeda.
Pertama, populasi R
tdibentuk dari penggabungan populasi P
tdan Q
t. populasi R
tberjumlah 2N. Populasi R
tkemudian diurutkan menurut nilai nondomination sehingga dihasilkan solusi pada front Ƒ
1merupakan solusi terbaik. Jika ukuran Ƒ
1lebih kecil dari N, maka seluruh solusi pada Ƒ
1dimasukkan pada populasi baru P
t+1. Sisa jumlah populasi P
t+1diisikan Ƒ
2,Ƒ
3dan seterusnya. Untuk memenuhi jumlah populasi baru tepat sebanyak N solusi, maka solusi pada front terakhir diurutkan menggunakan operator ≺
n.Algoritma pengulangan utama dari NSGA-II, dirincikan oleh Deb (2002) sebagai berikut :
crowding-distance-assignment(Ƒ
i) hitung crowding-distance di Ƒ
iP
t+1= P
t+1 Ƒ
imasukkan front non-dominated ke-i ke populasi parent
i = i + 1 periksa front berikutnya untuk disertakan
Sort(Ƒ
i, ≺
n) urutkan mengecil menggunakan ≺
nP
t+1= P
t+1 Ƒ
i[1:(N - |P
t+1|)] pilih elemen pertama Ƒ
isebanyak (N-|P
t+1|)
Q
t+1= make-new-pop(P
t+1) gunakan seleksi, crossover dan mutasi untuk menghasilkan populasi baru Q
t+1t = t + 1 increment jumlah generasi
Prosedur NSGA-II diatas dapat digambarkan sebagai berikut :
Gambar 2.4 Prosedur NSGA-II (Deb,2011)
BAB 3
METODE PENELITIAN
Dalam optimasi penjadwalan flow shop mesin produksi akan di bandingkan nilai makespan dan total tardiness sebelum dan sesudah diterapkannya optimasi multi-objective NSGA-II. Secara umum, diagram alir rancangan penelitiannya dapat digambarkan pada Gambar 3.1 dibawah ini.
Pemodelan Sistem
Terapkan Optimasi AOF
Ukur Optimasi AOF
Perbandingan Pengukuran
Kesimpulan
Terapkan Optimasi Multi-Objective : NSGA-II
Ukur Optimasi Multi-Obective : NSGA-II
Gambar 3.1 Diagram Alir Rancangan Penelitian
3.1. Pengumpulan Data
Untuk menguji sistem, data yang diujikan berupa data sekunder yang diperoleh dari http://www.upv.es/gio/rruiz yang terdiri dari 110 instance kasus data yang akan diujikan.
Tabel 3.1 Tabel Data Penjadwalan Mesin Produksi
Job/Mesin M
1M
2M
3M
4.... M
nDue-
Date
J
120 1 4 62 .... 80 5
J
230 20 50 60 .... 70 7
.... .... .... .... .... .... .... ....
J
n12 7 1 56 .... 100 30
Data-data tersebut diselanjutnya akan digunakan untuk memodelkan sistem dan diproses dengan menggunakan algoritma Multi-objective : NSGA-II.
3.2. Pemodelan Sistem
Untuk mendapatkan solusi yang optimal dengan algoritma multi-objective NSGA-II, maka permasalahan penjadwalan mesin produksi flow shop akan dimodelkan secara matematis dalam bentuk persamaan multi-objective yang terdiri beberapa fungsi objektif dan pembatas.
Persamaan multi-objective terdiri dari dua buah fungsi objektif yaitu fungsi yang memformulasikan nilai makespan, serta fungsi yang memformulasikan total tardiness.
Selain itu perlu untuk mendefinisikan variabel solusi yang ingin dihasilkan, sebab optimasi NSGA-II dimulai dengan inisialisasi populasi secara acak sesuai dengan definisi variabel solusi.
3.3. Tahapan NSGA-II
Optimasi Multi-objective : NSGA-II yang digunakan untuk mencari solusi pareto-optimal dari model matematis multi-objective dapat dibagi menjadi tahapan-tahapan sebagai berikut :
1. Inisialisasi Populasi
2. Non-Dominated Sort
3. Crowding Distance 4. Seleksi
5. Operator Genetika a. crossover b. mutasi 6. Rekombinasi
dimana pada beberapa tahapan diatas, akan ditentukan prosedur yang lebih rinci untuk penerapan NSGA-II pada permasalahan penjadwalan mesin produksi flow shop.
Diagram alir secara umum dari NSGA-II ditampilkan dalam Gambar 3.2 dibawah ini.
Start
End Inisialisasi Populasi
Non Dominated Sort
Crowding Distance
Seleksi
Crossover
Mutasi
Rekombinasi
Kondisi berhenti terpenuhi ?
ya
tidak
Gambar 3.2 Diagram Alir Umum NSGA-II
3.4. Pengukuran dan Perbandingan Optimasi Menggunakan NSGA-II
Hasil optimasi multi-objective NSGA-II akan diukur dan dibandingkan dengan hasil optimasi dengan AOF, dengan cara menghitung dan membandingkan hasil dari kedua fungsi objektif yaitu makespan dan total tardiness menggunakan optimasi AOF dengan NSGA-II.
Untuk mengevaluasi kualitas populasi solusi yang dihasilkan oleh NSGA-II, akan digunakan indikator hypervolume (Zitler et al, 1998; Zitler et al, 2002). Indikator hypervolume didefinisikan sebagai volume dari seluruh kemungkinan solusi yang didominasi oleh sekumpulan solusi yang dihasilkan EMO. Semakin besar nilai hypervolume maka semakin baik solusi dari EMO tersebut. Pendekatan Monte Carlo (While et al, 2006) digunakan untuk memperkirakan hypervolume dengan menghitung sekumpulan nilai acak pada ruang solusi yang didominasi oleh solusi dari EMO.
Karena NSGA-II merupakan algoritma stokastik, maka perlu dilakukan analisis statistik dari hasil penelitian yang diperoleh agar hasil tersebut dapat dibandingkan dengan tingkat kepercayaan tertentu. Uji normalitas dan uji homogenitas akan dilakukan terlebih dahulu, agar dapat ditentukan uji selanjutnya untuk membandingkan rata-rata hasil penelitian. Uji normalitas yang digunakan adalah uji Kolmogorov-Smirnov dan uji Shapiro-Wilk, sedangkan uji homogenitas menggunakan uji Levene. Hasil penelitian yang berdistribusi normal dengan variansi yang homogen akan diselesaikan dengan uji ANOVA, sedangkan untuk yang berdistribusi normal dengan variansi tidak homogen maka digunakan uji Welch.
Khusus untuk hasil penelitian yang tidak berdistribusi normal maka dilakukan uji
Kruskal-Wallis.
BAB 4
HASIL PENELITIAN DAN PEMBAHASAN
4.1. Model Matematis
Yagmahan dan Yenisey (2009) telah memformulasikan permasalahan minimasi makespan dengan model matematis sebagai berikut :
M(S) = C
m,n(4.1)
C
m,n= max {C
m-1,n, C
m,n-1} + t
m,n(4.2) Dimana :
M(S) = makespan (waktu untuk memproses seluruh job hingga selesai) C
m,n= waktu komplit (completion time) job ke - m pada mesin ke – n t
m,n= waktu proses untuk job m pada mesin n
m = jumlah total job dalam penjadwalan n = jumlah total mesin dalam penjadwalan
selain memformulasikan makespan, Franca et.al (2000) memformulasikan permasalahan minimasi total tardiness dengan model matematis sebagai berikut :
[0, C
i–d
i] (4.3)
Dimana :
T = total tardiness (total waktu terlambat suatu job dapat diselesaikan lebih cepat dari due-date-nya)
C
i= waktu komplit dimana seluruh mesin menyelesaikan suatu proses pada job i
Sehingga dari persamaan (4.1) sampai dengan persamaan (4.3) dapat dimodelkan menjadi sebuah permasalahan multi-objective dengan model matematis sebagai berikut :
Min Z
M= max{C
m-1,n, C
m,n-1} + t
m,nMin Z
T[0, C
i–d
i] Dimana :
(4.4)
m = jumlah total job dalam penjadwalan n = jumlah total mesin dalam penjadwalan
t
m,n= waktu proses untuk job ke-m pada mesin ke-n
C
i= waktu komplit dimana semua mesin menyelesaikan suatu proses pada job i (i =1,..., m); .
4.2. Implementasi Tahapan NSGA-II
Optimasi multi-objective NSGA-II yang digunakan untuk mencari solusi model matematis dari Persamaan (4.4) terbagi atas beberapa tahapan sebagai berikut :
1. Inisialisasi Populasi
Populasi diinisialisasi secara acak, namun harus tetap mematuhi kaidah pembatas dari model matematis.
2. Non-Dominated Sort
Populasi yang telah diinisialisasi lalu diurutkan berdasarkan non domination menggunakan algoritma Fast Non-dominated Sorting yang didefinisikan oleh Deb (2002) sebagai berikut :
Untuk setiap individu p di populasi P, dilakukan :
- Inisialisasi S
p= . Himpunan ini akan berisi semua individu yang didominasi oleh p.
- Inisialisasi n
p= 0. Menunjukkan jumlah individu yang mendominasi individu p.
- Untuk setiap individu q di P
Jika p mendominasi q maka tambahkan q ke himpunan S
p. (S
p=S
pq)
Jika q mendominasi p maka increment counter dominasi n
p. (n
p=n
p+1)
- Jika n
p= 0 berarti tidak ada individu yang mendominasi p sehingga p berada di front pertama; Beri nilai peringkat p menjadi satu (p
rank= 1). Tambahkan p ke front pertama (Ƒ
1= Ƒ
1 {p})
Inisialisasi counter front dengan satu (i=1)
Selama front yang ke-i tidak kosong (Ƒ
i≠ ), lakukan :
- Q = berikutnya yang mendominasi q, sehingga nilai q
rank= i + 1. Tambahkan q ke Q (Q=Qq).
- increment couter front dengan satu (i=i+1) - Q menjadi front berikutnya (Ƒ
i= Q) 3. Crowding Distance
Crowding distance digunakan sebagai pembanding antara dua individu dalam front yang sama, agar solusi yang dihasilkan dapat mewakili keseluruhan solusi pareto-optimal.
Cara untuk menghitung crowding distance didefiniskan oleh Deb (2002) adalah sebagai berikut :
Untuk setiap individu pada front Ƒ
i, dengan n adalah jumlah individu - Inisialisasi jarak dengan nol untuk semua individu (Ƒ
i(d
j)=0),
dimana j menunjukkan individu ke-j pada front Ƒ
i- Untuk setiap fungsi tujuan m
Urutkan individu di front Ƒ
iberdasarkan nilai obyektif m
Beri nilai tak terhingga untuk jarak individu pertama dan terakhir (I(d
1)= dan I(d
n)=)
Untuk k mulai dari 2 sampai (n-1)
I(d
k) = I(d
k) +
I(k).m adalah nilai obyektif m untuk individu k pada I 4. Seleksi
Digunakan adalah Roulette Wheel Selection. Pada metode roda rolet kromosom orang tua (parents) yang akan dipindah-silangkan dipilih berdasarkan nilai fitnessnya. Nilai fitness dari masing-masing kromosom dibagi dengan total nilai fitness seluruh kromosom yang ada pada populasi.
Setiap kromosom dianggap merupakan potongan/bagian dari roda rolet
dengan ukuran potongan yang proporsional dengan nilai fitnessnya. Suatu nilai target antara angka nol dan angka satu ditetapkan secara acak.
Kemudian roda rolet diputar sebanyak N kali, dimana N adalah jumlah individual atau kromosom dalam populasi. Dari setiap putaran, kromosom dengan nilai fitness yang berada di bawah nilai target dipilih untuk menjadi parents bagi generasi berikutnya (Azmi et.al).
5. Operator Genetika
Operator genetika yang digunakan adalah Precedence Preservative Crossover (PPX) untuk crossover dan operator mutasi adalah remove dan insert mutasi. PPX (Ginting, 2009) dapat dijelaskan sebagai berikut :
a. String baru disusun secara acak dari allele string induk.
b. Angka acak 1 atau 2 dipakai untuk memilih induk.
c. Jika 1 diturunkan allele paling kiri dari induk pertama, jika 2 diturunkan allele paling kiri dari induk kedua. Selanjutnya terpilih tadi dihapus dari kedua induk.
d. Proses dilakukan sampai karakter di kedua induk habis.
Sebagai contoh 2 induk ABCDEF dan CABFDE, dan angka acak 121122, akan menghasilkan string baru ACBDFE.
Pada remove dan insert mutasi, satu locus dipilih secara acak dan karakter diposisi tersebut di hapus. Satu locus baru dipilih, dan karakter yang telah dihapus tadi disisipkan.
6. Rekombinasi
Populasi hasil crossover dan mutasi kemudian dikombinasikan dengan populasi induk yang kemudian dipilih dengan Non-Dominated Sort dan Crowding Distance untuk mendapatkan populasi generasi berikutnya.
4.3 Hasil Penelitian
4.3 Hasil Penelitian
Dalam dokumen
OPTIMASI MULTI-OBJECTIVE MENGGUNAKAN NSGA-II DALAM PENJADWALAN MESIN PRODUKSI FLOW SHOP
(Halaman 19-0)