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

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.

5

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)
Adalah selisih antara Completion time (Ci) dengan due-date-nya (di). 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.

6

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 :
Subject to gj(x)  0,

m =

1,2,…,M;

j =

1,2,…,J;

hk(x) = 0,

k =


1,2,…,K;

i =

1,2,…,n.

Minimize/Maximize fm(x),

xi(L)  xi  xi(U)

(2.1)

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

7

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

(2.2)

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.

8

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

(iii) Populasi Generasi ke-40

(iv) Populasi Generasi ke-100

Gambar 2.1 Populasi yang dihasilkan pada setiap Generasi EO (Deb, 2011)

9

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.

10

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 np, yaitu
jumlah solusi yang mendominasi solusi p, (2) Sp, yaitu himpunan solusi yang
didominasi solusi p. Penghitungan entitas ini membutuhkan kompleksitas komputasi
sebesar O(MN2).

11

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 :
fast-non-dominated-sort(P )
for each p  P
Sp = 
np = 0
for each q  P
if (p ≺ q) then
jika p mendominasi q
Sp = Sp  {q}
tambahkan q ke himpunan solusi yg didominasi p
else if (q ≺ p) then
np = np + 1
increment jumlah dominasi p
if np = 0 then
p termasuk front pertama
prank = 1
Ƒ1 = Ƒ1  {p}
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 paretooptimal, 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 idistance adalah perkiraan keliling cuboid yang dibentuk oleh
solusi terdekat i sebagaimana disajikan dalam gambar dibawah ini.

12

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 ≺n sebagai berikut :
i ≺n j jika (irank < jrank)

atau ((irank = jrank) dan (idistance > jdistance))

13

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) Qo. Tahapan inisialisasi diatas hanya dilakukan sekali, untuk generasi
berikutnya akan dilakukan langkah-langkah yang berbeda.
Pertama, populasi Rt dibentuk dari penggabungan populasi P t 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 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 :

Rt = Pt  Qt
Ƒ = fast-non-dominated-sort(Rt)

menggabungkan parent dan offspring
Ƒ = (Ƒ1, Ƒ2, …) semua front non-dominated
Rt

P t+1 =  and i = 1
until |P t+1| + | Ƒi|  N
sampai populasi parent terisi
crowding-distance-assignment(Ƒi) hitung crowding-distance di Ƒi
P t+1 = P t+1  Ƒi
masukkan front non-dominated ke-i ke
i= i+1
Sort(Ƒi, ≺n)
P t+1 = P t+1  Ƒi [1:(N - |P t+1|)]
Qt+1 = make-new-pop(P t+1)
t=t+1

populasi parent
periksa front berikutnya untuk disertakan
urutkan mengecil menggunakan ≺n
pilih elemen pertama Ƒi sebanyak (N-|P t+1|)
gunakan seleksi, crossover dan mutasi untuk
menghasilkan populasi baru Q t+1
increment jumlah generasi

14

Prosedur NSGA-II diatas dapat digambarkan sebagai berikut :

Gambar 2.4 Prosedur NSGA-II (Deb,2011)