- Равномерностьраспределения нагрузки преподавателей между днями расписания;
- Равномерностьраспределения нагрузки классов между днями расписания;
- Контроль окон врасписании преподавателей;
- Программа учитывает то обстоятельство, что классы могутпроизвольно объединяться и дробиться (классы могут объединяться в потоки или жедробиться на более мелкие подгруппы, причем эти подгруппы, в свою очередь,могут служить основой для объединения в более крупные группы. Пример:в школе №1859 есть 2 старших класса, но в каждом из этих классовесть две подгруппы по специализации, занятия по общеобразовательным предметампроводятся сразу для всего класса, а предметы по специализации – отдельно. Нопоскольку подгруппы по специализации слишком малы, а преподавателей не хватает,по некоторым предметам подгруппы 11а и 11б также могут объединяться (например,на ин.яз.) – это усложняет обеспечении непрерывностирасписания для классов (необходимо обеспечивать непрерывность расписания длякаждой из подгрупп);
- Наличие нескольких смен– в этом случае отдельные классы должны приходить позже, чем группы первойсмены, кроме этого, усложняется контроль окон в расписании преподавателей, еслиесть преподаватели, работающие в обе смены – в этом случае в расписании этихпреподавателей их занятия необходимо “стягивать” вокруг пересечения смен;
- Условие привязкипреподавателей к аудитории – отдельные преподаватели имеют “свою” аудиторию, вкоторой проводят все свои занятия;
- Наличие “плавающей”смены – когда время начала первого урока точно не определено, т.к. оноформируется динамически, в зависимости от освобождения связанных с соответствующим классов, преподавателей, аудиторий;
- Контроль вхождениярасписания объекта (класс, преподаватель, аудитория) в допустимый рабочийдиапазон (в карту временных ограничений). Например, для преподавателя в картевременных ограничений обычно указываются методические дни, иногда, отдельныеномера уроков – словом, указываются те позиции, на которые установка занятий сучастием данного объекта невозможна;
- Наличие комбинированныхпредметов – типа “ин.яз./информатика”“информатика/труд” и т.п. - когда класс разбивается на подгруппы;
- Условие привязкипредметов к аудиториям – проведения занятий по отдельным предметам возможнолишь в строго определенной аудитории или списке аудиторий (физкультура, труд ит.п.);
- Составление расписания сучетом того обстоятельства, что по некоторым предметам на занятия приходит нецелый класс, а его подгруппа. Чтобы другая подгруппа в это время не гуляла пошколе, такие занятия могут ставиться строго только первыми или последнимизанятиями в расписании класса;
- “Выдержать параллели” – для некоторых преподавателейнеобходимо учитывать то обстоятельство, что для проведения занятий требуетсядлительная подготовка (например, занятия по химии), в этом случае занятия вдневном расписании преподавателя стараются поставить блоками параллелей, например,сначала 5-ые классы, затем 7-ые и т.п., или же при распределении между днямиразнести занятия в разных параллелях на разные дни;
- Иногда при составлениирасписания требуется учитывать тот нюанс, что по некоторым предметам расписаниеизвестно заранее –в этом случае такие занятия вводятсякак неперемещаемые (фиксированные);
- Контроль запрещенныхкомбинаций предметов, приходящихся на один день расписания класса – например,нежелательно, чтобы “физическая культура” и “труд” проводились в один и тот жедень;
- Выполнение условиятребуемых последовательностей предметов – когда необходимо обеспечиватьустановку групп занятий, в которых занятия должны идти в определеннойпоследовательности, например, физика-астрономия и т.п.;
- Наличие классов,привязанных к аудиториям – основная масса занятий для таких классов проводитсяименно в этой аудитории, за исключением тех занятий, для которых требуетсяспециализированная аудитория;
- Необходимостьрасстановки занятий по отдельным предметам по два занятия подряд (“парами”,“спарками”), причем это условие может быть жестким (ни в коем случае неразрывать “спарки” занятий), а может носить предпочтительный характер (если неполучается перемещать по два занятия, “спарку” можно разрывать);
- Учитывается то обстоятельство, когда по некоторым предметамрасстановка допустима лишь одиночными занятиями.
3. Система “Методист”
Выпускается в двухверсиях.
Версия virtual.
Выпускается без модуляавтоматического составления расписания. Возможности версии virtual:
- быстрыйпоиск в списках преподавателей, аудиторий, классов (групп), дисциплин, корпусов;
- получение справочнойинформации по каждому найденному элементу списка (вместимость аудитории, всеауд. корпуса Х, адрес и тел. преподавателя, список кафедры, кол-во часов подисциплине, учебная нагрузка преподавателя и мн. др.);
- контроль и возможностьперераспределения часов между неделями по любой дисциплине уч. группы;
- автоматическая проверкавозможных ошибок ввода данных (соответствие общей суммы часов и по видамзанятий, неназначение преподавателей по подгруппам, бюджет времени уч. группы ипреподавателя, несоответствие часов в группах потока и мн. др.);
- возможностьсистематизированного хранения (и быстрого поиска) дополнительной (необязательной для составления расписания) информации: фото преподавателей,кураторы учебных групп (классные руководители), данные о представителяхродительских комитетов, должности, ученые степени и звания, ответственные зааудиторию, ...
- быстрое получениеполной информации по сочетанию факторов (все группы потока, все дисциплиныпреподавателя Х с указанием нагрузки по неделям и видам занятий, какиедисциплины разрешено проводить в компьютерном классе, личные пожелания кпроведению занятий любого преподавателя, перечень праздничных дат в сирийскойгруппе и мн. др.);
- возможность просмотра,печати и редактирования готового расписания с проверкой корректности изменений(занятость ауд., преп., групп/подгрупп, ...);
- в любой момент можнозаказать модуль формирования расписания для подготовленных данных;
- расписание формируетсяна вашем компьютере с возможностью изменения настроек, контроля, правки и т.п.(без возможности изменения часов, дисциплин, преподавателей,...);
- если обнаруженанеобходимость незначительного (до 10%) измененияисходных данных (обнаружены ошибки, внезапные дополнения), возможен повторныйзаказ модуля формирования расписания за незначительную плату;
- в любой момент можноперейти на версию стандарт;
Методист– стандарт.
Помимо возможностей версии virtual включает в себя:
- Модуль автоматическогосоставления расписания;
- Распределение иконтроль учебной нагрузки ;
- Учет методическихрекомендаций и личных пожеланий преподавателей ('окна', метод. дни,теннис по четвергам, день рождения сына, ...);
- Cтрогое выдерживание последовательности прохождения дисциплины (лекции- 2 час., практические - 4 час., лабораторные ...);
- Составление расписаниядля любого типа учебного заведения: недельное или семестровое (от 1 до 23недель);
- Учет объединения групп(классов) в потоки и/или разбиение их на подгруппы;
- Закрепление специальныхаудиторий (компьютерные классы, лингафонные кабинеты, бассейн,...);
- Учет занятостипреподавателей и аудиторий (совместительство, использование общей учебной базы);
- Учет времени переходовмежду корпусами;
- Выходные и праздничныедни - общие и для отдельных учебных групп (национальные, религиозные,государственные праздники);
- Указание причин'неудачного назначения' занятий (занята аудитория, преподавательназначен в нежелательный для него день недели) с возможностью их'ручного' исправления;
- Возможностьмногократного автоматического 'улучшения' расписания;
- Возможность изменениязначимости учитываемых при составлении расписания факторов;
- Возможность введенияприоритетов преподавателей - степени учета их индивидуальных пожеланий;
Ограничения функциональности“Методиста”:
- многосменные расписанияограничены максимальным кол-вом уроков в день – 7;
- занятия всегданачинаются с первого урока / пары (при необходимости возможно назначение напервую пару 'свободного занятия' );
- не учитывется времяперемен (например для проверки возможности переходамежду корпусами);
- не учитывается'уровень сложности' занятий для их рационального распределения понеделе (хотя имеется возможность делать это косвенным образом) ;
- продолжительностьзанятий постоянна (невозможно составление расписания для 30 мин. урока вмладших и 45 мин. - в старших классах).
Приложение2. Листинг программного модуля методоврешения задачи автоматического составления расписанияuses
SysUtils;
type MyArray= array ofarray of real;
MyArray_X =array of longint;
procedureStep_Dual_simplex(var a:MyArray; m,n,i1,j1:integer);
{производит одиншаг двойственного симплекс-метода,
ведущий элемент - a[i1,j1]}
vari,j:integer;
b,b1:array of real;
begin
SetLength(b,m);Setlength(b1,n);
for i:=0 to m-1 do b[i]:=a[i,j1];
for i:=0 to n-1 do b1[i]:=a[i1,i];
for i:=0 to m-1 do
for j:=0 to n-1 do begin
if (i=i1) and (j=j1) then a[i,j]:=1/b[i1]
else
if (i=i1) then a[i,j]:=b1[j]/b[i1]
else
if (j=j1) then a[i,j]:=-b[i]/b[i1]
else a[i,j]:=a[i,j]-b[i]*b1[j]/b[i1];
end;
for i:=0 to n-1 do a[i1,i]:=0;a[i1,j1]:=-1;
Finalize(b);Finalize(b1);
end;
function Lexikogr_few(a:MyArray;m,n:integer;i,i1:integer):boolean;
{первый столбец лексикографическименьше второго}
var j:integer;
begin
Lexikogr_few:=false;