Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 7(27)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3

Библиографическое описание:
Воронина Т.Т., Кирносенко С.И. АВТОМАТИЗИРОВАННОЕ РЕДАКТИРОВАНИЕ РАСПИСАНИЯ // Студенческий: электрон. научн. журн. 2018. № 7(27). URL: https://sibac.info/journal/student/27/103143 (дата обращения: 29.12.2024).

АВТОМАТИЗИРОВАННОЕ РЕДАКТИРОВАНИЕ РАСПИСАНИЯ

Воронина Татьяна Тимофеевна

магистрант, кафедра электронно-вычислительных машин и систем ВолгГТУ,

РФ, г. Волгоград

Кирносенко Семен Игоревич

доцент, канд. техн. наук, кафедра электронно-вычислительных машин и систем ВолгГТУ,

РФ, г. Волгоград

Уже на протяжении длинного промежутка времени стоит задача о создании такого программного обеспечения, которое бы качественно выполняло функцию создания, редактирования учебного расписания в Высшем Учебном Заведении. Ведь оптимально составленное расписание влияет на качество обучения, как на усвояемость материала студентами, так и на преподнесение материала преподавателями. Также эта система должна быть не очень затратной для обслуживания данным учебным заведением.

Трудность в решении поставленной задачи и достижении высоких результатов заключается в том, что в процессе реализации такой системы, должно учитываться множество факторов и критериев. Рассмотрим их:

  1. Пожелание преподавателя проводить свои занятия в определенные часы и дни недели;
  2. наличие минимального количества или полное отсутствие «окон» между парами;
  3. рациональное распределение нагрузки в день;
  4. соотношение и порядок проведения лабораторных, лекционных и практических занятий и т.д.

Осуществлять процесс составления и редактирования расписания вручную с учетом всех выявленных и поставленных критериев – это очень трудоемкий процесс, особенно если учесть сколько в учебном заведении факультетов, а на факультете сколько курсов, а на каждом курсе сколько групп, а еще чтобы у преподавателя не произошла накладка в занятиях, что тоже безусловно важно.

Большое количество лет составлением и редактированием расписаний занятий ВУЗов занимается учебный отдел, имеющий большой опыт в этой работе. Но не всегда полученный результат соответствует ожиданиям. К тому же стоит учитывать большое количество времени, которое уходит на этот процесс, сокращение которого позволит облегчить нагрузку на учебный отдел.

Человеческий мозг обладает большими возможностями, но существует человеческий фактор, существуют очень трудоемкие задачи, с которыми будет проще справиться компьютеру. Это очень сложный процесс для того, чтобы решать его вручную, когда есть машины, которых необходимо обучить для автоматизации данного процесса. В следствие этого сохранится временной ресурс, который можно будет потратить на другую не менее важную работу.

Именно для того, чтобы добиться максимально оптимального результата и сократить временные затраты, вот уже много лет люди пытаются составить и автоматизировать четкий и быстрый алгоритм. Именно поэтому основной целью данной работы является создание гибкой (адаптивной под любое заведение) автоматизированной системы, которая будет решать задачу редактирования расписания ВУЗов с учетом выбранных критериев. Необходимо, чтобы результаты работы такой системы не уступали по качеству конкурентным методам, а затрачиваемое на процесс редактирования расписания время уменьшилось.

В настоящее время перед ВУЗами стоит следующий выбор:

  1. Продолжать составлять расписание вручную;
  2. приобрести соответствующее ПО у сторонней организации;
  3. реализовать систему автоматизации процесса редактирования расписания самолично.

Рассмотрим, как будет выглядеть диаграмма процесса редактирования расписания ВУЗов.

 

Рисунок 1. Диаграмма процесса редактирования расписания

 

На рисунке 1 представлены этапы процесса редактирования расписания, согласно которым учебный отдел реализовывает это в ручную. Теперь нагляднее видно насколько это кропотливая работа. Поэтому, целью данной работы является создание программного модуля, который автоматизирует данную процедуру.

Для реализации данной программы, необходимо выявить цель, определить функционал и поставить задачи. Задачами данного проекта будут являться:

  1. Разработка парсера excel документа;
  2. проектирование базы данных расписания;
  3. проектирование интерфейса программы;
  4. реализация алгоритма редактирования.

Рассмотрим подробнее поставленные задачи, их решение и полученный результат.

Первой задачей стоит реализация программы-парсера excel документа, в котором содержится готовое расписание. Проблема заключается в том, что расписание строится на каждый поток, на курсе содержится несколько потоков, на факультете несколько курсов и обозревать такое количество файлов очень неудобно. Поэтому, для того, чтобы облегчить этот процесс, необходимо визуализировать данную информацию. Для этого, документ, в котором содержится расписание, будет разбит на части, т.е. из каждой ячейки excel-файла будет извлечена информация о предмете, часах на которое он поставлен, преподавателя, аудиторию и принадлежность определенной группе. И первая задача плавно перетекает во вторую, так как для обозреваемости данную информацию необходимо поместить в базу данных, которая будет отображать существующую информацию в удобном формате.

Весь проект реализован на языке программирования С#, программа-парсер реализована с помощью библиотеки Microsoft.Office.Interop.Excel, которая предназначена для работы с файлами данного разрешения. Приведем пример алгоритма работы данной программы, совместно с размещением распарсенной информации в базу данных.

 

Рисунок 2. Блок схема алгоритма парсинга файла

 

Этап парсинга не отображен в конечной версии программы, поэтому, как работает эта часть, показано на картинках ниже.

 

Рисунок 3. Представление файла с расписанием

 

Рисунок 4. Промежуточный этап парсинга файла

 

На рисунке 4 изображено извлечение информации из ячеек, которые дробятся на части и помещаются в массив, элементы которого отправляются в таблицы базы данных. Второй задачей является проектирование базы данных, схема которой показана на рисунке ниже.

 

Рисунок 5. Схема базы данных

 

Далее, был спроектирован интерфейс программы, выполняющей данную функцию:

 

Рисунок 6. Интерфейс программы

 

Алгоритм редактирования расписания основывается на алгоритме искусственного интеллекта, а именно: задаче удовлетворения ограничений, т.е. существуют некоторые критерии, который были выполнены в начале описания работы и постановки целей и алгоритм, опираясь на эти критерии ищет наиболее оптимальное место для расположения редактируемой пары, согласно новым условиям. В процессе решения происходит построение графа со множеством решений и методом перебора отбрасываются плохие варианты, оставляя самый лучший. Результат работы данного алгоритма и результат работы программы показан на рисунке 7.

 

Рисунок 7. Результат работы программы

 

Список литературы:

  1. Теория расписаний [Электронный ресурс] // Википедия: свободная энциклопедия. URL: http://ru.wikipedia.org/?oldid=82645503 (дата обращения: 10.03.2018).
  2. Задача теории расписания [Электронный ресурс]. URL: https://sites.google.com/site/askerpro/4 (дата обращения: 14.03.2018).
  3. Беллман Р. Динамическое программирование М.: ИЛ, 1960. 400 с.
  4. Bellman R. Mathematical aspects of scheduling theory // Journal of the Society of Industrial and Applaid Mathematics. 1956. Vol. 4. P. 168-205.

Оставить комментарий