Смекни!
smekni.com

Разработка математической модели и ПО для задач составления расписания (стр. 11 из 12)

- Равномерностьраспределения нагрузки преподавателей между днями расписания;

- Равномерностьраспределения нагрузки классов между днями расписания;

- Контроль окон врасписании преподавателей;

- Программа учитывает то обстоятельство, что классы могутпроизвольно объединяться и дробиться (классы могут объединяться в потоки или жедробиться на более мелкие подгруппы, причем эти подгруппы, в свою очередь,могут служить основой для объединения в более крупные группы. Пример:в школе №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;