Мастяева И.Н. Исследование операций в экономике
.pdfМетод Зойтендейка.
Пусть требуется найти максимальное значение вогнутой функции
f (x ) :
f (x ) → max
при условиях
A |
|
|
≤ |
|
|
|
|
|||
x |
b |
(5.7) |
||||||||
P = |
|
|
|
|
|
|
|
|
||
x ≥ 0 |
||||||||||
|
|
Характерной особенностью этой задачи является то, что ее система ограничений содержит только линейные неравенства.
Предположим также для любой допустимой точки x, что A1 x = b1
и A2 x < b2 , где A = (A1, A2 ) и b = (b1,b2 ) . Далее приводится алгоритм метода Зойтендейка для случая линейных ограничений.
Алгоритм метода Зойтендейка.
Начальный этап. Выбрать начальную точку x 0 P , для которой
A =(A1, A2),b =(b1,b2),
A1 : A1 x 0 = b1, A2 : A2 x 0 < b2 .
Положить k=0. Основной этап.
Шаг 1. Для x k P предполагаем, что A =(A1k ,A2k ),
b =(b1k ,bk2 ), A1 xk =b1, A2 xk <b2 .
Шаг 2. Определить возможное направление подъема, решая следующую задачу:
ϕ( |
S |
) =( f ( |
x |
k ), |
S |
) →max |
(5.8) |
|||||||||||||||
при условиях: |
|
|||||||||||||||||||||
|
|
Pk ={S |
: |
|
En,A1 |
|
|
≤0, |
|
|||||||||||||
|
|
S |
S |
(5.9) |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
−1≤S j ≤1, j =1,n} |
||||||||||||||||||||
|
|
|
||||||||||||||||||||
Шаг 3. Если все ϕ( |
|
) =( f ( |
|
k ), |
|
k ) =0, то |
|
* = |
|
k - задача решена. |
||||||||||||
S |
x |
S |
||||||||||||||||||||
x |
x |
|||||||||||||||||||||
Шаг 4. Определить βk (шаг в направлении |
S k ), решая задачу |
одномерной оптимизации:
f (x k + βS k ) → max 0 ≤ β ≤ β* .
111
Шаг 5. Положить x k +1 = x k + βk S k , заменить k на k+1 и перейти к
шагу 1. Пример.
f (x) = 4x1 + 6x2 + 2x1 x2 − 2x12 − 2x2 2 → max
x1 + x2 ≤ 2
x1 +5x2 ≤ 5− x1 ≤ 0
− x2 ≤ 0
Начальный этап. |
|
|
|
|
|
|
|
||||
Выбираем начальную точку x0 |
= (0,0) , для которой: |
||||||||||
−1 |
0 |
|
|
|
0 |
1 |
1 |
|
|
|
2 |
|
|
||||||||||
A10 = |
,b10 |
= |
, A20 |
= |
,b20 = |
. |
|||||
|
|
|
|
|
|
|
|
|
|
||
0 |
−1 |
|
0 |
1 |
5 |
|
|
|
5 |
f (x) = (4 + 2x2 − 4x1 ,6 + 2x1 − 4x2 ) , положить k=0.
Основной этап. Итерация 1.
Шаг 1. Для x0 = (0,0) заданы A10 ,b10 , A20 ,b20 .
Шаг 2. f (x0 ) = (4,6) .
Решаем задачу
ϕ(S) =( f (x0 ),S) =4S1 +6S2 →max
при условиях
− S1 ≤ 0
− S2 ≤ 0
−1 ≤ S1 ≤1
−1 ≤ S2 ≤1
При решении этой задачи получаем S0 = (1,1),ϕ(S0 ) =10. Шаг 3. Так как ϕ(S0 ) =10 ≠ 0 , переходим к шагу 4. Шаг 4. Решаем одномерную задачу:
f (x0 + βS 0 ) =10 − 2β 2 → max
0≤β≤β*
Определяем β* :
β* = min 2 , 5 = 5 ,
2 6 6
т.е. решаем задачу:
10 − 2β 2 → max
0 ≤ β ≤ 65
Очевидно, что решением является β0 = 56 .
Шаг 5. Положить x 1 = x 0 + β0 S 0 = (0,0) + 56 (1,1) = (56 , 56) . k=1 и перейти к шагу 1.
112
Итерация 2.
Шаг 1. Для |
|
1 |
= ( |
5 |
, |
|
5 |
) : A1 = (1 5) |
|
11 = (0) . |
||||||||||||||
x |
b |
|||||||||||||||||||||||
|
|
6 |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
||||||
Шаг 2. f ( |
|
1 ) |
= ( |
7 |
, |
|
13 |
). |
|
Решаем задачу |
||||||||||||||
x |
||||||||||||||||||||||||
3 |
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
7 |
S |
1 |
|
+ |
13 |
S |
2 |
→ max |
||||||||||
|
|
|
|
|
3 |
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
при условиях
S1 +5S 2 ≤ 0
−1 ≤ S1 ≤1
−1 ≤ S 2 ≤1
Решение этой ЗЛП - |
|
1 |
= (1, − |
1 |
); |
ϕ( |
|
1 ) = − |
|
22 |
. |
|
S |
S |
|||||||||||
5 |
15 |
|||||||||||
|
|
|
|
|
|
|
|
|
Шаг 3. Так как ϕ(S 1 ) = −1522 ≠ 0 , переходим к шагу 4. Шаг 4. Решаем задачу:
f ( |
|
1 + β |
|
|
1 ) = |
125 |
+ |
22 |
β − |
62 |
β2 |
→ max |
||||||||||||||||
x |
S |
|||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||
Определяем β* : |
8 |
|
15 |
|
|
25 |
|
0≤β≤β* |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
β |
* |
= min |
1/3 |
|
5 / 6 |
= |
5 |
, |
|
|
|
|
|
||||||||||||||
|
|
|
|
|
, |
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
4 /5 |
1/5 |
12 |
|
|
|
|
|
||||||||||||||||||
Таким образом, решая задачу |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
125 |
+ |
22 β |
|
− 62 |
|
β 2 |
→ |
max |
, |
|||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
8 |
|
|
|
15 |
|
25 |
|
|
|
|
|
|
0 ≤ β ≤ |
|
5 |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
получим оптимальное значение β : β1 =18655 .
Шаг 5. Положить:
x 2 = x1 + β1S1 = (3531, 2431) . K=2 и перейти к шагу 1. Итерация 3.
Шаг 1. Для |
|
2 |
= (35 |
, |
24 ) : A12 |
= (1 5) |
|
12 = (0). |
||||||
x |
b |
|||||||||||||
|
|
|
|
|
|
31 |
|
31 |
|
|
|
|
|
|
Шаг 2. f ( |
|
2 ) |
= ( |
32 , 160) |
|
|
|
|
||||||
x |
|
|
|
|
||||||||||
Решаем задачу |
|
31 |
|
31 |
|
|
|
|
|
|||||
|
32 S |
|
|
160 S |
|
|
|
|
||||||
|
|
|
|
|
|
1 |
+ |
2 |
→ max |
|||||
|
|
|
|
|
|
31 |
|
|
31 |
|
|
|
при условиях
S1 +5S2 ≤ 0
−1≤ S1 ≤1
−1≤ S2 ≤1.
113
Решение:
S 2 = (1; − 51). ϕ(S 2 ) = 0 .
Шаг 3. Так как ϕ(S 2 ) = 0 , задача решена и x * = x 3 = (3531, 2431). На рис. 5.4 проиллюстрирован процесс решения задачи.
x 2 |
|
1,0 |
g2 (x ) = 0 |
|
x 3 |
|
x 2 |
g1(x ) = 0
x1 0 |
Рис. 5.4 |
2,0 |
x1 |
Домашнее задание 5. 3.
Решить задачу нелинейного программирования методом Зойтендейка. Решение проверить графически.
1. 3x1 - 2x2 - 0.5x12 - x22 + x1x2 → max 2x1 + x2 ≤ 2
x1 + x2 ≤ 2 x1, x2 ≥ 0
2.3x1 - 2x2 - 0.5x12 - x22 + x1x2 → max x1 ≤ 3
x2 ≤ 6 x1, x2 ≥ 0
3.-4x1 + 8x2 - x12 – 1.5x22 + 2x1x2 → max x1 + x2 ≤ 3
x1 - x2 ≤ 1 x1, x2 ≥ 0
4.- 4x1 + 8x2 - x12 - 1.5x22 + 2x1x2 → max -x1 + x2 ≤ 1
x1 ≤ 4 x1, x2 ≥ 0
114
5. 3x1 - 2x2 - 0.5x12 - x22 + x1x2 → max -x1 + 2x2 ≤ 2
2 x1 - x2 ≤ 2 x1, x2 ≥ 0
6.- x1 + 6x2 - x12 - 3x22 - 3x1x2 → max x1 - x2 ≥ 0
x2 ≤ 5 x1, x2 ≥ 0
7.6x1 - x2 - 1.5x22 + 2x1x2 → max
-x1 + 2x2 ≤ 2 x1 ≤ 4
x1, x2 ≥ 0
8.6x1 + 4x2 - x12 - 0.5x22 - x1x2 → max x1 + 2x2 ≤ 2
-2 x1 + x2 ≤ 0 x1, x2 ≥ 0
9.6x1 + 4x2 - x12 – 0.5x22 - x1x2 → max 2x1 + x2 ≤ 2
x2 ≤ 1 x1, x2 ≥ 0
10.6x1 + 4x2 - x12 – 0.5x22 - x1x2 → max 3x1 + 2x2 ≤ 6
3x1 + x2 ≤ 3 x1, x2 ≥ 0
115
Литература.
1.К.А. Багриновский и В.М.Матюшок. Экономикоматематические методы и модели, М.: РУДН, 1999.
2.Васильков Ю.В., Василькова Н.Н. Компьютерные технологии вычислений в математическом моделировании. М.: ФиС, 1999.
3.Глухов В.В., Медников М.Д., Коробко С.Б. Математические методы и модели для менеджмента. СПб., Лань, 2000.
4.Глухов В.В., Медников М.Д., Коробко С.Б. Математические методы и модели в менеджменте. СПб., СПбГТУ, 2000.
5.Дубров А.М., Лагоша Б.А., Хрусталев Е.Ю. Моделирование рисковых ситуаций в экономике и бизнесе. М.: ФиС, 2000.
6.Замков О.О., Толстопятенко А.В., Черемных Ю. Н. Математические методы в экономике. М.: АО “ДИС”, 1997.
7.Исследование операций в экономике. Под редакцией Н.Ш.Кремера. М., ЮНИТИ, 1997.
8.Курицкий Б.Я. Поиск оптимальных решений средствами
EXCEL 7.0. СПб, BHV, 1997.
9.Математическая экономика на персональном компьютере. Под ред. М. Кубонина. М.: ФиС, 1991
10.Орлова И.В. Экономико-математические методы и модели.
Выполнение расчетов в среде EXCEL. М.: ЗАО ‘’Финстатинформ”, 2000.
11.Плис А.И., Сливина Н.А. Mathcad: математический практикум для экономистов и инженеров: учебное пособие. М.: ФиС, 1999.
12.Таха Х. Введение в исследование операций. М.: Мир, 1985.
13.В.М. Трояновский. Математическое моделирование в менеджменте. Русская деловая литература, 1999.
14.Хазанова Л.Е. Математическое моделирование в экономике.
М.: Бек, 1998.
15.Шелобаев С.И. Математические методы и модели в экономике, финансах, бизнесе. М.: ЮНИТИ, 2000.
16.Эддоус М., Стэнсфилд Р. Методы принятия решения. М.:
ЮНИТИ, 1997.
116