Дипломная Работа




НазваниеДипломная Работа
страница6/13
Дата публикации29.07.2013
Размер0.52 Mb.
ТипДиплом
lit-yaz.ru > Информатика > Диплом
1   2   3   4   5   6   7   8   9   ...   13
^

6Описание алгоритма

6.1Структуры данных


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

^ Список работ

Список работ строится исходя из курсов, назначенных для каждой группы и каждого потока. Работа может быть размещена на одну из двух недель («мигалка») или на обе недели в один и тот же день в одинаковое время, соответственно определяя размещение одного или двух занятий по данному курсу. Каждый курс разбивается на несколько работ так, что при четном количестве занятий в курсе все работы размещаются на обе недели, а при нечетном – одна работа размещается на одну неделю, а остальные – на обе. Если курс назначен для группы, то в список групп для работы попадает только эта данная группа. Если же курс план назначен для потока, то, в зависимости от значения флага Thread, в список групп добавляются все группы потока (если это поточное занятие, например, лекция), либо создаются несколько отдельных работ по числу групп потока, и в список групп каждой из этих работ попадает одна группа:

Jobs={Ji}

Ji = <{Group}, Disc, Count>

{Group} – список групп, для которых задана работа

Disc – дисциплина

Count – количество занятий (1 или 2 за две недели. Если 2, то оба занятия распределяются на одну и ту же пару в один и тот же день)

^ Списки размещенных и неразмещенных занятий

В список неразмещенных занятий LessonsNotShed в начале работы алгоритма попадают элементы, соответствующие каждой работе из списка Jobs. При этом если для соответствующего курса априорно определены преподаватель и/или аудитория, то информация об этом также заносится в данный список. Список размещенных занятий LessonsShed в начале работы алгоритма пуст. На каждой итерации элемент, соответствующий размещаемой работе, удаляется из списка LessonsNotShed и добавляется в список LessonsShed. Таким образом, список LessonsShed представляет собой частичное расписание:

^ LessonsShed={lsi}; LessonsNotShed={lnsi}

lsi; lnsi =

Job – размещаемая работа

Teacher – преподаватель

Room – аудитория

Pair, Day, Week – время размещения работы

Shed – флаг, определяющий, успешно ли размещено данное занятие

Гиперкубы

Гиперкубы определяют состояние групп, преподавателей и аудиторий – их занятость в каждый момент времени, допустимость преподавателей и аудиторий для проведения определенных занятий и необходимость проведения занятий для групп:

GC={gcxyzw}(x=0..1, y=1..MaxDays, z=1..MaxPairs, w=1..NG) – для групп

AC={acxyzw}(x=0..1, y=1..MaxDays, z=1..MaxPairs, w=1..NA) – для аудиторий

PC={pcxyzw}(x=0..1, y=1..MaxDays, z=1..MaxPairs, w=1..NP) – для преподавателей

gcxyzw , acxyzw , pcxyzw {“free”, “block”} (1..|Jobs|) – элемент гиперкуба указывает, свободна, заблокирована или занята на определенную работу из списка Jobs данная группа w на z-й паре в y-й день x-й недели. Аналогичный смысл имеют значения гиперкубов для преподавателей и аудиторий. Такие же гиперкубы GCi, ACi, PCi(i=1..|Jobs|) формируются для каждой из работ.

Заполнение гиперкубов:

  1. Элементы гиперкубов заполняются свободными ячейками:



  1. Расставляются «жесткие» блокировки для аудиторий:



  1. Аналогично блокировкам для аудиторий расставляются блокировки для групп и преподавателей.

  2. Расставляются дополнительные блокировки для аудиторий для тех работ, которые не могут проводиться в данных аудиториях:

(x=0..1; y=1..MaxDays, z=1..MaxPairs, w-я аудитория непригодна для проведения i-й работы)

  1. Аналогично расставляются дополнительные блокировки для преподавателей:

(x=0..1; y=1..MaxDays, z=1..MaxPairs, w-й преподаватель не может вести занятия по дисциплине i-й работы)

  1. Расставляются дополнительные блокировки для групп для тех работ, которые не входят в учебный план для данных групп:

(x=0..1; y=1..MaxDays, z=1..MaxPairs, i-я работа не назначена для w-й группы)
1   2   3   4   5   6   7   8   9   ...   13

Похожие:

Дипломная Работа iconНазвание организации
Заголовок «Дипломная работа» или «Курсовая работа»: Times New Roman, 14 (вопреки П. 113), по центру. Затем – 2 пустые строки

Дипломная Работа iconДипломная работа
Степень удовлетворенности пользователей в документах по музыкальному искусству 25

Дипломная Работа iconДипломная работа
Состояние, тенденции и проблемы развития народного образования в Новом Уренгое

Дипломная Работа iconДипломная работа
Разработка анализатора системы обнаружения атак, основанного на методах кластерного анализа”

Дипломная Работа iconДипломная работа
Удостоверение подлинности участников интернет-голосований на основе анализа сетевых сессий

Дипломная Работа iconДипломная работа
Удостоверение подлинности участников интернет-голосований на основе анализа сетевых объектов

Дипломная Работа iconДипломная работа
Удостоверение подлинности участников интернет-голосований на основе анализа сетевых объектов

Дипломная Работа iconДипломная работа
Удостоверение подлинности участников интернет-голосований на основе анализа сетевых объектов

Дипломная Работа iconДипломная работа
Повышение качества результатов анонимного интернет-голосования методом анализа сетевых объектов

Дипломная Работа iconДипломная работа
Использование средств olap-технологий для построения системы Бизнес Интеллекта факультета



Образовательный материал



При копировании материала укажите ссылку © 2013
контакты
lit-yaz.ru
главная страница