Time Tabling: Ant Colony Optimization (RBAS) Algoritma dan Struktur Data lanjut Time Tabling: Ant Colony Optimization (RBAS)
Time tabling / Penjadwalan Penjadwalan: masalah penentuan beberapa kejadian ke beberapa slot waktu (time tabling) Time tabling di sini adalah untuk masalah optimasi penjadwalan menjadwalkan sesuatu secara cepat dan tepat. Untuk memperoleh jadwal yang cepat dan tepat dibutuhkan suatu cara untuk mengatur jadwal tersebut secara otomatis.
Contoh kasus… Contoh masalah time tabling: Penentuan jadwal kuliah. Penentuan jadwal ujian skripsi. Penentuan jadwal seminar. Penentuan jadwal mengajar: dosen / asisten. Dll… Timetabling memiliki beberapa kendala/batasan yang menyebabkan output yang dihasilkan salah.
Kendala/batasan dalam time tabling Edge Constraint adalah batasan yang mengatur dua kejadian tidak boleh menempati satu slot waktu yang sama. Ordering Constraint adalah batasan dalam menjaga urutan kejadian dalam time tabling. Event Spread Constraint adalah batasan yang mengatur penyebaran kejadian pada suatu time tabling.
… Preset specification and exclusion adalah menentukan terlebih dahulu slot waktu yang akan digunakan oleh suatu kejadian sebelum proses pencarian solusi dilakukan. Capacity Constraint adalah batasan yang berhubungan dengan kapasitas ruangan. Hard and Soft Constraint hard: tidak boleh dilanggar. soft: jika dilanggar masih bisa diterima.
Contoh perangkat lunak Tabler Plus mengisi jadwal secara hirarki (biasa digunakan oleh sekolah dan tempat kursus. Asc Time Tables Time Tabler gratis, tidak disediakan penjadwalan otomatis, tapi hanya melaporkan data ruang, kelas dan pengajar yang jadwalnya bentrok.
Penyelesaian time tabling Dapat digunakan metode-metode optimasi. Dalam matematika simplex Dapat menggunakan algoritma penyelesaian optimasi: Ant Colony Optimization Algoritma Genetik Local Search (Tabu Search)
Algoritma Ant Ditemukan oleh Marco Dorigo (1996) Berdasarkan cara kerja semut dalam membangun jalan untuk mengambil makanan. Jalan yang dibangun adalah jalan terpendek semut buta. :: jika jalur yang diambil lebih pendek, maka jejak semut yang melalui jalur ini akan lebih banyak. Jejak terbanyak pheromones Pheromones terus dibuat sampai menuju tempat tujuan. Algoritma dasar ini Ant Colony Optimization
Komponen dalam Ant Algorithm Colony, ant, route dan pheromones. Colony: sekumpulan tempat yang merupakan tempat asal dan tujuan dari semut. Ant: adalah semut yang akan mencari jalur dari tempat asal ke tujuan. Route: adalah jalur dari tempat asal yang mungkin dapat dituju oleh semut untuk sampai ke tempat tujuan. Pheromones: adalah jalur yang dianggap sebagai jalur optimal dari tempat asal ke tujuan.
contoh
A dan F adalah colony. F-D, D-E, E-B, D-C, C-B, B-A adalah route. d adalah jarak yang ditempuh oleh jalur tersebut. Sebagai contoh, di colony A dan F akan ditempatkan 16 semut untuk masing-masing colony. Langkah-langkah penentuan jalur:
16 semut F akan berjalan ke D dan 16 semut A berjalan ke B. Semut F akan dibagi 2 dengan 8 menuju E dan 8 menuju C, begitu juga untuk semut B. Sehingga pada jalur E dan C masing-masing akan ada 16 semut. Dilihat dari intensitas jalurnya, maka intensitas kemungkinan di jalur E < jalur C.
Setelah dikirimkan semut untuk mencari jalur selama beberapa waktu, maka didapat phenomones: F-D, D-C, C-B dan B-A. Karena pada akhirnya semut-semut yang dikirimkan tadi hanya akan melewati jalur ini.
Algoritma dasar Ant
Setiap colony akan mengirimkan semut untuk memeriksa jalur (generate route and evaluate route) Kemudian akan memeriksa jalur yang akan dijadikan phenomon (evaporate phenomone in trails) Dan menyimpan jalur sebagai phenomones (deposit phemonone on trails)
Perkembangan Ant Algorithm Algoritma Max-Min Ant System (MMAS) dikembangkan oleh Stutzle (1995) semua phonomone disimpan dalam Best-Global Route. Algoritma Rank Based Ant System (RBAS) dikembangkan oleh Bullnheimer (1997) pemberian rangking pada solusi yang ada. Rangking berdasarkan pada kualitas solusi tersebut. setiap iterasi akan mengerjakan sesuai dengan urutan rangking. solusi terbaik akan mengupdate pheromone dan menurunkan jumlahnya secara linear menurut rangking mereka.
RBAS
Penerapan Rank Based Ant System dalam Penjadwalan Penentuanjadwal mengajar untuk dosen, algoritma Ant dapat digambarkan: Colony: adalah slot waktu dan ruang. Ant: adalah dosen. Jalur/route: adalah waktu yang disediakan oleh dosen, kelas dan matakuliah yang diajar oleh dosen serta ruang yang dapat digunakan untuk matakuliah. Pheromone: adalah waktu dan ruang yang sudah dislot untuk dosen dengan matakuliah tertentu dengan menggunakan ranking terkecil.
… Akan digunakan RBAS, karena lebih mudah jika menggunakan rangking untuk setiap kendala/constraint yang akan dimasukkan ke dalam jadwal tersebut.
Komponen RBAS
Algoritma-nya
Tahapan-nya Mengumpulkan ant, route dan colony.
…. Ant yang cocok antara waktu plot dan colony.
…. Setelah ditelusuri, didapatkan hasil: 007 diplot pada colony 07.30 di jalur 1208. 004 diplot pada colony 07.30 di jalur 1209. 005 diplot pada colony 09.15 di jalur 1208. untuk matakuliah KK101 dapat digunakan ruang 1208, 1209 dan 1205
Perjalanan ant berdasarkan rangking: 007, 004 dan 005. Berdasarkan rangking inilah maka 007 yang diprioritaskan pertama menempuh jalur 1208, untuk waktu juga diprioritaskan lebih awal.
Tugas Take Home Carilah jurnal skripsi yang membahas tentang masalah Penjadwalan. Rangkumlah jurnal tersebut menjadi paper yang berisi: Permasalahan yang akan diselesaikan Metode/Algoritma penjadwalan yang digunakan Perhitungan/Tahapan algoritma penjadwalan Kesimpulan Tulis refrensi jurnalnya Dikumpulkan dalam bentuk hard (di-print) pada pertemuan berikutnya di kelas (tidak perlu dijilid). Dikerjakan secara individu.
See You Next Week