PENGEMBANGAN CROSS ENTROPY-GENETIC ALGORITHM (CEGA) PADA PENJADWALAN MODEL FLOW SHOP UNTUK MEMINIMALKAN MAKESPAN
Dian Setiya Widodo (1), Nuzullis Lailatul Kamaliyah (2) 1, 2
Dosen Teknik Manufaktur Politeknik 17 Agustus 1945 Surabaya
Abstrak
Penjadwalan flow shop merupakan salah satu model penjadwalan yang pasti ada pada industri, salah satu permasalahan yang menarik dalam penjadwalan adalah Job Sequencing dan makespan. Ada beberapa metode telah digunakan dalam memecahkan masalah ini, baik dengan metode pemrograman klasik seperti integer programming maupun metaheuristic. Cross entropy, sebagai metode metaheuristik baru, bisa menjadi metode alternatif untuk mendekati masalah Job Sequencing dan makespan. Metode ini telah digunakan untuk simulasi kejadian langka (rare-event), lalu dikembangkan untuk beberapa kasus seperti optimasi kombinatorial, optimasi kontinyu, machine leaarning, dan beberapa kasus lain. Makalah ini menerapkan metode cross entropy yang dikombinasikan dengan algoritma genetika (cross entropy-genetic algorithm (CEGA)) pada mesin kasus flow shop untuk meminimalkan makespan. Hasil penelitian menunjukkan bahwa CEGA memberikan makespan dan waktu komputasi yang baik serta dapat dijadikan sebagai alternatif dalam penyelesaian penjadwalan.
Kata Kunci:
Penjadwalan, Job Sequencing, makespan, cross entropy, genetic algorithm, flow shop
Abstract
Flow shop scheduling is one of the exact scheduling models in the industry, one of the interesting issues in scheduling is Job Sequencing and makespan. There are several methods have been used in solving this problem, either with classical programming methods such as integer programming or metaheuristic. Cross entropy, as a new metaheuristic method, can be an alternative method to approach Job Sequencing and makespan problems. This method has been used for the simulation of rare events, then developed for several cases such as combinatorial optimization, continuous optimization, machine leaarning, and several other cases. This paper applies cross entropy method combined with cross entropy-genetic algorithm (CEGA) in flow case machine to minimize makespa. The results show that CEGA provides makespan and computation time is good and can be used as an alternative in the completion of scheduling.
Keywords:
Scheduling, Job Sequencing, makespan, cross entropy, genetic algorithm, flow shop.
I. PENDAHULUAN
Job Sequencing merupakan suatu pengurutan pekerjaan, dimana kombinasi
urutan-urutan tersebut diukur berdasarkan performanya. Job Sequencing ini merupakan salah satu
performa penjadwalan supaya mendapatkan urutan pekerjaan yang optimal adalah dengan
meminimalkan total waktu penyelesaian serangkaian job (makespan).
Pada industri manufaktur, tujuan penjadwalan ialah untuk meminimalkan waktu dan
biaya produksi, dengan cara mengatur apa yang harus dibuat, kapan, dengan pekerja yang
mana, dan menggunakan alat apa. Penjadwalan produksi memiliki peranan penting untuk
memaksimalkan efisiensi operasional dan mengurangi biaya. Salah satu permasalahan yang
menarik dalam penjadwalan adalah Job Sequencing dan makespan.
Pengertian penjadwalan merupakan pengaturan waktu dari suatu kegiatan operasi,
penjadwalan mencakup kegiatan mengalokasikan fasilitas, peralatan ataupun tenaga kerja
bagi suatu kegiatan operasi dan menentukan urutan pelaksanaan kegiatan operasi (Herjanto,
E., 2001). Penjadwalan diperlukan ketika beberapa pekerjaan harus diproses pada suatu
mesin tertentu yang tidak bisa memproses lebih dari satu pekerjaan pada saat yang sama.
Penjadwalan yang baik akan memaksimumkan efektivitas pemanfaatan setiap sumber daya
yang ada, sehingga penjadwalan merupakan kegiatan yang penting dalam perencanaan dan
pengendalian produksi. Penjadwalan (schedulling) meliputi pengalokasian beban kerja, untuk
menspesifikasikan work center, dan menentukan urutan-uratan atau skuens dimana kegiatan
operasi dijalankan (Assauri, S., 2016).
Salah satu metode yang dapat dipakai dalam penjadwalan yaitu dengan pendekatan
metaheuristik, yaitu metode yan mampu mencari solusi dengan pendekatan komputasi yang
nantinya akan didapatkan penjadwalan optimal, metode metaheuristik salah satu diantaranya
yaitu algoritma cross entropy dan genetic algorithm (Santosa dan Willy, 2011). Dalam
penelitian ini akan dilakukan pengembangan algoritma cross entropy-genetic algorithm
(CEGA). Tujuan pengembangan ini adalah memperluas pencarian solusi pada sampel elit
Cross Entropy (CE) ketika berada di lokal optimal dengan menambahkan mekanisme pindah
silang dan mutasi pada Algoritma Genetika (AG), hal tersebut berfungsi menghindari
kemungkinan pencarian solusi terjebak di area lokal optimal karena mekanisme GA dapat
menghasilkan kromosom baru yang memiliki sifat tetap menjaga nature kromosom pada
populasi awalnya (Widodo, D.S., et.al, 2014).
Dengan melakukan penjadwalan menggunakan algoritma cross entropy-genetic
algorithm (CEGA) akan didapatkan penjadwalan optimal berdasarkan nilai makespan,
sehingga akan meningkatkan efisiensi utilitas produksi yang dihasilkan tentunya akan
II. PERMASALAHAN DAN MODEL MATEMATIS
Penjadwalan flow shop berdasarkan suatu aliran produksi, yang mana mesin-mesin
yang ada disusun sesuai dengan urutan proses produksinya (seri) dan setiap job harus melalui
urutan mesin yang sama (Baker, 1974). Penjadwalan flow shop dapat disebut sebagai
permutation flow shop apabila urutan job yang ada pada tiap mesin tidak berubah.
Penjadwalan flow shop ini memiliki beberapa asumsi, antara lain: Tidak ada 2 operasi pada
job yang sama yang berjalan secara simultan, No pre-emption yang artinya setiap operasi
pada suatu mesin harus dikerjakan sampai selesai sebelum operasi lain terjadi pada mesin
tersebut, No cancellation artinya setiap job harus diproses hingga selesai, Waktu proses untuk
setiap job pada setiap mesin selalu tetap, dan Setiap mesin hanya bisa diproses oleh satu job
dalam waktu yang sama.
Kriteria penyelesaian permasalahan penjadwalan job merupakan indikator kinerja
dari suatu penjadwalan job. Tujuan penjadwalan job di lantai produksi pada umumnya
berorientasi berdasarkan waktu. Berikut akan dijelaskan mengenai beberapa kriteria
penjadwalan yang sering digunakan (Pinedo, 2008).
a. Makespan (Maximum Completion Time)
Makespan adalah salah satu kriteria tujuan yang paling umum digunakan. Makespan
merupakan waktu maksimum penyelesaian keseluruhan pekerjaan (job). Minimasi
makespansecara umum ekuivalen dengan memaksimumkan utilisasi mesin. Minimasi
makespan diformulasikan sebagai berikut:
Cmax= max {Cj}, j = 1, 2, …, n
Di mana Cmax adalah makespan, Cj adalah waktu penyelesaian job di akhir tahap
operasi, sedangkan n adalah jumlah keseluruhan job yang diproses.
b. Lateness
Lateness adalah besar waktu keterlambatanpekerjaan terhadap batas waktu
penyelesaian pekerjaan yang telah ditentukan (due date). Besar waktu lateness merupakan
deviasi antara saat waktu penyelesaian suatu job dengan batas waktu penyelesaian suatu job
(due date). Minimasi besar waktu keterlambatan (lateness) maksimum diformulasikan
sebagai berikut:
Lj= Cj–dj
Lmax= {Lj}
Di mana Lj merupakan besar waktu keterlambatan job j di akhir tahap operasi, dj
adalah batas waktu penyelesaian jobj. Lmax adalah besar waktu keterlambatan maksimum job
c. Maximum Flow Time
Flow time merupakan total waktu yang diperlukan mulai saat pekerjaan dirilis di
lantai produksi sampai dengan pekerjaan selesai diproses ditahap operasi akhir. Dengan kata
lain flow time adalah banyaknya waktu yang diperlukan oleh suatu job untuk berada di lini
produksi. Jika rj = 0, maka flow time identik dengan makespan. Minimasi flow time
maksimum diformulasikan sebagai berikut:
Fj= Cj–rj, j = 1, 2, …, n
Fmax= max {Fj}
Di mana Fjadalah flow time job j di akhir tahap operasi, rj adalah titik waktu saat job j
dirilis di tahap operasi awal lini produksi. Fmax adalah flowtime maksimum di antara
keseluruhan n job di akhir tahap operasi. Apabila flow time diberikan pembobotan, maka
flowtime dibobotkan dengan formulasi sebagai berikut: ∑
Di mana Fw adalah flow time yang dibobotkan, wj adalah nilai bobot bagi Fj.
Sedangkan mean flow time merupakan rata-rata waktu penyelesaian suatu job, dirumuskan
sebagai berikut:
∑
Langkah awal dari tahap penjadwalan adalah mendapatkan model matematis dari
permasalahan yang dikaji. Model matematis untuk kasus meminimasi makespan terdiri dari
fungsi objektif dan fungsi pembatas sebagaimana berikut (Fattahi P. et.al. 2006):
Notasi yang digunakan adalah:
Cj = waktu menyelesaikan job j
Cmax = waktu total yang diperlukan untuk menyelesaikan seluruh job (makespan)
Dimana:
Cmax = ( )
Dengan asumsi dan notasi diatas, permasalahannya adalah bagaimana mencari penjadwalan
yang dapat meminimumkan makespan.
ai,j,h =
ai,j,h,k =
t j,h = waktu mulai proses operasi O j,h
1, jika Oj,h dikerjakan pada mesin i
0, jika sebaliknya
1, jika Oj,h dikerjakan pada mesin i dengan prioritas k
Tmi,k = waktu mulai kerja mesin i dengan prioritas k
Rumus mix integer program dapat diberikan sebagai berikut:
Min Cmax
Subject to:
Cmax t j,hj j=1,…..,n
Tmi,k+pj,h xi,j,h,k Tm i,k+1 i=1,…..,m;j=1,…..,n; h=1,…..,hj-1; k=1,….., ki-1 Tm i,k t j,h+ (1- xi,j,h,k)M i=1,…..,m;j=1,…..,n; h=1,…..,hj; k=1,….., ki
Tm i,k+ (1- xi,j,h,k)M t j,h i=1,…..,m;j=1,…..,n; h=1,…..,hj; k=1,….., ki
xi,j,h,k ai,j,h i=1,…..,m;j=1,…..,n; h=1,…..,hj; k=1,….., ki
∑ ∑ i=1,……,n; k=1,…..,ki
∑ ∑ j=1,……,n; h=1,…..,hj
tj,h 0 j=1,……,n; h=1,…..,hj
xi,j,h,k {0,1} i=1,…..,m;j=1,…..,n; h=1,…..,hj; k=1,….., ki
Nilai tujuan atau fungsi objektif (Pers. 1) merupakan nilai objektif fungsi tujuan yaitu
berdasarkan nilai makespan terkecil, Konstrain (Pers 2) menentukan keterlambatan setiap job.
Konstrain (Pers 3) memaksa setiap job untuk mengikuti urutan operasi yang sudah
ditentukan. Konstrain (Pers 4) menentukan makespan keseluruhan jadwal. Konstrain (Pers 5)
memastikan setiap mesin untuk memproses satu operasi dalam satu waktu. Konstrain (Pers 6)
dan (Pers 7) memastikan setiap operasi O j,h baru dapat dikerjakan pada mesinnya ketika
mesin tersebut dalam status idle dan operasi sebelumnya O j,h-1 yang diproses pada mesin
tersebut selesai. Konstrain (Pers 8) menentukan mesin yang akan mengerjakan setiap operasi.
Konstrain (Pers 9) menempatkan operasi pada sebuah mesin dan mengurutkan operasi
tersebut pada keseluruhan mesin. Konstrain (Pers 10) memastikan setiap operasi dapat
dikerjakan hanya oleh satu mesin dan satu prioritas. Hasil dari xi,j,h,k adalah menempatkan
setiap operasi pada suatu mesin dan mengurutkan operasi tersebut dari keseluruhan mesin
yang ada.
Dari Model matematis diatas selanjutnya dimasukkan kedalam suatu mekanisme
urutan perhitungan algoritma, sehingga dapat menghasilkan solusi optimal dengan
pengolahan waktu yang singkat. Algoritma tersebut adalah gabungan dari dua algoritma yaitu
Algoritma Cross Entropy dan Genetic Algorithm. Setelah didapatkan algoritma yang dirasa
sesuai, dibuat kode pemrograman pada software Matlab untuk melakukan pengujian terhadap
algoritma tersebut.
III. ALGORITMA CROSS ENTROPY-GENETIC ALGORITHM (CEGA)
Berikut ini akan diberikan flowchart pengembangan Algoritma Cross
Entropy-Genetic Algorithm (CEGA) yang diusulkan di kutip dari penelitian yang pernah dilakukan
Mulai
Pembangkitan Random Sampel
Awal (N)
Kriteria Pemberhentian
Terpenuhi Penentuan
Nilai Parameter
Inisial Pembobotan Sample Elit
Perhitungan Fungsi Tujuan
yaitu Meminimalkan
Makespan
Solusi Jadwal Optimal
Selesai
Perhitungan Linier Fitness Rangking (LFR)
Update Parameter Pindah Silang
Penentuan Elitisme
Penentuan Kromosom Induk
Crossover -. 2-pointorder cross over
Mutasi
-. Swap Mutation (menukar), -. Flip Mutation (membalik), -. Slide Mutation (menggeser) Tidak
Ya
Pemilihan Sample Elit
Gambar 1. Flowchart PengembanganAlgoritma CEGA Flow shop
Berikut ini penjelasan Gambar 1. pengembangan Algoritma Cross Entropy dan
Genetic Algorithm yang diusulkan dapat dijelaskan sebagai berikut:
1) Menentukan nilai parameter inisial yang meliputi: jumlah sampel (N), parameter kejarangan (ρ), koefisien kehalusan (α), parameter pindah silang (Pps), dan kriteria
pemberhentian iterasi (β). Berikut ini penjelasan mengenai penentuan parameter inisial: 1. Jumlah sample (N) pada algoritma ini berupa urutan prioritas dari seluruh job yang
akan dijadwalkan. Semakin banyak jumlah job, maka semakin banyak jumlah sampel
awal yang harus dibangkitkan.
2. Parameter kejarangan ρ (rho), merupakan parameter yang digunakan untuk
menentukan banyaknya sampel elit yang akan diambil pada suatu populasi solusi (N).
Nilai yang umum digunakan berkisar antara 1% - 10% (Kroese 2009).
3. Koefisien penghalusan α (alpha), memiliki rentang nilai antara 0<α<1, namun secara
4. Default nilai inisial untuk parameter pindah silang (Pps) adalah 1 (Budiman M.A,
2010).
5. Untuk kriteria pemberhentian (β) adalah aturan yang digunakan untuk menghentikan
iterasi ketika sudah mencapai kondisi tertentu, dimana β merupakan selisih parameter
pindah silang pada iterasi sekarang dan iterasi sebelumnya (Budiman M.A, 2010).
2) Melakukan pembangkitan sampel awal dengan mekanisme random sebanyak N. Diaman
sampel tersebut berupa urutan job sepanjang n.
3) Menghitung nilai fungsi tujuan Z atau C (makespan) merupakan Waktu yang dibutuhkan
untuk menyelesaikan seluruh job mulai dari job 1 sampai ke n dikerjakan sampai selesai.
Sehingga untuk menentukan nilai Z atauC adalah sebagai berikut:
Cmax= max {Cj}, j = 1, 2, …, n
Keterangan:
Cj= flow time
4) Melakukan pengecekan kriteria pemberhentian iterasi (β). Iterasi berhenti apabila nilai selih antara parameter iterasi saat ini dan iterasi sebelumnya lebih kecil dari β batas yang telah ditentukan. Jika demikian maka lanjut ke langkah 5, jika sebaliknya maka lanjut ke
langkah 7.
5) Penampilan hasil akhir berupa nilai urutan job optimal, makespan (Z), jumlah iterasi, dan
waktu komputasi.
6) Selesai
7) Pemilihan sample elit apabila nilai β > batas yang ditetapkan, maka dilakukan seleksi
terhadap populasi untuk mendapatkan sampel elit sejumlah rho (ρ)*N dari jumalah
sampel yang dibangkitkan berdasarkan nilai fungsi tujuan (makespan) dari semua sample
yang telah diurutkan dari terkecil hingga terbesar.
8) Selanjutnya dari perhitungan fungsi tujuan (makespan) sampel elit kemudian melakukan
pembobotan sampel elit dan menghitung Linear Fitness Rangking (LFR). Nilai LFR ini
nantinya akan digunakan dalam menentukan sampel yang akan dijadikan „induk kawin silang‟.
9) Sampel elit kemudian digunakan untuk update parameter pindah silang (Pps) dan mutasi
(Pm) parameter yang baru ini selanjutnya akan digunakan untuk membangkitkan sampel
yang baru yang lebih baik. Untuk update parameter pindah silang menggunakan
Pps(i)=(1-α)*u+(Pps(i+1)*α)
best e
Z Z u
* 2
dimana Ze= objektif pada sampel elite dan Zbest= objektif terbaik pada tiap iterasi.
Sedangkan parameter mutasi (Pm) bernilai setengah dari nilai parameter pindah silang.
2 _ ps P
Pm
10) Elitisme merupakan suatu usaha mempertahankan individu-individu terbaik yang
diperoleh dari sampel yang memiliki nilai terbaik. Hal tersebut dilakukan untuk menjaga
individu terbaik untuk tetap muncul didalam populasi di iterasi berikutnya.
11) Menentukan kromosom induk dengan mekanisme roulettee wheel. Induk pertama dipilih
dari sampel elit yang masing-masing telah diberi bobot dan induk kedua dipilih dari
populasi sampel sebelum dipilih sampel elit dan dibobotkan dengan Linear Fitness
Rangking (LFR).
12) Crossover atau pindah silang (kawin silang), dilakukan untuk mendapatkan kombinasi
yang lebih baik antara satu individu dengan individu lainnya dalam satu populasi. Hal
tersebut dilakukan pada sepasang kromosom induk (induk pertama dan induk kedua).
Induk pertama dipilih dari sampel elit pada iterasi tersebut. Sedangkan induk kedua
diambil dari populasi. Proses pemilihan menggunakan skema rhoulettee wheel. Akan
terjadi pertukaran sebagian gen dari dua kromosom induk. Dengan harapan mendapatkan
kromosom anak dengan komposisi gen yang baik. Metode yang digunakan adalah metoda
2-pointorder cross over.
13) Mutasi dimaksudkan untuk memunculkan individu baru yang berbeda dengan individu
yang sudah ada. Mutasi dilakukan dengan menggunakan tiga mekanisme, yaitu swap
mutation (menukar), flip mutation (membalik), dan slide mutation (menggeser). Di dalam
satu populasi akan terdapat Pm x N populasi yang dimutasi.
14) Kembali ke langkah 3.
Dari hasil inputan parameter diatas maka dalam pengolahan Matlab tersebut akan
menghasilkan Output diantaranya:
Urutan Penjadwalan Job (Job Sequencing) Nilai Makespan terbaik
Waktu komputasi
IV. HASIL EKSPERIMEN
Untuk melakukan pengujian eksperimen Algoritma Cross Entropy- Genetic Algorithm
(CEGA), kedua algoritma ini akan dijalankan pada komputer dengan processor Intel (R) Core
(TM) i5-4460 CPU @ 33,20 GHz 3,20 GHz dan memory RAM 4,00GB, adapun parameter
input yang dipakai dalam mendesain algoritma Cross Entropy-Genetic Algorithm dengan
MATLABsebagai berikut:
Input
Jumlah job sampel yang dibangkitkan (N) = 10
Matrik waktu proses (t)
Parameter kejarangan (rho (ρ)) = 0,07
Koefisien penghalusan (alpha (α)) = 0,9
Jumlah job (b) = 4
Jumlah operasi mesin (d) = 5
Parameter pindah silang (P_ps) = 1
Parameter pemberhentian (beta (β)) = 0,0001
Dalam pengujian eksperimen Algoritma Cross Entropy dan Genetic Algorithm, di
gunakan hasil Data Matrik waktu proses (t) yang merupakan data waktu proses produksi di
CV. Terrano Engineering yang memproduksi proses pembuatan katup pengisian untuk kopi
memakai lima jenis mesin yaitu mesin cutting, mesin bor, mesin wire cut, mesin cnc milling,
dan mesin gerinda. Adapun waktu standar proses yang diperlukan dalam membuat produk
tersebut dapat dilihat pada Table 1. Pemilihan objek penelitian pembuatan katup pengisian
untuk kopi ini didasarkan pada model penjadwalan berdasarkan jenis aliran yang digunakan
sama dengan objek penelitian yang dibahas dalam penelitian ini.
Tabel 1. Data Waktu Standar Proses Mesin
Me sin Cutting
Me sin Bor
Me sin Wire Cut
Me sin CNC Milling
Me sin Ge rinda
1 438 735 3676 0 974
2 1215 1213 3314 1091 918
3 492 795 2419 0 1095
4 1276 1214 3015 750 978
Job Produk ke -i
Waktu Standar Prose s Me sin (De tik)
Keterangan:
Berdasarkan inputan data tersebut, Hasil dari running output program Matlab untuk
permasalahan tersebut dapat dilihat pada Tabel 2. sebagai berikut:
Tabel 2. Hasil Output CEGA Dengan Program Matlab
Running ke -
Hasil Urutan Penjadwalan
Job
Nilai Makespan
(Detik)
Waktu Komputasi
(Detik)
Nomor Iterasi Pemberhentian
Running ke 1 3 – 2 – 4 – 1 14685 0,0468 61
Running ke 2 3 – 2 – 4 – 1 14685 0,0312 61
Running ke 3 3 – 4 – 2 – 1 14685 0,0156 61
Running ke 4 3 – 2 – 4 – 1 14685 0,0156 61
Running ke 5 3 – 4 – 2 – 1 14685 0,0156 61
Dari hasil output Algoritma Cross Entropy- Genetic Algorithm (CEGA) dengan
menggunakan Matlab, telah didapatkan bahwa terdapat dua alternatif dalam pemilihan
penjadwalan job yang optimal berdasarkan fungsi tujuan yaitu Meminimasi Makespan.
Urutan Penjadwalan job optimal yaitu 3 – 2 – 4 – 1 dan 3 – 4 – 2 – 1 yang memiliki nilai
makespan sebesar 14.685 detik.
V. KESIMPULAN
Kesimpulan yang dapat diperoleh dari penelitian ini adalah CEGA dapat digunakan
sebagai alternatif untuk pendekatan penyelesaian penjadwalan flow shop di industri
manufaktur terutama dalam meminimalkan total waktu penyelesaian serangkaian job
(makespan). Keunggulan penggunaan CEGA dengan bantuan Matlab ini akan memberikan
waktu penyelesaian yang cepat karena dibantu secara komputsai.
Sebagai saran untuk penelitian selanjutnya, CEGA sebagai alternatif untuk digunakan
dan dimodifikasi supaya kinerjanya lebih baik terutama jika diterapkan pada kasus ukuran
besar. Di sisi lain, aplikasi algoritma ini pada masalah lainnya juga disarankan.
DAFTAR PUSTAKA
Assauri, Sofjan., 2016, “Manajemen Operasi Produksi Pencapaian Sasaran Organisasi Berkesinambungan”, Edisi 3, PT Raja Grafindo Persada, Jakarta.
Budiman M.A., 2010, “Pendekatan Cross Entropy-Genetic Algorithm Untuk Permasalahan
Penjadwalan Job Shop Tanpa Waktu Tunggu Pada Banyak Mesin”, Surabaya:
Institut Teknologi Sepuluh Nopember.
De Boer., Pieter-Tjerk., Kroese Dirk P., Mannor S., dan Rubinstein R.Y., 2003, “A tutorial
on the Cross-Entropy Method”, Haifa: Department of Industrial Engineering,
Technion – Israel Institute of Technology.
Fattahi P., Mehrabad M.S., Aryanezhad M.B. 2006, „An algorithn for multi objective job shop scheduling‟, Journal of 60 Industrial Engineering International, vol.2, no.3, pp.43- 53.
Herjanto, E., 2001, “Manajemen Produksi dan Operasi”, Edisi ke dua, PT. Gramedia, Jakarta. Kroese, Dirk P. 2009, “Cross-Entropy Method”, Brisbane: Mathematics Department,
Univerisity of Queensland.
Nurkhalida, L., dan Santosa, B., 2012,”Pendekatan Cross Entropy-Genetic Algorithm Pada Permasalahan Multi Objective Job Shop Scheduling”, UPT. Perpustakaan Institut
Teknologi Sepuluh Nopember Surabaya.
Pinedo, Michael L. (2008). Scheduling Theory, Algorithms, and System. New York : Prentice
Hall.
Santosa B., dan Willy, P., 2011, “Metoda Metaheuristik Konsep dan Implementasi”, Guna Widya, Surabaya.
Widodo, D.S., Santoso, P. B., dan Siswanto, E., 2014, Pendekatan Algoritma Cross
Entropy-Genetic Algorithm Untuk Menurunkan Makespan Pada Penjadwalan Flow Shop,