ВВЕДЕНИЕ 4
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 6
1.1. ПРОБЛЕМА ПЛАНИРОВАНИЯ РАСПИСАНИЯ КУРСОВ 6
1.1.1 ПОСТАНОВКА ЗАДАЧИ UCTP 6
1.1.2 ОБЗОР СУЩЕСТВУЮЩИХ АЛГОРИТМОВ 8
1.2. ПРОБЛЕМА ДИНАМИЧЕСКОГО УПРАВЛЕНИЯ РАСПИСАНИЕМ КУРСОВ 11
1.2.1 ОБЗОР СУЩЕСТВУЮЩИХ РЕШЕНИЙ 12
1.2.2 ВЫБОР И ОПИСАНИЕ МЕТОДА ДЛЯ ДИНАМИЧЕСКОЙ
ОПТИМИЗАЦИИ РАСПИСАНИЯ 14
2. РЕАЛИЗАЦИЯ ОБРАБОТКИ И УПРАВЛЕНИЯ ОГРАНИЧЕНИЯМИ
РАСПИСАНИЯ И АЛГОРИТМА ЕГО ОПТИМИЗАЦИИ 16
2.1. АРХИТЕКТУРА ДАННЫХ РАСПИСАНИЯ И РЕСУРСОВ 16
2.2. АРХИТЕКТУРА И РЕАЛИЗАЦИЯ ОБРАБОТКИ ОГРАНИЧЕНИЙ
РАСПИСАНИЯ 18
2.2.3 РЕАЛИЗАЦИЯ ВЫВОДА РЕЗУЛЬТАТОВ АНАЛИЗА
ОГРАНИЧЕНИЙ 22
2.3. АЛГОРИТМ ОПТИМИЗАЦИИ РАСПИСАНИЯ 23
2.3.1 РЕАЛИЗАЦИЯ АЛГОРИТМА ОПТИМИЗАЦИИ 23
2.3.2 РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ АЛГОРИТМА 28
3. РЕАЛИЗАЦИЯ WEB-ПРИЛОЖЕНИЯ ДЛЯ ЗАДАЧ УПРАВЛЕНИЯ
ОПТИМИЗАЦИИ РАСПИСАНИЕМ 30
3.1. ИСПОЛЬЗУЕМЫЕ ТЕХНОЛОГИИ И АРХИТЕКТУРА ПРИЛОЖЕНИЯ 30
3.2. ФУНКЦИОНАЛЬНОСТЬ И ИНТЕРФЕЙС 30
3.2.1 ИМПОРТ ДАННЫХ РАСПИСАНИЯ И РЕСУРСОВ 31
3.2.2 РУЧНОЕ УПРАВЛЕНИЕ РАСПИСАНИЕМ И АНАЛИЗ НАРУШЕНИЙ 32
3.2.3 УПРАВЛЕНИЕ ОГРАНИЧЕНИЯМИ И ФАКТОРАМИ 34
3.2.4 УПРАВЛЕНИЕ ДАННЫМИ И РЕСУРСАМИ 35
3.2.5 ОПТИМИЗАТОР РАСПИСАНИЯ 36
ЗАКЛЮЧЕНИЕ 38
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 39
ПРИЛОЖЕНИЕ А: SQL выражения факторов 41
ПРИЛОЖЕНИЕ Б: Код обработки ресурсных ограничений 45
ПРИЛОЖЕНИЕ В: Код обработки факторных ограничений 47
ПРИЛОЖЕНИЕ Г: Код оптимизатора расписания 49
В настоящее время в высших учебных заведениях рассматриваются некоторые структурные изменения, приводящие к тому, что образование в вузах становится более динамичной средой [22]. Процессы эффективного планирования и распределения ресурсов учебных заведений находятся в постоянно меняющейся области и сталкиваются с большим количеством ограничений, потребность в гибкости и доступности таких процессов растет [22, 2].
Одной из наиболее важных и распространенных задач планирования в учебных заведениях является планирование расписания занятий [11]. Данная задача хорошо исследованна и неоднократно решалась, однако большинство разработок посвящены статическим задачам планирования расписания до начала учебного процесса [12], последующее же управление им обычно осуществляется вручную. Динамичность ресурсов и учебных планов усиливает необходимость в управлении и оптимизации учебного расписания непосредственно в течение образовательного процесса [2]. При этом из-за объемов данных, которые необходимо учитывать при принятии решений об изменениях в расписании, ручное управление становится сложным и трудоемким процессом [5].
Целью настоящей работы является разработка инструмента, позволяющего управлять и оптимизировать учебное расписание в течение всего учебного семестра. Предполагается, что инструмент позволит настраивать расписание под конкретные текущие ограничения и ресурсы.
Для выполнения работы необходимо решить следующие задачи:
• Оптимизация должна оказывать минимальное воздействие на текущий вариант расписания, так как сильное перераспределение ресурсов нежелательно;
• Система должна предоставлять возможность внесения новых ограничений и конфигурации существующих;
• Пользователям системы должны быть доступны результаты анализа текущего расписания.
Так как почти все методы и алгоритмы, используемые для задачи составления расписания, являются оптимизационными, в данной работе было принято решение проанализировать существующие подходы составления расписания относительно применимости для решения задачи оптимизации расписания со внесением минимальных изменений, и модифицировать выбранный алгоритм.
В первой главе работы произведен анализ предметной области, выявлены существующие алгоритмы оптимизации расписания, среди них выбран подходящий для использования. Также рассмотрены существующие решения проблемы.
Вторая глава включает в себя описание реализации обработки и задания ограничений и алгоритма оптимизации расписания, модифицированного под задачу управления им.
В третьей главе будут описаны структура и функциональность разработанного веб-приложения, используемые технологии и интерфейс пользователя.
В ходе работы была разработана система, позволяющая управлять и оптимизировать расписание учебных курсов в течение образовательного процесса.
В рамках разработки системы была спроектирована архитектура ограничений расписания и реализована их обработка, позволяющая конфигурировать и изменять ограничения в системе. Также был реализован алгоритм оптимизации расписания, выбранный на основе анализа методов, применяемых для задачи составления расписания, и модифицированный под задачу, поставленную в работе. Было разработано веб-приложение, позволяющее использовать данный функционал и предоставляющее вебинтерфейс для управления расписанием.
Дальнейшее развитие работы предполагает реализацию в оптимизаторе исправлений конкретных нарушений ресурсных ограничений для лучшего удовлетворения жестких ограничений и реализацию API системы. Также необходимо рассмотреть вопрос улучшения производительности реализованного оптимизатора расписания. На основе системы возможна реализация анализа влияния факторов расписания на показатели учебного процесса, такие как успеваемость студентов.
1. Abdullah S., Burke E. K., Mccollum B. An investigation of variable
neighbourhood search for university course timetabling //The 2nd multidisciplinary international conference on scheduling: theory and applications (MISTA). - 2005. - P. 413-427.
2. Babkin E., Abdulrab H., Babkina T. AgentTime: a distributed multi-agent software system for university’s timetabling. //From System Complexity to Emergent Properties. - Springer, Berlin, Heidelberg, 2009. - P. 341-354.
3. Bykov Y., Petrovic S. A step counting hill climbing algorithm applied to university examination timetabling //Journal of Scheduling. - 2016. - Vol. 19. - №. 4. - P. 479-492.
4. Clayson D. E., Haley D. A. Marketing models in education: Students as customers, products, or partners //Marketing education review. - 2005. - Vol. 15. - №. 1. - P. 1-10.
5. Demirovic E., Peter J. S. Constraint Programming for High School Timetabling: A Scheduling-Based Model with Hot Starts. //In International Conference on the Integration of Constraint Programming, Artificial Intelligence, and Operations Research. - Springer, Cham, 2018. - P 135-152.
6. Even S., Itai A., Shamir A. On the complexity of timetable and multi-commodity flow problems //16th Annual Symposium on Foundations of Computer Science (sfcs 1975). - IEEE, 1975. - P. 184-193.
7. Feizi-Derakhshi M. R., Babaei H., Heidarzadeh J. A survey of approaches for university course timetabling problem //Proceedings of 8th international symposium on intelligent and manufacturing systems, Sakarya University Department of Industrial Engineering, Adrasan, Antalya, Turkey. - 2012. - P. 307-321.
8. Islam T. et al. University Timetable Generator Using Tabu Search //Journal of Computer and Communications. - 2016. - Vol. 4. - №. 16. - P. 28.
9. Jacob W. J. Globalization and higher education policy reform //Second international handbook on globalisation, education and policy research. - Springer, Dordrecht, 2015. - P. 151-165.
10. Jat S. N., Yang S. A guided search genetic algorithm for the university course timetabling problem. Dokt, Diss. - University of Leicester, 2012.
11. Kristiansen S., Stidsen T. R. A comprehensive study of educational timetabling - a survey. //Department of Management Engineering, Technical University of Denmark. - DTU Management Engineering Report, No. 8. - 2013. - 72 p.
12. Muller T., Rudova H., Bartak R. Minimal perturbation problem in course timetabling //In International Conference on the Practice and Theory of Automated Timetabling. - 2004. - P. 126-146.
13. Naseem Jat S. Genetic Algorithms for University Course Timetabling Problems : Diss. - University of Leicester, 2012.
14. Osman I. H., Kelly J. P. Meta-heuristics theory and applications //Journal of the Operational Research Society. - 1997. - Vol. 48. - №. 6. - P. 657-657.
15. Patrick, K. Comparison of simulated annealing and hill climbing in the course timetabling problem// African Journal of Mathematics and Computer Science Research. - 2012. -Vol. 5. - № 11. - P. 176-178.
16. Phillips A.E., Walker C.G., Ehrgott M., Ryan D.M. Integer programming for minimal perturbation problems in university course timetabling //Annals of Operations Research. - 2017. - Vol. 2. - №. 252. - P. 283-304.
17. Porter W. W. et al. Blended learning in higher education: Institutional adoption and implementation //Computers & Education. - 2014. - Vol. 75. - P. 185-195.
18. Rossi-Doria O., Paechter B. A memetic algorithm for university course timetabling //Combinatorial optimisation. - 2004. - P. 56.
19. Rudova H., Muller T., Murray K. Complex university course timetabling //Journal of Scheduling. - 2011. - Vol. 14. - №. 2. - P. 187-207.
20. Thanh N. D. Solving timetabling problem using genetic and heuristic algorithms //Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD 2007). - IEEE, 2007. - Vol. 3. - P. 472-477.
21. University Timetabling: Comprehensive Academic Scheduling Solutions
[Электронный ресурс] // Режим доступа: https://www.unitime.org/,
свободный (дата обращения: 19.06.2019). - загл. с экрана.
22. Vrielink R. A. O. et al. Practices in timetabling in higher education institutions: a systematic review //Annals of operations research. - 2019. -Vol. 275. - №. 1. - P. 145-160.
23. Свинтенок Е. А., Попов Б. Е., Абрамский М. М. О нескольких методах и инструментах анализа качества учебного процесса //Электронные библиотеки. - 2018. - Т. 21. - №. 3-4. - С. 382-391.
24. Щербина О. А. Метаэвристические алгоритмы для задач комбинаторной оптимизации (обзор) //Таврический вестник информатики и математики. - 2014. - Т. 1. - С. 24.