• Tidak ada hasil yang ditemukan

Optimasi Multi-objective Menggunakan NSGA-II Dalam Penjadwalan Mesin Produksi Flow Shop

N/A
N/A
Protected

Academic year: 2017

Membagikan "Optimasi Multi-objective Menggunakan NSGA-II Dalam Penjadwalan Mesin Produksi Flow Shop"

Copied!
11
0
0

Teks penuh

(1)

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 :

(2)

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 (ti)

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 (di)

Adalah batas waktu di mana operasi terakhir dari suatu job harus selesai. 3. Slack time (SLi)

Adalah waktu tersisa yang muncul akibat dari waktu prosesnya lebih kecil dari due-date-nya.

4. Flow time (Fi)

Adalah rentang waktu antara satu titik di mana tugas tersedia untuk diproses dengan suatu titik ketika tugas tersebut selesai.

5. Completion Time (Ci)

Adalah waktu yang dibutuhkan untuk menyelesaikan job mulai dari saat tersedianya job (t= 0) sampai pada job tersebut selesai dikerjakan.

6. Lateness (Li)

(3)

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 (Mi)

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 fm(x), m = 1,2,…,M; Subject to gj(x)  0, j = 1,2,…,J;

hk(x) = 0, k = 1,2,…,K; xi(L) xi  xi(U) i = 1,2,…,n.

Solusi x Rn adalah vektor dengan n variabel keputusan : x = (x1,x2,…,xn)T.

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

(4)

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  wi  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.

(5)

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 (pc  [0,1]) yang menunjukkan bagian populasi yang diikutsertakan pada crossover. Sementara itu, parameter utama mutasi adalah probabilitas pm 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

(6)

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.

(7)

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)

(8)

Semua solusi di front non-dominated pertama akan mempunyai jumlah dominasi bernilai nol. Selanjutnya untuk setiap solusi dengan np=0 akan ditelusuri semua solusi q yang terdapat pada Sp dan mengurangi jumlah dominasi q (nq) dengan satu. Jika nq 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 for each q  Sp

nq = nq – 1

if nq = 0 then q termasuk front berikutnya

qrank = i + 1 Q = Q  {q} i = i + 1

Ƒi = Q

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).

(9)

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 (irank) dan Crowding Distance (idistance). Maka Deb (2002) mendefinisikan partial order ≺nsebagai berikut :

i ≺n j jika (irank < jrank)

(10)

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 Po secara acak, kemudian diurutkan berdasarkan tingkatan nondomination (rank/fitness). Awalnya operator binary tournament selection, recombination, dan mutasi akan digunakan untuk menghasilkan populasi offspring (child) Qo. Tahapan inisialisasi diatas hanya dilakukan sekali, untuk generasi berikutnya akan dilakukan langkah-langkah yang berbeda.

Pertama, populasi Rt dibentuk dari penggabungan populasi Pt dan Qt. populasi Rt berjumlah 2N. Populasi Rt 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 Pt+1. Sisa jumlah populasi Pt+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 Pt+1 = Pt+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

Pt+1 = Pt+1Ƒi [1:(N - |Pt+1|)] pilih elemen pertama Ƒi sebanyak(N-|Pt+1|) Qt+1 = make-new-pop(Pt+1) gunakan seleksi, crossover dan mutasi untuk

(11)

Prosedur NSGA-II diatas dapat digambarkan sebagai berikut :

Gambar

Gambar 2.1 Populasi yang dihasilkan pada setiap Generasi EO (Deb, 2011)
Gambar 2.2 Skema prosedur Multi-objective Optimization (Deb, 2011)
Gambar 2.3 Perhitungan Crowding-Distance (Deb,2011)
Gambar 2.4 Prosedur NSGA-II (Deb,2011)

Referensi

Dokumen terkait

Sedangkan solusi optimal untuk masalah minimisasi adalah suatu titik pada daerah fisibel dengan nilai fungsi objektif paling kecil.. (Roos

optimal pada optimasi linear adalah suatu titik pada daerah fisibel dengan nilai fungsi objektif paling besar sedangkan untuk masalah minimisasi, solusi optimal pada

Dalam proses pengecatan mobil dengan variasi bentuk mobil yang berbeda di mesin pengecatan yang sama, masih ditemukan waktu menunggu. Maka dibutuhkan solusi optimal untuk

Metode optimasi yang digunakan untuk mencari interval perawatan optimal yang sesuai dengan minimasi fungsi objektif tersebut adalah multiple swarms-modified discrete

Performa dari Hybrid DE untuk menyelesaikan permasalahan penjadwalan flow shop dengan fungsi obyektif total flow time dievaluasi dengan melakukan simulasi

Gabungan populasi induk dengan hasil crossover dan mutasi kemudian dipilih dengan Non-Dominated Sort dan Crowding Distance untuk mendapatkan populasi generasi berikutnya..

dengan menambah variable factor dan fungsi hasil yang lebih dari satu fungsi Dari penelitian ini MOGA NSGA II dapat digunakan untuk dikembangkan jumlah fungsi yang akan dicari

Untuk masalah maksimisasi, solusi optimal pada optimasi linear adalah suatu titik pada daerah fisibel dengan nilai fungsi objektif paling besar sedangkan untuk masalah