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

METODY_REShENIYa_ZNLP

.pdf
Скачиваний:
15
Добавлен:
30.05.2015
Размер:
1.12 Mб
Скачать

5. ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ЗНЛП

Численными методами называются методы решения математических задач, сводящиеся к выполнению конечного числа элементарных операций над числами. В качестве элементарных операций фигурируют арифметические действия, а также вспомогательные операции – записи промежуточных результатов, выборки из таблиц, файлов и т.д. В отличие от аналитических методов, решения, получаемые численными методами, как правило, являются приближенными, то есть не абсолютно точными, хотя в некоторых случаях могут достигаться и абсолютно точные решения. Численные методы рассчитаны на применение специальных вычислительных устройств (как правило, ЭВМ). Основными требованиями к численным методам являются требования устойчивости и сходимости. Численные методы называются устойчивыми, если результаты непрерывно зависят от входных данных задачи. Численные методы называются сходящимися, если результаты стремятся к точному решению задачи при стремлении параметров численных методов к определенным предельным значениям. Основным вопросом теории численных методов является получение численных методов, удовлетворяющих требованиям высокой точности, устойчивости и экономичности. Получение искомых решений при этом производится с помощью

алгоритмов.

5.1. Понятие алгоритма

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

(приближений к решению)

 

 

 

в соответствии с

x(0), x(1),

, x(k),

предписанным набором правил. Преобразование k-го приближения

 

 

x(k) в (k+1)-е приближение

x(k 1) представляет собой kите-

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

Алгоритм называется сходящимся на множестве S, если при про-

извольном начальном приближении x(0) S предел любой сходя-

51

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

 

 

 

, то есть

ритмом, равен истинному (точному) решению x

 

 

.

 

lim x(k) x

 

k

 

 

 

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

5.2. Классификация численных методов

Численные методы условно разбиваются на следующие классы:

1)методы нулевого порядка (не требуют использования производных функций, участвующих в задаче);

2)методы первого порядка (требуют использования производных первого порядка);

3)методы второго порядка (требуют использования производных второго и более высокого порядков).

5.3.Алгоритмы численных методов решения задач матема-

тического программирования

Рассмотрим несколько классических численных методов решения задач математического программирования (ЗМП) без ограничений

 

(5.1)

f (x) max (min) .3

Идеи, лежащие в основе этих методов, могут быть использованы для построения аналогичных методов решения ЗМП с ограничениями.

3

 

Выражение (5.1) означает «найти максимум (и (или) минимум) функции f (x) ».

52

5.3.1. Метод наискорейшего спуска (подъема)

Метод предназначен для решения задачи (5.1) и принадлежит классу методов первого порядка. Метод основан на том факте, что

градиент f (x) целевой функции указывает направление ее максимального возрастания.

Описание алгоритма

Шаг 0. Выбирается точка начального приближения x(0) , пара-

метр длины шага 0 , параметр дробления шага m 1 и точность решения 0 .

Шаг k. На k-м шаге пересчет приближений производится по

формулам

 

 

 

 

 

максимума,

 

x(k) f (x(k)) при поиске

 

x(k 1)

 

 

 

(5.2)

 

x(k) f (x(k )) при поиске

минимума.

 

Если при этом происходит «переход» через точку экстремума, то

есть оказываются справедливыми неравенства

 

 

 

 

 

 

f (x(k 1))

f (x(k)) при поиске максимума,

 

 

 

 

 

 

f (x(k 1))

f (x(k)) при поиске минимума,

 

то длина шага уменьшается в m раз.

 

Критерием останова алгоритма является неравенство

 

 

 

 

 

(5.3)

 

 

| x(k 1) x(k) | .

Алгоритм завершает свою работу, как только выполнится (5.3). В качестве решения исходной задачи берется последнее полученное

приближение x(k 1) .

На рис. 5.1 показана схема реализации метода наискорейшего спуска при поиске минимума выпуклой функции одной переменной.

53

 

 

f (x)

 

 

 

f (x(0))

 

 

 

 

 

f (x(2))

 

 

 

 

f (x(3))

 

 

f (x(1))

 

 

 

x(2) x(3) x(4) x(5)

x(6)

x(1)

x(0)

x

 

 

 

 

истинное решение x

 

 

 

 

Рис. 5.1

 

 

5.3.2. Метод сопряженных градиентов

 

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

Описание алгоритма

Шаг 0. Выбирается точка начального приближения x(0) , пара-

метр длины шага 0 , точность

решения 0 и вычисляется

 

 

 

начальное направление поиска s(0)

f (x(0)) .

Шаг k. На k-м шаге находится минимум (максимум) целевой

функции

 

на прямой, проведенной из точки

 

по направ-

f (x)

x(k 1)

 

 

 

 

 

 

 

 

 

лению s(k 1) . Найденная точка минимума (максимума) определя-

ет очередное k-е приближение

 

 

чего

определяется

x(k) , после

направление поиска

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T f (x(k)) f (x(k))

 

 

s (k)

f (x(k)) s (k 1)

T

 

 

 

.

(5.4)

 

 

 

f (x(k 1)) f (x(k 1))

 

 

 

 

54

 

 

 

 

 

Формула (5.4) может быть переписана в эквивалентном виде

s (k) f (x(k)) s (k 1)

 

 

 

| f (x(k)) |2

.

 

(k 1)) |2

| f (x

 

Алгоритм завершает свою работу, как только выполнится усло-

вие

 

 

| s(k) | ; в качестве решения принимается значение последне-

го полученного приближения

 

x(k 1) .

5.3.3. Метод Ньютона

Метод предназначен для решения задачи (5.1) и принадлежит классу методов второго порядка. В основе метода лежит разложение

Тейлора целевой функции

 

 

 

 

 

 

f (x) и то, что в точке экстремума y

 

 

 

 

 

 

 

 

 

градиент функции равен нулю, то есть f ( y) 0 .

 

Действительно,

пусть

некоторая

 

лежит

достаточно

точка x

близко к точке искомого экстремума

 

 

 

 

 

y . Рассмотрим i-ю компонен-

 

 

 

 

 

 

 

по формуле

ту градиента целевой функции и разложим ее в точке x

Тейлора с точностью до производных первого порядка:

 

 

 

 

 

 

 

 

 

 

f ( y)

 

f (x)

n 2 f (x)

( yk xk ),

 

 

 

 

 

 

 

 

 

xi

 

xi

 

i 1, n .

(5.5)

 

k 1 xi xk

 

 

 

 

 

Формулу (5.5) перепишем в матричной форме, учитывая при

 

 

 

 

 

 

 

 

 

 

f ( y) , i

 

:

 

 

 

 

 

 

 

этом, что

1, n

 

 

 

 

 

 

 

 

xi

 

 

 

 

 

 

 

 

 

 

 

 

 

(5.6)

 

 

0 f (x) H (x)( y x) ,

 

 

 

 

 

 

 

 

 

 

где H (x)

матрица Гессе целевой функции в точке x .

 

 

 

 

 

 

 

 

 

невырождена. Тогда она

Предположим, что матрица Гессе H (x)

имеет обратную матрицу

H

1

 

 

 

 

 

 

(x) . Умножая обе части уравнения

 

 

 

 

0 H 1

 

 

 

 

(5.6) на H 1(x) слева, получим

(x) f (x) E( y

x) , откуда

 

 

 

 

 

 

 

 

 

(5.7)

 

 

 

y

x H (x) f (x) .

 

Формула (5.7) определяет алгоритм метода Ньютона: пересчет приближений на k-й итерации выполняется в соответствии с форму-

лой

 

 

 

 

 

(5.8)

x(k 1)

x(k) H (x(k)) f (x(k)) .

Алгоритм заканчивает свою работу, как только выполнится условие

55

| x(k 1) x(k) | ,

где заданная точность решения; в качестве решения принимает-

ся значение последнего полученного приближения x(k 1) .

5.3.4. Метод Ньютона-Рафсона

Метод является методом первого порядка и предназначен для решения систем n нелинейных уравнений c n неизвестными:

 

 

 

 

g1 (x)

 

 

 

 

 

 

 

 

 

 

 

gi

(x)

 

 

 

 

 

 

 

 

 

 

g

n

(x)

 

 

 

0,

 

Rn

(5.9)

0, x

0.

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

решить систему уравнений из условия f (x) 0 .

Пусть точка

 

есть решение системы (5.9), а точка

 

располо-

y

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

жена вблизи

y .

Разлагая функцию

gi (x) в точке x

по формуле

Тейлора, имеем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

gi ( y) gi (x)

 

i

 

 

 

( yk

xk ),

i 1, n ,

 

(5.10)

 

 

 

xk

 

 

 

 

 

 

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

0 ) вытекает

 

 

 

 

 

 

откуда (по условию gi ( y)

 

 

 

 

 

 

 

 

 

 

 

 

R

 

 

 

 

 

 

 

 

 

 

(5.11)

 

 

 

 

 

g(x)

(x)( y

x) 0 ,

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

где

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R (x) матрица Якоби вектор-функции

g(x) . Предположим,

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

невырождена. Тогда она имеет обрат-

что матрица Якоби R (x)

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ную

матрицу

 

1

 

 

 

 

 

 

обе части

уравнения

(5.11) на

R

(x) . Умножая

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

R

(x) слева, получим R

 

(x)g(x) E( y

x) 0 , откуда

 

g

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

(5.12)

 

 

 

 

 

y

x R

 

(x)g(x) .

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

Формула (5.12) определяет алгоритм метода Ньютона-Рафсона: пересчет приближений на k-й итерации выполняется в соответствии

с формулой

 

 

 

 

 

 

1

(5.13)

x(k 1)

x(k) R

(x(k))g(x(k)) .

 

 

g

 

 

 

56

В случае одной переменной, когда система (5.9) вырождается в

единственное уравнение g(x) 0 , формула (5.13) принимает вид

x(k 1) x(k)

g(x(k)) ,

 

 

(5.14)

 

g (x(k))

 

 

 

где g (x(k)) значение производной функции g(x)

в точке x(k) .

На рис. 5.2 показана схема реализации метода Ньютона-Рафсона

при поиске решения уравнения g(x) 0 .

 

 

 

g(x)

 

 

 

 

 

 

 

 

 

 

истинное решение

x(2) x(1)

 

 

x(3)

x(1) область расходимости x(0)

 

 

 

x(0)

 

 

x

 

 

 

 

 

область сходимости

 

 

 

 

 

 

 

Рис. 5.2

 

 

 

 

Замечание 5.1. Сходимость численных методов, как правило, сильно зависит от начального приближения.

Замечание 5.2. Методы Ньютона и Ньютона-Рафсона требуют большого объема вычислений (надо на каждом шаге вычислять и обращать матрицы Гессе и Якоби).

Замечание 5.3. При использовании методов обязательно следует учитывать возможность наличия многих экстремумов у целевой функции (свойство мультимодальности).

57

ЛИТЕРАТУРА

1.Афанасьев М.Ю., Суворов Б.П. Исследование операций в экономике: Учебное пособие. – М.: Экономический факультет МГУ, ТЕИС, 2003 – 312 с.

2.Базара М, Шетти К. Нелинейное программирование. Теория и алгоритмы:

Пер. с англ. – М.: Мир, 1982 – 583 с.

3.Берман Г.Н. Сборник задач по курсу математического анализа: Учебное пособие для вузов. – СПб: «Специальная Литература», 1998. – 446 с.

4.Вагнер Г. Основы исследования операций: В 3-х томах. Пер. с англ. – М.: Мир,

1972. – 336 с.

5.Вентцель Е.С. Исследование операций. Задачи, принципы, методология – М.:

Наука, 1988. – 208 с.

6.Демидович Б.П. Сборник задач и упражнений по математическому анализу. – М.: Наука, 1977. – 528 с.

7.Дегтярев Ю.И. Исследование операций. – М.: Высш. шк., 1986. – 320 с.

8.Нуреев Р.М. Сборник задач по микроэкономике. – М.: НОРМА, 2006. – 432 с.

9.Солодовников А.С., Бабайцев В.А., Браилов А.В. Математика в экономике: Учеб-

ник: В 2-х ч. – М.:Финансы и статистика, 1999. – 224 с.

10.Таха Х. Введение в исследование операций, 6-е изд.: Пер. с англ. – М.: Издательский дом «Вильямс», 2001. – 912 с.

11.Химмельблау Д. Прикладное нелинейное программирование: Пер. с англ. – М.:

Мир, 1975 – 534 с.

12.Шикин Е.В., Шикина Г.Е. Исследование операций: Учебник – М.: ТК Велби, Изд-во Проспект, 2006. – 280 с.

13.Исследование операций в экономике: Учебн. пособие для вузов/ Н.Ш.Кремер,

Б.А.Путко, И.М.Тришин, М.Н.Фридман; Под ред. проф. Н.Ш.Кремера. – М.: Банки и биржи, ЮНИТИ, 1997. – 407 с.

14.Матрицы и векторы: Учебн. пособие/ Рюмкин В.И. – Томск: ТГУ, 1999. – 40 с.

15.Системы линейных уравнений: Учебн. пособие / Рюмкин В.И. – Томск: ТГУ, 2000. – 45 с.

58

ОГЛАВЛЕНИЕ

 

ВВЕДЕНИЕ……………………………………...................................

3

1. ОСНОВЫ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ………………...

5

1.1. Постановка задачи математического программирования...............................

5

1.2. Разновидности ЗМП…………….…………..........................................

5

1.3. Базовые понятия математического программирования ................................

7

1.4. Производная по направлению. Градиент………….........................................

10

1.5. Касательные гиперплоскости и нормали…………..........................................

12

1.6. Разложение Тейлора……………………………...............................................

13

1.7. ЗНЛП и условия существования ее решения...................................................

15

1.8. Задачи ……………..……...................................................................................

16

2. РЕШЕНИЕ ЗАДАЧИ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ БЕЗ

 

ОГРАНИЧЕ-

19

НИЙ................................................................................................................

 

2.1. Необходимые условия решения ЗНЛП без ограничений...............................

19

2.2. Достаточные условия решения ЗНЛП без ограничений.................................

20

2.3. Классический метод решения ЗНЛП без ограничений...................................

21

2.4.Задачи…………….............................................................................................. 23

3.РЕШЕНИЕ ЗАДАЧИ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ ПРИ

ОГРАНИЧЕНИЯХ-

25

РАВЕНСТВАХ.................................................................................

 

3.1. Метод множителей Лагранжа…………………………...................................

25

3.1.1. Назначение и обоснование метода множителей Лагранжа……………

25

3.1.2. Схема реализации метода множителей Лагранжа……………………...

26

3.1.3. Интерпретация множителей Лагранжа…………………………………

28

3.2.Метод подстановки……………………………................................................. 34

3.3.Задачи………………………….......................................................................... 35

4.РЕШЕНИЕ ЗАДАЧИ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ ПРИ

ОГРАНИЧЕНИЯХ-

40

НЕРАВЕНСТВАХ………………………………………………..

 

4.1. Обобщенный метод множителей Лагранжа…………………………………

40

4.2. Условия Куна-Таккера…………………………..............................................

41

4.2.1. Необходимость условий Куна-Таккера…………………………………

42

4.2.2. Достаточность условий Куна-Таккера…………………………………..

44

4.2.3. Метод Куна-Таккера………………………...............................................

45

4.3.Задачи………………………….......................................................................... 47

5.ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ НЕЛИНЕЙНОГО ПРО-

ГРАММИРОВАНИЯ …………………………...……………………………………

50

5.1. Понятие алгоритма…………………………....................................................

50

5.2. Классификация численных методов…………………………………………

51

5.3. Алгоритмы численных методов……………………………………………...

51

5.3.1. Метод наискорейшего спуска (подъема)…………………………………

52

5.3.2.Метод сопряженных градиентов…………………………......................... 53

5.3.3.Метод Ньютона…………………………..................................................... 54

5.3.4.Метод Ньютона-Рафсона………………………………………………... 55 ЛИТЕРАТУРА……………………………….............................................................. 57

59

60

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