Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КурсЛекций.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
1.99 Mб
Скачать

6.1.4 Метод потенциалов

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

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

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

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

Решим транспортную задачу из примера 6.1, используя начальное решение, полученное методом северо-западного угла (таблица 6.2).

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

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

Поскольку для базисных клеток верны равенства u1+v111=10 и u1+v212=2, то находим, что v1=10 и v2=2. Далее последовательно находим значения для u2 из равенства u2+v222=7. Оно будет равно u2=5. Далее легко находим потенциалы v3, v4 из равенств u2+v323=9 и u2+v424=20. То есть v3=4 и v4=15. И последний потенциал u3 находим из условия, что u3+v424=18. Он равен u3=3.

Теперь вычислим выражения ui + vj - cij для всех небазисных переменных.

Небазисные переменные

Значения ui + vj - cij

х13

u1+v3-c13=0+4-20=-16

х14

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

-9

0

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

Описанные вычисления обычно выполняются непосредственно в транспортной таблице, как показано в таблице 6.4. Для потенциалов в таблицу добавляем еще один столбец справа и строку снизу. В этом случае нет необходимости в явном виде выписывать уравнения потенциалов. Вычисления в транспортной таблице начинаются с присвоения потенциалу u1=0. Затем находим v-потенциалы в первой строке. Потом, используя v2, находим u2 и так далее находим все потенциалы. После этого вычисляем для всех небазисных переменных величины ui + vj - cij и записываем их в правом нижнем углу соответствующей ячейки транспортной таблицы.

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

Таблица 6.4

мельницы

1

2

3

4

предло-

элеваторы

жение

1

-

10

+

2

20

11

u1=0

5

10

-16

4

15

2

12

-

7

9

+

20

u1=5

3

5

15

5

25

3

+

4

14

16

-

18

u1=3

9

-9

-9

10

10

Спрос

5

15

15

15

50

v1=10

v2=2

v3=4

v4=15

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

  1. Должны выполняться ограничения на спрос и предложение.

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

Подобный цикл представлен в таблице 6.4. Он начинается из ячейки (3,1) и там же заканчивается и перевозит по всем отрезкам цикла 5 единиц груза.

Таблица 6.5

мельницы

1

2

3

4

предло-

элеваторы

жение

1

10

-

2

20

+

11

u1=0

-9

15

-16

4

15

2

12

+

7

9

-

20

u1=5

-6

0

15

10

25

3

4

14

16

18

u1=3

5

-9

-9

5

10

Спрос

5

15

15

15

50

v1=1

v2=2

v3=4

v4=15

Цикл проходит через ячейки х31, х34, х24, х22, х12, х11 и х31. В каждой ячейке цикла изменяем значения на =min(x34, х22, х11)=5. В нечетных прибавляем 5 единиц, а в четных ячейках уменьшаем на 5единиц. Получится таблица 6.5.

Новая суммарная стоимость перевозок равна

f=15*2+5*4+0*7+15*9+5*18+10*20=475.

В новой транспортной таблице 6.5, используя новые базисные переменные, находим новые потенциалы. Они все будут принимать прежние значения, кроме v1=1. Находим также в небазисных переменных разности ui + vj - cij и записываем в правом нижнем углу. Максимальное положительное значение находится в ячейке (1,4) (оно равно +4), следовательно, вводить будем переменную х14. Строим также цикл через ячейки х14, х12, х22 и х14, по которому перебросим 10 единиц груза. В результате получим транспортную таблицу 6.6.

Таблица 6.6

мельницы

1

2

3

4

предло-

элеваторы

жение

1

10

2

20

11

u1=0

-13

5

-16

10

15

2

12

7

9

20

u1=5

-10

10

15

-4

25

3

4

14

16

18

u1=7

5

-5

-5

5

10

Спрос

5

15

15

15

50

v1=-3

v2=2

v3=4

v4=11

Новая суммарная стоимость перевозок равна

f=5*2+5*4+10*7+15*9+10*11+5*18=435.

Найдем для нового базисного решения потенциалы ui и vj. Теперь новые значения величин ui + vj - cij для всех небазисных переменных хij отрицательные. Поэтому решение, представленное в таблице 6.6, оптимально.

На этом вычисления заканчиваются, и выписывается решение транспортной задачи:

От элеватора

До мельницы

Количество зерновозов

1

2

5

1

4

10

2

2

10

2

3

15

3

1

5

3

4

5

Минимальная стоимость перевозок равна 435 тысяч рублей.