Sınav çizelgeleme probleminin çözümü için genetik algoritma yaklaşımı
Genetic algorithm approach to the solution of the exam scheduling problem
Yazar: HALİME SUVAY
Danışman: DOÇ. DR. SERKAN TAŞTAN
Sivas Cumhuriyet Üniversitesi / Sosyal Bilimler Enstitüsü / Yönetim Bilişim Sistemleri Ana Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Algoritmalar = Algorithms ; Genetik = Genetics ; Genetik algoritmalar = Genetic algorithms ; Sezgisel algoritmalar = Heuristic algorithms ; Sınav çizelgeleme = Examination scheduling ; Öğretim elemanları = Instructors ; Üniversiteler = Universities

Özet:
Üniversitelerde sınavların belirli bir düzen içinde gerçekleştirilebilmesi için sınavlara ait tarih, saat ve yer planları bir çizelge şeklinde hazırlanmaktadır. Sınav çizelgeleri hazırlanırken birçok kısıt dikkate alınarak öğrencileri ve öğretim elemanlarını memnun eden bir çizelge oluşturulması amaçlanmaktadır. Ancak bu çizelgelerin genellikle öğretim elemanları tarafından elle hazırlanması çizelgelerin tamamlanma süresini arttırmakta ve istenilen kısıtların sağlanmasını güçleştirmektedir. 
Genetik algoritmalar sınav çizelgeleme gibi zahmetli ve karmaşık problemlerin çözümünde kullanılabilen yapay zekâ tabanlı optimizasyon algoritmalarından biridir. Temelinde doğadaki canlıların evrim sürecini bulunduran genetik algoritmalar bu işleyişi bilgisayar ortamında gerçekleştirmektedir. Daha önce yapılan çalışmalarda genetik algoritmaların zor problemleri kısa sürede çözebildiği ve optimal çözümü vermeseler bile buna yakın çözümlere ulaştıkları görülmüştür. 
Bu çalışmanın amacı sınav çizelgeleme problemine genetik algoritma ile çözüm bulmaktır. Bundan hareketle sınav çizelgeleme problemini genetik algoritma yardımıyla çözebilen bir web uygulaması geliştirilmiştir. Uygulama C# programlama dilinde yazılmış alınan veriler Sqlite veritabanında tutulmuştur. Programa AForge Genetic (http://www.aforgenet.com/) kütüphanesi eklenerek genetik algoritma işlemlerinin bu kütüphane yardımıyla yapılması sağlanmıştır. Problemin çözümünü ve uy-gulamanın geliştirilmesini kolaylaştırmak amacıyla ilk olarak sınavları belirli tarih aralığına atayan bir genetik algoritma oluşturulmuş daha sonra bu yerleştirilen sınavları sınıflara atayan ikinci bir genetik algoritma oluşturularak problemin iki aşamada çözülmesi sağlanmıştır. Hazırlanan Genetik Algoritma ile Sınav Çizelgeleme Uygu-laması Sivas Cumhuriyet Üniversitesi, İktisadi ve idari Bilimler Fakültesinden alınan gerçek veriler kullanılarak söz konusu fakültenin ihtiyaçları doğrultusunda ara sınav ve final sınav çizelgeleri hazırlamak için çalıştırılmıştır. Elde edilen sonuçlar genetik algoritmanın sınav çizelgeleme problemini belirlenen kısıtları sağlayarak kısa zamanda başarılı bir şekilde çözebildiğini göstermiştir. 
Anahtar Kelimeler: Genetik Algoritma, Sınav Çizelgeleme, Sezgisel Algoritmalar

Abstract:
In universities, the dates, hours and floor plans of the exams are prepared as a schedule so that examinations can be conducted in a specific order. While preparing the exam timetabling, it is aimed to create a table that satisfies students and instruc-tors by considering many constraints. However, it is difficult to provide the necessary constraints to be prepared by instructors and it increases the completion time of the schedules.
Genetic algorithms are one of the artificial intelligence-based optimization algorithms that can be used to solve complicated and complex problems such as exam scheduling. Genetic algorithms involve the process of natural evolution and this process is carried out in computer environment. Previous studies have shown that genetic algorithms can solve difficult problems in a short time. Furthermore, they are found to have approximately optimal values even if they do not provide optimal solution. 
The aim of this study is to solve the problem of exam scheduling with genetic algorithm. Therefore, a web application was developed to solve the problem of exam scheduling by using genetic algorithm. The web application is written in C# programming language. The data was saved in Sqlite database. AForge Genetic (http://www.aforgenet.com/) library has been added to the program. In this way, genetic algorithm operations are provided by this library. In order to facilitate the solu-tion of the problem and the development of the application, two different genetic algorithms were run and the problem was solved in two stages. While the first genetic algorithm was run to designate the exams into the specific date range, the second ge-netic algorithm was run to assign these placed exams to the classes. Exam Scheduling Application with Genetic Algorithm has been run to prepare midterm and final exams schedules according to the demands of the faculty by using the actual data ob-tained from the Faculty of Economics and Administrative Sciences at Sivas Cumhuriyet University. The results showed that the genetic algorithm can successfully solve the exam scheduling problem in a short time by providing required constraints.
Keywords: Genetic Algorithm, Exam Scheduling, Heuristic Algorithms