Kalkulasi Waktu Penyelesaian Pesanan
Pada T=3, job 9 selesai. Job yang akan diproses berikutnya adalah job 10 pada mesin C1.
6. Hitung waktu penyelesaian job i yang telah ditugaskan terhadap satu mesin, shg :
C
i,1, k
= waktu selesai job sebelumnya pada mesin tsb + min t
ei,1, k
Waktu selesai job 10 C10
,1, 3
= 3 + 5 = 8 7. Cek apakah i=n dan k=n ? Jika tidak, kembali ke langkah 3. Jika ya,
penempatan job-job pada stage 1 selesai. Job urutan ke-4 adalah job 6. Job 6 tidak diproses pada salah satu mesin,
tapi disubkontrakkan dengan waktu 24 jam, sehingga waktu penyelesaian job 6 di stage 1 C
6,1, 4
= 0 + 24 = 24. Urutan pada urutan ke 5, 6 dan 7 berturut-turut adalah job 4, 1, 3. Ketiga
job ini disubkontrakkan diasumsikan pada pemasok yang berbeda sehingga bisa langsung diproses pada T=0. Waktu penyelesaian ketiga
job adalah : Job 4 C
4,1, 5
= 0 + 24 = 24 Job 1 C
1,1, 6
= 0 + 24 = 24 Job C
3,1, 7
= 0 + 24 = 24 Urutan ke-8 adalah job 7 pada mesin C2 dengan t = 4,9. Waktu
penyelesaian job 7 adalah : Job C
7,1, 8
= 3,9 + 4,9 = 8,8 Urutan ke-9 adalah job 8 pada mesin C2 dengan t = 1,8. Job 8 baru bisa
diproses setelah job 7 selesai diproses pada mesin C2, sehingga waktu penyelesaian job 8 adalah :
Job C
8,1, 9
= 8,8 + 1,8 = 10,6 Job 5 dan11 yang berada pada urutan berikutnya dan menggunakan
mesin yang sama, yaitu C2 diselesaikan dengan cara yang sama dengan job 8. Hasil penjadwalan semua pesanan pada stage 1 dapat dilihat pada
Tabel 32.
Tabel 32 Waktu penyelesaian pada stage 1
Job J Stage 1 S1
Mesin Waktu
Start Finish
9 C1
3,0 0,0
3,0 2
C2 3,9
0,0 3,9
10 C1
5,0 3,0
8,0 6
K 0,0
24,0 24,0
4 K
0,0 24,0
24,0 1
K 0,0
24,0 24,0
3 K
0,0 24,0
24,0 7
C2 4,9
3,9 8,8
8 C2
1,8 8,8
10,6 5
C2 12,6
10,6 23,2
11 C2
7,9 23,2
31,1 Langkah-langkah perhitungan waktu penyelesaian setiap job pada
kromosom 18 di stage 2 sampai stage 4 adalah : 1. Untuk stage j=2,...,4, urutkan job i berdasarkan waktu selesai terkecil pada
stage sebelumnya C
i,j-1, k
dimana i = 1,....n, sehingga diperoleh urutan ke k dimana k = 1,...n.
Urutan job yang akan dikerjakan pada stage 2 berdasarkan waktu selesai finish dari stage 1 adalah : 9, 2, 10, 7, 8, 5, 6, 4, 1, 3, 11
2. Untuk job i yang berada pada urutan pertama 1 stage j, pilih mesin eligible ei,j, 1 yg tersedia dengan waktu proses terkecil min t
ei,j, 1
dimana e
i,j, 1,
M
j
. Job pertama adalah job 9 yang diproses pada mesin P3 dengan waktu
14,5 jam Tabel 32 3. Hitung waktu selesai job i, stage j pada urutan 1
C
i,j, 1
= C
i,j-1, 1
+ min t
ei,j, 1,
Jika tidak ada mesin eligible yang tersedia job tidak diproses di j=1, set C
i,j, 1
= C
i,j-1, 1
Jika job i pada stage j urutan 1 disubkontrakkan dalam waktu t = tc
i,j
, maka set C
i,j, 1
= C
i,j-1, 1
+ tc
i,j
Pada contoh kromosom 18, waktu selesai job 9 pada stage 2 adalah C
9,2, 1
= C
9,1, 1
+ min t
e9,2, 1,
= 3 + 14,5 = 17,5
Tabel 33 Waktu proses pada stage 2
No No.
Job Waktu Proses jam
P1 P2
P3 K
1 Job 1
13,0 2
Job 2 34,3
44,0 3
Job 3 14,0
4 Job 4
22,0 5
Job 5 38,2
48,6 6
Job 6 14,5
7 Job 7
38,2 8
Job 8 72,0
9 Job 9
14,5 10
Job 10 17,0
11 Job 11
21,6 27,1
4. Cek apakah masih ada mesin tersisa pada stage j M
j
≠0. Jika masih ada mesin tersisa, tugaskan job pada urutan berikutnya k untuk diproses pada
t =0, jika tidak tunggu sampai ada mesin yang selesai berproses. Urutan berikutnya adalah job 2 yang bisa diproses pada mesin P1 atau
P2. Karena lebih dari satu mesin yang tersedia, maka job 2 bisa diproses pada mesin yang memiliki waktu terkecil, yaitu mesin P1 34,3 jam.
Waktu selesai job 2 pada stage 2 adalah : C
2,2, 2
= C
2,1, 2
+ min t
e9,2, 2
= 3,9 + 34,3 = 38,2 5. Jika ada mesin selesai berproses, tugaskan job pada urutan berikutnya
k+1 pada mesin tersebut, jika job yang berada pada k+1 tidak sesuai dengan mesin yang tersedia, maka penugasan bisa diberikan pada job urutan
berikutnya k+2 dst. 6. Jika job i pada stage j urutan k disubkontrakkan dalam waktu t = tc
i,j
, maka set C
i,j, k
= C
i,j-1, k
+ tc
i,j
7. Hitung waktu penyelesaian job i yang telah ditugaskan terhadap satu mesin finish time, shg
C
i,j, k
= max {C
iL,j, kL
, C
i,,j-1, k
} + min t
ei,j, k
Urutan berikutnya adalah job 10 yang diproses pada mesin P3 dengan waktu 17,0. Job 10 ini hanya dapat diproses setelah job 9 yang juga
menggunakan mesin P3 selesai diproses pada jam ke 17,5. Waktu selesai job 10 pada mesin P3 adalah :
C
10,2, 3
= max {C
10,2, 1
, C
10,,1, 3
} + min t
e10,2, 3
= max {17; 8,0} + 17,5 =34,5 Urutan ke-4 adalah job 7 yang hanya bisa diproses pada mesin P2 dengan
waktu 38,2 jam. Karena mesin P2 belum pernah digunakan oleh job sebelumnya, maka waktu selesai job 4 adalah :
C
7,2, 4
= C
7,1, 4
+ min t
e7,2, 14,
= 8,8 + 38,2 = 47 Urutan ke 5 adalah job 8 yang diproses dengan cara subkontrak selama
72 jam. Waktu penyelesaian job 8 dihitung dengan cara kasus subkontrak seperti yang dijelaskan pada langkah 3, yaitu :
C
8,2, 5
= C
8,1, 5
+ tc
8,2
= 10,6 + 72 = 82,6 Urutan ke-6 adalah job 5 yang diproses pada mesin P1 atau P2. Karena
kedua mesin sedang digunakan ketika job 5 selesai diproses pada stage 1, maka job 5 terpaksa menunggu sampai salah satu mesin selesai. Mesin
yang selesai lebih dulu adalah mesin P1 pada jam ke 38,2, sehingga job 5 diproses pada mesin P1. Waktu penyelesaian pada job 5 adalah :
C
5,2, 6
= max {C
2,2, 2
, C
5,1, 6
} + min t
e5,2, 6
= max {38,2; 23,2} + 38,2 = 76,4 Urutan ke 7 adalah job 6. Mesin yang diperuntukkan untuk job 6 adalah
P3 dengan waktu 14,5. Job 6 harus menunggu job 10 yang berada pada urutan ke-3 selesai diproses pada jam ke 34,5, sehingga waktu
penyelesaian job 6 adalah : C
6,2, 7
= max {C
10,2, 3
, C
6,1, 7
} + min t
e6,2, 7
= max {34,5; 24,0} + 14,5 = 49 Urutan ke-8 adalah job 4 yang diproses pada mesin P3 dengan waktu
22,2 jam. Waktu selesai untuk job ke-8 adalah : C
4,2, 8
= max {C
6,2, 7
, C
4,1, 8
} + min t
e4,1, 8
= max {49; 24,0} + 22,2 = 71 Urutan ke-9 dan ke-10 adalah job 1 dan job 3 yang juga diproses pada
mesin P3, sehingga waktu selesai kedua job ini adalah :
C
1,2, 9
= max {C
4,2, 8
; C
1,1, 9
} + min t
e1,1, 9
= max {71; 24,0} + 13 = 84 C
3,2, 10
= max {C
1,2, 9
; C
3,1, 10
} + min t
e1,1, 9
= max {84; 24,0} + 14 = 98 Urutan ke-11 adalah job 11 yang diproses pada mesin P1 atau P2. Dari
kedua mesin ini yang selesai duluan adalah mesin P2. Mesin P2 selesai memproses job 7 yang berada pada urutan ke-4 pada jam ke 47, sehingga
waktu penyelesaian job 11 di stage 2 adalah : C
11,2, 11
= max {C
7,2, 4
; C
11,2, 11
} + min t
e11,2, 11
= max {47; 31,1} + 27,1 = 74.1 Hasil perhitungan waktu penyelesaian pesanan di stage 2 secara lengkap
dapat dilihat pada Tabel 34.
Tabel 34 Waktu penyelesaian pada stage 2
Job J
Stage 1 S
1
Stage 2 S
2
Finish Urutan Mesin
Waktu Start Finish
9 3,0
1 P3
14,5 3,0
17,5 2
3,9 2
P1 34,3
3,9 38,2
10 8,0
3 P3
17,0 17,5
34,5 6
24,0 7
P3 14,5
34,5 49,0
4 24,0
8 P3
22,0 49,0
71,0 1
24,0 9
P3 13,0
71,0 84,0
3 24,0
10 P3
14,0 84,0
98,0 7
8,8 4
P2 38,2
8,8 47,0
8 10,6
5 K
72,0 10,6
82,6 5
23,2 6
P1 38,2
38,2 76,4
11 31,1
11 P2
27,1 47,0
74,1 8. Cek apakah i=n dan k=n ? Jika tidak, kembali ke langkah 5, jika ya lanjutkan
ke langkah berikutnya. Jika semua job sudah dijadwalkan i=11, dan k=11, maka penjadwalan
job pada stage 2 selesai dan selanjutnya dilakukan penjadwalan pada stage 3. Langkah-langkah penjadwalan pada stage 3 sama dengan stage
2. Waktu proses job pada stage 3 dapat dilihat pada Tabel 35 dan hasil penjadwalan job pada stage 3 ditunjukkan pada Tabel 36.
Tabel 35 Waktu proses pada stage 3
No No.
Job Waktu Proses
D1 D2
D3 K
1 Job 1
15,1 17,7
20,3 2
Job 2 3
Job 3 20,5
23,3 26,3
4 Job 4
70,5 76,7
83,4 5
Job 5 6
Job 6 23,6
26,7 29,9
7 Job 7
150,9 163,8
178,7 8
Job 8 48,0
9 Job 9
25,9 29,2
32,8 10
Job 10 43,7
48,5 53,7
11 Job 11
Tabel 36 Waktu penyelesaian pada stage 3
Job J
Stage 3
Urutan Mesin Waktu Start Finish 9
1 D1
25,9 17,5
43,4 2
3 38,2
10 2
D2 48,5
34,5 83,0
6 5
D3 29,9
49,0 78,9
4 6
D3 83,4
78,9 162,3
1 10
D2 17,7
84,0 101,7
3 11
D2 23,3
101,7 125,0 7
4 D1
150,9 47,0
197,9 8
9 K
48,0 82,6
130,6 5
8 76,4
11 7
74,1
Perbedaan stage 3 dengan stage 2 adalah pada stage 3 terdapat kasus flexible flowshop
. Kasus flexible flowshop dicirikan oleh adanya job-job yang melompati salah satu tahapan, seperti job 2, job 5 dan job 11 pada
stage 3 ini. Waktu penyelesaian untuk job yang tidak melalui suatu stage dihitung seperti yang dijelaskan pada langkah 3. Sebagai contoh, waktu
penyelesaian job 2 pada stage 3 adalah : C
i,j, 1
= C
i,j-1, 1
C
2,3, 3
= C
2,2, 3
= 38,2
Proses perhitungan waktu penyelesaian dilanjutkan sampai stage ke 4 dengan langkah-langkah yang sama dengan stage 2.
Waktu proses pada Stage 4 dapat dilihat pada Tabel 37, dan waktu penyelesaian pada stage 4 dapat dilihat pada Tabel 38.
Tabel 37 Waktu proses pada stage 4
No No.
Job Waktu Proses jam
G1 G2
S M
1 Job 1
3,3 2
Job 2 28,3
11,0 3
Job 3 6,1
3,0 4
Job 4 28,3
11,0 5
Job 5 56,1
6 Job 6
7,4 7
Job 7 56,1
8 Job 8
3,3 2,0
9 Job 9
7,4 3,5
10 Job 10
14,4 6,0
11 Job 11
4,7 Tabel 38 Waktu penyelesaian pada stage 4
Job J
Stage 4
Urutan Mesin Waktu Start Finish 9
2 G1
7,4 43,4
50,8 2
1 G2
11,0 38,2
49,2 10
6 G2
6,0 83,0
89,0 6
5 G1
7,4 132,5 139,9
4 10
G2 11,0
162,3 173,3 1
7 G1
3,3 139,9 143,2
3 8
G2 3,0
125,0 128,0 7
11 G1
56,1 197,9 253,9
8 9
G2 2,0
130,6 132,6 5
4 G1
56,1 76,4
132,5 11
3 S
4,7 74,1
78,8
9. Cek apakah j=4 ? Jika tidak kembali ke langkah 1, jika ya, lanjutkan ke langkah berikutnya
10. Hitung makespan F
i,4,pk
= max C
i,4,pk
Makespan adalah waktu penyelesaian terbesar dari seluruh job pada stage 4. Pada kromosom 18 ini, waktu penyelesaian terbesar adalah waktu
penyelesaian job 7, yaitu 253,9 jam. Masalah penjadwalan flowshop adalah masalah minimasi makespan, maka
nilai fungsi evaluasi setiap kromosom harus dikonversi ke dalam nilai fitness sehingga kromosom yang lebih fit lebih bugar akan memiliki nilai fitness yang
lebih tinggi. Konversi dilakukan dengan menggunakan fungsi persamaan dibawah ini.
Nilai fitness kromosom 18 = 1253,9 = 0,00394. Berikut ini dapat dilihat source code
untuk perhitungan nilai fitness :
function Fitness = EvalPopx,y x = kueri yang dimasukan
y = populasi u_kromosom = sizey,2;
elemen_1 = x y; for i = 1 : u_kromosom
Fitnessi=elemen_1inormxnormy:,i; end
end
Tabel 39 Nilai makespan populasi pertama generasi pertama
No kromosom
Makespan No
kromosom Makespan
1 292,2204
11 277,8149
2 279,6093
12 292,2204
3 312,0147
13 292,2204
4 323,2092
14 325,0037
5 277,8149
15 262,6164
6 277,8149
16 333,4583
7 272,6501
17 277,8149
8 255,7025
18 253,9081
9 272,6501
19 326,7466
10 277,8149
20 277,8149
Nilai makespan dan nilai fitness dihitung untuk seluruh kromosom yang terdapat pada populasi awal. Pada contoh kasus ini terdapat 20 kromosom yang
harus dihitung nilai makespannya dan nilai fitnessnya. Pada Tabel 38 dan 39 dapat dilihat nilai makespan dan nilai fitness untuk 20 kromosom yang menjadi
anggota populasi pertama.
Tabel 40 Nilai fitness populasi pertama
No kromosom
Nilai fitness
No kromosom
Nilai fitness
1 0,003422
11 0,0036
2 0,003576
12 0,003422
3 0,003205
13 0,003422
4 0,003094
14 0,003077
5 0,0036
15 0,003808
6 0,0036
16 0,002999
7 0,003668
17 0,0036
8 0,003911
18 0,003938
9 0,003668
19 0,00306
10 0,0036
20 0,0036
Elitisme
Nilai evaluasi yang dimiliki tiap individu atau kromosom akan diurutkan untuk mengetahui kromosom yang memiliki nilai terbaik. Kromosom dengan nilai
terbaik tersebut akan disalin atau disimpan agar tidak rusak akibat proses genetik Suyanto 2005. Jumlah kromosom yang digunakan pada percobaan ini sebanyak
2 nilai terbaik. Source code untuk proses elitisme adalah sebagai berikut :
[sortFit m] = sortFitness,descend; a = sizem,2;
elit_1 = Populasim1,:; elit_2 = Populasim2,:;
TemPopulasi1,: = elit_1; TemPopulasi2,: = elit_2;
Seleksi Kromosom
Seleksi adalah proses memilih individu pada populasi yang memiliki nilai evaluasi baik untuk dilanjutkan ke proses pindah silang dan mutasi Cox
2005. Proses seleksi yang digunakan adalah roullete wheel atau tournament selection
.
Roulette wheel
Seleksi dilakukan dengan cara mengambil nilai acak antara nilai minimum dan maksimum evaluasi tiap generasi. Jika nilai tersebut lebih kecil dari nilai
probabilitas kumulatif maka kromosom yang ditunjuk akan dipilih sebagai kromosom induk.
Tahap awal dari roulette wheel adalah dengan menghitung probabilitas seleksi dengan rumus:
Probabilitas seleksi kumulatif q
k
untuk setiap kromosom V
k
:
Algoritma seleksi sebagai berikut: Langkah 1 : Bangkitkan bilangan acak r antara [0,1]
Langkah 2 : Jika r ≤ q
1
, pilih kromosom V
1
, kalau tidak pilih kromosom k dengan ketentuan :
V
k
2 ≤ k ≤ Pop.Size dan
q
k-1
≤ r ≤ q
k
Kromosom yang memiliki nilai evaluasi yang besar atau mendekati 1 akan memiliki kemungkinan terpilih yang lebih besar sebagai populasi baru untuk
proses genetik selanjutnya. Hal tersebut menyebabkan kromosom akan terpilih lebih dari satu kali. Source Code untuk seleksi kromosom dengan roulette wheel
adalah :
function newPop = RouletteWheelPopulasiAwal,Fitness Jum_Krom=sizePopulasiAwal,1;
total_eval = sumFitness; prob = Fitnesstotal_eval;
prob = sortcumsumprob; a = minprob;
b = maxprob; RN=rand1,Jum_Krom a+b+0.001-a;
fitIn = 1; newIn = 1;
newPop = PopulasiAwal; while newIn = Jum_Krom fitIn =Jum_Krom
if RNnewIn = probfitIn newPopnewIn,:=PopulasiAwalfitIn,:;
newIn=newIn+1; fitIn = 1;
else fitIn=fitIn+1;
end end
Tournament Selection
Proses seleksi dengan menggunakan sistem turnamen antara beberapa individu yang dipilih secara acak dari populasi. Pemenang turnamen yang
memiliki nilai fitness terbaik dari dua individu yang dipilih secara acak akan digunakan sebagai induk untuk melakukan pindah silang dengan peluang seleksi
turnamen yang digunakan pt = 0.8 Wahde Sandberg 2010. Dengan peluang 1 - pt untuk individu yang memiliki fitness jelek untuk dipilih. Source code untuk
seleksi turnamen adalah sebagai berikut :
function newPop = tournament PopulasiAwal,Fitness, jmlpop = sizePopulasiAwal,1;
pt = 0.8; for i = 1:jmlpop
iTmp1 = 1 + fixrandjmlpop; iTmp2 = 1 + fixrandjmlpop;
r = rand; if r pt
if FitnessiTmp1 FitnessiTmp2 newPopi,:=PopulasiAwaliTmp1,:;
else newPopi,:=PopulasiAwaliTmp2,:;
end else
if FitnessiTmp1 FitnessiTmp2 newPopi,:=PopulasiAwaliTmp2,:;
else newPopi,:=PopulasiAwaliTmp1,:;
end end
end
Pindah Silang
Pindah silang merupakan proses paling penting dalam GA pada proses genetik. Proses ini melakukan pindah silang antar kromosom induk yang telah
dipilih sebelumnya. Pemilihan antar kromosom induk yang akan dipindahsilang ialah dengan cara mengambil nilai acak yang bernilai lebih kecil dari peluang
pindah silang Pc. Pada contoh kasus penelitian ini, peluang pindah silang yang digunakan sebesar 0.8. Proses pindah silang dapat dilihat pada Gambar 43 .
Mulai Kromosom Induk 1
Kromosom Induk 2 P = rand [0,1]
Pindah Silang P Pc
Selesai
Tidak Ya
Gambar 43 Proses pindah silang. Pada masalah flowshop ini, operator penyilangan yang digunakan adalah
Partially Mapped Crossover PMX. Prosedur penyilangan PMX ini yaitu dimulai
dengan menentukan dua buah titik penyilangan seara acak pada sepasang kromosom induk. Setelah itu elemen kromosom yang terletak diantara kedua titik
tersebut saling dipertukarkan untuk membentuk dua kromosom anak. Kromosom anak yang baru terbentuk kemudian diperiksa kelegalannya. Apabila kromosom
tersebut memiliki elemen yang sama, maka kromosom tersebut dilegalkan berdasarkan kaidah pemetaan. Kaidah ini diperoleh dari hasil penukaran elemen
antar kromosom induk. Source code pemilihan induk parents yang akan di cross over
adalah :
function Pindex = pilihKrosPopulasi,Pc; Pc = peluang pindah silang
Jum_Krom = sizePopulasi,2; j=1;
RN=rand1,Jum_Krom; for i = 1 : Jum_Krom
if RNiPc Pindexj = i;
j=j+1; end
end
Source code untuk proses pindah silang dengan metode PMX diuraikan di
bawah ini :
function Induk = PindahSilangInduk,indeks,JumGen parent = Induk;
u_indeks = sizeindeks,2; u_Induk = sizeInduk,2;
jika banyaknya yang dikros ganjil..maka dikurangi 1 u_indeks = sizeindeks,2;
if modu_indeks,2~=0 u_indeks = u_indeks-1;
end for i = 1 : 2 : u_indeks
a = indeksi; b = indeksi+1;
TP = sort1 + fixrand1,2JumGen-1; temp1=Induka,TP1:TP2
temp2=Indukb,TP1:TP2 Induka,TP1:TP2=temp2;
Indukb,TP1:TP2=temp1; checking legalization
for n=1 : numelInduka,: if n = TP1 n = TP2
else loop = 1;
while loop == 1 [ok idx] = findInduka,n == temp2;
if numelok == 1 Induka,n = temp1idx;
else loop=0;
end end
end end
for n=1 : numelIndukb,: if n = TP1 n = TP2
else loop = 1;
while loop == 1 [ok idx] = findIndukb,n == temp1;
if numelok == 1 Indukb,n = temp2idx;
else loop = 0;
end end
end end
end
Mutasi
Proses mutasi yang digunakan adalah sistem gen dengan nilai gen mutasi yaitu bilangan bulat. Gen akan mengalami perubahan yang berguna untuk mengembalikan
kerusakan gen akibat genetik lainnya Aly 2007. Mutasi yang digunakan dalam masalah flowshop
adalah reciprocal exchange mutation yang merupakan bagian dari swap mutation
. Prosedur mutasinya yaitu dimulai dengan menentukan sebiah posisi secara acak pada kromosom anak yang baru terbentuk hasil pindah silang. Elemen kromosom pada
posisi ini kemudian akan dipertukarkan dengan elemen lain disebelah kanannya. Apabila posisi acak yang diperoleh terletak pada posisi akhir kromosom, maka penukaran elemen
dilakukan dengan elemen yang berada pada posisi awal. Source code mutasi adalah sebagai berikut :
function pop = mutasinewPop,Pmutasi mengalami revisi setelah sidang
[m n] = sizenewPop; banyaknya yang akan termutasi
banyakMutasi = Pmutasimn; for i = 1 : banyakMutasi
x = fix1+m+1-1rand; baris y = fix1+n+1-1rand; kolom
proses pertukaran if y ~= n
temp = newPopx,y; newPopx,y = newPopx,y+1;
newPopx,y+1 = temp; else jika berada diurutan belakang maka dipertukarkan
dengan urutan awal temp = newPopx,y;
newPopx,y = newPopx,1; newPopx,1 = temp;
end end
pop = newPop;
Iterasi Algoritma Genetika
Untuk menjalankan operator genetika diperlukan input berupa cara seleksi kromosom, operator pindah silang crossover, peluang pindah silang Pc,
peluang mutasi Pc, dan jumlah generasi. Pada kasus ini dilakukan beberapa kali percobaan iterasi untuk menghasilkan kromosom dengan nilai makespan yang
paling kecil. Iterasi yang digunakan dalam penelitian ini sebanyak 100 kali. Jika iterasi telah mencapai maksimum yaitu 100 kali, maka proses genetik pada
percobaan ini akan selesai dan menghasilkan populasi yang lebih baik dari sebelumnya.
Gambar 44 Hasil evaluasi waktu penyelesaian pesanan.
Dari beberapa kali percobaan, didapatkan hasil penjadwalan pesanan seperti dapat dilihat pada Gambar 44. Penjadwalan pesanan dilakukan dengan
menggunakan Program Matlab versi 10a. Pada hasil penjadwalan ini maksepan yang dihasilkan adalah 251,7988 jam. Hasil ini diperoleh dengan menggunakan
cara seleksi kromosom Tournament, operator pindah silang PMX, peluang pindah silang sebesar 0,8, peluang mutasi 0,01, dan jumlah generasi 100. Jika jam kerja
diberlakukan sebanyak 1 shift sehari, dimana satu shift sama dengan delapan jam
kerja, maka semua pekerjaan dapat diselesaikan dalam waktu 32,14 hari tanpa memperhitungkan hari libur.
Gambar 45 Urutan job, mesin yang terpilih dan waktu selesai setiap job stage 1 sampai stage 3.
Dari grafik nilai fitness pada Gambar 44 dapat dilihat bahwa nilai fitness maksimum optimal sudah mulai tercapai mendekati generasi ke 25. Sebelumnya
masih terjadi fluktuasi nilai fitness yang disebabkan oleh proses pindah silang dan mutasi yang dilakukan oleh operator genetika. Proses pencarian jadwal urutan
optimum dari suatu kromosom yang terdiri dari 11 gen, membutuhkan ruang pencarian yang sangat besar. Apabila tidak digunakan algoritma genetika, maka
ruang pencarian jadwal optimum ini akan melibatkan alternatif solusi yang sangat banyak. Jumlah alternatif solusi jadwal adalah 39.916.600. Nilai ini merupakan
hasil permutasi dari 11 faktorial, yang merupakan jumlah job yang akan dijadwalkan. Dengan penggunaan algoritma genetika, besarnya area pencarian
jauh berkurang. Dalam kasus ini, jika solusi optimal telah tercapai pada iterasi ke-25, dimana setiap iterasi terdiri dari 20 kromosom, maka besarnya area
pencarian adalah : 20 x 25 = 500 alternatif solusi.
Persentasi area pencarian yang dilakukan oleh GA pada kasus ini dapat dihitung sebagai berikut :
50039.916.600 x 100 = 0,0012 Dari nilai di atas dapat dilihat bahwa algoritma genetika bekerja sangat
efisien. Hanya dengan melakukan pencarian sebesar 0,0012 dari ruang pencarian yang ada, algoritma genetika sudah bisa memperoleh suatu solusi yang
mendekati optimum.
Gambar 46 Urutan job, mesin yang terpilih dan waktu selesai setiap job stage2 sampai stage4.
Disamping memberikan informasi mengenai waktu penyelesaian keseluruhan pekerjaan makespan, pada Gambar 45 dan 46 juga dapat dilihat
waktu penyelesaian setiap pesanan dan mesin-mesin yang digunakan pada setiap stage
oleh masing-masing pesanan. Pesanan yang selesai diproses paling akhir adalah pesanan dus anlene gold pesanan nomor 6, sedangkan pesanan yang
selesai diproses paling awal adalah kotak kamera Canon pesanan nomor 9. Dari hasil penjadwalan juga terlihat bahwa pesanan yang dimulai paling awal belum
tentu selesai diproses paling awal juga. Banyak faktor yang mempengaruhi kecepatan waktu penyelesaian suatu pesanan, antara lain desain dan spesifikasi
produk, jumlah pesanan, urutan proses serta lamanya waktu proses pada setiap mesin.
Gambar 45 memberikan informasi mengenai urutan pekerjaan pesanan yang dikerjakan pada proses corrugating stage 1, proses printing stage2 dan
proses die cut stage 3. Gambar 46 memberikan informasi tambahan mengenai urutan pekerjaan pesanan yang dikerjakan pada proses finishing stage 4.
Sebagai contoh pada Gambar 45 dan 46 terlihat bahwa kotak laptop axioo pesananjob nomor 8 melalui tahapan : 1 stage 1 diproses pada mesin C2, 2
stage 2 disubkontrakkan, 3 stage 3 disubkontrakkan, dan 4 stage 4 diproses pada
mesin G2. Tabel 41 menunjukkan populasi generasi terakhir yang dari hasil seleksi
kromosom, persilangan dan mutasi yang dilakukan oleh operator genetika. Dari beberapa kali percobaan, metode seleksi kromosom dengan cara tournament
memberikan hasil yang lebih baik dibandingkan seleksi dengan cara roda rolet roulette wheel. Hal ini terlihat dari kecepatan untuk mencapai nilai optimum
dan nilai fitness yang dihasilkan.
Tabel 41 Populasi ke-100 Generasi Akhir
No kromo-
som Urutan Pekerjaan Job
1 2
3 3
5 6
7 8
9 10
11 1
2 3
4 5
6 7
8 9
10 11
12 13
14 15
16 17
18 19
20 8
4 6
7 2
3 1
9 11
5 10
4 8
7 6
3 2
1 9
5 11
10 8
4 6
7 3
1 9
2 5
11 10
4 8
6 7
3 1
2 9
5 11
10 8
4 6
7 3
1 2
9 5
11 10
4 8
6 7
3 1
9 2
5 11
10 4
8 6
7 3
9 1
2 5
11 10
4 8
6 7
3 1
9 2
5 10
11 8
4 6
7 3
1 9
2 5
11 10
8 4
6 7
3 1
2 9
5 11
10 8
4 7
6 2
3 1
9 5
11 10
4 8
6 7
2 3
1 9
5 10
11 4
6 8
7 2
3 1
9 5
10 11
8 4
7 6
1 3
9 2
5 11
10 8
4 6
7 3
2 1
9 5
11 10
8 4
6 7
2 3
1 9
5 11
10 8
4 6
7 3
1 9
2 5
10 11
8 4
6 7
3 1
9 2
5 11
10 4
8 6
7 3
1 9
2 5
10 11
8 4
7 6
2 3
1 9
5 11
10
Nilai makespan minimum yang dihasilkan populasi terakhir Tabel 42 memperlihatkan penurunan dibandingkan populasi pertama sebesar 2,11 jam. Hal
ini menunjukkan bahwa algoritma genetika mampu untuk menghasilkan jadwal dan pengurutan produksi yang lebih baik.
Tabel 42 Nilai Makespan Populasi Akhir Generasi ke-100
No kromosom
Makespan No
kromosom Makespan
1 251,799771
11 251,799771
2 251,799771
12 251,799771
3 251,799771
13 251,799771
4 251,799771
14 251,799771
5 251,799771
15 251,799771
6 251,799771
16 251,799771
7 251,799771
17 251,799771
8 251,799771
18 251,799771
9 251,799771
19 251,799771
10 251,799771
20 251,799771
Menghitung Nilai Final Time
Nilai final time adalah waktu penyelesaian paling akhir setelah ditambahkan dengan additional treatment stage 5. Final time diperoleh setelah
operator genetika dijalankan untuk stage 1 sampai stage 4, yang berarti setelah kromosom dengan nilai fitness terbaik ditemukan. Nilai final time dihitung
sebagai berikut : F
i,5,pk
= C
i,4,pk
+ ta
i,pk
Waktu final maksimum setelah ditambahkan waktu untuk perlakuan tambahan stage 5 adalah 257,13 jam.
Kalkulasi waktu penyelesaian pesanan juga dapat dilakukan tanpa menggunakan algoritma genetika GA. Perhitungan tanpa menggunakan GA
dilakukan jika jumlah pesanan sangat sedikit, sehingga penggunaan GA tidak terlalu diperlukan untuk menghasilkan optimalitas dalam penjadwalan pesanan.
Perhitungan waktu penyelesaian tanpa menggunakan GA juga dapat dilakukan atas dasar kebijakan manajemen, seperti memproses pesanan berdasarkan urutan
kedatangan. Namun pemrosesan pesanan berdasarkan urutan kedatangan tidak menjamin bahwa pesanan yang diproses paling awal, akan selesai paling duluan
juga. Sebagai contoh hasil penjadwalan pesanan tanpa menggunakan bantuan
GA, namun diurutkan berdasarkan kedatangan dapat dilihat pada Gambar 47 dan Gambar 48.
Gambar 47 Waktu penyelesaian pesanan pada stage 1 sampai 3.
Pada Gambar 47 dapat dilihat waktu penyelesaian setiap pesanan pada stage 1 sampai stage 3. Sebagai contoh, pesanan nomor 2 dikerjakan pada mesin
C2 stage1, mesin P1 stage2 dan tidak perlu diproses pada stage 3. Waktu penyelesaian pesanan nomor 2 pada stage 1 adalah jam ke 3,9, pada stage 2 pada
jam ke 38,2, dan pada stage 3 juga pada jam ke 38,2 waktu selesai stage 3 sama dengan stage 2 karena pesanan tidak diproses pada stage 3.
Pada Gambar 48 dapat dilihat waktu penyelesaian setiap job pada stage 3, stage 4 dan pada proses perlakukan tambahan additional treatment. Sebagai
contoh pesanan no 2 dikerjakan pada mesin G2 stage 4 dan tidak memerlukan proses perlakuan tambahan. Waktu selesai pada stage 4 adalah pada jam ke 49,2.
Karena pesanan nomor 2 tidak memerlukan perlakuan tambahan, maka waktu selesai proses produksi adalah waktu penyelesaian pada stage 4.
Gambar 48 Waktu penyelesaian pesanan pada stage 2 sampai additional treatment.
Makespan yang dihasilkan dari kalkulasi waktu penyelesaian pesanan tanpa menggunakan GA adalah sebesar 338,1 jam. Nilai ini jauh lebih besar
dibandingkan makespan yang dihasilkan dengan menggunakan GA. Hal ini membuktikan bahwa penjadwalan pesanan dengan menggunakan GA
memberikan hasil yang lebih optimum dibandingkan penjadwalan yang hanya dilakukan berdasarkan urutan kedatangan pesanan.