АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Нахождение кратчайших путей

Читайте также:
  1. Анатомо-физиологические аспекты строения женского таза и родовых путей.
  2. В ПОИСКАХ НОВЫХ ПУТЕЙ
  3. Восстановление проходимости верхних дыхательных путей.
  4. Восстановление проходимости дыхательных путей
  5. ГЛАВА VII. ЛЕЧЕБНАЯ ФИЗКУЛЬТУРА ПРИ ЗАБОЛЕВАНИЯХ ПОЧЕК И МОЧЕВЫВОДЯЩИХ ПУТЕЙ
  6. Графическое нахождение наибольшего и наименьшего значений линейной функции в области
  7. Десять путей достижения целеустремленности
  8. Дискинезии желчных путей
  9. Дискинезия желчевыводящих путей (ДЖВП)
  10. Заболевание желчных путей
  11. ЗАБОЛЕВАНИЯ ЖЕЛЧЕВЫВОДЯЩИХ ПУТЕЙ
  12. Заболевания кишечника и желчевыводящих путей

Орграф G(X, A) называется взвешенным, если каждой дуге (x,y) поставлено в соответствие некоторое действительное число l(x, y) - вес дуги (x, y). Весом маршрута x1,x2, …,xn, xn+1 называется число l= . Взвешенным расстоянием (w- расстоянием) между вершинами x и y называется минимальный из весов (x, y) – маршрутов. (x, y) – маршрут, вес которого равен расстоянию , называется кратчайшим (x, y) – маршрутом во взвешенном графе G.

Алгоритм Форда-Беллмана позволяет определить кратчайшее расстояние от фиксированной вершины графа G, называемой источником, до всех других вершин этого графа.

Задаётся строка D(1)=(d1(1), d2(1),..., dn(1)), полагая di(1)=0, dj(1)=wij, i≠j. В этой строке dj(1) (i≠j) есть вес wij дуги (xi, xj), если (xi, xj) существует, и dj(1)=∞, если дуга (xi, xj) отсутствует в G. Далее определяется строка D(2)=(d1(2), d2(2),..., dn(2)), полагая dj(2)=min{ dj(1), dk(1) + wkj}k=1,..., n. При этом dj(2) - минимальный из весов (xi, xj) – маршрутов, состоящих не более, чем из двух дуг.

Продолжая процесс, на шаге s определяется строка D(s)=(d1(s), d2(s),..., dn(s)), полагая dj(s)=min{ dj(s-1), dk(s-1) + wkj}k=1,..., n. Искомая строка w-расстояний получается при s=n – 1: dj(n-1) = . Работа алгоритма завершается на шаге k, если D(k) = D(k+1).

 

Задача. Найти кратчайшие расстояния от вершины 1 до всех других вершин в орграфе G с матрицей весов W:

.

Решение

Выберем в качестве источника вершину 1. Тогда D(1)=(0, 1, ∞, ∞, 3), D(2)=(0, 1, 4, 4, 3), D(3)=(0, 1, 4, 4, -1), D(4)=(0, 1, 4, 3, -1). Таким образом, , , , , .

 

Варианты задачи №10

Взвешенный орграф G задан матрицей весов W. Найти минимальный и максимальный путь из вершины 1 в вершину 6.

 

 

Вариант1 Вариант 2

Вариант 3 Вариант 4

Вариант 5 Вариант 6

Вариант 7 Вариант 8

 

 

Вариант 9 Вариант 10

Вариант 11 Вариант 12

Вариант 13 Вариант 14

Вариант 15 Вариант 16

 

 

Вариант 17 Вариант 18

Вариант 19 Вариант 20

Вариант 21 Вариант 22

Вариант 23 Вариант 24

 

 

Вариант 25 Вариант 26

Вариант 27 Вариант 28

Вариант 29 Вариант 30

 

6 Сетевое планирование

 

Основные понятия и формулы

 

Одно из применений теории графов – сетевое планирование, которое применяют, например, для организации и составления календарных планов реализации больших комплексов работ.

После определения работ и связей между ними строится ориентированный граф, который называется сетевым графом (на производстве его обычно называют сетевым графиком). Сетевой граф не может содержать циклов.

Если сетевой граф содержит несколько начальных вершин (в которые не входит ни одна дуга), то можно добавить еще одну вершину и соединить ее дугами со всеми начальными вершинами: граф будет иметь одну начальную вершину. Совершенно аналогично вводится конечная вершина, из которой не выходит ни одна дуга.

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

Раннее начало ti каждой работы будем определять так:

1) для начальной работы t1=0;

2) раннее начало любой работы определяется как максимум ранних из начал предшествующих работ вместе с их длительностями: ti=max(tki+dki), где tki – ранние начала работ, предшествующих i-той, dki – длительности этих работ.

Продолжительность Т всей разработки равна сумме раннего начала конечной работы и её длительности:

.

Продолжительность разработки равна длине критического пути.

Для определения состава критического пути необходимо найти вспомогательные величины: ранние начала работ в обратном графе (отношение предшествования в прямом графе превратится в отношение следования в обратном графе и наоборот).

Раннее начало ti каждой работы обратного графа определим совершенно аналогично, как и для прямого графа, начиная с работы N n:

tn=0, ti=max (tki +dki).

Аналогично определяется продолжительность разработки Т:

.

Ясно, что продолжительность разработки и в том, и в другом случае должна быть одинакова.

Длина mi максимального из всех путей, проходящих через i-тую работу вычисляется по формуле:

mi = ti + ti +di.

Полный запас времени zi данной работы определяется по формуле:

zi = T - mi.

Это величина, на которую можно увеличить длительность работы, чтобы длина критического пути не увеличилась.

Для работ, лежащих на критическом пути, zi=0.

С целью упрощения расчетов и для наглядности каждая вершина графа представляется в виде круга, который разбивается на четыре сектора

Рисунок 8 - Представление вершины графа (рисунок 8): в верхнем секторе проставляется номер работы, в левом - раннее время наступления работы ti., в правом – продолжительность работы di, в нижнем – полный запас времени zi.

 

Примеры

 

Пример. При анализе проекта разработки выяснилось, что она состоит из восьми работ, пронумеруем их от 1 до 8, продолжительность которых, соответственно, равны 5, 6, 10, 5, 9, 6, 4 и 7 неделям. Причем, работы 2, 3 и 4 могут выполняться после окончания работы № 1; работы 3, 4 не могут выполняться раннее выполнения работы №2; работа №5 может начаться только после выполнения работ №2 и 3; работа №6 выполняется только после выполнения работы №4; работа №7 может выполняться после окончания работ №3 и 5; выполнение работ №8 может начаться лишь после выполнения работ №5 и 7. Найти продолжительность выполнения разработки и критический путь ее выполнения.

Решение

Построим сетевой граф, используя исходные данные:

 

Вычислим временные характеристики графа:

t1=0;

t2=0+5=5 (к работе 2 ведет только один путь 1- 2);

К работе 3 ведут два пути 1: 1 – 3----- t3=0+5=5;

2: 1 – 2 – 3-----t3=5+6+11.

max t3=11. Следовательно, t3=11: выполнение работы №3 может начаться лишь через 11 недель.

Раннее время каждой из остальных работ определится совершенно аналогично. Полученные результаты сведем в таблицу 9.

 

Таблица 9 - Расчет раннего времени наступления работы

 

Номер работы                
Номера последую-щих работ 2,3,4 3,4,5 5,7   7,8     -
di                
ti                

 

Продолжительность разработки Т = 34 + 7 = 41.

Построим обратный граф для вычисления временных характеристик ti:

 

Вычислим временные характеристики обратного графа:

t8=0; t7=7; t5=11,...

Полученные результаты сведем в таблицу 10.

 

 

Таблица 10 - Расчет раннего времени наступления работ в обратном графе

 

Номер работы                
Номера последую-щих работ 5,7 3,5,6   2,3 1,2 1,2   -
di                
               

 

Продолжительность разработки Т = 36 + 5 =41.

Для определения величин mi и zi составим таблицу 11.

 

Таблица 11 - Расчет полного запаса времени

 

Номер работы                
di                
ti                
               
mi                
zi                

 

Из таблицы 11 видно, что запаса времени нет (zi=0) у работ 1, 2, 3, 5, 7, 8. Таким образом, критическим является путь

1—2---3---5---7---8.

На этом планирование выполнения работ заканчивается, и начинается процесс управления выполнением разработки.

 

Варианты задачи №11

 

Таблица 12 – Варианты задачи №11

 

Номера работ di Последующие работы
для вариантов
                   
    2,3,4 2,3,4 2,3,4 2,3,4 2,3,4 2,3,4 2,3,4 2,3,4 2,3,4 2,3,4
      3,5 5,6 4,5 4,5,6   3,5,6   3,5 3,5
        4,6 4,6 4,6 5,6   4,6,7 4,6,7 4,6,7
        7,6     6,7       6,7
    4,6,8 6,8,9 6,8 6,8 6,8 6,8 6,8,9   8,9  
    7,9 7,9 7,9 7,9 7,8 7,8 7,9 7,8,9 7,9 7,9
    9,10   9,10   9,10 9,10 9,10 9,10   9,10
    9,11 9,11   9,11 9,11 9,11 9,11 9,11 9,11 9,11
                       
                       
    - - - - - - - - - -

 

Продолжение таблицы 11

 

Номера работ di Последующие работы
для вариантов
                   
    2,3,4 2,3,4 2,3,4 2,3,4 2,3,4 2,3,4 2,3,4 2,3,4 2,3,4 2,3,4
    5,6 3,5 5,6 5,6 3,5 3,5 5,6 3,4 3,4 3,5
      4,6 4,6   4,6 4,6   6,7 6,7 6,7
    5,7 6,7 6,7 6,7 5,6 5,6 5,6,7 5,6 5,6,7 5,6,7
        6,8 6,8 6,8          
    8,9 8,9 7,9 7,9 8,9          
    9,10   9,10   9,10 9,10 9,10 9,10 9,10 9,10
      9,11   9,11 9,11     9,11    
        10,     10,   10, 10, 10,
                       
    - - - - - - - - - -

Продолжение таблицы 11

 

Номера работ di Последующие работы
для вариантов
                   
    2,3,4 2, 4 2,3 3,4 2,3,4 2,5 2,4,7 2,5,3 2,5,8 2,4,5
    3,5,6 3,5 5,6 5,6 2,5,6 3,5,6 3,5,6 3,5 3,6 3,5,6
    4,7,10 4,6 4,6,7 2,4,6 6,7 4,6 6,7 5,6,7 4,6,7 6,7
    6,7 6,7 6,7 6,7 6,7 6,7 6,7 6,7,10 6,7,10 7,10,11
    6,8,9 6,8,9 6,8,9 6,8 6,8 6,7,9 6,8,9 8,11 6,8,9 6,8,9
    8,9,10 8,9 7,8,9 7,8,9 8,10 8,9,10 7,9,10 8,9 9,10 7,8,9
    9,10 9,10 8,9,10 8,10 9,10 8,9,10 9,10 9,10,11 9,10 9,10
    9,11 9,11   9, 10,11 9, 10,11   9,11 9,11 9,11 9,11
    10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
  9,11                    
    - - - - - - - - - -

ЛИТЕРАТУРА

 

1. Горбатов, В.А. Основы дискретной математики. – М.: Высшая школа,1986.

2. Нефедов, В.Н. Курс дискретной математики: учебное пособие/ В.Н. Нефедов, В.А. Осипова. – М.: Изд-во МАИ, 1992.

3. Новиков, Ф.А. Дискретная математика для программистов. – СПб.: Питер, 2001.

4. Романовский, И.В. Дискретный анализ. – 2-е изд. – СПб.: Невский диалект, 2000.

5. Лавров, И.А. Задачи по теории множеств, математической логике и теории алгоритмов. – Изд. 4-е/И.А. Лавров, Л.Л. Максимова. – М.: ФИЗМАТЛИТ, 2001.

6. Кофман, А. Введение в прикладную комбинаторику. – М.: Наука, 1975.

7. Новиков, Л.С. Введение в математическую логику. – М.: Наука, 1973.

8. Гиндикин, С.Г. Алгебра логики в примерах и задачах. – М.: Наука, 1972.

9. Оре, О. Теория графов. – М.: Наука, 1980.

10. Оре, О. Графы и их применение. –М.: Мир, 1965.

11. Судоплатов, С.В. Элементы дискретной математики: учебное пособие/ С.В. Судоплатов, Е.В. Овчинникова. – М.: ИНФРА-М, Новосибирск: Изд-во НГТУ, 2002.

12. Гаврилов, Г.П. Сборник задач по дискретной математике/ Г.П. Гаврилов, А.А. Сапоженко. – М.: Наука, 1977.

 


СОДЕРЖАНИЕ

 


Редактор

Подписано в печать 01.01.01. Формат 60х84 1/16

Отпечатано на ксероксе. Усл.п.л.1.39. Уч.-изд.л. 1,20

Бесплатно. Тираж 50 экз. Рег. № -д

Алтайский государственный технический университет им. И.И.Ползунова, Барнаул, пр. Ленина, 46

Отпечатано на ксероксе Бийского технологического института АлтГТУ им. И.И.Ползунова, г. Бийск, ул. Трофимова, 29


1 | 2 | 3 | 4 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.016 сек.)