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

Прикладная математика и математические методы и модели в сервисной деятельности. Курс лекций

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
запасы груза, то вычеркивается все клетки первой строки (А1). Далее, если по-
min 20,40 20
min 21,20 20
min 1,30 1
min 7,29 7
min 24,22 22
min 2,10 2
требности потребителя В1 удовлетворены, следующей становится клетка в столбце справа – А1-В2. Если же со станции А1 вывезен весь груз, то в качестве северо-западной клетки принимают клетку А2-В1 в ближайшей нижней строке и т. д. Указанный алгоритм применяется до заполнения всей таблицы.
Рассмотрим построение опорного плана на примере транспортной задачи, исходные данные которой (запасы грузов на станциях Аi, потребности в грузах на станциях Вj, стоимости перевозок между станциями) приведены в табл. 2.
Ставим первую максимально допустимую перевозку в клетку А1-В1. Она определяется потребностью потребителя В1и будет равна
Первый столбец закрыт (в пункте А1 осталось 40 – 20 = 20 единиц груза). Идем по строке вправо. В клетку А1-В2 ставим максимально возможную перевозку со
станции А1для потребителя В2, равную ку (в оставшихся клетках закрытой строки или столбца ставим прочерки).
Спускаемся по второму столбцу. В клетку А2-В2 ставим перевозку, кото­рая необходима для закрытия потребности потребителя В2 и равна
. Закрываем второй столбец, при этом в пункте А2 осталось 30 – 1
= 29 единиц груза. Идем по второй строке и в клетку А2-В3 ставим перевозку для потребителя В3. Она равна
этом в пункте А2 осталось 29 – 7 = 22 единиц груза. Продолжаем идти по треть­ей строке. В клетку А2-В4 ставим перевозку для потребителя В4 равную остав-
шемуся запасу груза на станции А2 –
Спускаемся по четвертому столбцу и в клетку А3-В4 ставим перевозку,
. Закрыли третий столбец, при
. Закрыли первую стро-
. Вторая строка закрыта.
.
необходимую для закрытия потребности потребителя В4 – крыт четвертый столбец (на станции А3 осталось 10 – 2 = 8 единиц груза), идем
по третьей строке. В оставшуюся невычеркнутую клетку А3-В5 ставим послед­нюю перевозку для потребителя В5 из пункта А3 оставшиеся 8 единиц груза. Таблица исчерпана. Все грузы вывезены, все потребности удовлетворены.
. За-
41
Таблица 2
Потребит.
Поставщ.
В1 В2 В
3
В
4
В
5
Запасы
А
1
20
4
20
3
–
4
–
11
–
9
40
А
2
–
3
1
4
7
7
22
15
–
8
30
А
3
–
7
–
4
–
2
2
8
8
15
10
Потребности
20
21 7 24 8
( ) 20 4 20 3 1 4 7 7 22 15 2 8 8 15 659.f Х       
min 7,10 7
min 21,40 21
min 20,30 20
Вычислим стоимость всех перевозок. Она равна
Недостаток данного метода – не учитывает стоимость перевозок и, как правило, получаемый план далек от оптимального.
Метод наименьшей стоимости
Рассмотрим другой метод, который учитывает в какой-то мере затраты на перевозки и реализуется следующим образом: в исходной матрице, находят клетку с наименьшей стоимостью, в которую заносят максимально допустимую перевозку. После чего вычеркивается либо строка, либо столбец, соответству­ющий выбранной клетке. Далее все повторяется для оставшейся части таблицы (находят клетку с наименьшей стоимостью и т. д.).
Опишем последовательность действий для данного метода на примере, рассмотренном выше.
Выбираем в таблице клетку с наименьшей стоимостью А3-В3 и ставим в нее максимально допустимую перевозку, которая определяется потребностью
потребителя В3 и будет равна
(табл. 3), закрыли третий столбец.
В пункте А3 осталось 10 – 7 = 3 единиц груза. В оставшихся клетках вы­бираем наименьшую стоимость. Таких клеток две: А2-В1 и А1-В2. Произвольно выбираем сначала клетку А1-В2: ставим сюда перевозку, равную
. Второй столбец закрыт, а в пункте А1 осталось 40 – 21 = 19
единиц груза. Далее ставим перевозку в клетку А2-В1. Она равна
. Закрыли первый столбец, а в пункте А2 осталось 30 – 20 = 10
единиц груза. Минимальная стоимость в оставшихся клетках равна 8 и нахо-
42
дится она в клетке А3-В4. Ставим туда перевозку
min 24,3 3
min 8, 10 8
22,12min
Потребит.
Поставщ.
В1 В2 В
3
В
4
В
5
Запасы
А
1
–
4
21
3
–
4
19
11
–
9
40
А
2
20
3
–
4
–
7
2
15
8
8
30
А
3
–
7
–
4
7
2
3
8
–
15
10
Потребности
20
21 7 24 8
4648883152111972321320)( Хf
. Закрыта третья
строка. Пункту В4 необходимо еще 24 – 3 = 21 единиц груза. Такая же стоимость и в клетке А2-В5. Ставим туда перевозку
бец, а в пункте А
осталось 10 – 8 = 2 единиц груза. Во второй строке осталась
2
свободной только клетка А2-В4. Ставим туда перевозку закрыта.
. Закрыли пятый стол-
. Строка
Таблица 3
Пункту В4 необходимо 21 – 2 = 19 единиц груза. Заполняем оставшуюся клетку А1-В4. Ставим сюда перевозку 19 единиц груза. Заполнена вся таблица.
Вычислим общую стоимость перевозок
.
В большинстве случаев этот метод дает план, который ближе к оптималь­ному, однако во всех случаях требуется сравнивать величины функции цели на получаемых планах и выбирать тот, для которого функция принимает наименьшее значение.
Метод двойного предпочтения
В данном методе выбирают клетки с наименьшей стоимостью в каждой строке и отмечают их каким-нибудь значком, например ☺. Затем выбирают и
отмечают клетки с наименьшей стоимостью в каждом столбце. В дважды отме­ченные клетки ☺☺ заносят максимально допустимые перевозки. После чего
максимальные допустимые перевозки заносят в клетки, отмеченные один раз
43
значком ☺. Остаток таблицы можно заполнить методом северо-западного угла
min 21,40 21
min 20,30 20
min 7,10 7
min 8,10 8
min 24,3 3
Потребит.
Поставщ.
В1 В2 В
3
В
4
В
5
Запасы
А
1
–
4
21
☺☺
3
–
4
19
11
–
9
40
А
2
20
☺☺
3
–
4
–
7
2
15
8
☺
8
30
А
3
–
7
–
4
7
☺☺
2
3
☺
8
–
15
10
Потребности
20
21 7 24 8
4648883152111972321320)( Хf
или методом наименьшей стоимости. Используем алгоритм рассматриваемого метода для того же примера.
Выберем в каждой строке минимальную стоимость и отметим эти клетки знач­ком. Тоже сделаем со столбцами. Выбрали клетки с двумя значками: в клетку
А осталось 40 − 21 = 19 ед.); клетка А2-В1 – перевозка равна
ставим перевозку
1-В2
(закрыт второй столбец, в пункте А1
, за-
крыт первый столбец, в пункте А2 осталось 30 − 20 = 10 ед.); клетка А3-В3 – пе­ревозка
, закрыт 3 столбец, в пункте А2осталось 10 − 7 = 3 ед.).
Теперь ставим перевозки в клетки с одним значком: А2-В5 – перевозка
(закрыт 5 столбец, в пункте А2 осталось 10 − 8 = 2 ед.); А3-В4 – пе-
ревозка
(закрыта 3 строка, а пункту В4 нужно 24−3 = 21 ед.).
Остальные клетки можно заполнить предыдущим методом.
Таблица 4
Выберем метод двойного предпочтения и оценим его на оптимальность по ме­тоду потенциалов.
необходимости, последовательно улучшая его, найти оптимальное решение.
Общая стоимость перевозок равна
.
Для нашего примера опорные планы двух последних методов совпадают.
Решение транспортной задачи методом потенциалов
Метод потенциалов позволяет оценить составленный опорный план и при
44
Теоремы метода
Теорема 1. Если опорный план X = (xij) является оптимальным, то суще-
ствует система из (m+n) чисел, называемых потенциалами, Ui,Vj, такая, что:
а) Ui + Vj = Cij, для x
б) Ui + Vj  Cij, для x
> 0 (базисные переменные);
ij
= 0 (свободные переменные).
ij
Таким образом, для оптимальности опорного плана необходимо выпол­нение следующих условий:
для каждой занятой клетки сумма потенциалов равна стоимости пере- возки единицы груза, стоящей в этой клетке
Ui + Vj = Cij, (5)
для каждой свободной клетки сумма потенциалов меньше или равна стоимости перевозки единицы груза, стоящей в этой клетке
Ui + Vj ≤ Cij. (6)
Примечание: система (5) содержит (m + n) неизвестных и (m + n – 1) ли­нейно независимых уравнений. Такая система имеет бесчисленное множество решений, которые можно получить, придавая одной из неизвестных конкретное значение. Это значение выбирается произвольно, например можно придать U2 значение равное нулю, тогда другие потенциалы вычисляются из системы (5).
Теорема 2. Любая закрытая транспортная задача имеет решение, которое достигается за конечное число шагов метода потенциалов.
Построение цикла и определение величины перераспределения груза
Циклом в таблице перевозок называется ломаная линия с вершинами в
клетках и ребрами, расположенными вдоль строк или столбцов, удовлетворя­ющая двум требованиям:
а) ломаная должна быть связной, т. е. из любой вершины цикла можно попасть в другую вершину, двигаясь по ребрам;
б) в каждой вершине цикла сходятся ровно два ребра одно по строке, другое по столбцу.
45
Замечание
*
ij
C
*
ij i j
CC
В цикле возможны самопересечения, но они происходят только не в вер­шинах цикла. Примеры построения циклов показаны ниже. Теорема 3. Если в таблице перевозок m строк и n столбцов, перевозками заполнено (m + n – 1) клеток, то существует цикл, одна из вершин которого расположена в свободной клетке, а все остальные вершины в занятых клетках. Такой цикл называется циклом пересчета свободной клетки.
Теорема 4. В таблице перевозок для каждой свободной клетки существует единственный цикл пересчета.
Метод потенциалов позволяет не только оценить оптимальность плана, но и улучшить его с помощью цикла пересчета свободной клетки.
Алгоритм решения методом потенциалов
1. Поставим в соответствие каждой станции Аi переменную – потенциал
Ui, а каждой станции Bj – потенциал Vj.
2. Придадим одному из потенциалов заполненных клеток (содержащих
грузоперевозки x
) некоторое произвольное значение, например, значение Ui
0
ij
= 0 (можно любое другое). Используя условие Ui + Vj = Cij для каждой запол­ненной клетки, найдем все остальные потенциалы.
3. Проверим оптимальность опорного решения, вычисляя сумму потенци-
алов для свободных клеток. Если найденная сумма (обозначим ее
) меньше
стоимости перевозок, т. е.
для всех свободных клеток, то опорное ре-
шение является оптимальным (функция цели имеет минимальное значение). Запишем решение задачи, вычислив стоимость перевозок по найденному опти­мальному плану.
46
Если это условие не выполняется хотя бы в одной свободной клетке, то в
*
i j ij i j
CC 
max 0
ij

14
12
11,
3,
UV UV


21
24
25
3,
15 ,
8,
UV UV UV
  
33
34
2,
8.
UV UV
 
02U
303
1
V
15015
4
V
случае такого нарушения разность
называют невязкой. Наличие
невязок означает, что опорное решение не оптимально и надо перейти к следу­ющему опорному плану. Найдем все возможные невязки для свободных клеток. Затем выбираем ту клетку, которой соответствует максимальная невязка
(если есть несколько одинаковых нарушений, то выбираем любую
из соответствующих клеток).
4. В выбранную свободную клетку нужно поставить перевозку. Для этого
строим цикл пересчета свободной клетки так, чтобы первая вершина цикла находилась в выбранной клетке, а все остальные – в занятых.
5. Пронумеруем вершины цикла, начиная с пересчитываемой свободной
клетки. Определим величину сдвига по циклу θ как минимальную из перевозок, стоящих в четных вершинах цикла.
6. Вычтем величину θ из перевозок в четных вершинах цикла и прибавим
ее к перевозкам в нечетных вершинах. Получен новый опорный план. Далее вновь переходим к пункту 2.
Продемонстрируем метод потенциалов на примере.
Продолжим решение задачи, в которой рассмотрены методы нахождения первого опорного плана. Напомним, что за опорное решение мы решили при­нять решение, полученное при расчете методом двойного предпочтения.
Придадим потенциалу U2 значение 0, а остальные потенциалы для заня­тых клеток определим из системы уравнений, удовлетворяющих условию (5)
Из этой системы, подставляя в нее значение потенциалы и запишем их в таблицу. Например,
, найдем остальные
,
и т. д. Получим таблицу.
47
Потенциалы
V1 = 3
V2 = 7
V3 = 9
V4 = 15
V5 = 8
Запасы
U1 = – 4 4 3 21 −
4
11
9
40
U2 = 0
3
4 7
15
8
30
U3 = – 7 7
4 2
8
15
10
Потребности
20
21 7 24 8
11
1 3 13
15
1 4, 5 4; 1 , 7 9;
UV UV UV
  
2 2 22
2 3 23
7 4; 3 ,
9 7; 2 ,
UV UV
 
31
32
35
4 7,
0 4,
1 15.
UV UV UV
       
min 21,2 2q 
Проверим выполнение условия оптимальности (6) для опорного плана,
полученного методом двойных предпочтений
Таблица 5
План не является оптимальным, так как имеются нарушения условий (6) в
клетках A1-B3, A2-B2 и A2-B3. Наибольшая невязка (нарушение) равна δ
22
=
3,
следовательно, пересчет начинаем с клетки A2-B2. Этой клетке присваивается первый номер и строится цикл пересчета по правилам, изложенным выше. Все клетки, в которых лежат вершины цикла, последовательно нумеруются, четным вершинам приписывается знак «–», а нечетным «+».
Величина сдвига по циклу находится как минимальное значение из всех
перевозок в четных вершинах цикла и равна
(табл. 5). Она
вычитается из перевозок в четных вершинах цикла и прибавляется к перевоз­кам в нечетных. Получаем новый план, для которого вновь находим потенциа­лы и проверяем условия (6).
48
Таблица 6
Потенциалы
V1 = 3
V2 = 4
V3 = 6
V4 = 12
V5 = 8
Запасы
U1 = – 1
4 3
19 4 +
11
21
9
40
U
2
= 0
3
20 4 2 7
15 8
8
30
U3 = – 4
7 4 2 8
3 +
15
10
Потребности
20
21 7 24 8
11
1 3 13
15
2 4,
5 4; 1 , 7 9,
UV UV UV
,1512
,76
42
32
VUVU
.154
,40
,71
53
23
13
VU
VU
VU
77,21min q
,97
,42
51
11
VUVU
,1512
,75
42
32
VUVU
,40
,71
23
13
VUVU
.154
,21
53
33
VUVU
План не является оптимальным, так как условие (6) не выполняется в
клетке A1-B3 с невязкой δ
B3. Величина сдвига по циклу
= 1, следовательно, пересчет начинаем с клетки A1-
13
вычитается из перевозок в
четных вершинах цикла и прибавляется к перевозкам в нечетных. Получаем новый план (табл. 7), для которого вновь находим потенциалы и проверяем условия оптимальности. Из приведенного примера видно, что фактически цикл пересчета освобождает «невыгодные» клетки с большой стоимостью или, по крайней мере, уменьшает величину перевозки в таких клетках.
Опорный план оптимален, так как все невязки равны нулю (отсутствуют)
49
Таблица 7
Потенциалы
V1 = 3
V2 = 4
V3 = 5
V4 = 12
V5 = 8
Запасы
U1 = – 1
4 3
19 4 7
11
14 9
40
U2 = 0
3
20 4 2 7
15 8
8
30
U3 = – 4
7 4 2 8
10
15
10
Потребности
20
21 7 24
8
.4518108842320111447319
опт
XF
010000
800220
0147190
опт
X
.451
опт
XF
Вычисляем функцию цели
Вопросы:
1. Математическая модель транспортной ЗЛП.
2. Суть метода северо-западного угла.
3. Суть метода двойного предпочтения.
4. Суть метода наименьшей стоимости в таблице.
5. Критерий оптимальности транспортной ЗЛП.
6. Цикл перерасчета. Виды циклов. Алгоритм построения цикла пере-
расчета.
Ответ:
, →
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]