Современная электроника №5/2022

ВОПРОСЫ ТЕОРИИ 55 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 5 2022 Рис. 4. Повторное разделение выделенной зоны и поиск экстремума Рис. 5. Интерфейс программы МБП и окно вывода номерному закону распределения [2], то агенты будут равномерно распола- гаться в зоне, а не сосредотачиваться в одной её части; ● для уменьшения на первом этапе зо- ны с глобальным экстремумом сле- дует для каждого параметра разби- вать ОО не пополам, а на три, четыре и более части, и в каждой зоне акти- вировать минимум 30 агентов. Ко- личество зон разбиения и позиций агентов зависит как от величины ОО, так и от степени крутизны функции на разных интервалах ОО и уточня- ется проверочными запусками алго- ритма МБП. 2. Повышение точности достижения глобального экстремума в зоне ди- версии обеспечивается увеличением числа агентов k i до 300–500. 3. Чтобы уменьшить количество аген- тов на этапе диверсии (например, до статистически значимых 50–100), следует над выделенной зоной ещё один или несколько раз повторить операции первого этапа. Работа МБП для функции двух пере- менных F ( x , y ) =3–( x –2) 2 –0,5( y –2) 2 про- иллюстрирована на рис. 2…4. Разбиение исходной ООфункции на четыре зоны показано на рис. 2. На рис. 3 в зонах активировано по одному случайному агенту, рассчита- ны их экстремумы, и по величине луч- шего локального оптимума выделена ОО, уменьшенная в 4 раза. В выделен- ной зоне активировано большое чис- ло позиций агентов, для каждого по ЦФ вычислены их экстремумы и определён наилучший из них: глобальный экстре- мум F ( x , y ) extr . На рис. 4 приведена ОО, уменьшен- ная в 8 раз при повторном выполне- нии первого этапа МБП над выделен- ной зоной, и глобальный экстремум всей функции F ( x , y ) extr . Алгоритм МБП имеет вид. 1. Задать целевую функцию F ( x 1 , x 2 , …, x n ) и её область определения. 2. Для каждого параметра х i разделить интервал его изменения пополам или на 3–6 частей, т.е. разбить об- ласть определения функции на не- сколько зон. 3. В каждой зоне инициировать посред- ством ГСЧ до 30 случайных позиций агентов. 4. Рассчитать значения ЦФ для пози- ции каждого агента в каждой зоне. 5. Определить величину наилучшего локального экстремума ЦФ в каж- дой зоне (см. рис. 2). 6. Определить зону его расположения. 7. В найденной зоне ОО инициировать посредством ГСЧ от 100 до 500 пози- ций агентов. 8. Вычислить значения ЦФ для пози- ций всех агентов. 9. Найти наилучшее значение экстре- мума ЦФ F ( x 1 , x 2 , …, x n ) extr – глобаль- ный оптимум функции и координа- ты позиции его агента. Анализ работы программы МБП Для проверки работы метода на языке Python разработана программа, опреде- ляющая как глобальный минимум, так и глобальный максимумфункции. Интер- фейс программы позволяет вводить функцию, аргументыфункции с интер- валами их изменения, задавать коли- чество разбиений исходной ОО, чис- ло агентов на первом и втором этапах, а также запускать программу для выво- да значений максимальных и мини- мальных оптимумов с их координатами и временем выполнения программы. На рис. 5 показаны интерфейс про- граммы и окно результатов расчёта. Работа программы проверялась для функций разного вида с числом пере- менных от 1 до 3, среди которых тесто- вые функции Де Джонга и Розенброка и две производственные функции меха- нической скорости бурения скважины (с одной переменной – для бурово- го автомата и с тремя переменными – для АСУ бурения). Результаты приведе- ны в таблице. 1. Тестовая функция Де Джонга («сфе- ра») является непрерывной, выпу- клой и унимодальной, показана на рис. 6 и имеет вид: . Функция имеет глобальный минимум f ( x ) = 0 в точке x i = 0 при i = 1..., n . Программа МБП запускалась для функции Де Джонга с двумя перемен- ными (интервалы изменения аргу- ментов [–5; 5]) и с тремя переменными (интервалы изменения [–2; 2] и [–5; 5]) с разным числом повторений 1-го эта- па и числом агентов на обоих этапах. Результаты приведены в таблице. 2. Тестовая функция Розенброка («ба- нан») показана на рис. 7 и имеет вид: . Функция имеет большое убываю- щее плато с одним минимумом, поэ- тому конвергенция к нему трудна, что используется для оценки работы алгоритмов оптимизации. Глобаль- ный минимум f ( x ) = 0 в точке x i = 1 при i = 1, ,,,, n . 3. Функция механической скорости бу- рения для АСУ бурением нефтегазо- вой скважины с тремя параметрами управления G , n , Q . 4. Функция механической скорости бу- рения для бурового автомата нефте-

RkJQdWJsaXNoZXIy MTQ4NjUy