УДК 519.164.18
ДИХОТОМИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ ПРИ КОМПЛЕКСНОЙ ОЦЕНКЕ ПРЕДПРИЯТИЙ
И.В. Буркова, О.И. Дранко, С.В. Крюков, А.Ю. Струков
В статье рассматривается задача минимизации аддитивной функции при ограничении, задаваемом функцией, допускающей дихотомическое представление (вычисление значений функции сводится к последовательному вычислению значений функций двух переменных). Описывается метод получения нижних оценок и метод ветвей и границ на основе этих оценок
Ключевые слова: комплексная оценка, метод, представление, функции двух переменных
Введение
Многие задачи дискретной оптимизации сводятся к следующей постановке: определить вектор х = {х1} с дискретными компонентами, минимизирующий аддитивную функцию
ф(х) = ^ф1 (Х)
(1)
при ограничении
«х) > ь. (2)
Широкий класс функций Дх) допускает дихотомическое представление, такое что вычисление значений функции сводится к последовательному вычислению значений функций двух переменных. Так функция
Дх) = «0«1(ХЬХ2), «2(Х2,Хз)] допускает дихотомическое представление (рис. 1).
При этом соответствующие функции 10 1 удобно представлять в матричном виде (рис. 2).
Буркова Ирина Владимировна - ИПУ РАН, канд. техн. наук, доцент, тел. (495) з34-79-00
Дранко Олег Иванович - ИПУ РАН, канд. физ-мат наук, докторант, тел. (495) 334-79-00
Крюков Сергей Вениаминович - ИПУ РАН, канд. техн.
наук, докторант, тел. (495)334-79-00
Струков Алексей Юрьевич - ВГАСУ, аспирант, тел.
(4732) 76-40-07
-► «12 111
2 2 3
2 2 3
1 1 2
Дх)
«21 «22 «23
1_________
х13 2 3 3 х33 2 3 3
х12 1 2 3 х32 2 2 3
х11 1 2 2 х31 1 1 2
х21 х22 I х23 х21 х22 I х23
О
Рис. 2.
Такое представление широко используется в методах комплексного оценивания программ развития предприятий, регионов, результатов деятельности подразделений, уровня безопасности объектов и др. [1, 2, 3].
Дихотомическое представление типа дерева
В задачах комплексного оценивания [1, 2, 3 и др.] функция «х), дающая интегральную оценку объекта, как правило, допускает дихотомическое представление в виде дерева. В этом случае можно предложить эффективный метод решения задачи (1), (2) [4]. На рис. 3 приведен пример построения интегральной оценки трех показателей, имеющей вид
КхЬх2,х3) = ф0[11(хЬх2), х3] = ф0(У,х3)
Значения функций ф1(х1) даны в нижних половинах квадратов, соответствующих переменным х1, х2 и х3. Дадим описание алгоритма на примере рис. 3.
1 шаг. Рассматриваем нижнюю матрицу и для каждого элемента этой матрицы записываем в нижней половине соответствующей клетки сумму функций ф1(х1) и ф2(х2) для соответствующих значений х1 и х2. Так, например, клетке (х1,х2) = (3, 2) соответствует сумма
ф1(3) + ф2(2) = 20 + 10 = 30.
Далее будем называть эту сумму затратами на достижение соответствующего состояния.
1 2 3 4
ф(х) 6 25 67 120
I
4 / /7о 2 / //1 3 / /78 4 / /70
3 / /30 2 / /31 2 / /38 3 / /80 3 / /30
2 / /17 1 / /18 2 / /© /I7) 3 / /17
1 / / 5 )4> 1 / /13 2 / /55 3 / /05
У / / хз 1 / /1 2 / / 8 3 / /50 4 / /00
4 / /ю 2 / /52 3 / /57 4 / /70 10 4
3 / /35 1 / /37 2 / /2 3 / /55 3 / /95
10 2 1 / /12 2 / /17 3 / /30 3 / /70
1 / / 3 1 / / 5 1 / /10 2 / /23 2 / /63
х2/ / Х1 1 / / 2 2 / / 7 3 / /20 4 / /60
Рис. 3.
2 шаг. Из всех элементов матрицы имеющих одно и то же значение у = ^(хьх2) выбираем элемент с минимальной суммой ф1(х1)+ф2(х2). Минимальную сумму записываем в нижнюю половину клетки, соответствующей этому значению у в верхней матрице. Так, например, значению у = 3 соответствуют 5 ‘элементов нижней матрицы: (3;2), (4;2), (3;3), (4;3) и (2;4). Из них элемент (3;2) имеет минимальную сумму 30 (это число записано в нижней половине соответствующей клетки). Поэтому в верхней матрице значению у = 3 соответствует число 30, записанное в нижней половине соответствующей клетки.
Далее шаги 1 и 2 повторяются для верхней матрицы. В результате для каждого значения Дх) мы получаем минимальную величину ф(х).
Несложно обобщить описанный алгоритм на случай производльного дихотомического представления функции Дх) в виде дерева. Шаги 1 и 2 алгоритма повторяются, начиная с висячих вершин дерева дихотомического представления.
Заметим, что дихотомическое представление Рис. 3 имеет тип ветви дерева. В этом случае метод дихотомического программирования переходит в метод динамического программирования. Таким образом, метод дихотомического программирования в случае, когда дихотомическое представление имеет вид дерева, является обобщением метода динамического программирования, расширяя круг задач, решаемых на основе данного подхода (Рис. 4).
Метод динамического про- Метод
гр аымир ования (ветвь дер ева) дихотомического
программирования (произвольное дерево)
Рис. 4.
Если в методе динамического программирования решением задачи является путь в некоторой специальным образом построенной сети, то в методе дихотомического программирования решением задачи является частичное дерево в некотором специально построенном дереве. Соответственно, принцип оптимальности в методе дихотомического программирования можно сформулировать следующим образом: любое поддерево оптимального дерева должно быть оптимальным.
Формально этот принцип оптимальности можно записать следующим образом:
фк (У) = ш1п ф (У) + Ф,(У) \,
0' Л )ер ( у)
где Р(у) - множество пар (1,]), такие что fk (Уь У]) = У.
Общий случай
Рассмотрим произвольное дихотомическое представление функции Дх), задаваемое сетью, входом которой является вершина, соответствующая функции Дх), а выходами - вершины, соответствующие переменным х1, ' = 1, п . Рассмотрим множество конечных вершин, которые не являются висячими, то есть их степень захода больше 1. Разделим произвольным образом затраты ф1(х1) на к1 частей, где к - число заходящих дуг. Фактически мы как бы разделили вершину 1 на к1 висячих вершин с соответствующей частью затрат. Далее применяем описанный выше алгоритм. При этом каждый раз, когда встречается вершина, имеющая степень захода больше 1, мы делим затраты на соответствующее число частей. В результате применения алгоритма мы получим оптимальное решение для модифицированной сети. Однако, это решение может не быть решением исходной задачи. Тем не менее, имеет место следующая теорема.
Теорема. Полученное с помощью вышеописанного алгоритма решение дает нижнюю оценку оптимального решения исходной задачи.
Доказательство. Заметим, что множество решений модифицированной сети содержит все решения исходной задачи. Эти решения имеют сле-
дующий вид. Если в вершину, соответствующую переменной х1к заходит хотя бы одна дуга полученного решения, то все дуги, заходящие в эту вершину, также принадлежат полученному решению. Отсюда следует, что полученное оптимальное решение модифицированной задачи дает нижнюю оценку для оптимального решения исходной задачи.
Пример. Рассмотрим сеть рис. 1, 2. На рис. 5 приведено решение задачи. При этом затраты ф2(х2) разделены на две части, поскольку переменная х2 используется и при вычислении 1, и при вычислении 1 В данном случае общие затраты, равные 8, 12 и 20 при значениях переменной х2 равной 1, 2 и 3 соответственно, поделены пополам.
3 / /20 2 / /27 2 / /29 3 / /37
2 / / 11 1 / У 18 /(її) /^)
1 / / 9 /4 1 / /18 2 / /26
У У / У2 1 / / 7 2 / / 9 3 / /17
3 28
2 20
1 16
Гг
3 / /15 2 / /19 3 / /21 3 / /25 0 3 3 2 Аь 3 / /24
2 / 1 / 2 / 3 / 2 / 2 / 2 / 3 /
/10 /14 /16 /(20) / 6 /(9) /13 /20
1 / 1 / 2 / 2 / 1 / 1 / 1 / 2 /
/ 5 /® /(11 /15 / 4 /(7) /11 /18
Ху 1 / 2 / 3 / Ху 1 / 2 / 3 /
У х2 / 4 / 6 /10 У хз / 3 / 7 /14
Рис. 5.
В каждой матрице выделены клетки, соответствующие минимальным затратам на получение того или иного значения функций (11 1 и ад. В результате получены минимальные затраты ф(10), требуемые для получения значений функции ад Если 1 = 1, то ф(1) = 16, если 1 = 2, то ф(2) = 20, если 1 = 3, то ф(3) = 28.
Рассмотрим случай 1 = 2. Ему соответствует оптимальное решение модифицированной задачи:
х1 = 1, х21 = 2, х22 = 2, х3 = 1.
Здесь х21 соответствует значению х2 в левой нижней матрице, а х22 - в правой нижней матрице. Поскольку оба значения х21 = 2, х22 = 2 вошли в оптимальное решение модифицированной задачи, то полученное решение является допустимым для исходной задачи, а значит мы получили оптимальное решение исходной задачи.
Другая ситуация возникает в случае 1 = 3. Оптимальное решение модифицированной задачи имеет вид:
х! = 1, х21 = 2, х22 = 3, х3 = 2 с величиной затрат ф0 = 28. Это решение не является допустимым для исходной задачи, поэтому ф0 = 28 является нижней оценкой минимальных затрат для исходной задачи. Здесь возможны два варианта действий. Первый заключается в попытке
улучшить нижнюю оценку, изменяя разбиение затрат с2 = ф2(х2) на две части - с2 и с22. Очевидно, что для улучшения оценки следует с21 увеличить, а с22 уменьшить. Возьмем, например, с21 = 10, а с22 = 2. В этом случае оптимальное решение модифицированной задачи будет иметь вид:
х1 = 1, х21 = 2, х22 = 2, х3 = 3 с величиной затрат ф0 = 31. Это решение является допустимым для исходной задачи, а значит оптимальным. Однако, изменение разбиения затрат на части может и не привести к получению допустимого решения для исходной задачи.
Второй вариант состоит в применении метода ветвей и границ. Разобьем множество всех решений исходной задачи на два подмножества. В первом х2 < 2, а во втором х2 = 3 и применим описанный выше алгоритм. Получим оценку снизу для первого подмножества. Получаем следующее решение:
х1 = 1, х21 = 2, х22 = 2, х3 = 3 с величиной затрат ф0 = 31.
Получим оценку снизу для второго подмножества. Оптимальное решение модифицированной задачи имеет вид:
х1 = 1, х2 = 3, х3 = 2 с величиной затрат ф0 = 32.
Выбираем первое подмножество с минимальной оценкой. Поскольку полученное решение модифицированной задачи является допустимым для исходной задачи, то оно является оптимальным.
Рассмотрим следующую постановку задачи целочисленного линейного программирования. Определить целочисленный неотрицательный вектор х = (хь х2, ..., х4} максимизирующий
Ч>( х) = £ ЄіХі І = 1
при ограничениях
£ а«х < Ь , . =1 т
(3)
(4)
Для построения оценочной задачи разделим с1 на т частей s1j, так что
(5)
и рассмотрим т задач целочисленного линеиного программирования следующего вида: определить целочисленный вектор х, максимизирующий
(6)
5. (х ) = £ 5 ..X.
при ограничениях
£ а..х. < Ь.
(7)
Обозначим через Фj (sj) - оптимальное решение j-ой задачи ^ = {s1j}). Согласно теореме 4.1, величина
Ф()=£ Ф(5; )
(8)
.=1
является оценкой сверху оптимального решения исходной задачи. Окончательно получаем следующую формулировку оценочной задачи: определить
0
{Єу}, І = 1, п, . = 1, т , максимизирующие Ф(є) при ограничениях (5). Оценочную задачу назовем двойственной к исходной задаче целочисленного линейного программирования. Обоснованием этого названия служит следующая интересная связь. Рассмотрим обычную задачу линейного программирования (3)-(4) (без требования целочисленности). Для упрощения выводов примем, что все параметры системы ограничений - положительные числа. Заметим, что если не требовать целочисленности решений, то задача (3)-(4) легко решается. Ее оптимальное решение:
X.. =
j
bj
если
akj akj q aqj
= max-
q
0, если i Ф к. Оптимальная величина (б) составит
Ф. (sj) = b. max —qL.
Обозначим
q • 1
y. = max^-, j = І,m.
Заметим, что
5 .
у. > — для всех q.
а.
Увеличим sqj так, чтобы
% = Уза.-
Тогда оценочная задача (5), (8) запишется в следующем виде: определить у > 0, . = 1, т , минимизирующие
при ограничениях
B(y )=Е b.y. (9)
Еa.У, >ct, i = In. (10)
Таким образом, в непрерывном случае оценочная задача становится двойственной задачей линейного программирования.
Заключение
Описанный подход решения задач дискретной оптимизации позволяет по единой схеме получать нижние оценки для широкого круга задач, таких как нелинейная задача о ранце, задача о покрытии двудольного графа, задача определения максимального независимого множества вершин и др. В свою очередь, наличие способа получение нижних оценок позволяет применить метод ветвей и границ
Литература
1. Бурков В.Н. и др. Теория активных систем и совершенствование хозяйственного механизма. - М.: Наука, 1984.
2. Андронникова Н.Г., Баркалов С.А., Бурков
B.Н., Котенко А.М. Модели и методы оптимизации региональных программ развития. (Препринт) - М.: Институт проблем управления им. В.А. Трапезникова РАН, 2001.
3. Андронникова Н.Г., Бурков В.Н., Леонтьев
C.В. Комплексное оценивание в задачах регионального развития / М.: Институт проблем управления им. В.А. Трапезникова РАН. -2002.
4. Бурков В.Н., Буркова И.В. Задачи дихотомической оптимизации / Системные проблемы качества, математического моделирования, информационных и электронных технологий. Социально экономические системы: материалы Междунар. конф. и Российской науч. школы. - М.: Радио и связь, 2003. Ч. 2. - 152 с.
s
s
kj
q
a
Воронежский государственный архитектурно-строительный университет Институт проблем управления им. В.А. Трапезникова РАН (г. Москва)
DICHOTOMIZING REPRESENTATION AT THE COMPLEX ESTIMATION OF THE ENTERPRISES
I.V. Burkov, O.I. Dranko, S.V. Krukov, A.Y. Strukov
In clause the problem of minimization of additive function is considered at the restriction set by function, supposing dichotomizing representation (calculation of values of function is reduced to consecutive calculation of values of functions of two variables). The method of reception of the bottom estimations and a method of branches and borders on the basis of these estimations is described
Key words: a complex estimation, a method, representation, functions of two variables