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:
[email protected],
[email protected]
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 masingmasing 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 MasingMasing Jadwal
Pemilihan Sampel Elite
Pembobotan Sampel Elite
Pembaharuan Parameter Pindah Silang dan Parameter Mutasi
Penghitungan Linier Fitness Ranking
Apakah Sudah Memenuhi Syarat Pemberhentian?
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(Ni+1))=Fmax-(Fmax-Fmin)((i-1)/(N1))………………………..........…(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 : Pi=(1-α)* Pi-1 + α * up…………….(6)
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 25 Aktivitas No. Replikas i 1 2 3 4 5 6 7 8 9 10 Nilai terbaik Ratarata Std. Dev
Durasi 65 65 65 65 65 65 65 65 65 65
HS T(detik ) 34.48 34.04 33.95 34.12 33.01 33.24 33.19 34.2 34.06 34.22
Durasi 65 65 64 65 64 65 65 65 64 65
PSO T(detik ) 34.17 34.18 34.25 34.32 34.57 34.16 34.22 34.1 34.35 34.47
CEGA Durasi T(detik ) 65 27.20 65 25.40 65 25.59 65 20.81 65 27.03 64 25.40 65 27.26 64 72.87 65 20.10 65 24.67
65
33.01
64
34.25
64
25.40
65.2
33.851
64.7
34.279
64.8
29.63
0.42
0.48
0.42
Tabel 2 Tabel perbandingan hasil running 30 aktivitas 30 Aktivitas No. Replikas i 1 2 3 4 5 6 7 8 9 10 Nilai terbaik Ratarata Std. Dev
43 45 45 43 45 43 45 46 45 45
HS T(detik ) 25.06 24.9 25.39 24.47 24.86 24.44 25 24.42 25.56 25.28
43
24.44
43
25
43
45.45
44.5
24.94
44.27
25.20
43
100.19
Durasi
1.08
PSO T(detik ) 46 24.13 46 25.11 43 25.59 46 25.69 43 25.02 43 25.14 46 25.63 43 25.14 45 25.75 43 25
Durasi
1.50
CEGA Durasi T(detik ) 43 176.78 43 84.75 43 92.46 43 141 43 53.98 43 182.37 43 45.51 43 45.45 43 68.59 43 111.01
0
Tabel 3 Tabel perbandingan hasil running 60 aktivitas No. Replikas i 1 2 3 4 5 6 7 8 9 10 Nilai terbaik Ratarata Std. Dev
60 Aktivitas
77 77 77 77 77 77 77 77 77 77
HS T(detik ) 405.98 389.56 393.56 427.19 392.11 389.28 418.5 395.27 388.61 395.64
77
388.61
77
392.30
77
123.43
77
399.57
78.4
403.69
77
209.61
Durasi
0
PSO T(detik ) 80 391.52 80 406.53 79 420.72 77 400.11 77 394.16 81 405.58 77 400.92 77 424.92 77 400.11 79 392.30
Durasi
1.58
CEGA Durasi T(detik ) 77 154.05 77 226.14 77 388.56 77 155.12 77 157.10 77 276.79 77 184.28 77 123.43 77 245.98 77 185.46
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. 205216. 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 resourceconstrained project scheduling’.Intern Jour of Proj Manage, 24, pp. 83–92.