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

Учебное пособие 1817

.pdf
Скачиваний:
3
Добавлен:
30.04.2022
Размер:
2.28 Mб
Скачать

 

 

 

 

Таблица 6.7

В цикл вовлечены почти все занятые клетки (кроме одной):

1

5

6

1

 

 

θ = min(80,50,70) = 50.

 

0

После перераспределения поставки в θ = 50 ед. получили

0

6

4

0

 

70

 

20

 

невырожденный план, в нем имеем шесть отличных от нуля

4

1

3

3

 

компонент, тогда как в первом вырожденном плане было пять

1

0

0

0

2

отличных от нуля компонент.

 

 

 

 

60

0

50

 

Новый план заносим в новую таблицу (табл. 6.8), оценки

3

3

5

6

3

клеток показывают, что план оптимален.

 

-1

1

0

2

 

 

 

 

Таблица 6.8

 

 

80

 

 

 

 

 

 

 

 

 

ui

 

 

 

 

 

1

- 1

2

1

1

5

6

1

 

vj

0

0

5

3

0

 

 

 

 

 

Продолжим вычисления оценок всех незанятых клеток, а в

 

20

 

 

 

 

 

70

 

4

 

1

4

3

 

 

табл. 6.7 запишем их в центрах клеток:

 

 

1

12 = 5-0+1=6,

13 = 6 - 2 - 0 = 4,

2

 

0

 

0

 

1

 

2 1 = 4-1-2 = 1,

31 = 3-3-1=-1,

 

 

 

60

 

50

 

 

 

3 2 = 3-3+1 = 1,

34 = 6-3-1=2.

3

 

3

5

6

 

2

Имеем одну отрицательную оценку. План неоптимален.

0

 

1

0

3

 

Сначала определим его стоимость, затем построим цикл.

 

50

 

 

 

30

 

 

 

 

 

70

0

0

20

 

 

 

1

0

 

 

3

 

1

 

ui

 

X1

 

0

60

0

50

 

,

 

 

 

 

 

vj

 

=

 

L(X1) = 700 (ден.ед.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

80

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ответ:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

70

IV

 

 

20

V

 

 

 

 

20

0

0

70

 

 

 

 

20

 

 

 

 

 

 

 

 

 

70

 

 

 

 

X 2

 

0 60 50 0

 

,

 

 

 

 

 

50

 

 

 

IV

 

 

=

 

 

 

 

 

 

III

0

 

 

 

 

 

 

50

0

30

0

 

 

 

 

 

 

 

 

 

50

 

 

 

 

 

 

 

 

 

 

50

 

II 80

 

 

и стоимость равна L(X2) = 650 (ден. ед.).

 

 

 

 

I

 

 

 

 

 

 

 

 

 

 

 

 

81

 

 

 

 

 

82

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пример 6.3. Решить задачу, заданную табл. 6.9.

Таблица 6.9

bj

40

20

30

60

ai

 

 

 

 

40

3

2

3

4

30

5

6

7

5

90

3

4

1

2

Решение. Проверяем задачу на условие правильности баланса (см. теорему 6.1). Имеем

3 ai = 40 +30 +90 =160,

i =1

4 b j = 40 +20 +30 +60 =150.

j =1

Задача открытая: она неразрешима в такой постановке. Вводим «фиктивного» потребителя с потребностью b5 = 10

и принимаем ci5 = 0, i =1,3 .

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

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 6.10

 

 

5)

2)

1)

3)

6)

 

 

 

 

 

40

20

30

60

10

 

ui

 

4)

40

3

 

 

2

 

3

 

4

 

0

 

 

0

 

 

 

70

 

20

 

 

 

 

 

 

 

 

 

5)

30

5

 

 

6

 

7

 

5

 

0

 

 

2

 

3)

 

 

20

 

 

 

 

 

 

 

10

 

 

90

3

 

 

4

 

1

 

2

 

0

 

 

0

 

 

 

 

 

0

 

 

 

30

 

60

 

 

 

 

 

 

vj

 

3

2

 

1

 

2

-2

 

 

 

«Фиктивный» потребитель (или отправитель, если он был), рассматривается в последнюю очередь.

1)Определим начальный план. Минимальный тариф с33 =

1.Положим х33 = min(30,90) = 30 и запишем эту поставку в клетке (3,3) минимального тарифа. Столбец j = 3 зачеркнем под номером 1.

Минимальные тарифы c12 = c34 = 2. Положим х1 2 = 20, зачеркнем под номером 2 столбец j = 2. Далее возьмем х34 = 60 и одновременно зачеркнем строку i = 3 и столбец j = 4 под

номером 3. Учитывая с11 = 3, запишем х11 = 20 и зачеркнем строку i = 1 под номером 4.

Следующая поставка х21 = 20 очевидна, и в последнюю очередь рассматриваем «фиктивного» потребителя, записывая

х25 = 10. План, как видим, вырожденный, потому что на третьем шаге зачеркнули две линии (под линией понимается либо строка, либо столбец). В одну из них запишем нуль, т.е. занимаем одну клетку либо в третьей строке, либо в четвертом столбце так, чтобы она не составляла с другими занятыми клетками замкнутый цикл. Из нескольких возможностей

выбираем х31 = 0, потому что на момент зачеркивания этих линий в столбце j = 1 сохранилась потребность в 20 ед. Полученный таким образом начальный план вырожденный, но занятых клеток имеем нужное количество: m + n – 1 = 7.

2)Потенциалы занятых клеток определим, исходя из

начального условия u1 = 0. Остальные потенциалы определим без труда и занесем их в эту же таблицу. Также в уме обнаруживаем, что среди оценок

i j = cij – ui - vj

отрицательных нет. Первоначальный план

84

834

 

20

20

0

0

0

 

 

 

20

0

0

0

10

 

,

X =

 

 

0

0

300

60

0

 

 

 

 

 

в котором «фиктивный» потребитель участвует, является оптимальным, и стоимость этого плана равна

F(Х) = 20 • 3 + 20 • 2 + 20 • 5 + 30 • 1 + 60 • 2 + 10 • 0 = 350.

Задача решена. Остается исключить «фиктивного» потребителя, не влияющего на стоимость оптимального плана задачи.

Ответ:

 

20

20

0

0

 

 

 

20

0

0

0

 

, F (X ) = 350.

X =

 

 

0

0

300

60

 

 

 

 

 

Вопросы для самопроверки

6.1.Чем отличаются друг от друга транспортные задачи с правильным и с неправильным балансом?

6.2.В чем состоит метод наименьших тарифов построения начального решения (плана)?

6.3.Чем отличается вырожденное решение от невырожденного? Когда появляется то или другое?

6.4.Можно ли проверять на оптимальность вырожденное решение?

6.5.Каким образом получить невырожденное опорное решение?

6.6.Какстроитсяцикл? Вчемсостоитегоматематическийсмысл?

6.7.Какпроверитьнаоптимальностьполученноеопорноерешение?

6.8.Какулучшитьнеоптимальноерешениетранспортнойзадачи?

6.9.Может ли транспортная задача иметь два решения? бесконечно много решений?

6.10.Какимобразомрешитьоткрытуютранспортнуюзадачу?

85

7.Транспортная задача по критерию времени

7.1.Транспортная задача по критерию времени связана со срочными перевозками грузов. Имеется m поставщиков с

запасами однородного груза а1, а2, ..., аm и n потребителей того же груза с потребностями b1, b2, ..., bn . Известна матрица

t

t

...

t

 

11

12

 

1n

 

T = ...

...

...

...

 

tm2

...

 

 

tm1

tmn

промежутков времени, за которые грузы от i-го поставщика доставляются j-му потребителю. Эта матрица напоминает матрицу С тарифов из предыдущего параграфа, поэтому иногда для сравнения или сопоставления действий матрицу Т будем ассоциировать с матрицей С.

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

Решение. Проведем его по схеме общей транспортной задачи.

1)Сначала составляем начальный опорный план X методом «наименьших тарифов» (этот термин мы используем условно вместо термина «наименьших времен»).

2)Оптимальность плана проверяем известным методом потенциалов. Если план оптимален, то его выводим в ответ, а минимальное время его осуществления считаем равным

наибольшему из значений ti j из занятых клеток (наибольший из тарифов занятых клеток). В таком случае задача решена.

3)Если план неоптимален, то, как обычно, составляем оценки незанятых клеток, строим цикл с вершиной в клетке с наименьшей отрицательной оценкой и перераспределяем по

86

циклу соответствующую поставку θ. Одновременно с этим вычеркиваем все значения ti j , которые превышают время выполнения этого плана (или такие клетки далее не рассматриваются).

4) После перераспределения поставок по циклу получаем новый план, он может быть оптимальным или нет. В первом случае решение задачи обеспечивается за время, равное максимальному значению ti j из занятых клеток (ясно, что это время не больше предыдущего, потому что большие значения ti j удалены). Если план неоптимален, то повторяем действие из п.З).

Пример 7.1. Четыре поставщика с грузами соответственно в 550, 250, 300, 100 единиц могут обеспечить четырех потребителей, которые нуждаются соответственно в 400, 200, 150 и 450 единицах этих грузов.

Найти минимальное время на осуществление всех перевозок, если матрица времен имеет вид

 

1

7

3

2

 

 

6

9

8

1

 

T =

.

 

2

3

2

7

 

 

1

2

4

1

 

 

 

Решение. Составляем рабочую таблицу (табл. 7.1).

Таблица 7.1

 

400

200

150

450

550

1

7

3

2

250

6

9

8

2

300

2

3

2

7

100

1

2

4

1

Методом «наименьших тарифов» строим первый опорный план, заполняя последовательно клетки (1,1), (4,4), (2,4), (1,4), (3,3), (3,2), (1,2).

В табл. 7.2, кроме опорного плана, внесены потенциалы занятых клеток.

Вычисляя потенциалы незанятых клеток, получаем две отрицательные оценки, поэтому план неоптимален. При этом время на его реализацию равно наибольшему из времен, записанных в занятых клетках, т.е. наибольшему из чисел 1, 2, 3, 7. Время равно 7 ед. Наименьшая отрицательная оценка соответствует клетке (4,2). Строим цикл с началом в этой клетке и вершинами в клетках (1,2), (1,4), (4,4). Величина поставки, которую надо перераспределить по этому циклу, равна θ = 50. Клетки с временами (тарифами) 8 и 9 можно вычеркивать или просто не использовать в дальнейшем (при их использовании время осуществления плана увеличивается).

Новый опорный план с соответствующими потенциалами заносим в табл. 7.3.

Таблица 7.2

 

 

400

200

 

150

 

450

ui

 

 

550

1

 

7

 

 

3

 

 

2

 

 

 

1

 

 

 

 

400

 

50

 

 

 

 

100

 

 

 

250

6

 

9

 

 

8

 

 

1

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

250

 

 

 

300

2

 

3

 

 

2

 

 

7

 

 

 

-3

 

 

 

 

 

150

 

 

150

 

 

 

 

 

 

 

100

3

 

2

 

 

4

 

 

1

 

 

 

0

 

 

 

 

 

 

 

-4

 

 

 

 

 

 

100

 

 

 

vj

0

6

 

5

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

88

 

 

 

 

 

 

87

Таблица 7.3

1

 

7

 

3

 

2

 

 

 

1

 

400

 

 

 

 

 

150

 

4

 

5

 

8

 

1

 

 

 

0

 

 

 

 

 

 

 

 

250

 

2

 

3

 

2

 

7

 

 

 

1

 

 

50

 

150

 

 

 

 

 

1

 

2

 

4

 

1

 

 

0

 

 

 

50

 

 

 

 

150

 

0

2

 

1

 

1

 

Все оценки незанятых клеток неотрицательны, полученный план — оптимальный.

Ответ: оптимальный план перевозок имеет вид

 

 

400

0

0

150

 

 

 

0

0

0

250

 

X

=

.

 

 

0

50

150

0

 

 

 

0

50

0

150

 

 

 

 

Время на его реализацию равно t = 3.

Вопросы для самопроверки

7.1.В чем состоит смысл транспортной задачи по критерию времени? Каков критерий в обычной транспортной задаче?

7.2.Могут ли быть открытые и закрытые задачи по критерию времени?

7.3.Надо ли считать стоимость выполнения плана в транспортной задаче по критерию времени?

89

8.Целочисленное программирование. Метод Гомори

8.1.Задача целочисленного программирования в канонической форме формулируется следующим образом:

найти экстремум линейной целевой функции

L(X ) = n cj xj

j =1

при условиях

n ai j xj = bi , i =1, m, j =1

xj 0, xj целые числа, j =1, n

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

Сначала напомним определения и способ нахождения целой и дробной частей данного действительного числа. Целой частью числа а называется наибольшее целое число [а], не превосходящее а. Разность {а} = а — [а] называется дробной частью числа а. Например,

1)если а =3, то [а] = 3, {а} = 0;

2)если а = 3,7, то [а] = 3, {а} = 0,7;

3)если а = -2, 8, то [а] = -3, {а} = -2,8 - (-3) = 0,2;

4)если а = -2/7, то [а] = -1, {а} = -2/7 + 1 = 5/7.

Вернемся к методу отсечения. Предположим, что среди

компонент оптимального решения задачи имеются нецелые числа. Выбираем уравнение (строку последнего блока таблицы Гаусса), для которого дробная часть свободного члена

90

наибольшая. Если таких уравнений несколько, то выбор такого уравнения не имеет значения (произвольный). Пусть это уравнение имеет вид

xp + n

a p j xj = bp .

j =m +1

 

В таблице Гаусса строка неизвестных и строка, соответствующая этому уравнению, выглядят так:

x1 x2 … xp … xm xm+ 1 … xn св. чл.

0 0 … 1 … 0 ap , m+ 1 apn bp

(неизвестное хр базисное, переменные хm+ 1 , хm+ 2 ,…, хn свободные). Согласно этому уравнению составим следующее неравенство (ограничение, отсечение):

[ b p ] n

[ a p j ] xj 0.

 

 

j =1

 

Это неравенство заменим равенством (нам нужна

каноническая форма)

 

 

 

[ b p ] n

[ a p j ] xj + xn+1 = 0,

 

j =1

 

 

или

 

 

 

n

[ a p j ] xj + xn+1 = −[bp ].

j =1

 

 

 

Это уравнение присоединим к системе ограничений решенной задачи, т.е. составим новую таблицу Гаусса с дополнительным столбцом для нового неизвестного хn + 1 , содержащую последний блок таблицы решенной задачи и новую строку, соответствующую построенному уравнению.

Если решение новой задачи целочисленное, то тем самым получено решение исходной задачи (компоненту,

соответствующую хn +1 , отбрасываем). Если новое решение нецелочисленное, то повторяем описанный алгоритм.

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

Замечание. Иногда в исходной задаче требование целочисленности всех компонент решения необязательно. В таком случае речь идет о частичной целочисленности и решение сводится к получению только нужных целых компонент. Если исходная задача задана не в канонической форме, то ее сначала следует привести к каноническому виду введением дополнительных неизвестных. На эти дополнительные неизвестные условия целочисленности не распространяется.

Пример 8.1. Решить задачу целочисленного программирования

L(X) = 2x1 + x2 → max,

x1 +2x2 + x3 = 9,3x1 + x2 + x4 =10,

xj 0, xj целые числа, j =1,4.

Решение. Имеем дело с канонической задачей линейного программирования. Решим ее симплексным методом без учета требования целочисленности. Таблица Гаусса (табл. 8.1), соответствующая решению задачи, имеет вид

92

91

Таблица 8.1

 

x1

x2

x3

x4

св.чл.

 

 

1

2

1

0

9

 

 

3

1

0

1

10

 

 

2

1

0

0

0

 

 

1/2

1

1/2

0

9/2

 

 

5/2

0

-1/2

1

1/2

 

 

3/2

0

-1/2

0

-9/2

 

 

0

1

3/5

-1/5

17/5

 

 

1

0

-1/5

2/5

11/5

 

 

0

0

-1/5

-3/5

-39/5

 

 

 

 

 

 

 

 

Полученное оптимальное решение Х1 = (11/5,17/5,0,0) не целочисленное, Lmах1) = 39/5.

Применим метод Гомори. В последнем блоке таблицы определим максимальную дробную часть свободных членов:

17

 

=

2

 

17

= 3 +

2

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

5

5

 

5

 

 

 

 

 

 

 

 

11

=

1

 

11

= 2

+

1

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

5

 

5

5

 

 

 

 

 

 

 

 

 

 

Составим ограничение, соответствующее уравнению (первой строки)

 

 

 

 

 

 

 

x

+

3

x

1

x

 

=

17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

3

 

 

 

4

 

 

5

 

 

 

 

 

 

 

Оно имеет вид

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

3

x3

4

x4

0

 

3

 

=

3

,

 

 

 

1

=−

1

+1

=

4

5

5

5

 

5

 

 

 

5

5

.

 

 

 

 

 

5

 

 

 

 

 

 

 

5

 

 

 

 

Это неравенство заменим равенством (см. U.1 из п. 1),

2

3

x

4

 

x

 

+ x = 0, т.е.

 

 

5

5

5

 

 

 

 

3

 

 

4

 

5

 

 

 

 

 

 

 

 

 

3

x

4

x

 

+ x = −

2

.

 

 

 

5

5

 

5

 

 

 

 

 

3

 

 

4

5

 

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

Таблица 8.2

x1 x2

x3

x4

x5

св.чл.

0

1

3/5

-1/5

0

17/5

1

0

-1/5

2/5

0

11/5

0

0

-3/5

-4/5

1

-2/5

0

0

-1/5

-3/5

0

-39/5

0

1

0

-1

1

3

1

0

0

2/3

-1/3

7/3

0

0

1

4/3

-5/3

2/3

0

0

0

-1/3

-1/3

-23/3

Получили новое оптимальное решение с одной целой компонентой X2 = (7/3,3,2/3,0,0) — нецелое оптимальное

решение, Lmах2) = 23/3.

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

Максимальная дробная часть свободного члена в последнем блоке соответствует третьей строке, т.е. уравнению

94

93

x3 + 43 x4 53 x5 = 23 .

Составим новое неравенство (отсечение):

23 13 x4 13 x5 0,

или уравнение

13 x4 13 x5 + x6 = − 23 .

Новая рабочая таблица имеет вид табл. 8.3 (заметим, что и здесь выполним симплекс-преобразование с отрицательным разрешающим коэффициентом, поскольку система ограничений содержит недопустимое решение, а условие оптимальности удовлетворяется).

Таблица 8.3

 

x1 x2

x3

x4

x5

x6

св.чл.

 

 

0

1

0

-1

1

0

3

 

 

1

0

0

2/3

-1/3

0

7/3

 

 

0

0

1

4/3

-5/3

0

2/3

 

 

0

0

0

-1/3

-1/3

1

-2/3

 

 

0

0

0

-1/3

-1/3

0

-23/3

 

 

0

1

0

0

2

-3

5

 

 

1

0

0

0

-1

2

1

 

 

0

0

1

0

-3

4

-2

 

 

0

0

0

1

1

-3

2

 

 

0

0

0

0

0

-1

-7

 

 

0

1

2/3

0

0

-1/3

11/3

 

 

1

0

-1/3

0

0

2/3

5/3

 

 

0

0

-1/3

0

1

-4/3

2/3

 

 

0

0

1/3

1

0

-5/3

4/3

 

 

0

0

0

0

0

-1

-7

 

 

 

 

 

 

 

95

 

 

Некоторые компоненты оптимального решения (нас интересуют только x1, x2, х3 и x4) Х3 = (5/3, 11/3,0,4/3,2/3,0) не являются целыми числами, при этом L(Х3) = 7, поэтому надо строить очередное отсечение, которое соответствует уравнению (второй строки). Новое уравнение имеет вид

23 23 x3 23 x6 + x7 = 0, или 23 x3 23 x6 + x7 = − 23 .

Третью строку, содержащую базисную неизвестную х5, отбрасываем, так как х5 является дополнительной неизвестной, а в качестве разрешающего будем брать новое уравнение, из которого найдем значение некоторой базисной неизвестной

(табл. 8.4).

Таблица 8.4

 

 

 

x1 x2

x3

x4

x6

x7

св.чл.

 

 

 

0

1

2/3

0

-1/3

0

11/3

 

1

0

-1/3

0

2/3

0

5/3

 

0

0

1/3

0

-5/3

0

4/3

 

0

0

-2/3

1

-2/3

1

-2/3

 

 

 

0

0

0

0

-1

0

-7

 

 

 

0

1

0

0

-1

1

3

 

1

0

0

0

1

-1/2

2

 

0

0

0

1

-1

1/2

1

 

0

0

1

0

1

-3/2

1

 

 

 

0

0

0

0

-1

0

-7

 

Оптимальное

решение

X4

=4 (2,3,1,1,0,0) имеет целые

компоненты (было бы достаточно, если бы целыми были только первые четыре компоненты).

Отбрасывая значения дополнительных неизвестных,

составляем ответ: Хопт = (2,3,1,1) и Lmax(2,3,1,1) = 7.

96

II. Прикладные задачи оптимизации

1. Оптимизация планирования комплекса работ

1°. Основным материалом для сетевого планирования является список или перечень работ, который называется структурной таблицей комплекса работ. В структурной таблице для нахождения ai должно быть указано, выполнение каких работ она требует или на какие работы опирается.

Работа

Опирается

 

Обозначение

ai

на работу

Ранг

в новой

 

 

 

нумерации

a 1

-

1

b1

a 2

a 1 ,a 3

b 3

2

 

 

 

a 3

-

1

b 2

 

 

 

a 4

a 1 ,a 2 ,a 3

3

b 4

a 5

a 1 ,a 2 ,a 4

4

b 6

a 6

a 2 ,a 3

3

b 5

 

 

 

 

Первая

операция

называетсяупорядочением. Для

упорядочения

все

работы

разделяют

на . Ррангибота

называется работой 1-го ранга, если для ее начала не требуется выполнение никаких других работ. Работа называется работой второго ранга, если она опирается на одну или несколько работ первого ранга и т. д.

97

Если задано ti - время выполнения работы ai , то

минимально возможный срок окончания работы находится по формуле

 

 

 

 

T i

= t i

+ t i

,

 

 

 

 

(1)

 

где t i = max {T j ,Tl ,Tk } - минимально возможный срок начала

 

работы ai , которая опирается на работы a j , al , ak и не может

 

начаться прежде, чем не будет завершена работа, которая

 

заканчивается позже всех.

 

 

 

 

 

 

 

 

 

Работы

ai

,

из

 

длительностей

которых

составлено

 

минимальное время завершения комплекса работ Т, называются

 

критическими работами. Чтобы найти критические работы, а

 

следовательно и критический путь, надо найти работу ai , для

 

которой время окончания T i

максимально; эта работа и будет

 

критической. Далее следует найти работу, для

которой

T i

 

будет моментом

начала ai

. Величина t i

представлена в

виде

 

максимума

T j ,

T l , T k . Необходимо найти max. Это будет

 

вторая критическая работа от конца и т. д.

 

 

 

 

 

2°. Пусть общее время выполнения работ T = åti

нас не

 

 

 

 

 

 

 

 

 

 

 

(kp)

 

 

 

устраивает

и

требуется

его

сократить

до

времени.

Т

 

 

 

 

 

 

 

 

 

 

 

 

0

 

Очевидно,

что

 

надо

форсировать

критические

.работы

 

Вложение дополнительных средств x i в работу ai сокращает

 

время ее

выполнения

сt i

до ti¢ =

fi (xi ) .

Время

выполнения

 

комплекса

работ

будет=

å fi (xi ) £ T0 .

Нахождение

 

 

 

 

 

 

 

 

(kp)

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

минимума

вложенных

средствx = åxi

= min

разберем

на

 

i=1

примере 1.2.

3°. Рассмотрим задачу перераспределения уже имеющихся средств между отдельными работами. Известно, что

98

количество средств x > 0, снятое с работы ai , увеличивает время ее выполнения с t i до ti¢ = fi (xi ) , а количество средств x , вложенных дополнительно в работу al уменьшает время ее

выполнения до ti ² =ji (x) . Сумма средств, снимаемых с каких-

то работ, должна быть равна сумме средств, добавляемых к другим работам, так что

 

 

 

x 1

+ x2 + …+ xn =0

 

 

(2)

Для решения задачи необходимо, чтобы общий срок

выполненного комплекса работ был минимален

 

 

 

 

 

T ¢ = å fi (x) + åji (x) = min .

 

(3)

 

 

 

kp

 

kp

 

 

 

 

 

4°.

 

Сетевое

планирование

при

случайных

временах

выполнения работ. При сложении достаточно большого числа

независимых случайных величин, распределенных по любым

законам, закон распределения суммы близок к нормальному,

поэтому МО времени равно сумме

 

 

 

 

 

 

 

 

 

mt

= åmti

,

 

 

 

(4)

 

 

 

 

 

 

kp

 

 

 

 

 

где mti

- МО времени выполнения i – й работы.

 

 

Среднеквадратическое отклонение, соответственно, будет

 

 

 

 

s t =

 

ås ti

2 ,

 

 

(5)

 

 

 

 

 

 

kp

 

 

 

 

 

где s ti

- среднеквадратическое отклонение времени

 

 

выполнения i – й работы.

 

 

 

 

 

 

 

 

Если

величины (4),

(5)

 

известны,

то

вероятность

выполнения комплекса в срок T 0

находится по формуле

 

 

 

 

 

 

æ

 

ö

 

 

 

 

 

 

 

 

ç

T0 - mt

÷

 

 

(6)

 

 

 

 

 

 

 

 

 

 

 

P(T < T0 ) = Fç

s t

÷ + 0.5 ,

 

 

 

 

 

 

è

ø

 

 

 

где Ф – функция Лапласа находится из таблицы. 99

1.1. Пусть дана упорядоченная структурная таблица

Работа

Опирается

Время

Работа

Опирается

Время

ai

на работу

ti

ai

на работу

ti

 

 

 

 

 

 

a1

-

10

a6

a4

18

a2

-

5

a7

a5 ,a6

8

a3

-

15

a8

a3 ,a5 ,a6

25

a4

a1 ,a2

18

a9

a7

30

a5

a2 ,a3

19

a10

a5 ,a8

8

Построить временный график и найти критические работы. Решение. Для работы первого ранга имеем:

t1 = 0 ; t 2 = 0 ;t 3 = 0 ;T1 = t1 = 10 ;T2 = t2 = 5 ;T3 = t3 = 15 .

Работа a4 опирается на работыa1 ,a2 , т.е. она может начаться тогда, когда закончится наиболее большая работа t 4 = max{T1 ,T2 } = max{10,5}= 10 .

Моментом

окончания

работыa

будет

T4 = t 4 +t 4 = 10 +18 = 28 .

4

 

 

 

Для работы a5 :

 

 

t 5

= max{T2 ,T3 }= max{5,15}= 15; T5

= t5 + t5 = 15 +19 = 34 .

a6

:t 6

= max{T4 }= 28 ; T6 = t 6 + t6 = 28 +18 = 46 .

 

a7

:t 7

= max{T5 ,T6 } = max{34,46}= 46 ;

 

T7 = t 7 + t7 = 46 + 8 = 54 .

 

 

a8 :t 8= max{T3 ,T5 ,T6 }= max{15,34,46}= 46;

 

T8

= t8

+ t8 = 46 + 25 = 71.

 

 

a9 : t 9

= max{T7 }= 54 ; T9 = t 9 + t9

= 54 + 30 = 84 .

 

a10 : t10

= max{T5 ,T8 }= max{34,71}= 71 ;

 

T10 = t10 + t10

= 71 + 8 = 79 .

 

 

 

 

 

 

100