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

Автор: Пользователь скрыл имя, 26 Января 2012 в 10:15, реферат

Описание работы

Рассмотрим следующую задачу, называемую транспортной задачей. Имеется m поставщиков A1, A2,..., Am, у которых сосредоточены запасы одного и того же груза в количестве a1, a2,..., am единиц соответственно. Этот груз нужно доставить n потребителям B1, B2,..., Bn, заказавшим b1, b2,..., bn единиц этого груза соответственно. Известны также все тарифы перевозок груза cij (стоимость перевозок единицы груза) от поставщика Ai к потребителю Bj.

Содержание

СОДЕРЖАНИЕ
1. Постановка транспортной задачи. Транспортная таблица 3
2. Сведение открытой транспортной задачи к закрытой 5
3. Первоначальный план перевозок 5
3.1.Составление первоначального плана перевозок с помощью метода северо-западного угла 6
3.2. Составление первоначального плана перевозок с помощью метода наименьшей стоимости 7
4. Вырожденные планы. Циклы и пополнение плана 9
5. Проверка оптимальности плана и перераспределение поставок c помощью метода потенциалов 11
5.1. Вычисление потенциалов 11
5.2. Проверка оптимальности плана 11
5.3. Перераспределение поставок 12
6. Пример решения типовой транспортной задачи 15
Список использованной литературы 21

Работа содержит 1 файл

РЕФЕРАТ.docx

— 89.29 Кб (Скачать)
 

       Построение  плана начнем с клетки с наименьшим тарифом перевозок. При наличии нескольких клеток с одинаковыми тарифами выберем любую из них. Пусть это будет клетка (i, j). Запишем в эту клетку элемент xij = min(ai, bj). Если ai < bj, то запасы поставщика Ai исчерпаны, а потребителю Bj требуется еще b'j = bj - ai единиц груза. Поэтому, не принимая более во внимание i-ю строку, снова ищем клетку с наименьшей стоимостью перевозок и заполняем ее с учетом изменившихся потребностей. В случае ai > bj из рассмотрения исключается j-й столбец, а запасы Ai полагаются равными a'i = ai - bj. Продолжаем этот процесс до тех пор, пока все запасы не будут исчерпаны, а все потребности удовлетворены.

       Необходимо  отметить, что при наличии в  таблице клеток с одинаковыми  тарифами, планы, полученные с помощью  этого метода, могут быть разными, однако они, несомненно, ближе к оптимальному плану, чем план, составленный по методу северо-западного угла.

       Сформируем  теперь первоначальный план по методу наименьшей стоимости для рассмотренного в параграфе 3.1 примера и сравним результаты (Таблица 3). Поскольку наименьший тариф (число 2) стоит в клетке (2,3), то запишем в эту клетку элемент x23 = 30. Тогда b'3 = 50, а 2-ю строку таблицы можно больше не учитывать. Среди оставшихся клеток имеются три клетки с наименьшим тарифом перевозок, равным 4: (1,1); (3,1) и (3,2). Выберем, например, клетку (1,1) и запишем в нее число x11 = 100. Получаем, что a'1= 60, а 1-й столбец таблицы больше не рассматриваем. Теперь наименьший тариф, равный 4, проставлен в клетке (3,2), поэтому x32 = 40, b'3 = 50 и 2-й столбец больше не нужен. Далее выбираем клетку (1,4) с тарифом 5 и пишем в нее 60 14 x = . Исключив из рассмотрения сразу 1-ю строку и 4-ый столбец (поскольку     a'1 = b4 = 60), переходим к последней клетке (3,3), в которую записываем перевозку x33 = 50.

       Таблица 3

                     Заказы

Запасы

B1 B2 B3 B4
100 40 80 60
A1 160 4

100

8 10 5

60

A2 30 4 6 2

30

3
A3 90 4 4

40

6

50

5
 

       Найдем  суммарную стоимость перевозок  по этому плану:

z = 4 ×100 + 5 × 60 + 2 × 30 + 4 × 40 + 6 × 50 = 1220

       Сравнивая это значение со стоимостью плана, полученного  по методу северо-западного угла, видим, что 1220 < 1460, то есть мы получили более выгодный план перевозок.

4. Вырожденные планы.  Циклы и пополнение  плана

 

       Прежде, чем перейти к анализу оптимальности  планов и способам их улучшения, выясним, каким требованиям должны удовлетворять составляемые планы. Для этого вернемся к системе ограничений (1). В соответствии с определением плана перевозок у матрицы X = {xij } сумма элементов i-й строки равняется ai, i = 1,2,..., m, а сумма элементов j-о столбца равняется bj, j = 1,2,..., n. Условие закрытости транспортной задачи a = b означает, что среди m + n уравнений системы (1) независимыми являются только m + n -1 уравнений, поэтому в любом базисном решении этой системы должно быть m + n -1 базисных переменных. Поскольку свободные переменные в таком решении равны нулю, то в транспортной таблице им будут соответствовать пустые клетки.

       Клетки  таблицы, в которые записаны отличные от нуля перевозки, называются базисными, а остальные (пустые) - свободными.

       План  называется вырожденным, если количество базисных клеток в нем меньше, чем m + n -1.

       Если  на каком-то этапе решения получился  вырожденный план, то его необходимо пополнить, проставив в недостающем  числе клеток нулевую перевозку  и превратив, тем самым, эти клетки в базисные. Общий баланс и суммарная  стоимость перевозок плана при  этом не изменятся. Однако проводить  пополнение плана, выбирая клетки произвольно, нельзя. Приведем условия, которым должен соответствовать пополненный план.

       Циклом в транспортной таблице называется несколько клеток, соединенных замкнутой ломаной линией так, чтобы две соседние вершины ломаной были расположены либо в одной строке, либо в одном столбце. Ломаная линия может иметь точки самопересечения, но не в клетках цикла.

       План  называется ациклическим, если его базисные клетки не содержат циклов.

       Доказано, что оптимальные планы являются ациклическими, поэтому и первоначальный план также должен удовлетворять  этому требованию. Заметим, что планы, полученные с помощью метода северо-западного  угла и метода наименьшей стоимости, ациклические. Однако если план оказался вырожденным, то при его пополнении требование ацикличности необходимо учитывать.

       Возвращаясь к рассматриваемому примеру, видим, что первоначальный

план, полученный по методу наименьшей стоимости, имеет 5 базисных клеток, однако m + n -1 = 3 + 4 -1 = 6. Значит, план нужно пополнить еще одной базисной клеткой. Попробуем выбрать для этого клетку (2,2). Соединив базисные клетки горизонтальными и вертикальными отрезками (рис. 1), получаем:

(1,1) –––––––––––––  (1,4)                       (1,1) –––––––––––––– (1,4)

            (2,2) –– (2,3)                                                          (2,3) –– (2,4)

               │           │                                                              │

            (3,2) –– (3,3)                                             (3,2) –– (3,3)

                 рис.1                                                             рис.2

       Видим, что пополненный таким образом  план содержит цикл из клеток (2,2); (2,3); (3,3) и (3,2), следовательно, клетка (2,2) была выбрана  неудачно. Взяв вместо нее клетку (2,4), получим ациклический план (рис. 2). Поэтому  можно заполнить эту клетку, положив x24 = 0.

 

5. Проверка оптимальности  плана и перераспределение поставок c помощью метода потенциалов

 

       Для анализа полученных планов и их последующего улучшения удобно ввести дополнительные характеристики пунктов отправления  и назначения, называемые потенциалами.

5.1. Вычисление потенциалов

 

       Сопоставим  каждому поставщику Ai и каждому потребителю Bj величины ui и vj соответственно так, чтобы для всех базисных клеток плана были выполнены соотношения

       ui + vj = cij, i =1,2,...,m, j =1,2,..., n. (2)

       Поскольку число базисных клеток в плане  равно m + n -1 (вырожденные планы должны быть предварительно пополнены), то для определения потенциалов получается система из m + n -1 уравнений с m + n неизвестными. Такая система имеет бесконечное множество решений. Нам требуется любое ее решение. Обычно для простоты полагают один из потенциалов равным нулю и затем вычисляют остальные. В транспортной таблице для потенциалов v1, v2,… vn заводится дополнительные строка, а для потенциалов u1, u2,… um – дополнительный столбец, куда проставляются найденные значения.

5.2. Проверка оптимальности  плана

 

       Для каждой свободной клетки плана вычислим разности cij = cij – (ui + vj) и запишем полученные значения в левых нижних углах соответствующих клеток. Заметим, что для базисных клеток выполнено соотношение cij = 0, и этим фактом можно пользоваться для контроля правильности нахождения потенциалов.

       План  является оптимальным, если все разности cij ≥ 0. В противном случае план можно улучшить следующим способом.

5.3. Перераспределение  поставок

 

       Найдем  клетку с наибольшей по абсолютной величине отрицательной разностью  cij и построим цикл, в котором кроме этой клетки все остальные являются базисными. Такой цикл всегда существует и единственен.

        Заметим, что в новом плане  суммы элементов по строкам и  столбцам должны остаться прежними, поэтому изменение значения в одной клетке цикла повлечет за собой соответствующие изменения значений во всех остальных клетках этого цикла. Так как в свободной клетке значение будет увеличено, то проставим в ее правом нижнем углу знак    . Теперь пройдем по всей ломаной цикла, проставляя в правых нижних углах клеток поочередно знаки «плюс в кружке» и «минус в кружке».

       Груз  будет перераспределен по клеткам цикла на величину Δx = min xij следующим образом. В клетках со знаком «плюс» значение перевозки нужно увеличить на величину Δx, а в клетках со знаком «минус» – уменьшить на величину Δx. Так как после пересчета у нас добавилась лишняя базисная клетка, то их количество необходимо сократить, убрав нуль в одной из клеток цикла. Если таких клеток получилось несколько, то свободной делаем ту из них, в которой тариф перевозок максимален.

       После этого полученный план проверяется на оптимальность описанным выше способом. Перераспределение груза производится до тех пор, пока очередной план не станет оптимальным. На этом действие алгоритма завершается.

       Покажем, как нужно пользоваться методом  потенциалов, на примере первоначального плана, полученного выше по методу северо-западного угла.

       Вначале проверим, не является ли этот план вырожденным. Так как m+ n -1= 3+ 4 -1= 6 , и число базисных клеток в плане также равно 6, то план в пополнении не нуждается. Найдем потенциалы по базисным клеткам таблицы, положив u1 = 0, 

        u1 + v1 = 4                                                      u1 = 0

       u1 + v2 = 8                                                      u2 = -8

       u1 + v3 = 10                                                    u3 = -4

       u2 + v3 = 2                 =>                                 v1 = 4

       u3 + v3 = 6                                                      v2 = 8

       u3 + v4 = 5                                                      v3 = 10

       u1 = 0                                                              v4 = 9 

и занесем  полученные значения в таблицу. Вычислим теперь разности cij для свободных клеток и также проставим эти данные в левых нижних углах соответствующих клеток. В итоге получим следующую Таблицу 4:

       Таблица 4

       
                     Заказы

Запасы

B1 B2 B3 B4  
100 40 80 60 u
A1 160 4

100

8

40

10

20         -               

5

-4

 
0
A2 30 4 

8

6 

6

2

30

3 

2

 
-8
A3 90 4 

4

4 

0

6

30

5

60

 
-4
  v 4 8 10 9  

Информация о работе Транспортная задача