• Tidak ada hasil yang ditemukan

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

m

yang 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

p

dan mengurangi jumlah dominasi q (n

q

) dengan satu. Jika n

q

ada 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  Ƒ

i

Selain 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

distance

adalah 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 ≺

n

sebagai berikut :

i ≺

n

j 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

o

secara 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

t

dibentuk dari penggabungan populasi P

t

dan Q

t

. populasi R

t

berjumlah 2N. Populasi R

t

kemudian diurutkan menurut nilai nondomination sehingga dihasilkan solusi pada front Ƒ

1

merupakan solusi terbaik. Jika ukuran Ƒ

1

lebih kecil dari N, maka seluruh solusi pada Ƒ

1

dimasukkan pada populasi baru P

t+1

. Sisa jumlah populasi P

t+1

diisikan Ƒ

2,

Ƒ

3

dan 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 Ƒ

i

P

t+1

= P

t+1

 Ƒ

i

masukkan front non-dominated ke-i ke populasi parent

i = i + 1 periksa front berikutnya untuk disertakan

Sort(Ƒ

i

, ≺

n

) urutkan mengecil menggunakan ≺

n

P

t+1

= P

t+1

 Ƒ

i

[1:(N - |P

t+1

|)] pilih elemen pertama Ƒ

i

sebanyak (N-|P

t+1

|)

Q

t+1

= make-new-pop(P

t+1

) gunakan seleksi, crossover dan mutasi untuk menghasilkan populasi baru Q

t+1

t = 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

1

M

2

M

3

M

4

.... M

n

Due-

Date

J

1

20 1 4 62 .... 80 5

J

2

30 20 50 60 .... 70 7

.... .... .... .... .... .... .... ....

J

n

12 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,n

Min 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

p

q)

 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=Qq).

- 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 Ƒ

i

berdasarkan 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

Dokumen terkait