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




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

6.2Основные операции


В данном разделе приводится описание основных операций, используемых в разработанных алгоритмах.

Insert (n) – добавление в расписание n-го занятия

  1. Элемент lnsn удаляется из списка LessonsNotShed.

  2. В список LessonsShed добавляется элемент lsk (k=|LessonsShed|+1), равный lnsn

  3. Если lnsn.Shed=true, то корректируются гиперкубы (на время проведения занятия задействованные группы, аудитории и преподаватели помечаются во всех гиперкубах как занятые на данную работу):



;

;



Delete (n) – удаление из расписания n-го занятия

  1. Элемент lsn удаляется из списка LessonsShed.

  2. В список LessonsNotShed вставляется элемент lnsk (k выбирается таким образом, что список LessonsNotShed остается отсортированным по количеству групп |lnsi.Job.Groups|):

lnsk.Job = lsn .Job;

lnsk.Teacher = преподаватель, определенный (априорно) для курса, соответствующего работе lsn.Job;

lnsk.Room = аудитория, определенная (априорно) для курса, соответствующего работе lsn.Job;

lnsk.Shed = false

  1. Если lsn.Shed=true, то корректируются гиперкубы (на время проведения занятия задействованные группы, аудитории и преподаватели освобождаются):



;

;



GetPrice – вычисление изменения штрафной функции при добавлении очередного занятия

Schedule (n, wn, dn, pn) – размещение n-го занятия на указанное время

  1. Установка данного времени для данного занятия: lnsn.Week = wn; lnsn.Day = dn; lnsn.Pair = pn

  2. Если аудитория не задана априорно, то выбираем свободную с минимальной стоимостью и достаточной вместимостью: lnsn.Room = NULL lnsn.Room = r: ac(wn)(dn)(pn)(r)=”free (ar.Cost min) (ar.Capacity |lnsn.Job.Groups|)

  3. Если преподаватель не задан априорно, то выбираем свободного с минимальной стоимостью: lnsn.Teacher = NULL lnsn.Teacher = r: tc(wn)(dn)(pn)(r)=”free (tr.Cost min)

  4. В случае невозможности разместить занятие (не хватает аудиторий или преподавателей, группа уже занята на данное время) lnsn.Shed=false

Count (n, L) – вычисление количества вариантов размещения n-го занятия и нахождение оптимального варианта (Lограничение на количество вариантов)

  1. Начало работы: c=0, price=-1, wn=0, dn=1, pn=1

  2. Попытка разместить данное занятие на очередное место в расписании: Schedule(n, wn, dn, pn)

  3. Добавление занятия в расписание: Insert(n)

  4. Вычисление вклада занятия в значение штрафной функции: new_price = GetPrice

  5. В случае успешного размещения увеличиваем счетчик возможных размещений: lnsn.Shed = true c = c + 1

  6. Удаление занятия из расписания: Delete(n)

  7. Если очередной вариант размещения оптимальный с точки зрения значения штрафной функции, то запоминаем соответствующие ему значения пары, дня и недели:



  1. Переход к следующим значениям пары, дня и недели (pn, dn, wn)

  2. Если все возможные значения пары, дня и недели исчерпаны или c=L, L0 (при L=0 ограничений на количество вариантов размещения нет), то завершение операции; иначе переход к п.2.

  3. Результатом операции являются значения с (количество возможных размещений), resWeek, resDay, resPair (оптимальное время размещения).
1   2   3   4   5   6   7   8   9   10   ...   13

Похожие:

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

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

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

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

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

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

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

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

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

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



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



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