МАТЕМАТИКА
Вестн. Ом. ун-та. 2011. № 2. С. 14-18.
УДК 519.87 А.В. Адельшин
Омский филиал Института математики им. С.Л. Соболева СО РАН
Е.Н. Жовнер
Омский филиал ООО «Люксофт Профешнл»
ПРИМЕНЕНИЕ ЗАДАЧ ВЫПОЛНИМОСТИ ЛОГИЧЕСКОЙ ФОРМУЛЫ ДЛЯ ПРОЕКТИРОВАНИЯ ХИМИЧЕСКОГО СОСТАВА РЕЗИН*
Рассмотрены задачи выполнимости и максимальной выполнимости логической формулы в применении к проектированию химического состава резин специального назначения. Построены соответствующие модели целочисленного линейного программирования, и предложен алгоритм решения указанной задачи проектирования. Проведен вычислительный эксперимент по получению состава огнестойкой резины на основе смесей каучуков.
Ключевые слова: исследование операций, целочисленное программирование, задача выполнимости, перебор ^-классов, огнестойкая резина.
В данной статье рассматривается задача проектирования химического состава огнестойкой резины на основе смесей каучуков. Для ее решения нами используются модели задач дискретной оптимизации с логическими ограничениями, которые представляют большой теоретический интерес и находят широкое применение при решении различных прикладных задач [1-4].
Огнестойкие резины применяют, например, для изоляции электрических кабелей, в производстве тканей, конвейерных лент, для защиты покровного слоя резинокордных оболочек. Наиболее горючая часть резиновой смеси - каучук и пластификаторы, поэтому основными принципами составления рецептур является снижение их содержания в составе смеси и использование антипиренов, обладающих свойством огнестойкости [5]. При проектировании химического состава резин некоторые ограничения на включение различных химических элементов в состав смесей могут описываться с помощью логических условий и приводить к задачам выполнимости и максимальной выполнимости логической формулы.
Рассмотрим сначала постановку задачи выполнимости. Пусть Х1, Хп - логические переменные, принимающие значение истина или ложь. Под литералом понимается либо переменная х, либо ее отрицание , ] = 1,...,п . Пусть логическая формула Е представляет собой
конъюнкцию формул (скобок) С1, / = 1,.,т , каждая из которых является дизъюнкцией литералов. Требуется определить, выполнима ли формула Е, т. е. существует ли такой набор значений переменных, при котором она принимает значение истина. Известно, что задача выполнимости является ЫР-полной, а в случае, когда каждая скобка содержит не более двух литералов, задача полиномиально разрешима [3].
* Работа поддержана грантом РФФИ (проект 10-01-00598).
© А.В. Адельшин, Е.Н. Жовнер, 2011
Важным обобщением задачи выполнимости является задача максимальной выполнимости. Пусть каждой скобке С1 соответствует неотрицательный вес Задача состоит в отыскании набора значений логических переменных, при котором суммарный вес выполненных скобок будет наибольшим.
Одним из подходов к решению рассматриваемых задач является использование аппарата целочисленного линейного программирования (ЦЛП). Введем булевы переменные Уь..., уп такие, что уу соответствует переменной Ху, а (1 - у;) - ее отрицанию, таким образом, уу = 1 тогда и только тогда, когда переменная Ху принимает значение истина, у = 1,., п. Условие истинности формулы эквивалентно существованию решения следующей системы:
ЕУу -ЕУу - 1- IС- ^ 1 = 1,.,m,
у'<=-С у-еС-
0 < У у < 1, ] = 1,..., п,
Уу е 2, у = 1,.,п,
где С- и С+ - множества индексов переменных, входящих в скобку С с отрицанием и без него соответственно, величина
|с-| - мощность множества С- .
Рассмотрим модель ЦЛП для задачи максимальной выполнимости:
т
I(^ = X ^ max,
1=1
X Уу- X Уу + ^ <| С- |, 1 = ^ -m,
у'еС,“ у'еС,+
о < Уу < 1, Уу е 2, у = 1,.,п,
0 < < 1, zi е 2, 1 = 1,.,т.
Здесь каждой скобке С1 поставлена в соответствие переменная zi, причем в любом допустимом целочисленном решении zi =1 только в том случае, когда С1 выполнена. Таким образом, оптимальное значение целевой функции равно наибольшему суммарному весу выполненных скобок. С использованием данных моделей многие авторы разрабатывают алгоритмы решения, проводят анализ сложности указанных задач и решают различные прикладные задачи, в частности задачи проектирования сложных изделий [6].
В данной стаье представлены результаты решения задачи проектирования, состоящей в разработке рецептуры огнестойкой резины на основе следующих каучуков: хлоропренового каучука (наи-рита), хлорсульфированного полиэтилена
(ХСПЭ), фторкаучука, силоксанового каучука, поливинилхлорида, бутадиен-нит-рильного каучука. Все ингредиенты были разбиты на несколько групп в зависимости от своих свойств. Разработаны логические ограничения, которые отражают недопустимость или желательность определенных комбинаций составляющих [7].
Общая постановка задачи
Введем обозначения:
J = {1,..., п} - множество номеров ингредиентов, составляющих смесь;
J1 с J - множество номеров каучуков;
J2 с J - множество номеров антипиренов (отметим, что множество J1 и J2 включает в себя не все имеющие ингредиенты);
уу. - ингредиент смеси с номером
у е J;
Гу - вес ингредиента уу, который характеризует его огнестойкость, у е J2;
ху - логическая переменная, соответствующая у , которая принимает значение истина, если у., у е J, входит в состав смеси, и значение ложь - в противном случае;
I = {1,..., т} - множество номеров логических формул, используемых в задаче;
II = {1, •, т1} с I - множество номеров логических формул, которые должны быть обязательно выполнены;
С - логическая формула, соответствующая 1-му логическому ограничению,
1 е I, которая представляет собой дизъюнкцию литералов;
с1 - вес формулы С., характеризующий степень необходимости ее выполнения, 1 е I \ 11.
Задача состоит в отыскании значений логических переменных Ху, при которых выполняются логические формулы
С, 1 е ^, а суммарный вес выполненных формул С, 1 е I \ Д будет максимальным. Кроме того, необходимо, чтобы суммарный вес включенных в смесь ингредиентов ху, у е J2, обладающих свойством огнестойкости, был максимальным.
Модель ЦЛП для этой задачи имеет следующий вид:
Xс^- ^ таХ (1)
1е!Ц
X ГуУу ^ та^ (2)
]ее 2
X у у- X у у + zi■ <1С-|, 1 е I \11, (3)
уеС- уеС;+
X Уу - X у у -1-1С-|, 1 е и (4)
уеС,+ уеСГ
о < у у < 1, Уу е 2, у е J, (5)
0 < zi < 1, zi е 2, 1 е I \ !г (6)
В целевой функции (1) максимизируется сумма весов выполненных логических формул. Целевая функция (2) отражает уровень огнестойкости. Система неравенств (3) - это «мягкие» логические ограничения, необходимость выполнения которых зависит от степени их важности. «Жесткие» логические ограничения, которые обязательно должны быть выполнены, задаются условием (4).
Приведем пример одного из ограничений, используемого в модели. Для хлоропренового каучука (у^ необходимо использовать оксид цинка (У10) и оксид меди (Уп) как вулканизующие, мел (у21) как наполнитель и канифоль (у34) как повыситель клейкости. Этому условию соответствует логическая формула (х1 ^ х10 л х11 л х21 л х34), которая эквивалентна следующей конъюнкции: (х1 Vх10)(х1 Vх11)(х1 V х21)(х1 Vх34). Данное ограничение является «жестким» и порождает четыре линейных неравенства в системе (4).
Задача (1)-(6) была нами сведена к однокритериальной путем замены целевой функции (2) на линейное ограничение X ГуУу - Я, где величина Я - наименьшее ]ее 2
возможное значение суммарной огнестойкости ингредиентов, входящих в искомую смесь (нижняя граница).
Для исследования и решения задач целочисленного программирования А.А. Ко-локоловым был предложен метод регулярных разбиений [8]. На его основе был разработан алгоритм перебора Х-классов, который успешно применялся для решения многих задач дискретной оптимизации. В работе [2] описывается алгоритм перебора Х-классов ЬСЕ для решения задачи выполнимости. С его использованием в данной работе предложен алгоритм поиска качественного состава смеси. Далее рассмотрим описание схемы этого алгоритма.
Схема алгоритма поиска
качественного состава смеси
Шаг 0. Решаем задачу выполнимости (4)-(5) для «жестких» ограничений с по-
мощью алгоритма перебора Ь-классов ЬСЕ. Если формула выполнима, то переходим на шаг 1, иначе алгоритм завершает работу, рецептуры не существует.
Шаг 1. Составляем задачу выполнимости (3)-(5) из имеющихся «жестких» и «мягких» ограничений, в которой все г; полагаем равными 1. Решаем ее с помощью алгоритма ЬСЕ. Если решение у' = (у[,..., у'п) найдено, то переходим на шаг 2, иначе на шаг 4.
Шаг 2. Проверяем условие V г. у П ^ к.
ує^ 2
Если оно выполнено, то искомый состав найден, алгоритм завершает работу. Иначе переходим на шаг 3.
Шаг 3. Алгоритмом ЬСЕ ищем решение ~ п задачи выполнимости для «жестких» и «мягких» ограничений такое, что ~плексикографически меньше у'. Если решение найдено, то переходим на шаг 2, в противном случае на шаг 4.
ТПаг 4. Для «мягких» ограничений выбираем скобку с наименьшим весом либо несколько скобок так, чтобы сумма их весов была минимальной, и исключаем ее (их) из дальнейшего рассмотрения. Если таких скобок больше нет, то рецептуры не существует, алгоритм завершает работу. Иначе возвращаемся на шаг 1.
В рамках данной схемы был реализован алгоритм и проведен вычислительный эксперимент. Результаты сравнивались с лабораторным экспериментом, проведенным специалистами ФГУП «НПП Прогресс». В табл. 1 приведены соответствующие
составы смесей. Видно, что найденный алгоритмом состав резины не сильно отличается от состава, полученного при лабораторных исследованиях.
Таблица 1 Составы огнестойких резин
Составляющие смеси Вьч. эксперимент Лаб. эксперимент
Каучуки наирит, ХСПЭ наирит, ХСПЭ
Вулканизаторы 1п0, МдО, ДФГ, альтакс 7пО, МдО, ДФГ, каптакс
Наполнители мел, белая сажа мел, белая сажа
Противостарители неозон Д -
Пластификаторы - -
Повысители клейкости канифоль канифоль
Антипирены хлорпарафин хлорпарафин
Следует отметить, что затраты на проведение научно-исследовательской
работы по изготовлению и испытанию смесей достаточно велики, в то время как
применение математического аппарата позволило перебрать около 3000 различных вариантов за небольшое время.
Для найденного состава была рассмотрена задача поиска количественного состава, в которой необходимо определить массу каждого ингредиента смеси так, чтобы ее суммарная стоимость была наименьшей. Для построения математической модели введем дополнительные обозначения:
sj - стоимость ингредиента Vj , j е J;
ajq - массовая часть ингредиента Vj, j е J \ J1, приходящаяся на 100 массовых долей каучука vq, q е Jj;
dq - доля содержания каучука vq, q е Jj, среди всех каучуков, включенных в смесь;
Uj - искомая масса ингредиента
Vj, j е J \ Jj, в составе смеси.
Тогда модель линейного программирования для задачи поиска количественного состава смеси может быть записана следующим образом:
X Sqdq + X sjuj ^ max, (7)
qеJ1 JеJ\ Jj
Uj = X ajqdq, j е J \ J1, (8)
qе Ji
X dq = 1, (9)
«еЛ
Uj > 0, j е J \ Jj, (10)
0 < dq < 1, q е Jj. (11)
Отметим, что коэффициенты ajq заданы изначально. Кроме того, особенностью задачи является то, что доли содержания каучуков в полученном составе однозначно определяют содержание других ингредиентов (условие (8)). Оптимальное решение данной задачи приведено в табл. 2. В ней указаны массы соответствующих ингредиентов (в граммах) в сравнении с результатами, полученными при лабораторных исследованиях. Отметим, что в полученном решении присутствуют два каучука - наирит и ХСПЭ.
Стоимость 1 кг найденной при вычислительном эксперименте смеси составляет 133,47 руб., а при лабораторном -154,85 руб. Таким образом, применение математического моделирования позволило получить более дешевый состав смеси с требуемой огнестойкостью.
Таблица 2 Количественные составы резин
Составляющие смеси Вьч. эксперимент Паб. эксперимент
Наирит 80 80
ХСПЭ 20 20
ДФГ 0,5 0,5
Оксид цинка 5 5
Оксид магния 20 20
Альтакс 0,44 -
Каптакс - 2
Мел 20 20
Белая сажа 20 20
Неозон Д 2,5 -
Канифоль 2,5 2,5
Хлорпарафин 5,5 6
Используя рассмотренный в работе подход, были получены аналогичные результаты при проектировании маслостойкой и износостойкой резин. В дальнейшем на основе построенных моделей можно решать более общие задачи. Например, в задаче (1)-(6) найти Парето-оптимальные решения, что является актуальным для лиц, принимающих решение. Кроме того, в задаче (7)-(11) условия неотрицательности (10) можно заменить неравенствами Xj > aj, введя нижние
границы aj на массы ингредиентов в искомой смеси. Это может позволить получить требуемую резину, обладающую дополнительными свойствами.
Таким образом, применение задач дискретной оптимизации с логическими ограничениями для решения некоторых задач проектирования представляется достаточно перспективным.
Авторы выражают признательность канд. техн. наук Т.П. Жовнер и канд. хим. наук С.Я. Ходаковой за помощь при выполнении данной работы.
ЛИТЕРАТУРА
[1] Адельшин А. В. Исследование задач максимальной и минимальной выполнимости с использованием L-разбиения // Автоматика и телемеханика. 2004. № 1. С. 35-42.
[2] Колоколов А. А., Адельшин А. В., Ягофаро-
ва Д. И. Решение задачи выполнимости с использованием метода перебора L-классов // Информационные технологии. 2009. № 2.
С. 54-59.
[3] Cook S. A. The Complexity of theorem-proving procedure // Proc. 3rd Annual ACM Symposium on the Theory of Computing. 1971. P. 151-159.
[4] Gu J., Purdom P., Franco J., Wah B. Algorithms for the Satisfiability (SAT) Problem: A Survey //
DIMACS Series in Discrete Mathematics and Theoretical Computer Science. 1996. 131 p.
[5] Захарченко П. И., Яшунская Ф. И., Евстра-тов В. Ф., Орловский П. Н. Справочник резинщика. М. : Химия, 1971. 608 с.
[6] Колоколов А. А, Нагорная З. Е, Гуселето-ва О. Н., Ярош А. В. Математические модели и программный комплекс для проектирования эскизов одежды // Прикладная математика и
информационные технологии : сб. науч. и метод. трудов. Омск : ОмГТУ, 2005. С. 80-98.
[7] Захаров Н. Д. Хлоропреновые каучуки и резины на их основе. М. : Химия, 1978. 272 с.
[8] Колоколов А.А. Регулярные разбиения и отсечения в целочисленном программировании // Сиб. журнал исследования операций. 1994. № 2. С. 18-39.