Тема: Программная реализация приближённого алгоритма составления оптимального расписания
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
ВВЕДЕНИЕ 3
1 Задача о расписании 6
2 Классические методы решения задачи о расписании 9
2.1 Точные алгоритмы решения задачи об оптимальном расписании 9
2.2 Приближенные алгоритмы решения задачи об оптимальном расписании 10
2.3 Подход, основанный на сведении одной задачи к другой 10
3 Метод решения задачи о расписании на основе раскраски графа конфликтов 12
3.1 Графы конфликтов событий 12
3.2 Раскраска графа 12
3.2.1 Приближенный алгоритм раскраски графа 14
3.3 Дополнительные ограничения для событий и оптимизация расписания 14
3.4 Программная реализация и компьютерные эксперименты 15
ЗАКЛЮЧЕНИЕ 19
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 20
ПРИЛОЖЕНИЕ А 21
📖 Введение
В процессе решения таких задач, были выработаны общие рекомендации, принципы и методики составления расписаний. В результате возник специальный раздел науки — теория расписаний. Эта наука возникла на основе других областей знания и тесно с ними связана. Таким образом, теория расписаний — это раздел прикладной математики, в котором изучаются математические постановки, и методы решения задач оптимального упорядочивания некоторых действий во времени.
Задачи составления расписаний возникают в частности:
• на производстве, при упорядочивании отдельных операций по исполнителям (цеха, станки) и по времени;
• при составлении расписания движения поездов, самолетов, общественного транспорта;
• при планировании занятий в учебных заведениях; при планировании занятости персонала, например график работы медработников;
• при выполнении многозадачных продолжительных проектов, например строительства зданий;
• при планировании проведения спортивных мероприятий;
• в компьютерных сетях при планировании очередности передачи пакетов информации и т.д.
Многие задачи в теории расписаний формулируются как оптимизационные, то есть среди множества допустимых расписаний необходимо найти такое расписание, при котором достигается оптимальное значение некоторого параметра. Под термином «оптимальность» подразумевается минимальное или максимальное значение выбранного параметра. Под «допустимостью» расписания подразумевается его (физическая) осуществимость.
Пример: необходимо построить спортивную площадку за наиболее короткий промежуток времени, при этом существующая последовательность выполнения работ должна быть соблюдена. Тогда допустимым расписанием будет то, при котором будет соблюдена последовательность работ, а оптимальное расписание - это допустимое расписание, при котором проект будет завершен в минимальные сроки.
В нашей работе мы рассматриваем задачу о составлении расписания факультета. Имеются группы студентов, занятия, которые должны посещаться студентами и преподаватели, которые ведут эти занятия. Расписание желательно составить так, чтобы не было противоречий (например, в одной и той же аудитории не должны вестись два разных занятия одновременно), чтобы были учтены пожелания преподавателей, чтобы количество занятий для каждой группы студентов в каждый день недели было примерно одинаковым и чтобы между занятиями было как можно меньше «окон». Конечно, поскольку все рассматриваемые множества в нашей задаче о расписании конечны, задачу можно решить перебором: переберём все возможные последовательности занятий (то есть построим все расписания для заданного множества занятий), проверим для каждой последовательности выполнение всех ограничивающих условий (то есть проверим расписание на допустимость) и среди допустимых выберем наиболее оптимальное по всем параметрам. Однако такой перебор займёт огромное количество времени.
Поэтому основная цель нашей работы - это разработать и реализовать алгоритм построения необходимого нам расписания, пусть и не самого оптимального, за разумное время.
✅ Заключение
В итоге мы имеем раскрашенный граф конфликтов, с назначенными ресурсами событиям, то есть построенное расписание. Без изучения теоретически основ теории расписаний решение задачи было бы сомнительным. Был проведен анализ методов решения задачи и выбран наиболее походящий - метод на основе раскраски графа конфликтов. Так же в работе рассмотрены классические методы решения задач расписания, наиболее подробно разобран один из них на примере метода полного перебора. Этому в частности посвящена 2 глава работы. В первой главе описывается задача на формальном и неформальном языках для полного понимания всей глобальности задачи построения автоматизированного расписания. А 3 глава собрана из частей, с которыми непосредственно было «взаимодействие», то есть описаны метод решения задачи, дополнительные ограничения и собственно сам алгоритм решения. Работа основана на данных 3 курса радиофизического факультета 1 семестра 2019 года. Полное количество событий - 84. Результат раскраски графа - 12 цветов. Все события распределены по дням и аудиториям - получено расписание, но не оптимальное.
Заметим, что текущая версия программы не учитывает ограничения пожелания преподавателей, но на данном этапе учитывает ограничения, возникающие из -за конфликтов между событиями и привязкой предметов к аудиториям.





