Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовые по ОАУ / Методы сетевого планирования и управления. Оптимизация проекта по стоимости.doc
Скачиваний:
296
Добавлен:
15.06.2014
Размер:
9.18 Mб
Скачать

2.2. Постановка задачи контрольного примера

Опишем работу программы на примере сетевого графика, изображенного на рис 1.2.

Пусть для этого сетевого графика известны следующие данные:

  • Все bij=20, все aij=1;

  • На длительности работ накладываются следующие ограничения:

5≤t0,1≤7;

1≤t1,2≤3;

t1,3=2;

t0,2=10;

1≤t2,7≤2;

7≤t3,4≤10;

2≤t3,5≤3;

5≤t4,6≤8;

3≤t5,6≤6;

3≤t6,7≤5;

2≤t7,8≤4;

Необходимо найти оптимальный план выполнения проекта для Тд=32 дня.

Математическая модель задачи имеет вид:

Z= —( t0,1+ t1,2+ t1,3+ t0,2+ t2,7+ t3,4+ t3,5+ t4,6+ t5,6+ t6,7+ t7,8)+20*11=

= —( t0,1+ t1,2+ t1,3+ t0,2+ t2,7+ t3,4+ t3,5+ t4,6+ t5,6+ t6,7+ t7,8)+220min

при ограничениях

T1—T0—t0,1≥ 0;

T2—T0—t0,2≥ 0;

T2—T1—t1,2≥ 0;

T3—T1—t1,3≥ 0;

T7—T2—t2,7≥ 0;

T4—T3—t3,4≥ 0;

T5—T3—t3,5≥ 0;

T6—T4—t4,6≥ 0;

T6—T5—t5,6≥ 0;

T7—T6—t6,7≥ 0;

T8—T7—t7,8≥ 0;

T0= 0;

T8= 32.

2.3. Решение контрольного примера на основе алгоритма Келли

Рассмотрим на примере алгоритмы, реализованные в программе net_planning.

Поиск оптимального плана для Ткр=М (М—ранний срок наступления завершающего события при всех tij=Dij). Продолжительности работ в таком оптимальном плане уже известны. Необходимо найти Tj. Для этого построим матрицу, аналогичную описанной в пункте 1.5.2 (таблица 2.1) Если существует работа (i,j), то в клетку таблицы записывается tij=Dij.

Таблица 2.1

Матрица для расчета Tj

0

1

2

3

4

5

6

7

8

0

7

10

1

3

2

2

2

3

10

3

4

8

5

6

6

5

7

4

8

T0 считаем равным 0. Найдем T1. Для этого просматриваем столбец 1. В столбце 1 существует только один непустой элемент R01=7, значит, T1=T0+ R01=0+7=7.

В столбце 2 есть 2 непустых элемента, R02=10, R12=3, значит, T2=max{T0+ R02; T1+ R12}=max{0+10;7+3}=max{10;10}=10.

Аналогично рассчитываются все Tj. Их значения следующие:

T0=0

T1=7

T2=12

T3=9

T4=19

T5=12

T6=27

T7=32

T8=36.

Таким образом, получены ранние сроки свершения событий при Ткр=М; М=36.

Распределение работ по множествам E1, E2, Q1, Q2, Q3, Q4.

Признаки, по которым работы можно распределить по множествам E1, E2, Q1, Q2, Q3, Q4, были представлены в таблице 1.2.

Например, для работы (0,1) свободный резерв равен T1—T0—t01=0, значит, работа принадлежит множеству E1. При этом в данном оптимальном плане t01=7=D01>d01, значит, работа принадлежит также множеству Q1. Аналогично рассмотрев все работы, получаем следующее распределение работ по множествам (таблица 2.2).

Таблица 2.2.

Распределение работ по множествам E1, E2,Q1, Q2,Q3,Q4 (шаг 1)

0

1

2

3

4

5

6

7

8

0

E1&Q1

E1&Q2

1

E1&Q1

E1&Q2

2

E2&Q1

3

E1&Q1

E1&Q1

4

E1&Q1

5

E2&Q1

6

E1&Q1

7

E1&Q1

8

По правилам, описанным в алгоритме Келли, построим таблицу для поиска максимального потока через сеть, на которую наложены ограничения (таблица 2.3). Например, работа (0,1)E1&Q1, значит, в клетку ij записываем aij=1.

Таблица 2.3

Поиск максимального потока (шаг 1.1)

0*

10

20

31

43

53

64

76

87

0

1

1

0+

1

2

0

0

3

0+

1

1

4

0+

1

5

0

6

0+

1

7

0+

1

8

0+

Производится разметка вершин. Столбец 0 не отмечается. В строке 0 ищем положительные элементы. Это R01 =1 и R02=, значит, столбцы 1 и 2 отмечаются числом 0 (номер просматриваемой строки). Теперь необходимо просмотреть строки 1 и 2 (их номера соответствуют номерам только что размеченных столбцов). В строке 1 два положительных элемента: R12 =1 и R13=, но столбец 2 уже отмечен, поэтому элемент R12 не рассматривается; столбец 3 отмечается числом 1 и т.д.

Теперь необходимо по разметке найти путь от завершающего события к исходному. Метка последнего столбца равна 7. Значит, элемент R78 отмечается знаком "—", а элемент R87 — знаком "+". Отметив элемент R87, мы перешли в столбец 7. Его метка равна 6, значит, в столбце 7 элемент R67 отмечаем знаком "—", а элемент R76. — знаком "+", и т.д.

Полученный путь 08: (0,1)-(1,3)-(3,4)-(4,6)-(6,7)-(7,8).

Найдем пропускную способность построенного пути:

h=min{a01,a13,a34,a46,a67,a78}=1.

Производится пересчет таблицы. От всех aij отнимается h, ко всем aij +— прибавляется. В результате получена таблица 2.4.

Таблица 2.4

Поиск максимального потока (шаг 1.2)

0*

1

20

3

4

5

6

7

8

0

0

1

1

1

2

0

0

3

1

0

1

4

1

0

5

0

6

1

0

7

1

0

8

1

В такой таблице нет ни одного пути 08, т.к. невозможно разметить столбец 8. Существует только путь 02.

Распределение событий по множествам {u} и {v}. Событие 0 принадлежит {u} в любом случае; событие 2 принадлежит {u}, т.к. существует путь 02. Остальные события принадлежат {v}. В сечение попадают работы (0,1) и (2,7).

Поиск переменных двойственной задачи.

Для событий 0 и 2 0=0 и 2=0,т.к. они принадлежат {u}; для остальных событий j=1.

Найдем параметр . Для работы (0,1) 01=1, т.к. она принадлежит E1&Q1, и при этом событие 0 принадлежит {u}, а событие 1 принадлежит {v}. Все остальные ij=0.

Найдем параметр . Для работы (0,1) 01 =01+0—1=1+0—1=0. В результате расчета получаем, что все ij кроме 27 равны 0, 27= —1.

Найдем параметр 0. Для этого найдем ', ", "'.

'=(T7—T2—t27)/1=20;

'"=(t01-d01)/01=2,

0=min{'; '"}=2.

Таким образом, состав работ в оптимальном плане не изменится, если Ткр=36 уменьшить на величину , если [0;2). При этом изменятся ранние сроки свершения событий:

T'0=0;

T'1=7—;

T'2=10;

T'3=9—;

T'4=19—;

T'5=12—;

T'6=27—;

T'7=32—;

T'8=36—;

и продолжительность работы (0,1): t01=7—.

Положим  =2. Тогда

T'0=0;

T'1=5;

T'2=10;

T'3=7;

T'4=17;

T'5=10;

T'6=25;

T'7=30;

T'8=34.

Снова распределяем работы по множествам E1, E2, Q1, Q2, Q3, Q4 (таблица 2.5).

Таблица 2.5.

Распределение работ по множествам E1, E2, Q1, Q2, Q3, Q4 (шаг 2)

0

1

2

3

4

5

6

7

8

0

E1&Q3

E1&Q2

1

E1&Q1

E1&Q2

2

E2&Q1

3

E1&Q1

E1&Q1

4

E1&Q1

5

E2&Q1

6

E1&Q1

7

E1&Q1

8

Повторяем описанные выше действия. В результате получим новый Ткр'=31.

Получено, что Ткр'< Тд< Ткр (31<32<34). Значит, для нахождения оптимального плана при Тд=32 необходимо использовать параметры, рассчитанные на данном шаге. Эти значения следующие: 34=1; остальные ij=0;

0=1=2=3=5=0; остальные j=1.

Найдем *. По определению *=Ткр—Тд=34-32=2.

По формулам (1.19) получаем оптимальный план, представленный в таблицах 2.6 и 2.7. Стоимость полученного оптимального плана выполнения проекта составит 162 д.е.

Соседние файлы в папке Курсовые по ОАУ