ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
2015
Вычислительные методы в дискретной математике
№ 4(30)
ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ В ДИСКРЕТНОЙ МАТЕМАТИКЕ
УДК 519.8
АНАЛИЗ И РЕШЕНИЕ ЗАДАЧ ДИСКРЕТНОЙ ОПТИМИЗАЦИИ С ЛОГИЧЕСКИМИ ОГРАНИЧЕНИЯМИ НА ОСНОВЕ L-РАЗБИЕНИЯ1
А. В. Адельшин, А. А. Колоколов
Институт математики им. С. Л. Соболева СО РАН, Омский филиал, г. Омск, Россия
Исследуются задачи дискретной оптимизации с логическими ограничениями на основе моделей целочисленного линейного программирования и метода регулярных разбиений. Получена верхняя оценка мощности произвольного L-комплекса многогранника задачи 2-выполнимости, использование которой позволяет более эффективно решать некоторые прикладные задачи проектирования сложных изделий с помощью рассматриваемых подходов.
Ключевые слова: задача выполнимости, логические ограничения, целочисленное программирование, L-разбиение.
DOI 10.17223/20710410/30/10
ANALYSIS AND SOLUTION OF DISCRETE OPTIMIZATION PROBLEMS WITH LOGICAL CONSTRAINTS ON THE BASE OF
L-PARTITION APPROACH
A. V. Adelshin, A. A. Kolokolov
Omsk Branch of Sobolev Institute of Mathematics, Omsk, Russia,
E-mail: [email protected], [email protected]
In the paper, we analize discrete optimization problems with logical constraints based on integer linear programming models and L-partition approach. We obtain an upper bound for the power of any L-complex of the 2-SAT polytope. The use of this evaluation allows to solve some applied problems of designing complex products by these approaches much more efficiently.
Keywords: satisfiability problem, logical constraints, integer programming, L-partition.
Введение
Во многих задачах управления, планирования, проектирования и других областях возникают логические ограничения, которые необходимо учитывать в процессе принятия решений. Указанные ограничения часто описываются с помощью логических формул и приводят к задаче выполнимости, одной из центральных в теории сложности, а также к задаче максимальной выполнимости и смешанной задаче с логическими
хРабота поддержана грантом РФФИ №13-01-00862.
Анализ и решение задач дискретной оптимизации с логическими ограничениями 101
условиями. Широкое практическое применение этих задач является стимулом для разработки алгоритмов их решения [1-6]. В ряде работ проводились исследования указанных задач на основе моделей целочисленного линейного программирования (ЦЛП) и L-разбиения [7], получены структурные свойства многогранников задач и предложены семейства трудных задач для определённых классов алгоритмов [8-10]. Кроме того, для задачи выполнимости разработан алгоритм, основанный на методе перебора L-классов [5]. В дальнейшем с его использованием предложены алгоритмы решения задачи максимальной выполнимости и смешанной задачи максимальной выполнимости. В данной работе продолжены исследования структуры многогранника задачи выполнимости, получено новое свойство его L-структуры, которое может оказаться полезным при анализе и разработке алгоритмов решения рассматриваемых задач, основанных на методах целочисленного программирования и аппарате непрерывной оптимизации.
Рассмотрим постановку задачи выполнимости (SAT). Пусть xi,... ,xn — переменные, принимающие значение истина или ложь. Под литералом понимается либо переменная Xj, j = 1,... ,n, либо её отрицание. Пусть логическая формула F представляет собой конъюнкцию формул (скобок) Ci, i = 1 ,...,m, каждая из которых является дизъюнкцией литералов. Требуется определить, выполнима ли формула F, т. е. существует ли такой набор значений переменных, при котором F принимает значение истина. Известно, что задача SAT является NP-полной, а в случае, когда каждая скобка содержит не более двух литералов, задача полиномиально разрешима [11]. Многие известные задачи теории графов, построения расписаний, криптографии могут быть сформулированы как задача выполнимости некоторой логической формулы в конъюнктивной нормальной форме [12-14].
Важным обобщением задачи SAT является задача максимальной выполнимости (MAX SAT). Предположим, что каждой скобке Ci соответствует неотрицательный вес ci, тогда задача MAX SAT состоит в отыскании набора значений логических переменных, при котором суммарный вес выполненных скобок будет наибольшим.
Перейдём далее к рассмотрению моделей ЦЛП рассматриваемых задач. Приведём сначала модель для задачи выполнимости. Введём булевы переменные y1,... ,yn, такие, что yj соответствует переменной Xj, а (1 — yj) —её отрицанию, т. е. yj = 1 тогда и только тогда, когда переменная Xj принимает значение истина, j = 1,... ,n. Нетрудно показать, что условие выполнимости логической формулы F эквивалентно существованию решения системы
Е yj — Е yj ^ 1 — |C-1, i =1,...,m; (1)
jec+ jeer
0 ^ yj ^ 1 j = 1,...,n; (2)
yj e Z, j = 1,...,n^ (3)
где C- и C+ — множества индексов переменных, входящих в скобку Ci с отрицанием и без него соответственно; величина | C— | —мощность множества C—.
Для получения задачи ЦЛП необходимо ввести целевую функцию. В качестве такой функции может быть выбрана, например, f (y) = yi ^ max или f (y) =
n
= E yj ^ max, где y = (y1,..., yn). В данной работе рассматривается лексикографиче-j=i
ская постановка задачи ЦЛП, т. е. ищется лексикографически максимальный вектор y, удовлетворяющий системе ограничений (1) — (3).
102
А. В. Адельшин, А. А. Колоколов
Модель ЦЛП задачи максимальной выполнимости выглядит следующим образом:
m
yo = E cizi ^ max; i= 1 (4
E yj - E yj + zi ^ |C-|, i =1,...,m; (5
jeer jec+t
0 ^ yj ^ 1 j = 1,...,n; (e;
0 ^ zi ^ 1, i = 1,..., m; (7
yj, zi E Z, j = 1,..., n, i = 1,..., m. (s:
Здесь каждой скобке Ci поставлена в соответствие переменная Zi, причём в любом допустимом целочисленном решении zi = 1 только в том случае, когда Ci выполнена. Таким образом, оптимальное значение целевой функции равно наибольшему суммарному весу выполненных скобок. Отметим, что если в последнюю модель добавить ограничения вида (1), то получим модель ЦЛП для смешанной задачи с «жесткими» ограничениями (1) и «мягкими» ограничениями (5).
1. О методе регулярных разбиений
Для исследования структуры задач целочисленного программирования, построения и анализа методов их решения А. А. Колоколовым предложен подход, идея которого заключается в выделении семейства специальных разбиений релаксационного множества задачи. Особенности данного подхода подробно описаны в [7].
Приведём необходимые для дальнейшего изложения определения и обозначения. В первую очередь потребуется понятие лексикографического порядка. Для этого рассмотрим функцию
n(x, y) = min{i : Xi = yi, i = 1,..., n}, x,y E Rn, x = y.
Вектор x лексикографически больше (меньше) вектора y, т. е. x У y (x У y), если x = y и xw > yw (xw < yw) для w = n(x,y). Отношение У представляет собой отношение строгого линейного порядка. Запись x У y означает, что либо x У y, либо x = y. Аналогично понимается x У y.
Для множеств X, Y С Rn полагаем: X У Y (X У Y), если x У y (x У y) для любых x E X и y E Y.
Пусть x, y E Rn и x У y. Будем говорить, что точки x и y отделимы, если найдётся точка z E Zn, для которой выполняется x У z У y. Точку z назовём отделяющей.
Дадим определение L-разбиения. Точки x,y E Rn (x У y) называются L-эквивалентными, если не существует отделяющей их точки z E Zn. Это отношение эквивалентности порождает разбиение любого множества X С Rn на непересекающиеся L-классы. Фактор-множество X/L называется L-разбиением множества X. Указанное разбиение обладает рядом полезных свойств, применяемых при разработке и исследовании алгоритмов целочисленного программирования, в частности алгоритмов перебора L-классов. Отметим некоторые из них:
1) каждая точка z E Zn образует отдельный L-класс, остальные классы состоят из нецелочисленных точек и называются дробными;
2) если X — ограниченное множество, то фактор-множество X/L конечно;
3) любой дробный L-класс V E X/L можно представить в виде
V = X П {x : xi = а\,..., xr-1 = ar-1, ar < xr < ar + 1}, где ai E Z, i = 1,..., r; 1 ^ r ^ n.
Анализ и решение задач дискретной оптимизации с логическими ограничениями 103
Рангом L-класса V называется величина
r(V)
min{i : Xj = [хф i = 1,... ,n, x E V}, если V — дробный, n + 1 в противном случае.
Подмножество K дробных L-классов из X/L называется комплексом (L-комплексом), если для любых V, V' E K, V У V', не существует точки z E X П Zn, отделяющей V и V', т. е. V У z У V'.
Далее рассмотрим лексикографическую задачу ЦЛП следующего вида: найти лексикографически максимальную точку у* множества (M П Zn), т. е.
найти у* = lexmax(M П Zn), (9)
где M — некоторый выпуклый многогранник. Важную роль в исследовании задачи (9) и методов её решения играет множество
M* = {у E M : Vz E M П Zn (у У z)},
которое называется дробным накрытием задачи (9). Фактор-множество M*/L называется L-накрытием задачи.
Выделение этой части релаксационного множества задачи связано с тем, что в некоторых методах ЦЛП (методах отсечения, перебора L-классов) происходит последовательное исключение точек из M*, т. е. эти методы можно рассматривать как определённые способы «снятия» дробных накрытий.
С использованием метода регулярных разбиений получен ряд теоретических результатов при исследовании задач с логическими условиями [5, 8-10]. Проведён анализ L-структуры многогранников (1) — (2) и (5) — (7) задач выполнимости и максимальной выполнимости. Построены семейства логических формул, для которых мощности L-накрытий задач выполнимости и максимальной выполнимости растут экспоненциально с увеличением числа переменных. Получены оценки числа итераций некоторых алгоритмов целочисленного линейного программирования при решении задач из построенных семейств.
2. Задача 2-выполнимости
Пусть каждая скобка в логической формуле F содержит не более двух литералов. В этом случае задачу выполнимости называют задачей 2-выполнимости. В работе [9] проведён анализ структуры задачи 2-выполнимости и доказана следующая
Лемма 1 [9]. Если многогранник M задачи 2-выполнимости, содержащий целочисленную точку, пересекается с некоторой k-мерной гранью куба Bn = {x E Rn : 0 ^ ^ Xj ^ 1, j = 1,... , n}, то M содержит вершину этой грани.
С помощью этой леммы получена верхняя оценка мощности L-накрытия лексикографического варианта (9) задачи 2-выполнимости
Теорема 1. Если многогранник M задачи 2-выполнимости содержит целочисленную точку, то для мощности L-накрытия выполняется | M* /L | ^ n — 1.
Далее приводятся результаты исследований структуры многогранника данной задачи, обобщающие ранее полученную оценку теоремы 1.
Лемма 2. Пусть существуют а = (а\,... , an) E M П Zn и b = (b\,... ,bn) E M П Zn, такие, что а У b и не существует c E M П Zn со свойством а У c У b. Тогда для П = {у E M : а У у У b} справедливо |Q/L| ^ n — 1.
104
А. В. Адельшин, А. А. Колоколов
Доказательство.
I. Допустим, L-комплекс П/L содержит L-класс V ранга п. Пусть V = {(v^..., vn-i,vn) : 0 < vn < 1}, где Vj Е {0,1}, j = 1,... , n—1. Покажем, что (v1,... , vn-1,0) E M и (v1,... , vn-i, 1) E M. Заметим, что в системе ограничений (1) задачи возможны четыре вида неравенств, содержащих переменную yn: yj + yn ^ 1, yj + yn ^ 1, yj — yn ^ 0 и yj — yn ^ 0. Учитывая множества возможных значений координат v1,... , vn-1, vn, легко видеть, что в любом из перечисленных неравенств значение vn можно положить равным 0 или 1, при этом полученное решение останется допустимым.
Следовательно, если L-комплекс П/L содержит L-класс V ранга п, то a = (v1,... , vn-1,1) Е M, b = (v1,..., vn-1, 0) E M, а значит, |П| = 1.
II. Теперь докажем, что П/L не может содержать два L-класса одного ранга.
Предположим обратное: пусть существуют V1,V2 Е П/L ранга k и V1 У V2. Нетрудно
показать, что они имеют следующий вид:
V1 = {(a1,.. .,ak-1,ak,.. .,an) : 0 < ak < 1, 0 ^ aj ^ 1, j = k + 1,... ,n}, V2 = {(b1,.. .,bk-1,Pk, ...,fin): 0 < вк < 1, 0 ^ fij ^ 1, j = k + 1,... ,n}.
Это вытекает из леммы 1 и того, что между a и b нет других целочисленных точек.
Покажем, что существует целочисленная точка d Е M, такая, что a У d У b, и построим её алгоритмически.
Определим следующие множества. Пусть F — множество всех ограничений задачи, Q* С F, I = {1,...,п} — множество всех индексов переменных формулы, J * С {j : j ^ k}. Будем рассматривать различные целочисленные точки d* = (d1,... , dn): для всех j Е I
dj
aj, если j Е J*, bj, если j Е J*.
Положим Q0 = 0, J0 = {k}, d0 = (a1,... , ak-1,0, ak+1,... , an). Нетрудно показать,
что ak = 1, bk = 0, ak = ak.
Пусть после итерации t имеются Q*, J * и соответствующая точка d*, такие, что выполнены следующие свойства:
— ограничения из Q* содержат только литералы с индексами из J*;
— Vj Е J* (aj = aj).
Покажем, что если d* Е M, то можно построить множества Q*+1 0 Q*, J*+1 0 J* и соответствующую точку d*+1, для которых данные свойства также будут выполнены. Пусть d* удовлетворяет любому ограничению из Q*. Значит, должно существовать ограничение g(yi,yj) Е F\Q*, которому точка d* не удовлетворяет, но удовлетворяют точки a, b и L-класс V1. Попробуем его найти.
Возможны несколько вариантов такого ограничения:
1) i Е J*, j Е J*. Но тогда данному ограничению не удовлетворяет точка a. Противоречие.
2) i Е J*, j Е J*. Но тогда данному ограничению не удовлетворяет точка b. Противоречие.
3) i < k, j Е J*. Возможны четыре вида ограничений: yi + yj ^ 1, yi + yj ^ 1, yi — yj ^ 0 и yi — yj ^ °.
Анализ и решение задач дискретной оптимизации с логическими ограничениями 105
Рассмотрим первое из них yi + yj ^ 1:
d* + dj > 1, a + a, ^ 1,
tti + aj ^ 1
ai + dj > 1,
Яг + aj ^ 1, ai + aj ^ 1
ai = 1, dj = 1,
aj = 0, aj = 0
ai = 1, dj = 1, аг + aj ^ 1,
Яг + aj ^ 1
ai = 1 , dj = 1 ,
1 + a j ^ 1, ^
1 + aj ^ 1
^ противоречие с aj = aj.
Аналогично рассматриваются оставшиеся ограничения, которые приводят к таким же противоречиям.
Таким образом, ограничения задачи, удовлетворяющие свойствам 1-3, не являются искомыми. Остаётся последний вариант:
4) j £ J*, i £ J* и i > k. Возможны те же четыре вида ограничений.
Рассмотрим первое yi + yj ^ 1:
d* + dj > 1, ai + aj ^ 1, ^
ai + aj ^ 1
ai 1, bj 1,
aj = 0, ai + a,- ^ 1
ai + bj > 1, ai + я, ^ 1, ai + a, ^ 1
^ (aj = aj)
ai 1, bj 1,
ai + a, ^ 1, ai + a, ^ 1
ai = 1, b
j
, bj
1,
aj = 0, aj > 0 ai + a, ^ 1 ai = ai.
ai = 1, bj = 1,
1 + a j ^ 1, ^
ai + a, ^ 1
ai = 1 , bj = 1 , a, = 0, a, > 0 ^
ai < 1
Аналогично можно рассмотреть оставшиеся виды ограничений и получить такие же результаты.
Теперь рассмотрим множества Qt+1 = Q* U {g(yi, у,)}, Jt+1 = J* U {i} и соответствующую точку d*+1, где d*+1 = bi. Очевидно, что:
— ограничения из Q*+1 содержат только литералы с индексами из J*+1;
- Vj £ J*+1 (aj = а,).
Таким образом, мы построили множества Q*+1 D Q*, J *+1 D J * и соответствующую точку d*+1, для которых выполнены те же условия, что и для d*. А значит, можно строить последовательность пар таких множеств (Q*+2, J*+2), (Q*+3, J*+3), ..., до тех пор, пока не найдём ds £ M. Конечность данного процесса вытекает из конечности множеств F и I .А поскольку а У ds У b по построению, получаем противоречие. Следовательно, L-комплекс П/L не может содержать два L-класса одного ранга.
Таким образом, либо L-комплекс П/L содержит L-класс ранга n, и тогда |Q/L| = 1, либо не содержит, и тогда | П /L | ^ n — 1. ■
Приведём пример формулы, для которой данная оценка достигается.
Пример 1. Рассмотрим логическую формулу
П— 1
F = Л (Xi V Xj ) Д (Xi V xm) Л (xn-1 V Хп ).
i<j^n i=2
Нетрудно показать, что многогранник M содержит только две целочисленные точки: z1 = (1, 0,..., 0) и z2 = (0,0,..., 0), а также в нём содержатся полуцелочисленные
106
А. В. Адельшин, А. А. Колоколов
точки вида
y(k) = ((V^O, 1/2,1/2), k = 1 — 1,
k-1
причём z1 У y(k) У z2. Каждая точка y(k) является представителем L-класса V(k) = {(0,..., O,Vk,... ,vn), 0 < Vk < 1, 0 ^ Vj ^ 1, j = k + 1,... ,n},
k-l
причём r(V(k)) = k. Таким образом, |{y G M : z1 У y У z2}/L| = n — 1.
Лемма 3. Пусть существует a G M П Z и не существует c G M П Z, что a У c. Тогда для П = {y G M : a У y} справедливо |Q/L| ^ n — 1.
Доказательство. Легко показать (аналогично п. I доказательства леммы 2), что L-комплекс П/L не содержит L-класса ранга n, поскольку в противном случае существует точка c G M П Z, для которой а У с.
Допустим, существуют V1,V2 G П/L ранга k < n и V1 У V2:
Vi = {(ai,... ,ak-i,ak, ...,an): 0 < a < 1, 0 ^ aj ^ 1, j = k + 1,... ,n},
где aj G {0,1}, j = 1,... , k — 1, — фиксированные;
V2 = {(в1,.. .,Pk-i,Pk,... ,вп) : 0 < ^k < 1, 0 ^ fa ^ 1, j = k + 1,... ,n},
где в G {0,1}, j = 1,... , k — 1, — фиксированные.
Тогда V1 содержится в (n — k + 1)-мерной грани
51 = {(a1,...,ak-1,yk,...,Уп) : 0 ^ yj ^ 1, j = k,...,n^
V2 содержится в (n — k + 1)-мерной грани
52 = {(въ.. . ,ek-1,yk,.. .,Уп) : 0 ^ yj ^ 1, j = k,. ..,n}
и S1 У S2. Согласно лемме 1, в каждой из этих граней есть вершина, принадлежащая M. Обозначим их с1 G S1 и с2 G S2. Но поскольку а У S1 У S2, получается, что а У с2. Противоречие. ■
Приведём пример формулы, для которой данная оценка достигается.
Пример 2. Рассмотрим логическую формулу
П- 1 П- 1
F = Д (xi V Xi+1) Д (xi V Xi+1).
i= 1 i=1
Многогранник M содержит только две целочисленные точки: z1 = (1, . . . , 1, 1) и z2 = (1,... , 1, 0), а также в нём содержатся полуцелочисленные точки вида
y(k) = (WJ, 1/2,..., 1/2), k = 1,...,n — 1,
k-1
причём z2 У y(k). Каждая точка y(k) является представителем L-класса
V(k) = {(1,... , 1,vk,... ,v„) : 0 < vk < 1, 0 ^ vj ^ 1, j = k + 1,... ,n},
k1
причём r(V(k)) = k.
Таким образом, |{y G M : z2 У y}/L| = n — 1.
Анализ и решение задач дискретной оптимизации с логическими ограничениями 107
Из лемм 2 и 3 следует верхняя оценка мощности произвольного L-комплекса многогранника задачи 2-SAT.
Теорема 2. Мощность любого L-комплекса многогранника задачи 2-SAT, содержащего целочисленную точку, не превосходит n — 1.
Полученные свойства полезны при анализе и разработке алгоритмов решения задачи выполнимости и смешанной задачи максимальной выполнимости. В частности, в работе [6] предложен алгоритм решения последней, в котором используется процедура перехода от одного допустимого решения к другому в порядке лексикографического убывания. Эта процедура основана на переборе L-классов и её трудоёмкость определяется числом дробных L-классов между соседними целочисленными решениями. В некоторых прикладных задачах (например, проектирования [5]) набор логических ограничений представляет собой задачу 2-выполнимости, а значит, теорема 2 гарантирует, что перебор допустимых решений в указанной процедуре будет осуществляться достаточно быстро. Таким образом, представляется целесообразным построение алгоритмов, использующих перебор L-классов, для рассматриваемых постановок.
ЛИТЕРАТУРА
1. Колоколов А. А., Адельшин А. В., Ягофарова Д.И. Решение задачи выполнимости с использованием метода перебора L-классов // Информационные технологии. 2009. №2.
С.54-59.
2. Gu J., Purdom P., Franco J, and Wah B. Algorithms for the satisfiability (SAT) problem: a survey // DIMACS Series in Discrete Mathematics and Theoretical Computer Science. American Mathematical Society, 1996. P. 19-152.
3. HamadiY., JabbourS., and Sais L. ManySAT: a parallel SAT solver // J. Satisfiability, Boolean Modeling and Comput. 2009. No.6. P.245-262.
4. Thornton J., Bain S., Sattar A., and PhamD.N. A two level local search for MAX-SAT Problems with hard and soft constraints // Proc. 15th Australian Joint Conference on Artificial Intelligence, AustAI-2002. Canberra, Australia, 2002. P.603-614.
5. Колоколов А. А., Адельшин А. В., Ягофарова Д. И. Исследование задач дискретной оптимизации с логическими ограничениями на основе метода регулярных разбиений // Прикладная дискретная математика. 2013. №1(19). С. 99-109.
6. Адельшин А. В., Кучин А. К. Разработка алгоритмов решения смешанной задачи максимальной выполнимости // Материалы V Всерос. конф. «Проблемы оптимизации и экономические приложения». Омск, 2012. С. 99.
7. Колоколов А. А. Регулярные разбиения и отсечения в целочисленном программировании // Сиб. журнал исследования операций. 1994. №2. С. 18-39.
8. Адельшин А. В. Исследование задач максимальной и минимальной выполнимости с использованием L-разбиения // Автоматика и телемеханика. 2004. №3. С. 35-42.
9. Ягофарова Д. И. Анализ L-структуры задачи 2-выполнимость // Материалы конф. «Под знаком ‘Сигма’». Омск, 1994. С. 71-77.
10. Kolokolov A., Adelshin A., and Yagofarova D. Analysis and solving SAT and MAX-SAT problems using an L-partition approach // J. Math. Modeling Algorithm. 2013. No. 12(2). P.201-212.
11. Cook S. A. The complexity of theorem-proving procedure // Proc. 3rd Annual ACM Symp. Theory of Computing. N. Y.: ACM, 1971. P. 151-159.
12. Колоколов А. А., Ярош А. В. Автоматизация проектирования сложных изделий с использованием дискретной оптимизации и информационных технологий // Омский научный вестник. 2010. №2(90). С. 234-238.
108
А. В. Адельшин, А. А. Колоколов
13. Посыпкин М. А., Заикин О. С., Беспалов Д. В., Семенов А. А. Решение задач криптоанализа поточных шифров в распределенных вычислительных средах // Труды ИСА. 2009. Т. 46. С. 119-137.
14. Massacci F. and Marraro L. Logical cryptanalysis as a SAT problem // J. Automated Reasoning. 2000. No. 24. P. 165-203.
REFERENCES
1. Kolokolov A. A., AdelshinA.V., Yagofarova D. I. Reshenie zadachi vypolnimosti s ispol’zovaniem metoda perebora L-klassov [Solving SAT problem using L-class enumeration method]. Informatsionnye Tekhnologii, 2009, no. 2, pp. 54-59. (in Russian)
2. Gu J., Purdom P., Franco J., and Wah B. Algorithms for the satisfiability (SAT) problem: a survey. DIMACS Series in Discrete Mathematics and Theoretical Computer Science. American Mathematical Society, 1996, pp. 19-152.
3. Hamadi Y., Jabbour S., and Sais L. ManySAT: a parallel SAT solver. J. Satisfiability, Boolean Modeling and Comput., 2009, no. 6, pp. 245-262.
4. Thornton J., Bain S., Sattar A., and PhamD.N. A two level local search for MAX-SAT Problems with hard and soft constraints. Proc. 15th Australian Joint Conference on Artificial Intelligence, AustAI-2002. Canberra, Australia, 2002, pp. 603-614.
5. Kolokolov A. A., Adelshin A. V., Yagofarova D. I. Issledovanie zadach diskretnoy optimizatsii s logicheskimi ogranicheniyami na osnove metoda regulyarnykh razbieniy [Study of discrete optimization problems with logical constraints based on regular partitions]. Prikladnaya Diskretnaya Matematika, 2013, no. 1(19), pp. 99-109. (in Russian)
6. AdelshinA.V., Kuchin A. K. Razrabotka algoritmov resheniya smeshannoy zadachi maksimal’noy vypolnimosti [Development of algorithms for solving a mixed problem of maximal satisfiability]. Materialy V Vseross. konf. «Problemy optimizatsii i ekonomicheskie prilozheniya», Omsk, 2012, p. 99. (in Russian)
7. Kolokolov A. A. Regulyarnye razbieniya i otsecheniya v tselochislennom programmirovanii [Regular partitions and truncations in integer programming]. // Sibirsk. Zh. Issled. Oper., 1994, no. 2, pp. 18-39. (in Russian)
8. Adelshin A. V. Issledovanie zadach maksimal’noy i minimal’noy vypolnimosti s ispol’zovaniem L-razbieniya [Investigation of maximum and minimum satisfiability problems using L-partition ]. Avtomat. i Telemekh., 2004, no.3, pp. 35-42. (in Russian)
9. Yagofarova D. I. Analiz L-struktury zadachi 2-vypolnimost’ [Analysis of the L-structure for 2-SAT problem]. Materialy konf. «Pod znakom ‘Sigma’». Omsk, 1994, pp. 71-77. (in Russian)
10. Kolokolov A., Adelshin A., and Yagofarova D. Analysis and solving SAT and MAX-SAT problems using an L-partition approach. J. Math. Modeling Algorithm, 2013, no. 12(2),
pp. 201-212.
11. Cook S. A. The complexity of theorem-proving procedure. Proc. 3rd Annual ACM Symp. Theory of Computing. N. Y., ACM, 1971, pp. 151-159.
12. Kolokolov A. A., YaroshA.V. Avtomatizatsiya proektirovaniya slozhnykh izdeliy s ispol’zovaniem diskretnoy optimizatsii i informatsionnykh tekhnologiy [Computer-aided design of complex products using discrete optimization and information technologies]. Omskiy nauchnyy vestnik, 2010, no. 2(90), pp. 234-238. (in Russian)
13. Posypkin M. A., Zaikin O. S., Bespalov D. V., Semenov A. A. Reshenie zadach kriptoanaliza potochnykh shifrov v raspredelennykh vychislitel’nykh sredakh [Cryptanalysis of stream ciphers in distributed computing systems]. Trudy ISA, 2009, vol. 46, pp. 119-137. (in Russian)
14. Massacci F. and Marraro L. Logical cryptanalysis as a SAT problem. J. Automated Reasoning, 2000, no. 24, pp. 165-203.