Федоренко Р.П. Введение в вычислительную физику (1185915), страница 91
Текст из файла (страница 91)
Проиллюстрируем сказанное выше примером решения следующей задачи (она имеет прикладное происхождение, но мы будем рассмат- ривать задачу как пример): уо(х, у) = ~~ <р(х~у — у') р(х~з — уз), где ь ~р(з) = — ~ екр ~~ — — ~~ уй. 0+ >г~ ~й~ ~ г«у ) 3десьу= (у', у ) е Я~,х= (х,', хЯ, Е Л~;область У вЂ” единичный квадрат. В рассматриваемом ниже примере У = 1б, Ь = 0,1. Кроме то- го, решалась задача шах пйп /е(х, у). В качестве начального приблик у жения брались точки х е яз, расположенные равномерно на окруж- ности радиусом 0.1 с центром в центре единичного квадрата. Расчет начинался с тою, что при фиксированном х генерирова- лись случайные точки у Е У, каждая из которых была стартовой точкой поиска пнп у~(х, у).
Таким образом формировались множеу ства у'(х) и у(х). После каждого перехода от х к х + Ьх уточнялись положения точек у(х + Ьх). Для этого каждая точка'у Е у'(х) бра- лась в качестве стартовой в процессе поиска шах У~(х + Ьх, у), деу лалось небольшое число шагов подъема по градиенту, т.е, корректи- ровалось множество у'(х + Ьх).
Однако множество у'(х+ Ьх) может быть принципиально непол- ным. В ием может отсутствовать какая-то еще не обнаруженная точка локального максимума /"(х, у) по у. Поиск таких точек должен про- должаться. Для этого берется некоторое число случайных точек в У, каждая нз них используется в качестве стартовой при решении задачи шах/в(х+ Ьх, у), Получающиеся после некоторого числа шагов у подъема по градиенту точки анализируются.
Некоторые из них могут оказаться близкими к точкзм, уже входящим в у'(х + Ьх), они, есте- ственно, игнорируются. Но некоторые могут оказаться новыми, и тог- да они включаются в у'(х + Ьх), расширяя его. Хотя мы ограничились выше общим описанием, не уточняя де- талей, читатель не ошибется, если сочтет алгоритм не абсолютно надежным. Это действительно так, и для таких задач практически иеиьлижыи!ые методы еыиислительиои ыгшки 1ч. и 434 неизбежен некоторый риск.
Мы можем повышать надежность различных элементов алгоритма, но лишь ценой существенного увеличения вычислительной работы, причем полной надежности никогда не достигнем (прн конечном числе операций). Итак, перейдем к описанию результатов вычислений, представленных в табл.
17. Поясним обозначения: т — номер шага по лд и! — число точек в множестве у(х); г — значение 76 105, К— число вычислений функции /о (число вычислений производных 70 по х или у составляет примерно 0.35К). Заметим, что весь расчет занял 1О минут на БЭСМ-6, Обратим внимание на 45-ю итерацию. В этот момент была найдена новая существенная точка множества у(х), значение /9 резко упало, затем ситуация выправилась.
Разумеется, нет гарантии того, что задача решена очень точно, Однако стабилизация значений Е и л7 в какой-то мере свидетельсгвует об этом. Во всяком случае, результаты Таблица 17 !и создают впечатление, что продолжение вычислений едва ли будет оправдано: либо задача решена, либо метод перестал работать. Большую роль при этом играет репутация метода. Оиа создается решением большого числа задач, в которых результат удается так или иначе проконтролировать. Ксгати, описываемую выше задачу автор заимствовал в одной из работ, в которой она решалась методом штрафных функций. Автор, скептически относясь к его возможностям, проконтролировал эти расчеты с помощью метода линеаризации и без труда обнаружил грубость полученных методом штрафных функций результатов (в некоторых случаях такую, что едва ли можно было говорить о приближенном решении задачи).
Конечно, нельзя исключать и того, что кю-то таким же образом обнаружит ошибочность приближенного решения, найденного автором. Но пока этого не произошло. 1 3 6 9 12 !5 !в 2! 24 27 11 1! !2 14 16 !7 !в 1В !в !в З321 9!58 16!80 24!77 293!2 3!893 333Ю 33687 34117 34340 442 667 2196 Зош 3685 4468 5187 5724 6275 6650 30 33 36 39 42 45 48 51 54 1В !в !в !в !в !9 !в 17 !в 344!3 34482 34515 34545 34557 29342 316!5 33223 34774 7213 7773 8151 8731 9676 10260 10812 !1ЗЗ2 12146 «зз зэк дн««гн«кнцн овлннв»тнкцнонАлов 5 27. Дифференцирование функционалов В самых различных задачах возникает необходимость использовать функциональные производные. Основным источником таких задач являются вариацнонные принципы, широко используемые в разных областях естествознания.
Но есть и другие задачи, методы решения которых связаны с использованием функциональных производных, например нелинейные функциональные уравнения. В настоящее время сложилась достаточно общая формальная задача, которую иногда называют задачей оптимального управления, хотя это название не столько отражает существо дела, сколько является исторически сложившимся.
Рассмотрим ее в общей форме Имеется уравнение Я(х, и) =О, связывающее состояние некоторого объекта х с «управлением» и, т.е. с совокупностью функций н параметров, входящих в уравнение, Например, Я может быть обозначением краевой задачи для уравнений в частных производных относительно х, а и в этой ситуации может обозначать функции н параметры, входящие в краевые и начальные условия или коэффициенты уравнения.
Важным является следующее свойство уравнения (1), которое в абстрактной формулировке является, конечно, предположением. Прн любом «управлении» и уравнение (1) имеет решение и оно единственно. Более того, это решение 2'(и) зависит от и достаточно гладко, например непрерывно днфференцируемо по и. Пусть по тем или иным причинам нас интересует, как изменяется решение х при малом изменении и.
Точнее, нас не интересует полная картина изменения решения. Достаточно более грубой информации об изменении некоторых общих («усредненных») характеристик решения, нлн, проще говоря, некоторых функционалов от решения. Итак, пусть задана некоторая конкретная формула Ф(х, и), позволяющая вычислить значение Ф через х и и. Так как х однозначно определяется заданием и, можно ввести обозначение Р(и) ш Ф(х, и), Ф Е Я'. Здесь левая часть — абстрактный символ, означающий, что, коль скоро задан элемент и, можно вычислить число Р. Правая часть расшифровывает способ вычисления: зная и, нужно решить уравнение (1), найти х и вычислить Ф, т.е. Р(и) = Ф(2'(и), и).
Продифференцируем Р, т.е. вычислим (в первом порядке) изменение Р при малоМ изменении и на Ьи: Р(и + Ьи) Г(и) + Ф„(2'(и), и) Ьи+ Ф„2'„Ьи. (2) Таким образом, речь идет о дифференцировании суперпозиции функций. Дело осложняется тем, что зависимости 2'(и) мы явно не 436 пгивляженные методы вычислительной «ялики 1ч. и имеем.
Уравнение (1) обычно носит настолько сложный характер, что можно рассчитывать лишь на приближенное его решение при заданном и. Поэтому формула (2) неэффективна, ее следует заменить некоторыми выполнимыми операциями. Первый шаг используемой в этих ситуациях техники — это прямое варьирование Ф, Считая, что малая вариация и приведет к малому возмущению состояния Ьх, запишем предварительную формулу, в которой производные Ф„, Ф„известны: Г(и+ Ьи) жф(х, и) +Ф„(х, и) Ьх+ Ф„(х, и) Ьи. (3) Заменим линейный функционал Ф» дх равным ему функционалом от Ьи, используя то, что Ьи однозначно определяет Ьх посредством так называемого уравнения в вариациях.
Оно получается формальным варьированием уравнения (1): Я(х+ Ьх, и+ Ьи) Я(х, и) + Я„(х, и) Ьх+ Я„(х, и) Ьи. Отсюда, так как Я(х, и) = О, приходим к уравнению Я„(х, и) Ьх+ Я„(х, и) Ьи =О. (4) Оно линейно относительно Ьх и Ьи и определено в той точке (х, и), в которой производится вычисление производной. Конечно, предполагается, что (4) однозначно разрешимо относительно Ьх при заданном Ьи. Следующий шаг носит несколько искусственный характер. Используем тождество Лагранжа, являющееся в сущности определением сопряженного оператора: (Я„Ьх, р) = (Ьх, Я„'1р), У ~р. (5) Здесь 1р пока произвольно.
При подходящем выборе 1р эта формула позволяет выражать линейный функционал от Ьх в виде линейного функционала от Ьи. Заметим, что нас интересует выражение Ф,Ьх, которое, конечно же, точнее следует записывать в виде скалярного произведения (Ф„Ьх). (Производной в смысле Фреше функционала Ф(х, и) по х, если она существует, является элемент пространства, двойственного к пространству элементов Ьх.) В качестве р возьмем решение «сопряженного» уравнения (6) Я„'(х, и) 1р= Ф„(х, и). Нетрудно сообразить, что в левой части (5) следует заменить Я„Ьх на — Я„Ьи в силу уравнения в вариациях (4).