Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раб.2.doc
Скачиваний:
5
Добавлен:
09.06.2015
Размер:
227.84 Кб
Скачать

Работа 2. Транспортная задача

  1. Постановка задачи и ее математическая модель

Одна из традиционных постановок транспортной задачи сводится к следующему. В нескольких пунктах отправления (обозначим их A1, A2, … , Am) имеются однотипные товары заданного объема. Известен их спрос в ряде пунктов назначения (обозначим их B1, B2, … , Bn), а также транспортные затраты по всем возможным маршрутам. Необходимо найти план перевозок, отвечающий требованию минимума совокупных транспортных затрат.

Для построения математической модели задачи, введем следующие обозначения:

аi - объемы товаров в пунктах отправления Ai, i = 1, …, m, bj величина спроса в пунктах назначения (пунктах потребления) Bj, j = 1, …, n;

cijзатраты, связанные с перевозкой каждой единицы товаров по маршруту (i, j), связывающему пункт отправления Ai с пунктом назначения (или потребления) Bj;

xij объем перевозки из пункта отправления Ai в пункт назначения Bj, а i = 1, …, m, j = 1, …, n.

Модель транспортной задачи содержать следующие элементы:

а) xij – переменные задачи, i = 1, …, m, j = 1, …, n;

б) ограничения задачи:

,

,

,

в) целевая функция – функция совокупных транспортных затрат (или издержек)

Тогда математическую модель задачи можно представить в виде

. (1)

,

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

bn+1 = , (2)

или фиктивного предложения на величину

am+1 = - (3)

соответственно. В результате этого задача вновь становится сбалансированной.

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

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

Этап 2. На основе условия оптимальности симплекс-метода среди всех небазисных переменных определить вводимую в базисное решение переменную; если все небазисные переменные удовлетворяют условию оптимальности, завершить вычисления, в противном случае перейти к следующему шагу;

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

Этап 1: определение начального базисного решения.

Существуют три процедуры нахождения начального базисного решения: правило северо-западного угла, метод наименьшей стоимости, метод Фогеля.

Проиллюстрируем работу алгоритма метода потенциалов на примере транспортной задачи, представленной в виде таблицы 1.

Таблица Т0

1

2

3

4

1

10

x11

2

x12

20

x13

11

x14

15

2

12

x21

7

x22

9

x23

20

x24

25

3

4

x31

14

x32

16

x33

18

x34

10

5

15

15

15

Клетки этой таблицы соответствуют маршрутам, связывающим пунктs отправления (их три) с пунктами отправления (их четыре). В правой части таблицы указаны значения наличных грузов ai, а внизу таблицы – спрос на эти товары bj. В клетках указаны также соответствующие затраты cij. i = 1, … , m, j = 1 , … , n. Таким образом, а = (15, 25, 10)Т – вектор предложения, b = (5, 15, 15, 15)Т – вектор спроса, и условие баланса соблюдается

Для построения начального плана перевозок (начальное допустимое базисное решение) используют три способа: метод северо-западного угла, метод наименьшей стоимости, метод Фогеля.

Сущность метода «северо-западного угла» сводится к следующему.

а) Переменной x11 присваиваем значение min (a1, b1) (в нашем случае - x11 = 50);

б) Вычеркиваем строку или столбец с полностью реализованным предложением или с удовлетворенным спросом. В этой строке (столбце) мы не будем присваивать значения остальным переменным. Если одновременно удовлетворяется спрос и предложение, вычеркиваются только строка или столбец;

в) Если не вычеркнута только одна строка или только один столбец, процесс останавливается; в противном случае переходим к ячейке справа, если вычеркнут столбец, или к нижележащей ячейке, если вычеркнута строка. Затем возвращаемся к пункту а).

Так как в задаче имеется m + n - 1 независимых ограничений, то начальный план или начальное базисное решение состоит из m + n - 1 базисных переменных. По данным таблицы 1, в результате действия пунктов а) – в) получим x11 = 5, x12 = 10, x22 = 5, x23 = 15, x24 = 5, x34 = 10. Именно это начальное базисное решение и присутствует в таблице Т1.

Таблица Т1

1

2

3

4

1

10

2

20

11

15

2

12

7

9

20

25

3

4

14

16

18

10

5

15

15

15

Этап 2: определение вводимой и выводимой переменных по правилам симплексных преобразований.

В методе потенциалов каждой строке i и каждому столбцу j транспортной таблицы ставятся в соответствии числа (потенциалы) ui и vj, причем, для каждой базисной переменной xij эти потенциалы определяются из условий

ui + vj = cij. (4)

В данной задаче имеются 6 базисных переменных и 7 неизвестных потенциалов. Чтобы найти значение потенциалов из этой системы уравнений, нужно присвоить одному из них произвольное значение (обычно полагают u1 = 0) и затем последовательно вычисляют значения остальных потенциалов.

Для базисных переменных:

x11: u1 + v1 = 10; u1 = 0, v1 = 10;

x12: u1 + v2 = 2; u1 = 0, v2 = 2;

x22: u2 + v2 = 7; u2 = 5, v2 = 2;

x23: u2 + v3 = 9; u2 = 5, v3 = 4;

x24: u2 + v4 = 20; u2 = 5, v4 = 15;

x34: u3 + v4 = 18; u3 = 3, v4 = 15.

Таким образом, u1 = 0, u2 = 5,u3 = 3,v1 = 10, v2 = 2, v3 = 4, v4 = 15. Далее, используя вычисленные значения потенциалов, для каждой небазисной переменной вычисляются так называемые индексы по формуле

rij = ui + vj - cij. (5)

Для небазисных переменных:

x13: u1 + v3 - c13 = 0 + 4 – 20 = -16;

x14: u1 + v4 - c14 = 0 + 15 - 11 = 4;

x21: u2 + v1 - c21 = 5 + 10 - 12 = 3;

x31: u3 + v1 - c31 = 3 + 10 - 4 = 9:

x32: u3 + v2 - c32 = 3 + 2 - 14 = -9:

x33: u3 + v3 - c33 = 3 + 4 - 16 = -9.

Вычисленные значения индексов, вместе с нулевыми их значениями для базисных переменных (поскольку ui + vj - cij = 0 для любой базисной переменной хij) фактически являются коэффициентами так называемой Z – строки симплекс-таблицы (ее индексная строка). Представим их в виде

Индексная строка

базис

x11 x12 x13 x14 x21 x22 x23 x24 x31 x32 x33 x34

Z

0 0 -16 4 3 0 0 0 -9 -9 0

Поскольку в транспортной задаче целевая функция минимизируется, вводится в базисное решение переменная c наибольшим положительным коэффициентом в Z - строке. В данном случае вводимой переменной будет x31. Все описанные выше вычисления обычно выполняются непосредственно в транспортной таблице, начиная с u1 = 0, как это показано в таблице

Таблица Т2

v1=10

v2=2

v3=4

v4=15

u1=0

10

5

2

10

20

-16

11

4

15

u2=5

12

3

7

5

9

15

20

5

25

u3=3

4

9

14

-9

16

-9

18

10

10

5

15

15

15

Итак, переменная x31 вводится в базисное решение. Вопрос о том, какая переменная должна быть выведена из базисного решения (которая примет нулевое значение), решается следующим образом. Необходимо, чтобы перевозки по маршруту x31 уменьшили общую стоимость перевозок. Для этой цели присвоим переменной x31 некоторое значение x31 = . Максимально возможное значение определяется из следующих условий:

а) должны выполняться ограничения по спросу и предложению;

б) ни по какому маршруту не должны выполняться перевозки с отрицательным объемом грузов.

Построим замкнутый цикл, который начинается и заканчивается в ячейке (3, 1). Цикл состоит из горизонтальных и вертикальных отрезков, соединяющие ячейки, соответствующие текущим базисным переменным, и ячейку, соответствующую вводимой переменной. Для любой вводимой переменной можно построить только один замкнутый цикл. Эти действия приведены в Т2.

Таблица Т3

v1=10

v2=2

v3=4

v4=15

u1=0

10

5

2

10

20

-16

11

4

15

u2=5

12

3

7

5

9

15

20

5

25

u3=3

4

9

14

-9

16

-9

18

10

10

5

15

15

15

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

x11 = 5 - ≥ 0;

x22 = 5 - ≥ 0;

x34 = 10 - ≥ 0,

откуда следует, что наибольшее значение = 5. При этом будет иметь место x11= x22 =0. Из этих (теперь уже нулевых) переменных можно выбрать либо x11, либо x22 для исключения из базисного решения. Выберем для исключения переменную x11.

Стоимость начального базисного решения составляет Z = 5х10 + 10х2 + 5х7 + 15х9 + 5х20 + 10х18 = 520 ед. Теперь суммарная стоимость перевозок будет на 9х5 = 45 единиц (9 = u3+v1 - c31) меньше, т.е. 520 – 45 = 475 ед.

Определив x31 = 5 и выбрав исключаемую переменную х11, далее следует откорректировать значения базисных переменных, соответствующих угловым ячейкам замкнутого цикла: х12 = 15, х22 = 0, х23 = 15, х24 = 10, х31 = 5, х34 = 5. Скорректированные значения базисных переменных содержатся в таблице Т4.

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

В таблице Т4 представлены новые значения потенциалов, согласно которым новой вводимой в базис переменной будет x14. По замкнутому циклу находим x14 = 10 и исключаемую переменную x24. Суммарные издержки теперь уменьшаются на величину 4х10 = 40 ед. (4 = u1 + v4 - c14), т.е. 475 – 40 = 435 ед.

Результаты новой итерации представлены в таблице Т5. Теперь новые значения величин ui + vj - cij для всех небазисных переменных xij отрицательные, что и является признаком оптимальности найденного базисного решения.

Таблица Т4

v1=1

v2=2

v3=4

v4=15

u1=0

10

-9

2

15-

20

-16

19

4

15

u2=5

12

-6

7

0+

9

15

20

10 - 

25

u3=3

4

5

14

-9

16

-9

18

5

10

5

15

15

15

Базисное Решение х12 = 5, x14 = 10, x22 = 10, x23 = 15, x31 = 5, x34 =5, составляет оптимальную искомую стратегию, а величина ед. составляет минимальные издержки.

Таблица Т5

v1= –3

v2=2

v3=4

v4=11

u1=0

10

-13

2

5

20

-16

11

10

15

u2=5

12

-10

7

10

9

15

20

-4

25

u3=7

4

5

14

-5

16

-5

18

5

10

5

15

15

15

Отметим, в заключении, что так как метод потенциалов интерпретируется как симплекс-метод, то можно построить двойственную транспортную задачу. Она имеет вид:

максимизировать целевую функцию

(6)

при ограничениях

(7)

где ui, vj свободные переменные: ui – двойственная переменная, соответствующая ограничению на предложение пункта отправления Ai; vj – двойственная переменная, соответствующая ограничению на спрос пункта Bj. Эту задачу можно представить в более привычной форме задачи линейного программирования

(8)

Когда новое целочисленное решение найдено, значение целевой функции для этого решения сравнивается с верхним значением (или нижним значением при минимизации). В начале работы алгоритма это значение принимается равным = -  ( = + ).