Эффективный метод поиска оптимального решения транспортной задачи по критерию минимальной стоимости

Интеллектуальные системы управления

УДК 519.852.33

В. Г. Дегтярев, д-р техн. наук,

В. А. Ходаковский, д-р техн. наук

Кафедра «Математика и моделирование»,

Петербургский государственный университет путей сообщения Императора Александра I

ЭФФЕКТИВНЫЙ МЕТОД ПОИСКА ОПТИМАЛЬНОГО РЕШЕНИЯ ТРАНСПОРТНОЙ ЗАДАЧИ ПО КРИТЕРИЮ МИНИМАЛЬНОЙ СТОИМОСТИ

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

Реализация системного подхода невозможна без поиска альтернативных вариантов достижения целей и выбора оптимального варианта по заданному критерию или их совокупности.

Единственным относительно малозатратным вариантом генерации альтернатив является математическое моделирование деятельности предприятия в заданных условиях.

Математическое моделирование транспортных систем составляет основу системного анализа функционирования этих систем с целью повышения их эффективности и снижения себестоимости. Одной из сложных транспортных задач является управление потоками вагонов. В ОАО «РЖД» создана и используется автоматизированная система управления железнодорожным транспортом, которая постоянно совершенствуется и дополняется модулями оптимизации, использующими решения задач линейного программирования.

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

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

Введение

Транспортная задача является классической оптимизационной задачей линейного программирования и рассматривается во многих курсах, та-

ких как «Исследование операций», «Методы оптимизации», «Экономикоматематические модели» и т. д.

Решению задач методами линейного программирования посвящены фундаментальные труды академиков Л. В. Канторовича и А. Н. Колмогорова, других ученых [1-15], в том числе авторов этой статьи. Хорошо известны методы решения задач линейного программирования: симплекс-метод, метод потенциалов, метод искусственного базиса, метод Фогеля и др.

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

Относительно легко студенты осваивают компьютерные методы поиска решения задачи линейного программирования, например, используя надстройку «Поиск решения» в табличном процессоре Excel, однако такой подход не позволяет избавиться от грубых ошибок при постановке и решении задачи.

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

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

1 Постановка задачи

Рассмотрим постановку замкнутой транспортной задачи по критерию стоимости. Пусть в пунктах отправления А , А , ..., Ат находятся вагоны для отправки, причем в пункте А1 находится а1 вагонов и т. д. Эти вагоны должны быть отправлены в пункты назначения В , В2, ., Вп, заявки этих пунктов обозначим b1, b2, ., bn. Стоимость отправки вагонов из пунктов A в пункты B задана матрицей С... Необходимо найти такой план отправки вагонов Х, при котором обеспечивается минимум стоимости всех перевозок, т. е. требуется найти минимум целевой функции

f (X) = £!«,.. Xi, j

i=1 j=1

при этом заданы ограничения:

n m

Exi,j = ai, i = 1,2, ..., m; Ext,j = bj, j = 1,2, n;

j=1 i=1

m n

E ai = E bj.

i=1 j=1

Ограничения (2) являются обычными ограничениями сбалансированных транспортных задач: все заявки удовлетворены и все запасы исчерпаны. Ниже представлен пример транспортной задачи в векторной записи:

A =

г 35 ^ 34 42

B =

г 31Л 37 40 21

V15 У

C =

f 40 22

V

16

44

35

25

30

18

24 27 30

25 24 36

25 30 18

20 32 34

^ *1,1 *1,2

*2,1 *2,2

*3,1 *3,2

V *4,1 *4,2

*1,3

*2,3

*3,3

*4,3

*1,4 *1,5 ^

*2,4 *2,5

*3,4 *3,5

*4,4 *4,5 J

2 Поиск решения по методу северо-западного угла

Найдем опорное решение рассмотренной в предыдущем пункте транспортной задачи. Начиная с ячейки с индексами i = 1, j = 1, в которую помещаем минимальное из значений А1, В , т. е. X = min (35,31) = 31, замечаем, что возможности первого пункта отправления А1 = 35 не исчерпаны и можно отправить во второй пункт назначения еще А1 - X = 4 вагона, поэтому Х12= 4. В результате двух шагов возможности первого пункта отправки исчерпаны, а потребности первого пункта назначения удовлетворены, поэтому первую строку и первый столбец исключаем из рассмотрения.

На третьем шаге замечаем, что потребности второго пункта назначения В2 = 37 еще не удовлетворены и можно в очередную ячейку плана поместить значение Х2 2 = min (В2 - Х12, А2) = min (37 - 4, 34) = 33. При этом потребности второго пункта назначения еще недостаточны на один вагон, поэтому на четвертом шаге назначаем Х23 = 1 и вторую строку исключаем из рассмотрения.

Поступая аналогично, выполняем последующие четыре шага и получаем следующий опорный план:

< 31 4 0 0 0

0 33 1 0 0

0 0 39 3 0

V 0 0 0 18 15

Число базисных клеток для данного плана: n + m - 1 = 4 + 5-1 = 8, значит, полученный план - базисный (невырожденный).

Вычислим значение целевой функции для данного плана:

m П

F(X) = TLC,,i  X,j = 4381.

i=1 j=1

3 Поиск опорного решения транспортной задачи методом минимальной стоимости

Для решения задачи требуется минимизировать линейную целевую функцию (1), которая является суммой всех поэлементных произведений матрицы стоимости С и матрицы плана перевозок Х.

Преобразуем целевую функцию, превратив в ней двойное суммирование в суммирование по одному индексу и преобразовав матрицу стоимости в вектор путем ее построчного прочтения:

m*n

F

k=1

где Ck = sort(Vk) = Vk=j+m*i, i e 1, ..., m : j e 1, ..., n.

Минимизацию целевой функции (3) можно свести к минимизации затрат на каждом шаге, а значит - к выбору максимального количества наиболее дешевых перевозок, но с учетом заданных ограничений.

В пределе, если позволяют ограничения, нужно выбрать только ту перевозку, которая имеет минимальную стоимость.

Метод состоит из однотипных шагов, на каждом из которых заполняется только одна клетка таблицы опорного плана перевозок, соответствующая клетке с минимальной стоимостью. В ее левый угол помещается номер текущего шага (начиная с нуля), а в центр ячейки - число, соответствующее минимальному из значений в векторах А (элемент последнего столбца матрицы - на рис. 1, строка которого совпадает со строкой текущей ячейки), и векторе В (элемент последней строки матрицы на рис. 1, столбец которой совпадает со столбцом текущей ячейки). Для нулевого шага выбирается ячейка (3-я строка, 1-й столбец), поскольку ей соответствует минимальная стоимость перевозки - 16, а в план перевозок назначается min (31,42) = 31 вагон для пункта в1 из 42 вагонов пункта отправки А3. На шаге 1 выбирается ячейка (4, 2) с ценой 18 и т. д.

Пункты отправления (назначения) исключаются из рассмотрения, если все их вагоны отправлены или если они уже приняли назначенное количество вагонов.

40 35 6 24 w Min(40-0, 35) 35 N 27 30 35

5 22 Min(31-31, 34),-' 0 '' 9 - ' ' 25 Min(37-33, 34-21) 8 254 Min(40-35,34-21) ' 7 24 , Min(21, 34-0) 4 21 10 36 Mn(15-35, 42-31-11) 34

4 4

1 16 Min(31,42) 31\ 30 25 30 3 18 Min(15, 42-31) 11 42

44 2 18 4 4 Min(37, 33) 4 33 .4 . -20' ''*Mn(40r, 33-33) 0 "" ,,-32' 34 33

31 37 40 21 15

Рис. 1. Расширенная таблица поиска решения

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

Оформим поиск решения в виде расширенной таблицы, основой которой является матрица стоимости перевозок, дополненная столбцом, составленным из элементов вектора А, а также дополнительной строкой, составленной из элементов вектора В.

Расширенная таблица представлена на рис. 1.

Обозначения в ячейках:

- правый столбец - вектор ограничений А;

- нижняя строка - вектор ограничений В;

- правый верхний угол - элементы матрицы стоимости С;

- левый верхний угол - номер шага поиска решения;

- центр верхней части - формула расчета значения в ячейке;

- центр - расчетное значение плана.

Таким образом, для поиска опорного решения методом минимальной стоимости необходимо отсортировать элементы в векторе стоимости Ck в порядке возрастания элементов с запоминанием строки и столбца, где находился элемент матрицы цены до сортировки.

Далее пошагово, начиная с ячейки с минимальной ценой, необходимо назначать в план перевозок такое число вагонов, которое соответствует максимально возможному исходя из ограничений, заданных векторами А и В:

( n m ^

Xk  = min

‘tj

A-E х^l, Bj-X xf~

k-1

V j=1 i=1 )

Верхний индекс в Xkj в формуле (4) означает номер шага. Если значений с некоторой ценой несколько, то выбирается та ячейка, в которую можно внести значение максимального объема перевозок, но не превышающего огра-

ничений по строке и столбцу, т. е. на k-м шаге выбирается ячейка с максимальным значением, вычисленным по формуле (4).

Рассмотрим пошагово поиск опорного решения методом минимальной стоимости.

1- й шаг. Наименьший из элементов (16) матрицы цен (см. рис. 1) находится в ячейке (3,1), в нее помещаем наименьшую величину из 31 (первый элемент вектора В) и 42 (первый элемент вектора А), т. е. значение цены, равное 31.

2- й шаг. Второе по величине значение цены (18) находится в ячейках

(4.2) и (3,5). Выбираем ячейку (4,2), поскольку в нее можно поместить большее число, т. е. помещаем наименьшую из величин 37 (второй элемент вектора В) и 33 (четвертый элемент вектора А), значит, итоговое значение в ячейке

(4.2) равно 33.

3- й шаг. Третье по величине значение цены (также 18) находится в ячейке (3,5), куда помещаем наименьшую из величин - 15 (пятый элемент вектора В) и 42 - 31 = 11 (третий элемент вектора А минус назначенный ранее элемент плана Х31 - 31), т. е. итоговое значение в ячейке (3,5) равно одиннадцати.

4- й шаг. Четвертое по величине значение цены (20) расположено в ячейке (4,3), помещаем здесь наименьшее значение из величин (40-0, так как в третьем столбце все элементы плана все еще равны нулю - ни один вагон не отправлен, и 33-33, поскольку в четвертой строке уже имеется план 33 во втором столбце), т. е. итоговое значение в ячейке (4,3) устанавливаем равным нулю.

Остальные пять шагов выполняем аналогично. В результате получим опорный план:

( 0 0 35 0 0

0 4 5 21 4

31 0 0 0 11

^0 33 0 0 0

обеспечивающий значение целевой функции:

m П

f (х)=TLC, j • X, j=3001.

i=1 j=1

Число базисных клеток для данного плана, так же как и в предыдущем случае, n + m - 1 = 4 + 5-1 = 8, т. е. полученный план - базисный.

Замечаем, что целевая функция уменьшилась на 1380 единиц, т. е. данное решение лучше, чем предыдущее, полученное методом северо-западного угла. Однако нет оснований считать, что данное решение является оптимальным

по критерию минимальной стоимости. Известным методом поиска оптимального плана является метод потенциалов. Мы же рассмотрим другой подход.

4 Алгоритм поиска оптимального решения

Анализируя решение (5), обратим внимание на элемент плана *25 = 4, который соответствует максимальной из использованных в плане цене перевозки С25 = 36. Этот элемент плана находится во второй строке и пятом столбце, причем другой элемент плана, стоящий в этом же столбце, - *3 5 = 11 соответствует цене С35 = 18, т. е. вдвое меньшей. Элемент плана *3 5 = 11 связан ограничением с элементом плана

*3.1 = 31 : *3,5 + *3,1 = А3.

Аналогичная связь имеется у элементов:

*2,1 + *2,4 = А2 - *2,2 - *2,3 - *2,4;

*2,1 + *3,1 = Вр

*2,5 + *3,5 = В5.

Имеем 4 уравнения и 4 неизвестных. Уменьшим значение плана *2 5 на единицу и проверим, как изменится целевая функция:

Имеем *25 = 3, из (11) получим:

тогда из (7):

*3,5 = В5 - *2,5 = 15 - 3 = 12,

*3,х = А3 - *3,5 = 42 - 12 = 3°,

из (9):

*21 = Я - *31 = 31 - 30 = 1.

Имеем новый план

( 0 0 35 0 0

1 4 5 21 3

30 0 0 0 12

^0 33 0 0 0

с целевой функцией, равной

m П

F(X) = Hq j • Xu = 2989,

i=1 j=1

что заметно меньше, чем (6).

Поскольку уменьшение элемента плана Х2 5 на единицу привело к уменьшению целевой функции, сделаем еще один шаг в том же направлении: пусть Х25 = 2, тогда получим план:

' 0 0 35 0 0 >

2 4 5 21 2 m n

X= 29 0 0 0 13 , F

V 0 33 0 0 0 У

Делаем еще шаг: Х2 5 = 1 - и получим:

' 0 0 35 0 0 ^

3 4 5 21 1 m n

X= 28 0 0 0 14 , F

V 0 33 0 0 0 ,

Наконец, еще один: Х2 5 = 0 - и получим:

^ 0 0 35 0 0 Л

4 4 5 21 0 m n

X= 27 0 0 0 15 , f

V 0 33 0 0 0 У

В решении (15) наибольшая цена, равная 25, соответствует перевозке Х23 = 5. Во второй строке наименьшей ценой является С21 = 22. Попробуем улучшить план в пользу этой цены, тогда:

Х2,1 = 4 Х2,2 = 5 Х2,3 = 4, Х4,3 = 1,

X =

0 0 35 0 0

4 5 4 21 0

27 0 0 0 15

0 32 1 0 0

, F

i=1 j=1

Видим, что улучшения целевой функции не наблюдается, поэтому останавливаемся на решении (15).

Рассмотренный выше подход позволяет найти лучшее решение, но это не дает основания утверждать, что найденное решение является оптимальным.

5 Проверка полученного решения на оптимальность

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

Если для всех небазисных ячеек выполняется условие: S. . = C, . — U. - V > 0, тогда мы имеем оптимальное решение.

Для проверки на оптимальность рассмотрим решение (11). В этом решении для ячейки (1,1) контур будет включать ячейки: (1,1) ^ (1,3) ^ (2,3) ^ (2,1).

Для ячейки (1,5) контур обхода будет длиннее: (1,5) ^ (3,5) ^ (3,1) ^ (2,1) ^ (2,3) ^ (1,3). При обходе контура составляется сумма из элементов матрицы стоимости перевозок, причем координаты элементов матрицы стоимости соответствуют координатам составленного контура. В каждом контуре у первой ячейки цена берется со знаком «+», а у остальных ячеек знаки

W W W W I» W

значений стоимостей чередуются: у второй ячейки знак будет «-», у третьей соответственно «+», у четвертой «-» и т. д. Затем рассчитывается значение полученной с учетом знаков суммы стоимостей при обходе контура. Если полученная величина больше нуля, то данная ячейка не требует коррекции (введения ее в базис).

Для первой ячейки получим сумму: S = 40 - 24 + 25 - 22 = 19 > 0, т. е. вводить в базис данную ячейку нет необходимости.

Рассчитаем значение критериев для всех небазисных ячеек и отобразим их в левом нажнем углу расширенной таблицы (рис. 2):

^1,1 = C11 - C1,3 + C2,3 - C2,1 = 40 - 24 + 25 - 22 = 19;

^,2 = C1,2 - C1,3 + C2,3 - C2,2 = 35 - 24 + 25 - 25 = 9;

S14 = C1,4 - C1,3 + C2,3 - C2,4 = 27 - 24 + 25 - 24 = 4;

51.5 = C1,5 - C3,5 + C3,1 - C2,1 + C2,3 - C1,3 = 30 - 18 + 16 - 22 + 25 - 24 = 7;

52.5 = C2,5 - C3,5 + C3,1 - C2,1 = 36 - 18 + 16 - 22 = 12;

S3,2 = C3,2 - C2,2 + C2,1 - C3,1 = 30 - 25 + 22 - 16 = 11;

53.3 = C3,3 - С2,3 + C2,1 - C3,1 = 25 - 25 + 22 - 16 = 6;

53.4 = C3,4 - C2,4 + C2,1 - C3,1 = 30 - 24 + 22 - 16 = 12;

S4,1 = C41 - C4,2 + C2,2 - C2,1 = 44 - 22 + 25 - 18 = 29;

54.3 = C4,3 - C2,3 + - C4,2 = 20 - 25 + 25 - 18 = 2

54.4 = C44 - C2,4 + C2,2 - C3,2 = 44 - 22 + 25 - 18 = 15;

54.5 = C4,5 - C3,5 + C3,1 - C2,1 + C2,2 - C4,2 = 34 - 18 + 16 - 22 + 25 - 18 = 17

Видим, что все значения положительные, значит, план оптимальный.

31 37 40 21 15

40 35 . 24 27 30

35 0* 0 35 0 0

19 ! 9 1 “ i 4 7 +

22 25 f 25i 24 36

34 4 4 J 5 ' 21 ' 0

f - L.. + 12

i 16 30 25 30 i 18

42 j 27 0 0 0 ! 15

! « + 11 6 12  -

44 18 20 32 34

33 0 33 0 0 0

29 2 15 17

Рис. 2. Расширенная таблица со значениями критерия оптимальности и контурами обхода для ячеек

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

6 Поиск оптимального решения на основе опорного

Рассмотрим опорное решение (5) из п. 3. Составим для этого решения расширенную матрицу (рис. 3), дополнив ее значениями критериев оптимальности для небазисных ячеек:

Sn = 40 - 24 + 25 - 36 + 18 - 16 = 7;

SM = 27 - 24 + 25 - 35 = -7;

S2l = 22 - 36 + 18 - 16 = -12;

S’3 = 25 - 25 + 36 - 18 = 18;

S4i = 44 - 18 + 25 - 36 + 18 - 16 = 17;

S’4 = 32 - 24 + 25 - 18 = 15;

Sl2 = 35 - 24 + 25 - 25 = 11; S’5 = 30 - 36 + 25 - 24 = -5; S^ = 30 - 25 + 36 - 18 = 23; S34 = 30 - 24 + 36 - 18 = 24; S^ = 20 - 25 + 25 - 18 = 2; S’5 = 34 - 36 + 25 - 18 = 5.

iX 31 37 40 21 15

40 35 24 27 30

35 0 0 35 0 0

7 11 -7 - 5

22 25 25 24 36

34 0 4 5 21 4

-12

16 30 25 30 18

42 31 0 0 0 11

23 18 24

44 18 20 32 34

33 0 32 0 0 0

17 2 15 5

Рис. 3. Расширенная матрица для опорного решения

Для ячейки (2,1) значение критерия оптимальности меньше нуля, т. е. ячейку (2,1) необходимо ввести в базис. Заметим, что отрицательные знаки стоят в критерии перед ценами у ячеек (2,5) и (3,1), поэтому план в этих ячейках уменьшаем на 4 единицы, а план в ячейках (2,1) и (3,5) увеличиваем на 4 единицы, т. е. получим новый план (рис. 4), оптимальность которого уже проверена в п. 5 и который будет иметь значение целевой функции, меньшее на величину 4S21 = 4- (-12) = -48 по сравнению с планом (5).

Х# iA 31 37 40 21 15

35 40 0 19 35 0 9 24 35 27 0 4 30 0 7

34 22 4 25 4 25 5 24 21 36 0 12

42 16 27 30 0 11 25 0 6 30 0 12 18 15

33 44 0 29 18 33 20 0 2 32 0 15 34 0 17

Рис. 4. Расширенная матрица для опорного решения

7 Связь предлагаемого метода с методом потенциалов

Рассмотрим решение (11) из п. 4. Составим для этого решения расширенную матрицу (рис. 5), дополнив ее значениями потенциалов для строк и столбцов.

31 37 40 21 15 U

35 40 0 35 0 24 35 27 0 30 0 -1

34 j«-22- 4 *42 5 4 25 5 24 21 36 0 0

42 ! 16 *23 - j 30 -J--0— 25 ~0-_ 30 _ 18 *15 -6

33 44 0 Т 18 ^33 _ 20 _.0_. 32 ._0__ ! 34 ^0 -7

V 22 25 25 24 24

Рис. 5. Таблица с контуром для расчета критерия оптимальности для ячейки

Если потенциалы строк обозначить через U, а столбцов - через V, а строке плана, где больше всего ненулевых элементов, присвоить нулевой потенциал (U2 = 0), то потенциалы столбцов по базисным клеткам строки 2 можно рассчитать по формуле:

U. + V. = C .,

J . hf

тогда имеем:

V = С - U = С • V = С - U = С • V = С - U = С •

*1 ^2,1 и2 '“'2,1’ *2 ^2,2 и2 '“'2,2’ *3 ^2,3 U2 '“'2,3’

V = С - U = С •

*4 ^2,4 и2 '“'2,4’

U = C - V = C - С • U = C - V = C - С •

1 ^'1,3 *3 '“'1,3 ^2,3’ 17 3 '“'3,1 *1 ^'3,1 '“'2,1’

U = C - V = C - С •

4 4,2 2 4,2 2,2

V = С - U = С - C + С

5 3,5 3 3,5 3,1 2,1

На рис. 5 приведена таблица плана с указанием потенциалов строк и столбцов.

Рассчитаем критерии оптимальности для всех небазисных ячеек, подставляя вместо потенциалов строк и столбцов их рассчитанные значения:

51.1 = C1,1 - (U1 + V.) = CU - (C1,3 - С2,3 + С2,,) = C1,1 - C1,3 +

51.2 = CU - (U1 + V2) = CU - (C1,3 - С2,3 + С2,2) = C1,2 " C1,3 + C2,3 - C2.*J

51.4 = C1,4 - (U1 + V,) = C1,4 - (C1,3 - С2,3 + С2,4) = C1,4 “ C1,3 + C2,3 -

51.5 = C1,5 - (U1 +V5) = C1,5 - (C1,3 - С2,3 + С3,5 - C3,1 + С2Л) =

= C15 - C1,3 + C2,3 - C2,1 + C3,1 -

52.5 = C2,5 - (U2 +V5) = C2,5 - C3,5 + C3,1 - C2,P

q = q2 - (U = C3,2 - (С,л - q, + С2,2) = C3,2 - q, + q, - q2;

q = q,3 - (U +V) = C3,3 - (q, - C2,i + С2,з) = q, - q, + q, - q,3;

S3,4 = q, - (U + V,) = q,4 - (С,Л - С2,1 + С2,4) = C3,4 - q, + - C,j

S4,1 = C4,1 - (U, +Vl) = C4,1 - (C4,2 - С2,2 + С2,,) = C4,l “ C4,2 + С2,2 “ С2Г

54.3 = C4,3 - (U4 +V,) = C4,3 - (C4,2 - С2,2 + С2,3) = C4,3 - C* + q,2 - ^

54.4 = q,4 - (U4 + V) = q,4 - (C4,2 - С2,2 + С2,) = C4,4 - C* + q,2 -

54.5 = C4,5 - (U4 + V5) = C4,5 " (C4,2 " С2,2 + C3, " C3,1 + Cy) =

= C4,5 - C4,2 + q,2 - С2,1 + C„ - q,,.

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

Следует обратить внимание на критерий для ячейки (4,5), которая имеет контур в виде восьмерки.

8 Алгоритм поиска оптимального решения

1. Составить расширенную таблицу с дополнительной (т + 1)-й строкой, содержащей значения вектора ограничений пункта назначения В. и дополнительным (п + 1)-м столбцом, содержащим вектор ограничений пункта отправления А.

2. В правом верхнем углу основных ячеек таблицы поместить матрицу стоимостей перевозок С, . из пункта отправления i в пункт назначения j.

3. В центре основных ячеек таблицы поместить формируемый методом минимальной стоимости план перевозок, для чего достаточно т + п - 1 шагов.

4. На каждом шаге выбирается ячейка с текущей минимальной стоимостью. Если стоимость на текущем шаге совпадает со стоимостью предыдущего шага, то первой выбирается та ячейка, в которой можно записать число, соответствующее большей перевозке с учетом ограничений. Далее в ячейку, удовлетворяющую указанным выше условиям, помещается значение перевозки, соответствующее формуле (4). Шаги повторяются до удовлетворения всех ограничений. В результате имеем опорное решение.

5. Для поиска оптимального плана транспортной задачи с размерностью т строк и п столбцов обычно хватает т + п + 3 шага. На каждом k-м шаге выбирается замкнутый контур из четного числа ячеек, в который обязательно входит небазисная ячейка с невысокой ценой перевозки и базисная ячейка с более высокой ценой. Минимальное число ячеек контура - четыре. В каждой строке и столбце может быть не более двух ячеек контура. Небазисная

ячейка вводится в базис в том случае, если сумма цен С.. ячеек, входящих

L 4

в контур, меньше нуля, т. е. ^ (-1)k + • Ск. < 0, в противном случае ищется

k=1

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

Заключение

Предложенный метод поиска опорного решения совместно с упрощенной методикой проверки полученного решения на оптимальность обладает следующими достоинствами:

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

- число шагов поиска оптимального плана ненамного превышает величину m + n;

- шаги алгоритма легко запоминаются, поскольку связаны с интуитивными действиями при поиске оптимального плана: на первом этапе перебираем ячейки в порядке возрастания цены на перевозку, а на втором этапе - в порядке ее убывания с целью исключения из плана самой дорогой перевозки;

- число промежуточных вычислений при оптимизации сведено к минимуму.

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

Предложенный алгоритм поиска оптимального решения может быть рекомендован для использования его в автоматизированных системах управления и в информационных системах в транспортной отрасли [16, 17].

Библиографический список

1. Нестеров Е. П. Транспортные задачи линейного программирования / Е. П. Нестеров. - М. : Транспорт, 1971. - 216 с.

2. Правила эксплуатации, пономерного учета и расчетов за пользование грузовыми вагонами собственности других государств : утв. 24.05.1996. - М. : Марикор, 1996. - 78 с.

3. Гертвальд А. С. Автоматизация планирования резерва вагонов в местах погрузки / А. С. Гертвальд, Л. А. Канарская, Н. Б. Соколов // Вестник ВНИИЖТ. - 1999. -№ 2. - С. 3-8.

4. Тишкин Е. М. Автоматизация управления вагонным парком / Е. М. Тишкин. -М. : Интекст, 2000. - 224 с.

5. Ивницкий В. А. Динамическая оптимизация обеспечения намечаемой погрузки погрузочными ресурсами / В. А. Ивницкий, В. А. Буянов, Н. Б. Соколов // Вестник ВНИИЖТ. - 2000. - № 5. - С. 28-31.

6. Ковалев В. И. Оптимальное по стоимости управление вагонопотоками с учетом наличия в рабочем парке вагонов, как принадлежащих России, так и странам СНГ и Балтии / В. И. Ковалев, В. Г. Дегтярев, С. Ю. Елисеев, А. Т. Осьминин // Вестник ВНИИЖТ. - 2002. - Вып. 3. - С. 7-11.

7. Ковалев В. И. О моделировании процессов управления вагонопотоками с учетом вагонов других государств / В. И. Ковалев, В. Г. Дегтярев, С. Ю. Елисеев. -Известия ПГУПС. - 2004. - Вып. 2. - С. 16-19.

8. Ковалев В. И. Управление парками вагонов стран СНГ и Балтии на железных дорогах России : учеб. пособие / В. И. Ковалев, С. Ю. Елисеев, Г. В. Верховых, Г. М. Грошев, В. Г. Дегтярев, М. Т. Иванов, Л. А. Кухаренко, Е. Ю. Мокейчев,

A. Т. Осьминин, А. Д. Чернюгов. - М. : Маршрут, 2006. - 243 с.

9. Дегтярев В. Г. Математическое моделирование : учеб. пособие / В. Г. Дегтярев.-СПб. : Петербургский гос. ун-т путей сообщения, 2011. - 105 с.

10. Дегтярев В. Г. Стохастическая транспортная задача по критерию времени /

B. Г. Дегтярев, О. В. Жгун, В. Н. Фоменко // Тр. конференции «Математика в вузе». - СПб. : Петербургский гос. ун-т путей сообщения, 2002. - С. 160-162.

11. Дегтярев В. Г. Стохастическая транспортная задача по критерию времени с зависимыми параметрами / В. Г. Дегтярев, О. В. Жгун, В. Н. Фоменко // Тр. конференции «Математика в вузе». - СПб. : Петербургский гос. ун-т путей сообщения, 2003. - С. 144-145.

12. Дегтярев В. Г. Об одном способе решения стохастической транспортной задачи по критерию времени / В. Г. Дегтярев, О. В. Жгун, В. Н. Фоменко // Тр. конференции «Математика в вузе». - СПб. : Петербургский гос. ун-т путей сообщения, 2003. - С. 146-147.

13. Дегтярев В. Г. Оптимальное управление порожними вагонами различных форм собственности / В. Г. Дегтярев // Тр. конференции «Математика в вузе». - СПб. : Петербургский гос. ун-т путей сообщения, 2012. - С. 135-141.

14. Дегтярев В. Г. Оптимальное управление порожними вагонами различных форм собственности средствами решения транспортной задачи / В. Г. Дегтярев // Тезисы докладов «Проблемы математической и естественнонаучной подготовки в инженерном образовании». - СПб. : Петербургский гос. ун-т путей сообщения, 2012. - С. 62-63.

15. Дегтярев В. Г. Управление вагонами различных компаний и различных типов методами транспортной задачи / В. Г. Дегтярев, В. А. Ходаковский // Сб. тр. «Проблемы математической и естественнонаучной подготовки в инженерном образовании». - СПб. : ФГБОУ ВПО ПГУПС, 2014. - С. 91-96.

16. Нестеров В. В. Развитие систем СТДМ, АСУ-Ш-2 и АОС-ШЧ / В. В. Нестеров // Автоматика, связь, информатика. - 2012. - № 12. - С. 45-46.

17. Ефанов Д. В. Функциональный контроль и мониторинг устройств железнодорожной автоматики и телемеханики : монография / Д. В. Ефанов. - СПб. : ФГБОУ ВО ПГУПС, 2016. - 171 с.

Valentin G. Degtyarev,

Valentin A. Khodakovsky «Mathematics and simulation» department Emperor Alexander I St. Petersburg state transport university

Efficient method of searching the optimum solution of transportation problem by minimum price criterion

A systematic approach to achieve the goals is more often being used by the managers of various organizations in making important decisions.

Implementing of a systematic approach is impossible without of finding the alternative options for achieving these goals, and of choosing the best option based on given criteria or its combination.

The only relatively low-cost option of producing the alternatives is the mathematical simulating of the company’s activity within the required conditions.

Mathematical simulating of transport systems is the basis of a systematic analysis of the activity of these systems in order to improve the efficiency and to reduce the prime cost. One of the most difficult tasks of the transportation field is to manage the traffic flow of cars. At JSC «Russian Railways» the ASUZHT automated system is created and used, and is constantly being improved and updated by the means of optimization modules, that use solutions of linear programming problems.

The methods for solving linear programming problems are well-known a simplex method, a potential method, an artificial basis technique, Vogel’s approximation method, etc.

The article describes the formulation and the solution of a closed transportation problem. It suggests a new method of finding the optimal solution for the transportation problem, which provides the desired solution in fewer steps. The method is similar to the potential method, but the actual potentials of the rows and columns are not calculated. The basis of the method is the building of the reference solution by using the minimum price method, and the second part of the method, using the optimality criterion, that was introduced in the already known potential method, allows to quickly find the best plan by elimination from the basis the plan

element with a maximum price, and by introduction into the basis a new element (cell) with lower price.

transportation problem, linear programming problem, minimum price criterion, reference solution, optimal solution, selected on the basis of preset criterion, basis variables, potentials of rows and columns

References

1. Nesterov E. P. (1971). Transportation problems of linear programming [Transportnyye zadachi lineynogo programmirovaniya]. Moscow, Transport, 216 p.

2. Rules of operation, tracking by number and account management for using the freight cars, that are a property of foreign countries (1996) [Pravila ekspluatatsii, ponomernogo ucheta i raschetov za pol’zovaniye gruzovymi vagonami sobstvennosti drugikh gosudarstv] (approved on May 24, 1996). Moscow, Marikor, 78 p.

3. Gertval’d A. S., Kanarskaya L. A., Sokolov N. B. (1999). Planning automation for cars reservation in shipping place [Avtomatizatsiya planirovaniya rezerva vagonov v mestakh pogruzki]. Moscow, Bulletin of VNIIZhT (Vestnik VNIIZhT), issue 2, pp. 3-8.

4. Tishkin E. M. (2000). Car fleet management automation [Avtomatizatsiya upravle-niya vagonnym parkom]. Moscow, Intekst, 224 p.

5. Ivnitsky V. A., Buyanov V. A., Sokolov N. B. (2000). Dynamic optimization of providing of planned entrainment using the loading facilities [Dinamicheskaya optimizatsiya obespecheniya namechayemoy pogruzki pogruzochnymi resursami]. Moscow, Bulletin of VNIIZhT (Vestnik VNIIZhT), issue 5, pp. 28-31.

6. Kovalev V. I., Degtyarev V. G., Eliseev S. Yu., Os’minin T. A. (2002). Cost-effective management of car traffic volume, taking into account the presence within the operational car fleet the cars, that belong to Russia, as well as CIS and Baltic countries [Optimal’noye po stoimosti upravleniye vagonopotokami s uchetom nalichiya v rabochem parke vagonov, kak prinadlezhashchikh Rossii, tak i stranam SNG i Baltii]. Moscow, Bulletin of VNIIZhT [Vestnik VNIIZhT], issue 3, pp. 7-11.

7. Kovalev V. I., Degtyarev V. G., Eliseev S. Yu., Verhovyh G. V., Groshev G. M. (2004). On simulating the car traffic volume management processes, taking into account the cars of foreign countries [O modelirovanii protsessov upravleniya vagonopotokami s uchetom vagonov drugikh gosudarstv]. St. Petersburg, Proceedings of PSTU [Izvestiya PGUPS], issue 2, pp. 16-19.

8. Kovalev V. I. , Eliseev S. Yu., Degtyarev V. G., Ivanov M. T., Kucharenko L. A., Mokeitshev E. Yu., Osminin A. T., Tshernugov A. D. (2006). Car fleet management for CIS and Baltic countries cars within the railway network of Russia [Upravleniye parkami vagonov stran SNG i Baltii na zheleznykh dorogakh Rossii] (work book). Moscow, Route [Marshrut], 243 p.

9. Degtyarev V. G. (2011). Mathematic simulation [Matematicheskoye modelirovaniye] (work book). St. Petersburg, PSTU (PGUPS), 105 p.

10. Degtyarev V. G., Zhgun O. V., Fomenko V. N. (2002). Time stochastic transportation problem [Stokhasticheskaya transportnaya zadacha po kriteriyu vremeni], Proceedings of the conference «Mathematics in higher educational institution» [Trudy konferentsii «Matematika v vuze»]. St. Petersburg, PSTU (PGUPS), pp. 160-162.

11. Degtyarev V. G., Zhgun O. V., Fomenko V. N. (2003). Time stochastic transportation problem with dependable parameters [Stokhasticheskaya transportnaya zadacha po kriteriyu vremeni s zavisimymi parametrami], Proceedings of the conference «Mathematics in higher educational institution» [Trudy konferentsii «Matematika v vuze»]. St. Petersburg, PSTU (PGUPS), pp.144-145.

12. Degtyarev V. G., Zhgun O. V., Fomenko V. N. (2003). On one of the solutions of time stochastic transportation problem [Ob odnom sposobe resheniya stokhasticheskoy transportnoy zadachi po kriteriyu vremeni], Proceedings of the conference «Mathematics in higher educational institution» [Trudy konferentsii «Matematika v vuze»]. St. Petersburg, PSTU (PGUPS), pp. 146-147.

13. Degtyarev V. G. (2012). Optimum management of empty cars of different forms of ownership [Optimal’noye upravleniye porozhnimi vagonami razlichnykh form sobstvennosti], Proceedings of the conference «Mathematics in higher educational institution» [Trudy konferentsii «Matematika v vuze»]. St. Petersburg, PSTU (PGUPS), pp. 135-141.

14. Degtyarev V. G. (2012). Optimum management of empty cars of different forms of ownership by using the solution of transportation problem [Optimal’noye upravleniye porozhnimi vagonami razlichnykh form sobstvennosti sredstvami resheniya transportnoy zadachi], Scientific conference abstracts «Problems of mathematical and natural science training within the framework of engineering education». St. Petersburg, FGBOU VPO PGUPS, pp. 62-63.

15. Degtyarev V. G., Khodakovsky V. A. (2014). Management of different enterprises’ and different types of cars by using the methods of transportation problem [Upravleniye vagonami razlichnykh kompaniy i razlichnykh tipov metodami transportnoy zadachi], Collection of papers «Problems of mathematical and natural science training within the framework of engineering education». St. Petersburg, FGBOU VPO PGUPS, pp. 91-96.

16. Nesterov V. V. (2012). Development of STDM, ASU-Sh-2 and AOS-ShCh systems [Razvitiye sistem STD, ASU-Sh-2 i AOS-ShCh] // Automation, communication, information science [Avtomatika, svyaz’, informatika], issue 12, pp. 45-46.

17. Efanov D. V. (2016). Operational management and monitoring of railway automation and remote control devices [Funktsional’nyy kontrol’ i monitoring ustroystv zheleznodorozhnoy avtomatiki i telemekhaniki]: monograph. St. Petersburg, Publishing house of Petersburg Transport University [Izdatel’stvo Peterburgskogo Universiteta Putej Soobshcheniya], 171 p.

Статья представлена к публикации членом редколлегии Д. С. Марковым Поступила в редакцию 10.06.2016, принята к публикации 07.08.2016

ДЕГТЯРЕВ Валентин Григорьевич - доктор технических наук, профессор кафедры «Математика и моделирование» Петербургского государственного университета путей сообщения Императора Александра I. e-mail: vdegt@list.ru

ХОДАКОВСКИЙВалентин Аветикович - доктор технических наук, профессор, заведующий кафедрой «Математика и моделирование» Петербургского государственного университета путей сообщения Императора Александра I.

e-mail: hva1104@mail.ru

© Дегтярев В. Г., Ходаковский В. А., 2017