
Karmazin_-_Teoria_Igr_Uchebnik / P10_3
.DOCТема 10. РЕШЕНИЕ ТРАНСПОРТНЫХ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
Однородный продукт,
сосредоточенный в
пунктах отправления в количествах
единиц соответственно, необходимо
доставить в каждый из
пунктов назначения в количествах
.
Стоимость перевозки единицы из
-го
пункта отправления в
-й
пункт назначения равна
и известна для всех комбинаций
.
Пусть
количество продукта, перевозимого по
маршруту
.
Задача заключается в определении таких
величин
для всех маршрутов
,
при которых суммарная стоимость перевозок
была бы минимальной.
Математическая модель транспортной задачи имеет следующий вид:
(1)
; (2)
; (3)
. (4)
Для совместности уравнений (2) и (3) необходимо, чтобы
. (5)
Такая модель называется закрытой.
Теорема 1. Любая транспортная задача, для которой выполняется условие (5), имеет решение.
Теорема 2.
Система
ограничений (2) и (3) содержит
линейно независимых уравнений.
Следствие 1.
Существует
опорное решение транспортной задачи,
содержащее не более чем
положительных перевозок
.
Теорема 3.
Если
предположить, что все
и
неотрицательные целые числа, то любой
опорный план состоит из целочисленных
перевозок
.
Все данные
транспортной задачи записываются в
виде
табл. 1. Клетки таблицы, в которых
находятся отличные от нуля перевозки,
называются занятыми,
остальные
свободными.
Занятые клетки соответствуют базисным
неизвестным, и для невырожденного
опорного решения их количество равно
.
Циклом
называется набор клеток
,
в котором две и только две соседние
клетки расположены в одном столбце или
одной строке таблицы. Графически цикл
представляет собой замкнутую ломаную
линию.
Таблица 1
|
|
|
|
|
|
|
|
|
|
|
|
. . . |
|
|
. . . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. . . |
|
|
. . . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. . . |
|
|
. . . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. . . |
|
|
. . . |
|
|
Допустимое решение
будет опорным, если в таблице нельзя
построить замкнутый цикл, все вершины
которого расположены в занятых клетках.
Всякое решение транспортной задачи,
содержащее более
занятых клеток, не является опорным.
При таком решении в таблице всегда можно
построить замкнутый цикл, с помощью
которого уменьшают число занятых клеток
до
.
Существует несколько простых методов построения исходного опорного решения, рассмотрим их на примерах.
Метод северо-западного угла. Применим это правило к следующей таблице:
Не учитывая
стоимости перевозки единицы груза,
определим значения перевозок
.
Определим сначала максимально возможное
значение переменной
,
стоящей в верхнем левом углу. Положим
;
если
,
то
и все
для
.
Если
,
то
и все
для
.
Допустим, что имеет место
;
тогда таблица преобразуется следующим
образом:
После этого
определим значение первой переменной
во второй строке, полагая
и т.д.
Решение, получаемое методом северо-западного угла, является опорным.
Таблица 2
|
7 |
|
7 |
|
7 |
|
7 |
|
2 |
|
|
|
16 |
|
30 |
|
17 |
|
10 |
|
16 |
4 |
4 |
|
|
|
|
|
|
|
|
|
|
|
30 |
|
27 |
|
26 |
|
9 |
|
23 |
6 |
3 |
|
3 |
|
|
|
|
|
|
|
|
|
13 |
|
4 |
|
22 |
|
3 |
|
1 |
10 |
|
|
4 |
|
6 |
|
|
|
|
|
|
|
3 |
|
1 |
|
5 |
|
4 |
|
24 |
10 |
|
|
|
|
1 |
|
7 |
|
2 |
|
Пример 1. В табл. 2 приведено исходное опорное решение транспортной задачи, полученное методом северо-западного угла. Начиная движение от занятой клетки (1,1), строим ломаную с вершинами в занятых клетках. Видим, что ломаная не содержит циклов, следовательно, этот план перевозок опорный. Вычислим значение целевой функции для полученного плана перевозок:
.
Метод минимального
элемента.
Суть метода заключается в том, что из
всей таблицы стоимостей выбирают
наименьшую и в соответствующую ей клетку
помещают максимально возможный объем
перевозок:
.
Затем из рассмотрения исключают либо
строку, соответствующую поставщику,
запасы которого полностью израсходованы,
либо столбец, соответствующий потребителю,
потребности которого полностью
удовлетворены, либо строку и столбец,
если израсходованы запасы поставщика
и удовлетворены потребности потребителя.
Из оставшейся части таблицы снова
выбирают наименьшую стоимость, и процесс
распределения запасов продолжают, пока
все запасы не будут распределены, а
потребности удовлетворены.
Пример 2. С помощью этого метода построим план перевозок уже рассмотренной задачи.
Таблица 3
|
7 |
|
7 |
|
7 |
|
7 |
|
2 |
|
|
|
16 |
|
30 |
|
17 |
|
10 |
|
16 |
4 |
3 |
|
|
|
1 |
|
|
|
|
|
|
|
30 |
|
27 |
|
26 |
|
9 |
|
23 |
6 |
|
|
|
|
6 |
|
|
|
|
|
|
|
13 |
|
4 |
|
22 |
|
3 |
|
1 |
10 |
1 |
|
|
|
|
|
7 |
|
2 |
|
|
|
3 |
|
1 |
|
5 |
|
4 |
|
24 |
10 |
3 |
|
7 |
|
|
|
|
|
|
|
Соединяя занятые клетки ломаной, убеждаемся, что построенный план ациклический и, следовательно, опорный. Определим его общую стоимость:
.
Стоимость плана перевозок, построенного методом минимального элемента, значительно меньше стоимости плана, построенного методом северо-западного угла, следовательно, он ближе к оптимальному.
Метод двойного
предпочтения.
В каждой строке таблицы отмечаем знаком
предпочтения
клетку с минимальной стоимостью
.
Затем отмечаем знаком
в каждом столбце клетку с минимальной
стоимостью. В результате некоторые
клетки получат отметку
отметку двойного предпочтения. В эти
клетки размещаем максимально возможные
объемы перевозок, каждый раз исключая
из рассмотрения соответствующие строки
и столбцы. Затем распределяем перевозки
по клеткам, помеченным одним знаком
предпочтения
.
В оставшейся части таблицы объемы
перевозок распределяем по методу
минимального элемента.
Таблица 4
|
7 |
|
7 |
|
7 |
|
7 |
|
2 |
|
|
|
16 |
|
30 |
|
17 |
|
10 |
|
16 |
4 |
3 |
|
|
|
1 |
|
|
|
|
|
|
|
30 |
|
27 |
|
26 |
|
9 |
|
23 |
6 |
|
|
|
|
6 |
|
|
|
|
|
|
|
13 |
|
4 |
|
22 |
|
3 |
|
1 |
10 |
1 |
|
|
|
|
|
7 |
|
2 |
|
|
|
3 |
|
1 |
|
5 |
|
4 |
|
24 |
10 |
3 |
|
7 |
|
|
|
|
|
|
|
Пример 3. С помощью этого метода построим план перевозок уже рассмотренной задачи. План перевозок (табл. 4) составленный методом двойного предпочтения совпал, в данном примере, с планом полученным методом минимального элемента.
Метод Фогеля. В каждой строке и каждом столбце таблицы определим разность между двумя наименьшими ценами. Затем из всех разностей выберем наибольшую и в соответствующей этой разности строке или столбце, в клетке с минимальной стоимостью, устанавливаем максимально возможный объем перевозок. В результате этого шага какой-то столбец или строку можно исключить из рассмотрения. Для оставшейся части таблицы снова определяем разности между двумя наименьшими ценами в каждой строке и каждом столбце, выбираем наибольшую из разностей и т.д. После каждого шага часть таблицы, подлежащей анализу, будет уменьшаться на строку или столбец. Выполняем описанную процедуру пока не будет составлен полный план перевозок.
Пример 5.
С помощью метода Фогеля построим план
перевозок уже рассмотренной задачи.
Обозначим через
разность
между двумя наименьшими ценами в i-й
строке на k-м
шаге, а через
разность между двумя наименьшими ценами
в j-м
столбце на k-м
шаге.
Таблица 5
|
7 |
|
7 |
|
7 |
|
7 |
|
2 |
|
|
|
|
|
|
16 |
|
30 |
|
17 |
|
10 |
|
16 |
6 |
6 |
|
4 |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
27 |
|
26 |
|
9 |
|
23 |
14 |
17 |
|
6 |
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
13 |
|
4 |
|
22 |
|
3 |
|
1 |
2 |
1 |
|
10 |
|
|
7 |
|
|
|
1 |
|
2 |
|
|
|
|
|
|
3 |
|
1 |
|
5 |
|
4 |
|
24 |
2 |
2 |
|
10 |
3 |
|
0 |
|
7 |
|
|
|
|
|
|
|
|
|
|
10 |
|
3 |
|
12 |
|
1 |
|
15 |
|
|
|
|
|
10 |
|
3 |
|
12 |
|
1 |
|
__ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|