На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

1
Ожидается:
16 Марта 2026

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

Increasing the efficiency of the brute-force algorithm for load distribution in hierarchies
Дата подачи статьи: 20.05.2025
Дата после доработки: 18.07.2025
Дата принятия к публикации: 24.07.2025
УДК: 519.853.4
Группа специальностей ВАК: 2.3.1. Системный анализ, управление и обработка информации, статистика (технические науки, физико-математические науки)2.3.5. Математическое и программное обеспечение вычислительных систем, комплексов и компьютерных сетей (технические науки, физико-математические науки)
Статья опубликована в выпуске журнала № 4 за 2025 год. [ на стр. 557-567 ]
Аннотация:Нахождение оптимального распределения задач между узлами иерархических систем относится к разряду сложных комбинаторных задач с множеством ограничений. От точности ее решения зависит эффективность работы иерархий в различных областях их применения. В этой статье рассмотрены два подхода к ограничению пространства поиска решения, направленные на повышение эффективности алгоритма полного перебора при распределении нагрузки в иерархиях. Представленные подходы базируются на реструктуризации процесса генерации варианта решения, направленной на исключение невалидных комбинаций. В первом случае при формировании очередного варианта распределения нагрузки исключается перебор для последнего узла с помощью замены его на вычисление единственного допустимого значения. Второй вариант использует досрочный выход из цикла генерации вектора решения до его завершения при нарушении любого граничного условия задачи. Каждый подход можно применять по отдельности или в комбинации для повышения эффективности алгоритма полного перебора. Проведенные вычислительные эксперименты показывают, что первый подход обеспечивает ускорение в 26 раз, второй подход дает почти трехкратное ускорение, а их комбинация позволяет получить 76-кратное ускорение. Эти результаты подтверждают, что предложенные подходы значительно снижают вычислительную сложность алгоритма полного перебора при сохранении точности получаемого решения. Данные подходы могут имплементироваться и в параллельные реализации алгоритма полного перебора, что обеспечивает расширение области его практического применения в сторону задач большой размерности.
Abstract:Finding the optimal distribution of tasks among the nodes of hierarchical systems is a complex combinatorial problem with many constraints. The efficiency of hierarchies in various areas of their application depends on the accuracy of its solution. This paper examines two approaches for constraining the solution search space, aimed at increasing the efficiency of the brute-force algorithm for load distribution in hierarchies. The proposed approaches are based on restructuring the process of generating a solution variant, aimed at excluding invalid combinations. In the first approach, during the generation of each new load distribution variant, enumeration for the final node is eliminated by replacing it with the computation of a single valid value. The second approach employs an early exit from the solution vector generation loop before its completion, triggered by the violation of any problem constraint. These methods are applicable either separately or jointly to improve the performance of the brute-force algorithm. The conducted computational experiments show that the first approach provides a 26-fold acceleration, the second approach provides almost a 3-fold acceleration, and their combination yields a 76-fold acceleration. These results confirm that the proposed approaches significantly reduce the computational complexity of the exhaustive search algorithm while maintaining the accuracy of the resulting solution. These approaches can also be implemented in parallel versions of the brute-force algorithm. This extends the algorithm's practical application scope to large-scale problems.
Авторы: Ай Мин Тайк (ayeminthike52@gmail.com) - Национальный исследовательский университет «МИЭТ» (докторант), Москва, Россия, кандидат технических наук, Лупин С.А. (lupin@miee.ru) - Национальный исследовательский университет «МИЭТ», Межведомственный суперкомпьютерный центр РАН (профессор), Москва, Россия, кандидат технических наук, Телегин П.Н. (pnt@jscc.ru) - Межведомственный суперкомпьютерный центр РАН (ведущий научный сотрудник), Москва, Россия, кандидат технических наук, Шабанов Б.М. (jscc@jscc.ru) - Межведомственный суперкомпьютерный центр Российской академии наук, г. Москва (чл.-корр. РАН, директор), Москва, Россия, доктор технических наук
Ключевые слова: иерархические системы, распределение задач, алгоритм полного перебора, вычислительная сложность, минимизация пространства поиска, масштабируемость, повышение эффективности
Keywords: hierarchical systems, task distribution, brute-force algorithm, computational complexity, search space minimization, scalable, increasing the efficiency
Количество просмотров: 1106
Статья в формате PDF

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

DOI: 10.15827/0236-235X.152.557-567

Дата подачи статьи: 20.05.2025

Дата после доработки: 18.07.2025

Дата принятия к публикации: 24.07.2025

УДК: 519.853.4

Группа специальностей ВАК: 2.3.1. Системный анализ, управление и обработка информации, статистика (технические науки, физико-математические науки)2.3.5. Математическое и программное обеспечение вычислительных систем, комплексов и компьютерных сетей (технические науки, физико-математические науки)

Статья опубликована в выпуске журнала № 4 за 2025 год. [ на стр. 557-567 ]

Нахождение оптимального распределения задач между узлами иерархических систем относится к разряду сложных комбинаторных задач с множеством ограничений. От точности ее решения зависит эффективность работы иерархий в различных областях их применения. В этой статье рассмотрены два подхода к ограничению пространства поиска решения, направленные на повышение эффективности алгоритма полного перебора при распределении нагрузки в иерархиях. Представленные подходы базируются на реструктуризации процесса генерации варианта решения, направленной на исключение невалидных комбинаций. В первом случае при формировании очередного варианта распределения нагрузки исключается перебор для последнего узла с помощью замены его на вычисление единственного допустимого значения. Второй вариант использует досрочный выход из цикла генерации вектора решения до его завершения при нарушении любого граничного условия задачи. Каждый подход можно применять по отдельности или в комбинации для повышения эффективности алгоритма полного перебора. Проведенные вычислительные эксперименты показывают, что первый подход обеспечивает ускорение в 26 раз, второй подход дает почти трехкратное ускорение, а их комбинация позволяет получить 76-кратное ускорение. Эти результаты подтверждают, что предложенные подходы значительно снижают вычислительную сложность алгоритма полного перебора при сохранении точности получаемого решения. Данные подходы могут имплементироваться и в параллельные реализации алгоритма полного перебора, что обеспечивает расширение области его практического применения в сторону задач большой размерности.
Ай Мин Тайк (ayeminthike52@gmail.com) - Национальный исследовательский университет «МИЭТ» (докторант), Москва, Россия, кандидат технических наук, Лупин С.А. (lupin@miee.ru) - Национальный исследовательский университет «МИЭТ», Межведомственный суперкомпьютерный центр РАН (профессор), Москва, Россия, кандидат технических наук, Телегин П.Н. (pnt@jscc.ru) - Межведомственный суперкомпьютерный центр РАН (ведущий научный сотрудник), Москва, Россия, кандидат технических наук, Шабанов Б.М. (jscc@jscc.ru) - Межведомственный суперкомпьютерный центр Российской академии наук, г. Москва (чл.-корр. РАН, директор), Москва, Россия, доктор технических наук
Ключевые слова: иерархические системы, распределение задач, алгоритм полного перебора, вычислительная сложность, минимизация пространства поиска, масштабируемость, повышение эффективности
Размер шрифта:
      Шрифт:
Ссылка скопирована!

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

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

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

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

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

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

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

Для нахождения оптимального варианта разделения задач в иерархических структурах применяют различные алгоритмы и методы. Так, для распределения ресурсов в облачных структурах используют генетический алго- ритм [8], для сбалансированного назначения задач беспилотным аппаратам и планирования их маршрутов применяют алгоритм имитации отжига [9], оптимизация роя частиц использована при распределении задач между нескольки- ми роботами в доме престарелых [10], обучение с подкреплением показало высокую эффектив- ность при двухуровневом планировании задач на общедоступной платформе Cloudsim [11]. Каждый класс алгоритмов предполагает использование компромисса между качеством или точностью решения и вычислительной сложно- стью. Например, эвристики и методы обучения с подкреплением обеспечивают приближенные решения с меньшими вычислительными за- тратами, но не гарантируют точность. Алгоритм полного перебора (Brute Force Algorithm, BFA) [12] и метод ветвей и границ обеспечивают нахождение точного решения, но используются для задач небольшой размерности, поскольку их вычислительная сложность делает их непрактичными для крупных иерархических структур.

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

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

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

Оптимальное распределение задач  в иерархических системах

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

В статье [14] представлена эффективная модель разделения нагрузки в распределенных системах реального времени с использованием иерархической кластеризации для оптимизации производительности. Авторы предлагают двухэтапный подход, который сначала группирует высококоммуницирующие задачи с исполь- зованием алгоритма модифицированной иерар- хической кластеризации, затем распределяет эти кластеры по процессорам для минимизации нечеткой системной стоимости и нечеткого времени отклика. Сравнивая меры расстояния Yang and Hamming, авторы демонстрируют, что расстояние Yang в целом дает лучшие результаты в снижении накладных расходов на связь. Модель также обеспечивает балансировку нагрузки, ограничивая размеры кластера и предотвращая перегрузку процессоров. Это исследование предлагает практичное и эффективное решение для распределения задач в распределенных системах, подкрепленное четки- ми алгоритмами и экспериментальной проверкой.

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

Алгоритм иерархической мультиагентной оптимизации – это усовершенствованный подход к распределению задач в облачных вычислениях за счет максимального использования ресурсов и минимизации затрат на полосу пропускания. Объединяя улучшенный генетический алгоритм со структурой мультиагентной оптимизации, алгоритм иерархической мультиагентной оптимизации эффективно выбирает оптимальные сервисные узлы для развертывания задач, используя децентрализованную стратегию для снижения накладных расходов на связь. В статье [16] целевой функцией является максимальное использование ресурсов, которое определяется как отношение ресурсов, используемых запрошенными задачами, к общему количеству, доступному на сервисных узлах. Использование ресурсов Z1(X) определяется как

где Ka – количество сервисных узлов для развертывания запрошенных задач;  – использование центрального процессора, памяти и графического процессора сервисным узлом vi; ac, am, ag – значения веса для центрального процессора, памяти и графического процессора соответственно при ac + am + ag = 1.

Минимизация стоимости полосы пропускания необходима, если смежные подзадачи размещаются на разных сервисных узлах. Стоимость полосы пропускания Z2(X) определяется как

где  – стоимость пропускной способности, при выполнении подзадачи tl,n на сервисном узле vi;  – двоичная переменная, равная 1, если подзадача tl,n размещена на сервисном узле vi.

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

Динамические иерархические структуры используются в облачных вычислениях, адаптируются к изменениям рабочей нагрузки и оптимизируют планирование заданий на нескольких уровнях [17].

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

 

Рис. 1. Динамическая двухслойная структура

Fig. 1. Dynamic two-layer structure
В статье [18] представлен еще один инновационный подход к оптимизации распределения задач в мультироботных системах, гарантирующий выполнение работы в рамках сложных временных ограничений. Этот алгоритм сочетает планирование с распределением задач, основываясь на возможностях роботов и спецификациях миссии. Экспериментальные результаты показывают, что этот метод значительно снижает вычислительную сложность и обеспечивает качественные решения, что делает его высокоэффективным для реальных приложений робототехники и автоматизации.

Нахождение оптимального распределения нагрузки – это многогранная задача, которая затрагивает широкий спектр отраслей и систем. В иерархических системах она является вычислительно сложной из-за многоуровневой структуры исполнительных элементов или сотрудников, каждый из которых имеет уникальные роли и возможности. Чтобы сократить время ее решения, необходимо разрабатывать новые методы снижения вычислительной слож- ности, предпочтительно без потери точности.

Данное исследование посвящено снижению вычислительной сложности BFA при нахождении оптимального распределения задач в иерар- хических системах.

Использование BFA  в иерархических системах

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

В работе [19] представлена многопоточная реализация BFA, позволяющая снизить время нахождения оптимального варианта распределения задач в иерархических системах. Этот подход использует несколько потоков для исследования всех возможных вариантов распределения задач между узлами иерархии, что улучшает скорость обработки при сохранении точности решения. Эксперименты демонстрируют эффективность подхода, обеспечивающего рост производительности по сравнению  с однопоточными приложениями. Хотя многопоточность и сокращает время выполнения за счет распараллеливания поиска потенциальных распределений задач, она по-прежнему сталкивается с ограничениями при увеличении объемов задач и количества узлов в иерархиях. Это исследование подчеркивает необходимость поиска дополнительных методов снижения сложности самой задачи, выходящих за рамки многопоточности, для эффективного применения в крупных иерархиях.

В статье [20] представлена иерархическая система управления умным домом, разработанная для оптимизации распределения нагрузки  и потребления энергии в жилых помещениях  с помощью многоуровневой архитектуры управ- ления. Система состоит из управляющего  и центрального контроллеров, из интеллектуальных разъемов, работающих вместе для управления использованием электроприборов на основе тарифов по времени использования и команд отключения нагрузки. Центральный контроллер использует BFA для оценки всех возможных графиков работы приборов и выбора оптимальных вариантов их включения/ выключения, что позволяет минимизировать затраты на электроэнергию, сохраняя при этом удовлетворенность пользователей и соблюдая ограничения устройств. Результаты моделирования демонстрируют эффективность систе- мы в обеспечении баланса между экономией средств и комфортом пользователя, а реальная реализация в пилотном доме подтверждает ее практичность. Также BFA может ограничить масштабируемость для более крупных систем, поэтому будущие усовершенствования должны сочетать его с более эффективными методами оптимизации или эвристическими алгоритмами.

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

Рассмотрим возможные походы к снижению вычислительной сложности BFA в случае его использования для поиска оптимального распределения задач в иерархической системе. Для численных экспериментов использовались условия задачи и характеристики узлов, которые представлены в статье [19]. Общее количество сотрудников (M) равно 7, входное зада- ние (W) для иерархической системы состоит из трех подзадач (1, 2, 4), дискретность распределения подзадач (∆W) между узлами определяется как (1, 1, 1).

Модель иерархии и математические формулировки, используемые для вычисления критериальной функции в виде времени выполнения входного задания в иерархической системе, введены в статье [19].

Иерархическая система может быть представлена в виде множества составляющих ее элементов E:

где i Î [1, N] – иерархический уровень; j Î  Î [1, M] – порядковый номер элемента. Элементы на нижних уровнях системы – это исполнители, а на верхних – лидеры. Пример их нумерации в трехуровневой системе приведен на рисунке 2.

Иерархическая связь между элементами описывается с помощью соответствующего подчинения:

                             (1)

Подчинение  определяет для каждого элемента  набор связанных с ним элементов нижнего (i+1) уровня. В такой нотации иерархия (рис. 1) может быть описана следующим образом:

Иерархическая система выполняет задачу W, состоящую из k подзадач ST:

W(HS) = {ST1, …, STk}.

Задача W распределяется между всеми элементами иерархии:

 

Распределение удовлетворяет следующим условиям:

 и             (2)

Каждый элемент Ei характеризуется набором параметров v, которые определяют скорость выполнения подзадач или производительность:

                                       (3)

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

В простейшем случае все элементы Ei работают параллельно и выполняют назначенные им задачи wi одновременно. Иерархические системы, следующие такому принципу, классифицируются как системы типа HS0. Тогда время выполнения иерархической системой HS задачи W определяется как

T = max(ti), i Î [1, M],                             (4)

где

                                              (5)

Целью решения задачи является минимизация критериальной функции:

T ® min.                                                (6)

В такой формулировке эффективность иерар- хической системы определяется только оптимальностью варианта распределения задачи W между элементами, поскольку структура систе- мы (1) не влияет на (4). Для нахождения оптимального решения нужно сбалансировать распределение рабочей нагрузки между элементами, при этом порядок выполнения подзадач не влияет на значение критерия.

Следуя BFA, необходимо сгенерировать  все возможные варианты загрузки элементов (табл. 1). Для заданных значений W и ∆W общее количество возможных комбинаций составляет Nvar(E) = 2 ´ 3 ´ 5 = 30.

Таблица 1

Варианты загрузки элементов

Table 1

Options for loading elements

wj

st1

st2

st3

w1

0

0

0

w2

0

0

1

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

w5

0

0

4

w6

0

1

0

w7

0

1

1

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

w15

1

2

4

w16

1

0

0

w17

1

0

1

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

w30

1

2

4

BFA предполагает, что всем M элементам могут быть назначены все возможные варианты распределения. Тогда количество комбинаций распределения подзадач в исследуемой иерархии составит:

N(HS) = (Nvar)M,

N(HS) = 307 = 2 187´ 107 » 2,2 ´ 1010.

Для генерации вариантов распределения задач в иерархии (табл. 2), можно использовать процедуру на основе счетчиков. В рассматриваемом случае требуется тридцатиричный семиразрядный счетчик, где каждый разряд принимает значения от 0 до 30.

Таблица 2

Варианты загрузки иерархии

Table 2

Options for loading the hierarchy

N(HS)

w1

w2

w3

w4

w5

w6

w7

Valid

1

1

1

1

1

1

1

1

F

2

1

1

1

1

1

1

2

F

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

30

1

1

1

1

1

1

30

T

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

872

1

1

1

1

1

29

2

T

900

1

1

1

1

1

30

1

T

901

1

1

1

1

2

1

1

F

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

K

1

17

1

1

12

6

1

T

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

L

30

1

1

1

1

1

1

T

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

N

30

30

30

30

30

30

30

F

Нагрузку каждого элемента задает один из вариантов (табл. 1). Затем выполняется проверка условия (2) на соответствие входной задаче W = (1, 2, 4). В таблице 2 отмечены валид- ные варианты – T (истина) и недопустимые –  F (ложь).

Расчеты показывают, что только 41 160 вариантов валидны из более чем 2 ´ 1010 возможных.

Большое количество недопустимых решений объясняется особенностями генерации вариантов решения в BFA. Чтобы найти оптимум, необходимо сравнить время работы каждого элемента для всех возможных вариантов распределения задач, используя выражение (4) для иерархии HS0.

Методы снижения сложности BFA

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

Минимизация пространства поиска позволяет ограничивать рассмотрение вариантов загрузки иерархии, не удовлетворяющих или полностью условию W, или только одному из его компонентов (STn) в уравнениях (2), что значительно сокращает вычислительные издержки.

В процессе поиска оптимального распределения задач между узлами иерархии BFA должен рассмотреть все возможные варианты. Каждый из них проверяется на соответствие условию входной задачи W = (1, 2, 4), и только для тех, которые ему удовлетворяют, рассчиты- вается значение критериального выражения (4). Увеличение количества вариантов загрузки узлов и их числа в иерархии приводит к расширению пространства поиска и росту вычислительной сложности.

Для решения этой проблемы предложен метод сокращения пространства поиска (AP1), который позволяет уменьшить количество анализируемых вариантов за счет реструктуризации процесса генерации решения в рамках BFA.

При формировании очередного варианта распределения нагрузки этот метод исключает перебор для последнего узла, заменяя его на вычисление единственного допустимого решения с использованием (2):

Основным преимуществом такого метода является его способность гарантированно сокращать количество рассматриваемых конфи 

Рис. 3. Имплементация методов AP1 и AP2 
в BFA

Fig. 3. Implementation of AP1 
and AP2 methods in BFA
гураций, не теряя при этом точность решения. Сужая пространство поиска, этот подход снижает вычислительную сложность BFA не менее чем в Nvar раз и делает его применимым для более крупных иерархических систем.

Для проверки валидности вариантов решения (табл. 2) используется (2), а для вариантов, удовлетворяющих условию задачи, нужно рассчитать еще и значение критериальной функции (4) и выбрать то, которое обеспечивает минимизацию критерия (6). Очевидно, метод AP1 исключает лишь нарушения условия (2), возникающие только на последней стадии генерации вектора решения.

Выход из цикла генерации вектора до его завершения (AP2) останавливает генератор вариантов загрузки иерархии при нарушении любого условия STn.

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

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

Экспериментальная оценка эффективности методов снижения сложности

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

При реализации метода сокращения пространства поиска (AP1) количество потенциальных конфигураций (табл. 2) уменьшится  в Nvar раз и составит

N(NS) = 306 = 729 ´ 106 » 7,3 ´ 108.

Таким образом, из рассмотрения BFA исключаются 2,1141 ´ 1010 » 2,1 ´ 1010 невалидных конфигураций, а точность решения при этом сохраняется. Следует отметить, что полученные расчетные значения являются верхней оценкой ожидаемого ускорения работы BFA, поскольку они не учитывают время вычисления выражения (2) при определении нагрузки последнего узла в векторе решения.

В соответствии с выбранным вариантом запуска разработанное приложение по-разному реализует отдельные процедуры алгоритма перебора. Подлежащие изменениям процедуры показаны на рисунке 3.

В качестве тестового примера использовалась иерархическая система HS0, структура которой показана на рисунке 2.

Следует отметить, что точное решение задачи было найдено всеми вариантами реализации алгоритма (табл. 3). Оптимальное распределение задачи W между узлами иерархии, обеспечивающее минимальное время ее выполнения T = 1 (3), представлено в таблице 4.

Таблица 3

Параметры узлов иерархии

Table 3

Hierarchy node parameters

Узел

v1

v2

v3

E1

1

0,1

0,1

E2

0,1

1

0,1

E3

0,1

1

0,1

E4

0,1

0,1

1

E5

0,1

0,1

1

E6

0,1

0,1

1

E7

0,1

0,1

1

Проведена оценка эффективности двух методов снижения сложности BFA при их совместном и поочередном применении. Резуль- таты представлены в таблице 5. Используемые методы не влияют на основное достоинство алгоритма перебора – способность находить точное решение оптимизационной задачи.

Таблица 4

Точное решение задачи

Table 4

Exact solution to the problem

Узел

st1

st2

st3

E1

1

0

0

E2

0

1

0

E3

0

1

0

E4

0

0

1

E5

0

0

1

E6

0

0

1

E7

0

0

1

HS

1

2

4

Таблица 5

Результаты экспериментов

Table 5

Experimental results

Подход

Время (сек)

Ускорение

BFA

336,95

BFA + AP1

12,74

26,45

BFA + AP2

127,23

2,65

BFA + AP1 + AP2

4,43

76,06

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

Ускорение, полученное для метода AP1, весьма близко к теоретической оценке. Хотя метод AP2 и показал значительно уступающий эффект, его использование вместе с AP1 дало хороший результат, что говорит об их совместимости. Следует отметить, что в AP2 проводилась проверка выполнения только одного условия – ST1.

Заключение

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

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

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

Замена повторяющихся вычислений при оп- ределении времени работы иерархии для всех валидных вариантов загрузки (табл. 2) на чтение табличных значений требует оценки ее размера. В рассматриваемой задаче таблица включает Nvar ´ M = 30 ´ 7 = 210 элементов. Это компактный массив, который может быть локализован в кеше. Предварительно вычисленные значения времени работы узла можно хранить в индексированной по номеру варианта структуре данных, что позволяет быстро извлекать их при вычислении времени работы иерархии. Вместо многократного пересчета времени выполнения узлами своих подзадач для всех валидных вариантов решения этот подход заменяет его чтением из массива предварительно вычисленных значений, индексированных по номерам вариантов подзадач. Расчет значений производится перед запуском итерационного цикла в BFA. Замена прямых вычислений на чтение из массива станет эффективной в том случае, когда эти операции будут иметь разную вычислительную сложность и массив может быть локализован в кеше. В противном случае время работы алгоритма может даже возрасти.

Список литературы

1. Thilakarathne N.N. Improved hierarchical role-based access control model for cloud computing. IJCSN, 2018, vol. 8, no. 5, pp. 403–405.

2. Shen X., Yang W., Sun S. Analysis of the impact of China’s hierarchical medical system and online appointment diagnosis system on the sustainable development of public health: A case study of shangha. Sustainability, 2019, vol. 11, no. 23, art. 6564. URL: https://www.mdpi.com/2071-1050/11/23/6564 (дата обращения: 10.05.2025). doi: 10.3390/su11236564.

3. Shafiq S., Mashkoor A., Mayr-Dorn C., Egyed A. TaskAllocator: A recommendation approach for role-based tasks allocation in agile software development. Proc. IEEE/ACM Joint 15th ICSSP and 16th ACM/IEEE ICGSE, 2021, pp. 39–49. doi: 10.1109/ICSSP-ICGSE52873.2021.00014.

4. Chen Q., Qi L., Hua Z. et al. A hierarchical autonomous exploration algorithm for large-scale and complex environments with mobile robot. Proc. RobCE'23, 2023, pp. 238–243. doi: 10.1145/3598151.3598191.

5. Pettet G., Mukhopadhyay A., Kochenderfer M.J., Dubey A. Hierarchical planning for dynamic resource allocation in smart and connected communities. ACM TCPS, 2022, vol. 6, no. 4, art. 32. doi: 10.1145/3502869.

6. Giri C., Harale N. Optimization of resource allocation and distribution in industrial supply chains and logistics networks using genetic algorithm and game theory. CCIS, 2025, vol. 2373, pp. 262–280. doi: 10.1007/978-3-031-80775-6_19.

7. Zhang X., Debroy S. Resource management in mobile edge computing: A comprehensive survey. ACM Computing Surveys, 2023, vol. 55, no. 13s, art. 291. doi: 10.1145/3589639.

8. Gao X., Liu R., Kaushik A. Hierarchical multi-agent optimization for resource allocation in cloud computing. IEEE TPDS, 2021, vol. 32, no. 3, pp. 692–707. doi: 10.1109/TPDS.2020.3030920.

9. Huo L., Zhu J., Wu G., Li Z. A novel simulated annealing-based strategy for balanced UAV task assignment and path planning. Sensors, 2020, vol. 20, no. 17, art. 4769. doi: 10.3390/s20174769.

10. Sun J., Zhao D., Ren Z. et al. Multirobot task allocation for nursing home based on improved particle swarm algorithm. Proc. ICMLCA, 2021, pp. 1–7.

11. Guan Y., Liu Y., Li Y., Xu X. HierRL: Hierarchical reinforcement learning for task scheduling in distributed systems. IJCNN, 2022, pp. 1–8. doi: 10.1109/IJCNN55064.2022.9892507.

12. Lane P., Helian N., Bodla M.H., Zheng M. et al. Dynamic hierarchical structure optimisation for cloud computing job scheduling. In: LNCS. Proc. EvoApplications, 2022, vol. 13224, pp. 301–316. doi: 10.1007/978-3-031-02462-7_20.

13. Willemsen R., Cavicchia C., van den Heuvel W., van de Velden M. An exact solution approach for hierarchical clustering. INFORMS J. on Computing, 2025. URL: https://pubsonline.informs.org/doi/10.1287/ijoc.2024.0903 (дата обращения: 10.05.2025). doi: 10.1287/ijoc.2024.0903.

14. Kumar H., Tyagi I. Task allocation model based on hierarchical clustering and impact of different distance measures on the performance. IJFSA, 2020, vol. 9, no. 4, pp. 105–133. doi: 10.4018/IJFSA.2020100105.

15. Predari M., Tzovas C., Schulz C., Meyerhenke H. An MPI-based algorithm for mapping complex networks onto hierarchical architectures. In: LNTCS. Proc. Euro-Par 2021, 2021, vol. 12820, pp. 167–182. doi: 10.1007/978-3-030-85665-6_11.

16. Gao X., Liu R., Kaushik A. Hierarchical Multi-Agent optimization for resource allocation in cloud computing. IEEE TPDS, 2021, vol. 32, no. 3, pp. 692–707. doi: 10.1109/TPDS.2020.3030920.

17. Lane P., Helian N., Bodla M.H. et al. Dynamic hierarchical structure optimisation for cloud computing job scheduling. In: LNCS. Proc. EvoApplicatoons, vol. 13224, pp. 301–316. doi: 10.1007/978-3-031-02462-7_20.

18. Luo X., Liu Ch. Simultaneous task allocation and planning for multi-robots under hierarchical temporal logic specifications. ArXiv, 2024, art. 2401.04003. URL: https://arxiv.org/abs/2401.04003 (дата обращения: 10.05.2025).

19. Lupin S., Nestiurkina M., Puschin M., Skvortsova M. Multithreaded application for work distribution in hierarchical systems. AIP Conf. Proc., 2019, vol. 2171, no. 1, art. 060005. doi: 10.1063/1.5133203.

20. Parsa A., Najafabadi T.A., Salmasi F.R. A hierarchical smart home control system for improving load shedding and energy consumption: Design and implementation. Sensors, 2019, vol. 19, no. 9, pp. 3383–3390. doi: 10.1109/JSEN.2018.2880867.

References

1. Thilakarathne, N.N. (2018) ‘Improved hierarchical role-based access control model for cloud computing’, IJCSN, 8(5), pp. 403–405.

2. Shen, X., Yang, W., Sun, S. (2019) ‘Analysis of the impact of China’s hierarchical medical system and online appointment diagnosis system on the sustainable development of public health: A case study of shangha’, Sustainability, 11(23), art. 6564, available at: https://www.mdpi.com/2071-1050/11/23/6564 (accessed May 10, 2025). doi: 10.3390/su11236564.

3. Shafiq, S., Mashkoor, A., Mayr-Dorn, C., Egyed, A. (2021) ‘TaskAllocator: A recommendation approach for role-based tasks allocation in agile software development’, Proc. IEEE/ACM Joint 15th ICSSP and 16th ACM/IEEE ICGSE, pp. 39–49. doi: 10.1109/ICSSP-ICGSE52873.2021.00014.

4. Chen, Q., Qi, L., Hua, Z. et al. (2023) ‘A hierarchical autonomous exploration algorithm for large-scale and complex environments with mobile robot’, Proc. RobCE'23, pp. 238–243. doi: 10.1145/3598151.3598191.

5. Pettet, G., Mukhopadhyay, A., Kochenderfer, M.J., Dubey, A. (2022) ‘Hierarchical planning for dynamic resource allocation in smart and connected communities’, ACM TCPS, 6(4), art. 32. doi: 10.1145/3502869.

6. Giri, C., Harale, N. (2025) ‘Optimization of resource allocation and distribution in industrial supply chains and logistics networks using genetic algorithm and game theory’, CCIS, 2373, pp. 262–280. doi: 10.1007/978-3-031-80775-6_19.

7. Zhang, X., Debroy, S. (2023) ‘Resource management in mobile edge computing: A comprehensive survey’, ACM Computing Surveys, 55(13s), art. 291. doi: 10.1145/3589639.

8. Gao, X., Liu, R., Kaushik, A. (2021) ‘Hierarchical multi-agent optimization for resource allocation in cloud computing’, IEEE TPDS, 32(3), pp. 692–707. doi: 10.1109/TPDS.2020.3030920.

9. Huo, L., Zhu, J., Wu, G., Li, Z. (2020) ‘A novel simulated annealing-based strategy for balanced UAV task assignment and path planning’, Sensors, 20(17), art. 4769. doi: 10.3390/s20174769.

10. Sun, J., Zhao, D., Ren, Z. et al. (2021) ‘Multirobot task allocation for nursing home based on improved particle swarm algorithm’, Proc. ICMLCA, pp. 1–7.

11. Guan, Y., Liu, Y., Li, Y., Xu, X. (2022) ‘HierRL: Hierarchical reinforcement learning for task scheduling in distributed systems’, IJCNN, pp. 1–8. doi: 10.1109/IJCNN55064.2022.9892507.

12. Lane, P., Helian, N., Bodla, M.H., Zheng, M. et al. (2022) ‘Dynamic hierarchical structure optimisation for cloud computing job scheduling’, in LNCS. Proc. EvoApplications, 13224, pp. 301–316. doi: 10.1007/978-3-031-02462-7_20.

13. Willemsen, R., Cavicchia, C. van den Heuvel, W., van de Velden, M. (2025) ‘An exact solution approach for hierarchical clustering’, INFORMS J. on Computing, available at: https://pubsonline.informs.org/doi/10.1287/ijoc.2024.0903 (accessed May 10, 2025). doi: 10.1287/ijoc.2024.0903.

14. Kumar, H., Tyagi, I. (2020) ‘Task allocation model based on hierarchical clustering and impact of different distance measures on the performance’, IJFSA, 9(4), pp. 105–133. doi:  10.4018/IJFSA.2020100105.

15. Predari, M., Tzovas, C., Schulz, C., Meyerhenke, H. (2021) ‘An MPI-based algorithm for mapping complex networks onto hierarchical architectures’, in LNTCS. Proc. Euro-Par 2021, pp. 167–182. doi:  10.1007/978-3-030-85665-6_11.

16. Gao, X., Liu, R., Kaushik, A. (2021) ‘Hierarchical Multi-Agent optimization for resource allocation in cloud computing’, IEEE TPDS, 32(3), pp. 692–707. doi: 10.1109/TPDS.2020.3030920.

17. Lane, P., Helian, N., Bodla, M.H. et al. (2022) ‘Dynamic hierarchical structure optimisation for cloud computing job scheduling’, in LNCS, Proc. EvoApplicatoons, 13224, pp. 301–316. doi: 10.1007/978-3-031-02462-7_20.

18. Luo, X., Liu, Ch. (2024) ‘Simultaneous task allocation and planning for multi-robots under hierarchical temporal logic specifications’, ArXiv, art. 2401.04003, available at: https://arxiv.org/abs/2401.04003 (accessed May 10, 2025).

19. Lupin, S., Nestiurkina, M., Puschin, M., Skvortsova, M. (2019) ‘Multithreaded application for work distribution in hierarchical systems’, AIP Conf. Proc., 2171(1), art. 060005. doi: 10.1063/1.5133203.

20. Parsa, A., Najafabadi, T.A., Salmasi, F.R. (2019) ‘A hierarchical smart home control system for improving load shedding and energy consumption: Design and implementation’, Sensors, 19(9), pp. 3383–3390. doi: 10.1109/JSEN.2018.2880867.


Постоянный адрес статьи:
http://www.swsys.ru/index.php?page=article&id=5200
Версия для печати
Статья опубликована в выпуске журнала № 4 за 2025 год. [ на стр. 557-567 ]

Статья опубликована в выпуске журнала № 4 за 2025 год. [ на стр. 557-567 ]

Возможно, Вас заинтересуют следующие статьи схожих тематик:

Возможно, Вас заинтересуют следующие статьи схожих тематик: