Продукт предназначен для решения задач автоматизированного составления учебных расписаний и оперативного управления помещениями в ВУЗах. С его помощью составлять расписание можно в автоматическом, ручном и смешанном режимах с учетом многих ограничений и условий. При этом можно построить как допустимое расписание, так и оптимизированное, в котором сокращено количество окон или количество используемых помещений.
Реализован следующий функционал:
Процесс составления расписаний в системе делится на следующие этапы:
При вводе нового расписания заполняются реквизиты:
На следующем рисунке представлена основная форма для составления расписания («шахматка», строки – дни недели, пары, колонки - помещения).
На шахматке отображаются уже поставленные в расписание занятия, а специальным цветом подсвечиваются ячейки, куда может/не может быть установлено занятие из нижнего списка «неупорядоченных» занятий.
Цвета обозначают следующее:
Оператор может вручную перетаскивать занятия из нижнего списка в шахматку или двигать занятия по шахматке. Таким образом, рассчитав шахматку автоматически, потом имеется возможность ее изменить вручную, или, наоборот, проставив что-то вручную, остаток можно рассчитать автоматически. Система автоматически показывает все коллизии и несоблюдения условий и позволяет их быстро отрабатывать. Если в расписании присутствуют ошибки, то они будут выведены в правой части экрана с описанием. При двойном щелчке по ошибке на «шахматке» розовым цветом будут раскрашены ячейки, в которых найдена ошибка. (см. рисунок ниже).
Формулировка решаемой проблемы
Задачи назначения ограниченных ресурсов и на операции (работы) и составления расписания выполнения операций рассматриваются в рамках теории расписаний. Задачи, рассматриваемые в рамках данного проекта, принято называть "задачами составления временных таблиц (Time Tabling)". Обобщенная задача формулируется следующим образом. Даны множества ресурсов R1, R2,...Rk и множество операций J1, J2,... Jn, которые нужно выполнить. Для каждой операции задан набор ресурсов, необходимых для ее выполнения, причем ресурсы могут быть однозначно определены (фиксированные ресурсы), или может быть задано подмножество ресурсов, из которых нужно выбрать фиксированное их количество (свободные ресурсы). Каждый ресурс может быть назначен только на одну операцию в каждый момент времени.
Требуется для каждой операции выбрать «свободные ресурсы» и определить момент ее выполнения. Полученное расписание должно быть или допустимым (не нарушать ограничения на ресурсы) или оптимальным, т.е. допустимым расписанием, при котором минимизирована или максимизирована некоторая целевая функция.
В качестве примера можно привести следующую задачу составления расписания занятий в ВУЗе, где R1 = группы студентов, R2= преподаватели, R3= помещения, операции = занятия. Ресурсы из R1и R2 являются фиксированными, R3- свободными. Имеются различные ограничения на время, когда каждый конкретный ресурс доступен (например, преподаватель Иванов И.И. может вести занятия только во Вт. и в Чт.). Требуется составить допустимое расписание учебных занятий, или оптимальное, при котором минимизируется, например, количество окон или количество используемых помещений.
Другим примером является задача составления графиков вахтования персонала на сырьевых предприятиях.
Рассматриваемые задачи, возникающие в практике Российских учреждений и организаций, специфичны. Их постановка сильно отличается от постановки схожих задач, возникающих в других странах. Например, в европейских странах ресурсные ограничения, связанные со студентами рассматриваются иначе. Каждый студент рассматривается индивидуально, но возможна ситуация, что в построенном допустимом расписании, студент не сможет посетить все выбранные им курсы. В нашей стране мало внимания уделяется алгоритмам решения задач с российской спецификой, а также автоматизации составления расписания. Как следствие, часто учебные расписания в ВУЗах составляются вручную отделами до 20 человек.
Сведения о рассматриваемой задаче и научная новизна
Сама по себе задача назначения ресурсов и составления расписания выполнения операций представляет собой теоретический интерес. Полученные алгоритмы решения обобщенной задачи могут рассматриваться как вклад в комбинаторную оптимизацию.
Рассматриваемая задача является NP-трудной в сильном смысле. В библиотеке ScienceDirect можно встретить более 1600 научных статей по данной тематике, что свидетельствует об ее актуальности.
Данная область теории расписаний активно развивается за рубежом. Например, в научной группе ASAP (Ноттингем, Великобритания). Многочисленные программные продукты для составления учебных расписаний или графиков работы персонала (в ресторанах, на транспорте) активно используются повсеместно.
Данная конфигурация разработана в сотрудничестве с лабораторией №68 «Теории расписаний и дискретной оптимизации» Института проблем управления им. В.А. Трапезникова РАН. В конфигурации реализован алгоритм решения задачи, предложенный сотрудниками лаборатории.