Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Полшков Ю.Н. Курс лекций по ОММ.doc
Скачиваний:
16
Добавлен:
29.04.2019
Размер:
4.79 Mб
Скачать

Лекция 10. Нахождение оптимального решения транспортной задачи

План

1. Метод потенциалов и его алгоритм.

2. Практические способы реализации метода потенциалов.

1. Для решения транспортной задачи удобно использовать метод потенциалов.

Теорема (оптимальности решения транспортной задачи). Решение

u

i

транспортной задачи будет оптимальным, если найдутся такие числа *

v

j

( i = 1, m ) и

* ( j = 1, n ), называемые соответственно потенциалами поставщи-

ков и потребителей, которые будут удовлетворять условиям:

j

i

u * + v *

* *

= cij

для

xij

*

*

> 0 ;

ui + v j

cij

для

xij

= 0 .

Потенциалы это двойственные оценки исходной транспортной задачи

(1)-(3) (см. предыдущую лекцию). Здесь ui

( i = 1, m ) оценка единицы запаса

(потенциал поставщика), v j

( j = 1, n )– оценка единицы спроса (потенциал по-

требителя). Потенциалы могут быть числами любого знака.

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

Приведём алгоритм решения закрытой транспортной задачи методом по-

тенциалов.

1) Составляем начальный опорный план методом минимальной стоимо-

сти. Рассчитываем значение целевой функции.

2) Проверяем опорный план на оптимальность следующими действиями.

2.1) Используя заполненные клетки транспортной таблицы, рассчитаем

потенциалы по формуле ui + v j = cij , полагая u1 = 0 .

2.2) В незаполненные клетки помещаем оценки оптимальности

δij = ui + v j cij . Если для всех незаполненных клеток

δij 0 , то опорный план

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

δij > 0 , то алгоритм продолжается.

2.3) Клетку с наибольшей положительной оценкой

δij

считают перспек-

тивной. К перспективной клетке строится цикл. Перспективной клетке соот-

ветствует величина перераспределения груза

+ ρ . В остальных вершинах

цикла знаки чередуются

ρ , + ρ

и т.д. Величину перераспределения вычисля-

ем по формуле

ρ = min xij , где

xij

– объёмы перевозки, записанные в вершинах

цикла и отмеченные

ρ , т.е. уменьшаемые объёмы перевозок.

2.4) Перераспределяем груз в объёме ρ по циклу. Получаем новый опор-

ный план. Проверяем его на оптимальность, т.е. переходим к пункту 2.1) алго-

ритма.

Замечание. После нахождения оптимального плана рассуждают следую-

щим образом. Если все оценки незаполненных клеток

план единственный. Если же для некоторых из них

δij < 0 , то оптимальный

δij = 0 , то оптимальный

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

Пусть транспортная задача имеет k оптимальных планов

X1 , X 2 ,..., X k .

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

*

Х = λ1 Х1 + λ2 Х 2 + ... + λk Х k ,

где

λ1 + λ2 + ... + λk

= 1,

λ1 0, λ2 0,..., λk

0 .

При наличии двух оптимальных планов пользуются записью:

*

где 0 λ 1.

Х = λ Х1 + (1 λ ) Х 2 ,

2. Применим описанный алгоритм к решению конкретной транспортной задачи.

Пример 1. Табл. 1 (см. предыдущую лекцию) содержит запасы постав-

щиков (т), потребности потребителей (т) и тарифы перевозок единицы товара

(тыс. грн.). Требуется решить транспортную задачу.

Табл. 1. Условие транспортной задачи

b j 15 15 16 18

ai

4 1 2 1

20

4 6 3 2

30

5 2 1 4

10

Решение. Вводим фиктивного поставщика (табл. 2).

Табл. 2. Транспортная таблица с фиктивным поставщиком

b j 15 15 16 18

ai

4 1 2 1

20

4 6 3 2

30

5 2 1 4

10

0 0 0 0

4

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

1) Составляем начальный опорный план методом минимальной стоимо-

сти (табл. 3). Рассчитываем значение целевой функции.

Табл. 3. Начальный опорный план

b j 15 15 16 18

ai

4 1 2 1

20 15 5

4 6 3 2

30 1 16 13

5 2 1 4

10 10

4 4

0 0 0 0

Итак,

0 15 0 5

1 0 16 13

X =

1 10 0 0 0

4 0 0 0

и Z ( X1 ) = 148

(тыс. грн.).

2) Проверяем опорный план

X1 на оптимальность.

2.1) Используя заполненные клетки табл. 3, рассчитываем потенциалы по

формуле ui + v j = cij , полагая u1 = 0 :

u1 + v2 = 1, u1 = 0 v2 = 1

u1 + v4 = 1 v4 = 1

u2 + v4 = 2 u2 = 1

u2 + v1 = 4 v1 = 3

u + v = 3 v = 2

2 3 3

u4 1 4

u3 + v1 = 5 u3 = 2

+ v = 0 u = 3

Добавляем в табл. 3 строку и столбец, и записываем в них потенциалы

(табл. 4).

2.2) В незаполненные клетки табл. 4 помещаем оценки оптимальности

δij = ui + v j cij , выделяя их квадратными скобками. Т.к. имеются незаполнен-

ные клетки с δij > 0 , то алгоритм продолжается.

Табл. 4. Начальный опорный план с потенциалами

b j 15 15 16 18

ai

4 1 2 1

ui

u1 = 0

20 [–1] 15 [0] 5

4 6 3 2

30 1 [–4] 16 13

5 2 1 4

10 10 [1] [3] [–1]

0 0 0 0

4 4 [–2] [–1] [–2]

u2 = 1

u3 = 2

u4 = 3

v j v1 = 3

v2 = 1

v3 = 2

v4 = 1

2.3) Клетка (3,3) с наибольшей положительной оценкой перспективной. К перспективной клетке строится цикл (рис. 1):

[(3,3); (3,1); (2,1); (2,3); (3,3)].

δ33 = 3

является

1 + ρ

16 ρ

10 − ρ + ρ

Рис. 1. Цикл перераспределения груза

Циклом, или замкнутым контуром, называется последовательность клеток таблицы, соединённых замкнутой ломаной линией без самопересечений. Количество вершин в цикле всегда чётно и повороты линий производятся толь- ко под прямым углом.

Для нашего цикла

ρ = min{10,16} = 10 .

2.4) Перераспределяем груз в объёме вый опорный план:

ρ = 10

(т) по циклу. Получаем но-

0 15 0 5

11 0 6 13

X = .

2 0 0 10 0

4 0 0 0

Теперь

Z ( X 2 ) = 118

(тыс. грн.).

Проверяем опорный план

X 2 на оптимальность, т.е. переходим к пункту

2.1) алгоритма. Считаем потенциалы и заносим в табл. 5. В незаполненные клетки помещаем оценки оптимальности.

Табл. 5. Второй опорный план с потенциалами

b j 15 15 16 18

ai

4 1 2 1

ui

u1 = 0

20 [–1] 15 [0] 5

4 6 3 2

30 11 [–4] 6 13

5 2 1 4

10 [–3] [–2] 10 [–4]

0 0 0 0

4 4 [–2] [–1] [–2]

u2 = 1

u3 = 1

u4 = 3

v j v1 = 3

v2 = 1

v3 = 2

v4 = 1

Т.к. для всех незаполненных клеток δij 0 , то опорный план

X 2 является

оптимальным и

Zmin = 118

(тыс. грн.).

Незаполненная клетка (1,3) имеет оценку оптимальности δij = 0 . Поэтому

оптимальный план

X 2 не единственный. К этой клетке строится цикл: [(1,3); (1,4); (2,4); (2,3); (1,3)].

Перераспределяем груз в объёме

новый оптимальный план

ρ = min{5, 6} = 5

(т) по циклу. Получаем

для которого

Zmin = 118

0 15 5 0

11 0 1 18

X = ,

3 0 0 10 0

4 0 0 0

(тыс. грн.).

на:

Удаляем из задачи фиктивного поставщика. Имеем два оптимальных пла-

0 15 0 5

X * = 11 0 6 13 ;

0 15 5 0

X * = 11 0 1 18 .

1

0 0 10 0

2

0 0 10 0

Общее оптимальное решение:

0 15 5 5λ

5λ

Х * = λ Х * + (1 λ ) Х

* = 11 0 1 + 5λ

18 5λ ,

1 2

0 0 10 0

где 0 λ 1. Причём

Zmin = 118

(тыс. грн.).

Лекция 11. ЗАДАЧИ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

План

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

2. Графический метод решения задач нелинейного программирования.

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

Пример 1. Предприятие выпускает два вида продукции

P1 и

P2 , на кото-

рые расходует три вида ресурсов

S1 , S2

и S3 (табл. 1).

С учётом брака расход ресурсов на единицу выпуска продукции состав-

ляет

aij

+ kij x j

( i = 1, 3 ;

j = 1, 2 ). Конкуренция и насыщение рынка продукцией

приводит к снижению дохода от реализации одной единицы, т.е.

c j l j x j .

Табл. 1. Данные задачи

Ресурс

Расход ресурса на вы-

пуск ед. прод.

Коэфф. увеличения рас-

хода ресурса на ед. прод.

Запас ресурса

P1

P2

P1

P2

S1

a11

a12

k11

k12

b1

S2

a21

a22

k21

k22

b2

S3

a31

a32

k31

k32

b3

Цена реа-

лиз. ед.

прод. (грн.)

c1

c2

Коэфф.

снижения цены

l1

l2

Количество

продукции

(ед.)

x1

x2

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

Решение. Пусть Z – общий доход от реализации (грн.), тогда целевая функция имеет вид:

Z = (c1 l1 x1 ) x1 + (c2 l2 x2 ) x2 max . (1)

Запишем ограничения задачи:

(a21 21 1 1 22 22 2 2 2

(a11 + k11 x1 ) x1 + (a12 + k12 x2 ) x2 b1

31 31 1 1 32 32 2 2 3

+ k x ) x + (a + k x ) x b

(a + k x ) x + (a + k x ) x b

Объёмы производства должны быть неотрицательными:

(2)

x j 0

( j = 1, 2 ). (3)

Рассмотрение примера окончено.

В общем виде задача нелинеJGйного программирования состоит в отыска-

нии такого вектора неизвестных

X = ( x1; x2 ;...; xn ) , который бы приводил целе-

вую функцию к экстремальному значению:

Z = F ( x1 , x2 ,..., xn ) max (min) . (4)

Система ограничений может содержать как неравенства, так и равенства:

gi ( x1 , x2 ,..., xn ) bi

gi ( x1 , x2 ,..., xn ) = bi

(i = 1, m1 )

(i = m1 + 1, m)

(5)

Среди искомых переменных могут быть отрицательные:

x j 0

( j = 1, n1 ); x j < 0

( j = n1 + 1, n ). (6)

Задачу (4)-(6) называют математической моделью задачи нелинейного

программирования (НЛП), если хотя бы одна из функций F или gi

( i = 1, m )

является нелинейной. Для решения задач НЛП общего метода нет и они реша-

ются сложнее, чем задачи линейной оптимизации.

2. Если задача НЛП имеет две искомые переменные, то её можно решить гра-

фическим методом.

Пример 2. Предприятие выпускает два вида продукции

P1 и

P2 , на кото-

рые расходует три вида ресурсов

S1 , S2

и S3 (табл. 2).

Табл. 2. Данные задачи

Ресурс

Расход ресурса на выпуск единицы

продукции aij ( i = 1, 3 ; j = 1, 2 )

Запас ре-

сурса bi

P1

P2

S1

4

6

450

S2

2

2

160

S3

3

2

210

Цена реализ. ед. прод.

c j (тыс. грн.)

100

140

Коэфф. снижения це-

ны l j

1

1

Количество продук-

ции x j (ед.)

x

x

1 2

Кризисные явления, конкуренция и насыщение рынка данной продукцией приводит к снижению дохода от реализации одной единицы по формуле

c j l j x j . Требуется найти такой план выпуска продукции, который бы макси-

мизировал общий доход от её реализации.

Решение. Пусть Z – общий доход от реализации (тыс. грн.). Составим математическую модель задачи НЛП.

Z = (100 x1 ) x1 + (140 x2 ) x2 max , (7)

4x1 + 6 x2 450

1 2

2x1 + 2x2 160

3x + 2x 210

(8)

x j 0

( j = 1, 2 ). (9)

ОДР (8)-(9) это многоугольник OABCD (рис. 1) с вершинами

O(0; 0) ,

A(0; 75) ,

B(15; 65) , C (50;30) и

D(70; 0) .

Рис. 1. Иллюстрация графического метода решения

Преобразуем целевую функцию (7):

2 2

Z = 100x1 x1

+ 140 x2 x2 ;

2 2

Z = ( x1

100 x1 + 2500) 2500 + ( x2

140x2 + 4900) 4900 ;

2

7400 Z = ( x1 50)

2 + ( x 70)2 ;

( )2 2 2

7400 Z

= ( x1 50)

+ ( x2 70) .

Получено уравнение окружности с центром

O1 (50; 70)

и переменным ра-

диусом R =

7400 Z . Т.к.

R 0 , то границы изменения целевой функции:

0 Z 7400 . Чем меньше радиус окружности, тем больше значение целевой

функции.

Рассмотрим окружность с нулевым радиусом

02 = ( x

50)2 + ( x

70)2 ,

т.е. точку

1 2

O1 (50; 70) . Эта точка лежит вне ОДР и не может быть решением. По-

немногу увеличивая радиус, будем приближать окружность к ОДР. Точка пер-

вого касания окружности и ОДР будет оптимальным планом, максимизирую-

щим целевую функцию. Назовём эту точку

E( x1; x2 ) . Видно, что она принадле-

жит прямой

2x1 + 2 x2 = 160

( x1 + x2 = 80 ) или

x2 = x1 + 80 .

Точка

E ( x1; x2 )

будет также принадлежать окружности

2

7400 Z = ( x1 50)

2 + ( x 70)2

. Выразим вертикальную координату

2 2

x2 :

( x2 70)

= 7400 Z ( x1 50) ;

2

x2 70 = ±

7400 Z ( x1 50) .

Т.к. точка

E ( x1 ; x2 )

принадлежит нижней части окружности, то перед кор-

нем следует оставить только знак «минус»:

2

x2 =

7400 Z ( x1 50)

+ 70 .

Получены две функции – прямая

2

x2 = x1 + 80

и полуокружность

x2 =

7400 Z ( x1 50)

+ 70 , графики которых имеют общую точку

E ( x1 ; x2 ) . Это точка касания. Поэтому угловые коэффициенты касательных

k1 и

k2 совпадают. Вычислим их, воспользовавшись геометрическим смыслом про-

изводной:

k = ( x + 80)/ = 1;

1 1 x

2

1

k2 = (

7400 Z ( x1 50)

/

)

+ 70

x1

= 2( x1 50)

2

2 7400 Z ( x1 50)

Составим систему трёх уравнений с тремя неизвестными решим её:

x1 ,

x2 и Z , и

x2 = x1 + 80

x2 = x1 + 80

x =−

7400 − Z − ( x

− 50)2 + 70

x = −

7400 − Z − ( x

− 50)2 + 70

2 1

2 1

( x1 − 50)

= −1

− 7400 − Z − ( x

− 50)2 = x

− 50

7400 Z ( x1

1 1

50)2

2 1

x = x + 80

x2 = x1 50 + 70

x + 20 = x + 80

1 1

x2 = x1 + 20

7400 Z ( x

50)2 = x

50

7400 Z ( x

50)2 = x

50

1 1

1

x = 30

x2 = x1 + 20

1 1

x1 = 30

x2 = 50

− 7400 − Z − ( x

− 50)2 = x

− 50

Z = 6600

Откуда получим

1 1

E (30;50) .

1

2

Ответ: Оптимальный план выпуска продукции

x * = 30

(ед.) и

x * = 50

(ед.), при котором

Zmax

= 6600 (тыс. грн.).

Решённая задача позволяет выработать общий подход в том случае, когда оптимальное решение находится на границе ОДР, но не в угловой точке.

Пусть график целевой функции

x2 =

f ( x1, Z )

касается графика ограниче-

ния

x2 = g ( x1 ) . Следовательно, они имеют общую точку, координаты которой

можно найти, решив систему уравнений:

x2 =

f ( x1, Z )

x2 = g ( x1 )

[ f ( x , Z )]/

= [ g ( x )]/

1 x 1 x

1 1

Замечание 1. Если бы задача НЛП (7)-(9) была задачей на минимум, т.е.

Z min , то её оптимальным планом оказалась бы угловая точка ОДР

O(0; 0) .

Этот факт отражён на рис. 1 (окружность большего радиуса достигает начала координат).

Наиболее распространёнными среди задач НЛП экономической направ-

ленности являются задачи квадратичного программирования. В таких зада- чах целевая функция является кривой второго порядка: окружностью, эллип- сом, гиперболой или параболой. Левые части ограничений – линейные функ- ции. При необходимости налагается условие не отрицательности. Пример 2 – типичная задача квадратичного программирования.

Домашнее задание. Повторить из курса высшей математики кривые вто-

рого порядка.