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

 

 

 

71

 

 

 

 

 

 

 

 

 

Таблица 10

ПН

B1

B2

B3

B4

B5

 

ПО

Запасы

 

 

 

 

 

 

 

2

3

4

2

 

4

A1

 

 

 

 

 

140

 

x11

x12

x13

x14

x15

 

 

8

4

1

4

 

1

A2

 

 

 

 

 

180

 

x21

x22

x23

x24

x25

 

 

9

7

3

7

 

2

A3

 

 

 

 

 

160

 

x31

x32

x33

x34

x35

 

Потреб-

60

70

120

130

100

480

ности

Решение. Построим математическую модель данной ТЗ. Обозначим через xij количество единиц груза, которое планируется перевести из пункта отправ- ления Ai (i = 1, 2,3) в пункт назначения Bj ( j = 1, 2,3, 4,5) . Тогда целевая функ-

ция для ТЗ запишется как

2x11 + 3x12 + 4x13 + 2x14 + 4x15 +

8x21 + 4x22 + x23 + 4x24 + x25 +

9x31 + 7x32 + 3x33 + 7x34 + 2x35 ® min

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

ìx11 + x12 + x13 + x14 + x15 =140 ïïx21 + x22 + x23 + x24 + x25 =180 ïïx31 + x32 + x33 + x34 + x35 =160 ïx11 + x21 + x31 = 60

ïíx12 + x22 + x32 = 70 ïïx13 + x23 + x33 =120

ïx14 + x24 + x34 =130 ïïx15 + x25 + x35 =100

ïîxij ³ 0 (i =1,2,3; j =1,2,3,4,5).

72

Число неизвестных переменных xij в ТЗ с m поставщиками и n потреби-

телями равно m × n , а число уравнений в системе (4.2) - (4.3) равно m + n. Так как ТЗ является сбалансированной, т.е. выполняется условие (4.5), число ли- нейно независимых уравнений равно m + n −1. Следовательно, опорный план ТЗ может иметь не более m + n −1 отличных от нуля неизвестных.

Существуют несколько схем построения первоначального опорного пла- на: метод «северо-западного угла» (СЗУ), метод наименьшей стоимости, метод Фогеля. Эффективность данных методов различается: в общем случае метод Фогеля дает наилучшее решение (в ряде случаев - оптимальное), а метод СЗУ - наихудшее.

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

Построение опорного плана ТЗ методом СЗУ

В данной ТЗ m = 3, n = 5, следовательно, опорный план должен иметь не более m + n −1 = 3 + 5 −1 = 7 отличных от нуля переменных. Следуя методу СЗУ, начинают с того, что приписывают переменной x11, расположенной в верхней левой клетке (СЗУ) таблицы, максимально возможное значение.

После этого вычеркивают соответствующий столбец (строку), фиксируя этим, что остальные переменные вычеркнутого столбца (строки) полагаются равными 0. Если ограничения, представляемые столбцом и строкой, выполня- ются одновременно, то вычеркивают либо столбец, либо строку.

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

дура приводит к виду, представленному в табл. 11.

 

В результате получаем опорный план

 

0

(семь занятых клеток таблицы):

X

æ

60

70

10

0

0

ö

 

 

ç

0

0

110

70

0

÷

 

 

X 0 = ç

÷.

ç

0

0

0

60

100

÷

è

ø

Согласно полученному опорному плану общая стоимость перевозки груза составляет

73

Z (X 0 ) = 2 × 60 + 3×70 + 4 ×10 +1×110 + 4 ×70 + 7 ×60 + 2 ×100 = 1380.

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

 

 

 

 

 

 

 

Таблица 11

ПН

B1

B2

B3

 

B4

B5

 

ПО

 

Запасы

 

 

 

 

 

 

 

 

2

 

3

4

2

4

(140)

A1

60

70

10

 

-

-

(80)

 

 

(10)

 

 

 

 

 

 

 

 

8

 

4

1

4

1

(180)

A2

-

-

110

 

70

-

(70)

 

 

 

 

9

 

7

3

7

2

(160)

A3

-

-

-

 

60

100

(100)

 

 

 

Потреб-

(60)

(70)

(120)

 

(130)

(100)

 

 

 

(110)

 

(60)

 

480

ности

 

 

 

 

Построение опорного плана ТЗ методом наименьшей стоимости

Согласно данному методу, выбирается переменная xij , которой соответ-

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

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

В результате получаем опорный план X 0 (семь занятых клеток таблицы):

 

 

 

 

 

 

74

 

 

 

 

 

 

 

 

æ

60

0

0

80

0

ö

 

 

 

 

X 0

ç

0

0

120

0

60

÷

 

 

 

 

= ç

÷ .

 

 

 

 

 

ç

0

70

0

50

40

÷

 

 

 

 

 

è

ø

 

 

Согласно полученному опорному плану, общая стоимость перевозок гру-

за составляет

 

 

 

 

 

 

 

 

 

 

 

Z (X 0 ) = 2 × 60 + 2 ×80 +1×120 +1× 60 + 7 × 70 + 7 ×50 + 2 × 40 = 1380.

 

 

 

 

 

 

 

 

 

 

 

Таблица 12

ПН

B1

B2

 

 

B3

 

B4

B5

 

ПО

 

 

 

Запасы

 

 

 

 

 

 

 

 

 

 

 

 

2

 

3

 

 

4

 

 

2

4

(140)

A1

60

-

 

 

-

 

 

80

 

-

(80)

 

 

 

 

 

 

 

 

8

 

4

 

 

1

 

 

4

1

(180)

A2

-

-

 

 

120

 

-

 

60

(60)

 

 

 

 

 

 

 

9

 

7

 

 

3

 

 

7

2

(160)

A3

-

70

 

 

-

 

 

50

 

40

(120)

 

 

 

 

 

 

(50)

 

 

 

 

 

 

 

 

 

 

 

Потреб-

(60)

(70)

 

 

(120)

 

(130)

(100)

 

 

 

 

 

 

 

 

(50)

(40)

480

ности

 

 

 

 

 

 

 

 

Поиск опорного плана ТЗ методом Фогеля

 

На каждом шаге метода Фогеля для каждой i -й строки вычисляются штрафы di как разность между двумя наименьшими тарифами строки. Таким же образом вычисляются штрафы d j для каждого j -го столбца. После чего

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

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

75

Если клеток с минимальной стоимостью также несколько, то из них вы- бирается клетка (i, j) с максимальным суммарным штрафом, т.е. суммой штра- фов по i -й строке и j -му столбцу.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 13

ПН

 

 

 

 

 

 

 

 

 

 

 

Запа-

Штрафы для строк,

 

B1

 

 

B2

 

B3

 

B4

 

 

B5

 

 

 

 

 

 

 

 

 

сы

ПО

 

 

 

 

 

 

 

 

 

 

 

di

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

3

 

4

 

2

 

4

(140)

0 1 1 1 1 − −

A1

 

 

 

 

 

 

 

 

 

 

 

 

(80)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

60

 

 

 

80

 

 

 

 

 

 

8

4

1

4

1

(180)

 

 

 

 

 

 

 

A2

10

120

50

(60)

0

0

3

0

0

0

 

 

(10)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

7

3

7

2

(160)

 

 

 

 

 

 

 

A3

60

100

(60)

1

1

5

0

0

0

 

 

 

 

 

 

 

 

 

 

Потреб-

(60)

(70)

(120)

(130)

(100)

 

 

 

 

 

 

 

 

 

(60)

 

(50)

 

480

 

 

 

 

 

 

 

ности

 

 

 

 

 

 

 

 

 

 

 

6

1

2

2

1

 

 

 

 

 

 

 

 

Штрафы

1

2

2

1

 

 

 

 

Из двух столбцов с одинаковой

для

1

2

1

 

величиной штрафа

выбираем

 

 

 

 

 

 

 

тот, у которого есть

клетка с

столбцов,

1

2

 

минимальной стоимостью пере-

d j

 

 

 

 

 

 

1

2

 

возки

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

В результате получается опорный план X 0 (семь занятых клеток табли-

цы):

 

 

 

 

76

 

 

 

æ

60

0

0

80

0

ö

 

ç

0

10

120

50

0

÷

 

X 0 = ç

÷.

ç

0

60

0

0

100

÷

è

ø

Согласно полученному опорному плану, общая стоимость перевозок гру-

за составляет

Z(X0 ) = 2×60 + 4 ×10 + 7 ×60 +1×120 + 2 ×80 + 4×50 + 2×100 =1260.

Определение оптимального плана ТЗ методом потенциалов

Один из эффективных методов решения ТЗ, получивший название метода потенциалов, был предложен в 1949 г. советскими математиками Л.В. Кан- торовичем и М.К. Гавуриным. Позже аналогичный метод разработал Дж. Дан- циг, основываясь на общих идеях линейного программирования.

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

ется переход к следующему - лучшему базисному плану [20].

 

 

 

Теорема. Если для некоторого опорного плана ТЗ

 

 

* = (x* )

 

существу-

X

mn

 

 

 

 

 

 

 

 

 

 

 

 

 

ij

 

 

ют такие числа u* , u* , …, u*

, v* , v* , …, v* , что u* + v* = c

ij

- для базисных пе-

1 2

 

m

1

2

n

i

j

 

 

 

 

 

 

ременных (занятых клеток),

 

ui* + v*j

£ cij

- для остальных переменных (свобод-

ных клеток), то

 

* = (x* )

 

- оптимальный план ТЗ.

 

 

 

 

 

 

 

 

X

mn

 

 

 

 

 

 

 

 

 

 

ij

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказательство теоремы приведено в [9]. Числа u* и u* называются по-

 

 

 

 

 

 

 

 

 

 

i

 

i

 

 

 

тенциалами поставщиков и потребителей соответственно.

 

 

 

 

Данная теорема позволяет получить решение ТЗ. После нахождения

опорного плана необходимо вычислить значения потенциалов u*

и u* . Так как

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

i

для базисных переменных имеет место система m + n −1 уравнений с m + n не-

известными

D*ij = ui* + v*j - cij = 0 ,

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

Далее вычисляют симплексные разности для всех остальных переменных по формуле

77

ij = ui + v j cij .

Если среди них нет положительных значений, то найденный опорный план является оптимальным. В противном случае выбирают lk = max{ ij } и

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

Определение. Циклом называется ломаная линия, вершины которой рас- положены в занятых клетках таблицы (рис. 10).

 

xlk

 

+

x pq

 

 

+

+

Рис. 10. Примеры циклов

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

1.Заполняемой клетке, соответствующей переменной xlk , приписывается знак «+», а всем остальным клеткам поочередно знаки «−» и «+».

2.В заполняемую клетку переносят меньшее из чисел xij , стоящих в клетках со знаком «−». Одновременно это число прибавляют к соответ- ствующим числам, стоящим в клетках со знаком «+», и вычитают из чисел, стоящих в клетках со знаком «−».

3.Клетка со знаком «−», в которой стояло минимальное число, считается свободной, а соответствующая ей переменная xpq исключается из бази-

са.

Примечание. Если минимальное число xpq достигается более чем в одной

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

78

Поиск оптимального плана ТЗ. Перейдем к определению опти-

мального плана перевозок для рассматриваемой ТЗ.

Итерация 1. Пусть получен первоначальный опорный план, соответст- вующий табл. 11, т.е. опорный план, полученный методом СЗУ. В соответствии с количеством поставщиков и потребителей рассмотрим три переменные u1 , u2 ,

u3 потенциалы поставщиков и пять переменных v1 , v2 , v3, v4 , v5 потенциалы потребителей. Для каждой занятой клетки в табл. 4.2 запишем уравнения вида

ui + vj = cij ,

где cij стоимость перевозки единицы груза для данной клетки; ui и vj соот- ветственно потенциалы поставщика и потребителя.

u1 + v1 = 2 ;

u2 + v3 = 1;

u3 + v4

= 7;

u1 + v2 = 3;

u2 + v4 = 4 ;

u3 + v5

= 2 .

u1 + v3 = 4 ;

 

 

 

Полагая u1 = 0 (так как имеются 8 переменных и 7 уравнений), получаем

v1 = 2 , v2 = 3,

v3 = 4 . Подставляем полученные значения в другие уравнения

системы:

 

 

 

 

 

 

 

u2 + 4 = 1;

 

u2 = −3;

 

 

 

− 3 + v4 = 4 ;

 

v4 = 7;

 

 

 

u3 + 7 = 7 ;

 

u3 = 0 ;

 

 

 

0 + v5 = 2 ;

 

v5 = 2.

 

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

потребителей:

 

 

 

 

 

u1 = 0 ;

u2 = −3;

u3 = 0 ;

 

 

v1 = 2 ;

v2 = 3;

v3 = 4 ;

v4 = 7;

v5 = 2.

Далее вычисляем симплексные разности для остальных переменных по

следующей формуле:

 

 

 

 

 

 

ij = ui + vj cij .

 

14

= 0 + 7 − 2 = 5;

15

= 0 + 2 − 4 = −2;

 

21

= −3 + 2 − 8 = −9;

22

= −3 + 3 − 4 = −4;

 

25

= −3 + 2 −1 = −2;

 

 

 

31

= 0 + 2 − 9 = −7;

32

= 0 + 3 − 7 = −4;

 

33

= 0 + 4 − 3 = 1.

 

 

 

79

Таким образом, имеем следующие значения симплексных разностей: ij = {5, − 2, − 9, − 4,− 2, − 7, − 4,1}.

lk = max{ ij } = 14 = 5, xlk = x14 = 10 .

Подставляем полученные значения в таблицу с опорным планом и полу- чаем табл. 14 (на сером фоне представлены значения симплексных разностей для соответствующих значений потенциалов поставщиков и потребителей).

 

 

 

 

 

 

 

Таблица 14

 

ПН

B1

B2

B3

B4

B5

 

ПО

 

Запасы

v1

= 2

v2 = 3

v3 = 4

v4 = 7

v5 = 2

 

 

 

 

 

2

3

4

 

2

4

A1

60

70

10

 

140

u1 = 0

 

 

+

5

-3

 

 

 

 

 

 

 

 

A2

8

4

 

1

 

4

 

1

180

 

 

 

110

 

 

70

 

 

 

 

 

 

 

 

 

 

 

u2 = −3 -9

-4

 

+

 

 

-2

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

7

 

3

 

7

100

 

2

 

 

 

 

 

 

 

 

 

 

60

 

 

 

 

A3

-4

 

1

 

 

 

160

 

 

 

 

 

 

u3 = 0

-7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Потреб-

60

70

120

130

100

480

ности

Пометим заполняемую клетку (1, 4) знаком «+», а затем поочередно клет- ки (2, 4), (2, 3) и (1, 3) − соответственно знаками «+», «−» и «+». Среди клеток таблицы, образующих цикл и помеченных знаком «−», меньшее значение (10) содержится в клетке (1, 3). Прибавим это значение к соответствующим числам, стоящим в клетках цикла, помеченных знаком «+», и вычтем из чисел, стоящих в клетках, помеченных знаком «−».

Освободим клетку (1, 3), в которой стояло минимальное число, а соответ- ствующую ей переменную x13 исключим из базиса. Получаем новый опорный план ТЗ:

 

 

 

 

 

 

80

 

 

 

 

 

 

æ

60

70

0

10

0

ö

 

 

 

ç

 

 

 

 

 

÷

X1

= ç

0

0

120

60

0

÷.

 

 

 

ç

0

0

0

60

100

÷

 

 

 

è

ø

Z (X1 ) = 2 × 60 + 3×70 + 2 ×10 +1×120 + 4 ×60 + 7 ×60 + 2 ×100 = 1330 .

Среди полученных симплексных разностей для переменных в свободных клетках имеется положительное число: 1 в клетке (3, 3). Это означает, что най- денный опорный план не является оптимальным.

Итерация 2. Для каждой занятой клетки табл. 14 (с учетом сделанной перестановки) снова рассчитаем значения потенциалов поставщиков и потреби- телей.

u1 + v1 = 2 ;

u2 + v3 = 1;

u3 + v4

= 7;

u1 + v2 = 3;

u2 + v4 = 4 ;

u3 + v5

= 2 .

u1 + v4 = 2;

 

 

 

Полагая u1 = 0 , получаем v1 = 2 , v2 = 3, v4 = 2. Подставляем полученные

значения в другие уравнения системы:

 

 

 

 

u2 + 2 = 4 ;

 

u2 = 2 ;

 

 

 

2 + v3 = 1;

 

v3 = −1;

 

 

 

u3 + 2 = 7 ;

 

u3 = 5;

 

 

 

5 + v5 = 2;

 

v5 = −3.

 

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

потребителей:

 

 

 

 

 

u1 = 0 ;

u2 = 2 ;

u3 = 5;

 

 

v1 = 2 ;

v2 = 3;

v3 = −1;

v4 = 2;

v5 = −3.

Вычислим симплексные разности для остальных переменных:

13

= 0 −1− 4 = −5;

15

= 0 − 3 − 4 = −7;

 

21

= 2 + 2 − 8 = −4;

22

= 2 + 3 − 4 = 1;

 

25

= 2 − 3 −1 = −2;

 

 

 

31

= 5 + 2 − 9 = −2;

32

= 5 + 3 − 7 = 1;

 

33

= 5 −1− 3 = 1.

 

 

 

Таким образом, имеем следующие значения симплексных разностей: ij = {−5, − 7, − 4,1, − 2, − 2,1,1}.

lk = max{ ij } = 22 =1, xlk = x22 = 60 .