BAB 2 LANDASAN TEORI
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
Data yang akan digunakan dalam penelitian adalah data yang diambil dari Eva
Instances: http://www.upv.es/gio/rruiz. Data terdiri dari jumlah job antara 50 sampai
dengan 350 job dan jumlah mesin antara 10 sampai dengan 50 mesin. Dalam
pengujiannya akan diambil beberapa sampel dari masing-masing jumlah job dan
mesinnya. Data-data tersebut kemudian ditabulasikan sesuai format Tabel 3.1.
4.3.1. Optimasi penjadwalan mesin produksi menggunakan AOF
Metode AOF merupakan salah satu cara untuk menghasilkan solusi minimasi makespan dan total tardiness. Pada prinsipnya, metode ini menerapkan optimasi single-objective seperti Algoritma Genetika pada permasalahan multi-objective.
Kedua fungsi objektif pada Persamaan (4.4) digabung menjadi sebuah fungsi objektif yang baru dengan operator penjumlahan (+) dan masing-masing fungsi diberi bobot antara 0 dan 1, dimana jumlah kedua bobot tersebut harus sama dengan 1.
Fungsi objektif baru dari hasil penggabungan dari kedua fungsi objektif.
Persamaan (4.4) adalah : Min Z = * ( max{C
i-1,j, C
i,j-1} + t
i,j) + (1-) * ( [0, c
i–d
i] ) dengan adalah bobot bernilai antara 0 dan 1.
Untuk mengoptimasi Persamaan (4.4) digunakan Algoritma Genetika, dengan penentuan bobot dilakukan melalui penelitian dengan variasi = 0,1, 0,5 dan 0,9 yang datanya ditabulasikan dalam Tabel 4.1 s.d Tabel 4.5 dibawah ini.
Tabel 4.1 Hasil Penelitian AOF Instance I_150_30
Parameter Hasil Penelitian
1 2 3 4 5
Tabel 4.2 Hasil Penelitian AOF Instance I_250_50
Parameter Hasil Penelitian
1 2 3 4 5
Tabel 4.3 Hasil Penelitian AOF Instance I_350_30
Parameter Hasil Penelitian
1 2 3 4 5
0,1
ZM 22934 22673 22861 23155 22936
ZT 1212089 1137686 1187601 1212595 1216452
Jumlah Generasi 300 363 143 308 188
0,5
ZM 22672 22778 22865 23032 23168
ZT 1117144 1151076 1210402 1231133 1208735
Jumlah Generasi 500 356 256 225 252
0,9
ZM 22774 22652 23106 22651 22888
ZT 1203747 1123999 1228483 1172830 1176844
Jumlah Generasi 160 500 82 398 375
Tabel 4.4 Hasil Penelitian AOF Instance I_350_50
Parameter Hasil Penelitian
1 2 3 4 5
0,1
ZM 25243 25284 25435 25451 25518
ZT 2193090 2274710 2232403 2329579 2286649
Jumlah Generasi 263 300 262 219 378
0,5
ZM 25432 25596 25407 25537 25415
ZT 2311256 2254846 2260478 2355096 2236693
Jumlah Generasi 289 282 237 103 244
0,9
ZM 25288 25654 25179 25422 25193
ZT 2241915 2208694 2150877 2309797 2262883
Jumlah Generasi 237 161 318 114 195
Tabel 4.5 Hasil Penelitian AOF Instance I_50_50
Parameter Hasil Penelitian
1 2 3 4 5
Untuk menganalisa hasil penelitian AOF diatas, terlebih dahulu dilakukan uji
normalitas dan uji homogenitas, agar dapat menentukan penggunaan uji yang
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 dibandingkan dengan uji ANOVA, sedangkan untuk yang berdistribusi normal dengan variansi tidak homogen menggunakan uji Welch. Khusus untuk hasil penelitian yang tidak berdistribusi normal maka digunakan uji Kruskal-Wallis.
Perhitungan uji statistik diatas menggunakan bantuan perangkat lunak SPSS, dengan hasil analisa ditabulasikan dalam tabel dibawah ini.
Tabel 4.6 Hasil Uji Normalitas AOF
Instance Alpha Kolmogorov-Smirnov Shapiro-Wilk
Statistic df Sig. Statistic df Sig.
Lanjutan Tabel 4.6 Hasil Uji Normalitas AOF
Instance Alpha Kolmogorov-Smirnov Shapiro-Wilk Statistic df Sig. Statistic df Sig. Shapiro-Wilk, menunjukkan bahwa hasil penelitian AOF untuk ZM, ZT dan Generasi pada = 0,1, 0,5 dan 0,9 berdistribusi normal dengan taraf signifikansi 0,05.
Tabel 4.7 Hasil Uji Homogenitas AOF
Instance Levene Statistic df1 df2 Sig.
Hasil uji homogenitas pada Tabel 4.7 dengan uji Levene, menunjukkan bahwa hasil penelitian AOF untuk ZM, ZT dan Generasi pada = 0,1, 0,5 dan 0,9 mempunyai variansi yang homogen dengan taraf signifikansi 0,05 (kolom Sig. pada tabel 4.6 bernilai lebih besar dari 0,05).
Berdasarkan hasil kedua uji tersebut diatas, hasil ekperimen AOF berdistribusi normal dengan variansi yang homogen, sehingga digunakan uji ANOVA untuk membandingkan nilai rata-rata ZM, ZT dan Generasi pada = 0,1, 0,5 dan 0,9 dengan hasil uji ditabulasikan dalam tabel dibawah ini.
Tabel 4.8 Hasil Uji ANOVA AOF
Groups 232752,800 12 19396,067 Total 234284,400 14
ZT
Between
Groups 307991120,400 2 153995560,200 2,350 0,138 Within
Groups 786520738,000 12 65543394,833 Total 1094511858,400 14
Jumah
Groups 593259,600 12 49438,300 Total 631747,733 14
ZT
Between
Groups 491090575,600 2 245545287,800 0,384 0,689 Within
Groups 7674834746,400 12 639569562,200 Total 8165925322,000 14
Jumlah Generasi
Between
Groups 21612,133 2 10806,067 0,727 0,503 Within
Groups 178319,200 12 14859,933
Total 199931,333 14
Lanjutan Tabel 4.8 Hasil Uji ANOVA AOF
Groups 422279,600 12 35189,967 Total 451427,333 14
ZT
Between
Groups 407911697,200 2 203955848,600 0,125 0,884 Within
Groups 19575430524,400 12 1631285877,033 Total 19983342221,600 14
Jumlah Generasi
Between
Groups 8880,933 2 4440,467 0,257 0,777 Within
Groups 207110,000 12 17259,167 Total 215990,933 14
Groups 238726,800 12 19893,900 Total 283377,600 14
ZT
Between
Groups 6017719418,533 2 3008859709,267 1,044 0,382 Within
Groups 34578944444,400 12 2881578703,700 Total 40596663862,933 14
Jumlah
Groups 47763816,133 2 23881908,067 2,694 0,108 Within
Groups 106388758,800 12 8865729,900 Total 154152574,933 14
Jumlah
Hasil uji ANOVA, menunjukkan bahwa nilai rata-rata ZM, ZT dan Generasi
Hasil uji ANOVA, menunjukkan bahwa nilai rata-rata ZM, ZT dan Generasi
Dalam dokumen
OPTIMASI MULTI-OBJECTIVE MENGGUNAKAN NSGA-II DALAM PENJADWALAN MESIN PRODUKSI FLOW SHOP
(Halaman 22-0)