Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

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

Исследование и разработка алгоритмов и комплекса программ для реализации модифицированного метода поиска глобального экстремума функции многих переменных
<
Исследование и разработка алгоритмов и комплекса программ для реализации модифицированного метода поиска глобального экстремума функции многих переменных Исследование и разработка алгоритмов и комплекса программ для реализации модифицированного метода поиска глобального экстремума функции многих переменных Исследование и разработка алгоритмов и комплекса программ для реализации модифицированного метода поиска глобального экстремума функции многих переменных Исследование и разработка алгоритмов и комплекса программ для реализации модифицированного метода поиска глобального экстремума функции многих переменных Исследование и разработка алгоритмов и комплекса программ для реализации модифицированного метода поиска глобального экстремума функции многих переменных
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Жадан, Игорь Витальевич. Исследование и разработка алгоритмов и комплекса программ для реализации модифицированного метода поиска глобального экстремума функции многих переменных : диссертация ... кандидата технических наук : 05.13.18 / Жадан Игорь Витальевич; [Место защиты: Рос. гос. технол. ун-т им. К.Э. Циолковского (МАТИ)].- Москва, 2011.- 122 с.: ил. РГБ ОД, 61 11-5/1858

Содержание к диссертации

Введение

ГЛАВА 1. Обзор методов глобальной оптимизации, недостатки и перспективы развития 8

1.1 Задача глобальной оптимизации и практическая ценность 9

1.2 Обзор методов глобальной оптимизации. Преимущества и недостатки 12

1.3 Задача поиска глобального экстремума функции многих переменных методов половинных делений и его недостатки 18

Выводы по главе 1 24

ГЛАВА 2. Разработка и техника программной реализации модафикаций метода половинных делений для поиска глобального экстремума 25

2.1 Модификация метода половинных делений (деление на 2т параллелепипеда) 26

2.2 Модификация метода половинных делений - использование метода сопряженных градиентов в методе половинных делений 29

2.3 Общая схема работы программного комплекса для поиска глобального экстремума функции многих переменных (для однопроцессорной ЭВМ) 37

2.4 Архитектура систем параллельной обработки данных 48

2.5 Алгоритм распараллеливания вычислительного процесса реализованного метода 62

Выводы по главе 2 65

ГЛАВА 3. Экспериментальные исследования программного комплекса и его практическое использование в акустооптике 66

3.1 Особенности работы программного комплекса в среде параллельных вычислений 67

3.2 Тестирование программного комплекса 70

3.3 Задача о минимизации функционала качества для обгонного и обменного взаимодействия солитонов 78

Выводы по главе 3 82

Выводы по работе 83

Литература

Введение к работе

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

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

На сегодняшний день существует значительное число различных подходов к решению задач глобальной оптимизации. Среди них можно отметить методы: случайного поиска; представления функций в виде суммы выпуклой и вогнутой составляющих; неравномерного покрытия; различные варианты метода ветвей и границ; методы, основанные на одномерной глобальной оптимизации и многие другие. Отечественные и зарубежные ученные, такие как Ю.Г. Евтушенко, С.Н. Пиявский, В.П. Булатов, Р.Г. Стронгин, Я.Д. Сергеев, А.Г. Жилинскас, А.С. Стрекаловский, Р. Хорст, X. Туй, A.M. Рубинов, И. Торн, П. Пардалос, К. Флоудас внесли значительный вклад в развитие теории и методов глобальной оптимизации. Стоит отдельно отметить задачи нахождения глобального экстремума липшицевой функции, как один из наиболее важных классов задач, рассматриваемых в глобальной оптимизации. В последние десятилетия для решения этих задач были предложены несколько эффективных численных методов, к примеру, A.M. Рубиновым, М. Андрамоновым, Б. Гловером был разработан метод секущих углов. Также были разработаны варианты метода секущих углов, предназначенные для решения задач с ограничениями, с использованием метода внешних штрафных функций. В перечисленных выше методах всегда возникает проблема выбора штрафных коэффициентов: при их увеличении возрастает константа Липшица, снижая тем самым эффективность большинства методов поиска глобального экстремума, в том числе и метода секущих углов.

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

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

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

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

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

Для достижения цели необходимо решить следующие задачи:

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

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

  3. Реализовать предложенный алгоритм модифицированного метода поиска глобального экстремума в программном комплексе.

  4. Протестировать и применить разработанные алгоритмы на практических и прикладных задачах.

Научная новизна. К новым результатам, полученным в диссертационной работе относятся:

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

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

  2. С помощью разработанного программного комплекса проведена минимизация функционала качества для обменного и обгонного взаимодействия солитонов.

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

Апробация работы. Основные результаты диссертации докладывались и обсуждались на Международной научно-технической конференции «Международный форум молодых ученых и студентов» (Турция, 2004г.), Научной конференции «Современные наукоемкие технологии» (Испания, 2005г.), Юбилейной конференции РАЕ «Современные проблемы науки и образования» (Москва, 2005г.), Международных XXX, XXXI НТК «Гагаринские чтения» (Москва, 2006, 2009 г.).

Структура работы. Диссертационная работа состоит из введения, трех глав, заключения, списка литературы и приложений. Изложение иллюстрируется 18 рисунками и 11 таблицами. Общий объем 122 страницы, список литературы 87 наименования.

Обзор методов глобальной оптимизации. Преимущества и недостатки

Оптимизация в широком смысле слова находит применение в науке, технике и в любой другой области человеческой деятельности. Глобальная оптимизация имеет непосредственное отношение к широкому классу практических задач. В качестве примеров можно привести: задачи проектирования, задачи распределения ограниченных ресурсов, задачи расчета траектории полета ракеты и т.п. Подобные задачи часто встречаются в ряде прикладных областей при моделировании реальных процессов: теории управления, моделировании физических явлений, анализе данных и других областях, где необходимо улучшить результат целевой функции на множестве некоторых ограничений [12-14].

Величина N есть размерность задачи, функция f(x) называется целевой функцией, функция g(.(x),l / /ra - ограничениями задачи, Q допустимой областью или допустимым множеством, множество D -областью поиска, точка jc - глобальным решением. В данной постановке задачи предполагается, что точки f(x) и g, (л), 1 / т являются функциями действительного переменного, заданного на множестве D.

Постоянно растущий интерес к глобальной оптимизации объясняется как увеличением числа прикладных задач принятия решения, описываемых многоэкстремальными функциями, так и бурным развитием вычислительной техники. Повышенное внимание к этой области оптимизации объясняется тем, что зачастую во многих практических задачах требуется найти не локальное, а глобальное решение [16-19]. Часто в прикладных задачах целевая функция и ограничения задаются в виде черного ящика (т.е. в виде некоторого вычислительного прибора, в котором на вход подается значение аргумента, а на выходе получаем соответствующее значение функции), являются недифференцируемыми и сложными с вычислительной точки зрения [18, 20-22].

В свою очередь использование нелинейной локальной оптимизации зачастую оказывается недостаточным для успешного решения в силу наличия нескольких локальных минимумов, имеющих разные значения функции в заданной области поиска [23-25]. Локальные методы оказываются не в состоянии покинуть зоны притяжения локальных оптимумов и, следовательно, упускают глобальный экстремум. Использование локального решения обычно является недостаточным, поскольку глобальное решения может дать существенный выигрыш, по сравнению с локальным [26-27].

В силу широты класса многоэкстремальных функций задача глобальной оптимизации в общем случае является неразрешимой, т.е. нельзя гарантировать, что решение задачи будет получено за конечное число шагов [28-33]. Даже некоторые из разрешимых задач могут попасть в класс неразрешимых, т.к. число шагов, необходимых для получения решения, может быть чрезмерно большим. Для того чтобы решить задачу, помимо непрерывности целевой функции, необходимы некоторые дополнительные условия ее гладкости. Таким образом, специфика задачи глобальной оптимизации заключается в многоэкстремальности целевой функции и неразрешимости в общем случае [31-36]. 1.2 Обзор методов глобальной оптимизации.

Преимущества и недостатки Для решения задач глобальной оптимизации не существует универсального по эффективности алгоритма. Поэтому при разработке специфических методов глобальной оптимизации в первую очередь учитывают свойства целевой функции и допустимого множества X рассматриваемого класса задач, для которых разрабатывается метод [37-38].

Обычно, глобальный экстремум предполагается найти, перебрав все без исключения локальные. Иной способ - показать, что упущенный из рассмотрения локальный экстремум не оказывает большое влияние на точность решения задачи [39].

Все известные методы глобальной оптимизации можно условно разделить на два типа: детерминированные и стохастические [39-41]. Детерминированные методы получают глобальное решение путем поиска на всем допустимом множестве. Поэтому большинство детерминированных методов теряют эффективность и надежность с возрастанием размерности задачи [40, 42-44]. Более того, чтобы гарантировать успех, такие методы требуют выполнения дополнительных предположений, наложенных на целевую функцию. Детерминированные методы не используют стохастики.

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

Модификация метода половинных делений - использование метода сопряженных градиентов в методе половинных делений

Рассмотрение метода сопряженных градиентов целесообразно начать с рассмотрения более простого метода поиска экстремума функции - метода наискорейшего спуска. На рис.3 изображена траектория движения в точку минимума методом наискорейшего спуска. Суть этого метода: в начальной точке х(0) вычисляется градиент, и движение осуществляется в направлении антиградиента до тех пор, пока уменьшается целевая функция; в точке, где функция перестает уменьшаться, опять вычисляется градиент, и спуск продолжается в новом направлении; процесс повторяется до достижения точки минимума.

В данном случае каждое новое направление движения ортогонально предыдущему. Не существует ли более разумного способа выбора нового направления движения? Существует, и он называется метод сопряженных направлений. А метод сопряженных градиентов как раз относится к группе методов сопряженных направлений. На рис.4 изображена траектория движения в точку минимума при использовании метода сопряженных градиентов.

Определение сопряженности формулируется следующим образом: два вектора х и у называют А-сопряженными (или сопряженными по отношению к матрице А) или А-ортогональными, если скалярное произведение х и Ау равно нулю, то есть:

Сопряженность можно считать обобщением понятия ортогональности. Действительно, когда матрица А - единичная матрица, в соответствии с равенством (21), векторы х и у - ортогональны. Можно и иначе продемонстрировать взаимосвязь понятий ортогональности и сопряженности: если растянуть рис.4 таким образом, чтобы линии равного уровня из эллипсов превратились в окружности, при этом сопряженные направления станут просто ортогональными.

Сопряженные направления вычисляются с помощью процесса ортогонализации Грамма-Шмидта. Но для этого необходимо знать матрицу А, поэтому для большинства задач (например, обучение многослойных нейросетей) этот метод не годится. К счастью, существуют другие, итеративные способы вычисления сопряженного направления, самый известный - формула Флетчера-Ривса:

Формула (22) означает, что новое сопряженное направление получается сложением антиградиента в точке поворота и предыдущего направления движения, умноженного на коэффициент, вычисленный по формуле (23). Направления, вычисленные по формуле (22), оказываются сопряженными, если минимизируемая функция задана в квадратичной форме. Квадратичная форма — это просто скаляр, квадратичная функция некого вектора х следующего вида: где х — неизвестный вектор, b — известный вектор, а А — известная, квадратная, симметричная, положительно-определенная матрица.

То есть для квадратичных функций метод сопряженных градиентов находит минимум за п шагов (п - размерность пространства поиска). Для функций общего вида алгоритм перестает быть конечным и становится итеративным. При этом, Флетчер и Ривс предлагают возобновлять алгоритмическую процедуру через каждые п + 1 шагов. Можно привести еще одну формулу для определения сопряженного направления, формула Полака-Райбера (Polak-Ribiere):

Метод Флетчера-Ривса сходится, если начальная точка достаточно близка к требуемому минимуму, тогда как метод Полака-Райбера может в редких случаях бесконечно циклиться. Однако последний часто сходится быстрее первого метода. К счастью, сходимость метода Полака-Райбера может быть гарантирована выбором Р = так{р,0} Это эквивалентно рестарту алгоритма по условию Р =0. Рестарт алгоритмической процедуры необходим, чтобы забыть последнее направление поиска и стартовать алгоритм заново в направлении скорейшего спуска.

Из приведенного алгоритма следует, что на шаге 2 осуществляется одномерная минимизация функции. Для этого, в частности, можно воспользоваться методом Фибоначчи, методом золотого сечения или методом бисекций. Более быструю сходимость обеспечивает метод Ньютона-Рафсона, но для этого необходимо иметь возможность вычисления матрицы Гессе, В последнем случае, переменная, по которой осуществляется оптимизация, вычисляется на каждом шаге итерации по формуле (31):

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

Алгоритм распараллеливания вычислительного процесса реализованного метода

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

В таблицах 1, 2 приводятся результаты "распараллеливания" (время в секундах) липшицевой функции методом половинных делений и методом локального спуска в методе половинных делений с использованием выше предложенного алгоритма. использованием метода сопряжённых градиентов в методе половинных делений. Вычисления производились с использованием 4, 8 и 10 процессоров, чтобы показать эффективность применения параллельных вычислений для данной тестовой задачи. На рис. 12 представлен график зависимости времени "распараллеливания" данной задачи от количества процессоров, с использованием метода локального спуска в методе половинных делений в параллельном алгоритме управляющий - рабочий без перераспределения задания.

Ниже приводятся результаты вычислительных экспериментов, которые проводились, чтобы выявить закономерность изменения времени, потраченного на поиск глобального минимума от количества аргументов функции и от точности є, а также продемонстрировать эффективность модифицированных методов поиска глобального экстремума функции многих переменных методом половинных делений. Вычислительные эксперименты проведены на компьютере Pentium4 2660 MHz, 512 SDRAM.

Зависимость времени поиска глобального минимума от точности, Константа Липшица 18.692, -35.0 Xj 5.0 i=l,2,3 В результате тестирования программного комплекса поиска глобального экстремума на функциях различных порядков можно сделать следующий вывод: в зависимости от количества аргументов функций, границ, накладываемых на них и от точности є, с которой мы хотим найти глобальный минимум заданной функции, зависимость времени поиска от количества аргументов не является линейной. Исходя из результатов тестирования наиболее "эффективной" модификацией поиска глобального минимума является модификация метода половинного деления, использующая метод сопряжённых градиентов. 3.3. Задача о минимизации функционала качества для обгонного и обменного взаимодействия солитонов.

В качестве решения данной модели в работе использовался вейвлет Морле. Вычисления производились с использованием метода половинных делений с использованием метода сопряженных градиентов с константой Липшица и точностью є =0.001 для обгонного и обменного взаимодействия при разных а. Результаты расчетов функционала качества для обгонного и обменного взаимодействия 2 солитонов представлены таблице 9 и 10. Таблица 9. Функционал качества J(f1,f2) при обгонном взаимодействии солитонов при разложении по базисам вейвлетов Морле и Симлета

При а 2 для обоих видов взаимодействия на основании результатов расчета оптимальным является вейвлет Морле. При а 2 для обоих видов взаимодействия оптимальным является вейвлет Симлета. Таким образом на примере обгонного и обменного взаимодействия солитонов показана перспективность применения вейвлет-анализа для описания структуры нелинейных волновых

Тестирование программного комплекса

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

Переносимость обеспечивается: 1) тем, что самый исходный текст параллельной программы на MPI может быть выполнен на ряде (некоторая настройка необходима, чтобы взять преимущество из элементов каждой системы). Программный код может одинаково эффективно выполняться как на параллельных компьютерах с распределённой памятью, так и на параллельных компьютерах с общей памятью. Он может выполняться на сети рабочих станций. 2) способностью параллельных программ выполняться на гетерогенных системах, то есть на системах, состоящих из процессоров с различной архитектурой. MPI обеспечивает вычислительную модель, которая скрывает много архитектурных различий в работе процессоров. MPI автоматически делает любое необходимое преобразование данных и использует правильный протокол связи, посылается ли код сообщения между одинаковыми процессорами или между процессорами с различной архитектурой. MPI может настраиваться как на работу на однородной, так и на работу на гетерогенной системах. 3) компиляторами для Fortran(a) и С. Основным способом взаимодействия параллельных процессов в таких системах является передача сообщений друг-другу. Это и отражено в названии данной технологии.

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

Каждый процесс работает в своем адресном пространстве, никаких общих переменных или данных в MPI нет. Основным способом взаимодействия между процессами является явная посылка сообщений.

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

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

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

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

Предположим, что для расчетов имеется р процессоров и некоторая начальная последовательность Вт ={Рх....,Рт) параллелепипедов Р;, принадлежащих Р, например построенная ранее в процессе работы данного алгоритма. При этом такая начальная последовательность может быть представлена как единственным параллелепипедом (т=1), так и совокупностью s-последовательностей параллелепипедов. Пусть до начала работы алгоритма вычислены текущий Rm и текущая рекордная точка хг. Пусть помимо р рабочих процессоров имеется ещё один рабочий процессор, называемый администратором. Опишем язык, который используется для обмена данными между управляющим и рабочими процессорами.

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

От рабочих процессоров управляющему передаются следующие данные: число имеющихся BOX, лучшее значение функции, достигнутое на этом рабочем процессоре, и минимальное значение функции g(P). Эта передача данных осуществляется через заданный промежуток времени с помощью неблокированного способа взаимодействия. Данный способ взаимодействия осуществляется с помощью функции MPI_IRECV. Неблокированная функция указывает, что система может начинать писать данные в буфер приёма. После передачи параметров функции в систему, функция возвращает управление. После этого принимающий процесс не должен иметь доступ к буферу приёма, т.е. система не гарантирует в этом случае сохранность принимаемых данных. Для проверки завершения рассматриваемой операции используется функция MPI_TEST. Под завершением операции здесь понимается, что принимаемые данные находятся в буфере приёма.

Управляющему процессору доступна информация, в каком состоянии находится рабочий процессор: ожидает приказа от управляющего процессора или выполняет метод половинных делений. Типичная ситуация, когда часть рабочих процессоров работает, т.е. выполняет программу метода деления пополам, а другая часть ожидает от управляющего процессора очередного приказа. Если из полученной информации следует, что один из рабочих процессоров не имеет ни одного BOX, а другой имеет более одного BOX, которые подлежат дальнейшему исследованию, то управляющий процессор может выдать два приказа этим рабочим процессорам: 1) принять BOX от рабочего процессора, у которого имеется более одного BOX, которые подлежат дальнейшему исследованию; 2) отдать BOX с наименьшим значением функции g(P) рабочему процессору, который не имеет BOX.

Если каждый из рабочих процессоров, ожидающих приказа от управляющего процессора, имеет ненулевое число BOX, подлежащих дальнейшему исследованию, то управляющий процессор даст каждому из них команду "w" (продолжить работу). Если все рабочие процессоры сообщили управляющему процессору, что у них работа завершена, то управляющий процессор отдаёт им всем команду "f" (завершить работу). Принцип работы параллельного варианта метода половинных делений для поиска глобального экстремума функции многих переменных представлен на рис. 11.

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