Mewati Ayub1, Andi Irvan Widjaja2
Program Studi Teknik Informatika, Universitas Kristen Maranatha Jl. Prof. Drg. Suria Sumantri 65 Bandung
1mewati.ayub@itmaranatha.org 2andiirvan.w@gmail.com
Abstract — This research shares the aim of a previous research
that developed genetic algorithms in automated session scheduling application. In previous research, the scheduling only involved hard constraints. In this research, besides hard constraints, soft constraints were applied in genetic algorithms to create the schedule. Development and optimization were done to expedite the scheduling process and to improve the resulting schedule. The scheduling process was made to create a schedule that was not only free from clashes but also convenient to be done by people involved in it. Testing was performed based on genetic parameters to obtain optimal schedule. Population size and mutation rate had significant impacts based on the testing results. Trade-offs between soft constraints and hard constraints must also be made to achieve the optimal result.
Keywords— genetic algorithms, hard constraints, scheduling,
soft constraints
I. PENDAHULUAN
Dalam penjadwalan berskala besar yang memerlukan sinkronisasi penggunaan sumber daya, waktu, dan sumber daya manusia, dibutuhkan suatu sistem yang dapat mengatur jadwal sedemikian rupa sehingga dapat menghindari konflik dalam penggunaan sumber daya serta dapat memenuhi batasan-batasan tertentu.
Beberapa penelitian telah dilakukan dalam mencari solusi untuk masalah penjadwalan tersebut, seperti penjadwalan kegiatan belajar mengajar dengan algoritma genetik [2], implementasi algoritma integer linear programming untuk sistem informasi penjadwalan ruangan [1]. Pada penelitian terdahulu [3], algoritma genetik diterapkan dalam penjadwalan sidang Kerja Praktek, Seminar Tugas Akhir, dan Tugas Akhir di suatu perioda dengan mengambil kasus di Fakultas Teknologi Informasi Universitas Kristen Maranatha. Pada saat itu, penelitian [3] hanya melibatkan
hard constraints dalam perhitungan fungsi fitness. Dalam makalah ini akan dibahas penelitian lanjutan dengan melibatkan juga soft constraints dalam perhitungan fungsi
fitness serta meneliti perubahan parameter-parameter algoritma genetik terhadap performa aplikasi dan keoptimalan solusi.
Penelitian ini bertujuan untuk mengoptimalkan penerapan algoritma genetik dalam pencarian solusi untuk masalah penjadwalan sidang, mengingat algoritma genetik
berbasis pencarian lokal yang bergantung pada nilai heuristik [6]. Dari penelitian ini akan diketahui sejauh mana peran soft constraint dalam perbaikan fungsi fitness dan
parameter algoritma genetik apa saja yang dapat memberikan solusi optimal.
II. PENERAPAN ALGORITMA GENETIK
Algoritma genetik merupakan teknik pencarian stokastik yang didasarkan pada mekanisme seleksi alam. Dimulai dengan sekumpulan solusi acak yang disebut dengan populasi. Setiap individu di dalam populasi disebut kromosom yang merupakan sebuah solusi dari persoalan. Kromosom akan berevolusi melalui serangkaian iterasi yang dikenal dengan generasi. Dalam setiap generasi, kromosom dievaluasi menggunakan suatu nilai fitness. Generasi baru diciptakan melalui operasi crossover dan mutasi, hasilnya akan diseleksi berdasarkan nilai fitness. Kromosom dengan nilai fitness terbaik akan membentuk populasi baru. Setelah beberapa generasi, nilai fitness akan konvergen dan
kromosom yang dihasilkan menjadi solusi optimal dari persoalan[4]. Kinerja algoritma genetik ditentukan oleh parameter probabilitas crossover, probabilitas mutasi, dan ukuran populasi [5 ].
Dalam uraian berikut ini akan dipaparkan beberapa hal baru dalam penerapan algoritma genetik yang dilakukan dalam penelitian ini yang merupakan pengembangan dari penelitian sebelumnya.
A. Penanganan Constraint
Pada penelitian yang terdahulu, constraint yang ditangani oleh aplikasi hanya hard constraint. Dalam penelitian ini,
selain hard constraint, soft constraint juga diperhitungkan
dalam penjadwalan. Adapun soft constraint yang akan ditangani adalah:
1. Penyusunan jadwal sidang memperhatikan banyaknya sidang yang dilakukan oleh seorang dosen dalam satu hari.
2. Penyusunan jadwal sidang memperhatikan jeda waktu sidang yang dilakukan oleh seorang dosen dalam satu hari agar dapat dipadatkan.
3. Penyusunan jadwal sidang memperhatikan ruang sidang yang dipakai agar dosen tersebut tidak melakukan terlalu banyak perpindahan ruangan.
4. Penyusunan jadwal sidang memperhatikan keefektifan penggunaan ruang sidang sehingga tidak perlu terlalu banyak ruang sidang yang dipakai.
B. Fungsi Fitness
Pada penelitian ini, terdapat dua fungsi fitness yang digunakan untuk menghitung nilai fitness dari solusi. Fungsi pertama digunakan untuk menghitung nilai fitness
berdasarkan hard constraint, sedangkan fungsi kedua digunakan untuk menghitung nilai fitness berdasarkan soft constraint.
Fungsi fitness untuk menghitung nilai fitness berdasarkan
hard constraints akan memperhitungkan bentrokan- bentrokan yang terjadi pada ruangan dan setiap orang yang terlibat dalam sidang.
Sedangkan fungsi fitness untuk menghitung nilai fitness
berdasarkan soft constraints akan memperhitungkan jeda waktu sidang per dosen perhari, dan penggunaan ruangan untuk sidang. Fungsi ini akan mengurangi nilai fitness untuk
setiap jeda dan penggunaan ruangan yang berbeda untuk setiap dosen.
C. Fungsi Perbaikan
Pada penelitian sebelumnya, fungsi perbaikan jadwal hanya digunakan pada akhir penjadwalan. Untuk mengoptimalkan hasil dari algoritma genetik maka fungsi ini digunakan setiap kali individu baru dibuat. Sehingga bukan hanya memperbaiki jadwal tetapi juga membantu memunculkan individu dan gen-gen baru yang berkualitas untuk diproses lebih lanjut.
D. Proses Seleksi
Proses seleksi pada penelitian ini mengikutsertakan soft
constraint dalam perhitungan fungsi fitness. Karena ada dua fungsi fitness yang dipakai, maka perlu dibuat sebuah rumus yang dapat menghitung total fitness. Total fitness ini yang digunakan dalam proses seleksi untuk setiap individu dalam
populasi. Terdapat tiga buah kandidat rumus yang akan diujicoba dalam penelitian ini, yaitu:
Rumus 1
TotalFitness =
(HardFitness * 100) + (SoftFitness * ConstHFSF) Rumus 2
TotalFitness =
(HardFitness * 100) + (SoftFitness * ConstHFSF / -
(HardFitness)) Rumus 3
TotalFitness = (HardFitness * 100) + (SoftFitness * ConstHFSF / Max(ConstHFSF, -
(HardFitness))
III. IMPLEMENTASI
Pada Gambar 1 ditunjukkan diagram kelas dari kelas- kelas yang dibuat pada awal aplikasi dan digunakan sebagai data referensi, yang terdiri dari kelas Availability, kelas AvailabilitySidang, kelas Scheduling, kelas Mahasiswa, kelas KomponenSidang, kelas Dosen, dan kelas Ruang. Kelas Availability mengandung objek dari komponen lain, digunakan untuk menampung informasi mengenai ketersediaan waktu dari seluruh sidang yang akan dijadwalkan dan semua komponen sidang. Sedangkan kelas Scheduling diperlukan untuk membuat jadwal sementara dari populasi awal dalam proses genetik.
Pada Gambar 2 ditunjukkan diagram kelas dari kelas- kelas dalam proses genetik dari penjadwalan sidang, yang terdiri atas Kelas GenetikProses, kelas Populasi, kelas Individu, dan kelas Kromosom. Kelas GenetikProses mengandung objek dari kelas Populasi. Di dalam objek Populasi terdapat array dari objek Individu yang menyimpan data jadwal sidang dan nilai fitness-nya.
Pengoptimalan Penerapan Algoritma Genetik dalam Masalah Penjadwalan Sidang Mewati Ayub, Andi Irvan Widjaja
Gambar 1 Diagram Kelas Data Referensi
Gambar 2 Diagram Kelas Proses Genetik
IV. HASIL PENGUJIAN
Data tes yang digunakan adalah daftar sidang, dan ketersediaan waktu dari mahasiswa, dosen, dan ruang yang dibuat untuk dapat memberikan gambaran akan penjadwalan yang cukup besar. Data tes untuk pengujian terdiri dari 364 Sidang, 275 Mahasiswa, 40 Dosen, dan 20 Ruang. Waktu yang disediakan untuk melaksanakan sidang
adalah 2 minggu dan 1 hari. Jumlah timeslot yang tersedia dalam satu hari adalah 10.
Proses genetik akan menggunakan tiga buah parameter yaitu ukuran populasi, ukuran generasi, probabilitas mutasi, dan tingkat kepentingan soft constraints. Kombinasi parameter-parameter ini akan mempengaruhi perilaku dan hasil dari pengujian proses genetik.
A. Pengujian Berdasarkan Konstanta CONSTHFSF
Pada Tabel I, Tabel II, dan Tabel III dapat dilihat bahwa nilai dari konstanta ConstHFSF sangat berpengaruh terhadap perkembangan dari Soft Fitness. Semakin kecil
nilai ConstHFSF, maka SoftFitness dianggap semakin tidak
penting dalam proses genetik.
TABELI
HASIL PENGUJIAN DENGAN PARAMETER UKURAN POPULASI 100, PROBABILITAS MUTASI 5%,DAN CONSTHFSF0.1
Generasi Hard Fitness Soft Fitness
Waktu Menit Detik 1 -15 -5324 0 0 5 -15 -5324 0 6 10 -14 -5289 0 12 25 -14 -5125 0 33 50 -12 -5396 1 6 100 -9 -5302 2 13 250 -8 -5109 5 41 500 -8 -5033 12 4 TABELII
HASIL PENGUJIAN DENGAN PARAMETER UKURAN POPULASI 100, PROBABILITAS MUTASI 5%,DAN CONSTHFSF1.0
Generasi Hard Fitness Soft Fitness
Waktu Menit Detik 1 -17 -5017 0 0 5 -16 -5242 0 6 10 -15 -5114 0 12 25 -13 -5309 0 32 50 -11 -5278 1 6 100 -10 -5193 2 18 250 -8 -4981 6 47 500 -8 -4743 13 46 TABELIII
HASIL PENGUJIAN DENGAN PARAMETER UKURAN POPULASI 100, PROBABILITAS MUTASI 5%,DAN CONSTHFSF10.0
Generasi Hard Fitness Soft Fitness
Waktu Menit Detik 1 -18 -5312 0 0 5 -18 -5075 0 5 10 -17 -5239 0 12 25 -14 -5123 0 32 50 -14 -4968 1 5 100 -11 -5160 2 12 250 -8 -4857 5 36 500 -7 -4512 11 10
B. Pengaruh Fungsi Perbaikan Terhadap Perkembangan Generasi
Pada Gambar 4, ditampilkan grafik perbandingan antara proses genetik tanpa perbaikan jadwal dan dengan dilakukannya perbaikan jadwal untuk tiap individu baru.
Dari hasil pengujian pada gambar 4 terlihat bahwa terjadi peningkatan drastis dalam hal efektifitas pengurangan
bentrokan, dan juga efisiensi waktu dari proses genetik sehingga dapat menghasilkan jadwal dengan hanya ±8 bentrokan dalam waktu ±12 menit pada generasi ke 500. Pada penelitian sebelumnya hanya mencapai ±18 bentrokan dalam waktu 1 jam pada generasi ke 20000.
Pengoptimalan Penerapan Algoritma Genetik dalam Masalah Penjadwalan Sidang Mewati Ayub, Andi Irvan Widjaja
Gambar 5 Grafik Perkembangan Fitness Rumus ke-3 C. Pengujian Rumus Total Fitness
Setelah dilakukan pengujian terhadap rumus 1,2, dan 3 yang digunakan ketika mengurutkan individu dalam populasi pada bagian seleksi diperoleh hasil yang dijelaskan berikut ini. Rumus ke-1 memiliki permasalahan jika nilai
Soft Fitness yang dikalikan ConstHFSF terlalu besar, maka populasi akan diseleksi berdasarkan Soft Fitness sehingga
Hard Fitness pada individu terbaik dalam setiap generasi cenderung terabaikan. Sedangkan untuk rumus ke-2, membaiknya Hard Fitness sampai tahap tertentu justru akan
memperburuk Total Fitness, oleh karena itu perkembangan
HardFitness cenderung berhenti sampai tahap tertentu. Grafik pada Gambar 5 yang merupakan hasil pengujian rumus ke-3, dapat dilihat bahwa Total Fitness selalu membaik, dan juga membawa kombinasi dari Hard Fitness dan SoftFitness ke arah yang lebih baik. Pengujian dengan menggunakan rumus ke-3 tersebut dilakukan dengan data tes yang terdiri dari 300 sidang, besar populasi 100, jumlah generasi 100, dan probabilitas mutasi 5%.
V. SIMPULAN
Beberapa simpulan yang dapat ditarik berdasarkan uraian di atas adalah:
1. Perubahan parameter-parameter genetik memberikan pengaruh yang signifikan terhadap kinerja dari aplikasi dan solusi yang dihasilkan. Berdasarkan hasil pengujian, parameter-parameter yang sampai saat ini dianggap yang terbaik adalah besar populasi antara 50-100 individu, dan probabilitas mutasi antara 2% - 5%.
2. Fungsi perbaikan yang diterapkan pada saat pembuatan individu baru menyebabkan pengurangan
bentrokan pada generasi berikutnya menjadi lebih cepat. Fungsi ini bukan hanya memperbaiki jadwal tetapi juga membantu memunculkan individu dan gen-gen baru yang berkualitas untuk diproses lebih lanjut.
3. Implementasi Soft Fitness yang digunakan harus diperhatikan dengan baik karena bila pengaruhnya terlalu besar maka ia akan merusak usaha yang sudah dicapai oleh Hard Fitness. Tetapi jika pengaruhnya
terlalu kecil maka kromosom-kromosom yang membawa sifat baik bagi Soft Constraint akan terabaikan dan menghilang ditengah-tengah proses genetik.
4. Dari ketiga buah rumus perhitungan total fitness yang telah diujicoba pada tahap evaluasi, dapat diambil simpulan bahwa rumus ketiga merupakan rumus yang paling baik dan stabil.
DAFTAR PUSTAKA
[1] A.R. Hutomo., A. Fitrananda, A. Marshadiany., G.P. Prikarti, & E.M. Imah. (2012) Implementasi Algoritma Integer Linear Programming Untuk Sistem Informasi Penjadwalan Ruangan Di Fakultas Ilmu Komputer Universitas Indonesia. [Online]. Tersedia: jurnal.mti.cs.ui.ac.id/index.php/jsi/article/download/291/117 [2] I. Nugraha. (2008) Aplikasi Algoritma Genetik Untuk Optimasi
Penjadwalan Kegiatan Belajar Mengajar. [Online]. Tersedia: http://sutanto.staff.uns.ac.id/files/2008/09/makalahif2251-2008- 023.pdf
[3] M. Ayub, A.I. Widjaja, T. Kandaga, “Penjadwalan Sidang Otomatis dengan Menggunakan Algoritma Genetik”,Proceeding Seminar Ilmiah Universitas Kristen Maranatha, 2010, p. 86-95.
[4] M. Gen, & R. Cheng, Genetic Algorithms and Engineering Design, New York, USA: John Wiley & Sons, Inc, 1997.
[5] M. Obitko. (1998) Genetic Algorithms. [Online]. Tersedia: http://www.obitko.com/tutorials/genetic-algorithms/index.php. [6] S. Russel, P.Norvig, Artificial Intelligence A Modern Approach, 2nd