
Транспортная задача
В транспортной задаче, которая является разновидностью задачи линейного программирования и решается соответствующими методами, требуется найти оптимальный план перевозок некоторого продукта от заданного множества производителей, занумерованных числами 1,2,…,M к множеству потребителей, занумерованных числами 1,2,…,N.
Производственные возможности
i-го
производителя заданы объемом производимого
продукта -
.
Спрос j-го
потребителя на этот продукт задается
числом
.
Обозначим планируемый объем
перевозок от i-го
производителя к j-ому
потребителю как
.
В этих условиях должны быть выполнены
очевидные балансовые соотношения:
(1)
Для существования допустимого плана перевозок должен выполняется общий баланс между спросом и потреблением:
.
При этом транспортную задачу называют сбалансированной.
Можно убедиться, например, что в сбалансированной транспортной задаче величины
(2)
представляют в совокупности допустимый вариант перевозок, т.к. удовлетворяют ограничениям (1).
Целью решения транспортной задачи является минимизация суммарных транспортных расходов.
Если предположить, что стоимость
перевозки продукта линейно зависит от
объема перевозки и характеризуется
числами
,
где
-
стоимость перевозки единицы продукта
от i-го производителя
к j-му потребителю, а
- объемы перевозок, то целевая функция
в транспортной задаче принимает вид:
(3)
и задача заключается в минимизации (3), т.е.
, (4)
при выполнении ограничений (1) и условии
неотрицательности всех переменных
.
Переменные
можно представить в виде матрицы (таблица
1):
Таблица 1. Матрица объемов перевозок. |
||||||
|
1 |
2 |
... |
N |
||
1 |
|
|
... |
|
||
2 |
|
|
... |
|
||
... |
... |
... |
... |
... |
||
M |
|
|
... |
|
или, более традиционную, в виде вектора
,развернув
в этот вектор вышеприведенную таблицу
1. При естественном обходе таблицы 1
(допустим по столбцам) матрица ограничений
(1) примет специфический вид, приведенный
в таблице 2.
Таблица 2. Матрица ограничений транспортной задачи. |
|||||||||||||
1 |
1 |
... |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
... |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
... |
1 |
|
1 |
|
|
|
1 |
|
|
|
... |
1 |
|
|
|
|
|
1 |
|
|
|
1 |
|
|
... |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
1 |
|
|
|
1 |
... |
|
|
|
1 |
|
Видно, что матрица ограничений транспортной задачи обладает рядом характерных особенностей, из которых отметим следующие:
-
большая часть ее элементов равна нулю;
-
среди ненулевых элементов много одинаковых.
Первое свойство матрицы называют разреженностью, а последнее свойство называют сверхразреженностью.
Для характеризации разреженности
используют две меры - количество ненулевых
элементов в матрице ограничений и их
отношение к общему числу элементов
матрицы. Последняя характеристика
называется плотностью. Для транспортной
задачи плотность d
равна
и падает с ростом размерности задачи,
что вообще типично для задач линейного
программирования.
Описанный вариант транспортной задачи называется транспортной задачей в матричной постановке. В такой задаче разрешаются связи между произвольными поставщиками и потребителями.
На практике зачастую некоторые связи между определенными поставщиками и потребителями невозможны или нежелательны из-за разного рода внемодельных соображений (отсутствие дорог, специфика погрузочно-разгрузочного оборудования и тому подобное).
Чтобы отобразить подобного рода ситуации, транспортную задачу формулируют в сетевом виде, задавая и фиксируя структуру связей «поставщик» «потребитель». Связи можно задать списком, приведенным в таблице 3, используя вместо имен потребителей и поставщиков их уникальные индексы из некоторого реестра.
Таблица 3. Список транспортных связей |
|||
п/п |
Поставщик |
Потребитель |
Стоимость перевозки |
1 |
Владивосток |
Москва |
134 |
2 |
Хабаровск |
Владивосток |
27 |
... |
... |
... |
... |
127 |
Якутск |
Магадан |
98 |
С i-ой связью можно
ассоциировать соответствующую переменную
,
которая имеет смысл объема перевозок
по этому направлению.
Если множество связей, ведущих к
потребителю i, обозначить
через
,
а множество связей, ведущих к поставщику
j, обозначить через
,
то балансовые уравнения запишутся в
виде:
Наглядно транспортную задачу в сетевой постановке лучше всего представить в виде графа - некоторого множества вершин, соединенных дугами, обозначающими транспортные связи.
Задача
В трех хранилищах горючего ежедневно хранятся 20, 10 и 15 тонн горючего. Это горючее каждый день перевозят на четыре топливозаправочные станции в количествах, равных соответственно 10, 15, 10 и 10 тонн. Стоимости перевозок 1 тонны горючего из хранилищ к заправочным станциям задаются в виде стоимостной матрицы (в у.е.):
|
Заправочная станция |
|||
Хранилище |
1 |
2 |
3 |
4 |
1 |
9 |
7 |
5 |
3 |
2 |
1 |
2 |
4 |
6 |
3 |
8 |
10 |
12 |
1 |
Необходимо составить такой план перевозок горючего, при котором общая стоимость перевозок была бы минимальной.