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

МО-Лекции

.pdf
Скачиваний:
20
Добавлен:
03.05.2015
Размер:
4.33 Mб
Скачать

10.2. МЕТОД ПОТЕНЦИАЛОВ ДЛЯ ОПРЕДЕЛЕНИЯ ОПТИМАЛЬНОГО ПЛАНА

1. Пусть у нас есть опорный план. Для перевозок вида

0

xij

dij

,

(1)

для определения потенциалов ui

и

v j

соответствующих пунктов от-

правления и пунктов назначения составляется система уравнений

 

v j

ui

cij

 

(2)

инаходятся потенциалы ui и v j .

2.Для остальных клеток транспортной таблицы вычисляются зна-

чения

 

 

cij

(v j

ui ) .

 

(3)

Если для

xij 0

 

 

 

 

 

 

ij

cij

(v j

ui )

0

(4)

и для xij

dij

 

 

 

 

 

 

ij

cij

v j

ui

0,

(4')

то опорный план транспортной задачи оптимален.

Если эти условия не выполняются, то среди отрицательных чисел

ij

и

ij

выбираем наименьшее (максимальное по модулю). Пусть это

 

 

 

 

 

наименьшее из чисел соответствует перевозке с индексами i0 и j0 .

 

Возможно два варианта:

 

 

 

 

а) наименьшее из чисел соответствует xi

j

0 ;

 

 

 

 

0 0

 

 

 

б) наименьшее из чисел соответствует xi

j

di

j .

 

 

 

0

0

0

0

Начиная с перевозки xi0 j0 , строим замкнутый цикл из базисных пе-

ревозок транспортной задачи [соответствующих (1)]. В зависимости от случаев а) и б) дальнейшие действия различаются.

120

а) В этом случае для улучшения плана мы должны ввести в базис перевозку xi0 j0 . Пометим перевозки цикла, начиная с i0 , j0 , пооче-

редно знаками «+ » и «–» ( xi0 j0 помечаем знаком «+»). Определим для отрицательной полуцепи

min xij ,

для положительной полуцепи

min dij xij

и возьмем

min , , i0 , j0 .

Для получения более экономичного плана перевозки положительной полуцепи увеличиваем на , а отрицательной – уменьшаем на .

После этого переходим к п. 1.

б) В этом случае перевозку xi0 j0 помечаем знаком «–», а остальные

перевозки цикла помечаем последовательно « + » и « – ». Определим для отрицательной полуцепи

min

xij ,

для положительной полуцепи

 

 

min dij

xij .

Определяем

 

 

min ,

, di

, j .

 

0

0

Увеличиваем перевозки положительной полуцепи на , а перевозки отрицательной полуцепи уменьшаем на . Переходим к п. 1.

121

10.3. ПОСТРОЕНИЕ ОПОРНОГО ПЛАНА

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

Предварительный этап разбивается на несколько однотипных шагов. Первый шаг. Среди элементов cij матрицы С находим минималь-

ный. Если этим элементом является ci1 j1 , то находим

 

xi j

min

ai , bj

, di

j .

 

 

 

 

1 1

 

1

1

1 1

 

 

 

 

Возможны три случая:

 

 

 

 

 

 

 

 

 

 

xi j

a; xi j

bj

, xi j

 

di j .

 

 

 

 

1 1

1 1

1

 

1 1

 

1 1

 

 

 

В первом случае все остальные перевозки строки

xi

j

0 j j1 , во

 

 

 

 

 

 

 

 

1

 

 

втором – все остальные перевозки столбца xij

 

0

i

i1. В третьем слу-

 

 

 

 

 

1

 

 

 

 

чае заполняется только xi j

. Далее вычеркиваем из матрицы С либо стро-

 

1 1

 

 

 

 

 

 

 

 

 

ку, либо столбец, либо элемент ci j

. Преобразуем величины в таблице:

 

 

1 1

 

 

 

 

 

 

 

 

ai ,

 

i i1 ,

b1j

 

bj ,

 

j

 

j1,

 

ai1

 

 

 

bj

 

xi j , j

 

j

j1.

ai

xi j , i i1 ;

 

 

 

 

1

1 1

 

 

 

1

 

1 1

 

 

 

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

матрицы Х и величинам a1i , b1j .

Шаги предварительного этапа следуют до полного заполнения матрицы Х. Согласно процессу формирования матрицы Х ее элементы удовлетворяют условиям

m

 

 

 

 

 

 

 

 

 

 

 

xij

bj ,

j

1, n,

i

1

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

xij

ai ,

i 1, m,

j

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

xij

dij , i 1, m,

 

j 1, n.

122

Положим

 

 

m

 

 

 

 

 

xm 1, j

bj

xij ,

j 1, n,

 

i

1

 

 

 

 

 

 

n

 

 

 

 

 

xi,n 1

ai

xij ,

i 1, m,

 

j

1

 

 

 

 

 

m

 

n

 

 

 

 

 

 

xi,n 1

xm

1, j .

i 1

 

j 1

 

 

 

 

 

Если = 0, то очевидно, что матрица Х является (опорным) планом задачи, которую обозначим Td .

Однако в общем случае > 0, и для получения искомого опорного плана задачи Td необходимо провести еще несколько итераций методом потенциалов.

Введем расширенную задачу Td (M ) , которую образуем из Td следующим образом. Присоединим к пунктам производства задачи Td

фиктивный пункт

Am 1 с объемом производства am 1

,

а к пунктам

потребления пункт Bn 1

c bn 1

. Пусть стоимости перевозок ci,n

1 ,

i

1, m

и

cm 1, j ,

i

1, n

равны

M (максимально большое число),

 

а

cm 1, n 1

0 .

 

 

 

 

 

 

 

 

 

 

 

 

Для этой задачи легко образовать опорный план, введя перевозки из

i

в n

1 и из m

1 в

j , равные xi,n 1 и xm

1, j , и взяв xm 1,n 1

0 .

 

 

 

 

К задаче Td (M )

применяем метод потенциалов. При ее решении

возможны два случая.

 

 

 

 

 

 

 

 

 

 

1. После ряда итераций строится опорный план X1 задачи Td (M ) ,

согласно

которому

перевозка

между

Am 1 и

Bn 1

равна

 

 

.

В этом случае множество перевозок между пунктами ai и b j ,

i 1, m ,

j1, n , составят опорный план исходной задачи.

2.В оптимальном плане задачи Td (M ) , который определяется за несколько итераций метода потенциалов, перевозка между пунктами Am 1 и Bn 1 меньше . В этом случае задача Td не имеет ни одного

плана, т. е. неразрешима.

123

Пример

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v1

 

 

 

v2

 

 

 

v3

 

 

v4

 

v5

 

 

ai

 

 

15

 

 

 

30

 

 

35

 

 

20

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u1

50

 

15)

14

 

35)

10

14) +

2

10)

5

М

 

 

12

 

 

 

23

 

 

 

14

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u2

20

 

8)

 

11

 

4)

 

 

5

20)

 

4

12)

11

 

М

 

 

 

 

 

 

 

 

 

 

20

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u3

30

 

10)

 

9

 

7)

 

 

8

32)

 

12

20)

1

 

М

 

 

 

 

3

 

 

 

7

 

 

 

 

 

 

20

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u4

1

 

 

 

М

 

 

 

М

 

М

 

 

М

+

0

 

 

0

 

 

 

0

 

 

 

1

 

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Должно быть 5 + 4 – 1 = 8 уравнений.

 

 

 

 

 

 

 

v1

u1

14 ,

 

v2

u1

 

10 ,

 

v1

u3

9 ,

 

 

 

 

 

v5

u1

M ,

 

v3

u4

 

M .

 

 

 

 

 

 

 

 

 

 

Задача вырожденная. Необходимо ввести в базис три перевозки:

 

x

, нет циклов x13 = d13 = 14;

 

 

 

 

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

, нет циклов x23 = d23

= 20;

 

 

 

 

 

 

 

 

23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x33

= 0, вводить нельзя, так как образуется цикл;

 

 

 

x34 , нет циклов x34 = d34 = 20;

 

 

 

 

 

 

 

 

нельзя x21 , (так как x23 ), x22 , x24 , x25 , x35 , x41 , x42

 

 

Добавляем уравнения:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v3

u1

2 ,

 

v3

u2

 

4 ,

 

v4

u3

1 .

 

 

 

 

 

Вычисляем:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u1

0 ,

 

 

u4

2 M ,

 

v3

2 ,

 

 

 

 

 

 

 

u2

2 ,

 

 

v1

14,

 

 

v4

6 ,

 

 

 

 

 

 

 

u3

5 ,

 

 

v2

10 ,

 

 

v5

M .

 

 

 

 

 

 

 

Проверяем условия потенциальности для xij

0 :

 

 

 

 

v4

u1

 

6 5 ,

 

 

v1

 

u2

16 11 ,

 

 

v2

u2

12 5 ,

 

v4

u2

 

8 11 ,

 

v5

 

u2

 

M 2 M ,

v3

u3

3 12 ,

 

v5

u3

 

M 5 M ,

v1

u4

 

M 12 M , v2

u4

M 8 M ,

 

v4

u4

 

M 4 M ,

v5

u4

 

2M 2 M .

 

 

 

 

 

Максимальное

45

2M

2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

124

 

 

 

 

 

 

 

 

Проверяем для небазисных перевозок вида xij

 

dij :

 

 

 

v2

u3

 

5 8 . Следовательно,

32

3 .

 

 

 

 

 

 

45

 

32 , поэтому помечаем x45 ( + ) и строим цикл,

 

 

min

,

, di , j

 

min 0, 1,

 

0 .

 

 

 

 

 

 

 

 

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

Перевозку

 

x13 выводим из базиса, перевозку

x45 – в базис. Перевозка

x45 вводится в базис, но x45

0 .

 

 

 

 

 

 

 

 

 

Ищем новую систему потенциалов:

 

 

 

 

 

 

 

 

v1

u1

 

14 ,

v2

 

u1

10 ,

v1

u3

 

9 ,

 

 

 

 

 

v5

u1

 

M ,

v3

 

u4

M ,

v3

u2

4 ,

 

 

 

 

 

v4

u3

 

1 ,

v5

 

u4

0 ,

 

 

 

 

 

 

 

 

 

u1

0 ,

 

 

u4

 

M ,

v3

2M ,

 

 

 

 

 

 

 

u2

2M 4 ,

v1

 

14

 

v4

6 ,

 

 

 

 

 

 

 

 

u3

5 ,

 

 

v2

 

10 ,

v5

M .

 

 

 

 

 

 

 

Проверяем условия потенциальности для xij

0 :

 

 

 

v4

u1

 

6 5 ,

 

 

v1

u2

18 2M 11 ,

v2

u2

14 2M 5 ,

v4

u2

 

10 2M 11 , v5

u2

4 M M ,

 

v3

u3

2M 5 12 ,

v5

u3

 

M 5 M ,

 

v1

u4

14 M M ,

v2

u4

10 M M .

 

33

2M 17 .

 

 

 

 

 

 

 

 

 

 

 

 

 

Проверяем для небазисных перевозок xij

 

dij :

 

 

 

 

 

v2

u3

 

5 8, v3

u1

2M 2.

 

 

 

 

 

 

 

 

 

Следовательно, x33

в базис.

 

 

 

 

 

 

 

 

 

 

min

,

, di , j

 

min 1, 3, 32

 

 

1.

 

 

 

 

 

 

 

 

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

15 +

 

14

35

 

10

14

 

2

 

10

 

 

5

М

12

 

 

б

23

 

 

б

14

 

 

 

 

 

 

 

М

б

8

 

 

11

4

 

 

5

20

 

4

 

12

 

 

11

 

М

 

 

 

 

 

 

 

 

20

 

б

 

 

 

 

 

0

 

10–

 

9

7

 

 

8

32

 

12

 

20

 

 

1

 

М

3

 

 

б

7

 

 

 

+

 

 

 

20

 

 

б

0

 

 

 

 

М

 

 

М

 

М

 

 

 

М

 

+

0

0

 

 

 

0

 

 

 

1

 

б

 

0

 

 

 

0 б

 

 

 

 

 

 

 

 

 

 

125

 

 

 

 

 

 

 

 

Есть опорный план! Ищем оптимальное решение:

m

3 , n 4 ,

m n

1 6 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15–

14

 

35 +

 

10

 

14

2

 

10

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13

 

 

 

 

 

б

 

23

 

 

б

 

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

11

 

4

 

 

5

 

20

4

 

12

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10 +

 

9

 

 

 

 

 

8

 

 

12

 

 

 

 

 

 

1

 

 

 

 

 

 

 

7

 

 

 

32

 

20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

б

 

7

 

 

 

1

б

 

20

 

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v1

u1

14 ,

 

 

 

 

 

 

 

 

v2

u1 10 ,

 

 

v1

u3

9 ,

 

 

 

v3

u3

12 ,

 

 

 

 

 

 

 

 

v3

u2

4 ,

 

 

v4

u3

1 ,

 

 

 

u1

0

 

 

 

 

 

 

v1

14

 

 

v4

6

 

 

 

 

 

 

 

 

 

 

 

u2

13

 

 

 

 

 

 

v2

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u3

5

 

 

 

 

 

 

v3

17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v4

u1

6 5 ,

 

v1

u2

 

1 11, v2

u2

3 5 ,

 

 

 

 

 

v4

u2

7

 

11.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

v3

u1

17 2 ,

v2

u3

5 8 .

 

 

 

 

 

 

 

 

 

 

 

Максимальное 32

3 ,

x32 помечаем (–) и строим цикл,

= 7. Сис-

тема потенциалов та же, потенциалы те же. x14

в базис с ( + ).

 

 

 

15–

 

14

 

 

35

10

 

14

2

10

 

 

5

 

 

 

 

 

 

6

 

 

 

 

б

 

 

30

 

б

 

14

 

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

11

 

 

4

5

 

20

4

12

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

б

 

 

 

 

 

 

 

 

 

 

 

 

10 +

 

 

9

 

 

7

8

 

32

12

20

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

 

 

 

 

б

 

 

 

 

 

 

 

1

б

 

20 –

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

min

,

 

 

, di , j

min 13, 10 9, 10

1 , т. е.

x31

из базиса.

 

 

 

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

 

14

 

35

10

 

14

2

 

10

 

 

5

 

 

 

 

 

5

 

 

 

 

 

б

 

30

 

б

 

14

 

 

1

 

 

 

б

 

 

 

 

8

 

 

 

 

 

 

 

4

 

5

 

20

4

 

12

 

11

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

20 б

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

9

 

7

 

8

 

32

12

 

20

 

 

1

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

1 б

 

 

19

 

 

б

 

 

126

Система уравнений:

 

 

 

 

v1

u1

14 ,

v2

u1

10 ,

v4

u1

5 ,

v3

u3

12 ,

v3

u2

4 ,

v4

u3

1 ,

u1

0 ,

v1

14,

v4

5 ,

 

 

 

u2

12 ,

v2

10 ,

 

 

 

 

 

u3

4 ,

v3

16 .

 

 

 

 

 

Проверяем условия потенциальности для xij 0 :

v1

u2

2 11,

v2

u2

2 5 ,

v4

u2

7 11,

v2

u3

6 8

для xij

dij :

 

 

 

v3

u1

16 2,

v1

u3

10 9 .

Все условия выполняются, план оптимален.

КОНТРОЛЬНЫЕ ВОПРОСЫ

1.Сформулируйте транспортную задачу линейного программирования с ограничениями.

2.К чему приводит наличие ограничений на пропускные способности?

3.Метод потенциалов для определения оптимального плана транспортной задачи с ограничениями.

4.Метод потенциалов для определения опорного плана транспортной задачи с ограничениями.

5.К чему может привести вырожденность в такой транспортной задаче?

11. ТРАНСПОРТНАЯ ЗАДАЧА ПО КРИТЕРИЮ ВРЕМЕНИ

В такой транспортной задаче решающую роль играет не стоимость перевозок, а время, которое затрачивается на доставку груза. Оптимальным планом считается план, который минимизирует время перевозок [9]. Подобные задачи возникают при перевозках скоропортящихся продуктов, в военном деле, где зачастую стоимость перевозок играет второстепенную роль. Как и в предыдущей задаче, имеется m

пунктов отправления с запасами однородного продукта ai , n пунктов назначения с потребностями b j .

127

 

n

m

Задача закрытого типа, т. е.

bj

ai .

j

1

i 1

Задана матрица T [tij ]m n , где tij

– время, необходимое для пере-

возки груза из пункта i в пункт j.

Необходимо выбрать среди допустимых такой план X [xij ]m,n , что

m

 

 

 

 

 

xij

bj ,

j

 

1, n

i 1

 

 

 

 

 

n

 

 

 

 

 

xij

ai ,

i

1, m

j1

игрузы будут доставляться по этому плану за минимальное время Tmin .

Каждому допустимому плану X [xij ]m,n соответствует некоторый

набор tij

, состоящий из элементов матрицы T [tij ]m

n , соответст-

 

X

 

вующих положительным компонентам xij плана X , т. е.

tij включает-

ся в набор, если производится перевозка из пункта i в пункт j.

Время tX , необходимое для выполнения плана X , определяется следующим образом:

tX max{tij }X .

Тогда время, необходимое для реализации оптимального плана X * :

tX *

min tX

min(max{tij }X ) .

 

X

X

Алгоритм отыскания оптимального решения. Данный алгоритм состоит из двух этапов.

1.Предварительный шаг. Строим допустимый план по методу се- веро-западного угла или минимального элемента X0 .

2.Общий шаг. Просматриваем все tij , соответствующие положи-

тельным xij , и выбираем из них наибольшее

128

 

 

tij

max{tij }

 

 

 

 

 

 

xij

0

 

 

 

и вычеркиваем все клетки, для которых tij

tij ,

xij

0 .

Далее исправляем план

X0 , для чего стремимся обратить в 0 пере-

возку xij , соответствующую tij

max{tij } (в той же клетке). Если это

 

 

 

xij

0

 

 

 

удается, то, естественно, уменьшается время, необходимое на реализа-

цию нового допустимого плана X1 . Для построения плана X1 строится

цикл, как и в методе потенциалов.

 

 

 

 

В качестве первой клетки отрицательной полуцепи берем клетку с

tij , в качестве остальных – клетки с xij >0, клетками положительной

полуцепи считаем клетки с tij

tij .

 

 

 

 

Затем перемещаем минимальный элемент

отрицательной полу-

цепи в положительную. Если удается обратить

xij

в 0, то реализация

нового плана требует меньшего времени.

 

 

 

Общий шаг продолжаем повторять до тех пор, пока не станет не-

возможным обращение в 0 всей перевозки xij из клетки с максималь-

ным временем tij .

 

 

 

 

 

 

 

Пример 1

 

 

 

 

 

 

 

ai

7

 

13

 

9

 

11

 

 

 

 

10

 

8

 

10

 

8

2

7

 

3

 

 

 

 

 

 

 

 

 

 

18

 

12

 

7

 

3

1

 

 

10

 

8

 

 

 

 

 

 

 

 

12

 

5

 

8

 

1

6

 

 

 

 

1

 

11

 

 

 

 

 

 

ai

 

 

 

 

 

b j

 

7

 

 

13

 

 

9

11

 

 

 

 

 

10

 

8

 

 

10

 

8

2

7

 

 

×

 

 

×

3

 

 

 

 

 

18

12

7

 

3

1

×

 

 

13

 

 

5

 

 

 

 

 

 

 

12

5

 

4

 

1

6

 

 

 

 

 

 

4

8

 

 

 

 

 

 

 

129