
- •Введение
- •1. Элементы теории множеств
- •1.1.Понятие множества.
- •1.2. Способы задания множеств.
- •1.3. Свойства множеств.
- •1.4. Конечные и бесконечные множества.
- •1.5. Подмножества.
- •1.6. Множество как абстракция.
- •1.7. Операции над множествами.
- •1.8.Декартово произведение множеств
- •1.9. Контрольные задания
- •2. Отношения
- •2.1. Общие положения
- •2.2. Задание отношений.
- •2.3. Виды отношений.
- •2.3.1. Рефлективность.
- •2.3.2. Симметричность.
- •2.3.3. Транзитивность.
- •2.4. Отношение эквивалентности
- •2.5. Функция.
- •2.6. Отношение как базовое понятие в реляционных
- •2.7. Контрольные задания
- •3. Элементы алгебры логики
- •3.1. Силлогизмы Аристотеля.
- •3.2. Высказывания.
- •3.3. Исчисление высказываний и
- •3.4. Функции алгебры логики
- •3.5. Равносильности алгебры логики
- •3.6. Одна логическая задача
- •3.7. Реализация функций в элементных базисах
- •3.9. Совершенная конъюнктивная нормальная форма
- •3.10. Реализация операции суммирования в компьютере
- •3.11. Контрольные задания
- •4. Элементы теории графов
- •4.1. История возникновения
- •4.2. Основные понятия
- •4.3. Матрицы графа
- •4.4. Деревья
- •4.5. Раскраска
- •5. Элементы теории алгоритмов
- •5.1. Интуитивное понятие алгоритма
- •5.2. Свойства алгоритмов
- •5.3. Вычислительные и комбинаторные алгоритмы
- •5.5. Асимптотические оценки сложности алгоритма
- •Порядки сложности алгоритма
- •5.6. Комбинаторный взрыв
- •6. Полиномиальные алгоритмы
- •6.1. Построение минимального остовного дерева.
- •6.1.1. Жадный алгоритм
- •6.1.2. Алгоритм Прима
- •6.2. Контрольные задания
- •7. Эвристические алгоритмы
- •7.1. Алгоритм последовательной раскраски
- •7.2. Контрольные задания
- •8. Сетевое планирование
- •8.1. Основные понятия
- •8.2 Параметры сетевого планирования
- •8.3. Вычисление параметров сетевого графика
- •8.4. Контрольные задания
- •9. Элементы абстрактной теории автоматов
- •9.1. Определение абстрактного автомата
- •9.2. Методы задания автоматов
- •9.3. Связь между моделями Мили и Мура.
- •9.4.1. Преобразование автомата Мура в автомат Мили
- •9.4.2. Преобразование автомата Мили в автомат Мура
- •9.5. Контрольные задания
- •10. Уточнение понятия алгоритма
- •10.1. Машина Тьюринга
- •Для каждого алгоритма u из класса к1 существует равносильный ему алгоритм l из класса к2.
- •10.2. Нормальный алгоритм Маркова
7.2. Контрольные задания
Раскрасить граф упорядочением вершин по степеням. В качестве вариантов взять задания 1-30 из раздела 4.5. У данных графов убрать веса ребер и перенумеровать вершины от1 до n.
Например, вариант №1 будет иметь следующий вид:
8. Сетевое планирование
Сетевое планирование применяют для анализа производственных процессов при выполнении некоторого комплекса работ. Оно позволяет выявить скрытые резервы, осуществить мобилизацию ресурсов и тем самым способствовать выполнению работ в заданные сроки.
Сетевое планирование было разработано в США в конце 50-х годов и приобрело широкую известность под названием системы PERT (“Program Evaluation and Review Technique”) – “Техника оценки и контроля производственных программ”. Определенное распространение эти методы получили и в нашей стране.
8.1. Основные понятия
Сеть – это ориентированный взвешенный граф без контуров G(X, U, W), |X|= n, |U|=m, |W|=m.
В ес ребра wi0, wiW, i = 1,m .
Имеется только одна вершина без заходящих дуг, называемая источником. Имеется только одна вершина без исходящих дуг, называемая стоком.
Любой взвешенный ориентированный граф без контуров легко превратить в сеть путем введения фиктивных источника и стока и дуг с нулевыми весами.
ами.
Рис.8.1. Преобразование ориентированного
графа в сеть
В сетевом планировании элементы сети имеют свои специфические названия. Сама сеть называется сетевым графиком. Вершины сети называются событиями. Это результаты выполненных работ. Источник называется первоначальным событием и обозначается символом I. Сток называется завершающим событием и обозначается символом С.
Дуги сети называются работами, так как соответствуют некоторым процессам. Каждая работа ограничена двумя событиями: начальным xi и конечным xj (рис.8.2). Вес дуги tij обычно обозначает время, необходимое для ее выполнения.
Рис.8.2. Изображение работы на сетевом графике
Пример сетевого графика показан на рис.8.3.
4
x2
C=x5
11
8
3
I=x1
2
2
x4
x3
Рис.8.3. Изображение сетевого графика
8.2 Параметры сетевого планирования
Основным параметром сетевого планирования является критический путь Iкр. Это наиболее протяженная по времени цепочка работ, ведущая от исходного события к завершающему.
На рисунке 8.3 критический путь выделен жирными линиями:
Iкр=I-x2-x4-C.
Длиной критического пути Tкр называется суммарное время выполнения работ критического пути.
Tкр=Σtij
На рис.8.3 Tкр=t12+t24+t45=3+8+11=22
Критический путь определяет время реализации всего комплекса работ. Если задержка на работах вне критического пути может не сказаться на выполнении всего объема работ, то любая затяжка работ на критическом пути неизменно скажется на увеличении времени выполнения всей программы работ и приведет к увеличению критического пути Ткр.
Каждое событие сети xiX, i=1,…, n характеризуется двумя сроками:
Трi – наиболее ранний из возможных сроков свершения события;
Тпi – наиболее поздний из допустимых сроков свершения события(рис.8.4).
Тпi
Трi
хi
Рис.8.4.
Изображение
сроков свершения событий
Трi-это срок, необходимый для выполнения всех работ, предшествующих данному событию.
Говоря другими словами, Трi соответствует пути максимальной длины от первоначального события i до данного события xi:
Tpi=t(Lmax(I-xi))
На рис.8.3. легко увидеть, что Тр(x4)=11. Действительно, Тр(x4)=max(t(x1-x2-x4), t(x1-x3-x4)=max(3+8,2+2)=max(11,4)=11.
Ранний срок свершения события имеет ясное содержательное толкование. Будем интерпретировать событие х4 на рис.8.3 как начало сооружения крыши здания, а предыдущие работы как сооружение фундамента и стен. Тогда понятно, что начинать крыть крышу мы можем лишь после того, как закончим все подготовительные работы, то есть через 11 единиц времени.
Тпi –это такой срок свершения события, превышение которого вызовет аналогичную задержку завершающего события С.
Тпi-соответствует разности между длиной критического пути Ткр и пути максимальной длины от данного события хi до завершающего события С:
Тпi=Ткр-t(Lmax(xi-C))
Для события х2 на рис.8.3 Тп(х2)=3. Действительно, Тп(х2)=Ткр-max(t(x2-x1)), t(x2-x4-x5))=22-max(4,8+11)=22-19=3
Ранние и поздние сроки свершения событий для сетевого графика (рис.8.3) приведены на рис.8.5 и представлены в виде одномерных массивов. Индекс массива соответствует номеру события. Очевидно, что при таком представлении события в сети должны быть пронумерованы подряд, начиная от единицы.
Тр1 2 3 4 5
Тп1 2 3 4 5
0 3 2 11 22
0 3 9 11 22
Рис.8.5. Сроки совершение событий
Из рис.8.5 следует, что для событий, находящихся на критическом пути, справедливо:
Трi=Тпi
Для событий же не принадлежащих критическому пути, выполняется:
Трi<Tпi
Это означает, что график свершения событий критического пути должен строго соблюдаться, то есть работы на критическом пути должны выполняться точно в срок. Их нельзя сдвигать. Работами же вне критического пути можно маневрировать, сдвигая их начало или окончание в пределах допустимых резервов времени.
Итак, мы подошли к понятию резерва времени, которое характеризует работы сетевого графика. Наибольшее распространение получили понятия полного и свободного резервов времени.
Полный резерв времени Rпij-это максимальное количество времени, на которое можно увеличить продолжительность данной работы tij, не изменяя длины критического пути.
Rпij=Tпj-Tpi-tij
Свободный резерв времени Rcij-это максимальное количество времени, на которое можно увеличить продолжительность данной работы tij, не изменяя ранних сроков начала последующих работ.
Rcij=Tpj-Tpi-tij
Значения Rп и Rc для сетевого графика, изображенного на рис.8.3, приведены на рис.8.6.
Из рисунка видно, что у работ критического пути нет резервов времени. У всех же работ, не принадлежащих критическому пути, имеется полный резерв времени Rп. Например,
Rп(х1-х3)=Тп(х3)-Тр(х1)-t13=9-0-2=7
Это означает, что начало или окончание работы х1-х2 может быть сдвинуто на 7 единиц времени.
-
Работы xi-xj
Rпij
Rcij
х1-х2
0
0
х1-х3
7
0
х2-х4
0
0
х2-х5
15
15
х3-х4
7
7
х4-х5
0
0
Рис.8.6. Резервы времени
Свободный резерв времени является более жестким резервом, чем полный резерв.
Rc(x1-x3)=Tп(х3)-Тр(х1)-t13=2-0-2=0
Действительно, полный резерв работы х1-х3 определяет, что она должна выполняться в такие сроки, чтобы событие х3 свершилось не позднее, чем через 9 единиц времени. Свободный же резерв времени данной работы свидетельствует о том, что событие х3 должно свершиться точно через 2 единицы времени.
Распространение получили также следующие параметры сетевого планирования.
Ранний срок начала работ Трн-самый ранний из возможных сроков начала работы. Он равен продолжительности максимального пути от исходного события С до данного события i
Tpнij=Tpi
Ранний срок окончания работы Трo-это срок окончания работы при условии ее начала в самый ранний из возможных сроков.
Троij=Tpнij+tij
Поздний срок окончания работы Тпн-это предельно допустимый срок окончания работы при условии ее начала в самый ранний период из возможных сроков.
Тпоij=Тпi
Поздний срок начала работы Тпн-это самый поздний срок, в который может быть начата данная работа, без увеличения критического пути
Тпнij=Тпоij-tij
Для всех работ критического пути:
Трнij=Тпнij
Tpoij=Tпоij,
поскольку для них выполняется Трi=Tпi