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

Модели оптимизации. Математическое программирование, исследование операций. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
997 Кб
Скачать

После подстановки λ = 50 новый план перевозок будет выглядеть следующим образом.

 

 

Потребитель

 

В1

В2

В3

В4

Поставщик

 

 

80

90

130

70

 

 

 

 

 

 

 

 

А1

 

50

 

50 4

2

9

7

А2

 

170

 

8

90 1

10 12

70 1

А3

 

150

 

30 3

4

120 6

2

Целевая функция будет равна

 

 

 

 

 

L = 50 × 4 + 90 ×1 +10 ×12 + 70 ×1 + 30 ×3 +120 ×5 = 1290 .

(2.36)

По сравнению с исходным планом, полученным методом минимального элемента, за одну итерацию метода потенциалов удалось сократить стоимость перевозок с 1390 до 1290 ед.

Проверим полученный план перевозок на оптимальность. По аналогии с (2.32) запишем:

x11 = 50

x12 = 0

x13 = 0

x14 = 0 ;

 

x21

= 0

x22

= 90

x23

= 10

x24

= 70 ;

(2.37)

x31

= 30

x32

= 0

x33

= 120

x34

= 0 .

 

По аналогии с (2.33) распишем базовые стоимости через потенциалы:

c11 = u1 + v1 = 4 ,

 

c22 = u2 + v2 = 1,

 

c23 = u2 + v3 = 12 ,

 

c24 = u2 + v4 = 1,

(2.38)

c31 = u3 + v1 = 3,

 

c33 = u3 + v3 = 6 .

 

Вновь зададим потенциал u1 = 1 и найдем из уравнений (2.38)

остальные потенциалы: v3=6, u3=0, v1=3, u2=6, v2= –5, v4= –5.

91

Косвенные стоимости (по аналогии с (2.34)) будут равны:

c1

 

= u + v

2

 

= −4 ;

 

12

 

 

1

 

 

 

 

 

c1

 

= u + v

3

= 7 ;

 

13

 

 

1

 

 

 

 

 

c1

 

= u + v

4

 

= −4 ;

(2.39)

14

 

 

1

 

 

 

 

 

c1

 

= u

2

+ v = 9 ;

 

21

 

 

 

 

 

 

1

 

c1

 

= u

3

+ v

2

= −5;

 

32

 

 

 

 

 

 

 

 

c1

 

= u

3

+ v

4

= −5.

 

34

 

 

 

 

 

 

 

 

Рассчитаем γpq по (2.31), (2.38) и (2.39):

 

γ12 = 2 − (−4) = 6;

 

γ13

= 9 − 7 = 2 ;

 

γ14

= 9 − (−4) = 13;

(2.40)

γ21 = 8 − 9 = −1;

γ32 = 5 − (−5) = 10 ;

γ34 = 2 − (−5) = 7 .

На этой итерации лишь один из коэффициентов (γ21) оказался отрицательным. Можно улучшить план, увеличив объем перевозки от второго поставщика первому потребителю, то есть увеличив значение в клетке (2;1). Увеличим x21 на λ = 10.

Получим цикл пересчета.

 

Потребитель

В1

В2

В3

В4

Поставщик

 

80

0

130

70

 

 

 

 

 

 

А1

50

50 4

2

9

7

А2

170

λ 8

90 1

10– λ12

70 1

А3

150

30– λ 3

4

120+λ 6

2

 

Остаток

 

 

 

 

 

 

 

 

 

 

Пересчитав значения в соответствующих ячейках, получим новый план перевозок.

92

 

Потребитель

В1

В2

В3

В4

Поставщик

 

80

90

130

70

 

 

 

 

 

 

А1

50

50 4

2

9

7

А2

170

10 8

90 1

0 12

70 1

А3

150

20 3

4

130 6

2

Значение целевой функции при новом плане:

L = 50 × 4 + 90 ×1 +10 ×8 + 70 ×1 + 20 ×3 +130 × 6 = 1280 . (2.41)

Сравнивая значение (2.25) и (2.36), видим, что значение целевой функции вновь улучшилось. Проверим его на оптимальность:

x11 = 50 x12 = 0

x13 = 0

x14 = 0 ;

 

x21 = 10

x22

= 90

x23

= 0

x24

= 70 ;

(2.42)

x31 = 20

x32

= 0

x33

= 130

x34

= 0 .

 

Базовые стоимости:

 

 

 

 

 

 

 

 

c11 = u1 + v1 = 4 ;

 

 

 

 

c21 = u2 + v1 = 8;

 

 

 

 

c22 = u2 + v2 = 1;

 

 

 

 

c24

= u2 + v4 = 1;

 

(2.43)

 

 

c31 = u3 + v1 = 3;

 

 

 

 

c33 = u3 + v3 = 6 .

 

 

Пусть u1 = 1, тогда v1 = 3,

u3 = 0 , v3

= 6 ,

u2 = 5 , v2 = −4 , v4

= −4 .

Косвенные стоимости:

c121

c131

c141

c123

c321

c341

= u1

+ v2

= −3;

 

= u1 + v3

= 7 ;

 

= u1

+ v4

= −3;

(2.44)

=u2 + v3 = 11;

=u3 + v2 = −4;

=u3 + v4 = −4.

93

Найдём γpq по формуле (2.31) с учетом (2.43), (2.44):

γ12 = 2 − (−3) = 5;

γ13 = 9 − 7 = 2 ;

γ14

= 7 − (−3) = 10;

(2.45)

γ 23 = 12 −11 = 1;

 

γ 32

= 5 − (−4) = 9 ;

 

γ 34

= 2 − (−4) = 6 .

 

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

 

Потребитель

В1

В2

В3

 

В4

Поставщик

 

80

90

130

 

70

 

 

 

 

 

 

 

А1

50

50 4

2

9

 

7

А2

170

10 8

90 1

0 12

 

70 1

А3

150

20 3

4

130 6

 

2

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

 

 

 

 

 

L = 50 × 4 + 90 ×1 +10 ×8 + 70 ×1 + 20 ×3 +130 × 6 = 1280 .

(2.46)

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

2.6. МЕТОД МНОЖИТЕЛЕЙ ЛАГРАНЖА

Общая задача математического программирования может быть сформулирована следующим образом.

На заданной области G решений системы

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

 

 

;

 

(2.47)

1, k

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

 

;

(2.48)

k + 1, m

xi ³ 0 , i =

 

 

(2.49)

1, n

94

найти такое решение, при котором функция f (x) = f (x1 , x2 ,..., xm ) принимает наибольшее (наименьшее) значение, то есть

f (x) → max(min).

(2.50)

Общая задача математического программирования (2.47)–(2.50) является общей задачей выпуклого программирования, если функции f (x) и gi (x) являются выпуклыми. Область G в этом случае также будет выпуклой.

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

Большую роль в выпуклом программировании играет теорема Куна-Таккера, которая представляет собой обобщение классического метода множителей Лагранжа на случай, когда ограничения даны в виде неравенств (в классическом методе Лагранжа ограничения имеют вид равенств).

Теорема Куна-Таккера

 

Если в задаче выпуклого программирования

 

gi (x) ³ 0 , i =

 

 

;

(2.51)

1, m

x = (x1 , x2 ,..., xn ) ;

 

x j ³ 0, j =

 

;

(2.52)

1, n

f (x) → max

(2.53)

множество G допустимых решений регулярно, то точка x(0)

³ 0 то-

гда и только тогда будет решением этой задачи, когда существует λ(0) ³ 0 , что точка (x(0) , λ(0) ) является седловой точкой функции Лагранжа

F (x, λ) =

m

 

f (x) + λi gi (x) .

(2.54)

 

i=1

 

Замечание. Если функции gi (x) в (5) линейные, то теорема КунаТаккера верна и без условий регулярности множества G .

95

Если функции f (x) и gi (x) в задачах (2.51)–(2.53) дифференцируемы, то условия, определяющие седловую точку эквивалентны следующим локальным условиям Куна-Таккера:

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

0

 

 

F

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

£

0 ,

x

 

 

 

 

 

 

 

 

= 0

, x

 

³ 0 ,

j =1, n ;

(2.55)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x j

 

0

 

 

 

 

 

 

 

 

x j

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

λ

³

 

 

 

 

 

 

= 0

, λi

³ 0 ,

i = 1, m .

(2.56)

 

 

 

 

 

 

 

 

 

 

 

0, λi

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

0

 

 

 

 

 

 

 

 

 

 

j

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

значение соответствующих

частных

 

 

 

 

λ

 

 

Здесь

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j

 

0

 

 

 

 

 

i

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

производных в точке (x(0) , λ(0) ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задача. Составьте функцию Лагранжа и найдите ее седловую

точку для задачи выпуклого программирования:

 

 

 

 

 

 

f (x) = x

2

+ (x

2

- 5)2

® min;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- 5x2

£ -7;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ x2 ³ 15;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4x

+ 7x

 

 

£ 71;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

2

³ 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

³ 0;

x

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение этой задачи можно найти графически и получить

x(0) = (3,6).

Решение

Приведем данную задачу к виду (2.51)–(2.53):

f (x) = -x

2

- (x

2

- 5)2

® max;

 

 

 

1

 

 

 

 

 

 

 

- 7 ³ 0;

 

- 2x1 + 5x2

 

 

 

-15 ³ 0;

 

 

3x1 + x2

 

 

- 4x - 7x

 

+ 71 ³ 0;

 

 

1

 

 

2

 

 

 

 

x

³ 0;

x

2

³ 0.

 

 

 

1

 

 

 

 

 

 

 

Решение задачи при этом окажется неизменным.

96

Составим функцию Лагранжа:

F (x,λ) = −x2

(x

2

− 5)2 + λ (− 2x + 5x

2

− 7) +

1

 

 

 

 

1

 

1

 

 

+ λ2 (3x1 + x2 − 15) + λ3 (− 4x1 − 7x2 + 71).

Ее частные производные:

 

 

 

 

 

 

 

 

 

 

F = −2x − 2λ + 3λ − 4λ ;

 

 

 

x1

 

1

 

 

1

 

2

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

= −2(x − 5) + 5λ + λ − 7λ ;

 

 

 

 

x2

 

 

2

 

 

 

1

2

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

= −2x + 5x − 7;

 

 

 

 

 

 

 

 

 

 

 

 

 

∂λ1

 

1

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

= 3x + x

 

− 15;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

∂λ2

1

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

= −4x − 7x + 71.

 

 

 

 

 

 

 

 

 

 

 

∂λ3

 

1

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приравнивая полученные выражения к нулю, получим следующую систему уравнений:

− 2x1 − 2λ1 + 3λ2 − 4λ3 = 0;

− 2x

2

+ 5λ + λ

2

− 7λ

3

= −10;

 

 

 

 

 

1

 

 

− 2x1 + 5x2 = 7;

 

 

 

3x

+ x

 

= 15;

 

 

 

 

 

1

 

 

 

2

 

 

 

 

 

 

 

 

 

− 7x2 = −71.

 

 

− 4x1

 

 

Так как x(0) = (3,6), то получим систему уравнений для неизвестных λ1 , λ2 , λ3 :

− 2λ(0 ) + 3λ(0 )

− 4λ(0 ) = 6;

 

 

 

1

2

 

3

 

 

 

 

 

 

 

1(0 ) + λ(20 ) − 7λ(30 ) = 2;

 

 

(0 )

= 0;

 

 

 

 

λ1

 

 

 

 

 

(0 )

= 0.

 

 

 

 

λ3

 

 

 

 

Из этой системы

получим λ(0)

= 0 , λ(0) = 2 ,

λ(0 ) = 0, то есть

 

 

 

 

1

2

3

λ1 = (0;2;0), а искомая седловая точка функции Лагранжа

(x(0) (0) ) = (3;6;0;2;0).

97

Подставив полученное значение в функцию Лагранжа F (x,λ) сначала значение λ(0) , а затем x(0) , и наконец (x(0) (0) ) получим после соответствующих вычислений и преобразований.

F (x(0) ) = -10 - [(x1 - 3)2 + (x2 - 6)2 ];

F (x(0) ) = -10 +17(λ1 + λ2 );

F (x0 (0) ) = -10 .

Откуда видно, что условие седловой точки

F (x(0) )£ F (x(0) (0) )£ F (x(0 ) )

выполняется для точки (x(0) (0) ).

Задача (расчет экономико-математической модели при нелинейных затратах на производство)

Фирма реализует автомобили двумя способами: через магазин и

через торговых агентов. При реализации x1

автомобилей через мага-

зин расходы на реализацию составляют 4x

+ x2

усл. ед., а при про-

1

1

 

даже x2 автомобилей через торговых агентов x22 усл. ед.

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

Решение. Составим математическую модель задачи. Целью является минимизация суммарных расходов:

f (x) = 4x

+ x2

+ x2

® min .

 

1

 

1

2

 

 

Управляющие переменные –

это число автомобилей, реализуе-

мых первым и вторым способом ( x1 и x2

соответственно), всего 200

машин.

 

 

 

 

 

x1 + x2

= 200;

 

 

x1 ³ 0;

x2

³ 0.

 

 

Оптимальная математическая модель имеет вид

 

f (x) = 4x

+ x2

+ x2

® min

(2.57)

1

 

1

2

 

 

98

x

+ x

 

= 200;

1

 

2

(2.58)

x1

³ 0;

x2 ³ 0.

Для ее расчета применим метод множителей Лагранжа. Составим функцию Лагранжа:

 

 

F (x , x

,λ) = 4x

+ x2

+ x2 + λ(200 - x

- x

2

).

 

 

1

2

 

1

 

1

2

1

 

 

Найдем частные производные F по x1 ,

x2 , λ и приравняем их к

нулю. Получим следующую систему:

 

 

 

 

 

 

 

 

F = 2x + 4 - λ = 0;

 

 

 

 

 

 

 

 

x

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

F

= 2x2 - λ = 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2.59)

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

= 200 - x1 - x2

= 0.

 

 

 

 

 

 

 

 

λ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решим систему

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x1 + 4 - λ = 0;

 

 

 

 

 

 

 

 

 

- λ = 0;

 

 

 

(2.60)

 

 

 

 

2x2

 

 

 

 

 

 

 

 

 

 

- x2 = 0.

 

 

 

 

 

 

 

 

200 - x1

 

 

 

 

Вычитая второе уравнения системы из первого, получим

 

 

 

 

 

2x1 - 2x2 + 4 = 0;

 

 

 

 

 

 

 

 

 

 

+ x2

= 220.

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

x

- x

 

= -2;

 

 

 

 

 

 

 

 

 

1

 

2

 

 

 

 

 

 

 

 

 

 

x1 + x2 = 220.

 

 

 

 

Откуда получим следующее:

 

 

 

 

 

 

 

 

 

 

2x1 = 198 , x1

= 99 , x2 = 101;

 

 

 

 

 

 

2x2 − λ = 0, λ = 2x2 , λ = 202;

 

 

 

f (x , x

2

) = 4 × 99 + 992

+1012 = 396 + 9801 +10201 = 20398 усл. ед.

1

 

 

 

 

 

 

 

 

 

 

 

 

Таким образом, для получения минимальных расходов нужно реализовать 99 автомобилей через магазин и 101 автомобиль через тор-

99

говых агентов.

При

этом

 

расходы на реализацию составят

20398 усл. ед.

 

 

 

 

 

 

Задача. Найдите условный экстремум функции f = x1 x2 + x2 x3

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

x

+ x

 

= 2;

Требуется идентифицировать точку

1

 

2

=

 

 

x2

+ x3

2.

 

экстремума.

Решение. Составим функцию Лагранжа:

F (x1 , x2 , x3 1 2 ) = x1 x2 + x2 x3 + λ1 (x1 + x2 − 2) + λ2 (x2 + x3 − 2)

и продифференцируем ее по переменным x1 , x2 , x3 , λ1 , λ2 . Приравнивая полученные выражения к нулю, получаем следующую систему уравнений:

 

F = x

 

+ λ ;

 

 

 

 

 

 

 

x

 

 

 

 

2

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

= x + x + λ

+ λ

;

x2 + λ1 = 0;

 

 

x2

 

 

 

 

1

3

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ x3 + λ1 + λ2 = 0;

 

F

 

 

 

 

 

 

 

 

x1

 

= x2

+ λ2 ;

 

 

 

 

+ λ2 = 0;

 

 

 

 

 

 

 

x2

 

x

 

 

 

 

3

 

 

 

 

 

 

 

 

x

 

+ x − 2 = 0;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

F

 

= x2

+ x1 − 2;

 

 

1

 

 

 

 

 

 

 

 

x

2

+ x − 2 = 0.

 

 

 

 

 

 

 

∂λ1

 

 

 

 

 

 

 

 

 

3

 

 

F

 

= x2 + x3 − 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

∂λ2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Из первого и третьего уравнения следует, что λ1

= λ2 = −x2 ,

x

 

− 2x

 

 

+ x

= 0;

 

 

 

 

 

 

 

1

 

 

 

2

3

 

 

 

 

 

 

 

x2 + x1 = 2;

 

 

 

 

 

 

 

x

2

+ x = 2.

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

Решая данную систему, находим x1 = x2 = x3 = 1,

f = 2 .

Определим характер экстремума, изменяя полученные значения переменных. Измененные значения должны удовлетворять заданной системе ограничений. Например, пусть x1 = 0, x2 = 2, x3 = 0, тогда

100

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]