Тема 2. Решение транспортной задачи

Транспортная задача (ТЗ) является одной из наиболее известных ЗЛП. Рассмотрим её постановку по критерию стоимости. Пусть в m пунктах отправления А1,...,Аm сосредоточен груз в количествах а1,...,аm единиц. Этот груз необходимо доставить к потребителям В1,...,Вn, спрос которых b1,…,bn единиц соответственно. Известна стоимость cij перевозок единицы груза из пункта Ai в пункт Bj. Требуется составить план перевозок, который полностью удовлетворяет спрос потребителя в грузе и при этом минимизируют суммарные транспортные издержки.

Пусть xij – количество единиц груза, которое необходимо доставить из пункта Ai в пункт Bj, тогда план перевозок имеет вид

X=

Для наглядности ТЗ удобно представить в виде распределительной таблицы:

  поставщик Потребитель Запас груза ai
B1 B2 Bn
  A1 c11 x11 c12 x12 c1n x1n a1
  A2 c21 x21 c22 x22 c2n x2n a2
  Am cm1 xm1 cm2 xm2 cmn xm2n am
  Потребноть в грузе bj b1 b22 bn  

и как ЗЛП:

f(X) = f(x11, x12…..xmn)=

План Х, удовлетворяющий условиям (2.1), называется допустимым планом, а план Х, минимизирующий целевую функцию b(x), называется оптимальным ланом.

Допустимый план Х считается базисным, если среди его элементов xij равно

(m+n-1) ненулевых.

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

Построение начального базисного плана;

Проверка базисного плана на оптимальность;

Улучшение базисного плана.

Начальный базисный план удобнее построить, например, по правилу минимального элемента. В этом случае просматриваются тарифы распределительной таблицы и в первую очередь заполняется клетка с минимальным тарифом. При этом в клетку записывается максимально возможное значение поставки. После этого все остальные клетки строки, соответствующей этому поставщику, считается свободными, если его запас полностью исчерпан, или все остальные клетки столбца, соответствующего потребителю, считаются свободными, спрос которого полностью удовлетворён. Далее из оставшихся клеток снова выбирают клетку с минимальным тарифом и т.д. Для выбранного начального базисного плана (он содержит m+n-1 базисных заполненных клеток) определяют потенциалы Ui и Vj для тех клеток, где xij из условий vj-4i=cij. Этих условий m+n-1, а неизвестных m+n, поэтому одному из потенциалов придают произвольное (например нулевое) значение, а остальные неизвестные затем определяются однозначно.

Далее, для свободных (пустых) клетки проверяются условия vj-uj называются разностями потенциалов.

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

(

«+» «-»

«-» «+»

(l,

Рис. 2.1

В рассматриваемой цепочке ставятся знаки«+» и «-» поочередно. Из клеток со знаком «-» выбирается та, для которой объём перевозок минимален, обозначим его через (например, ), после чего происходит перерасчет в рамках данной цепочки: в клетке с «+» добавляется , в клетках с «-» вычитается . Таким образом, клетка () становится свободной. В итоге получается новый базисный план, для которого вновь определяются потенциалы, после чего он проверяется на оптимальность и т.д.

Пример 2.1.

На трех складах A1, A2, A3 хранится единиц одного и того же груза. Этот груз требуется доставить четырём потребителям B1, B2, B3, B4, заказы которых составляют единиц груза соответственно. Стоимости j перевозкой единиц груза с i-го склада j-ому потребителю указана в правых верхних углах соответствующих клеток распределительной таблицы:

  ai
4 2 3 1  
6 3 5 6  
3 2 6 3  
bj          

Используя метод потенциалов, составить оптимальный план , обеспечивающий минимальную стоимость перевозок fmin=f(X*) и найти эту стоимость.

Решение.

Имеем m=3, n=4, откуда m+n- 1=6. Следовательно для получения начального базисного плана X0 необходимо заполнить шесть клеток распределительно таблицы:

  ai
4 2 10 3 1 70  
6 10 3 40 5 50 6  
3 70 2 6 3  
bj          

Таким образом, начальный базисный план

X0 =

Проверим этот план на оптимальность. Для этого найдем потенциалы vj и ui соответствующие заполненным клеткам (1,2), (1,4), (2,1), (2,2), (2,3) и (3,1). Пусть v1=0, тогда имеем

(2.2)

Решив систему уравнений (2,2), получим u1=-5, u2=-6, u3=-3, v1=0, v2=-3, v3=-1, v4=-4

Далее для незаполненных клеток (1,1), (1,3), (2,4), (3,2), (3,3) и (3,4) вычислим разности потенциалов:

Откуда следует что для клеток (1,1) и (1.3) , а значит, план X0 не является оптимальным.

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

«-» «+»

(1,2) (1,3)

«+» «-»

(2,2

Рис. 2.2

Для клеток со знаком «-» имеем x12=10,x23=50откуда . Таким образом, в клетке со знаком «+» прибавится 10 единиц груза, а в клетках со знаком «-» такое же количество груз а отнимается. В итоге получим новую распределительную таблицу:

  ai
4 2 3 10 1 70  
6 10 3 50 5 40 6  
3 70 2 6 3  
bj          

и новый базисный план

X1=

Проведя рассуждения, аналогично рассуждениям для плана Х0 найдем потенциалы vj и ui для базисных клеток и разности потенциалов для свободных клеток плана X1.

Расчеты показали, что все а значит, план X1 оптимален, то есть X1=X*. Минимальная стоимость перевозок груза.fmin =f(X*)= 3


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: