PENERAPAN ALGORITMA HYBRID CROSS ENTROPY-GENETIC ALGORITHM
DALAM PENYELESAIAN RESOURCE-CONSTRAINED PROJECT SCHEDULING
PROBLEM
Nur Rahmawati dan Budi Santosa
Jurusan Teknik Industri, Fakultas Teknologi Industri, Institut Teknologi Sepuluh Nopember (ITS) Surabaya
Kampus ITS Sukolilo Surabaya 60111 E-mail: ema151@ie.its.ac.id, budi_s@ie.its.ac.id
Abstrak
Resource-Constrained Project Scheduling Problem (RCPSP) adalah masalah penjadwalan proyek dengan sumber daya yang terbatas dan dengan fungsi tujuan minimasi durasi proyek. Tujuan dilakukannya penelitian ini karena problem penjadwalan proyek merupakan problem kombinatorial yang kompleks. Karena semakin banyak aktivitas dan tipe resource yang akan dijadwalkan, maka problem akan semakin sulit untuk dipecahkan. Oleh karena itu, pada penelitian Pada penelitian kali ini digunakan percobaan menggunakan metoda hybrid Cross Entropy-Genetic Algorithm. Berdasarkan percobaan yang telah dilakukan, maka dapat diketahui bahwa metoda CEGA sesuai apabila diterapkan pada kasus penjadwalan proyek dengan sumber daya terbatas. Kualitas solusi yang dihasilkan dengan menggunakan metoda ini dalam hal durasi terbaik, selalu menghasilkan nilai yang sama dengan nilai terbaik yang pernah ditemukan dengan metoda sebelumnya (best known) dengan waktu komputasi yang lebih cepat dari metoda bandingannya pada kasus kecil dan besar.
Kata Kunci : Metaheuristik, Hybrid Cross Entropy-Genetic Algorithm, Resource-Constrained Project Scheduling Problem
Abstract
Resource-Constrained Project Scheduling Problem (RCPSP) is a project scheduling problem with limited resources and with the objective function minimizing the duration of the project. The purpose of this research project because of scheduling problems are complex combinatorial problems. As more and more activities and types of resources that will be scheduled, then the problem will be more difficult to solve. Therefore, in this final study used an experiment using a hybrid method of Genetic Algorithm-Cross Entropy. The experimental result showed that the CEGA method is suitable for scheduling project with limited number of resources. The quality of solutions generated using this method in terms of the best duration, always produces the same value with the best value ever found by previous methods (best known) with a faster computation time than the other method compared on small and large case.
Key Words : Metaheuristik, Hybrid Cross Entropy-Genetic Algorithm, Resource-Constrained Project Scheduling Problem
1. Pendahuluan
Resource-Constrained Project Scheduling Problem (RCPSP) merupakan problem penjadwalan proyek dengan sumber daya yang terbatas. RCPSP adalah masalah kombinatorial yang sulit untuk dipecahkan. Karena dengan bertambahnya jumlah aktivitas proyek, maka problem akan menjadi semakin kompleks. Beberapa pendekatan analitis telah dicoba seperti Dynamic programming (Gavish dan Pirkul 1991), dan Branch and Bound (Stinson 1976) untuk mendapatkan solusi terbaik. Namun pendekatan analitis tidak dapat diterapkan apabila masalah yang diteliti sangat
besar dan kompleks (Lee dan Kim 1996). Oleh karena itu, beberapa metoda lain mulai diusulkan untuk memecahkan masalah tersebut.
Pendekatan pendekatan tradisional seperti Critical Path Methode (CPM) dan Program Evaluation and Review Technique (PERT) dalam penyelesain penjadwalan proyek hanya berfokus pada hubungan antara masing-masing aktivitas tanpa mempertimbangkan keterbatasan sumber daya. Apabila dilakukan penambahan sumber daya pada saat itu, maka biaya tambahan yang akan dikeluarkan oleh perusahaan akan sangat besar.
Metoda heuristik bertujuan untuk menemukan solusi optimal dengan cara yang efisien (Boctor 1990). Sebagian besar metoda heuristik yang telah ada, menggunakan prioritas penyelesaian seperti Shortest activity duration (SAD), minimum late finish time (MILFT), atau minimum total float (MITF) untuk menentukan aktivitas yang harus dijadwalkan terlebih dahulu daripada yang lain. Namun, tidak diketahui mana prioritas yang lebih mendominasi prioritas yang lain atau yang secara konsisten memberikan performansi yang lebih baik dari yang lain (Davis dan Patterson 1975). Oleh karena itu, solusi yang didapatkan sering kali bersifat lokal optimal (Patterson 1984).
Saat ini, penyelesaian RCPSP dengan pendekatan metoda metaheuristik seperti genetic Algorithm (Chan dan Chua 1996), ant colony optimization (Merkle, 2002), particle swarm optimization (Zhang, Li, dan Tam 2006), dan Harmony Search (Setiawan 2010) juga telah dilakukan untuk mendapatkan performasi penyesaian problem yang lebih baik.
Metoda Cross Entropy sebagai salah satu metoda metaheuristik yang relatif baru telah digunakan dalam beberapa permasalahan optimasi kombinatorial, optimasi kontinu, optimasi noisy, dan rare event simulation (Rubinstein dan Kroese 2004). Pada beberapa permasalahan, metoda ini dapat menghasilkan penyelesaian yang cukup optimal dengan perbandingan waktu penghitungan yang relatif lebih singkat, misalnya pada permasalahan Support Vector Machine (Widyarini 2009). Namun algoritma ini memiliki beberapa kelemahan antara lain jumlah populasi yang digunakan harus besar agar dalam populasi yang dibangkitkan tercakup solusi yang optimal. Sebagai konsekuensinya, waktu komputasi yang diperlukan semakin lama. Selain itu, algoritma ini juga memiliki kelemahan lain yaitu masih dimungkinkannya ditemukan solusi yang lebih buruk pada iterasi selanjutnya. Meskipun pada CE terdapat mekanisme updating parameter, namun tidak ada mekanisme pada algoritma ini yang dapat mempertahankan solusi terbaik yang telah ditemukan pada iterasi sebelumnya agar solusi tersebut tidak hilang pada iterasi selanjutnya.
2. Model Permasalahan
Resource-Constrained Project Scheduling Problem (RCPSP) adalah masalah penjadwalan aktivitas-aktivitas pada proyek dimana precedence constraints dan resource constraints harus dipenuhi. Precedence constraints adalah suatu kendala dimana aktivitas pendahulu harus sudah selesai dijadwalkan sebelum aktivitas yang lain dijadwalkan. Sedangkan Resource constraints merupakan suatu kendala dimana sumber daya yang diperlukan oleh setiap aktivitas pada setiap unit waktu tidak boleh melebihi total kapasitas sumber daya yang tersedia. Berikut ini adalah formulasi matematika dari RCPSP dengan fungsi tujuan untuk meminimasi durasi proyek (Patterson 1984) : …………...……(1) Subject to : ; ; ………...(2) ; ; .(3) Dimana :
N = jumlah aktivitas yang terdapat pada proyek = waktu penyelesaian aktivitas i (
)
= durasi aktivitas i = predecessor aktivitas i
= jumlah sumber daya tipe k yang tersedia
( )
K = jumlah tipe sumber daya
= jumlah sumber daya tipe k yang diperlukan oleh aktivitas ke- i
= sekelompok aktivitas yang berjalan pada waktu ke-t
………...(4) = waktu mulai aktivitas i
Persamaan (1) merepresentasikan fungsi tujuan dari RCPSP. Persamaan (2) merepresentasikan precedence constraints. Persamaan (3) merepresentasikan resource constraints.
3. Algoritma yang diusulkan
Pada penelitian ini akan dilakukan suatu pengembangan algoritma dengan pendekatan cross entropy yang digabungkan dengan algoritma genetika (untuk selanjutnya dinamakan cross entropy-genetic algorithm atau CEGA) untuk menyelesaikan permasalahan RCPSP. Karena dengan menggunakan CE
jumlah populasi yang harus dibangkitkan besar, maka pada algoritma CEGA ini, mekanisme pembangkitan populasi pada CE diganti dengan mekanisme pembangkitan populasi pada GA. Selain itu, pada algoritma CEGA ini, dimasukkan mekanisme elitisme yang ada pada GA. Penggabungan kedua algoritma tersebut diharapkan dapat menghilangkan kekurangan pada masing-masing metoda dengan tetap mempertahankan kelebihan pada kedua metode tersebut. Penggunaan pendekatan CEGA dalam menyelesaikan permasalahan RCPSP diharapkan menjadi alternatif untuk menghasilkan jadwal dengan durasi yang optimal.
Secara umum alur algoritma CEGA yang digunakan sebagai metode penyelesaian permasalahan RCPSP ini adalah sebagai berikut: Mulai Penfinisian Input dan Output Pembangkitan Populasi Awal Penghitungan Durasi Masing-Masing Jadwal Pemilihan Sampel Elite Pembaharuan Parameter Pindah Silang dan Parameter Mutasi Apakah Sudah Memenuhi Syarat Pemberhentian? Pembobotan Sampel Elite Penghitungan Linier Fitness Ranking Penentuan Induk Pindah Silang Mutasi Penampilan Hasil Selesai
Gambar 1. Diagram alir Penerapan Algoritma CEGA pada RCPSP
Berikut ini adalah penjelasan diagram alir diatas :
1. Pendefinisian Nilai Input dan Output Input :
Jumlah Aktivitas (n)
Indeks aktivitas. Durasi aktivitas.
Kebutuhan sumber daya oleh tiap aktivitas.
Precedence constraints.
Jumlah sumber daya yang tersedia. Jumlah Populasi yang dibangkkitkan
(N)
(parameter penghalus)
(proporsi sampel elite dari keseluruhan sampel)
Toleransi pemberhentian (β) Output :
Waktu mulai dan selesai Durasi Proyek
Waktu komputasi
2. Penentuan Nilai Parameter Inisial
Nilai parameter yang harus ditentukan diawal adalah :
Jumlah Populasi yang dibangkitkan (N)
Tidak ada aturan khusus pada penentuan jumlah populasi. Namun, apabila jumlah aktivitas proyek semakin banyak maka jumlah populasi yang harus dibangkitkan juga semakin besar. Pada penelitian kali ini jumlah populasi yang dibangkitkan sebesar 300 populasi.
(parameter penghalus)
Parameter penghalus nilainya berada antara 0 – 1, namun secara empiris nilai 0,4 - 0,9 merupakan nilai yang paling optimal (de Boer, 2003). Nilai parameter penghalus yang digunakan adalah 0.9.
(proporsi sampel elite dari keseluruhan sampel)
Pada penelitian sebelumnya, diperoleh nilai yang optimal antara 1% - 10% (Kroese 2009). Pada penelitian kali ini, digunakan sebesar 5%.
Toleransi pemberhentian (β)
Untuk toleransi pemberhentian β, semakin mendekati 0 ( ) solusi yang didapatkan akan semakin baik. Namun, waktu komputasinya akan semakin lama. Pada penelitian ini, nilai β yang digunakan adalah
0,0005. Nilai teresebut didasarkan pada penelitian terdahulu.
Parameter pindah silang (Pps)
Semakin besar nilai parameter pindah silang, maka semakin besar pula probabilitas pasangan induk mengalami pindah silang. Pada penelitian ini, parameter pindah silang yang digunakan adalah 1. Nilai tersebut didasarkan pada penelitian terdahulu (Budiman 2010).
Parameter Mutasi (Pm)
Semakin besar nilai parameter mutasi, maka semakin besar pula probabilitas suatu jadwal mengalami mutasi. Pada penelitian ini, parameter mutasi yang digunakan adalah setengah kali Pps. Nilai tersebut didasarkan pada penelitian terdahulu (Budiman 2010). 3. Pembangkitan Populasi
Populasi yang dibangkitkan di sini adalah merupakan urutan prioritas aktivitas yang terlebih dahulu dijadwalkan. Pembangkitan populasi inisial (iterasi=1) dilakukan dengan menggunakan teknik acak penuh (fully randomized), sedangkan pada pembangkitan populasi setelahnya (iterasi>1) dilakukan dengan menggunakan kaidah algoritma genetika, yakni pindah silang dan mutasi, dengan alur sebagai berikut:
Pembobotan sampel elite
Pembobotan ini diperlukan untuk tahap pemilihan induk pertama, di mana induk pertama akan dipilih dari
sampel elite dengan
mempertimbangkan bobot dari masing-masing urutan pada sampel elite. Adapun aturan pembobotan yang digunakan yakni, jika durasi yang dihasilkan oleh urutan lebih baik daripada durasi terbaik yang pernah dikunjungi pada iterasi sebelumnya, maka bobot yang diberikan adalah senilai banyaknya sampel elite, selebihnya hanya diberi bobot 1. Penghitungan linear fitness ranking
Linear fitness ranking (LFR) dihitung dari perbandingan nilai kesesuaian (fitness) semua sampel yang telah dibangkitkan pada iterasi sebelumnya.
Nilai LFR adalah sebesar LFR(I(N- i+1))=Fmax-(Fmax-Fmin)((i-1)/(N-1))………...…(5) Dengan i merupakan nilai yang berkisar antara 1 sampai dengan jumlah populasi (N), serta I menunjukkan indeks aktivitas pada matriks populasi.
4. Melakukan Penjadwalan Proyek dengan Skema Paralel
Berikut skemanya :
Memilih sebuah aktivitas yang memiliki nilai prioritas yang lebih tinggi daripada yang lain untuk dijadwalkan tanpa melanggar precedence constraints dan resource constraints. Terlebih dahulu cek apakah masih tersedia resource yang cukup untuk melakukan penjadwalan aktivitas baru pada aktivitas sebelumya yang telah dijadwalkan. Menentukan waktu penjadwalan
terbaru dimana waktu ini akan sama dengan waktu penyelesaian paling awal dari aktivitas-aktivitas yang telah dijadwalkan sebelumnya.
Apabila masih terdapat aktivitas yang belum dijadwalkan, maka proses penjadwalan kembali ke langkah 1 hingga diperoleh jadwal proyek. 5. Melakukan Perhitungan Durasi Proyek
Durasi proyek akan secara langsung diperoleh setelah dilakukan penjadwalan proyek dengan skema paralel.
6. Mengurutkan Proyek dengan Durasi yang Terkecil Hingga Terbesar
7. Pemilihan Sampel Elite
Sampel elite dipilih sebanyak [ dari jumlah sampel yang dibangkitkan.
8. Perbaharui parameter pindah silang dan parameter mutasi
Pembaharuan parameter dilakukan dengan menggunakan perbandingan antara rata-rata durasi pada sampel elite dengan 2 kali nilai durasi terbaik pada tiap iterasi. Nilai perbandingan tersebut didefinisikan sebagai up. Parameter pindah silang kemudian diperbaharui dengan menggunakan persamaan :
Sedangkan parameter mutasi nilainya didefinisikan sebagai ½ dari nilai parameter pindah silang
9. Pengecekan terhadap Kriteria Pemberhentian
10. Syarat pemberhentian pada penelitian ini adalah jika selisih antara parameter pindah silang hasil pembaharuan dengan parameter pindah silang sebelumnya lebih kecil dari β. Jika syarat pemberhentian ini terpenuhi, maka hentikan iterasi dan lanjutkan ke langkah berikutnya. Jika tidak, maka ulangi kembali iterasi mulai langkah keempat. 11. Penampilan Hasil
Hasil yang ditampilkan berupa data : Waktu mulai dan selesai tiap aktivitas Durasi Proyek
Waktu komputasi 4. Pengujian Algoritma
Pengujian algoritma dilakukan dengan pembuatan kode pada software Matlab. Kemudian kode tersebut dijalankan pada kasus kecil (6 aktivitas). Spesifikasi computer yang digunakan adalah Intel Core 2 Duo, 1,66 GHz, RAM 1 GB, serta menggunakan software Matlab seri 7.10.
Adapun hasil dari pengujian adalah sebagai berikut :
Tabel 1 Tabel perbandingan hasil running 25 aktivitas No. Replikas i 25 Aktivitas HS PSO CEGA Durasi T(detik ) Durasi T(detik ) Durasi T(detik ) 1 65 34.48 65 34.17 65 27.20 2 65 34.04 65 34.18 65 25.40 3 65 33.95 64 34.25 65 25.59 4 65 34.12 65 34.32 65 20.81 5 65 33.01 64 34.57 65 27.03 6 65 33.24 65 34.16 64 25.40 7 65 33.19 65 34.22 65 27.26 8 65 34.2 65 34.1 64 72.87 9 65 34.06 64 34.35 65 20.10 10 65 34.22 65 34.47 65 24.67 Nilai terbaik 65 33.01 64 34.25 64 25.40 Rata-rata 65.2 33.851 64.7 34.279 64.8 29.63 Std. Dev 0.42 0.48 0.42
Tabel 2 Tabel perbandingan hasil running 30 aktivitas No. Replikas i 30 Aktivitas HS PSO CEGA Durasi T(detik ) Durasi T(detik ) Durasi T(detik ) 1 43 25.06 46 24.13 43 176.78 2 45 24.9 46 25.11 43 84.75 3 45 25.39 43 25.59 43 92.46 4 43 24.47 46 25.69 43 141 5 45 24.86 43 25.02 43 53.98 6 43 24.44 43 25.14 43 182.37 7 45 25 46 25.63 43 45.51 8 46 24.42 43 25.14 43 45.45 9 45 25.56 45 25.75 43 68.59 10 45 25.28 43 25 43 111.01 Nilai terbaik 43 24.44 43 25 43 45.45 Rata-rata 44.5 24.94 44.27 25.20 43 100.19 Std. Dev 1.08 1.50 0
Tabel 3 Tabel perbandingan hasil running 60 aktivitas No. Replikas i 60 Aktivitas HS PSO CEGA Durasi T(detik ) Durasi T(detik ) Durasi T(detik ) 1 77 405.98 80 391.52 77 154.05 2 77 389.56 80 406.53 77 226.14 3 77 393.56 79 420.72 77 388.56 4 77 427.19 77 400.11 77 155.12 5 77 392.11 77 394.16 77 157.10 6 77 389.28 81 405.58 77 276.79 7 77 418.5 77 400.92 77 184.28 8 77 395.27 77 424.92 77 123.43 9 77 388.61 77 400.11 77 245.98 10 77 395.64 79 392.30 77 185.46 Nilai terbaik 77 388.61 77 392.30 77 123.43 Rata-rata 77 399.57 78.4 403.69 77 209.61 Std. Dev 0 1.58 0
Dari hasil running yang telah dilakukan pada problem 25 aktivitas (problem kecil), 30 aktivitas (problem sedang), dan 60 aktivitas (problem besar), didapatkan hasil sebagaimana yang tergambar pada ketiga kurva diatas. Pada problem kecil, algoritma CEGA memiliki performansi yang hampir sama dengan algoritma PSO dalam hal capaian durasi terbaik yang diperoleh (64). Berbeda dengan HS (65) yang menunjukkan capaian durasi terbaik yang lebih buruk. Sedangkan dalam hal waktu komputasi, CEGA menunjukkan hasil yang lebih lama daripada HS maupun PSO. Hal tersebut dikarenakan banyaknya jumlah populasi yang dibangkitkan tiap iterasi pada algoritma CEGA(300) daripada HS (10) dan PSO (10).
Sehingga populasi yang harus dieksekusi pada CEGA lebih banyak. Durasi yang dihasilkan pada problem kecil ini menunjukkan hasil yang fluktuatif pada algoritma PSO dan CEGA. Hal tersebut mungkin dikarenakan kombinasi jadwal yang menghsilkan durasi yang optimal pada problem tersebut sangat sedikit.
Pada problem sedang, CEGA memberikan performasi yang lebih baik dalam hal durasi proyek yang dihasilkan pada tiap replikasi. Durasi yang dihasilkan CEGA lebih stabil (43) daripada HS dan PSO yang fluktuatif. Namun waktu komputasi rata-rata CEGA (100.19) lebih buruk bila dibandingkan dengan HS(24.94) dan PSO (25.20).
Pada problem besar, CEGA dan HS memberikan performansi yang sama dalam hal nilai durasi yang dihasilkan oleh kedua algoritma tersebut yang lebih stabil bila dibandingkan dengan PSO. Namun, dalam hal waktu komputasi, CEGA menunjukkan rata-rata waktu yang lebih cepat bila dibandingkan dengan PSO dan HS.
Dari ketiga problem yang diujikan, terbukti algoritma CEGA selalu dapat menghasilkan durasi yang terbaik, dengan waktu komputasi yang lebih cepat pada problem yang besar. Oleh karena itu, algoritma CEGA dapat diusulkan sebagai salah satu algoritma yang sesuai diterapkan pada kasus RCPSP.
5. Kesimpulan
Metoda CEGA memberikan capaian durasi yang lebih baik dibandingkan dengan metoda HS pada problem kecil (25 aktivitas). Sedangkan pada problem sedang (30 aktivitas) dan besar (60 aktivitas), CEGA menunjukkan hasil durasi yang lebih stabil pada sepuluh replikasi bila dibandingkan dengan HS dan PSO. Metoda CEGA memberikan kualitas hasil capaian durasi terbaik sama seperti durasi terbaik (best known). Oleh karenanya, algoritma ini sesuai diterapkan pada problem RCPSP. Metoda CEGA menunjukkan performansi yang lebih bagus pada problem besar (60 aktivitas), baik dalam hal durasi maupun waktu komputasi daripada HS dan PSO.
Daftar Pustaka
Budiman, MA 2010, ‘Pendekatan cross entrophy-genetic algorithm untuk permasalahan penjadwalan job shop tanpa waktu tunggu pada banyak mesin’, Tugas akhir, Institut Teknologi Sepuluh Nopember, Surabaya.
Chan,WT dan Chua, DKH 1996, ‘Construction resource scheduling with genetic algorithms’, Jour Constr Eng Manage ASCE, 122(2), pp. 125–32.
Davis, EW dan Patterson, JH 1975, ‘A comparison of heuristic and optimum solutions in resource-constrained project scheduling’. Manage Sci, 21, pp. 944– 55.
DeBoer, PT, Kroese, DP, Mannor, S, dan Rubinstein, RY 2003, A tutorial on the cross-entropy method, Technion – Israel Institute of Technology, Haifa.
Fogel, DB 1995, Evolutionary computation toward a new phylosophy of machine intelligence, IEEE press, New York. Gavish, B dan Pirkul, H 1991, ‘Algorithms for
multi-resource generalized assignment problem’, Manage Sci, 37(6), pp. 695– 713.
Kolisch, R dan Sprecher, A 1996, ‘PSPLIB - A Project Scheduling Problem Library’, Euro Jour of Operat Res, 96, pp. 205-216.
Kroese, DP 2009, Cross-Entropy Method, University of Queensland, Brisbane. Lee, JK dan Kim, YD 1996, ‘Search heuristics
for resource constrained project scheduling’, Jour of Operat Res Soc, 47(5), pp.678–89.
Merkle, D, Middendorf, M, dan Schmeck, H 2002, ‘Ant Colony Optimization for Resource-Constrained Project Scheduling’, IEEE Trans on Evolut Comp, 6, pp. 4.
Patterson, J 1984, ‘A comparison of exact procedures for solving the multiple constrained resource project scheduling problem’. Manage Sci, 30, pp.854–67. Rera, GF 2010, ‘Penerapan metode cross
entropy dalam penyelesaian capacitated vehicle routing problem – studi kasus:
distribusi koran jawa pos surabaya’, Tugas akhir, Institut Teknologi Sepuluh Nopember, Surabaya.
Rubinstein, RY dan Kroese, DP 2004, The Cross-entropy method: A unified approach to combinatorial optimization, monte-carlo simulation, and machine learning, Springer Science+Business Media Inc, New York.
Setiawan, A 2010, ‘Penerapan Algoritma Harmony Search Dalam Penyelesaian Resource-Constrained Project Scheduling Problem’, Tugas akhir, Institut Teknologi Sepuluh Nopember, Surabaya.
Stinson JP 1976, ‘A branch and bound algorithm for general class resource-constrained schedulling problem’, PhD thesis, University of North Carolina at Chapel Hill, Chapel Hill.
Wang, G, Gong, W, DeRenzi, B, Kastner, R 2007, ‘Ant colony optimization for resource-constrained project scheduling’, IEEE Trans on Evolut Comp, 6(4), pp.1010-1029.
Widyarini, T 2009, ‘Aplikasi Metode Cross Entropy untuk Support Vector Machines’, Tugas akhir, Institut Teknologi Sepuluh Nopember, Surabaya.
Wikipedia, Genetic Algorithm,
http://en.wikipedia.org/wiki/
Genetic_Algorithm, Diakses pada 18 Juni 2010.
Zhang, H, Li, H, dan Tam, CM 2006, ‘Particle swarm optimization for resource-constrained project scheduling’.Intern Jour of Proj Manage, 24, pp. 83–92.