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

Полиэдральные оценки сложности метода разделяющих плоскостей при решении системы булевых уравнений Текст научной статьи по специальности «Математика»

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

Текст научной работы на тему «Полиэдральные оценки сложности метода разделяющих плоскостей при решении системы булевых уравнений»

Удельный расход электроэнергии, учитываемой в переменной части затрат, полученный ранее с помощью регрессионного анализа данных за 1998 год, составлял 77,099 квтч/т фосфорной кислоты в пересчете на пятиокись фосфора. При

этом фактический удельный расход электроэнергии, учитываемой в переменной части затрат, в среднем за год составил 78,25 квтч/т фосфорной кислоты в пересчете на пятиокись фосфора. Коэффициент детерминации равняется 0,8966.

ПОЛИЭДРАЛЬНЫЕ ОЦЕНКИ СЛОЖНОСТИ МЕТОДА РАЗДЕЛЯЮЩИХ ПЛОСКОСТЕЙ ПРИ РЕШЕНИИ СИСТЕМЫ

БУЛЕВЫХ УРАВНЕНИЙ

К.К. РЫБНИКОВ, к.ф.-м.н., докторант МГУЛа

Методы построения систем булевых уравнений, множество решений которых совпадает с множеством решений произвольной совместной системы псев-добулевых линейных неравенств известны достаточно давно (см. [1]).

Значительно менее известны методы решения систем булевых уравнений общего вида

/Ххх,х2...хп) = у1, 1 = 1,2,...,/, (1) основанные на погружении множества решений системы (1) О (х).

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

Я*!,-••,*„),

1;,^еС^(2), 1 = 1 ,...,тп.

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

К[Жу=0, / = 1,2,...,т, (2)

где К1п1 = \,...,т, _/ = 1,- конъ-

юнкции, т.е.

К'=х°'&хр&...&х"”1,

I !1 '2 Чу

^К ^ ~~ ^К ^

к= 1,2, ...,ги.

Ясно, что система уравнений (2) удовлетворяется тогда и только тогда, когда все конъюнкции, входящие в нее, принимают значение 0.

Нетрудно заметить, что условие К\= 0 эквивалентно условию

%+- + «.■

X: < Г,

и '1.1

Л;

1,

где

Г1, если сг^ = 1,

1—1, если ст. = 1 а 7^ - число переменных, входящих в

конъюнкцию К1, с отрицанием.

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

Сведения задачи решения системы булевых уравнений (1) к задаче определения векторов х, удовлетворяющих условиям

Сх < й, (3)

лс^Оили!, = 1,2,..., и, (4)

\Sxri) - матрица, а

с1г =(й1,...с!3) - ^-мерный вектор, дает

возможность получить решения системы

где С =

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

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

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

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

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

В настоящей работе предлагается метод, для которого удается установить оценку его сложности.

Покрытие множества решений системы булевых уравнений многогранниками канонического типа

Методы бивалетного целочисленного программирования, как правило, наиболее удобно применять в том случае, когда поиск (0,1) - векторов, т.е. векторов, компоненты которых удовлетворяют условию (4), ведется не в полиэдре (3), а в множестве, определенном системой уравнений в неравенств вида:

М(а,Ь) = |д:|^Ьс = Ь, х > 0|,

где А - (т х п) - матрица, а Ь - /и-мерный вектор, заданные над полем действительных чисел, т.е. в многограннике канонического вида.

Предположим, что полиэдр

М*(С,сІ) = [х\Сх <сі} уже построен и

множество его (0,1) - точек совпадает с множеством решений системы булевых уравнений С(х). В дальнейшем без ограничения общности рассуждений будем полагать, что М*(Є,сІ) - ограниченный полиэдр, т.к. мы всегда можем в систему

неравенств, определяющих М*(С,й), включить неравенства

п

:, = и; х. >0, 1 = 1,2,...,«.

(=1

Теорема 1

Пусть

- вершины многогранника р, в которых достигается решение задачи линейного программирования

шш

^{ііРі+кр^ | ^/ = 1

п \р=(р„р2>-’р!11)\(стУ)рТ =еГД

\е = (и,...,1),У>0 ]

и 1(к’п - множества всех номеров положительных компонент вершин

р(к’п,] = 1,2,---,дк, то есть

1(к']) = и г г \

где р\к’,] > о, р(к'У) > 0,..., р(к'1) > 0 •

Г,1 ’ Г <2 ’ * г

Тогда 3 Ок(х)сМ(Лк),Ь(к)), где Ск(х) - множество решений х = (х1,х2,...,хп) системы (3) - (4), удов: летворяющих условию

'Ех>=к’

1=1

а М^А(к),Ь{к)) - многогранник канонического вида А(к) - (тк хи) - подматрица С, а Ь(к) - вектор, составленный из соответствующих компонентов вектора ОС:

м(л<к),ь(к))=

= I* = (*, ,х2 )|= ^ 6 У/("’У> | ’

Доказательство. Рассмотрим задачу линейного программирования следующего вида:

п

гпах X! х‘

, (5)

где множество допустимых решений X определяются полиэдром

сх<(1, '*Гх]<к- (6)

1=1

Ясно, что (5,., является подмножеством

л(л)

множества решений задачи (5) - (6).

Выпишем для задачи (5) - (6) двойственную задачу. Эта задача имеет вид:

шт| 1

(7)

где множество допустимых решений Р определяется условиями

(СТ,еТ)рТ=еТ,рТ> О, (8)

Р = (а.А.1).е = (1Д,-.-,1) - век-

тор, все п компонент которого - единицы.

Пусть х* =(х*,Л2,...,х;)Г - решение задачи (5) - (6), а

*/ * * * \

Р -

решение задачи (7) - (8).

Из соотношений (6) следует, что

(/?\ и** )<£</>;+кр*!+1,

1=1

где = а - скалярное про-

изведение векторов р и уух . Но в силу свойств скалярного произведения и соотношения (8) выполняются следующие равенства

(р*,м’х*) = (м>тр*,х*) = '£х*,

ы

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

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

т 5

IX=+ кр^\ ’

1=1 /=1

получить соотношение

g = (d^,d2,...,ds,k)T. Следовательно,

Рассмотрим вектор /г = £ — м?х*. Из условий (6) следует, что /г > 0. Поэтому условие

5+1

(р,а)=^;а(=°.

1=1

Вьшолняется тогда и только тогда, когда

Р\К = о

для всех х = 1,2,..., 5 + 1.

Если р* > 0 (/ Ф £ +1), то

к1={ё~ ИЯС* )(. = < - X= 0 •

/=1

Проводя эти рассуждения для произвольного набора вершин многогранника р, в которых достигается решение задачи (7) - (8), приходим к утверждению теоремы.

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

Для простоты описание алгоритма будем полагать при этим, что при постановке любого (ОД)-вектора х в левую часть любого неравенства (3) она принимает целое значение.

Подготовительный этап заключается в построении полиэдра М* (С,й?).

и

Далее полагаем = к, (1{1) = с1 и пе-(=1

реходим к реализации итерационного процесса.

Опишем произвольную (г'-ю) итерацию алгоритма. Перед началом итерации мы располагаем в качестве исходной

информации -матрицей С

и 5-мерным вектором </(0.

Построим задачу линейного программирования

ер

тах

х , (9)

где множество допустимых решений хп определяет полиэдром

сх<</('\ ]Гх.<ь (Ю) 1=1

Далее построим задачу линейного программирования, двойственную по отношению к задаче (9) - (10):

5

РЫ • (П)

Определим все угловые точки

М) <к,ь)

лш

,ру 2 , множества допусти-

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

ких, что

Р^’!У) > 0,Р^’17) >0,...,РУ(М) >о.

У1 ’ Ъ 97 уг(к,У)

к

Множество индексов и /(*■'» оп-

1=1

ределяет номера неравенств в полиэдре

М*(с,й), которым решение задачи X* удовлетворяет как строгим неравенствам, т.е.

С/, +С,Х*2+... + сК х*п = , / е и 1\Ш .

1=1

Определив все элементы МНОЖЄСТт к

ва индексов

(=1

построим полиэдр

1=1

где

(І+1)

если / еу/,(

(к,л

1=1

с/;(,) -1, в противном случае.

(В этом случае, когда у задачи (11) нет решения, т.е. она не допустима, можно сделать вывод о том, что у системы (1) нет (0,1) - решения).

В соответствии с теоремой 1 в результате реализации итерационного про-

цесса мы получим множество и

(М,)

1=1

номеров неравенств, выполняющихся в системе (3) как точные неравенства при подстановке в нее решений системы уравнений (1), обладающих единичными компонентами.

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

тах (с!1 -с1™" +1), где с/™" - мини-

1=1,2,...,.? ' '

мальное значение, которое может принимать левая часть г-го неравенства системы (3) на множестве «-мерных (0,1)-векторов.

Применив алгоритм для всех случаев к-1,2,..., л-1 (в двух случаях, когда к = 0, к = п возможное решение определяется однозначно и может быть сразу опробовано путем подстановки его в систему неравенств (3)), мы получим V, V < п — 1, смешанных систем из равенств и неравенств. В этом случае, если будут определены все (0,1)- векторы, удовлетворяющие хотя бы одно из таких смешанных систем, то тем будут определены и все системы (1). При этом мы каждый раз можем, разумеется, находить все (ОД)-решения системы уравнений, а потом подставлять их в общую систему не-

равенств, проверяя, не будут ли они решениями системы (11).

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

■У

ттУ1,^; )+/^)р./+^’г+1

Р '=' , (12)

полагая Л = 1 — 1. Следуя Гассу, мы можем определить такие критические интервалы Л' < Л < Л", г = 1,2,...,<7, при выборе параметра Л внутри которых, мы будем получать одни и те же решения задачи. Таким образом, мы можем рассчитывать на меньшее число итераций в алгоритме.

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

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

Теорема 2. Пусть на каждой итерации в процессе реализации алгоритма сведения системы неравенств (3) к набору смешанных систем из равенств и неравенств определяется не более 8 вершин многогранника, задача (11) с помощью метода линейного программирования, обладающего сложностью Z(c,^/)• Тогда выполняется соотношение:

Т0(с,</) < (п -1)5 Z(c,<^) шах +1)

(=1,2,...,5

(13)

Замечание. В том случае, если для определения вершин применяется симплекс-метод или его модификация в силу экспоненциальной трудоемкости оценку

непосредственно дать представляется невозможным, хотя в соответствии

с [3] экспериментальная оценка

близка к п2 т.

В случае, если для определения вершин используется один из получивших известность в последнее время алгоритмов, можно воспользоваться известными оценками. При использовании известного алгоритма Л.Г. Хачияна [3] для величины То(с,с?), выраженной в элементарных операциях, справедливо соотношение

Т0(с,ё)< к(п -1)<5(пр +1)54 (я + п) 1п, где к - некоторая константа, а

ш = 1,2,...,5;

7 = 1,2,...,и.

Таким образом, в этом случае То(с,</) - полином от п,5,д,р.

Ясно, что оценка сложности алго-ритма определения всех вершин многогранника М{А,Ъ) (в элементарных операциях) определяется размерами симплекс-таблицы и числом вершин /г многогранника.

Можно показать, что оценка трудоемкости Т{А,Ь) этого этапа будет иметь вид

/*(/* +я +п- 1)шт(/г,/г2), (14) где /г - число вершин многогранника М(А,Ь).

Определив же все вершины каждого из многогранников можно определить все его (0,1)-точки.

Алгоритм построения всех (ОД)-точек многогранников покрытия для множества решений

Рассмотрим многогранник канонического вида М(А,Ь).

Пусть его вершины

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

(Л)

уже определены.

Непосредственно из теоремы о представлении точек выпуклого многогранника следует, что для того, чтобы оп-

ределить все (ОД)-точки М(А,Ь), достаточно определить все такие (0,1)-векторы х = (х1,х2,.. -,хп), для которых система уравнений

ЩУ10) + а2У2) + • • • + аку\Н) = х,

«1 Уг} + а1Уг] + • • ■ + акУ2] = л'2 < ................................. (15)

ЧУ™ + агУ{п] + • ■ • + а,гу{пк) = ах + а2 + ... + аи = 1, где ах >0,а2 >0,...,ап >0, (16)

а

(17)

>0,/' = 1,2,...,/г; г = 1,2,..., л

разрешима.

Предлагается простой алгоритм определения таких векторов по следующей схеме последовательного перебора всех возможных я-мерных (0,1)-векторов.

Каждый новый вариант при переборе, т.е. некий (0,1)-вектор, будем строить последовательно покомпонентно, сопровождая рассмотрение каждой компоненты следующим процессом проверки варианта по приводимому ниже естественному критерию отсева.

Допустим, мы хотим рассмотреть конкретный вариант

], х2, —, Хп ) , где х1/ = 1,2,...,п - некоторые фиксированные, соответствующие рассматриваемому варианту, значения 0 или 1. Процесс проверки варианта состоит не более чем из п шагов.

Произвольный г-й шаг, ге{1,2,...,л} выглядит следующим образом.

Исходная информация после г-1 шагов определяется г-1 зафиксированными компонентами варианта X], х2, •. -, хг1 и набором множества индексов столбцов системы (1.28)

^г-1 {^1 ’4 >• • • } ’ Ч 2,... ,5Г_1, 5Г , < г 15

таких, что среди коэффициентов ац есть хотя бы один строго

положительный.

Пусть в нашем варианте

{хх,х2,...,хг)\хг=Ъ.

Тогда мы формируем новые множества

/(?).

Г

1{гч) =/Д = 1,2,...^,^ =5гЧ,

где - подмножеств таких индек-

сов /Д, д = 1,2,.. .,5. ,, ДЛЯ которых

уу)>0.

Столбцы с номерами / е ^ мы

затем просто вычеркиваем из системы

(15). Если при этом хотя бы одно из 1^,

<7 = 1,2,..., 5,. оказывается пустым, то все

2” ' +1 вариантов, соответствующих фиксации

хх = Хр х, =х2,...,хг = хг, должны быть изъяты из рассмотрения, как заведомо не удовлетворяющие системы (15).

Если же в нашем варианте (хх,х2,...,хг):

хг = 1,

то формируем новый набор множеств 9 = 1,2,...,^,; эг<г.

Если г = п, то процесс закончен. Далее можно проверить: является ли полученный (0,1)-вектор точкой выпуклого многогранника М(А,Ь)■ Это можно сделать путем подстановки полученного вектора в исходную систему. Очевидно, для числа элементарных операций ТГ(М(А,Ь)), необходимых для определения всех (0,1)-векторов, справедлива оценка

ТГ(М(А,Ь))< 2Ч(И + \). (18)

Общая оценка трудоемкости метода и ее частные случаи

Пусть система покрытия множества решений исходной системы состоит из (ОД)-точек V многогранников

.» (.•!/> )../ 1...Л .

Тогда реализуя все этапы алгоритма для всех многогранников мы получим последовательно все решения системы, отбраковывая все (ОД)-точки, не удовлетворяющие системе (3).

Оценки (13), (14) и (18) в совокупности позволяют дать общую оценку сложности метода в целом (в элементарных операциях):

Г(М*(с,^))<(«-1)^(«,5)тахЦ +1) +

у

+^/г.(/г] +п2 + п- 1)гшп(й,,л2) + 2*'*1 А,и(и + 1)* ’

(19)

где - число вершин многогранника

мм,ъ<1)).

Оценка (19), безусловно, является весьма грубой.

Во-первых, если система

М= состоит из це-

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

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

Согласно результатам Бартельса [2] двусторонние достижимые оценки для числа вершин Ь невырожденных многогранников М (Л,Ь) таковы:

п

т + \< к < с.

[п+т

~~2~ 1

+ С,

Г п+т+1

. (20)

Многогранники с малым числом вершин в настоящее время изучены слабо. В монографии [4] описан один такой класс многогранников, приведем условия, кото-

рым должен удовлетворять многогранник М (А,Ь) для того, чтобы принадлежать этому классу.

Пусть В-допустимый базис многогранника М(А,Ь). Jв и Jн - соответственно множества индексов базисных и внебазисных переменных.

Определение. Симплекс-таблицу

л„ = {А?} , соответствующую базису В, будем называть ^-регулярной, если

[ Вт }

тт|^: V/ е > о|, Д(В) = « е Jв

достигается ровно для К различных г при значениях je.Jн.

Определение. Симплекс-таблицы Ав, и Ад, двух допустимых базисов В' и В" будем называть ^-подобными, если они обе /^-регулярные и J0B, = J'в..

Симплекс-таблицы всех допустимых базисов матрицы А /-подобные, если симплекс-таблица хотя бы одного допустимого базиса является /-регулярной [4].

Очевидно, если у матрицы А найдется хотя бы одна /-регулярная симплекс-таблица, то число многогранника М(А,Ь) равно п-т + 1.

Ясно, что в этом случае алгоритм построения всех вершин обладает полиномиальной по п, т сложностью.

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

Теорема 3. Пусть система многогранников покрытия М.{А],Ьи))\

7 = 1,2,...,у, 0{х)а.[}М](А],Ьи)) опРе‘

м

делена матрицами А - и векторами Ь(]), следующего вида Л,{В,,ВЛ), (в:'Ь% = 1;У = 1,2,...,у;

к/ е {1,2,...,и ,

где В;, у = 1,2,...,у - невырожденные квадратные матрицы, удовлетворяющие условию В]1Ьи) > 0, у = 1,2,..., у, а

Я;, у = 1,2,..., у , матрицы у которых к - -ая

строка состоит целиком из единичных элементов, а все остальные строки состоят из неположительных элементов.

Тогда общая оценка трудоемкости в элементарных операциях т(м'(с,<1)) имеет вид

т(м'{С,с1))< (п - 1)^(я,.у)тах(< _ +1)+

1 = 1,...,$

+ у(н - \)п(пг +2 п-1)+ п2(п + 1)х.

(21)

Доказательство. Рассмотрим произвольный многогранник М(А,Ь) из системы покрытия:

М{А,Ь)е\м,(А^))\ / = 1,2,...,у.

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

Определим все вершины м(А,Ь). По условию теоремы они имеют следующий вид:

у(,) 1 ">Ут-1’1’ v(2) 1 * *9 У т-19

1 *>Ут-1 ?А-

Поскольку симплекс-таблица X I -регулярна, число вершин многогранника минимально:

к = п-т +1.

Воспользовавшись теперь алгоритмом построения (ОД)-точек, являющихся линейным выпуклыми комбина-

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

циями У‘\...,УА\ нетрудно заметить, что структура угловых точек такова, что множество /W, 7 = 1,2,...,^,;

re {l,2,...,и всегда состоит из единственного элемента. Действительно, если некоторая вершина у(К\ К е {{l,2,...,h входит в состав линейной выпуклой комбинации, определяющей (ОД)-вектор с положительным коэффициентом, то этот (0,1)-вектор имеет (т + к — 1)-ю компоненту, равную 1. Отсюда следует, что первые т -1 компонент (ОД)-вектора совпадают с соответствующими компонентами вершин , а остальные компоненты равны нулю.

Таким образом, в нашем случае перебор ограничивается п - т +1 точкой. Каждый вариант требует п компонентных сравнений с рассматриваемым (0Д)-вектором. Отсюда сразу следует оценка (21).

Литература

1. Granot F., Hammer P.L. On the Use of Boolean Function in 0-1 Programming. Technion Mimeograph Series of Operations Research, Series of Operations Research, Statistics and Economics, № 70, August 1970.

2. Bartels H. A priori Informationen zur Linearen Programmierung. - Uber Ecken und Hyper-flachen anfPolyederu. -Meisenheim, 1973.

3. Хачиян Л.Г. Полиномиальные алгоритмы в линейном программировании // ЖВМ и МФ. -1980. -№1.

4. Емеличев В.А., Ковалев М.М., Кравцов М.К. Многогранники. Графы. Оптимизация. -М.: Наука, 1981.

5. Рыбников К.К. Методы решения систем булевых уравнений, основанные на погружении множества решений в выпуклой многогранник // Научн. тр. МГУЛа;- Вып. 269. -1995 - С. 88 - 91.

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