Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая работа образец.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
107.3 Кб
Скачать

Предположим, что при составлении некоторого проекта выделено 12 событий: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 и 24 связывающие их работы: (0→1), (0→3), (0→5), (1→2), (1→3), (1→4), (2→7), (3→4), (3→5), (3→6), (4→6), (4→7), (5→6), (5→8), (5→9), (6→7), (6→8), (6→9), (6→10), (7→10), (8→9), (9→10), (9→11), (10→11). Необходимо:

1) составить и упорядочить сетевой график;

2) определить временные параметры сетевого графика;

3) оценить вероятность выполнения проекта в установленный срок;

4) оптимизировать сетевой график методом «время-стоимость».

 

Решение

Каждая работа имеет три временные оценки: оптимистическую, пессимистическую и наиболее вероятную; Определим среднее время выполнения работы (табл. 1).

Таблица 1

Временные параметры работ

 

Работа Pi,j

аij

bij

mij

 

Работа Pi,j

аij

bij

mij

 

Работа Pi,j

аij

bij

mij

 

0,1

2

10

9

8

3,5

1

9

8

7

6,8

7

9

8

8

0,3

14

16

12

13

3,6

3

9

6

6

6,9

14

16

12

13

0,5

2

12

10

9

4,6

2

4

3

3

6,10

4

6

5

5

1,2

1

13

10

9

4,7

2

10

9

8

7,10

2

8

5

5

1,3

2

10

3

4

5,6

2

12

10

9

8,9

3

5

4

4

1,4

4

12

5

6

5,8

6

18

9

10

9,10

5

7

6

6

2,7

2

4

3

3

5,9

4

12

5

6

9,11

5

21

19

17

3,4

5

19

9

10

6,7

1

7

4

4

10,11

14

20

11

13

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

При определении ранних сроков свершения событий tp(i) двигаемся по сетевому графику слева направо и используем формулы (1), (2).

Расчет сроков свершения событий.

Для i=0 (начального события), очевидно tp(0)=0.

i=1: tp(1) = tp(0) + t(0,1) = 0 + 8 = 8.

i=2: tp(2) = tp(1) + t(1,2) = 8 + 9 = 17.

i=3: max(tp(0) + t(0,3);tp(1) + t(1,3)) = max(0 + 13;8 + 4) = 13.

i=4: max(tp(1) + t(1,4);tp(3) + t(3,4)) = max(8 + 6;13 + 10) = 23.

i=5: max(tp(0) + t(0,5);tp(3) + t(3,5)) = max(0 + 9;13 + 7) = 20.

i=6: max(tp(3) + t(3,6);tp(4) + t(4,6);tp(5) + t(5,6)) = max(13 + 6;23 + 3;20 + 9) = 29.

i=7: max(tp(2) + t(2,7);tp(4) + t(4,7);tp(6) + t(6,7)) = max(17 + 3;23 + 8;29 + 4) = 33.

i=8: max(tp(5) + t(5,8);tp(6) + t(6,8)) = max(20 + 10;29 + 8) = 37.

i=9: max(tp(5) + t(5,9);tp(6) + t(6,9);tp(8) + t(8,9)) = max(20 + 6;29 + 13;37 + 4) = 42.

i=10: max(tp(6) + t(6,10);tp(7) + t(7,10);tp(9) + t(9,10)) = max(29 + 5;33 + 5;42 + 6) = 48.

i=11: max(tp(9) + t(9,11);tp(10) + t(10,11)) = max(42 + 17;48 + 13) = 61.

Длина критического пути равна раннему сроку свершения завершающего события 11: tkp=tp(11)=61

При определении поздних сроков свершения событий tп(i) двигаемся по сети в обратном направлении, то есть справа налево и используем формулы (3), (4).

Для i=11 (завершающего события) поздний срок свершения события должен равняться его раннему сроку (иначе изменится длина критического пути): tп(11)= tр(11)=61

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 10. Просматриваются все строчки, начинающиеся с номера 10.

i=10: tп(10) = tп(11) - t(10,11) = 61 - 13 = 48.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 9. Просматриваются все строчки, начинающиеся с номера 9.

i=9: min(tп(10) - t(9,10);tп(11) - t(9,11)) = min(48 - 6;61 - 17) = 42.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 10. Просматриваются все строчки, начинающиеся с номера 10.

i=10: tп(10) = tп(11) - t(10,11) = 61 - 13 = 48.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 10. Просматриваются все строчки, начинающиеся с номера 10.

i=10: tп(10) = tп(11) - t(10,11) = 61 - 13 = 48.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 9. Просматриваются все строчки, начинающиеся с номера 9.

i=9: min(tп(10) - t(9,10);tп(11) - t(9,11)) = min(48 - 6;61 - 17) = 42.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 8. Просматриваются все строчки, начинающиеся с номера 8.

i=8: tп(8) = tп(9) - t(8,9) = 42 - 4 = 38.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 7. Просматриваются все строчки, начинающиеся с номера 7.

i=7: tп(7) = tп(10) - t(7,10) = 48 - 5 = 43.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 9. Просматриваются все строчки, начинающиеся с номера 9.

i=9: min(tп(10) - t(9,10);tп(11) - t(9,11)) = min(48 - 6;61 - 17) = 42.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 8. Просматриваются все строчки, начинающиеся с номера 8.

i=8: tп(8) = tп(9) - t(8,9) = 42 - 4 = 38.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 6. Просматриваются все строчки, начинающиеся с номера 6.

i=6: min(tп(7) - t(6,7);tп(8) - t(6,8);tп(9) - t(6,9);tп(10) - t(6,10)) = min(43 - 4;38 - 8;42 - 13;48 - 5) = 29.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 7. Просматриваются все строчки, начинающиеся с номера 7.

i=7: tп(7) = tп(10) - t(7,10) = 48 - 5 = 43.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 6. Просматриваются все строчки, начинающиеся с номера 6.

i=6: min(tп(7) - t(6,7);tп(8) - t(6,8);tп(9) - t(6,9);tп(10) - t(6,10)) = min(43 - 4;38 - 8;42 - 13;48 - 5) = 29.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 6. Просматриваются все строчки, начинающиеся с номера 6.

i=6: min(tп(7) - t(6,7);tп(8) - t(6,8);tп(9) - t(6,9);tп(10) - t(6,10)) = min(43 - 4;38 - 8;42 - 13;48 - 5) = 29.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 5. Просматриваются все строчки, начинающиеся с номера 5.

i=5: min(tп(6) - t(5,6);tп(8) - t(5,8);tп(9) - t(5,9)) = min(29 - 9;38 - 10;42 - 6) = 20.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 4. Просматриваются все строчки, начинающиеся с номера 4.

i=4: min(tп(6) - t(4,6);tп(7) - t(4,7)) = min(29 - 3;43 - 8) = 26.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 7. Просматриваются все строчки, начинающиеся с номера 7.

i=7: tп(7) = tп(10) - t(7,10) = 48 - 5 = 43.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 4. Просматриваются все строчки, начинающиеся с номера 4.

i=4: min(tп(6) - t(4,6);tп(7) - t(4,7)) = min(29 - 3;43 - 8) = 26.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 3. Просматриваются все строчки, начинающиеся с номера 3.

i=3: min(tп(4) - t(3,4);tп(5) - t(3,5);tп(6) - t(3,6)) = min(26 - 10;20 - 7;29 - 6) = 13.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 2. Просматриваются все строчки, начинающиеся с номера 2.

i=2: tп(2) = tп(7) - t(2,7) = 43 - 3 = 40.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 5. Просматриваются все строчки, начинающиеся с номера 5.

i=5: min(tп(6) - t(5,6);tп(8) - t(5,8);tп(9) - t(5,9)) = min(29 - 9;38 - 10;42 - 6) = 20.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 3. Просматриваются все строчки, начинающиеся с номера 3.

i=3: min(tп(4) - t(3,4);tп(5) - t(3,5);tп(6) - t(3,6)) = min(26 - 10;20 - 7;29 - 6) = 13.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 1. Просматриваются все строчки, начинающиеся с номера 1.

i=1: min(tп(2) - t(1,2);tп(3) - t(1,3);tп(4) - t(1,4)) = min(40 - 9;13 - 4;26 - 6) = 9.

Далее просматриваются строки, оканчивающиеся на номер предпоследнего события, т.е. 0. Просматриваются все строчки, начинающиеся с номера 0.

i=0: min(tп(1) - t(0,1);tп(3) - t(0,3);tп(5) - t(0,5)) = min(9 - 8;13 - 13;20 - 9) = 0.

Рис. 1. Определение критического пути сетевого графика

Перечень работ и их продолжительность перенесем во вторую и третью графы. При этом работы следует записывать в графу 2 последовательно: сначала начиная с номера 0, затем с номера 1 и т.д.

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

Так, для работы (1,2) в графу 1 поставим число 1, т.к. на номер 1 оканчиваются 1 работы: (0,1).

Графу 4 получаем из таблицы 1 (tp(i)). Графу 7 получаем из таблицы 1 (tп(i)).

Значения в графе 5 получаются в результате суммирования граф 3 и 4.

В графе 6 позднее начало работы определяется как разность позднего окончания этих работ и их продолжительности (из значений графы 7 вычитаются данные графы 3);

Содержимое графы 8 (полный резерв времени R(ij)) равно разности граф 6 и 4 или граф 7 и 5. Если R(ij) равен нулю, то работа является критической

Таблица 2