Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Экономико-математические методы и модели. Учебное пособие
.pdf
B1
B2
B3
a
~
A1
2
2
2
-1 4
1
20 –
1
0
A2
6 2
3
20
3
5 5
4
A3
3
20 – 2
3
0 2
2 4
1
b
~
2
–1
1
B1
B2
B3
a
~
A1
2 2
3 4
1
20 1 0
A2
2 2
3
20
3
1 5
0
A3
3
20 – 2
3
4 2
2 4
1
b
~
2
3
1
B1
B2
B3
a
~
A1
2 2
3 4
1
20 1 0
A2
2
20 –
2
3
2
3
1 5
0
A3
1 3
2
20 – 2
2
0 4
–1
b
~
2
3
1
B1
B2
B3
a
~
A1
2
4
20 1 20
A2
20
2
3
5
20
A3
3
20
2
4
20
Всего
20
20
20 60
41

В последней таблице удалим фиктивные величины и найдём значение целе-
n
j
j
m
i
i
ba
11
n
j
j
m
i
i
ba
11
.
11
ф
n
j
j
m
i
i
bab
B1
B2 Всего
A1
2
3
20
A2
4
1
18
A3
1
5
12
A4
3
4
15
Всего
25
30
65
55
вой функции: L = 20 + 40 + 40 = 100.
Заметим, что для ускорения решения транспортной задачи опорный план
можно находить не методом «северо-западного» угла, а заполнять таблицу,
начиная с клеток, имеющих минимальную стоимость. Имеются специальные
методы, такие как метод Фогеля, позволяющие получать опорные планы близкие к оптимальным.
1.8. Открытые транспортные задачи
Задачи, в которых
, называют открытыми задачами или задачами с
неправильным балансом. Их также можно решать методом потенциалов. Если
, то вводим фиктивный пункт назначения Вф. Для Вф считаем заявку
равной разности
Стоимости перевозок единиц груза в пункт
назначения Вф полагаются равными нулю. После введения Вф получаем закрытую задачу или задачу с правильным балансом.
Пример.
Вводим фиктивный пункт назначения Bф.
42

B1
B2
Bф Всего
A1
8 2
12
3
0
20
A2
4
18
1
0
18
A3
12
1
5
0
12
A4
5
3
4
10 0 15
Всего
25
30
10 65
Получаем закрытую задачу и решаем её методом потенциалов, как было
B1
B2
Bф
a
~
A1
2 8 2
3
12
3
-1 0
0
A2
0 4
1
18
1
-3 0
–2
A3
1
12
1
2 5
-2 0
–1
A4
3 5 3 4 4 0
10 0 1
b
~
2
3
–1
B1
B2 Всего
A1
8 2
12 3 20
A2
4
18 1 18
A3
12
1
5
12
A4
5
3
4
15
Всего
25
30
65
55
описано выше.
Удаляем из таблицы фиктивный пункт назначения. Груз из пункта отправления A4 будет вывезен частично.
43

Получаем L = 16 + 36 + 18 + 12 + 15 = 97. Задача решена.
n
j
j
m
i
i
ba
11
m
i
i
n
j
j
aba
11
ф
0ф
j
c
i
a
j
b
n
j
j
m
i
i
ba
11
ij
t
min,max0
ijx
tL
ij
,...
...
,...
21
111211
mmnmm
n
axxx
axxx
,...
...
,...
21
112111
nmnnn
m
bxxx
bxxx
.0...,,0
11
mn
xx
ij
t
В случае, когда
ления Аф. При этом полагаем
аналогично вводится фиктивный пункт отправ-
и
для j = 1, 2, ..., n.
1.9. Транспортная задача с минимизацией времени
Пусть имеются пункты отправления груза A1, A2, . . ., Am и пункты назначения груза B1, B2, ..., Bn. Запасы груза на пунктах отправления Ai составляют
единиц, а заявки пунктов назначения Bj составляют
. Известно время
перевозки груза из пункта отправления Ai в
единиц. Полагаем, что
пункт назначения Bj (не зависит от количества груза).
Ставится задача найти минимальное время перевозок. Считается, что все
перевозки начинаются одновременно.
Эта задача является задачей нелинейного программирования, так как L нелинейна. Для её решения можно применить метод «вычёркивания клеток». Вычёркиваем из таблицы клетки, в которых
максимально. Пытаемся найти
план, не использующий этих клеток. Если план найти удается, то вычеркиваем
следующие клетки. Если нет, то предыдущий полученный план является оптимальным.
44

Отметим некоторые случаи, когда таблицу заполнить нельзя.
B1
B2
B3
B4
B5 Всего
A1
4
3
5
1
2
22
A2
2
4
1
3
5
18
A3
5
1
2
3
5
17
A4
4
3 3
2
1
19
A5
2
1
6
2
4
21
A6
3
1
3
1
5
23
Всего
27
21
22
24
26 120
1. В строке (столбце) вычеркнуты все клетки.
2. В строке (столбце) остается одна невычеркнутая клетка и сумма
в строке (столбце) больше суммы столбца (строки).
При заполнении таблицы надо рассмотреть все возможные способы
заполнения. Можно ограничиться только невырожденными в смысле метода
потенциалов планами, если они есть, хотя для такой задачи это не имеет значения.
Проще найти план, если начинать заполнение таблицы со строк и столбцов
с наименьшим количеством невычеркнутых клеток. Можно также применять
поиск циклов, для которых при пересчёте могут быть освобождены клетки с
максимальным временем перевозок.
Пример.
Учитывая, что в таблице только одна клетка со временем перевозок 6, вычеркнем сразу и все клетки со временем перевозок 5, хотя заполнение такой
таблицы и не составит труда.
45

B1
B2
B3
B4
B5 Всего
A1
22
4
3
5
1
2
22
A2
5 2
13
4
1
3
5
18
A3
5
8 1
9 2
3
5
17
A4
4
3
13
3
2
6 1
19
A5
2
1
6
1
2
20
4
21
A6
3
1
3
23
1
5
23
Всего
27
21
22
24
26 120
План перевозок с максимальным временем 4 найден. Теперь вычеркиваем
B1
B2
B3
B4
B5 Всего
A1
4
3
5
1
22 2 22
A2
12
2
4
6 1
3
5
18
A3
5
1
2
17
3
5
17
A4
4
15
3 3
2
4 1
19
A5
15
2
6
1
6
2
4
21
A6
3
1
16
3
7
1
5
23
Всего
27
21
22
24
26 120
из таблицы клетки со временем перевозок 4 и пытаемся найти план перевозок,
для которого время равно 3.
Заметим, что можно было бы рассмотреть поиск циклов, освобождающих
клетки со временем перевозок 4. Например, пересчёт по циклу из клеток на пересечении первой и второй строки и первого и второго столбца сделал бы клетку на пересечении второй строки и второго столбца пустой.
46

План перевозок с максимальным временем 3 найден. Теперь пробуем найти
B1
B2
B3
B4
B5 Всего
A1
4
3
5
1
22 2 22
A2
6 2
4
12
1
3
5
18
A3
5
7 1
10
2
3
5
17
A4
4
3 3
15
2
4 1
19
A5
21
2
1
6
2
4
21
A6
3
14
1
3
9
1
5
23
Всего
27
21
22
24
26 120
B1
B2
B3
B4
B5 Всего
A1
4
3
5
1
2
22
A2
2
4
1
3
5
18
A3
5
1
2
3
5
17
A4
4
3 3
2
1
19
A5
2
1
6
2
4
21
A6
3
1
3
1
5
23
Всего
27
21
22
24
26 120
.2
min
T
план перевозок, для которого время равно 2.
План перевозок с максимальным временем 2 получен. Вычёркиваем, наконец, клетки со временем 2.
Видим, что, например, нельзя заполнить первый столбец. Следовательно,
таблицу заполнить нельзя и время перевозок
47

2. Сетевое планирование
2.1. Основные понятия
Пусть имеется некоторое количество видов работ A1, … , An . Некоторые из
этих работ опираются на другие работы. Известна продолжительность выполнения каждой работы. Будем обозначать время выполнения работы Ai через ti.
Работы, которые не опираются друг на друга, могут выполняться одновременно. Требуется определить минимальное время выполнения всех работ.
Будем называть работу работой первого ранга, если она не опирается ни на
какие другие работы. Выполнение всех работ первого ранга может начинаться в
начальный момент времени (начальный момент времени считаем равным нулю), тогда время завершения последней работы определяет время выполнения
комплекса работ. Работа называется работой ранга k, если она опирается на работы рангов меньше k и опирается, по крайней мере, на одну работу ранга k – 1.
Работа называется критической, если при задержке начала её выполнения
увеличивается время выполнения всего комплекса работ. Максимальный промежуток времени, на который мы можем отложить выполнение некритической
работы без увеличения времени выполнения всех работ, называется резервом
времени. У критических работ резерва времени нет. Минимальное время выполнения комплекса работ называется критическим временем.
Будем говорить, что работа Ak существенно опирается на работу Ai, если работа Ai завершается позже всех остальных работ, на которые опирается работа
Ak. Последовательность критических работ называется критическим путём.
Критический путь может быть найден следующим образом. Для работ, которые
заканчиваются последними, надо взять работы, на которые они опираются существенно. Для этих работ тоже взять работы, на которые они опираются существенно и так далее. Пройдя таким образом по цепочке от конца к началу, можно найти все критические пути.
Для комплекса работ можно построить схему – временной график.
48

Пример.
Работы
A1 A2 A3 A4 A
5
Опираются на
A
1
A2
A
1
A2
A
3
A4
Время выполнения
10
12 8 14
11
542
AAA
5421
: AA Ap
.AA Ap
AA Ap
AA Ap
5414
5313
5322
:
,:
,:
;37)(
1
pt
;3111812)(
2
pt
;2911810)(
3
pt
.35111410)(
4
pt
.2)2;8min(
.6)8;6min(
A2
A1
A3
A4
A5
10
12
20
26
37
t
0
Временной график имеет следующий вид.
Работы A2, A4 и A5 являются критическими, а работы A1 и A3 – некритическими. Критическим путём является последовательность работ
.
Определение резервов времени у работ можно произвести по следующей
схеме. Надо найти все пути на временном графике.
– критический путь.
Запишем время выполнения всех путей:
Для каждого пути определяем
резервы времени, вычитая из критического времени (времени выполнения критического пути) время выполнения данного пути. В нашем примере для пути p2
имеем резерв времени 37 – 31 = 6, для p3 – 8, для p4 – 2.
Для некритических работ резерв времени можно определить как минимальный резерв времени путей, в которые они входят. Для A1 – резервы путей p3 и
p4, в которые она входит, 8 и 2 соответственно. Тогда резерв времени A1 равен
этому резерв времени работы A3 равен
Для работы A3, резервы p2 и p3 равны 6 и 8 соответственно. По-
49

2.2. Схема решения задачи
Работы
A1 A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
Опираются на
A
9
A
4
A11
A1
A8
A2
A12
A14
A
6
A1
A4
A9
A
12
A5
A9
A11
A4
A14
A14
A13
A
8
A1
A6
A10 A5
A2
A12
Время
9
14
10 9 11 9 16
13
14
15
14 8 10
16
10
Новые
обозначения
B9 B10
B14
B4
B12
B7
B13
B8
B5
B1
B6
B11
B3
B2
B15
Работы
B1
B2
B3
B4
B5
B6
B7
B8
B9
B10
B11
B12
B13
B14
B15
Опираются на
B1
B2
B2
B3
B4
B2
B3
B
4
B5
B
5
B6
B4
B
5
B6
B
8
B9
B
7
B
8
B9
B
7
B9
B11
B12
B
10
B11
B10
B
11
B12
Время
15
16
10 9 14
14 9 13 9 14 8 11
16
10
10
Общее время
15
16
25
25
39
39
48
52
48
66
60
59
76
76
76
Упорядочиваем все работы по возрастанию ранга, вводя при необходимости
новые обозначения. Сначала вводим обозначения для работ, которые не опираются на другие работы. Затем обозначаем те работы, которые опираются на уже
имеющие новые обозначения. Таких способов введения новых обозначений
имеется несколько.
Определяем время завершения каждой работы, прибавляя к её продолжительности время работы, на которую она опирается существенно. Критическое
время выполнения работ – это максимальное время завершения некоторой работы. Критический путь определяется по цепочке от конца к началу, беря на
каждом шаге работы, на которые данная работа опирается существенно. Другими словами, берутся работы, которые завершаются последними из тех на которые опирается данная работа.
Для решения этой задачи воспользуемся таблицей.
Критическое время T
= 76.
кр
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
