Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Специальные главы математики множества, графы, комбинаторика. Учебное пособие
.pdf
Упражнения 2.4
Для графа, изображенном на рис. 2.24, найти:
1) простую цепь, соединяющую v
2) простую цепь, идущую от v
через v
;
7
3) сложную цепь, соединяющую v
и v4;
4) сложную цепь, соединяющую v
и v2;
5) простой цикл, начинающийся
в v
и имеющий длину 6;
1
6) сложный цикл, начинающийся
в v
и имеющий длину 9.
1
7) Элементарный цикл, начинающийся в v
В каждом из случаев 1–7 есть много возможностей;
8) покажите, что последовательность е
цепью. Вставьте мысленно в эту последовательность одно ребро так,
чтобы получилась цепь. Будет ли полученный результат простой или
сложной цепью?
9) классифицируйте последовательности: е
е
, е11, е4, е6; е1, е2, е8, е10, е6, е2; е2, е6, е10, е8; е2, е6, е10, е9, е8; е7, е3, е11,
1
е
, е6 (т. е. установите, являются ли они цепями или циклами, просты-
11
ми, сложными или элементарными);
10) составьте цепь, идущую от v
ли эта цепь простой или сложной?
11) найдите элементарный цикл, который будет одновременно и про-
стым циклом; найдите простой цикл, который не элементарен. Докажите, что элементарный цикл всегда будет простым, но обратное выполняется не всегда. Покажите, что элементарный цикл не содержит петель.
и v4;
1
к v5
1
1
v
2
1
e
e
7
v
1
v
6
e
11
e
3
v
3
e
2
e
8
v
5
e
4
e
v
4
e
10
v
e
9
Рис. 2.24
и имеющий длину 5.
1
, е3, е5, е4, е10 не является
7
, е3, е4, е5, е5, е4, е2;
7
к v7 и проходящую через v6. Будет
2
e
5
Упражнения 2.5
1. Рассмотрите граф, изобра-
женный на рис. 2.25.
(1) Связен ли он?
(2) Останется ли граф связным,
если убрать ребро е
(3) Останется ли граф связным,
если убрать ребро е
?
1
?
3
41
е
1
е
2
Рис. 2.25
е
3
е
4

(4) Останется ли граф связным, если убрать ребра е1, е2 и е4?
2. Если граф связен и является элементарным циклом, что можно
сказать о степенях его вершин?
3. Что можно сказать о степенях вершин связной элементарной цепи?
Упражнения 2.6
1. В теннисном турнире с двумя участниками победителем считается тот, кто первый выиграет три партии. Определите с помощью дерева число возможных последовательностей исходов игр в турнире.
Каково максимальное возможное число игр?
2. Четыре мальчика A, B, C, D бросают друг другу мяч по следующим правилам:
(1) А никогда не
(2) В никогда не бросает A и C;
(3) С никогда не бросает В;
(4) D никогда не бросает В;
(5) никто из мальчиков, бросив мяч, не ловит его сам.
Предположив, что мяч первоначально находится у А, начертите дерево-диаграмму, чтобы показать возможные пути мяча в течение
вых пяти бросков.
(6) Предположив, что D никогда не бросает ни B, ни C, покажите,
что С никогда не получает мяч.
бросает мяч C и D;
пер-
2.9. Приложение к теории графов
Сетевое планирование
Сложную систему можно представить сетью или графом, при этом
узлы графа могут соответствовать отдельным блокам, а дуги, соединяющие эти узлы, будут указывать на связи или зависимости между
блоками. Изучение правильно выбранной сетевой модели очень часто
помогает составить достаточно ясное представление о системе и ее
функционировании. Сетевые методы просты, объективны, высокоэф
фективны и очень полезны для успешного выполнения соответствующих функций управления.
Пример. При строительстве нового объекта или реконструкции
действующего требуется четкий план последовательного проведения
необходимых работ. Все работы должны быть обеспечены рабочей силой, механизмами, материалами. Для проведения последующих работ
должны быть выполнены все подготовительные операции, закончены
42
-

все связанные с ними предшествующие работы и т. д. Составление
проекта, предусматривающего все взаимосвязи между отдельными работами, распределение имеющихся материальных ресурсов, а также
ресурса времени, и есть задача сетевого планирования.
Из истории сетевого планирования. Сетевые методы планирова-
ния начали в промышленности с середины 50-х годов прошлого века –
в области строительства
мостов, эксплуатации заводов, проектирования домов, в области космических полетов. Любая программа, большая
или малая, от взятия пробы лунного грунта до чистки пары ботинок может быть успешно проанализирована с помощью сетевой модели.
Новым методам давали различные названия. Здесь в качестве примера будут рассмотрены методы анализа критического пути [6]. Общий метод анализа критического пути может быть разбит на три стадии: стадия планирования, стадия анализа и стадия управления.
Стадия планирования. План может быть разбит на множество
подпланов, называемых работами. При этом оценивают время завершения каждой из этих работ, может быть также сделана попытка определения последовательности, в которой они
должны выполняться.
Определение работы
1-й шаг: при построении сложного плана (или программы) его разбивают на подпланы, которые будем называть работами (р).
2-й шаг: состоит в определении того, как эти работы связаны меж-
ду собой во времени.
Таким образом, если р
выяснить, выполняются ли р
и рj – две различные работы, то необходимо
i
и рj одновременно или же одна работа
i
должна быть закончена прежде, чем начнется другая.
Примеры
Задание 1: вскипятить чайник с водой.
Множество работ (р) плана:
– наполнить чайник водой;
р
1
р
– поставить чайник с водой на плиту, включить плиту и ждать,
2
пока он не закипит.
Очевидно, что работа р
начнется работа р
.
2
должна быть закончена прежде, чем
1
Задание 2: приготовить чашку растворимого кофе с молоком.
Множество работ (р) плана:
р
– вскипятить воду (как в задании 1);
1
– вскипятить молоко (эта процедура аналогична р1);
р
2
43

р3 – положить в чашку ложечку растворимого кофе;
р
– добавить необходимое количество молока и воды.
4
В этом плане последовательность работ во времени не так очевидна, как в первом случае. Если предположить, что существуют две конфорки, то работы «вскипятить молоко» и «вскипятить воду» можно
выполнять одновременно. Если же в наличии имеется только одна
конфорка, то эти работы необходимо
боту р
пят; очевидно, что и работа р
все работы р
можно выполнять только после того, как и молоко и вода вски-
3
не может быть начата до тех пор, пока
4
и р3 не будут окончены.
1, р2
выполнять последовательно. Ра-
► Замечания
1. В общем случае разбиение плана на множество работ не единственно. Например, работы «вскипятить молоко» или «вскипятить воду» могут быть разбиты при желании на более мелкие работы. Выбор
множества работ для некоторого плана зависит от необходимого уровня анализа. Очень часто первое подразделение бывает
грубым, при
этом ориентируются на основные действия процесса. Дальнейшее разбиение направлено на выявление зависимостей внутри групп работ,
соответствующих более низкому уровню деятельности.
2. Работа может соответствовать заданию, выполнение которого
сопряжено с определенными усилиями; наоборот, работа может быть
бездеятельной, например, ожиданием чего-то, что должно произойти
(для рассмотренного примера это
будет ожидание кипения воды).
3. Иногда во множество работ полезно включить фиктивную работу. Это работы, которые не занимают времени и для которых не ис-
пользуются никакие ресурсы.
4. Имеется несколько специальных случаев, зависимостей между
работами, которые должны быть рассмотрены при построении сетевых
моделей (например, параллельное выполнение работ, зависимость одной работы
от нескольких предшествующих работ и т. п.).
События. Слово событие в сетевом планировании означает точку
во времени, которая отделяет различные осуществления плана.
Пример
В плане «вскипятить чайник воды» можно выделить три точки
времени, которые называются событиями:
1) время начала выполнения задания;
2) время, когда мы ставим чайник на плиту после завершения
ты «наполнить чайник»;
44
рабо-

3) время начала кипения, характеризующее окончание выполнения
задания.
Графическое изображение событий и работ. Работы будем изображать стрелками (т. е. направленными дугами) графа (рис. 2.26). Описания работ при желании могут записываться вдоль стрелок. События
должны быть занумерованы. Как правило, вершины графа обозначаются некоторыми геометрическими фигурами (например, кружочками). Внутри этих
фигур проставляется соответствующий номер. Опи-
сание события может быть тоже записано внутри кружочка.
Сеть
Началь
ное со-
бытие
Описание
работы
Конечное со-
бытие
1
2
3
Наполнить чайник Поставить чайник
водой на огонь и начать
кипятить
План – вскипятить чайник воды
Сеть
Вскипятить
воду
1 4 5
2
Положить
кофе в чашку
Фиктивная работа
В чашку налить
воды и молока
Вскипятить
молоко
3
Фиктивная работа
План – приготовить чашку кофе
Рис. 2.6
45

Работа должна быть выполнена в течение времени между двумя
событиями, обозначенными своими номерами в концах соответствующей стрелки. Событие, соответствующее началу стрелки, называется
начальным (или предшествующим) событием; конец стрелки называют конечным (или последующим) событием. Любая работа может быть
определена своими числами, которые соответствуют начальным и конечным событиям.
На рис
. 2.26 иллюстрируются графические изображения сетей.
► Замечания
1. Фиктивные работы (время выполнения равно нулю) необходимы
для изображения параллельных работ. Три параллельные работы –
«вскипятить молоко», «вскипятить воду», «положить в чашку кофе» –
имеют одни и те же начальные и конечные события; для большей ясности события 2 и 3 (которые соответствуют событию 4) показаны на
графике.
Фиктивные работы 2–4 и 3–4 обозначены пунктиром.
2. Длина стрелок и расположение дуг не имеют значения.
3. Желательно придерживаться следующих правил:
(а) время изменяется слева направо;
(б) конечным событиям всегда присваиваются большие номера,
чем соответствующим начальным событиям. Числа не обязательно
должны подчиняться естественному порядку 1, 2, 3,... На практике часто используются числа с промежутками между
ними, например, в се-
тевой модели Приготовить чашку кофе этими числами могли быть 1,
5, 6, 7, 10.
Основная работа и отношения между событиями. При составле-
нии сети необходимо принимать во внимание следующее:
1) событие нельзя считать наступившим (или достигнутым), если
все работы, ведущие к этому событию, не окончены;
2) работа не может быть начата до
тех пор, пока начальное событие
не наступило.
Например, в сети на рис. 2.27 видно, что событие 8 не может быть
достигнуто, пока не будут до-
4
8 9
5
Рис. 2.27
стигнуты события 4 и 5 и обе
работы 4–8 и 5–8 не будут
окончены. Далее, как видно,
работа 8–9 не может быть начата, пока событие 8 не будет
достигнуто.
46

Продолжительность работы. После того как конечное множество
работ задано и сеть проекта нарисована, необходимо оценить продолжительность выполнения каждой работы, которая должна быть подписана под соответствующей стрелкой.
Продолжительность работы есть время ее выполнения. Заметим,
что это не то же самое, что время между начальным и конечным событием. Например,
начальное и конечное события некоторой работы могут происходить на 3-й и 7-й день соответственно, тогда как продолжительностью работы может быть только один день; в таком случае
говорят, что работа имеет резерв в три дня. Вопросы резерва работ будут рассмотрены далее.
Пример
Задание. Покрасить дверь (один маляр и один
помощник).
Список работ (в скобках – их продолжительность в минутах):
– счистить старую краску (75);
р
1
– прошкурить дверь (30);
р
2
– открыть банку и размешать краску (4);
р
3
– приготовить кисти (5);
р
4
– вытереть дверь (4), сделать до р6;
р
5
– покрасить дверь (15);
р
6
– вычистить кисти и собрать инструменты (6).
р
7
Сетевая модель этого проекта изображена на рис. 2.28.
р
1
75
1
р
2
2
3
р
30
р
3
р
4
5
4
5
4
0
4
р
6
5
15 6
р
7
6
7
Рис. 2.28
Стадия анализа. Разбиение проекта на множество работ и определение связей между работами во времени – задача весьма трудоемкая. Ее
решение помогает выявлению промежуточных целей и направления
действий, которым должен следовать руководитель. Это дает возможность решить, какие работы должны быть выполнены для осуществле-
47

ния различных подпроектов, позволяет правильно распределить все работы. После построения сетевой модели ход действий становится ясным
и можно приступить к выполнению проекта; другими словами, сетевое
планирование предусматривает выработку некоторой стратегии действий.
При решении задачи планирования может быть извлечена дополнительная информация из сетевой модели самого плана. Это приводит
к стадии анализа, в котором такие понятия, как критический путь и
нас
резерв времени работы, играют ключевую роль.
Критический путь. Первый шаг в анализе графа работ заключается в
нахождении критического пути (или путей) сети. Для определения этого
понятия рассмотрим простейшую сеть, изображенную на рис. 2.29.
► Замечание. В наших примерах мы не
будем обсуждать реально-
го смысла работ, как это делалось ранее. Как правило, вся символика
будет той же, что на рисунке. Символом v (вершина) обозначаются события; пара (v
, vj) определяет работу рij; число, стоящее около каждой
i
стрелки, означает время выполнения соответствующей работы.
4
v
1
v
3
v
2
v
2
3
4
1
1
2
5
Рис. 2.29
v
5
4
v
6
3
v
7
На рис 2.29 в сети v1 означает начало проекта, а v7 – его окончание.
Заметим, что от вершины v
к вершине v7 можно пройти по сети че-
1
тырьмя различными путями; для каждого пути мы можем определить
его примерную продолжительность – длину пути, т. е. сумму продолжительностей последовательных работ, образующих путь. Пути и их
продолжительности будут следующими.
Путь Продолжительность
v
− v2 − v5 − v7 4 + 1 + 4 = 9
1
v
− v2 − v6 − v7 4 + 1 + 3 = 8
1
− v3 − v6 − v7 3 + 2 + 3 = 8
v
1
v
− v4 − v6 − v
1
7
2 + 5 + 3 = 10
48

Введем следующие определения.
1. Максимальное значение в множестве продолжительностей всех
путей (оно может достигаться на нескольких путях) называется пол-
ным временем осуществления проекта. Это значение определяет
наикратчайшее время, за которое может быть выполнен весь проект.
2. Любой путь, длина которого равна полному времени осуществ-
ления проекта, называется критическим путем.
В приведенном
примере максимальная продолжительность пути
равна 10 единицам времени, если отсчет начинается со времени свершения события v
ния проекта будет 10, а критическим путем v
. Отсюда следует, что полным временем осуществле-
1
− v4 − v6 − v7.
1
Чтобы уменьшить полное время осуществления проекта, необходимо сократить продолжительность работ, лежащих на критическом
пути. Уменьшение продолжительности работы, не принадлежащей
критическому пути, не отразится на изменении полного времени осуществления проекта.
Метод определения критического пути. Процедура отыскания
критического пути состоит в следующем.
Прежде всего, составляется список всех событий в
той последовательности, в которой они должны выполняться, т. е. по сети слева
направо.
Затем для каждого события вычисляются так называемые ранний
срок (Е) и поздний срок (L) свершения события. Если отыскание кри-
тического пути выполняется вручную, то эти значения можно сразу
записать на графике.
Тогда любой путь, такой
, что для всех событий, входящих в не-
го, Е = L, будет одним из возможных критических путей.
Для иллюстрации описанной процедуры рассмотрим простую сетевую модель (критический путь обозначен жирной линией) (рис. 2.30).
Все объяснения даны на графике и в таблице.
Событие (v) Ранний срок Е (v) Поздний срок L (v)
v
1
v2 3 = (0 + 3) 3 = (7 – 4)
v3 4 = (0 + 4) 5 = (7 – 2)
v4 5 = (3 + 2) 6 = (7 – 1)
v5 7 = (3 + 4)
0 0
*
*
7
Значения, помеченные звездочкой, требуют специальных пояснений (см. далее (5) и (8)).
49

L
Е = 0
v
L = 0
1
Е = 3
v
3
2
L = 3
Е = 4
4
v
3
Е = 5
2
v
4
1
= 6
4
2
Е = 7
v
5
L = 7
L = 5
Рис. 2.30
1. Нахождение раннего срока свершения события Е (v)
(1) Предположим, что событие v
происходит в момент времени,
1
равный нулю.
(2) Для нахождения Е (v
события Е (v
Е (v
) продолжительность работы р12. Получим
1
) = Е (v1) + (продолжительность работы р12) = 0 + 3 = 3.
2
Это говорит о том, что событие v
) прибавим к раннему сроку свершения
2
не может наступить раньше, чем
2
пройдет три единицы времени с момента начала проекта.
(3) Аналогично
Е (v
) = Е (v1) + (продолжительность работы р13) = 0 + 4 = 4
3
и
) = Е (v2) + (продолжительность работы р24) = 3 + 2 = 5.
Е (v
4
(4) Для каждого из рассмотренных событий характерно, что к нему
ведет только одна стрелка (работа). Тогда
) = Е (vi) + (продолжительность работы рij),
Е (v
j
– единственная работа, ведущая в vj.
где р
ij
(5) Если к событию v
свершения события Е (v
ли нашего примера три стрелки (работы) из v
ведут более одной стрелки, то ранний срок
j
) вычисляется так, как показано далее. В моде-
j
, v3, v4 ведут в v5. Поэто-
2
му необходимо рассчитать три момента времени и выбрать из них
наиболее поздний. Таким образом,
Е (v
) + (продолжительность работы р25) = 3 + 4 = 7*;
2
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
