Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭММ: Методичка Забуга С.И.doc
Скачиваний:
21
Добавлен:
12.11.2018
Размер:
2.28 Mб
Скачать

1.9. Транспортная задача

Данная задача относится к важнейшим задачам линейного программирования, она имеет большое практическое применение в экономике. Приоритет в постановке и решении транспортной задачи принадлежит советским ученым А. Н. Толстому (1930 г.) и Л. В. Канторовичу (1939 г.). Она относится к одному из классов задач линейного программирования, для решения которых разработаны специальные методы, более простые, чем симплекс-метод.

Постановка задачи. Пусть имеется m пунктов {A1, A2, … Am} производства (отправления) некоего однородного товара (груза) и n пунктов{B1, B2, … Bn} потребления (получения) этого же товара.

Известны запасы товара у производителя (ai, i = 1, … m) и потребности в товаре у потребителей (bj, j = 1, … n). Кроме того, даны транспортные издержки cij­ (i = 1, ... m, j = 1, ... n), т. е. расходы на перевозку единицы груза от поставщика Ai к потребителю Bj. Цель задачи – составить такой план перевозок, в результате которого все запасы товара были бы вывезены, все потребители получили бы требуемое количество товара и при этом суммарные транспортные издержки были бы минимальны.

Построим математическую модель данной задачи. Для этого вводим переменные оптимизации хij – планируемые объемы перевозок товара от i-го производителя к j-му потребителю. (Здесь в отличие от стандартной задачи линейного программирования независимые переменные имеют два индекса). Тогда, очевидно, целевая функция примет вид:

,

а ограничения в силу условий задачи запишутся так:

  1. (весь товар должен быть вывезен); (1.9.1)

  2. (все потребители удовлетворены);

  3. хij ≥ 0 (очевидно).

Условия транспортной задачи обычно задаются в виде специальной таблицы:

b1=…

b2 =…

bn =…

a1 =…

c11

c12

c1n

a2 =…

c21

c22

c2n

am = …

cm1

cm2

cmn

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

Очевидно, что транспортная задача, записанная в виде (1.9.1), является типичной задачей линейного программирования в каноническом виде с mn переменными и (m + n) основными ограничениями. В [1] доказывается ряд теорем, посвященных транспортной задаче, в частности, что ранг матрицы А системы ее ограничений равен m + n – 1. Тогда, в соответствии с общими понятиями теории линейного программирования, назовем допустимым базисным решением (ДБР) транспортной задачи такой план перевозок {xij}, который содержит не более, чем m + n – 1 неотрицательную перевозку, причем если ДБР содержит ровно m + n – 1 неотрицательную перевозку, то оно называется невырожденным.

Решение транспортной задачи начинается с построения начального ДБР. В литературе подробно описаны классические алгоритмы построения ДБР – северо-западного угла и минимальной стоимости. Мы приведем еще один достаточно простой, но в то же время очень эффективный (в смысле получения ДБР достаточно близкого к оптимальному) – метод двойного предпочтения. Алгоритм продемонстрируем на конкретной транспортной задаче, условия которой дадим в табличном виде (таблица перевозок):

Таблица 1.9.1

bj

аi

100

125

325

250

100

200

5

100

8

–––

7

–––

10

100

* 3

–––

450

* 4

–––

**(–) 2

125

** 2

325

* (+) 5

0

6

–––

250

7

––––

(+) 3

–––

5

–––

9

150 (–)

* 2

100

Пометим некоторым символом (например, *) клетку с минимальными транспортными издержками в каждой строке и в каждом столбце таблицы, при этом некоторые клетки могут быть помечены дважды. Теперь начинаем построение плана, с заполнения клеток с ** («двойное предпочтение»), затем заполняем клетки, помеченные один раз, а затем непомеченные по принципам минимальной стоимости. Как и во всех методах построения начального допустимого базисного решения в выбранную клетку мы можем занести перевозку, равную минимуму из двух чисел: хij = min{ai, bj}. Если две или несколько клеток имеют одинаково малые транспортные издержки, то предпочтительнее сначала помещать базисную перевозку в ту клетку, в которой величина перевозки может быть максимально большой (естественно стремиться перевезти больше груза по малой цене). Заметим, что для того чтобы получить на данном этапе ДБР, нам пришлось поставить так называемый «базисный ноль» в клетку с координатами (2; 4). Клетка, в которую помещается «базисный ноль» выбирается из соображений не нарушения связности плана, а именно: из любой базисной клетки должна существовать возможность переместиться в любую другую базисную клетку, двигаясь по ломаной линии, которая может совершать повороты под прямым углом только в базисных клетках. «Базисный ноль» следует не путать с клетками, в которых не запланированы перевозки (они помечены –––). Очевидно, план, представленный в табл. 1.9.1, отвечает требованиям связности и невырожденности, он содержит m + n – 1 = 3 + 5 – 1 = 7 базисных перевозок. Найдем начальное значение целевой функции, соответствующее построенному плану: Z0 = 5*100 + 10*100 + 2*125 + 2*325 + 5*0 + 9*150 + 2*100 = 3950 (неких финансовых единиц).

Для отыскания оптимального решения задачи применим так называемый метод потенциалов. Он основан на известной Теореме о разрешимости транспортной задачи: Допустимое решение транспортной задачи будет оптимальным тогда и только тогда, если найдутся числа Ui*(= 1, ... m) и Vj*(= 1, .. .n), называемые потенциалами, соответственно, строк и столбцов, такие, что:

Vj* – Ui* = cij для базисных клеток;

Vj* – Ui* ≤ cij для небазисных клеток. (1.9.2)

Для практического решения задачи более удобна эквивалентная формулировка данной теоремы. Введем величины: с*ij = Vj* – Ui*. Тогда условия (1.9.2) эквивалентны следующим:

ij = с*ijсij = 0 для базисных клеток;

ij = с*ij сij ≤ 0 для небазисных клеток. (1.9.3)

ij по аналогии с симплекс-методом называют оценками оптимальности полученного плана перевозок. Условия (1.9.2) или (1.9.3) называются условиями потенциальности ДБР {xij} транспортной задачи. В результате можно перефразировать теорему о разрешимости транспортной задачи так: Для оптимальности допустимого базисного решения транспортной задачи необходимо и достаточно, чтобы оно было потенциальным.