Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
20
Добавлен:
19.04.2013
Размер:
1.46 Mб
Скачать

Топологическая схема.

№ п/п

Список работ

Начальные события

Конечные события

1

E1

1

3

2

E2

3

5

3

E3

5

7

4

E4

7

9

5

E5

9

32

6

E6

3

13

7

E7

5

13

8

E8

13

9

9

E9

3

18

10

E10

1

16

11

E11

16

18

12

E12

18

20

13

E13

20

9

14

E14

21

20

15

E15

16

21

16

E16

1

31

17

E17

21

24

18

E18

24

27

19

E19

20

27

20

E20

27

32

21

E21

29

27

22

E22

21

29

23

E23

30

29

24

E24

31

30

25

E25

31

21

26

ФК

32

33

Построение сети правильного вида. Описание алгоритма.

Алгоритм «Нумерация событий работ».

Шаг 1. Формируем матрицу топологической схемы

G = G(X,Y,H(X,Y)) Þ T =T[X,Y].

Шаг 2. Заполняем базисную матрицу расчетов, дополняя матрицу топологической схемы четырьмя нулевыми столбцами вычислений пометок, рангов, номеров начальных и конечных событий

T=T[X,Y] Þ T0 = T0[X,Y,0p, 0q,0i, 0j].

Шаг 3. Устанавливаем начальное состояние счетчика номеров рангов в 1 (S:=1).

Шаг 4. Рассматриваем пометки (Pxy) для тех работ, которые не находят себя в списке конечных событий, т.е. являются начальными усеченной матрицы работ ("x Î X, y Î Y: x Î Y Þ Pxy := S).

Шаг 5. Определяем ранг помеченных работ (qxy) при условии, что имеет место несовпадение конечного события с событиями из списка конечных событий непомеченных работ

" x Î X, y Î Y : Pxy ¹ 0 Ù y Î Ø Y Þ qxy := Pxy;

" x Î X, y Î Y : Pxy ¹ 0 Ù y Î Ø Y Þ Pxy := 0.

Шаг 6. Формируем усеченную базисную матрицу T0 = T0[X,Y,0p, 0q,0i, 0j] и упорядочиваем по возрастанию ранга матрицу работ:

Tpq = Tpq[X,Y,0p, 0q,0i, 0j],

последовательно перенося в нее работы с установленными рангами.

Шаг 7. Если не всем работам установлен ранг, то увеличиваем счетчик номеров рангов на единицу (S := S+1) и переходим к шагу 4.

Шаг 8. Присваиваем для первой работы матрицы Tpq значения номеров начального и конечного событий (i1 := 1, j1 := 2), счетчика номеров событий (z := 3) и номера очередной работы (l := 2).

Шаг 9. Если начальное событие (xl) встречалось ранее в списке начальных событий (x1, k < l), то устанавливаем номер начальному событию l - й работы в соответствии с назначением начального номера для k - й работы (il := ik) и переходим к шагу 12.

Шаг 10. Если начальное событие (xl) встречалось ранее в списке конечных событий (y1, k < l), то присваиваем номер начальному событию l - й работы в соответствии с назначением конечного номера для k - й работы (il := jk) и переходим к шагу 12.

Шаг 11. Присваиваем начальному событию рассматриваемой работы (il) номер начального события, равный счетчику номеров (il := z) и увеличиваем счетчик номеров на единицу (z := z+1).

Шаг 12. Если конечное событие (yl) встречалось ранее в списке конечных событий (yk, k < l), то присваиваем номер конечному событию l - й работы в соответствии с номером конечного события k - й работы (jl := jk) и переходим к шагу 14.

Шаг 13. Устанавливаем номер конечного события (jl) в соответствии со счетчиком номеров (jl := z) и увеличиваем последний на единицу (z := z+1).

Шаг 14. Если не все работы пронумерованы в правильном порядке, то переходим к следующей работе из матрицы работ (T = Tpq), т.е. l := l+1, и возвращаемся к шагу 9.

Шаг 15. Выполняем поиск количественных характеристик по значениям первоначальных номеров (X, Y) для каждой из работ и записываем их в соответствующие позиции матрицы сетевого графа

G = G(X,Y,H(X,Y)) Þ G = G(I,J,H(I,J)).

Шаг 16. Конец вычислений по алгоритму.

Соседние файлы в папке Kursovoy