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

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

CC BY
606
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ЗАДАЧА О ПОКРЫТИИ МНОЖЕСТВА / ИНТЕРВАЛЬНАЯ НЕОПРЕДЕЛЕННОСТЬ / ЖАДНЫЙ АЛГОРИТМ / SET COVER PROBLEM / INTERVAL UNCERTAINTY / GREEDY ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Пролубников Александр Вячеславович

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

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

Похожие темы научных работ по математике , автор научной работы — Пролубников Александр Вячеславович

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

The set cover problem with interval weights and the greedy algorithm for its solution

Purpose: We study the set cover problem when a set of weighted subsets of a set U is supposed to be given. Cover set of U is a collection of subsets of that set when the union of members of the set contains U. We need to choose a cover that contains sets which have minimum total weight. The specificity of our work is that we investigate the problem with interval weights of the subsets. Methodology: We introduce definitions of optimal and approximate solutions of the problem. Realization of the weights of given subsets is a possible variant of these weights. The weak optimal solution of the problem is a solution that is optimal for some realization. The strong optimal solution is a solution that is optimal for any realization. The united optimal solution is such a set of weak solutions that it contains an optimal solution for any possible realization. The united approximate solution is such a set of covers that contains approximate solutions for every realization. Findings: The theorem of characterization of the strong optimal solution is proved. The modification of the greedy algorithm for the problem is presented. The algorithm gives the united approximate solution as a result. For the uniform distributions of weights, we present a modification of the algorithm that could be used to find probabilities of the approximate solutions. Originality/value: The concepts of optimal and approximate solutions are presented for the set cover problem with interval weights. The theorem of characterization of the strong optimal solution is proved. The modification of the greedy algorithm for the set cover problem with interval weights is presented.

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

Вычислительные технологии Том 20, № 6, 2015

Задача о покрытии множества с интервальными весами подмножеств и жадный алгоритм ее решения

А. В. Пролувников

Омский государственный университет им. Ф.М. Достоевского, Россия Контактный e-mail: [email protected]

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

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

Введение

Взвешенная задача о покрытии множества имеет следующую постановку. Дано множество и мощности | = т, дан конечный набор множеств в = {¿1,..., такой, что

п

вг С и и и вг = и. Набор множеств 5" = {Б^,... ,вгк}, Е Б, называется покрытием

г=1

к

множества и, если у вг^ = и. Для Si Е 5 заданы веса = т (¿¿), > 0. Вес т (5")

г=1

набора множеств 5" = ,... , Бгк} равен сумме весов входящих в него множеств. Необходимо найти покрытие множества и минимального веса — оптимальное покрытие.

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

Задача о покрытии множества МР-полна [1], и она часто возникает при решении других оптимизационных задач и задач анализа данных. Ее приложения включают в себя задачи размещения [2], машинного обучения [3], распределения ресурсов [4], интеллектуального анализа данных [5], задачи, возникающие при проектировании интегральных схем [6], и др.

ИВТ СО РАН, 2015

Точные алгоритмы решения задачи о покрытии множества основаны на методах ветвей и границ [6-9], отсечения [9,10], перебора ¿-классов [11] и др. Поскольку точные алгоритмы для общего случая задачи экспоненциальны по времени, разработаны полиномиальные приближенные алгоритмы решения задачи, имеющие априорные оценки точности получаемых решений. Одним из них является жадный алгоритм.

При небольшой трудоемкости, составляющей О(пт), как правило, жадный алгоритм в ходе вычислительных экспериментов дает хорошее приближение оптимального решения задачи. Так, в [12] показано, что для задач из [13] (библиотеки задач, используемой для тестирования алгоритмов решения задачи о покрытии) жадный алгоритм в среднем выбирает не более чем на 7% больше множеств, чем требуется для оптимального покрытия в невзвешенном случае, и получает покрытие в среднем не более чем на 13 % большего веса, чем вес оптимального покрытия во взвешенном случае задачи. Для общего случая задачи о покрытии с положительными весами верна априорная оценка точности

где Н(т) = 1/k; Gr — покрытие, получаемое с помощью жадного алгоритма; Opt —

оптимальное покрытие [14]. Показано, что при условии Р = ЫР получение полиномиального алгоритма с оценкой точности (1 — е) 1п т при е > 0 невозможно [15].

Для некоторых постановок задачи о покрытии с неопределенностями во входных данных предложены подходы к решению. В [16] задача о покрытии рассматривается как задача целочисленного линейного программирования, где правая часть ограничений представляет собой бинарную случайную величину, т. е. заданы вероятности, с которыми должны быть покрыты элементы и. В работах [17-19] неопределенными считаются коэффициенты матрицы ограничений, т. е. считается неопределенной принадлежность элементов и множествам из Б. В [20] рассматривается задача нахождения робастного решения задачи о покрытии множеств с интервальными весами.

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

Не для всякой ИЗПМ существует сильное оптимальное решение. В этой связи аналогично тому, как это делается в работах, посвященных задачам на графах с интервальными весами ребер (задаче о кратчайшем остовном дереве в графе [21], о наиболее длинном пути в ориентированном ациклическом графе [22]), нами вводится понятие объединенного оптимального решения задачи как такого набора слабых оптимальных решений, что при любых допустимых точечных весах множеств среди покрытий из этого набора найдется покрытие, являющееся оптимальным для этого случая.

В отличие от задач, решаемых в [21,22], точечные варианты которых полиномиально разрешимы, задача о покрытии в случае точечных весов является ЖР-трудной. Нами вводится понятие объединенного оптимального решения ИЗПМ и предлагается интервальная модификация жадного алгоритма для нахождения ее приближенного решения.

(1)

т

1. Задача о покрытии множества с интервальными весами и ее оптимальные решения

Для обозначения интервалов используется жирный шрифт. Для интервала а его нижняя и верхняя границы обозначаются соответственно как а и а. Сумма интервалов а и b определяется как а + b = [а + b, а + Ь].

В ИЗПМ заданы U, S и вектор w = (w\,..., wn) интервальных весов множеств из S, wi > 0. Определим, что мы будем считать слабым и сильным оптимальными решениями такой задачи.

Определение 1. Реализацией весов множеств называется вектор точечных весов w Е w.

Реализация w Е w задает задачу о покрытии множества с теми же U и S, что и в ИЗПМ, и точечными весами множеств, задаваемыми w. Оптимальное решение для такой задачи будем называть оптимальным решением для реализации w.

Определение 2. Слабое оптимальное решение ИЗПМ — это решение, являющееся оптимальным для некоторой реализации w Е w.

Определение 3. Сильное оптимальное решение ИЗПМ — это решение, являющееся оптимальным для любой реализации w Е w.

Замечание 1. Любое сильное оптимальное решение является и слабым оптимальным решением.

Теорема (о характеризации сильного оптимального решения). Решение ИЗПМ является сильным оптимальным решением тогда и только тогда, когда оно оптимально в следующей ситуации: веса входящих в него множеств принимают максимально допустимый вес, а веса всех других множеств — минимально допустимый.

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

Если покрытие Opt оптимально в ситуации, указанной в условиях теоремы, то для произвольного покрытия Cvr будем иметь

Y1 щ + Y1 щ - Y1 + Y1 щ.

Si eOpt\Cvr SieOptnCvr SieCvr\oPt SieOptnCvr

Для произвольных весов Wi Е w^ множеств Si Е Opt П Cvr будем иметь

Y1 щ + Wi — Y1 + Wi.

SieOpt\Cvr SieOptnCvr SieCvr\Opt SieOptnCvr

Поскольку

Y^ wi— Y1 wi и Y1 — Y1 ^

SieOpt\Cvr SieOpt\Cvr SieOpt\Cvr SieOpt\Cvr

имеем

У] Wi + Y Wi — Y Wi + Y Wi.

SieOpt\Cvr SieOptnCvr SieCvr\Opt SieOptnCvr

То есть w(Opt) — w(Cvr) при всех возможных w Е w, и значит Opt, — сильное оптимальное решение. □

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

Поскольку не для всякой ИЗПМ существует сильное оптимальное решение, введем понятие объединенного оптимального решения ИЗПМ как набора оптимальных решений, содержащего оптимальные решения для всех возможных реализаций w Е w.

Определение 4. Объединенным оптимальным решением ИЗПМ называется такой набор слабых оптимальных решений Opt = [Opti,..., Optk}, что для любой реализации w Е w найдется Opti Е Opt такое, что Opti — оптимальное решение для этой реализации.

Поскольку нахождение оптимального решения задачи о покрытии является NP-трудной задачей в случае точечных весов, и в интервальном случае нахождение и слабого, и сильного оптимальных решений также является ЖР-трудной задачей. Далее построим схему алгоритма нахождения приближенного решения ИЗПМ.

2. Жадный алгоритм решения задачи о покрытии множества с интервальными весами

2.1. Приближенные решения ИЗПМ

Рассмотрим жадный алгоритм решения задачи о покрытии для случая точечных весов множеств из в. В ходе его работы множества из в выбираются в покрытие Сг соответственно минимуму отношения Wi/|Si| — относительного веса множества Si.

Жадный Алгоритм решения задачи о покрытии множества

1 Gr ^ 0.

2 if Gr — покрытие U,

3 print Gr.

s.г е s и st<£ и s3),

jeGr )

5 Gr ^ Gr \J[Sq},

6 Vz : Si ^ Si \ Sq.

7 Перейти на шаг 2.

4 else выбрать Sq Е S такое, что wq/\Sq| = min< Wi/\Si\

inj\

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

Определение 5. Слабое приближенное решение ИЗПМ — это решение, которое дает точечный жадный алгоритм для некоторой реализации т Е 'ш.

Каждое слабое приближенное решение ИЗПМ будем рассматривать как упорядоченное множество некоторых элементов из в. Через ю[Сг] обозначим подмножество реализаций из ю, при которых набор множеств Сг может быть получен точечным жадным алгоритмом при некоторой нумерации множеств из 5; ш[Сг] = {^ш[Сг}\,... , ш[Сг]п).

Введем понятие объединенного приближенного решения ИЗПМ.

Определение 6. Объединенным приближенным решением ИЗПМ называется такой набор покрытий Ог = {Сг\,..., Сгк}, при котором для любой реализации т Е 'ш имеется Сг'г Е Ог такое, что Сг'г — приближенное решение для т.

2.2. Алгоритм нахождения объединенного приближенного решения

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

Схему точечного жадного алгоритма можно представить как последовательность итераций следующего вида.

Итерация жадного алгоритма

Имеем задачу БСР.

1) выбираем такое, что

wq/\вд\ = тт< Wi/\Si\ Бг Е Б и Бг<£ и ^Д;

1

2) добавляем в строимое покрытие Сг: Сг ^ Сг и };

3) получаем задачу БСР': и' ^ и \ Бд, ^ \ Бд, т' ^ т.

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

Щ/\3д \ = тЫ Ыг/\3г\ | вг Е в и ^ £ У (2)

^ зеСг )

совершаем переход от задачи вСР с заданными и, в, w к задаче вСР' с и', в', и>.

Пусть далее для индивидуальной ИЗПМ вСР и$ср означает множество, для которого необходимо построить покрытие, взср — набор подмножеств и$ср, которые могут быть использованы для построения покрытия, вектор Юзср задает интервальные веса этих множеств. Для нахождения объединенного приближенного решения ИЗПМ будем выполнять итерации следующего вида.

Итерация жадного алгоритма решения ИЗПМ

Имеем ИЗПМ вСР.

1) находим множество Q = ,... , } (|ф| = ¿), где Sij €Q, если € 'шзср такая, что

Wi /\Si. | = min < Wi/\Si\

< Wi/\Si\ Si e Sscp и Si^ У sA ; I jeer )

2) получаем варианты построения Сг: Сг ^ Сг и },... ,Сг ^ Сг и };

3) получаем задачи с наиденными для них

USCP(ii]' Ssscp(ii), wscp{ij]' j = l,t.

На каждой итерации жадного алгоритма решения ИЗПМ, имея SCP и определив множество Q, получаем набор ИЗПМ SCP(i... , SCP(it), для каждой из которых будем выполнять итерации такого же вида, получая тем самым слабые приближенные решения из Gr для всех реализаций w e w.

Опишем процедуры, используемые алгоритмом. Процедура ВЫБОР получает на вход задачу SCP и в качестве результата дает множество Q. Si e Q в том случае, если существует такая реализация w e wscp , что на множестве Si достигается минимум относительного веса среди множеств из Sscp .

ВЫБОР (SCP) : Q;

1 for У Si e Sscp :

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

2 Vi ^ Wi/\Si|;

3 Q ^ 0;

4 v ^ minj^i \ Si e Sscp, Si = 0};

5 for V& e Sscp :

6 if q < v

7 Q ^ Q U {$}.

Здесь и далее vi означает интервал относительных весов для интервала возможных весов w i множества Si: vi = Wi/\Si\. Пусть S = {Si, S2, S3} и интервалы относительных весов множеств из S соотносятся друг с другом так, как показано на рис. 1, где v1 = w1/\S1\, v2 = w2/\S2\ и v3 = ^з/\5,з\. В ходе работы процедуры Выбор в Q будут выбраны множества S1 и S2, тогда как S3 в Q выбрано не будет.

Процедура Вес выбранного множества получает на вход задачу SCP и индекс q одного из множеств из Q. В качестве результата выдается модифицированный вес этого множества w[Gr]q, т.е. вес wq модифицируется так, чтобы из Wscp исключить несовместные с выбором Sq в Q реализации. Иначе говоря, w[Gr]q — интервал,

«1

О

v

Рис. 1. Построение множества Q и модификация весов множеств из Sscp

содержащий веса Sq, при которых Sq может быть выбрано в Gr точечным жадным алгоритмом, когда решается SCP при всех возможных точечных весах других множеств

из Sscp.

Вес выбранного множества (SCP,Q,q) : w[Gr]q;

1 v ^ minj^j /1 Si I I Si E Q,i = q};

2 if Wq / I Sq I >V

3 Wq ^ ISg I • V.

4 w[Gr]q ^ Wq.

Для примера, изображенного на рис. 1, в случае, если в Gr выбирается S2, часть w2, содержащая w2, большие, чем • v, не включается в w[Gr]2.

Процедура Модификация задачи получает на вход ИЗПМ задачу SCP и индекс q множества Sq E Q, выбираемого в одно из решений Gr E Gr. Результатом работы процедуры является задача SCP', для которой Uscp' = Uscp \ Sq, для Si (J Sj полагаем S[ = Si \ Sq. Также производится модификация весов множеств Si E Sscp в соответствии с выбранным в Gr множеством Sq: из интервальных весов множеств исключаются те реализации, которые не совместны с таким выбором.

Модификация задачи (SCP, q) : SCP1;

1 Sscp' ^ 0;

2 for VS, E 5

3 if i = q и Si = 0

4 if wl/ISlI < wq /1 Sq I

5 w!t H^b щ /1 Sq I

6 else w'i ^ Wi;

7 S'i ^ Si \ Sq;

8 Sscp' ^ Sscp' U {S'i};

9 Uscp' ^ Uscp \ Sq;

10 Wscp' ^ (w[,..., w'n).

Отметим, что в ходе модификации ИЗПМ, производимой этой процедурой, среди множеств из Sscp' могут оказаться пустые. Эти множества не исключаются из Sscp' для того, чтобы не менялась нумерация множеств из S, заданная в исходной ИЗПМ, поданной на вход алгоритма.

В ситуации, представленной на рис. 1, при выборе в Gr множества S2 из W\ будут исключены значения wi, меньшие, чем IS1I • w2/IS2].

Общая схема алгоритма нахождения объединенного приближенного решения следующая:

Нахождение объединенного приближенного решения (SCP) : Gr;

1 Gr ^ 0; Gr ^ 0;

2 Gr ^ Объединенное приближенное решение (SCP, Gr, Gr).

Здесь Объединенное приближенное решение — это рекурсивно вызываемая процедура, использующая описанные выше процедуры. При вызове этой процедуры для индивидуальной ИЗПМ SCP производится построение слабого приближенного решения Gr, включаемого в объединенное приближенное решение Gr. Gr и Gr — аргументы процедуры, изменяемые в ходе ее работы.

Объединенное приближенное решение (SCP,Gr, Gr);

1 if U = 0

2 Gr — полученное слабое приближенное решение; сохранить w[Gr];

3 Gr ^ Gr U {Gr};

4 return.

5 else

6 Q ^ Выбор (SCP);

7 for У Si e Q:

8 Gr ^ Gr; w ^ w[Gr];

9 Gr ^ Gr U {Si};

10 w[Gr]i ^ Вес выбранного множества (SCP,Q,i);

11 SCP1 ^ Модификация задачи (SCP, г);

12 Объединенное приближенное решение (SCP',Gr, Gr);

13 Gr ^ Gr; w[Gr] ^ w;

14 print Gr.

Замечание 2. Представленный алгоритм является обобщением точечного жадного алгоритма. В случае, если все интервалы весов вырождены, т.е. имеем = для всех в, € в, результатом его работы будут все покрытия, которые могут быть получены точечным жадным алгоритмом при рассмотрении всех возможных вариантов выбора множества в конструируемое покрытие, если минимум в (2) достигается на нескольких множествах из в.

2.3. Расчет вероятностей слабых приближенных решений ИЗПМ

Полагаем, что веса /шг множеств € в — это случайные величины, для которых задано равномерное вероятностное распределение на интервалах юг.

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

Через Р(Сг) обозначим вероятность слабого приближенного решения Сг. Если Сг = ,... , }, то, поскольку множества Sij € Сг перечисляются в порядке их включения в Сг, Р(Сг) может быть рассчитана как

Р(Сг) = Р(^) ■ ... ■ Р(^),

где ) — вероятность выбора Sij в Сг на ]-й итерации точечного жадного алгоритма при последовательно выбранных ранее в Сг множествах ,... , и допустимых на момент выбора Sij в Сг весах множеств из в, не входящих в Сг перед выполнением ]-й итерации.

Процедура Вероятность выбора получает на вход ИЗПМ БСР индекс q множества вд € Q, для которого рассчитывается вероятность получения реализации € юд, приводящей к выбору точечным жадным алгоритмом множества в искомое слабое приближенное решение. Результат работы этой процедуры — значение вероятности Р(Бд) такой реализации. Для расчета Р(Бд) используются процедуры Разбиение и Вероятность.

В ходе работы процедуры Разбиение строится разбиение Р интервалов относительных весов множеств из Q, которое используется для нахождения вероятности выбора точечным жадным алгоритмом множества Sq на первой итерации решения задачи SCР при реализациях w G Wscp •

Разбиение (SCP, Q) : Р;

1 for У Si g Q:

2 Vi ^ Wi/ISil;

3 vr ^ mm{wi/ISiI | Si G Q};

4 for У Si G Q:

5 Vi ^ vr;

6 M ^ {v1,... ,vi}, где Vj такие, что 3Si G Q, для которого Vj = v_i или Vj = Vi, Vi = vr • M — упорядоченное по возрастанию его элементов множество.

7 for У Si G Q:

8 Mi ^ {vj G М I vj G Vi},

Mi — упорядоченное по возрастанию его элементов множество.

9 Pi ^ {vn,..., vu}, где vik = [vj,vj+i], vj,vj+i G Mi• 10 p ^{Pl,...,Pm}.

На рис. 2 проиллюстрировано построение разбиения Р для набора множеств из Q, IQI = 3, показаны три интервала возможных значений относительных весов для множеств из Q\ Vi, v2, v3. В этом примере vr = v1 = v4. Часть интервала v2, лежащая правее значения v4, исключается из рассмотрения при построении разбиения Р = {Р1, Р2, Р3}, поскольку реализации, принадлежащие этому интервалу при заданном Wscp , не совместны с выбором S2 в Q\ при любой из таких реализаций жадным алгоритмом будет выбрано либо множество S1 с относительным весом из интервала v1, либо S3 с относительным весом из интервала v3. Имеем Р1 = {v11, v12, ^3}, где v11 = [v1,v2\, V12 = [ь2,ьз], V13 = [^3,^4]; P2 = {V21}, где V21 = [г^,^]; P3 = {«31, V32}, где V31 = [г^г^], V32 = [V3,V4 ]•

В ходе работы процедуры Вероятность по найденному разбиению Р для множества Sq рассчитывается вероятность P(S,g) — вероятность выбора Sq G Q в конструируемое приближенное решение при заданных весах Wscp • Для случайного относительного веса vq = Wq /1 Sq |, соответствующего случайному весу wq множества Sq (wq G wq, где Wq — q-я компонента Wscp), имеем

P(Sq) = E P(^ I V1 G vq3) ■ P(Vq G VQJ),

vqj ePq

где суммирование производится по всем интервалам из разбиения Pq интервала vq •

P(Vq G Vqj) = (Vqj - Vqj )/(Vq - ).

Рис. 2. Построение множества Q и модификация весов множеств из Sscp

Пусть К = {% | € Q,i = д, vqj € Рг} — множество индексов из Q, не включая д, в разбиение интервалов относительных весов которых входит интервал VРасчет вероятности Р( вд | уя € V д^) производится по формуле

Р( | Уд € Vg3) = £ Т-1- РГ , (3)

ге к + 1 1

где г — подмножество из К, а Рг — вероятность выбора при уг € Vgj для I € г и уг > ^Зд^ для г € г. Обозначая через Р^ вероятность того, что уг € Vgj, и через ((^ вероятность того, что уг > Vд^, имеем

Ргз = (Ъдз - Щ^/Фг - ^), = (Щ - - ^),

Р = П Рг^ П (г3,

гег геЯ\г

где г принимает все возможные значения в (3) от г = 0 до г = К. В том случае, если в (3) г = 0 или К \ г = 0, соответствующее произведение (Пгег Р^ или Пгек\г (у) заменяется на 1. Множитель 1/(1 + |г|) в (3) обусловлен тем, что для N равномерно распределенных на одном и том же интервале случайных величин £1,... , ^ для любого г имеем Р(= шт{£1,... , ^}) = 1/N. Таким образом, получаем следующие процедуры для расчета вероятности Р( вд).

Вероятность выбора ( БСР^, д) : Р(Бд);

1 Р ^ Разбиение (вСР, Q);

2 Р( ) ^ Вероятность ( вСР, Р, Q, д).

Вероятность ( вСР,Р^, о) : Р(вд);

1 1ЬГ ] = 1 10 I Рд |

2 Р(^ € V д^ = - - Щ);

3 К ^{l€Q ^дз€ Рг};

4 йг У € К:

5 (Удз- - Ш);

6 1Ьг Уг € К \ г:

7 - - ^);

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

8 Р( | Уд € Vg3) ^ Е (Т:Тщ П Рг. П (г,) ;

гея\ + 1 1 гег геК\г /

9 Р( ) ^ £ Р( | Уд € Vg3) • Р(Уд € V д,) .

3=1

В случае, если среди множеств из Q имеются множества с вырожденными интервальными весами, т.е. = щщ для некоторых € Q, расчет Р(5'д) должен быть проведен по следующей формуле:

Р( 5) = Д[(«г - Щ)/(Ъ - Ш)],

г=д

где ьд = ЦБд| = щдЦвд|. Для других г € Q, г = д, и таких, что — вырожденные, в произведении из (4) полагаем (у г — ьд)/(у г — у^ = (у г — — Уц) = 1.

Для того чтобы находить Р(Сг) для Сг € Сг, необходимо произвести следующие модификации представленных выше процедур. На шаге 1 процедуры Нахождение объединенного приближенного решения производится инициализация: Р(Сг) ^ 1. Процедура Вероятность выбора вызывается перед выполнением процедуры Модификация задачи в ходе представленной выше процедуры Объединенное приближенное решение. При включении в Сг множества Бг перед шагом 10 этой процедуры вычисляем текущее значение Р(Сг):

Р(Сг) ^ Р(Сг) ■ Вероятность выбора (8СР,(^,{).

Значение Р(Сг), рассчитанное до выбора в Сг множества Бг, должно сохраняться на шаге 8 процедуры Объединенное приближенное решение и восстанавливаться после выхода из нее на шаге 13 для того, чтобы рассчитывать вероятность других слабых приближенных решений, получаемых при выборе в строимое слабое приближенное решение Сг € Сг других множеств из Q. Итоговое значение должно быть сохранено перед выходом из этой процедуры на шаге 2.

2.4. Пример результата работы представленного алгоритма

Рассмотрим результат работы представленного алгоритма для нахождения объединенного приближенного решения ИЗМП со следующими входными данными:

и = {1, 2,3,4,5};

5 = {81}82,83,84}, где & = {1, 2, 3}, 82 = {3,4, 5}, & = {2,5}, ^ = {2, 3,4};

= [1, 3], Ю2 = [2, 5], 'Шз =[4, 6], 'Ш4 =[1, 4]. Для этой задачи получаем

Сг = {Сп, Ст'2, Сгз, Сг-4, Ст'5, Сг-6, Сг7}.

Слабые приближенные решения Сгг € Сг и множества реализаций ю [Сгг] представлены в табл. 1; здесь приведены также вероятности полученных слабых приближенных решений Р(Сг'г) (с точностью до сотых долей) и их суммарные интервальные веса, т. е. интервалы w(Gri) возможных весов получаемых покрытий. Вектор позволяет

Таблица 1. Слабые приближенные решения, входящие в объединенное приближенное решение Сг

Сгг ы[Сп ] Р (Сгг) ■ш(Сп)

Сп = ф,^} [1, 3] х [2, 5] х [4, 6] х [1, 4] 0.46 [3, 8]

СГ2 = {Бг, 84,82} [1, 3] х [2, 5] х [4, 6] х [1, 2.5] 0.14 [4,10.5]

Сгз = {81,84,83} [1, 3] х [2, 5] х [4, 5] х [1, 2.5] 0.01 [6,10.5]

СГ4 = {82,8!} [2, 3] х [2, 3] х [4, 6] х [1, 4] 0.11 [4, 6]

Сг5 = {^ь^} [1, 3] х [2, 5] х [4, 6] х [1, 3] 0.23 [6,11]

Сг6 = {^ь^з} [1, 3] х [2, 5] х [4, 5] х [1, 3] 0.02 [6,11]

СГ7 = {84,82,8^ [2, 3] х [2, 3] х [4, 6] х [1, 3] 0.02 [5, 9]

Таблица 2. Модифицированная таблица слабых приближенных решений из Сг

СГг ю[Сгг] Р (СП) ю(Сгг)

СП = {^1,^2} [1,3] х [2, 5] х [4,6] х [1,4] 0.96 [3, 8]

Сг2 = {^ьЯ^з} [1, 3] х [2, 5] х [4, 5] х [1, 3] 0.03 [6,11]

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

Поскольку набор множеств, входящих в покрытие, получаемое точечным жадным алгоритмом, может содержать избыточные множества, а также зависит от порядка выбора в него множеств в том случае, когда минимум в (2) достигается на более чем одном множестве, в Ог могут содержаться избыточные покрытия, при удалении которых из Ог мы также получим объединенное приближенное решение, но с меньшим числом покрытий, рассматриваемых без учета порядка входящих в них множеств.

Пусть дана таблица указанного вида, содержащая слабые приближенные решения из некоторого объединенного приближенного решения Ог. Если С гг, С г^ Е Ог и С гг С С г^, то для любой т Ею будем иметь

т(С г^) = т(С гг) + т(С г^ \С гг).

Поскольку Сг^\Сгг = 0, а для любого Бг Е Б имеем т(Бг) > 0, для любого т Е ю[Сг^] имеем т(Сг^) > т(Сгг), а следовательно, можно положить Сг к ^ Сгг, Сг к добавить в таблицу, а Сгг и Сг^ удалить из нее. При этом полагаем

ю[Сгк ] ^ ю[С Г г] и ю[Сг3 ], Р(Сгк ) ^ Р (С Г г ) + Р(Сг,-),

после чего производим перенумерацию решений.

В случае, если Сгг,Сг^ Е Ог отличаются только порядком элементов, то можно положить С г к ^ С гг, С г к добавить в таблицу, а С гг и С г^ удалить из нее. При этом полагаем

ю[Сгк] ^ ю[Сгг]ию[Сг,], Р(СГк) ^ Р(Сгг) + Р(Сг,),

после чего производим перенумерацию решений.

Пример такой модификации полученного объединенного приближенного решения представлен в табл. 2. Для рассмотренной ИЗПМ при заданном равномерном распределении на интервалах весов получены слабые приближенные интервальные решения: Сг 1 с вероятностью его получения 0.96 и Сг2 с вероятностью получения 0.03.

2.5. Вычислительная сложность и точность представленного алгоритма

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

1) количеством вариантов ветвления, производимого в ходе рекурсивных вызовов процедуры Объединенное приближенное решение, т.е. значениями |<3|, получаемыми в результате выполнения процедуры Выбор;

2) вычислительной сложностью выполнения процедуры Вероятность, в ходе которой производится перебор подмножеств г в формуле (3), состоящих из элементов множеств КСQ, что требует 0(2^-1) элементарных машинных операций.

Вычислительная сложность представленного алгоритма нахождения объединенного приближенного решения ИЗПМ может быть снижена, если поставить задачу нахождения не всего объединенного приближенного решения, а только наиболее вероятных слабых приближенных решений, входящих в него. Для этого, задавая пороговое значение Pmin, будем осуществлять выход из процедуры Объединенное приближенное решение, если в процессе работы алгоритма на какой-то его итерации получаем P(Gr) < P.

1 min'

Для объединенного приближенного решения Gr задачи SCP, получаемого с помощью интервального жадного алгоритма, имеем: для любого w Е Wscp существует Gr Е Gr, что Gr будет построено точечным жадным алгоритмом для точечной задачи о покрытии с весами w и Uscp , Sscp , а значит, для него будет справедлива логарифмическая априорная оценка точности (1) для весов, задаваемых w.

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

Благодарности. Автор благодарит участников семинара по интервальному анализу и его приложениям С.И. Жилина, С.И. Кумкова, Д.Ю. Надежина и С.П. Шарого за высказанные ими замечания и пожелания.

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

[1] Karp, R.M. Reducibility among combinatorial problems //50 years of integer programming 1958-2008: Lectures of the Pioneers of Integer Programming. Berlin, Heidelberg: SpringerVerlag, 2010. P. 219-241.

[2] Farahani, R.Z., Asgari, N., Heidari, N., Hosseininia, M., Goh, M. Covering problems in facility location: A review // Computers and Industrial Engineering. 2012. No. 62(1). P. 368-407.

[3] Kearns, M.J. The computational complexity of machine learning. Cambridge: MIT Press, 1990. 176 p.

[4] Milena, M. Set cover with requirements and costs evolving over time // Randomization, Approximation, and Combinatorial Optimization. Algorithms and Techniques: Lecture Notes in Computer Science. Vol. 1671. Berlin, Heidelberg: Springer, 1999. P. 63-72.

[5] Gao, B.J., Ester, M., Cai, J.-Y., Schulte, O., Xiong, H. The minimum consistent subset cover problem and its applications in data mining // Proc. of the 13th ACM SIGKDD Intern. Conf. on Knowledge Discovery and Data Mining, KDD '07. New York, USA, 2007. P. 310-319.

[6] Закревский А.Д. Логический синтез каскадных схем. М.: Наука, 1981. 416 c. Zakrevsky, A.D. Logical synthesis of cascade schemes. Moscow: Nauka, 1981. 416 p. (in Russ.)

[7] Герман О.В., Ефремов О.В. Алгоритм решения обобщенной задачи о покрытии // Экономика и матем. методы. 1998. Т. 34, вып. 4. С. 134-140.

German, O.V., Efremov, O.V. An algorithm for the generalized set cover problem // Economics and Mathematical Methods. 1998. Vol. 34, iss. 4. P. 134-140. (in Russ.)

[8] Balas, E., Carrera, M.C. A dynamic subgradient-based branch and bound procedure for set covering // Operational Research. 1996. Vol. 44(6). P. 875-890.

[9] Balas, E., Ho, A. Set covering algorithms using cutting planes, heuristics, and subgradient optimization: a computational study // Mathematical Programming. 1980. Vol. 12. P. 37-60.

[10] Garfinkel, R.S., Nemhauser, G.L. Integer programming. New York: Wiley, 1972. 427 p.

[11] Eremeev, A.V., Kolokolov, A.A., Zaozerskaya, L.A. A hybrid algorithm for set covering problem // Proc. of Intern. Workshop on Discrete Optimization Methods in Sheduling and Computer-aided Design. Minsk, 2000. P. 123-129.

[12] Gomes, F.C., Meneses, C.N., Pardalos, P.M., Viana, G.V.R. Experimental analysis of approximation algorithms for the vertex cover and set covering problems // Computers and Operations Research. 2006. Vol. 33(12). P. 3520-3534.

[13] Beasley, J.E. An algorithm for set covering problem // European Journal of Operational Research. 1987. Vol. 31. P. 85-93.

[14] Chvatal, V. A greedy heuristic for the set-covering problem // Mathematics of Operation Research. 1979. Vol. 4(3). P. 233-235.

[15] Feige, U. A threshhold of lnn for approximating set cover // Journal of the ACM. 1998. Vol. 45(4). P. 634-652.

[16] Beraldi, P., Ruszczynski, A. The probabilistic set-covering problem // Operations Research. 2002. Vol. 50(6). P. 956-967.

[17] Hwang, M.J., Chiang, C.I., Liu, Y.H. Solving a fuzzy set-covering problem // Mathematical and Computer Modelling. 2004. Vol. 40(7). P. 861-865.

[18] Chiang, C.I., Hwang, M.J., Liu, Y.H. An alternative formulation for certain fuzzy set-covering problems // Mathematical and Computer Modelling. 2005. Vol. 42(3-4). P. 363-365.

[19] Fischetti, M., Monaci, M. Cutting plane versus compact formulations for uncertain (integer) linear programs // Mathematical Programming Computation. 2012. Vol. 4(3). P. 239-273.

[20] Pereira, P., Averbakh, I. The robust set covering problem with interval data // Annals of Operations Research. 2011. Vol. 207(1). P. 1-19.

[21] Yaman, H., Karasan, O.E., Pinar, M.C. Longest path problem with interval data: Technical Report 9908, Department of Industrial Engineering, Bilkent University, 06533 Bilkent, Ankara, Turkey, 1999.

[22] Yaman, H., Karasan, O.E., Pinar, M.C. The robust minimum spanning tree problem with interval data // Operations Research Letters. 2001. Vol. 29(1). P. 31-40.

Поступила в редакцию 6 июля 2015 г., с доработки — 26 августа 2015 г.

The set cover problem with interval weights and the greedy algorithm for its solution

Prolubnikov, Alexander V.

Omsk F.M. Dostoevsky State University, Omsk, 644077, Russia

Corresponding author: Prolubnikov, Alexander V., e-mail: [email protected]

Purpose: We study the set cover problem when a set of weighted subsets of a set U is supposed to be given. Cover set of U is a collection of subsets of that set when the union of members of the set contains U. We need to choose a cover that contains sets which have minimum total weight. The specificity of our work is that we investigate the problem with interval weights of the subsets.

© ICT SB RAS, 2015

86

À. В. npoxyÔHHKOB

Methodology: We introduce definitions of optimal and approximate solutions of the problem. Realization of the weights of given subsets is a possible variant of these weights. The weak optimal solution of the problem is a solution that is optimal for some realization. The strong optimal solution is a solution that is optimal for any realization. The united optimal solution is such a set of weak solutions that it contains an optimal solution for any possible realization. The united approximate solution is such a set of covers that contains approximate solutions for every realization.

Findings: The theorem of characterization of the strong optimal solution is proved. The modification of the greedy algorithm for the problem is presented. The algorithm gives the united approximate solution as a result. For the uniform distributions of weights, we present a modification of the algorithm that could be used to find probabilities of the approximate solutions.

Originality/value: The concepts of optimal and approximate solutions are presented for the set cover problem with interval weights. The theorem of characterization of the strong optimal solution is proved. The modification of the greedy algorithm for the set cover problem with interval weights is presented.

Keywords : set cover problem, interval uncertainty, greedy algorithm.

Received 6 July 2015 Received in revised form 26 August 2015

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