Реализован следующий функционал:
- составление расписаний в режимах:
- ручной,
- автоматический,
- смешанный,
а также в режимах:
- по помещениям,
- по группам,
- по преподавателям.
- встроенные средства интеграции с «1С:Университет», «1С:Университет ПРОФ»;
- удобная форма «шахматка» для быстрой ручной модификации расписания перетаскиванием «drap&drop»
- составление нескольких расписаний и выбор лучшего;
- составление расписаний в разрезе:
- семестров;
- сценариев («пессимистичный», оптимистичный).;
- кафедр;
- типа расписания;
- периода, на который составлено расписание;
- учет пожеланий и возможностей преподавателей, групп студентов, помещений;
- консолидация расписаний. Например, расписания по кафедрам могут быть объединены в расписание по факультетам → институтам → университету. В консолидированном расписании:
- устраняются временные коллизии, связанные с использованием общих ресурсов (помещений, преподавателей, групп студентов);
- в общее расписание попадают «потоковые занятия», проводимые для групп разных кафедр;
- в общее расписание попадают специализированные занятия в зарезервированные под факультет помещения (например, занятия физической культурой);
- оптимизация учебных расписаний по одному из критериев:
- количество используемых помещений,
- минимизировать количество окон и т.д.;
- сравнение на допустимость при составлении расписания в любом режиме:
- тип помещения / тип занятия,
- вместимость помещения / количество студентов в группе;
- выбор произвольной периодичности расписания (неделя, две недели, семестр, фиксированный период и т.д.);
- составление расписания сессии;
- учет параллельных занятий, разбиения на подгруппы и потоковых лекций при составлении расписания;
- учет максимального допустимого количества занятий в день для группы студентов или преподавателя при составлении расписания;
- построение расписания для 2-х и более смен;
- оперативное резервирование помещений (дополнительно можно указывать мероприятие и/или причину резервирования);
- просмотр расписаний и ввод предпочтений по web-интерфейсу;
- уведомление об изменении расписаний по e-mail для студентов и преподавателей (отсылаемый документ формируется автоматически в форме отчета «Печать расписания»);
- быстрая форма замены занятий;
- учет графика учебно-производственного процесса;
- отчеты: «Проведенные занятия», «Использование помещений по периодам», «Нагрузка»;
- загрузка справочников (в том числе списки преподавателей, дисциплин, групп) и учебных планов в форматах Excel и XML. Учебный план содержит сведения:
- количество занятий за период планирования;
- группа,
- дисциплина,
- краткое наименование дисциплины для вывода в расписании,
- преподаватель,
- количество академических часов,
- количество занятий,
- количество занятий за период планирования;
- оперативное изменение расписаний (путем перетаскивания). Перетаскивать можно:
- занятие на пустую ячейку «шахматки»,
- занятие на заполненную ячейку, при этом занятие, стоявшее в ячейке, переместится в таблицу «Нераспределенные занятия»;
- занятие из одной ячейки «шахматки» в другую;
- разграничение доступа подокументно.
Процесс составления расписаний в системе делится на следующие этапы:
- ввод первичной информации: курсы, группы, дисциплины, преподаватели, помещения;
- ввод учебного плана на семестр, в котором указывается, кто, для кого, какое занятие и в каком объеме должен провести;
- ввод ограничений и предпочтений на преподавателей, студентов, помещения;
- составление учебного расписания.
При вводе нового расписания заполняются реквизиты:
- семестр;
- сценарий («пессимистичный», оптимистичный).;
- кафедра, тип расписания;
- период, на который составлено расписание.
- На следующем рисунке представлена основная форма для составления расписания («шахматка», строки – дни недели, пары, колонки — помещения) (см. рисунок ниже).
На шахматке отображаются уже поставленные в расписание занятия, а специальным цветом подсвечиваются ячейки, куда может/не может быть установлено занятие из нижнего списка «неупорядоченных» занятий.
Цвета обозначают следующее:
- желтый – преподаватель или группа заняты в это время; желтым выделяется вся строка времени;
- кирпичный – помещение занято (зарезервировано другой кафедрой);
- красный – помещение не подходит по типу или вместимости,
- зеленый – это же занятие;
- голубой – предпочтительное для занятия время (с точки зрения преподавателя или студентов);
- серый – помещение зарезервировано под данную кафедру.
Оператор может вручную перетаскивать занятия из нижнего списка в шахматку или двигать занятия по шахматке. Таким образом, рассчитав шахматку автоматически, потом имеется возможность ее изменить вручную, или, наоборот, проставив что-то вручную, остаток можно рассчитать автоматически. Система автоматически показывает все коллизии и несоблюдения условий и позволяет их быстро отрабатывать. Если в расписании присутствуют ошибки, то они будут выведены в правой части экрана с описанием. При двойном щелчке по ошибке на «шахматке» розовым цветом будут раскрашены ячейки, в которых найдена ошибка (см. рисунок ниже).
![](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20830%20564'%3E%3C/svg%3E)
Формулировка решаемой проблемы
Задачи назначения ограниченных ресурсов и на операции (работы) и составления расписания выполнения операций рассматриваются в рамках теории расписаний. Задачи, рассматриваемые в рамках данного проекта, принято называть «задачами составления временных таблиц (Time Tabling)». Обобщенная задача формулируется следующим образом. Даны множества ресурсов R1, R2,…Rk и множество операций J1, J2,… Jn, которые нужно выполнить. Для каждой операции задан набор ресурсов, необходимых для ее выполнения, причем ресурсы могут быть однозначно определены (фиксированные ресурсы), или может быть задано подмножество ресурсов, из которых нужно выбрать фиксированное их количество (свободные ресурсы). Каждый ресурс может быть назначен только на одну операцию в каждый момент времени.
Требуется для каждой операции выбрать «свободные ресурсы» и определить момент ее выполнения. Полученное расписание должно быть или допустимым (не нарушать ограничения на ресурсы) или оптимальным, т.е. допустимым расписанием, при котором минимизирована или максимизирована некоторая целевая функция.
В качестве примера можно привести следующую задачу составления расписания занятий в вузе, где R1 = группы студентов, R2 = преподаватели, R3 = помещения, операции = занятия. Ресурсы из R1 и R2 являются фиксированными, R3 — свободными. Имеются различные ограничения на время, когда каждый конкретный ресурс доступен (например, преподаватель Иванов И.И. может вести занятия только во Вт. и в Чт.). Требуется составить допустимое расписание учебных занятий, или оптимальное, при котором минимизируется, например, количество окон или количество используемых помещений.
Другим примером является задача составления графиков вахтования персонала на сырьевых предприятиях.
Рассматриваемые задачи, возникающие в практике Российских учреждений и организаций, специфичны. Их постановка сильно отличается от постановки схожих задач, возникающих в других странах. Например, в европейских странах ресурсные ограничения, связанные со студентами рассматриваются иначе. Каждый студент рассматривается индивидуально, но возможна ситуация, что в построенном допустимом расписании, студент не сможет посетить все выбранные им курсы. В нашей стране мало внимания уделяется алгоритмам решения задач с российской спецификой, а также автоматизации составления расписания. Как следствие, часто учебные расписания в ВУЗах составляются вручную отделами до 20 человек.
Сведения о рассматриваемой задаче и научная новизна
Сама по себе задача назначения ресурсов и составления расписания выполнения операций представляет собой теоретический интерес. Полученные алгоритмы решения обобщенной задачи могут рассматриваться как вклад в комбинаторную оптимизацию.
Рассматриваемая задача является NP-трудной в сильном смысле. В библиотеке ScienceDirect можно встретить более 1600 научных статей по данной тематике, что свидетельствует об ее актуальности.
Данная область теории расписаний активно развивается за рубежом. Например, в научной группе ASAP (Ноттингем, Великобритания). Многочисленные программные продукты для составления учебных расписаний или графиков работы персонала (в ресторанах, на транспорте) активно используются повсеместно.
Данная конфигурация разработана в сотрудничестве с лабораторией №68 «Теории расписаний и дискретной оптимизации» Института проблем управления им. В.А. Трапезникова РАН. В конфигурации реализован алгоритм решения задачи, предложенный сотрудниками лаборатории.
Интеграция с другими информационными системами
Программа является частью системы программ фирмы «1С» для автоматизации деятельности образовательных организаций и поддерживает интеграцию со следующими решениями:
- «1С:Университет», редакции 2.0;
- «1С:Университет ПРОФ», редакции 2.0.
Для обеспечения возможности интеграции программы с внешними системами и учета особенностей конкретных организаций:
- конфигурация поставляется с открытым исходным кодом, комплект поставки включает средства конфигурирования и разработки на языке «1С:Предприятие 8»;
- программа содержит механизм подключения дополнительных внешних обработок и отчетов;
- используются средства платформы «1С:Предприятие 8» для импорта табличных документов в форматах xsl, ods, pdf, html.