• Nenhum resultado encontrado

Ю. А. Зуев, Задача о покрытии: локальный подход и метод типа ветвей и границ, Ж. вычисл. матем. и матем. физ., 1979, том 19, номер 6, 1566–1576

N/A
N/A
Protected

Academic year: 2023

Share "Ю. А. Зуев, Задача о покрытии: локальный подход и метод типа ветвей и границ, Ж. вычисл. матем. и матем. физ., 1979, том 19, номер 6, 1566–1576"

Copied!
12
0
0

Texto

(1)

Math-Net.Ru

Общероссийский математический портал

Ю. А. Зуев, Задача о покрытии: локальный подход и метод типа ветвей и границ, Ж. вычисл. матем. и матем. физ., 1979, том 19, номер 6, 1566–1576

Использование Общероссийского математического портала Math-Net.Ru подра- зумевает, что вы прочитали и согласны с пользовательским соглашением http://www.mathnet.ru/rus/agreement

Параметры загрузки:

IP: 118.70.116.132

6 ноября 2022 г., 06:45:53

(2)

ЖУРНАЛ

ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ И МАТЕМАТИЧЕСКОЙ ФИЗИКИ

Том 19 Ноябрь 1979 Декабрь

У Д К 519.147+519.&

З А Д А Ч А О ПОКРЫТИИ: ЛОКАЛЬНЫЙ ПОДХОД И МЕТОД ТИПА В Е Т В Е Й И ГРАНИЦ

10. А. ЗУЕВ (Москва)

•ч Р а с с м а т р и в а е т с я з а д а ч а о п о к р ы т и и . П р е д л а г а е т с я алгоритм, я в л я ­ ю щ и й с я синтезом комбинаторно-локального подхода с методом ветвей и г р а н и ц . Эксперименты на ЭВМ со с л у ч а й н ы м и м а т р и ц а м и свидетельст­

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

з о в а н и я ' р а з в и т ы х методов.

§ 1. Постановка задачи и некоторые подходы к ее решению

Пусть, задано, конечное т4лёйентное множество S={su . . ., sm} и си­

стема его подмножеств F = { Ft, . . . , Fn} . Каждому Fj приписан вес p(Fj)>0. Система подмножеств GC-=F называется покрытием S, если S= U Fj . Вес покрытия

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

ется заданием (0, 1)-матрицы инцидентности1 А (тХп) элементов мно­

жества S (строки) подмножествам Fj (столбцы), ^4 = ||at j||, {а^=0 или 1Г итг-мерного вектора р=(ри . .., рп) и может быть сформулирована как задача покрытия строк столбцами. Она может рассматриваться как за­

дача линейного программирования с булевыми переменными, если каждо­

му подмножеству столбцов матрицы А поставить в соответствие га-мерный булев вектор-столбец хг= (хи ..., хп):

где 1т есть ттг-мерный единичный вектор-столбец.

Сформулированная в такой форме задача о покрытии может решаться общими методами целочисленного линейного программирования I1] . Од­

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

Fj<=G

(1) минимизировать (Р, х) при условии Ах>1 Xj=0 или 1, / = 1 , 2 , . . . , п,

(3)

Задача о Покрытии 1Й67

тип было обнаружено и экспериментально [3Д. Поэтому для задач боль­

шой размерности придется ограничиваться приближенным решением [4] . Как показывают приводимые ниже результаты экспериментов на Э В М , покрытие,, полученное: по методу наискорейшего спуска [5] , по весу ока­

зывается близким к минимальному и может1 быть использовано в каче­

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

К задаче о покрытии сводится целый ряд задач дискретной матема­

тики: задача нахождения простейшей дизъюнктивной нормальной формы (д.н.ф.) для булевой функции и связанная с ней задача синтеза переклю­

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

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

даче построения минимальной д.н.ф. вес подмножества-—это ранг'соот­

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

ния. Задача состоит в максимальном сужении области определения, по­

зволяющем, однако, различать функции. Здесь множество S — это множе­

ство неупорядоченных пар функций, Fj — точки из области определения функций/Причем Fj покрывает данную пару функций, если эти функции имеют различные значения в точке Fj.

Задача о покрытии может быть в принципе решена тривиальным пе­

ребором всех 2п—1 непустых подмножеств множества F. При этом для каждого подмножества проверяется, является ли оно покрытием, й если является, то рто вес сравнивается с минимальным из уже полученных покрытий. Однако уже при п>20 такой перебор практически неосущест­

вим даже на ЭВМ. Число проверяемых подмножеств может быть умень­

шено, если использовать то очевидное соображение, что если G — покры­

тие и то и Н — покрытие, и притом большего веса. Если сопоста­

вить каждому подмножеству G^F двоичный набор длины п, то задача сводится к расшифровке монотонной булевой функции, определенной на этих наборах и равной 1, если соответствующее подмножество является покрытием, и 0 — в противном случае [1 5] . При этом нижние единицы этой монотонной функции будут соответствовать неприводимым (нейзбыточ- ным) покрытиям — таким множествам G<=F, которые сами являются по­

крытиями, но никакие собственные подмножества которых покрытиями не являются. Ясно, что все минимальные покрытия содержатся среди неприводимых. Для нахождения всех нижних единиц монотонной функ­

ции п переменных требуется не более С1"'2] + С п 1 ] f проверок [1 6] . Для

(4)

тттщрщщя же одной «минимальной» нижней единицы, соответствую­

щей минимальному покрытию, требуется не более C^^+i испытаний [1 1 ] , Хотя для задачи о покрытии этот максимум, по-видимому, не дости­

гается, ясно, однако, что такой общий метод, как расшифровка монотон­

ной фуцкпии, не учитывающий внутреннюю структуру задачи, не даст хороших результатов.

В [7] описан другой алгоритм для построения всех неприводи­

мых покрытий. Рассмотрим йю строку матрицы Д . Для ее покрытия дол­

жен быть взят хотя бы один из столбцов / таких, что аг;=1, что на языке алгебры логики записывается как \/ j . Так как должны быть покрыты все строки, то все неприводимые покрытия можно получить, преобразовав к.н.ф. & V 7 к Д-н.ф, При этом используется свойство дистрибутивно- сти операций &, V - По ходу преобразования удаляются поглощаемые конъюнкции. Тогда каждой элементарной конъюнкции в д.н.ф. будет со­

ответствовать неприводимое покрытие.

Но число неприводимых покрытий (тупиковых д.н.ф.) может быть очень велико: для булевой функции п переменных оно может превышать 22 Л (см. [1 0>1 7] ) . Это говорит о том, что алгоритм, основанный на переборе

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

(примерно в \og2n раз) превышают вес минимального покрытия [1 0] . Это подсказывает, как построить алгоритм более эффективный, чем перебор всех неприводимых покрытий. На каждом шаге такого алгоритма имеется ряд частичных покрытий (подмножество столбцов, не покрывающее всех строк). В процессе вычисления выясняется, что многие из них не имеет смысла достраивать до покрытия, так как это не даст минимального по­

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

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

Эффективность такого алгоритма может быть увеличена, если его со­

единить с локальным подходом к задаче о покрытии [8*9]. Как известно/

локальный алгоритм (л.а.). ценой небольших вычислительных усилий ус­

танавливает, что некоторые столбцы входят во все минимальные покры­

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

Связав а каждым столбцом / переменную х,, получаем, что в результате работы л.а. некоторые переменные приобрели значение if некоторые О,, остальные по-прежнему свободны. Выберем теперь одну из свободных пе­

ременных Xj и произведем относительно нее ветвление, т. е. сделаем два предположения: 1) существует минимальное покрытие с # j = l ; 2) суще­

ствует минимальное покрытие с ^ = 0 . После того как значение перемен­

ной Xj зафиксировано, в обоих вариантах разветвления снова работает

(5)

Задача о покрытии 1569

л.а, на оставшемся множестве свободных переменных.. При этом некото­

рые из свободных переменных снова получают определенные значения:

либо устанавливается бесперспективность продолжения варианта. Затем в каждом • перспективном случае опять выбирается одна из переменных, оставшихся свободными, и производится ветвление, и т. д. Т. е. алгоритм порождает дерево вариантов. Некоторые из ветвей доводятся до покры­

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

влений и, следовательно, для сокращения дерева вариантов и повышения, эффективности алгоритма.

§ 2. Общая схема решения задачи

На каждом шаге работы алгоритма имеется ряд висячих вершин де­

рева вариантов — частичных покрытий, полученных в результате ветвле­

ния и последующей обработки вариантов разветвления л.а. Для каждой висячей вершины есть нижняя оценка ^ = Р + П веса получаемых из нее покрытий, где Р = ^jp pi — вес частичного покрытия, а П — нижняя оцен- ка веса, необходимого для покрытия строк, не покрытых частичным по­

крытием.

Известны две основные стратегии ветвления — способа выбора висячей вершины для ветвления: ветвление широким фронтом и односторонний обход дерева вариантов [1 8\1 9] . . При первом способе для ветвления выби­

рается вершина с наименьшей нижней оценкой $Р. Такой способ обеспе­

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

временно держать все висячие вершины, число которых может быть ве­

лико и заранее не известно. По этой причине предпочтение обычно отда­

ется второму способу, который используется и в настоящей работе.

При одностороннем обходе для ветвления выбирается висячая вер­

шина, образовавшаяся последней, т. е. используется принцип магазин­

ной памяти. Здесь число вершин, одновременно находящихся в магазина (stack), заведомо не может превысить п — числа столбцов матрицы А . Отсечение ветвей осуществляется путем сравнения оценки 3* с В Е С — весом наилучшего из уже полученных покрытий. Поэтому здесь важно с самого начала получить значение В Е С близким к весу минимального, покрытия.

Удобный способ реализации этой стратегии в применении к задаче с булевыми переменными был предложен в [2 0] (см. также [1 9] ) . В приме­

нении к схеме с л.а. он выглядит следующим образом. В памяти Э В М всегда хранится одно единственное частичное покрытие. Если оно не от­

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

ными, т. е. применяется

(6)

1570 Ю. А. Зуев

П р а в и л о 1. Выбирается свободная переменная х$ и полагается Затем л.а. работает на множестве! свободных переменных и вычисля­

ется . .

.Если частичное покрытие отбрасывается с помощью л.а. или оценки 9>

или, получается покрытие с весом P ^ R E C , то применяются следующие правила.

П р а в и л о 2. Переменная xh получившая значение 1 по правилу 1 последней, полагается равной нулю.

П р а в и л о 3. Все. переменные, получившие значения 0 или 1 после того ветвления, когда было положено #,=1, делаются свободными.

Л.а. работает на множестве свободных переменных и вычисляется 0>, Если частичное покрытие оказалось достроенным до покрытия с весом P < R E C , то записывается новое значение REG==P, полученное покрытие запоминается и применяются правила 2 и 3.

Алгоритм заканчивает работу при попытке применить правило 2 к частичному покрытию, не имеющему ни одной единицы, полученной по правилу 1. При этом минимальное покрытие с весом P = R E C хранится в памяти Э В М .

Широко распространенным методом для получения оценки П является использование решения задачи (1) без требования целочисленностй

[1,12,21] g настоящей работе предпринята попытка для задачи о покры­

тии использовать в качестве П комбинаторную оценку Q. Рассмотрим под­

матрицу матрицы А , образованную свободными столбцами и непокрыты­

ми строками, для которой сохраним обозначение А(тХп). Пусть

i = i i\aif= 1 г = 1

Пусть x* и L=(p, x*) — решение непрерывной задачи линейного програм­

мирования (1).

Т е о р е м а 1. Верна оценка Q^L.

Д о к а з а т е л ь с т в о следует из следующей цепочки неравенств:

п п тп п то

г = 1 j = l г = 1

Теорема 1 показывает, что Q является оценкой снизу для веса мини­

мального покрытия, менее точной, чем L . Однако получение оценки Q\

требующее порядка тп операций, занимает значительно меньше времени, чем получение оценки L. Оценки Q и L могут совпадать. Пусть матрица А(тХп) имеет в каждой строке s единиц и в каждом столбце t единиц

\sm=tn)r /?;=1, /==1, 2 , . . . , п. Тогда x*={l/s,t..., 1/s) и L=n/s; &=1/£, Гг=1/£ и Q==m/t=n/s=L. При этом величина Q=L может, как покаэыва-

(7)

Задача о покрытии

гот примеры (см. [3] ) , значительно отличаться от веса минимального по­

крытия.

Если веса всех столбцов— целые числа, то в качестве II может быть использовано ближайшее к Q целое число справа.

Практически оценка Q оказывается значительно менее точной, чем оценка L , но, как показывают результаты экспериментов на Э В М , Q в со­

четании с л.а. позволяет в приемлемое время решать задачи размерностью вплоть до 100X100. При этом происходит значительно больший перебор, чем при использовании оценки L , но при ограниченных размерностях задач и небольшой плотности заполнения матрицы А единицами наблю­

дается заметный выигрыш во времени.

При ветвлении в правиле 1 может быть выбран любой свободный стол­

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

Рассматривалось множество всех непокрытых строк, покрываемых мини­

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

шить число столбцов, фактически принимаемых в рассмотрение, и сразу же получить покрытие, близкое к минимальному, так как это—-метод;

наискорейшего спуска [5*9] в случае, когда все:3~\.

§ 3. Локальный алгоритм

Л.а. состоит из правил, по которым некоторые из свободных перемен­

ных получают значение 0 или 1, а некоторые строки матрицы А выбра­

сываются из дальнейшего рассмотрения (сокращается размерность зада­

чи) , и из проверок определенных условий, невыполнение которых приводит к отбрасыванию частичного покрытия. П.п. 3), 6) и 7) рассматрива­

лись ранее как способ уменьшения размерности задачи до начала пере­

бора [6'8'9'1 3'1 4] , остальные введены в настоящей работе в связи с приме­

нением метода ветвей и границ и существенно используют идею непри­

водимости:

1) частичное покрытие должно быть , неприводимым покрытием для покрываемого им множества строк;

2) каждая не покрытая частичным покрытием строка должна покры­

ваться хотя бы одним свободным столбцом;

3) если непокрытая строка покрывается единственным свободным столбцом /, то этот столбец включается в покрытие, т. е. полагается х3=1;

4) если свободный столбец / полностью накрывается частичным по­

крытием, то полагается #,-=0;

5) если включение свободного столбца / в покрытие приводит к по­

явлению в частичном покрытии избыточного столбца то полагается

х3=&; • •

6) если для свободного столбца f существует другой свободный стол­

бец /, покрывающий все строки, которые покрывает и p(])^p(j') г- то полагается #j»=0;

(8)

1572 Ю. А. Зуев

7) если для непокрытой строки i' существует строка ц содержащая i во всех столбцах, в которых содержит 1 строка V, то строка i удаляется и в дальнейшем не рассматривается (покрытие строки V автоматически приведет к покрытию строки г).

Непосредственно из рассмотрения правил и условий, на которых осно­

ван л.а., видно, что если на вход л.а. поступает частичное покрытие, ко­

торое может быть достроено до минимального, то после его обработки л.а.

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

р(П<Р(П н а р ( / ' ) < / > ( / ) .

В процессе работы л.а. возможны ситуации, когда п.п. 1)— 7) всту­

пают в противоречие между собой. Например, может случиться, что для столбца ; должно быть положено х3~1 согласно п. 3 ) , но х3=0 согласно

п. 5 ) . .Возникновение подобной ситуации указывает на то, что данное час­

тичное покрытие не может быть достроено до неприводимого покрытия и, следовательно, не может дать минимального покрытия, поэтому оно от­

брасывается.

Теоретический интерес представляет нахождение критерия того, что данное частичное покрытие может быть достроено до неприводимого по­

крытия. Пусть .£=•{/•!,..., jr}— множество столбцов, Cjk (j^G) — множе­

ство строк, покрываемых столбцом /Л, но не покрываемых ни одним дру­

гим столбцом из G.

Т е о р е м а 2. Для того чтобы множество столбцов G входило хотя бы в одно неприводимое покрытие, необходимо и достаточно, чтобы множе­

ства Cj„ . . . , Cjr были не пусты и существовала выборка аг по одной строке из множеств Cin . .., Cjr такая, чтобы для любой строки, не покры­

той множеством столбцов G, существовал покрывающий эту строку стол­

бец, не покрывающий ни одну строку из аг.

Н е о б х о д и м о с т ь . Пусть существует неприводимое покрытие G'-^G.

Тогда для каждого столбца jh^G существует непустое множество строк

CJ

A

SCJ

a

,

' покрываемое им, но не покрываемое ни одним другим столбцом из G'. Выбрав из каждого С'ь., /с—1, 2 , . . . , г, по одной строке, получим искомую выборку аг.

Д о с т а т о ч н о с т ь . Пусть выборка ат существует. Достроим частич­

ное покрытие G до покрытия, покрыв каждую непокрытую строку столб­

цом, не покрывающим ни одной строки из осг. Удалив, если необходимо, избыточные столбцы, получим неприводимое покрытие С=>6г.

В информацию о частичном покрытии для удобства применения л.а.

входило следующее:

а) для каждого свободного столбца — число покрываемых им непокры­

тых частичным покрытием строк;

б) для каждого столбца /, взятого в покрытие,—число строк, покры­

ваемых им, но не покрываемых ни одним другим столбцом из покры­

тия \С,\;

(9)

Задача о покрытии 1573

в) для каждой непокрытой строки — число покрывающих ее свобод­

ных столбцов. ^ В экспериментах на Э В М л.а. доказал свою эффективность. Эти экс­

перименты показали, однако, что полная проверка п.п. 5)—7) на каждом шаге, требующая для квадратной матрицы А (пХп) порядка п3 операций, слишком трудоемка. (Напомним, что трудоемкость вычисления оценки Q

Т а б л и ц а !

тХп i 2 3 ' 4 5

30X30 10 0.20 (0.16-0.24) 0 (0--1) 1 (1--1) 0.83 (0.67--0.91) , 30X40 10 0.24 (0.20-0.28) 1 (0--2) 1 (1--1) 0.84 (0.64--1.00) 30X50 10 0.7 (0.24-1.7) 5 ( 0 - 13) 1.02 ( 1 --1.10) 0.52 (0.25--0.93) 30X60 10 0.9 (0.3-2.3) 6 ( 1 - 16) 1.02 ( 1 --1.08) 0.48 (0.23--0.94) 30X70 . 10 1.9 (1.0-3.6) 13 ( 3 --23) 1.04 ( 1 --1.11) 0.33 (0.09--0.62) 30X80 10 2.1 (1.0-4.8) 14 (4--31) 1.02 ( 1 --1.10) 0.28 (0.08--0.47) 30X90 10 4.7 (1.0-8.0) 32 (5 - 5 4 ) 1.04 ( 1 --1.10) 0.12 (0.06--0.26) Т а б л и ц а 2

тХп

60X60 70X70;

80X80 90X90 100X100

60X60 70X70 80X80

10 10 10 3 3 10

4 3

0.8 (0.5^1.5) 3.0 (1.0-7.0) 20 (2.0-106) 70 (34-141) 510 (92-1315)

9.5 (1.9-47) 60 (25-165) 330 (12-896)

3 ( 0 - 7 ) 10 ( 2 - 3 2 ) 80 (3-462) 240 (114-469) 1600 (261-5210)

80 (5-381) 41Q (173-925) 2200 (85-5475)

1 ( 1 - 1 ) л

1.01 (1-1.05) (1-1.05) (1-1.05) (1-1.05) (1-1.16) 1.12).

1.06) .1.02

im

1.03 1107 1.08 (1.06 1.05 (1.04-

0 J 4 (0.39-0.93) 0.67 (0.10-0.91) 0.27 (0.013-0.66) 0.24 (0.028-0.35) 0.21 (0.011-0.31) 0.66 (0.37-0.72) 0.93 (0.72-0.97) 0.71 (0.58-0.73)

есть п2 операций.) Поэтому 5) проверялось только для таких столбцов / ' из покрытия, что \Су \^ки 6) — для свободных столбцов имеющих не более kt единиц, а 7) — для непокрытых строк i\ имеющих не более к2 единиц. Для определения чисел &4 и к2 использовалось следующее эври­

стическое правило: к± такое натуральное число, ч т о ph ir i > l , а phi+in^l;

к2 — такое натуральное число, что ph2m>l, а рк2+1т^1.

Здесь р — вероятность единицы в матрице А , которая определялась программой эмпирически как отношение числа единиц к тп перед нача­

лом работы алгоритма. В реальных задачах к\ и к2 были невелики и рав­

ны 1, 2 или 3.

§ 4 Результаты экспериментов на ЭВМ

Алгоритм был запрограммирован на языке Ф О Р Т Р А Н I V для Э В М БЭСМ-6, причем использовался транслятор Ф О Р Т Р А Н Г Д Р . В проведен­

ных экспериментах матрица А (тХп) сформировалась с помощью ттш-крат- ного обращения к датчику случайных, равномерно распределенных на отрезке [0, 1] чисел. В случае попадания случайного числа в интервал [0» P]i i? <l ? элемент матрицы полагался равным 1, в противном случае 0:

Таким образом, параметр р определял плотность заполнения матрицы А

(10)

1 5 7 4 Ю. А. Зуе

единицами. Результаты экспериментов приведены в табл. 1 и 2, причем /?=0.07 в табл. 1 и р=0.05 для табл. 2. В первом столбце таблиц указано число решенных задач данной размерности (длина серии). Далее идут:

| I J L : — I — L— _ i _

10 30 50 70 90 110 130 t, сек

усредненные по серии величины: во втором столбце — полное время ре­

шения в секундах, в третьем — число произведенных за время решения ветвлений, в четвертом — отношение первого R E G к весу минимального покрытия (величина, характеризующая качество метода наискорейшего спуска) и в пятом — отношение времени получения минимального покры­

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

Веса столбцов матрицы А во всех сериях задач табл. 1 и первых пяти се­

риях в табл. 2 полагались равными 1. В трех последних сериях задач табл. 2 веса столбцов полагались равными числу единиц в столбце — из­

вестный трудный случай в задачах о покрытии [1 3 ] .

Задачи в табл. 1 повторяют задачи из [*] и [1 2] и обнаруживают вре­

мя решения на порядок меньше, чем в указанных работах. Однако в [*]<

и I1 2] , где в качестве П использовалась оценка L , не наблюдалось такого стремительного роста времени решения с увеличением размерности задач.

На фигуре показано изменение во времени значения R E C и минималь­

ной по множеству вершин дерева вариантов оценки @ на примере задачи из табл. 2 с размерностью 90X9Q. Из фигуры видно, что оценка Q явля­

ется достаточно грубой, а задачи решены успешно благодаря л.а.

J Помимо задач со случайными матрицами был решен ряд задач с ком­

бинаторными матрицами Л . Задача 117X27 из [3] была решена за 6 мин (3444 ветвлений), причем минимальное покрытие было получено через 15 сек (209 ветвлений). Эти результаты лучше сообщавшихся в [3] , од­

нако, по-видимому, недостаточны, чтобы в приемлемое время решить вто­

рую предложенную в [3] задачу, которую, по сообщению авторов, вообще не удалось решить ни одной программе. Помимо симметрии, трудность приведенных в [3] задач состоит, по-видимому, в относительно большом числе столбцов, образующих минимальное покрытие (более половины от общего числа столбцов). Использованная здесь (как и в [3]) методика перебора, суть которой во взятии частичного покрытия, состоящего из- пустого множества столбцов, и в постепенном наращивании его до покры­

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

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

(11)

Задача о покрытии 1575

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

В заключение сформулируем основные выводы, сделанные на основе проведенных с алгоритмом экспериментов.

1. Использование комбинаторно-локального подхода при решении за­

дачи о покрытии методом ветвей и границ позволяет существенно сокра­

тить время нахождения точного решения.

2. Примененная оценка Q в сочетании с л.а. позволяет в приемлемое время получать точное решение задач размерностью вплоть до 100X100.

При больших размерностях задач необходимо использование более точ­

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

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

зом, выигрыш во времени.

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

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

риментальные результаты свидетельствует о том, что покрытие, получен­

ное по методу наискорейшего спуска, оказывается по весу близким к ми­

нимальному (а нередко и сразу минимальным).

Статистическое обоснование этому дано в [2 2] . Однако существование задач, для которых покрытие, полученное по методу наискорейшего спус­

ка, значительно хуже оптимального (см. [2 2] ) , не позволяет быть, всегда

уверенным в подобной точности. >

На практике же большая часть машинного времени тратится на дока­

зательство оптимальности уже полученного точного решения. Метод вет­

вей и границ позволяет находить приближенное решение с гарантирован­

ным отклонением от оптимума. Когда резерв машинного времени оказы­

вается исчерпанным, а решение задачи не закончено, то текущее значение В Е С является верхней оценкой для веса минимального покрытия (воз­

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

ко стратегия одностороннего ветвления, при' которой оценка 9* для вися­

чих вершин вблизи корня дерева может оказаться слишком мала (см. фи­

гуру), плохо приспособлена для этого: Более перспективной в этом случае является гибкая стратегия ветвления, использующая преимущества вет­

вления широким фронтом для увеличения минимальной из оценцк 9*.

В заключение автор выражает искреннюю признательность Ю . И . Журавлёву за постоянную поддержку в работе, а также благода­

рит И. X . Сигала за критические замечания, способствовавшие улучше­

нию качества работы, и К. П . Голикова за ценные советы в области прак­

тического программирования.

, Поступила в редакцию 12.07:1978 Переработанный вариант 6.02.1979

(12)

1576 Ю. А. Зуев

Цитированная литература

1. А. М. Geoffrion, R. Е. Marsten. I n t e g e r p r o g r a m m i n g a l g o r i t h m s : a f r a m e w o r k a n d state-of-the a r t survey. M a n a g . Sci., 1972, 18, № 9, 4 6 5 - 4 9 1 .

2. P. M. Карп. Сводимость к о м б и н а т о р н ы х проблем. В «Кибернетич. сб.» Н о в а я с е р - Вып. 12. М., «Мир», 1975, 1 6 - 3 8 .

3. D. R. Fulkerson, G. L. Nemhauser, L. Е. Trotter, Jr. Two c o m p u t a t i o n a l l y difficult set covering p r o b l e m s t h a t arise in c o m p u t i n g t h e 1-width of incidence m a t r i c e s of Steine triple s y s t e m s . I n «]^ath. P r o g r a m i n i n g S t u d y 2». New York, Amer. E l s e v i e r , 1974, 7 2 - 8 1 . i

А. Ю. Ю. Финкелъштейн. П р и б л и ж е н н ы е методы и п р и к л а д н ы е з а д а ч и д и с к р е т н о й . м а т е м а т и к и . М., «Наука», 1976.

5. И. А. Чегис, С. Р. ЯблонскиЦ. Логические способы к о н т р о л я э л е к т р и ч е с к и х с х е м . Тр. Матем. ин-та АН СССР, 1^58, 51, 2 7 0 - 3 6 0 .

6. R. Roth. C o m p u t e r solution to m i n i m u m - c o v e r p r o b l e m s . Operat. Res., 1969, 17, № 3, 4 5 5 - 4 6 5 .

7. E. J, McCluskey, Jr. Minimizatipn of boolean function. Bell System T e c h n . J., 1956, 35, 1417-1444.

8. Ю. И. Журавлёв. Теоретико-множественные методы в алгебре логики. В сб. «Пробл.

к и б е р н е т и к и » . Вып. 8. М., Ф и з м а т г и з , 1962, 5 - 4 4 .

9. Ю. И. Журавлёв. Алгоритмы п о с т р о е н и я м и н и м а л ь н ы х д и з ъ ю н к т и в н ы х н о р м а л ь ­ н ы х ф о р м д л я ф у н к ц и й алгебры логики, В сб. « Д и с к р е т н а я матем. и м а т е м . вопр. кибернетики». М., «Наука», 1974, 6 7 - 9 8 .

10. Ю. Л. Васильев, В. В. Глаголев. Метрические свойства д и з ъ ю н к т и в н ы х н о р м а л ь ­ н ы х форм, В сб. « Д и с к р е т н а я матем. и матем. вопр. к и б е р н е т и к и » . М., « Н а у к а »г 1974, 9 9 - 1 4 8 .

И . А. Фридман, П. Менон. Т е о р и я и п р о е к т и р о в а н и е п е р е к л ю ч а т е л ь н ы х схем. М.,.

«Мир»,' 1978.

12. С. Е. Lemke, Н. М. Salkin, К. Spielberg. Set covering by s i n g l e - b r a n c h e n u m e r a t i o n w i t h l i n e a r - p r o g r a m m i n g s u b p r o b l e m s . Operat. Res., 1971, 19, № 4, 998-1025.

13. M. L. Balinski. I n t e g e r p r o g r a m m i n g : m e t h o d s , users, c o m p u t a t i o n s . M a n a g . Sci.r,

1965, 12, № 3, 2 5 3 - 3 1 3 . / 14. H. Кристофидес. Т е о р и я г р а ф о в . Алгоритмический подход. М., «Мир», 1978.

15. Ж. Анселъ. О числе монотонных б у л е в ы х ф у н к ц и й п п е р е м е н н ы х . В « К и б е р н е ­ тич. сб.» Н о в а я сер. Вып. 5. М., «Мир», 1968, 5 3 - 5 7 .

16. Я . Н. Катериночкина. Поиск максимального верхнего н у л я монотонной ф у н к ц и и а л г е б р ы л о г и к и . Докл. АН СССР, 1975, 224, № 3, 557-560.

17. Ю. И. Журавлёв. Оценка д л я ч и с л а т у п и к о в ы х д.н.ф. ф у н к ц и й а л г е б р ы логики.

Сибирский матем. ж., 1962, 3, № 5, 8 0 2 - 8 0 4 .

18. Е. Lawler, D. Е. Wood. B r a n c h a n d b o u n d m e t h o d s : A survey. Operat. Res., 1966,.

14, № 4, 699-719.

19. И. В. Романовский. Алгоритмы р е ш е н и я э к с т р е м а л ь н ы х задач. М., «Наука», 1977.

20. Е. В alas. A n additive a l g o r i t h m for solving l i n e a r p r o g r a m s w i t h zero-one-variables..

Operat. Res., 1965, 14, № 4, 517-546.

21. A. M. Geoffrion. An improved implicit e n u m e r a t i o n a p p r o a c h for i n t e g e r p r o g r a m ­ m i n g . Operat. Res., 1969, 17, № 3, 437-454.

22. Ю. А. Маматов. Д о к а з а т е л ь с т в о статистической оптимальности а л г о р и т м а Я б л о н ­ ского - К в а й н а - Мак-Класки в з а д а ч е о поиске к р а т ч а й ш е г о п о к р ы т и я . Докл..

А Н СССР, 1976, 229, № 5, 1048-1050.

Referências

Documentos relacionados

Однако для экситонов, связанных на глубоких нейтральных акцепто­ рах, таких как In в Si и Cd в GaP, спектры поглощения и люминесценции отличаются определенным образом от спектров