Главная Численные методы при исследовании физических задач



форма (18) отрицательно определенная, а в седловинах она зна-копеременна.

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

Рассмотрим овражный тип рельефа. Если линии уровня кусочно-гладкие, то выделим на -каждой из них точку излома. Геометрическое место точек излома назовем истинным оврагом, если угол направлен в сторону возрастания функции, и гребнем - если в сторону убывания (рис. 37, б). Чаще линии уровня всюду гладкие, но на них имеются участки с большой кривизной; геометрические места точек с наибольшей кривизной назовем разрешимыми оврагами или гребнями (рис. 37, в). Например, рельеф функции

0(x, г/) = 10(г/-sinл;)2 + 0,lл; (19)

изображенный на этом рисунке, имеет ярко выраженный извилистый разрешимый овраг, «дно» которого - синусоида, а низшая точка - начало координат.

В физических задачах овражный рельеф указывает на то, что вычислитель не учел какую-то закономерность, имеющую вид связи между переменными. Обнаружение и явный, учет этой закономерности облегчают решение математической задачи. Так, если в примере (19) ввести новые переменные = л:,-11 = 1/ -sin д:, то рельеф становится котловинным.

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

Ф(х, y) = (l + sin2x)(l + sin2j/), (20)

рельеф которой изображен на этом рисунке; она имеет минимумы в точках с координатами х* = л, yi = nl и максимумы в точках, сдвинутых относительно минимумов на n/2 по каждой координате.

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

2. Спуск по координатам. Казалось, бы, для нахождения минимума достаточно решить систему уравнений типа (17) методом линеаризации или простых итераций и отбросить те решения, которые являются седловинами или максимумами. Однако в реальных задачах минимизации эти методы обычно сходятся в настолько малой окрест1Юсти минимума, что выбрать подходящее



нулевое приближение далеко не всегда удается. Проще и эффективнее провести спуск по координатам. Изложим этот метод на примере функции трех переменных Ф (х, у, z).

Выберем нулевое приближение Xq, у, Zq. Фиксируем значения двух координат у = уд, z = Zo. Тогда функция будет зависеть только от одной переменной х; обозначим ее через fi(x) = = Ф(х, Уо, Zo). Используя описанные в § 1 методы, найдем минимум функции одной переменной (х) и обозначим его через х. Мы сделали шаг из точки (Хо, Уо, Zq) в точку (х, Уо, Zo) по направлению, параллельному оси х; на этом шаге значение функции уменьшилось.


Рис. 38.

Затем из новой точки сделаем спуск по направлению, параллельному оси у, т. е. рассмотрим hiy) ==Ф(Xi, у, Zo), найдем ее минимум и обозначим его через г/. Второй шаг приводит нас в точку (xi, у, Zo). Из этой точки делаем третий шаг -спуск параллельно оси z и находим минимум функции /д (г) = Ф (х, у, z). Приход в точку (х, у1, Zj) завершает цикл спусков.

Будем повторять циклы. На каждом спуске функция не возрастает, и при этом значения функции ограничены снизу ее значением в минимуме Ф = Ф(л:, у, г). Следовательно, итерации сходятся к некоторому пределу ФэФ. Будет ли здесь иметь место равенство, т. е. сойдутся ли спуски к минимуму и как быстро?

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

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



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

Пусть линии уровня образуют истинный овраг. Тогда возможен случай (рис. 38, б), когда спуск по одной координате приводит нас на «дно» оврага, а любое движение по следующей координате (пунктирная линия) ведет нас на подъем. Никакой дальнейший спуск по координатам невозможен, хотя минимум еще не достигнут; процесс спуска по координатам в данном случае не сходится к минимуму.

Наоборот, если функция достаточно гладкая, то в некоторой окрестности минимума процесс спуска по координатам сходится к этому минимуму. Пусть функция имеет непрерывные вторые производные, а ее минимум не вырожден. Для простоты опять рассмотрим функцию двух переменных Ф{х, у). Выберем некоторое нулевое приближение Xq, Уо и проведем линию уровня через эту точку. Пусть в области G, ограниченной этой линией уровня, выполняются неравенства, означающие положительную определенность квадратичной формы (18):

Ф.,ха>0, ФууЬ>0, \Фху\с, аЬ>с\ (21)

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

Значения функции вдоль траектории спуска не возрастают; поэтому траектория не может выйти из области G, и неравенства (21) будут выполняться на всех шагах. Рассмотрим один из циклов, начинающийся в точке А (рис. 38, а). Предыдущий цикл окончился поиском минимума по направлению у, следовательно, (Фу)л = 0 и \Фх\а = %1Ф0. Первый шаг нового цикла спускает нас по направлению х в точку В, в которой Ф = 0 и Фу = т10. Поскольку вторые производные непрерывны, можно применить теорему о среднем; получим

1 = i (v)a- (Фх)в I = I хх\рАВарав,

Ц = I (Фу)л - (Ф</)В\=\Фху\рАВС рлв,

где через р обозначены расстояния между точками. Отсюда получаем схэат]. Выполним второй шаг цикла -спуск по направлению у в точку С, после которого (Фу)с = 0 иФл;с==2



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 [67] 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170


0.022