Научная статья на тему 'Точный алгоритм для решения одного частного случая задачи Вебера в дискретной постановке'

Точный алгоритм для решения одного частного случая задачи Вебера в дискретной постановке Текст научной статьи по специальности «Математика»

CC BY
249
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЗАДАЧА ВЕБЕРА / П-ПОСЛЕДОВАТЕЛЬНОСВЯЗНАЯ ЦЕПЬ / ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / ТОЧНЫЙ АЛГОРИТМ / КВАЗИПОЛИНОМИАЛЬНЫЙ АЛГОРИТМ / WEBER PROBLEM / N-SEQUENTIALLY CONNECTED CHAIN / DYNAMIC PROGRAMMING / EXACT ALGORITHM / QUASI-POLYNOMIAL ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Шангин Роман Эдуардович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Exact algorithm for solving special case of discrete weber problem

An algorithm reasonably solving Weber problem for n-sequentially connected chain and finite set of points of location is described. The algorithm is compared with an integer linear programming algorithm realized in IBM ILOG CPLEX.

Текст научной работы на тему «Точный алгоритм для решения одного частного случая задачи Вебера в дискретной постановке»

УДК 519.863

ТОЧНЫЙ АЛГОРИТМ ДЛЯ РЕШЕНИЯ ОДНОГО ЧАСТНОГО СЛУЧАЯ ЗАДАЧИ ВЕБЕРА В ДИСКРЕТНОЙ ПОСТАНОВКЕ

Р. Э. Шангин

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

Ключевые слова: задача Вебера, п-последовательносвязная цепь, динамическое программирование, точный алгоритм, квазиполиномиальный алгоритм.

Рассматривается задача Вебера в дискретной постановке [1] для п-последовательно-связной цепи [2] и конечного множества позиций размещения.

Пусть О = (3, Е) — п-последовательносвязная цепь, где 3 — множество вершин графа (размещаемые объекты), Е = {(г,^) : г,^ € 3} — множество рёбер (связи между размещаемыми объектами). Пусть V — конечное множество, элементами которого являются позиции, предназначенные для размещения вершин графа О. Размещением вершин графа О назовем однозначное отображение п : 3 ^ V, то есть вершина г € 3 размещается в позицию ^ € V, причём в одну позицию возможно размещение нескольких вершин графа.

Стоимость размещения вершины г € 3 в множестве позиций V задается функцией р : 3 х V ^ К+, где р(г,^) —стоимость размещения вершины г € 3 в позиции ^ € V. Стоимость размещения ребра (г, ]) € Е на V2 определяется функцией с : Е х V2 ^ К+, где с((г,]),^дi,^дj) — стоимость размещения ребра (г,]) € Е на V2 при размещении его концевых вершин г,€ 3 в позициях '&i,'&j € V соответственно.

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

Р(п) = Е с((г,.7),п(г),п(?)) + ЕР(г,п(г)) ^ тт. (1)

Задача Вебера в дискретной постановке в случае, когда структура связей между размещаемыми объектами задается графом произвольной структуры, является ЫР-трудной [3], однако известны её полиномиально разрешимые частные случаи [1, 4, 5].

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

Идея алгоритма заключается в следующем. Обозначим тройкой (О, V, Р) задачу Вебера (1), где О = (3, Е) — п-последовательносвязная цепь; V — конечное множество позиций размещения и Р — функция стоимости размещения графа О. На множестве вершин цепи О задается нумерация согласно определению 1, предложенному в работе [2]. Процесс решения задачи (О,^ Р) разбивается на |31 — п шагов процесса ДП, где переход от одного шага динамического процесса к другому рассматривается как последовательный перебор вершин графа О в соответствии с их нумерацией. Обозначим Gi = (^,Е^ подграф графа О, индуцированный вершинами, номера которых принадлежат множеству {1, 2,... , г + п}, где 1 ^ г ^ 131 — п. На каждом шаге

i = 1, 2,..., |J | — n процесса ДП алгоритм рекуррентно находит оптимальное решение подзадачи (Gj, V, F), зная оптимальное решение подзадачи (Gi-i, V, F), полученное им на предыдущем шаге. Так, на конечном шаге | J| — n алгоритм находит оптимальное решение исходной задачи (G, V, F), поскольку G|j|-n = G, а подзадачи (Gj, V, F) на предыдущих шагах решены оптимально. Доказана

Теорема 1. Предложенный алгоритм находит точное решение задачи Вебера (1), где G - n-последовательносвязная цепь; V - конечное множество позиций размещения.

Вычислительная сложность алгоритма не превосходит O(|V|n+1(| J| — n)) операций, пространственная сложность равна O(| V|n+2). Проведён вычислительный эксперимент по анализу времени работы алгоритма. Для оценки эффективности алгоритма использовался программный пакет IBM ILOG CPLEX Optimization Studio 12.2 (решение модели целочисленного линейного программирования задачи Вебера (1) алгоритмом ветвей и границ с ограничением по времени работы). Тестовые данные генерировались случайным образом с равномерным распределением. Решались серии из 30 задач одинакового размера (| J|, |V|) —от (5,5) до (100,100).

Вычислительный эксперимент показал, что применение данного алгоритма перспективно при сравнительно малых значениях n, причём чем меньше n и чем больше количество вершин размещаемого графа, тем предлагаемый алгоритм более эффективен по сравнению с точными алгоритмами, являющимися вариациями полного перебора с отсевом заведомо бесперспективных подмножеств допустимых решений. Чем ближе n к числу вершин размещаемого графа, тем предлагаемый алгоритм менее эффективен. Например, при решении задачи Вебера для n-последовательносвязной цепи G = (J, E) с количеством вершин |J| = n + 1 время работы предложенного алгоритма оказалось сравнимо с временем работы алгоритма, использующего идею тривиального последовательного перебора допустимых решений.

ЛИТЕРАТУРА

1. Panyukov А. V. and Pelzwerger B. V. Polynomial algorithms to finite Veber problem for a tree network // J. Comput. Appl. Math. 1991. V. 35. P. 291-296.

2. Шангин Р. Э. О некоторых свойствах n-последовательносвязной цепи // Вестник ЮУрГУ. Сер. Вычислительная математика и информатика. 2013. Т. 2. №1. С. 106-113.

3. Панюков А. В. Модели и методы решения задач построения и идентификации геометрического размещения: дис. ... докт. физ.-мат. наук. М., 1999.

4. Забудский Г. Г., Филимонов Д. В. Решение дискретной минимаксной задачи размещения на сети // Изв. вузов. Математика. 2004. №5. С. 33-36.

5. Трубин В. А. Эффективный алгоритм для задачи Вебера с прямоугольной метрикой // Кибернетика. 1978. №6. С. 67-70.

i Надоели баннеры? Вы всегда можете отключить рекламу.