Алгоритм численного решения системы интегральных уравнений галленовского типа, структурная схема программы, страница 4

Рис. 7. Структура программы.

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

  Расчет электродинамических характеристик антенны осуществляется программой «res.exe». Эта программа производит:

 считывание данных, необходимых для расчетов, из файла «tmp.res»;

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

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

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

3.3.4. Оптимизация геометрических параметров исследуемой антенны по методу Хука-Дживса.

Решение задачи нелинейного программирования с помощью методов, не использующих производные ( или их аппроксимации ) называют методом прямого поиска. В типичном методе прямого поиска направления оптимизации полностью определяются на основании последовательных вычислений целевой функции F(x) .

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

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

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

Хук и Дживс предложили логически простую стратегию поиска, использующую априорные сведения и в то же время отвергающую устаревшую информацию относительно характера топологии целевой функции в точке . В интерпретации Вуда этот алгоритм включает два основных этапа: «исследующий поиск» вокруг базисной точки и поиску по образцу, то есть в направлении, выбранном для оптимизации. На рис. 8 представлена упрощенная структурная схема этого алгоритма.

Рассматриваемый алгоритм прямого поиска состоит из следующих операций. Прежде всего задаются начальные значения всех элементов , а также начальные приращения . Чтобы начать «исследующий поиск», следует вычислить значение целевой функции F(x) в базисной точке ( базисная точка представляет собой начальный вектор предполагаемых искомых значений независимых переменных в первом цикле ). Затем в циклическом порядке изменяется каждая переменная ( каждый раз только одна ) на выбранные величины приращений, пока все параметры не будут таким образом изменены. В частности, изменяется на величину так, что  . Если приращение не улучшает целевую функцию,  изменяется на величину - и проверяется значение целевой функции, как и ранее. Если значения F(x) не улучшаются ни при , ни , то  оставляют без изменений. Затем  изменяют на величину  и так далее, пока не будут изменены все независимые переменные, что завершает один исследующий поиск. На каждом шаге или сдвиге по независимой переменной значение целевой функции сравнивается с ее значением в предыдущей точке. Если целевая функция улучшается на данном шаге, то ее старое значение заменяется на новое при последующих сравнениях. Однако, если произведенное возмущение по  неудачно, то сохраняется прежнее значение целевой функции.

После проведения одного ( или более ) исследующего поиска применяется стратегия поиска по образцу. Удачные изменения переменных в