Питшотш
СТАТИСТИЧЕСКИ ОПТИМАЛЬНЫЙ ПОДХОД К РЕШЕНИЮ NP-ПОЛНЫХ ЗАДАЧ БОЛЬШОЙ
РАЗМЕРНОСТИ
О.В. Герман, H.H. Дорожкина, E.H. Гончарова
STATISTICALLY OPTIMAL APPROACH ТО SOLUTION OF NP-FULL PROBLEMS OF GREAT DIMENSION
German O.V., Dorozhkina N.N., Goncharova E.N.
The paper views a statistically optimal algo-rlthim for problem linear disjonnt nnequaity (PLDI) solution in real numbers. The effective method of reducing PLDI to the problem of weighted minimal covering is demonstrated.
B статье рассматривается статистически оптимальный алгоритм для решения задач на линейных дизъюнктных неравенствах (ЗЛДН) в вещественных числах. Показано, как эффективно свести ЗЛДН к задаче о взвешенном минимальном покрытии
1. Постановка задачи
Можно перечислить большое количество разнообразных задач планирования, модели которых формально сводятся к системе дизъюнктных неравенств. Модели этих задач не являются исключительными, их можно приводить сколько угодно. Заметим, что задача на системе линейных дизъюнктных неравенств полиномиально сводится к задаче смешанного булевого программирования и что, в свою очередь, к задаче на системе линейных дизъюнктных неравенств полиномиально сводится задача Выполнимость. Из этого можно предположить, что по вычислительной сложности дизъюнктные задачи занимают промежуточное положение между смешанным целочисленным программированием (наиболее трудный для практики случай) и смешанным булевым программированием.
Рассмотрим общую постановку задачи, формализуемую системой линейных дизъюнктных неравенств, в виде: а,1,х, + а1 х. +... + а,1 х >
11 1 12 2 1п п
> а' V... V а \ х, + а' х +... + а1 х > а';
10 г1 1 г2 2 гп п гО '
а121 х1 + а02х2 + ... + а0пхп >
2 2 2 2 2
> а10 V ... V ам,1 х1 + а^2 х2 + ... + а„пхп > а„о"
УДК 519.714
х, > 0:
х > 0.
Данную задачу можно свести к:
1) задаче нелинейной оптимизации при условии многоэкстремальности;
2) системе нелинейных простых неравенств с невыпуклой областью допустимых решений, для которых применение градиентных методов весьма проблематично;
3) задаче смешанного типа с булево-вещественными переменными.
Градиентные методы, например, методы типа Франка-Вулфа или Ньютона, методы проекции градиентов оказываются слабыми при наличии огромного числа экстремумов, особенно в случае, когда лишь единичные из них принадлежат допустимой области решений. Задачи смешанного типа с булево-вещественными переменными относятся, как указывается в многочисленных источниках, к наиболее сложным с вычислительной точки зрения.
Использование статистического оптимального метода для решения задач на линейных дизъюнктных неравенствах (ЗЛДН) оправдано большой вычислительной сложностью, нередко практической невозможностью получить решение точными методами за приемлемое время. Необходимость приближенных и статистически оптимальных алгоритмов для КР-полных задач и более сложных задач указывалась известными учеными, например, Д.Б. Юдиным, З.Н. Шо-ром, Ю.Ю. Финкельштейном, А.П. Не-мировским и др. Мы рассматриваем здесь статистически оптимальный алгоритм для решения ЗЛДН в вещественных числах. Цель изложения - показать, как эффективно свести ЗЛДН к задаче о взвешенном минимальном покрытии, для которой в работах [1, 2] приведен статистически оптимальный алгоритм полиномиальной сложности в среднем.
2. Сведение дизъюнктной задачи к задаче о минимальном взвешенном покрытии и схема использования статистически оптимального алгоритма
Сведение дизъюнктной задачи к задаче о минимально взвешенном покрытии заключается в следующем.
1. Введением булевских переменных приводим ЗЛДН к системе простых неравенств со смешанными булево-вещенствен-ными переменными.
Перепишем систему (1) следующим образом:
°11 х1 + аих2 +... + а\«х« + с! ■ у! > а\/; а\х, + а\х. +... + а1 х + с1 ■ у1 > а\;
г1 1 г 2 2 гп п г У г г 0 '
а121 х1 + а02Х2 + ... + а0пхп + с12 • У2 ^ а12и ;
а2,х + а2х + ... + а2 х + с2 • у2 > а2 ; (2)
1 w2 2 мп п м ^ м м0 ' V /
аг,х, + аг.х. + ... + аг х + сг ■ уг > аг„;
и1 1 и 22 ип п и У и и 0 '
у1 + у +... + у] < г -1; у2 + у2 +... + у1 < м -1;
У + у2 +... + У ^ и - 1; .у;7 е{и,1},
где с\ - заранее неизвестные, но достаточно большие константы.
Значение с' можно подобрать, если для каждой переменной х. заранее известен диапазон ее изменений. Например, пусть
/ < х7 < 100, тогда с; = аии - 100^а'к , где
к
а'к - отрицательные коэффициенты при переменных.
Ограничение у[ + у2 +... + уги < и -1 говорит о том, что как минимум одно из неравенств должно быть выполнено (например, если все у. = 0, то должны быть выполнены все неравенства).
2. Заменяем каждую вещественную переменную ее приближенным двоичным разложением, используя известный диапазон изменения вещественной переменной.
Пример. Пусть 0 < х < 1000. Тогда заменяем х на
г1 + 2 г2 + 4 г3 + 8г4 + 16г5 + 32 г6 + 64 г7 +
+ 128г8 + 256г9 + 512 г10 + 2-1 г11,
(г, б 0,1},
так что точность вычислений для х не хуже 0,5.
Можно поступить несколько иначе, например, положим х = 10г, так что О < г < 100 . Полагаем далее
г = у1 + 2у2 + 4У3 + 8У4 + 16У5 + 32У6 +
+ 64У7 + 2-1 V, + 2-2 V, + 2-з у10. При этом точность вычисления х не хуже 0,875 и т.п. Ясно, что достигаемая этим сложность сведения задачи к решению системы псевдобулевых неравенств имеет вид пО(с 1о§2 Ь), где п - число переменных; Ь -максимальное значение верхней границы для вещественной переменной. Сведение полиномиально от п и га (число ограничений) по затратам памяти и времени.
Таким образом, получаем задачу псевдобулева программирования (ЗБП). Для ЗБП предлагаем технику сведения к задаче о взвешенном минимальном покрытии, для которой можно использовать статистически оптимальный алгоритм [1,2].
Рассмотрим 0,1 - матрицу С . Строка Р покрывает столбец ) если С(/, у) = 1. Множество строк п является неизбыточным покрытием матрицы С , если каждый столбец матрицы покрывается как минимум одной строкой из п и никакое собственное подмножество строк П' < П этим свойством не обладает.
Задача минимального взвешенного покрытия (ЗМВП) сводится к поиску неизбыточного покрытия с минимальным суммарным весом образующих его строк. Для каждого ограничения ЗБП мы строим матрицу (покрытия) ограничения следующим образом. Пусть ограничение имеет такой вид:
2х1 + 16х2 - 4х3 - 8х4 > 10 .
Избавимся от отрицательных членов в правой части заменой х. = 1 - х^:
2х1 + 16х2 - 4 + 4х з - 8 + 8х 4 > 10 или
2х1 + 16х2 + 4хз + 8х4 > 22 .
Расширим левую часть ограничения новыми переменными х , контрарными к
уже присутствующим и взятым с весьма малыми коэффициентами:
2 х. +16 х2 + 4 х з + 8х 4 + 0,01xi + 0,01х 2 +
+ 0,01х3 + 0,01х4 > 22.
Для данного ограничения построим основную матрицу В совместности:
ß= х1
х1 х2 хз х4 х1 х2 хз х4
1
1
1
1
1
1
1
1
«1» соответствуют несовместным парам элементов, «0» - совместным.
Теперь, наконец, нам остается по матрице В построить нужную нам матрицу покрытия ограничения С по следующему правилу:
Строки в С соответствуют инверсным
строкам в В. Столбцов в С ровно половина
от общего числа «1» в В. Каждый столбец С строится для конкретной «1» в верхней диагональной матрице В так, что если единица
стоит в строке а и столбце в, то в С в данном столбце стоят ровно две единицы в строках а и в .
х1
С =
71 Л 7з Л Веса строк
1 0,01
1 0,01
1 4
1 8
1 2
1 16
1 0,01
1 0,01
2
3
4
2
4
3
4
2
3
4
Теорема 1. Пусть пШ1П- минимальное взвешенное покрытие С, например, пШП = {а, в,. ., У}, X - множество всех строк
матрицы С . Тогда, если множество X \ пШП не удовлетворяет искомому ограничению О, то это ограничение не выполнимо, где \ -теоретико-множественная разность.
Доказательство теоремы дано в [1].
Процесс решения ЗБП будет заключаться в формировании для каждого ограничения собственной матрицы покрытия ограничения с последующим наращиванием этих матриц путем присоединения к ним новых столбцов-следствий (резольвент). При этом для каждой матрицы покрытия можно оценить вероятность наличия покрытия меньшей стоимости. Если эта вероятность становится пренебрежительно малой, а решение не найдено, то с высокой степенью уверенности можно утверждать, что исходная задача решения не имеет. Теперь опишем саму процедуру.
Ищем неизбыточное покрытие для всех матриц-ограничений. Для этого выстроим из всех таких матриц одну общую
мат
X,
G,
X п
зицу по схеме
G
указанной ниже:
G.
Res1
Rest
где - матрица 1-го ограничения.
Все матрицы имеют общий набор строк. Назовем общую объединенную матрицу Со. Найдем покрытие п матрицы Со, например, «жадным» алгоритмом. Данное покрытие п хотя бы для одной из матриц-ограничений должно быть неизбыточным. Для проверки избыточности мы используем технику синдромных столбцов, как описано в [1, 2]. Теперь заметим, что в решение исходной ЗБП не может войти никакая контрарная пара литер. В силу теоремы 1 минимальное взвешенное покрытие должно содержать ровно п строк, если все ограничения выполнимы; п - число индексов переменных.
Итак, если покрытие п содержит более п строк, то построим резольвенту на
матрице Со по технике, описанной в [2]. При этом веса строк не учитываем, т.е. попросту строим резольвенту в предположении, что п не минимально. Резольвента есть новый дополнительный столбец. Если резольвента нулевая, то задача не имеет допустимого решения. В противном случае присоединим резольвенту к матрице Со.
2. Пусть п содержит ровно п строк, т.е. неизбыточно ни для одной . По теореме 1 получаем множество строк, дополнительное к п , являющееся решением для исходной задачи ЗБП. Это решение может быть не допустимым, так как, скажем, нарушает ограничение Ок. Теперь уже строим для Ок столбец-резольвенту для случая взвешенного покрытия п, т.е. учитываем веса строк из п в Ок. Техника построения резольвенты в этом случае описана в [1]. Опять, если резольвента нулевая, то решения нет.
3. Процесс присоединения резольвент не бесконечен и сопровождается проверкой соотношения для вероятности существования в матрице Со покрытия с числом строк, равным п.
Для матрицы нарушенного ограничения оценивается вероятность существования неизбыточного покрытия меньшей стоимости.
Оценка для матрицы Со имеет следующий вид [2]:
/ 1 ^
п + — • 1п п - — к+— • 1п к
1 2, 1 2,
п-к + — 2
1п(п - к) +
(3)
- +
где
12п 12к +1 12(п-к) + ] + т • 1п(1 -1к) <-1,5,
п - число строк матрицы Со;
7 7 п
к - в нашем случае к = ^ - размер искомого минимального покрытия;
т - число различных столбцов Со;
п
п- -
^п
п - к +1
где
= 0, если п - ^п < к ;
! = Ё *,
~г да
р - плотность единичных элементов в
столбце /.
Выполнение соотношения (3) устанавливает завершение итераций с ответом «нет решения», если оно не было еще найдено.
Среднее число присоединенных к Оо столбцов-резольвент оценивается как [2]:
га'« (п + 2,41)• гар/д/1 - р . (4)
Это соотношение указывает на по-линомиальность статистического алгоритма.
Для оценки вероятности существования для матрицы покрытия с меньшим
весом также используется соотношение (3), но пересчитанное для невзвешенной матрицы покрытия. Последняя получается из на основе техники сведения, описанной в [1]. Фактически же само сведение выполнять нет необходимости, а просто пересчитать значения п', га', к' и р' для трансформированной матрицы. Именно:
га
где "г - вес строки г исходном матрицы.
п'=X П "вк,,
где
- вес строки ßk, содержащей еди-
ницу в столбце у.
га -п
'ßkJ '
где - число единиц в столбце у исходной матрицы.
£к ~ (1 - _р')к и к ' = весу наилучшего покрытия, уменьшенному на 1.
Итак, нами сформулировано сведение задачи на линейных дизъюнктных неравенствах к задаче о минимальном взвешенном покрытии и показана техника применения статистически оптимального алгоритма. Это сведение позволяет реализовать статистически оптимальный алгоритм для ЗБП. «Регулятором» сходимости является матрица Со с критериальной оценкой (3) и оценкой (4) для числа итераций. Последняя полиномиальна от га и п. Плотность р в (3) рассматривается как константа. Полное обоснование статистически оптимальных алгоритмов для задач о покрытии дано в [1, 2]. Особенно следует подчеркнуть, что это обоснование дано для больших матриц, т.е. для случая, когда точные алгоритмы оказываются неэффективными.
ЛИТЕРАТУРА
7. .Герман О.В. Обобщенный статистически оитимальный )еиой решения задачи о минимальном езее^енном иокрытии 0, 7 — матрицы // Экономика и математические методы. — 799Е. — Г. 30. —Выи. Е. — С. 739-750.
2. Герман О.В., Яайденко В.&. Статистически оптимальный алгоритм для задачи о минимальном покрытии // Экономика и математические методы. — 7995. — Г. 29. — Выи. Е. — С. КК2-КК&
Об авторах
Герман Олег Витольдович, кандидат физико-математических наук, доцент кафедры информационных технологий автоматизированных систем Белорусского государственного университета информатики и радиоэлектроники, круг научных интересов - математическая кибернетика и логика.
Дорожкина Наталия Николаевна, старший преподаватель кафедры информатики и высшей математики Международного гуманитарно-экономического института. Гончарова Елена Николаевна, старший преподаватель кафедры прикладной математики и информатики Ставропольского государственного университета.