Журнал вычислительной математики и математической физики, 2021, T. 61, № 8, стр. 1390-1400

Минимаксная задача подавления сети связи

А. Г. Перевозчиков 1*, В. Ю. Решетов 2**, И. Е. Яночкин 1***

1 АО “НПО “РусБИТех-Тверь”, Департамент проектирования систем, отдел проектирования математических моделей и информационно-расчетных задач
170000 Тверь, пр-т Калинина, 17, Россия

2 МГУ, ВМК
119999 Москва, Ленинские горы, Россия

* E-mail: pere501@yandex.ru
** E-mail: kadry@cs.msu.ru
*** E-mail: i-yanochkin@yandex.ru

Поступила в редакцию 10.07.2020
После доработки 11.11.2020
Принята к публикации 11.02.2021

Полный текст (PDF)

Аннотация

В статье обобщается классическая задача о максимальном потоке в ориентированной сети Л. Форда и Д. Фалкерсона в части учета возможного противодействия противника, состоящего в уменьшении пропускной способности ребер. Противодействие состоит не в уменьшении потока на каждой дуге, а уменьшении ее пропускной способности, что приводит в общем случае к задаче минимизации пропускной способности минимального разреза, которая сводится к последовательности задач математического программирования. Поскольку множество разрезов можно отождествить с множеством всех подмножеств множества узлов сети, то полученная задача эквивалентна дискретной задаче на булевой решетке и может быть решена методами субмодулярного программирования, развитыми в работах Р.В. Хачатурова. Приводятся числовые примеры. Библ. 12. Фиг. 5.

Ключевые слова: задача о максимальном потоке Форда–Фалкерсона, задача минимизации максимального потока, сведение минимаксной задачи к последовательности эквивалентных задач, эквивалентные задачи на булевой решетке, их решение методами субмодулярного программирования.

ВВЕДЕНИЕ

Работа основана на результатах из [1] и является дальнейшим развитием построений в [2]. Классическая задача о максимальном потоке в ориентированной сети была определена и изучена в работе [1]. Она является обобщением модели Т.Е. Харриса и Ф.С. Росса [3]. Основной результат о максимальном потоке и минимальном разрезе был получен Л. Фордом и Д. Фалкерсоном [4]. Ими же был предложен базовый алгоритм процесса расстановки пометок для определения максимального потока в сети, одновременно определяющего соответствующий минимальный разрез [1].

В [5] изучалась максимальная величина потока как функция пропускных способностей дуг, которую можно использовать для построения метода последовательного улучшения решения в поставленной ниже минимаксной задаче подавления сети связи по аналогии с методом покоординатного спуска. В [6] изучалась задача синтеза многополюсной сети при заданной нижней границе потоковой функции сети, показывающей величины максимальных потоков между всеми парами узлов в сети, по критерию взвешенной стоимости пропускной способности дуг. В [7] изучалась задача построения максимального динамического потока, который учитывает, помимо пропускных способностей, еще и время прохождения соответствующей дуги. Предложенный метод ее решения был позднее модифицирован (см. [1]) для решения задачи построения максимального потока минимальной стоимости из источников в стоки, которая обобщает классическую транспортную задачу на произвольные сети.

Приложение классической задачи о максимальном потоке может состоять в производной задачи минимизации максимального потока в сети связи за счет уменьшения пропускной способности дуг противником в линейной постановке, поставленной и изученной в настоящей работе. Это приводит в общем случае к задаче минимизации пропускной способности минимального разреза, которая сводится к последовательности задач математического программирования. Поскольку множество разрезов можно отождествить с множеством всех подмножеств множества узлов сети, то полученная задача эквивалентна дискретной задаче на булевой решетке и может быть решена методами субмодулярного программирования, развитыми в работах Р.В. Хачатурова [8].

1. ДВУХПОЛЮСНАЯ МОДЕЛЬ ПОДАВЛЕНИЯ СЕТИ СВЯЗИ

По аналогии с моделью “нападение–оборона” на сети (см. [2]), рассмотрим задачу подавления нападением системы связи обороны на ориентированном графе $G$, состоящем из множества вершин $N = \left\{ i \right\}$ и множества ориентированных ребер $L = \left\{ {(i,j)} \right\}$ без контуров с одним источником $s$ и стоком $t$, далее этот граф будем называть орграфом $G$. Стратегия нападения $u$ принадлежит множеству

(1.1)
$Y = Y(U) = \left\{ {\left( {{{u}_{{ij}}},(i,j) \in L} \right)\left| {\sum\limits_{(i,j) \in L} {{{u}_{{ij}}} \leqslant U,\;{{u}_{{ij}}} \geqslant 0} } \right.} \right\}.$

Напомним, что сечением называется такое разбиение множества вершин $N = S \cup T$, $s \in S$, $t \in T$, что любой путь из $s$ в $t$ имеет дугу, ведущую из $S$ в $T$. Обозначим множество таких дуг через $L(S,T)$. Пропускной способностью дуги $(i,j)$, следуя [9], будем считать величину

(1.2)
${{c}_{{ij}}}({{u}_{{ij}}}) = \max ({{c}_{{ij}}} - {{a}_{{ij}}}{{u}_{{ij}}},0),$
где ${{c}_{{ij}}}$ – исходная пропускная способность, ${{u}_{{ij}}}$ – количество однородного бесконечно-делимого ресурса подавления связи, назначенного нападением на дугу $(i,j)$, ${{a}_{{ij}}}$ – его эффективность. Пропускной способностью разреза назовем величину

(1.3)
${{с}_{{L(S,T)}}}(u) = \sum\limits_{(i,j) \in L(S,T)} {{{c}_{{ij}}}({{u}_{{ij}}})} .$

Минимальным разрезом называется разрез минимальной пропускной способности. Согласно утверждению теоремы Форда–Фалкерсона (см. [1, c. 24]) максимальный поток в сети из источника $s$ в сток $t$ равен пропускной способности минимального разреза

(1.4)
${v}(u) = \mathop {\min }\limits_{S \subset N:s \in S,\,t \notin S} {{с}_{{L(S,N\backslash S)}}}(u),$
что можно взять за определение величины ${v}$ в дальнейших построениях.

Рассмотрим минимаксную задачу минимизации максимального потока (1.4) на множестве (1.1). В силу представления (1.4) для максимального потока она сводится к нахождению наименьшей из величин

(1.5)
${{{v}}_{S}}(U) = \mathop {\min }\limits_{u \in Y(U)} {{с}_{{L(S,N\backslash S)}}}(u).$
С учетом (1.2) можно считать, что выполняются дополнительные ограничения
(1.6)
${{u}_{{ij}}} \leqslant {{c}_{{ij}}}{\text{/}}{{a}_{{ij}}}\quad (i,j) \in L.$
Тогда задача (1.5), (1.6) становится линейной и может быть легко решена алгоритмически на основании условий оптимальности, полученных в непрерывном случае в работе [10, c. 167]. Тогда легко может быть определена выпуклая убывающая кусочно-линейная функция ${{{v}}_{S}} = {{{v}}_{S}}(U)$.

Предположим, что $L(S,N{{\backslash }}S) = \left\{ {({{i}_{k}},{{j}_{k}}){\kern 1pt} \left| {{\kern 1pt} k = 1,\; \ldots ,\;n = {{n}_{S}}} \right.} \right\}$. Введем обозначения

${{u}_{k}} = {{u}_{{{{i}_{k}}{{j}_{k}}}}},\quad {{c}_{k}} = {{c}_{{{{i}_{k}}{{j}_{k}}}}},\quad {{b}_{k}} = {{c}_{{{{i}_{k}}{{j}_{k}}}}}{\text{/}}{{a}_{{{{i}_{k}}{{j}_{k}}}}},\quad {{a}_{k}} = {{a}_{{{{i}_{k}}{{j}_{k}}}}},\quad k = 1,\; \ldots ,\;n.$
Предположим, не уменьшая общности, что
${{a}_{1}} \geqslant {{a}_{2}} \geqslant \; \ldots \; \geqslant {{a}_{n}}.$
Приведем для полноты изложения соответствующий алгоритм:
(1.7)
$\begin{gathered} U: = U; \\ {{u}_{k}} = \min \left\{ {{{b}_{k}},U} \right\};\quad U: = U - {{u}_{k}}, \\ k = 1,\; \ldots ,\;n; \\ \end{gathered} $
до тех пор, пока $U > 0$. Все неопределенные в алгоритме ${{u}_{k}}$ полагаются равными нулю.

Предположим, что имеет место неравенство

$\sum\limits_{k = 1}^i {{{b}_{k}}} \leqslant U < \sum\limits_{k = 1}^{i + 1} {{{b}_{k}}} ,\quad i = 0,\;1,\; \ldots ,\;n,$
где положено по определению
$\sum\limits_{k = 1}^0 {{{b}_{k}}} = 0,\quad \sum\limits_{k = 1}^{n + 1} {{{b}_{k}}} = \infty .$
Тогда в результате работы алгоритма получим решение

(1.8)
${{u}_{k}} = \left\{ \begin{gathered} {{b}_{k}},\quad k = 1,\; \ldots ,\;i, \hfill \\ U - \sum\limits_{k = 1}^i {{{b}_{k}}} ,\quad k = i + 1, \hfill \\ 0,\quad j = i + 2,\; \ldots ,\;n. \hfill \\ \end{gathered} \right.$

Функция ${{{v}}_{S}} = {{{v}}_{S}}(U)$ при этом равна

(1.9)
${{{v}}_{S}}(U) = \sum\limits_{k = 1}^n {{{c}_{k}}} - {{{\rm M}}_{S}}(U),$
где
(1.10)
${{{\rm M}}_{S}}(U) = {{{\rm M}}_{{L(S,N\backslash S)}}}(U) = \left\{ \begin{gathered} \sum\limits_{k = 1}^i {{{b}_{k}}} {{a}_{k}} + (U - \sum\limits_{k = 1}^i {{{b}_{k}}} ){{a}_{{i + 1}}},\quad \sum\limits_{k = 1}^i {{{b}_{k}}} \leqslant U < \sum\limits_{k = 1}^{i + 1} {{{b}_{k}}} , \hfill \\ i = 0,\;1,\; \ldots ,\;n, \hfill \\ \sum\limits_{k = 1}^n {{{b}_{k}}} {{a}_{k}},\quad \sum\limits_{k = 1}^n {{{b}_{k}}} \leqslant U. \hfill \\ \end{gathered} \right.$
Пусть $N{\text{'}} = N{{\backslash }}(s \cup t)$, тогда ${{w}_{{S'}}} = {{{v}}_{{S' \cup s}}}$, $S{\kern 1pt} {\text{'}} \subseteq N{\kern 1pt} {\text{'}}$, и функция ${{w}_{{S'}}}$ определена на булевой решетке, отождествляемой с множеством всех подмножеств $S{\kern 1pt} {\text{'}} \subseteq N{\kern 1pt} {\text{'}}$, и для определения ее минимума можно воспользоваться методами субмодулярного программирования из [8]. Для этого достаточно условия субмодулярности функции ${{w}_{{S{\text{'}}}}}$, $S{\kern 1pt} {\text{'}} \subseteq N{\kern 1pt} {\text{'}}$, которое состоит в выполнении неравенства
(1.11)
${{w}_{A}} + {{w}_{B}} \geqslant {{w}_{{A \cup B}}} + {{w}_{{A \cap B}}}\quad \forall A,B \subseteq N{\kern 1pt} {\text{'}}.$
Мы докажем более слабое утверждение о субмодулярности функции ${{w}_{{S'}}}$, $S{\kern 1pt} {\text{'}} \subseteq N{\kern 1pt} {\text{'}}$, в случае ${{a}_{{ij}}} \equiv a$, которое позволит нам сконструировать нетривиальные нижние оценки в методе последовательных расчетов из [8]. Этот метод является модификацией метода максимизации субмодулярных функций из [11].

Теорема 1. Предположим, что ${{a}_{{ij}}} \equiv a$. Тогда функция ${{w}_{{S'}}} = {{{v}}_{{S' \cup s}}}$, $S{\kern 1pt} {\text{'}} \subseteq N{\kern 1pt} {\text{'}}$, является субмодулярной.

Пусть ${{\bar {w}}_{{S'}}} = {{{\bar {v}}}_{{S' \cup s}}}$, $S{\kern 1pt} {\text{'}} \subseteq N{\kern 1pt} {\text{'}}$, где

(1.12)
${{{\bar {v}}}_{S}} = {{с}_{{L(S,N\backslash S)}}}(0) = \sum\limits_{(i,j) \in L(S,N\backslash S)} {{{c}_{{ij}}}} \geqslant {{{v}}_{S}}.$

Доказательство основано на следующих леммах.

Лемма 1. Функция ${{\bar {w}}_{{S'}}}$, $S{\kern 1pt} {\text{'}} \subseteq N{\kern 1pt} {\text{'}}$, является субмодулярной.

Доказательство. Равенство (1.11) для функции ${{\bar {w}}_{{S'}}} = {{{\bar {v}}}_{{S' \cup s}}}$, $S{\kern 1pt} {\text{'}} \subseteq N{\kern 1pt} {\text{'}}$, имеет вид

(1.13)
${{\bar {w}}_{A}} + {{\bar {w}}_{B}} \geqslant {{\bar {w}}_{{A \cup B}}} + {{\bar {w}}_{{A \cap B}}}\quad \forall A,B \subseteq N{\kern 1pt} {\text{'}},$
и справедливо в силу того, что левая часть (1.13) содержит в силу (1.12), кроме всех слагаемых правой части, еще

${{с}_{{L(A\backslash B,B\backslash A)}}}(0) + {{с}_{{L(B\backslash A,A\backslash B)}}}(0) = \sum\limits_{(i,j) \in L(A\backslash B,B\backslash A)} {{{c}_{{ij}}}} + \sum\limits_{(i,j) \in L(B\backslash A,A\backslash B)} {{{c}_{{ij}}}} \geqslant 0.$

Лемма 2. Предположим, что ${{a}_{{ij}}} \equiv a$. Тогда справедлива формула

(1.14)
${{{v}}_{S}}(U) = {{{\bar {v}}}_{S}} - {{{\rm M}}_{S}}(U) = \max ({{{\bar {v}}}_{S}} - aU,0).$

Доказательство. Равенство (1.14) следует из (1.9) в силу (1.10), которое в условиях леммы будет иметь вид

(1.15)
${{{\rm M}}_{S}}(U) \equiv \left\{ \begin{gathered} aU,\quad U < \sum\limits_{k = 1}^n {{{b}_{k}}} , \hfill \\ a\sum\limits_{k = 1}^n {{{b}_{k}}} ,\quad \sum\limits_{k = 1}^n {{{b}_{k}}} \leqslant U. \hfill \\ \end{gathered} \right.\quad = a\min \left( {\sum\limits_{k = 1}^n {{{b}_{k}}} ,U} \right) = \min ({{{\bar {v}}}_{S}},aU),$
Последнее равенство здесь справедливо по определению величин ${{b}_{k}}$, в силу которого справедливо равенство

$a\sum\limits_{k = 1}^n {{{b}_{k}}} = \sum\limits_{k = 1}^n {{{c}_{k}}} = {{{\bar {v}}}_{S}}.$

Следствие 1. Из (1.14) немедленно следует, что в условиях леммы задача минимизации максимального потока (1.4) на множестве (1.1) имеет тривиальное решение в виде минимального сечения для исходной сети, которое можно найти при помощи алгоритма Форда–Фалкерсона из [1].

Пример 1. Рассмотрим орграф $G$ из [2], состоящий из множества вершин $N = \left\{ {1,\;2,\;3,\;4,\;5} \right\}$, $s = 1$, $t = 5$ и множества ориентированных ребер $L = \left\{ {(1,2),(1,3),(2,4),(3,4),(2,5),(3,5),(4,5)} \right\}$, представленный на фиг. 1. Предположим, что ${{c}_{{ij}}} \equiv c = 1$, ${{a}_{{ij}}} \equiv a = 1$, $U = 2$. Требуется решить минимаксную задачу подавления и определить минимальное значение максимального потока.

Фиг. 1.

Орграф к примеру 1.

Решение. Используя алгоритм расстановки пометок Форда–Фалкерсона из [1], найдем максимальный поток ${v} = 2$ в исходной неподавленной сети и соответствующий минимальный разрез $S{\kern 1pt} * = s$, $T{\kern 1pt} * = S{\kern 1pt} *{\kern 1pt} \backslash {\kern 1pt} s$, которому соответствует множество дуг $L(S{\kern 1pt} *,T{\kern 1pt} *) = \left\{ {(1,2),(1,3)} \right\}$. Минимальное значение максимального потока в подавленной сети по формуле (1.14) будет равно нулю. Решение (1.8) минимаксной задачи имеет вид

${{u}_{{ij}}} = \left\{ \begin{gathered} 1,\quad (i,j) \in \left\{ {(1,2),(1,3)} \right\}, \hfill \\ 0,\quad (i,j) \notin \left\{ {(1,2),(1,3)} \right\}. \hfill \\ \end{gathered} \right.$

Доказательство теоремы 1. Из (1.13) получим в силу (1.15), что справедливо неравенство

$({{\bar {w}}_{A}} - aU) + ({{\bar {w}}_{B}} - aU) \geqslant ({{\bar {w}}_{{A \cup B}}} - aU) + ({{\bar {w}}_{{A \cap B}}} - aU)\quad \forall A,B \subseteq N{\kern 1pt} {\text{'}}.$
Откуда следует, что

$\max ({{\bar {w}}_{A}} - aU,0) + \max (\bar {w} - aU,0) \geqslant \max ({{\bar {w}}_{{A \cup B}}} - aU,0) + \max ({{\bar {w}}_{{A \cap B}}} - aU,0)\quad \forall A,B \subseteq N{\kern 1pt} {\text{'}}.$

В этом можно убедиться, анализируя различные варианты упорядочивания величин ${{\bar {w}}_{A}}$, ${{\bar {w}}_{B}}$, ${{\bar {w}}_{{A \cup B}}}$, ${{\bar {w}}_{{A \cap B}}}$, входящих в (1.13) и рассматривая соответствующие диапазоны $U$, на которые разбиваются значения $aU$. В силу (1.14) это эквивалентно неравенству

${{{v}}_{A}} + {{{v}}_{B}} \geqslant {{{v}}_{{A \cup B}}} + {{v}_{{A \cap B}}}\quad \forall A,B \subseteq N{\kern 1pt} {\text{'}},$
что и доказывает субмодулярность функции ${{w}_{{S'}}} = {{{v}}_{{S' \cup s}}}$, $S{\kern 1pt} {\text{'}} \subseteq N{\kern 1pt} {\text{'}}$.

Контрпример субмодулярности в основном случае.  Рассмотрим единичный квадрат на плоскости и пронумеруем его вершины следующим образом: . Множество дуг совпадает с ребрами с направлением от меньшего номера к большему: $L = \left\{ {(0,1),(0,2),(1,3),(2,3)} \right\}$. Положим ${{c}_{{ij}}} \equiv {{a}_{{ij}}} > 0$ и $U = 1$. Рассмотрим неравенство, определяющее субмодулярность для $S{\text{'}} = \left\{ 1 \right\},\left\{ 2 \right\},\left\{ {1,\;2} \right\}$:

${{a}_{{02}}} + {{a}_{{13}}} - \max ({{a}_{{02}}},{{a}_{{13}}}) + {{a}_{{01}}} + {{a}_{{23}}} - \max ({{a}_{{01}}},{{a}_{{23}}}) \geqslant {{a}_{{13}}} + {{a}_{{23}}} - \max ({{a}_{{13}}},{{a}_{{23}}}).$
Отсюда после преобразования получим
$\max (0,{{a}_{{13}}} - {{a}_{{02}}}) + \max (0,{{a}_{{23}}} - {{a}_{{01}}}) \geqslant \max ({{a}_{{13}}},{{a}_{{23}}}),$
что неверно при любых достаточно малых ${{a}_{{01}}},{{a}_{{02}}} > 0$.

Следствие 2. Из доказанной теоремы в силу результатов [8] следует, что для любых $W,{{W}_{1}} \subset W \subset {{W}_{2}},$ справедлива нижняя оценка ${{\underline {v} }_{W}} \geqslant \max ({{\underline p }_{1}},{{\underline p }_{2}})$, где

(1.16)
${{\underline p }_{1}} = {{{v}}_{{{{W}_{2}}}}} + \sum\limits_{i \in {{W}_{2}}\backslash {{W}_{1}}} {{{{[{{{v}}_{{{{W}_{1}}}}} - {{{v}}_{{{{W}_{1}} \cup \{ i\} }}}]}}_{ - }}} ,\quad {{\underline p }_{2}} = {{{v}}_{{{{W}_{1}}}}} + \sum\limits_{i \in {{W}_{2}}\backslash {{W}_{1}}} {{{{[{{{v}}_{{{{W}_{2}}}}} - {{{v}}_{{{{W}_{2}}\backslash \{ i\} }}}]}}_{ - }}} ,$
а ${{x}_{ - }} = \min (x,0)$ – нижняя срезка величины $x$.

В случае, когда условие ${{a}_{{ij}}} \equiv a$ не выполняется, можно воспользоваться верхней оценкой ${{\bar {{\rm M}}}_{S}}(U)$ функции ${{{\rm M}}_{S}}(U)$, построенной следующим образом. Для любого подмножества дуг $L{\text{'}} \subseteq L$ определим функцию ${{{\rm M}}_{{L'}}}(U)$ аналогично функции ${{{\rm M}}_{S}}(U) = {{{\rm M}}_{{L(S,N\backslash S)}}}(U)$ в (1.10).

Лемма 3. Функция ${{{\rm M}}_{S}}(U) = {{{\rm M}}_{{L(S,N\backslash S)}}}(U)$ является монотонно неубывающей по включению $L{\text{'}} \supseteq L(S,N{{\backslash }}S)$, т.е.

$L{\text{'}} \supseteq L(S,N{{\backslash }}S) \Rightarrow {{{\rm M}}_{{L(S,N\backslash S)}}}(U) \leqslant {{{\rm M}}_{{L'}}}(U).$

Доказательство. Поскольку (1.10), которое принято за определение ${{{\rm M}}_{{L'}}}(U)$, является значением функции

${{{\rm M}}_{{L'}}}(U) = \mathop {\max }\limits_{u \in Y:{{u}_{{ij}}} \leqslant {{c}_{{ij}}}/{{a}_{{ij}}}} \sum\limits_{(i,j) \in L'} {{{a}_{{ij}}}{{u}_{{ij}}},} $
то ${{{\rm M}}_{S}}(U) = {{{\rm M}}_{{L(S,N\backslash S)}}}(U)$ можно определить равенством
${{{\rm M}}_{S}}(U) = \mathop {\max }\limits_{u \in Y:{{u}_{{ij}}} \leqslant {{c}_{{ij}}}/{{a}_{{ij}}},\;{{u}_{{ij}}} = 0,\;(i,j) \in L'\backslash S} \sum\limits_{(i,j) \in L'} {{{a}_{{ij}}}{{u}_{{ij}}},} $
откуда и следует требуемое неравенство.

Для любых $W,{{W}_{1}} \subset W \subset {{W}_{2}},$ в (1.16) положим

$L{\text{'}}({{W}_{1}},{{W}_{2}}) = \bigcup\limits_{W:{{W}_{1}} \subset W \subset {{W}_{2}}} {L(W,N{{\backslash }}W)} .$
Тогда в качестве верхней оценки ${{\bar {{\rm M}}}_{{{{W}_{1}},{{W}_{2}}}}}(U)$ функции ${{{\rm M}}_{W}}(U)$ можно взять
${{\bar {{\rm M}}}_{{{{W}_{1}},{{W}_{2}}}}}(U) = {{{\rm M}}_{{L'({{W}_{1}},{{W}_{2}})}}}(U).$
Соответствующая нижняя оценка ${{\underline {v} }_{W}}$ функции ${{{v}}_{W}}$ будет иметь вид
${{\underline {v} }_{W}} = {{{\bar {v}}}_{W}} - {{\bar {{\rm M}}}_{{{{W}_{1}},{{W}_{2}}}}}(U)$
или
(1.17)
${{\underline {v} }_{W}}({{W}_{1}},{{W}_{2}}) = \max \left( {{{{v}}_{W}} - {{{\bar {{\rm M}}}}_{{{{W}_{1}},{{W}_{2}}}}}(U),0} \right)$
с учетом неотрицательности функции ${{{v}}_{w}}$.

В результате оценки (1.16) остаются справедливыми в общем случае, когда условие ${{a}_{{ij}}} \equiv a$ не выполняется, если заменить функции ${{{v}}_{w}}$ их нижними оценками (1.17), и могут быть использованы в методе ветвей и границ для решения задачи минимизации функции ${{w}_{{S'}}} = {{{v}}_{{S' \cup s}}}$ на булевой решетке $S{\kern 1pt} {\text{'}} \subseteq N{\kern 1pt} {\text{'}}$ в общем случае. Характерно, что построенные оценки зависят от ограничивающих $w$ множеств ${{W}_{1}} \subset {{W}_{2}}$ и будут улучшаться при сближении ${{W}_{1}}$, ${{W}_{2}}$ в процессе работы метода ветвей и границ.

Для проверки практической сходимости метода ветвей и границ в основном случае была проведена серия численных экспериментов. Максимальное количество дуг во всех примерах было равно количеству вершин без единицы $\left| L \right| = \left| N \right| - 1 = 15$. Параметры для каждой дуги в каждом примере устанавливаются случайным образом в пределах $1 \leqslant {{a}_{{ij}}} \leqslant 2$, $1 \leqslant {{c}_{{ij}}} \leqslant 3$, $(i,j) \in L$. Во всех примерах коэффициенты генерировались исходя из равномерного распределения в указанных диапазонах. Объем выборки составлял 500 задач (примеров). Рассчитывалась доля финальных вершин поискового орграфа, использованных комбинированным алгоритмом (в процентах), показывающая, насколько алгоритм сокращает полный перебор всех вариантов, количество которых для данной задачи равно мощности множества всех подмножеств множества $N$, т.е. ${{2}^{{\left| N \right|}}}$. Результаты показали, что доля финальных вершин поискового ортграфа, использованных алгоритмом (в среднем по выборке), составляет 59.22%. В некоторых экспериментах доля финальных вершин не превосходила 1%. Но были и такие случаи, в которых происходил полный перебор. На фиг. 2 представлен график процента сокращения полного перебора всех вариантов в зависимости от количества дуг (вершин) в основном случае.

2. МНОГОПОЛЮСНАЯ МОДЕЛЬ ПОДАВЛЕНИЯ СЕТИ СВЯЗИ

Более общей является задача минимизации взвешенной суммы максимальных потоков между произвольными узлами связи $i,j \in N$

(3.1)
${{{v}}_{{ij}}}(u) = {{\mathop {\min }\limits_{{{S}_{{ij}}} \subset N:i \in {{S}_{{ij}}},\,j \notin S} }_{{ij}}}{{с}_{{L({{S}_{{ij}}},N\backslash {{S}_{{ij}}})}}}(u).$
Обычно полагают по определению ${{{v}}_{{ii}}}(u) = \infty $, $i \in N$. Симметрическая потоковая функция удовлетворяет неравенству ([3, с. 248])
(3.2)
${{{v}}_{{ij}}}(u) \geqslant \mathop {\min }\limits_{s = 1, \ldots ,k} {{{v}}_{{{{l}_{{k - 1}}}{{l}_{k}}}}}(u).$
Здесь $i = {{l}_{0}},\;{{l}_{1}}, \ldots ,\;{{l}_{k}} = j$ – любой набор узлов, связывающий вершины $i$, $j$ в исходной сети.

Поскольку основные результаты относительно потоковой функции ${{{v}}_{{ij}}}(u)$, приведенные в [1], получены для неориентированных сетей, то в этом разделе будет рассматриваться неориентированная сеть. Для того чтобы свести задачу о максимальном потоке на неориентированной сети к ориентированной, достаточно заменить каждое неориентированное ребро $[i,j] \in L$ с пропускной способностью ${{c}_{{ij}}}$ парой взаимно противоположных дуг $(i,j)$, $(j,i)$ с той же пропускной способностью каждая [1].

Рассмотрим задачу минимизации взвешенной суммы значений потоковой функции

(3.3)
$\sum\limits_{i > j} {{{\alpha }_{{ij}}}} {{{v}}_{{ij}}}(u) \to \min ,\quad u \in Y,$
на множестве (1.1). Здесь ${{\alpha }_{{ij}}} \geqslant 0$, $i > j$, – веса, отражающие ценность соответствующих потоков в иерархии сети.

В силу представления (3.1) для максимальных потоков она сводится к нахождению наименьшей из величин

(3.4)
${{{v}}_{{\bar {S}}}} = \mathop {\min }\limits_{u \in Y} \sum\limits_{i > j} {{{\alpha }_{{ij}}}} {{с}_{{L({{S}_{{ij}}},N\backslash {{S}_{{ij}}})}}}(u).$
Здесь $\bar {S} = ({{S}_{{ij}}},\;i > j)$.

С учетом (1.2) можно считать, что выполняются дополнительные ограничения (1.6). Тогда задача (3.4), (1.6) становится линейной и может быть записана в виде

(3.5)
${{{v}}_{{\bar {S}}}} = \mathop {\min }\limits_{u \in Y} \sum\limits_{i > j} {{{\alpha }_{{ij}}}} {{с}_{{L({{S}_{{ij}}},N\backslash {{S}_{{ij}}})}}}(u),\quad {{u}_{{ij}}} \leqslant {{c}_{{ij}}}{\text{/}}{{a}_{{ij}}},\quad (i,j) \in L.$

Задача (3.5) тривиальна и может быть легко решена при помощи алгоритма, приведенного в разд. 1. Для этого следует подставить в (3.5) выражения (1.3)

(3.6)
${{с}_{{L({{S}_{{ij}}},N\backslash {{S}_{{ij}}})}}}(u) = \sum\limits_{(k,l) \in L({{S}_{{ij}}},N\backslash {{S}_{{ij}}})} {{{c}_{{kl}}}({{u}_{{kl}}})} $
и привести подобные; это дает
(3.7)
$\sum\limits_{i > j} {{{\alpha }_{{ij}}}} {{с}_{{L({{S}_{{ij}}},N\backslash {{S}_{{ij}}})}}}(u) = \sum\limits_{[i,j] \in L} {{{{\rm A}}_{{ij}}}{{c}_{{ij}}}({{u}_{{ij}}})} ,$
где ${{{\rm A}}_{{ij}}} = {{{\rm A}}_{{ij}}}(\bar {S}) \geqslant 0$, $[i,j] \in L$, – соответствующие коэффициенты.

За основу схемы ветвления метода ветвей и границ возьмем метод Гомори-Ху [1] построения эквивалентного связанного дерева разрезов при фиксированном $u \in Y$, у которого по определению множество вершин $N$ то же, что и у исходной сети, а множество ребер представляет подмножество $L{\kern 1pt} ' \subset L$ из $\left| N \right| - 1$ ребер. При этом ребром связываются два узла $i,j \in N$, если они лежат по разные стороны ровно одного из построенных в ходе работы алгоритма $\left| N \right| - 1$ разрезов исходной сети, а пропускная способность ребра равна максимальному потоку ${{{v}}_{{ij}}}(u)$, определенному в (1.3). Там же показано, что максимальный поток между любыми двумя узлами $i,j \in N$, если они не связаны ребром в дереве разрезов, равен минимуму потоков в единственном пути $i = {{l}_{0}},\;{{l}_{1}},\; \ldots ,\;{{l}_{k}} = j$, связывающем $i$, $j$

(3.8)
${{{v}}_{{ij}}}(u) = \mathop {\min }\limits_{s = 1, \ldots ,k} {{{v}}_{{{{l}_{{k - 1}}}{{l}_{k}}}}}(u).$
Отсюда следует, что потоковая функция принимает не более $\left| N \right| - 1$ значений.

Опишем это построение, следуя (см. [1, с. 250]), поскольку оно будет играть ключевую роль в предлагаемой схеме ветвления. Произвольным образом выберем два узла $i$, $j$ и решим задачу о максимальном потоке между ними. При этом решении будет выделен минимальный разрез $(X,\bar {X})$ между ними, который символически изображается двумя макроузлами $X$, $\bar {X}$, соединенными ребром пропускной способности ${{{v}}_{{ij}}}(u)$.

Этот процесс продолжаем дальше. На каждом этапе построения из диаграммы дерева на этом этапе выбирается некоторое множество $Z$, состоящее более чем из одного узла. В этом дереве имеется некоторое количество дуг, прикрепленных к $Z$. Все те множества, которые можно достичь через какую-нибудь из этих дуг, для следующей задачи о максимальном потоке сожмем в единственный макроузел. При этом складываются пропускные потоки ребер, сжимаемых в одно макроребро. Проделаем это для каждого ребра, прикрепленного к $Z$. В полученной сети $(Z{\kern 1pt} {\text{'}},L{\text{'}})$ решим задачу о максимальном потоке между какими-нибудь двумя узлами $l,k \in Z$. При этом решении будет выделен минимальный разрез $(V,\bar {V})$ между ними, который символически изображается двумя макроузлами $V$, $\bar {V}$, соединенными ребром пропускной способности ${{{v}}_{{kl}}}(u)$. Остальные макроузлы предыдущей сети прикрепляются к $V$, если они лежат в части разреза, содержащей $V$и к $\bar {V}$в противном случае. Этот процесс повторяется до тех пор, пока каждый макроузел не будет состоять из одного узла. Возвращаясь к исходной сети, получаем некоторый набор разрезов $\bar {S} = ({{S}_{{ij}}},\;i > j)$, фигурирующий в (3.5).

Фиг. 2.

Зависимость процента полного перебора всех вариантов от количества дуг (вершин).

Поскольку при некотором $u \in Y$ каждый разрез предположительно может быть максимальным, то предлагаемая процедура ветвления повторяет описанный процесс с той разницей, что на каждом шаге выбирается не максимальный, а произвольный разрез соответствующего макроузла. Кроме того, деление каждого макроузла можно начать с той точки, которая выбиралась на предыдущем шаге деления, добавляя к ней каждый раз только одну новую точку. Тогда на каждом шаге ветвления будет построено некоторое поддерево $L{\text{'}} \subset L$ ребер $[i,j]$, неполных наборов разрезов $\bar {S}{\kern 1pt} {\text{'}} = ({{S}_{{ij}}},\;[i,j] \in L{\text{'}})$ и максимальных потоков, определяемых в результате решения соответствующих задач (3.5) для уже построенного поддерева $L{\text{'}}$. Получим соответствующие нижние оценки для всех достижимых из $\bar {S}{\text{'}}$ полных наборов $\bar {S}$. При этом для непосредственно не связанных узлов $i$, $j$ в поддереве $L{\text{'}} \subset L$ соответствующее слагаемое в (3.5) заменяется нулем, либо более точно – на выражение

(3.9)
${{с}_{{L({{S}_{{ij}}},N\backslash {{S}_{{ij}}})}}}(u) = \mathop {\min }\limits_{s = 1, \ldots ,k} {{с}_{{L({{S}_{{_{{{{l}_{{k - 1}}}{{l}_{k}}}}}}},N\backslash {{S}_{{{{l}_{{k - 1}}}{{l}_{k}}}}})}}}(u)$
в соответствии со свойством (3.2) потоковой функции. Здесь $i = {{l}_{0}},\;{{l}_{1}}, \ldots ,\;{{l}_{k}} = j$ есть единственный путь, связывающий узлы i,  j  в построенном поддереве $L{\text{'}} \subset L$. Правда, при этом полученная задача (3.5), (3.9) является $NP$-трудной и для ее решения в свою очередь придется построить, вообще говоря, также экспоненциальный метод решения. Этот метод основан на упорядочивании всех величин ${{с}_{{L({{S}_{{ij}}},N\backslash {{S}_{{ij}}})}}}(u)$ для узлов $i$, $j$, связанных непосредственно ребром $[i,j]$ в построенном поддереве $L{\text{'}} \subset L$ меньшей размерности, которое мы обозначаем той же буквой, что и множество его ребер, имея в виду, что множество узлов восстанавливается по ним однозначно.

3. СЛУЧАЙ ПОСТОЯННЫХ КОЭФФИЦИЕНТОВ ЭФФЕКТИВНОСТИ ПОДАВЛЕНИЯ

В случае ${{a}_{{ij}}} \equiv a$ можно, используя следствие 1, сконструировать приближенный алгоритм последовательного распределения ресурса типа (1.7) для решения многополюсной задачи подавления сети связи. Вначале, используя алгоритм Гомори-Ху, строится произвольное дерево разрезов для исходной сети, которое позволяет вычислить начальную потоковую функцию для всех пар $i,j \in N$при помощи (3.8). Затем в порядке, определяемом весами ${{\alpha }_{{ij}}} \geqslant 0$, $i > j$, подавляется разрез за разрезом дерева разрезов, пока не закончится однородный ресурс. Это напоминает метод “северо-западного угла” в [12, с. 222], нахождения опорного плана транспортной задачи. Отсюда необходимый объем для подавления всей сети не превышает величины

(3.10)
$U{\kern 1pt} * = \frac{1}{a}\sum\limits_{{{S}_{{ij}}} \in \bar {S}} {{{с}_{{L({{S}_{{ij}}},N\backslash {{S}_{{ij}}})}}}(0)} ,$
где $\bar {S}$ – набор из $\left| N \right| - 1$ разрезов дерева разрезов. На самом деле необходимое количество ресурса меньше этой величины за счет синергетического эффекта, состоящего в том, что при подавлении очередного разреза некоторые его ребра, входящие в предыдущие разрезы, были подавлены ранее.

Пример 2. Построить какой-нибудь набор $\bar {S}$ сечений Гомори-Ху для исходной многополюсной сети в примере 1, считая ее неориентированной, найти решение полученной вспомогательной задачи (3.5) методом “северо-западного сечения” и при помощи алгоритма (1.8).

Решение. На фиг. 3 приведены полученные разрезы для примера 1. На фиг. 4 представлено само дерево разрезов для примера 1, а на фиг. 5 – дерево разрезов после полного подавления разреза $(\left\{ 1 \right\},\;\left\{ {2,\;3,\;4,\;5} \right\})$, соответствующего паре узлов $(1,\;5)$, пропускной способностью ${{с}_{{L({{S}_{{15}}},N\backslash {{S}_{{15}}})}}} = 2$ и имеющимся ресурсом $U = 2$. Это соответствует решению

${{u}_{{ij}}} = \left\{ \begin{gathered} 1,\quad (i,j) \in \left\{ {(1,2),(1,3)} \right\}, \hfill \\ 0,\quad (i,j) \notin \left\{ {(1,2),(1,3)} \right\}. \hfill \\ \end{gathered} \right.$
Из сравнений фиг. 4, 5 можно увидеть синергетический эффект, состоящий в том, что после подавления сечения, соответствующего паре узлов $(1,\;5)$, косвенно снизилась пропускная способность сечений, соответствующих парам узлов $(2,\;5)$ и $(3,\;5)$.

Фиг. 3.

Разрезы дерева разрезов из фиг. 4.

Фиг. 4.

Дерево разрезов к примеру 1 до подавления сети.

Фиг. 5.

Дерево разрезов к примеру 1 после подавления сети.

В этом примере вспомогательная задача (3.5) для построенного набора $\bar {S}$ разрезов после выбора минимальных разрезов в формуле (3.8) для непосредственно не связанных узлов и приведения подобных имеет вид

$\begin{gathered} {{{v}}_{{\bar {S}}}} = \mathop {\min }\limits_{u \in Y} (4{{{v}}_{{15}}} + 3{{{v}}_{{25}}} + 2{{{v}}_{{35}}} + {{{v}}_{{45}}}) = \mathop {\min }\limits_{u \in Y} (7{{c}_{{12}}} + 6{{c}_{{13}}} + 4{{c}_{{24}}} + 5{{c}_{{25}}} + 3{{с}_{{25}}} + 3{{c}_{{34}}} + 2{{с}_{{35}}} + {{c}_{{45}}}), \\ {{u}_{{ij}}} \leqslant {{c}_{{ij}}},\quad (i,j) \in L. \\ \end{gathered} $
Она в данном случае имеет то же решение, полученное с помощью алгоритма (1.8), что и найденное методом “северо-западного угла”, которое в свою очередь совпало с решением двухполюсной задачи в примере 1.

ЗАКЛЮЧЕНИЕ

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

Более общей является задача минимизации взвешенной суммы максимальных потоков между произвольными узлами связи в многополюсной сети, изученной во второй части работы. За основу схемы ветвления метода ветвей и границ принят метод Гомори-Ху построения эквивалентного связанного дерева разрезов. Поскольку основные результаты относительно потоковой функции получены для неориентированных сетей, то во второй части изучалась неориентированная сеть. Для того чтобы свести задачу о максимальном потоке на неориентированной сети к ориентированной, достаточно, как известно, заменить каждое неориентированное ребро парой взаимно противоположных дуг с той же пропускной способностью каждая. Получены соответствующие нижние оценки, необходимые для реализации метода ветвей и границ. Правда, при этом полученная задача становится нелинейной.

В случае постоянных коэффициентов эффективности подавления предложен приближенный алгоритм последовательного распределения ресурса для решения многополюсной задачи подавления сети связи. Вначале, используя алгоритм Гомори-Ху, строится какое-нибудь дерево разрезов для исходной сети, которое позволяет вычислить начальную потоковую функцию для всех пар узлов. Затем в порядке, определяемом весами, подавляется разрез за разрезом дерево разрезов, пока не кончится однородный ресурс. Это напоминает метод “северо-западного угла” нахождения опорного плана транспортной задачи. Приводится пример его работы.

Авторы выражают признательность И.А. Лесику за проведение численных экспериментов и анализ результатов.

Список литературы

  1. Форд Л., Фалкерсон Д. Потоки в сетях. М.: Мир, 1966.

  2. Hohzaki R., Tanaka V. The effects of players recognition about the acquisition of his information by his opponent in an attrition game on a network // In Abstract of 27th European conference on Operation Research 12–15 July 2015 University of Strathclyde. EURO2015.

  3. Harris T.E., Ross F.S. Fundamentals of a method for Evaluating rail net capacities. RAND Corporation. Research Memorandum RM-1573, October 24, 1956.

  4. Ford L.R., Fulkerson D.R. Maximal flow through a network // Canad. J. Math.1956. № 8. P. 399–404.

  5. Shapley L.S. On network flow functions. RAND Corporation. Research Memorandum RM-2338, March 16, 1959.

  6. Gomory R.E., Hu T.C. Multi-terminal network flows. I.B.M. Research Report // J. Soc. Indust. Appl. Math. 1960. № 7. P. 257–272.

  7. Ford L.R. Constructing maximal dynamic flows from static flows // Op. Res. 1958. № 6. P. 419–433.

  8. Хачатуров Р.В. Алгоритмы максимизации супермодулярных функций и их применение для оптимизации группирования областей в регионах // Ж. вычисл. матем. и матем. физ. 1999. Т. 39. № 1. С. 33–44.

  9. Гермейер Ю.Б. Введение в теорию исследования операций. М.: Наука, 1971.

  10. Морозов В.В., Сухарев А.Г., Федоров В.В. Исследование операций в задачах и упражнениях. М.: ЛИБРОКОМ, 2016.

  11. Черенин В.П. Решение некоторых комбинаторных задач оптимального планирования методом последовательных расчетов // Научно-методич. Материалы экономико-матем. Семинара Лаб. Экономико-математических методов АН СССР. Вып. 2. М.: Гипромез, 1962.

  12. Ашманов С.А. Линейное программирование. М.: Наука, 1981.

Дополнительные материалы отсутствуют.

Инструменты

Журнал вычислительной математики и математической физики