Seminar Nasional Teknologi Industri 2010
ISBN : 978-979-18265-2-5
PENGGABUNGAN ANT SYSTEM ALGORITHM DAN GENETIC ALGORITHM DALAM PENGATURAN JADUAL KULIAH Djasli Djamarus Informatics Department Trisakti University Jakarta 11440, Indonesia Email:
[email protected],
[email protected] ABSTRAK Makalah ini membahas teknik penggabungan (hibridisasi) Genetic Algorithm and Ant System Algorithm untuk dipergunakan dalam mengatur jadual perkuliahan yang memperhatikan waktu dan keahlian dosen untuk mengajar. Masalah pengaturan jadual dimodelkan sebagai masalah pencarian sejumlah tuple, masing-masing terdiri atas mata kuliah, dosen, slot waktu dan ruang yang tidak saling konflik.Dalam penggabungan ini, Ant System Algorithm dipergunakan untuk menyusun populasi awal secara konstruktif, sedangkan Genetic Algorithm dipergunakan untuk mencari solusi terbaik secara iteratif. Selain itu Ant System juga dipergunakan untuk meningkatkan kualitas individu dalam proses mutasi. Kata kunci: Ant System Algorithm, Course Timetabling Problem, Genetic Algorithm, Hybrid, Meta-heuristic . I.
PENDAHULUAN Berdasarkan jenisnya, penjadualan pada suatu institusi pendidikan dapat dibedakan menjadi tiga yaitu penjadualan mata pelajaran di sekolah-sekolah menengah, penjadualan ujian dan penjadualan mata kuliah di perguruan tinggi [12]. Penyusunan jadual perkuliahan merupakan kegiatan untuk menghasilkan jadual kegiatan akademik mingguan di suatu perguruan tinggi yang menggunakan sistem kredit semester (SKS). Penyusunan jadual ini dapat dibedakan menjadi dua pendekatan yaitu pendekatan yang lebih memperhatikan keinginan peserta didik untuk menjalani pendidikan dan pendekatan yang lebih memperhatikan kesediaan dosen untuk melaksanakan perkuliahan [6]. Pada pendekatan pertama terlebih dahulu disusun kelas-kelas yang akan diisi oleh mahasiswa. Selanjutnya kelas-kelas yang telah berisi mahasiswa tersebut akan dalokasikan waktu dan tempat pelaksanaan perkuliahannya, sedemikian rupa sehingga tak ada mahasiswa yang harus berada di dua kelas dalam saat yang sama. Pada pendekatan kedua disusun suatu jadual yang tak ada bentrok baik dalam penugasan dosen maupun penggunaan ruang, untuk kemudian jadual tersebut ditawarkan kepada mahasiswa Dalam hal ini mahasiswa bertanggung jawab atas rencana kegiatan yang disusunnya. Mengingat pengaturan jadual dengan pendekatan ini akan akan mengatur beban dan waktu penugasan dosen, maka pendekatan ini dapat juga dikatakan pengaturan jadual dosen [2].
Meskipun hampir setiap institusi akademik pada setiap awal periode pengajaran melakukan proses penjadualan kegiatan akademik secara berkala, namun sangat jarang pelaksanaan pekerjaan tersebut dilakukan dengan menggunakan suatu sistem yang dilengkapi program computer yang dapat menghasilkan jadual yang dapat langsung terpakai. Selain daripada masalah manajemen, yaitu belum adanya standar prosedur yang disepakati bersama, masalah penjadualan itu sendiri ternyata merupakan suatu masalah yang termasuk dalam kategori NP (Non deterministic Polynomial) complete, dimana untuk sejumlah data tertentu akan diperlukan waktu yang sangat lama untuk menghasilkan jadual akademik sebagai keluaran dari suatu program komputer. Hal ini juga berarti bahwa belum ada algoritme yang secara general dapat menyelesaikan masalah ini. Selain itu implementasi penjadualan kuliah, pada umumnya berbeda-beda antara institusi yang satu dengan institusi yang lain. Dalam makalah ini dibahas upaya penyusunan jadual matakuliah dengan pendekatan kedua, yang dalam operasionalnya banyak mempunyai kemudahan. Berdasarkan hal tersebut maka penjadualan matakuliah dapat dilihat sebagai upaya penyusunan sejumlah tuple dari empat entitas <matakuliah, dosen, waktu kuliah, ruang kuliah> yang merepresentasikan kelas dari suatu mata kuliah, untuk kemudian ditawarkan kepada mahasiswa. Masalah penjadualan kuliah dengan model ini pada prinsipnya akan mencari suatu kombinasi dari sejumlah tuple <matakuliah, dosen, waktu kuliah, ruang kuliah> yang memenuhi syarat bersifat
TIF 14 - 1
Seminar Nasional Teknologi Industri 2010
ISBN : 978-979-18265-2-5
keharusan (hard constrant) dan sebanyak mungkin memenuhi syarat yang bersifat keinginan (soft constrant). Dalam dunia komputasi masalah yang demikian dikelompokkan pada kelompok masalah yang disebut NP Problem. Sebagaimana masalah lain yang termasuk dalam kelompok NP Problem, permasalahan pengaturan jadual ini telah banyak dicoba untuk diselesaikan dengan algoritme yang bersifat stokastik, seperti tabu serach (TS), simulated annealing (SA), genetic algorithm (GA) dan ant system algorithm (ASA). Pada umumnya algoritme tersebut akan akan melakukan sejumlah iterasi dimana pada setiap iterasi diperlukan arahan heuristic yang berbeda pada setiap kasus untuk membawa algoritme meta-heuristic tersebut kepada solusi yang dicari. Karena hal tersebut algoritme-algoritme tersebut juga dikatakan sebagai algoritme meta-heuristic. Makalah ini merupakan laporan penelitian dalam upaya penyusunan jadual matakuliah dengan suatu algoritme gabungan yang terdiri atas GA dan ASA, yang terdiri atas kajian mengenai GA, kajian mengenai ASA, rancangan model algoritme gabungan dari algoritme yang bentuk dari kedua algoritme metaheuristic tersebut. II. GENETIC ALGORITHM GA merupakan satu diantara algoritme metaheuristic yang diinspirasikan dari fenomena alam. Dengan mengikuti teori evolusi makhluk hidup, GA merepresentasikan kemungkinan solusi masalah sebagai individu yang terdiri atas sejumlah chromosome yang merepresentasikan komponen penyusun solusi tersebut. Karakteristik individu (kemungkinan solusi), diukur dengan nilai kebugaran (fitness value) individu yang merepresentasikan seberapa banyak penyimpangan kemungkinan solusi tersebut terhadap solusi ideal yang diinginkan. Perubahan individu yang juga berarti munculnya kemungkinan baru solusi, dihasilkan dari serangkaian proses utama pada GA yaitu reproduksi (reproduction), persilangan (cross over) dan mutasi (mutation). Proses reproduksi akan mengubah komposisi populasi dengan individu-individu yang lebih bugar, yaitu dengan cara menduplikasikan individu yang lebih bugar dan membuang individu yang kurang bugar. Proses persilangan akan menghasilkan dua individu yang berbeda karena pertukaran silang beberapa chromosome dari dua individu asal sebelumnya. Dari proses ini diharapkan individu yang lebih bugar menjadi tambah bugar, sebaliknya yang kurang bugar menjadi semakin kurang bugar. Proses perubahan lainnya akan mengubah individu tertentu menjadi individu lain akibat perubahan chromosome yang terjadi pada individu tersebut. Agar proses evolusi dapat berjalan, GA memerlukan beberapa individu awal sebagai populasi,
yang terus menerus akan diperbaiki kebugarannya. Karena hal tersebut GA ini dikelompokkan sebagai algoritme yang melakukan pencarian solusi dengan cara perbaikan (improvement approach). Secara global pseudocode dari GA dapat dituliskan sebagai berikut: 01: 02: 03: 04: 05: 06: 07:
Buat populasi random Pilih kemungkinan solusi Lakukan reproduksi Lakukan persilangan Lakukan mutasi Pilih individu terbugar Jika individu terbugar lebih baik dari kemungkinan solusi, ganti kemungkinan solusi dengan individu terbugar 08: Jika kriteria henti belum terpenuhi kembali ke 03 Dalam hal ini kriteria henti adalah waktu yang diberikan untuk melakukan iterasi atau kebugaran individu telah sesuai dengan yang diinginkan. GA telah banyak dipergunakan oleh peneliti untuk menyelesaiakan masalah NP Problem, dalam masalah penjadualan antara lain adalah pembuatan jadual pelatihan [5][9], pembuatan jadual kelas sekolah [3], pembuatan jadual ujian [15], maupun penjadualan kuliah [1][10][11]. III. ANT SYSTEM ALGORITHM ASA yang diperkenalkan oleh diinspirasikan oleh cara kerja sekumpulan semut bekerja sama dalam mencari jalur terpendek yang harus ditempuhnya ketika mengumpulkan makanan bagi komunitasnya [4]. Dalam melakukan kerjasamanya ini semut berkomunikasi dengan menggunakan suatu zat kimia yang disebut pheromone. Setiap kali seekor semut melalui suatu lintasan maka sepanjang lintasan itu akan ditinggalkan sejumlah pheromone yang berfungsi mengajak semut yang lain untuk mengikuti jejaknya. Bila saja ada beberapa kemungkinan lintasan yang dapat dilalui dari suatu lokasi makanan ke sarang semut tersebut, pada awalnya setiap lintasan tersebut akan dilalui oleh semut-semut tersebut bolak-balik dalam jumlah yang relative sama. Karena pada setiap gerakannya semut meninggalkan zat yang disebut pheromone sebagai tanda jejak yang akan diikuti temannya, maka dengan berjalannya waktu, lintasan terpendek akan dilalui lebih sering, sehingga semakin lama akan semakin tinggi konsentrasi yang ada pada lintasan tersebut. Hal ini juga berarti lintasan tersebut semakin menarik bagi semut-semut yang lain. Pada akhirnya, karena pengaruh konsentrasi pheromone tersebut, maka hanya lintasan terpendeklah yang akan dilalui oleh semut. Gambar 1 memperlihatkan skema percobaan yang dilakukan untuk memperlihatkan cara
TIF 14 - 2
Seminar Nasional Teknologi Industri 2010
ISBN : 978-979-18265-2-5
kerja sekumpulan semut dalam mendapatkan jalur terpendek dari dua buah jalur yang ada. Berbeda dengan GA, pencarian solusi dengan ASA tidak memerlukan solusi awal, tetapi algoritme ini membangun kemungkinan-kemungkinan solusi dengan mengumpulkan elemen-elemen yang membangunnya berdasar jalur pheromone yang terbentuk oleh pergerakan semut. Karena hal tersebut, maka ASA dikelompokkan sebagai algoritme yang membangun solusi dengan cara pengumpulan elemennya (constructive approach). ASA telah berhasil dipergunakan oleh berbagai penelitian untuk menyelesaikan berbagai masalah dalam kelas NP, dalam domain penjadualan antara lain adalah untuk penjadualan ujian [7][8] juga penjadualan kuliah [13].
Secara global pseudocode dari ASA dapat dituliskan sebagai berikut: 01: Inisialiasi parameter dan jalur pheromone 02: Bangun solusi-solusi dengan pergerakan semut 03: Lakukan modifikasi jalur pheromone 04: Lakukan aksi global untuk pencarian solusi terbaik dan persiapan langkah berikutnya 05: Jika kriteria henti belum terpenuhi kembali ke 02 Seperti halnya pada GA, kriteria henti adalah waktu yang diberikan untuk melakukan iterasi atau solusi diusulkan telah sesuai dengan yang diinginkan.
Gambar 1. Cara kerja sama semut sebagai inspirasi dari Ant System Algorithm [4]
Hybridization
Low Level
Low Level Relay
High Level
Low Level Co-evolutionary
High Level Relay
TIF 14 - 3
High Level Co-evolutionary
Seminar Nasional Teknologi Industri 2010
ISBN : 978-979-18265-2-5
Gambar 2. Kategorisasi Algoritme hibrid [14]
IV. RANCANGAN ALGORITME GABUNGAN Penggabungan (hibridisasi) algoritme dapat dilakukan dengan melihat level partisipasi dan kemudian cara penempatan hibridisasi algoritme tersebut [14]. Dilihat dari level partisipasinya hibridisasi algoritme dapat dibedakan menjadi level rendah dan level tinggi, sedangkan dilihat dari penempatan algoritme menjadi hibridisai relay dan ko-evolusi (co-evolutionary). Dengan demikian akan terdapat empat kemungkinan hibridisasi dari dua buah algoritme, yaitu hibridisasi relay pada level rendah, hibridisasi ko-evolusi pada level rendah, hibridisasi relay pada level tinggi dan hibridisasi relay pada level tinggi seperti terlihat pada Gambar 2.
Dengan melihat masing-masing keunggulan GA yang mencari solusi dengan pendekatan perbaikan (improvement approach) yang memerlukan solusi awal dan ASA yang menyusun solusi secara bertahap (constructive approach) yang tidak memerlukan solusi awal, maka pada penelitian ini kedua algoritme akan digabungkan menjadi suatu algoritme gabungan (hybrid algorithm) yang memanfaatkan keunggulan masing-masing algoritme pembangunnya. Dengan melihat bahwa GA memerlukan solusi awal yang juga akan berpengaruh solusi akhir yang diusulkan, maka ASA yang dapat membangun usulan solusi dari elemen-elemennya dapat dipergunakan untuk membuat solusi-solusi awal yang diperlukan tersebut.
GA (Improvement)
ASA (Construction) Inisialisasi Populasi
Reproduksi
Silang
Mutasi (ASA)
Gambar 3. Schema hibridisasi
Gambar 4. Populasi sebagai kumpulan individu
Selanjutnya mengingat pada proses mutasi GA juga diperlukan pencarian individu yang hanya berbeda beberapa chromosome yang menyusunnya, maka dalam proses ini ASA yang dapat mencari
elemen penyusun solusi dengan heuristic tertentu, tentu dapat dipergunakan untuk proses mutasi tersebut. Berdasarkan hal tersebut dalam penelitian ini dirancang suatu algoritme gabungan (hybrid
TIF 14 - 4
Seminar Nasional Teknologi Industri 2010
ISBN : 978-979-18265-2-5
algorithm) yang menggabungkan ASA dengan GA baik dalam bentuk relay pada level tinggi level tinggi, sebagai penyusun individu awal, maupun ko-evolusi pada level rendah dalam proses mutasi. Secara diagram algoritme hybrid yang dikembangkan dalam penelitian ini dapat dilihat pada Gambar 3. Berdasarkan hal tersebut, maka dalam algoritme gabungan ini struktur data yang digunakan adalah seperti pada Gambar 4, dimana populasi merupakan suatu array yang terdiri atas sekumpulan individu yang tersusun atas chromosome yang mempunyai mempunyai struktur seperti Gambar 5.
Gambar 5. Chromomose
V. PENUTUP Penggabungan antara GA denga ASA, merupakan penggabungan dua buah algoritme metaheuristic yang bersifat komplementer. Pada satu sisi kebutuhan GA untuk mendapatkan populasi awal yang baik dapat dilakukan dengan ASA, yang mempunyai rata-rata nilai kebugaran yang lebih baik. Hal ini diharapkan dapat membawa GA pada solusi yang diinginkan dalam waktu yang lebih cepat. Sifat ASA yang membangun solusi dari komponen ke komponen juga dapat dimanfaatkan oleh GA untuk memperbaiki proses mutasi, agar pada setiap mutasi yang dilakukan dapat terbentuk individu dengan nilai kebugaran yang lebih baik. Namun demikian untuk mendapatkan hasil yang diinginkan perlu diatur parameter-parameter yang dipergunakan dengan memperhatikan factor-faktor heuristic yang dapat membawa algoritme tersebut ke solusi yang diinginkan secara lebih cepat DAFTAR PUSTAKA [1] Bambrick, L. (1997). Lecture timetabling using genetic algorithms. Brisbane: The University of Queensland. [2] Bardadym, V. A. (1995). Computer-Aided School and University Timetabling: The New Wave. First International Conference on the Practice and Theory of Automated Timetabling (ICPTAT '95).
[3] Colorni, A., Dorigo, M., & Maniezzo, V. (1990). A Genetic Algorithm To Solve The Timetable Problem. Milano, Italy: Politecnico di Milano, Italy. [4] Colorni, A., Dorigo, M., & Maniezzo, V. (1992). Distributed Optimization by Ant Colony. First European Conference on Artificial Life. [5] Derigs, U., & Jenal, O. (2005). A GA-based decision support system for professional course scheduling at Ford Service Organisation. OR Spectrum , 27, 147 – 162. [6] Djamarus, D. (2009). Enhancement of Ant System Algorithm for Course Timetabling Problem. Kedah: Universiti Utara Malaysia. [7] Dowsland, K. A., & Thompson, J. M. (2005). Ant colony optimization for the examination scheduling problem. Journal of the Operational Research Society , 56, 426 – 438. [8] Eley, M. (2006). Ant algorithms for the exam timetabling problem. International Conference on Practice and Theory of Automated Timetabling (PATAT 2006). Brno. [9] Kanoh, H., Kondo, M., & Sugimoto, M. (2002). Solving Timetabling Problems using Genetic Algorithms Based on Minimizing Conflict Heuristics. Evolutionary Methods for Design, Optimisation and Control. Barcelona. [10] Lee, H. S., & Hermosilla, A. Y. (2000). Timetabling Highly Constrained System via Genetic Algorithms. Third Asian Mathematical Conference, (pp. 301 - 317). Diliman, Philippines. [11] Rossi-Doria, O., & Paechter, B. (2004). A memetic algorithm for University Course Timetabling. [12] Schaerf, A. (1999). A Survey of Automated Timetabling. Artificial Intelligence Review. 13 (2), 87 - 127. [13] Socha, K., Knowles, J., & Sampels, M. (2002). A max-min ant system for the university course timetabling problem. ANTS 2002 – Third International Workshop on Ant Algorithms. [14] Talbi, E. (2002). A Taxonomy of Hybrid Metaheuristics. Journal of Heuristics , 8 (5), 541 – 564. [15] Terashima-Marin, H., Ross, P., & ValenzuelaRendon, M. (1999). Evolution of Constraint Satisfaction Strategies in Examination Timetabling. Genetic and Evolurionary Computation Conference (GECC099).
TIF 14 - 5