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

ЭМиКМ (пособие)

.pdf
Скачиваний:
42
Добавлен:
11.04.2015
Размер:
899.68 Кб
Скачать

 

 

64

 

 

 

 

 

 

 

 

Таблица 4.1

ПН

B2

B3

B4

B5

 

B1

Запасы

ПО

 

 

 

 

 

 

 

 

 

2

3

4

2

 

4

A1

 

 

 

 

140

x11

x12

x13

x14

x15

 

A2

8

 

4

 

1

 

4

 

1

180

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x21

x22

x23

x24

 

x25

A3

9

7

3

7

2

 

 

 

 

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

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

 

 

 

 

 

 

 

ì

+ x12

+ x13 + x14 + x15 = 140,

ïx11

ïx21 + x22 + x23 + x24 + x25 =180,

ïx

+ x

+ x

+ x

 

+ x =160,

ï 31

 

32

33

34

 

35

ïx11 + x21 + x31 = 60,

 

 

ï

+ x22

+ x32 = 70,

 

 

íx12

 

 

ïx

+ x

23

+ x

=120,

 

ï 13

 

33

 

 

 

 

ïx14 + x24 + x34 = 130,

 

ïx

+ x

25

+ x

=100,

 

ï 15

 

35

 

 

 

 

ïx

³ 0

 

(i = 1, 2,3;

j = 1, 2,3, 4,5).

î ij

 

 

 

 

 

 

 

65

Число неизвестных переменных 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. Если ограничения, представляемые столбцом и строкой, выполня- ются одновременно, то вычеркивают либо столбец, либо строку.

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

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

цы):

60

70

10

0

0

 

æ

ö

 

 

ç

0

0

110

70

0

÷

 

 

X 0 = ç

÷.

ç

0

0

0

60

100

÷

è

ø

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

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

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

66

Таблица 4.2

ПН

B1

B2

B3

B4

B5

Запасы

 

 

 

 

 

ПО

A1

2

 

3

4

2

4

(140)

60

70

10

 

(80)

 

 

(10)

 

 

8

 

4

 

1

 

4

 

1

(180)

A2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(70)

110

 

70

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

7

 

3

 

7

 

2

(160)

A3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(100)

 

 

 

 

 

60

 

100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Потреб-

(60)

(70)

(120)

(130)

(100)

 

 

 

 

 

 

(110)

(60)

 

 

 

480

ности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

ряется при возможно большем значении той переменной xij , которой соответ-

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

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

цы):

æ

60

0

0

80

0

ö

 

ç

0

0

120

0

60

÷

 

X 0 = ç

÷.

ç

0

70

0

50

40

÷

è

ø

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

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

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

67

Таблица 4.3

ПН

B1

B2

B3

B4

B5

Запасы

 

 

 

 

 

ПО

A1

 

2

3

4

2

4

(140)

60

 

80

(80)

 

 

 

 

 

8

 

4

 

1

 

4

 

1

(180)

A2

 

 

 

 

 

 

 

 

 

 

 

 

(60)

120

 

60

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

7

 

3

 

7

 

2

(160)

A3

 

 

 

 

 

 

 

 

 

 

(120)

 

 

70

 

 

50

 

40

 

(50)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Потреб-

(60)

(70)

(120)

(130)

(100)

 

 

 

 

 

 

 

 

(50)

(40)

480

ности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поиск опорного плана с помощью метода Фогеля

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

же образом вычисляются штрафы d j для каждого j -го столбца. После чего

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

4.4).

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

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

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

68

 

 

 

 

 

 

Таблица 4.4

ПН

B2

B3

B4

B5

Запа-

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

B1

ПО

 

 

 

 

сы

di

 

 

 

 

 

2

3

4

2

4

(140)

 

 

 

 

 

A1

 

 

 

 

(80)

0

1

1

1

1

60

80

 

 

 

 

 

 

 

 

8

4

1

 

4

1

(180)

 

 

 

 

 

 

A2

 

 

 

 

(60)

0

0

3

0

0

0

10

120

50

 

(10)

 

 

 

 

 

 

 

9

7

3

 

7

2

(160)

 

 

5

 

 

 

A3

 

 

 

 

 

(60)

1

1

0

0

0

 

60

 

 

 

100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Потреб-

(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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

0 (семь занятых клеток табли-

X

цы):

 

 

 

 

 

60 0

0

80

0

 

 

 

 

 

 

 

 

æ

ö

 

 

 

 

 

 

 

ç

 

 

 

 

 

 

 

 

 

÷

 

 

 

 

 

X 0 =

0

10

120

50

0

 

 

 

 

 

ç

÷.

 

 

 

 

 

 

ç

0

60

0

0

100

÷

 

 

 

 

 

 

 

è

ø

 

 

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

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

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

69

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

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

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

Теорема. Если для некоторого опорного плана ТЗ X * = (xij* )mn сущест- вуют такие числа u1* , u2* , …, um* , v1* , v2* , …, vn* , что ui* + v*j = cij для базис- ных переменных (занятых клеток), ui* + v*j cij для остальных переменных

(свободных клеток), то X * = (xij* )mn оптимальный план ТЗ.

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

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

Данная теорема позволяет получить решение ТЗ. После нахождения опорного плана необходимо вычислить значения потенциалов ui* и v*j . Так как

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

неизвестными

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

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

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

ij = ui + v j cij .

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

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

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

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

70

xlk

+

x pq

+

+

Рисунок 9 − Примеры циклов

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

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

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

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

зиса.

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

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

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

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

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

ствии с количеством поставщиков и потребителей рассмотрим три переменные u1, u2 , u3 потенциалы поставщиков и пять переменных v1, v2 , v3, v4 , v5

потенциалы потребителей. Для каждой занятой клетки в таблице 4.2 запишем уравнения вида:

ui + v j = cij ,

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

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

 

u1 + v1 = 2;

u2 + v3 =1;

u3 + v4 = 7 ;

u1 + v2 = 3;

u2 + v4 = 4 ;

u3 + v5 = 2.

71

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 + v j 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.

 

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

ij = {5, − 2, − 9, − 4, − 2, − 7, − 4,1}. lk = max{ ij} = 14 = 5,

xlk = x14 =10.

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

72

Таблица 4.5

 

ПН

B2

B3

B4

B5

 

 

B1

Запасы

ПО

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

 

 

 

 

 

 

 

 

 

A3

9

7

 

3

 

 

7

100

 

2

160

 

 

 

 

 

60

 

 

 

 

u3 = 0

-7

 

-4

 

1

 

 

 

 

 

 

 

 

 

Потреб-

60

70

120

130

100

480

ности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

 

 

 

æ

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. Для каждой занятой клетки таблицы 4.5 (с учетом сделан- ной перестановки) снова рассчитаем значения потенциалов поставщиков и по- требителей.

u1 + v1 = 2;

u2 + v3 =1;

u3 + v4 = 7 ;

u1 + v2 = 3;

u2 + v4 = 4 ;

u3 + v5 = 2.

73

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.

Подставляем полученные значения в таблицу с опорным планом X1 и

получаем таблицу 4.6.

Пометим заполняемую клетку (2, 2) знаком «+», а затем поочередно клет- ки (1, 2), (1, 4) и (2, 4) − соответственно знаками «−», «+» и «−». Среди клеток,

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