Вестник КРАУНЦ. Физ.-мат. науки. 2018. № 4(24). C. 178-185. ISSN 2079-6641
DOI: 10.18454/2079-6641-2018-24-4-178-185
УДК 519.85; 519.17
РАНГОВАЯ ОПТИМИЗАЦИЯ ПОТОКОВЫХ СЕТЕЙ В.Ч. Кудаев1, М. Б. Абазоков2
1 Институт информатики и проблем регионального управления КБНЦ РАН, 360051, КБР, г. Нальчик, ул. Инессы Арманд, 37а
2 Научно-исследовательский институт прикладной математики и автоматизации КБНЦ РАН, 360000,
КБР, г. Нальчик, ул. А. Шортанова, 89а
E-mail: iipru@rambler.ru, Abazokov.Mukhammed@yandex.ru
В работе представлен метод и алгоритм построения потоковой сети P-го ранга оптимальности на заданном избыточном геометрическом графе возможных соединений узлов сети.
Ключевые слова: сетевая задача, многоэкстремальность, ранг экстремума, алгоритм.
© Кудаев В.Ч., Абазоков М. Б., 2018
MSC 05C85, 05C21, 90C25, 90C39
RANK OPTIMIZATION FOR FLOW NETWORKS V. Ch. Kudaev1, M. B. Abazokov2
1 Institute of Informatics and Problems of Regional Management of Kabardino-Balkarian Scientific Center of the Russian Academy of Sciences, ul. Inessa Armand, 37 "a", 360051 Nalchik, Russia
2 Institute of Applied Mathematics and Automation of Kabardino-Balkarian Scientific Center of the Russian Academy of Sciences, ul. Shortanova, 89 "а", 360000, Nalchik, Russia.
E-mail: iipru@rambler.ru, Abazokov.Mukhammed@yandex.ru
In this paper we present an algorithm for constructing an optimal P-rank flow network in a specified redundant geometric graph with potential links of nodes.
Key words: network problem, multiextremality, extremum rank, algorithm.
© Kudaev V.Ch., Abazokov M. B., 2018 178
Введение
В теории оптимизации сложилась противоречивая ситуация в отношении многоэкстремальных задач, время решения которых растет не менее чем экспоненциально с ростом числа переменных.
Несмотря на то, что для этих задач не существует эффективных алгоритмов поиска глобального экстремума, задачи тем не менее ставятся на его достижение. Такая завышенная целевая установка препятствует развитию математической теории и разработке методов решения задач.
В связи со сказанным для существенно многоэкстремальных задач большой размерности необходима градация экстремумов, заполняющая диапазон между локальным и глобальным экстремумами, и соответствующие методы нелокальной оптимизации, ориентированные на решаемую задачу и получение экстремума достижимого ранга за экономически оправданное время решения задачи на ЭВМ.
В работах [1], [2] было введено понятие ранга экстремума для задач вогнутого и вогнуто-выпуклого программирования при линейных ограничениях и доказано условие оптимума для стационарных сетей по переносу вещества и энергии - сетей электро-, водо-, газоснабжения.
В статье представлен алгоритм построения потоковой сети Р-го ранга основанный на условии ранговой оптимальности и динамической декомпозиции.
Ранги экстремумов
Рассмотрим задачу минимизации вогнутой функции при линейных ограничениях, приведенных к равенствам путем введения вспомогательных переменных:
В том случае, когда фиксированы (п — т) компонент вектора х = (х\,...,хп), вопрос об оптимизации не возникает. Напротив, когда ни одна из компонент вектора х не фиксирована и может изменяться в пределах, определяемых системой ограничений (2), (3), решением задачи (1)-(3) является глобальный экстремумом. В соответствии с этим ранг экстремума следует определять тем количеством варьируемых переменных, которое не приводит к уменьшению полученного значения целевой функции.
ОПРЕДЕЛЕНИЕ 1. Вектор хР, удовлетворяющий системе (2)-(3), назовем вариацией Р-го ранга вектора х, удовлетворяющего системе (2)-(3), если значение каких либо (п — т — Р) его компонент совпадают со значением этих же компонент вектора х.
ОПРЕДЕЛЕНИЕ 2. Вектор х*, удовлетворяющий системе (2)-(3), назовем экстремумом Р-го ранга задачи (1)-(3), если для любой его вариации Р-го ранга хр выполняется неравенство f (х*) < f (хр).
Очевидно, что экстремум (п — т)-го ранга является глобальным.
Градация экстремумов позволяет для задач на графах конкретизировать системный принцип оптимальности: "Любая часть оптимальной системы оптимальна (при фиксации граничных условиях с остальной сетью)"путем установления взаимосвязи
f (x) ^ min,
(1)
gi(x) = 0, i = 0,..., m, xeRn.
(2) (3)
между рангом экстремума, его нелокальностью и величиной частей системы, оптимизация каждой из которых необходима для получения экстремума заданного ранга.
Сетевая задача с вогнутой целевой функцией
Рассмотрим задачу
z(v) = £ cij(vij)lij ^ min, (4)
ijeD
£ vjk = gi, Vj = 1 e B, £ vij = Q, (5), (6)
Ъ ^ -
кег- ]ег-
VI] > 0, У(г, ]) е Б, (7)
где Г(В,Б) - заданный двухзвенный орграф сети; В и Б - множество его вершин и дуг; VI], €1], ¡1] - искомое значение величины потока, заданные удельная стоимость и длина (г,])-й дуги; Q - заданный поток в сеть; gi - заданный расход потока в г-м узле сети. Целевая функция (4) отражает стоимость потока сети, ограничение (5) есть уравнение неразрывности потока, соотношение (6) говорит о том, что узел 1 является источником потока. Функция €г](V]) непрерывна, строго вогнута и возрастает, €г](0) = 0. В связи с сильной вогнутостью целевой функции экстремумы могут достигаться лишь в угловых точках транспортного многогранника (5)-(7). Задача, как известно, является ^Р-полной. Для ее нелокального решения предложено несколько методов: в работе [3] - на основе метода погружения и отсечения [4], а в работе Трубина В. А., Михалевича В. С., Шора Н. З. [5] - на основе метода ветвей и границ. Решением задачи (4)-(7) является остовное дерево заданного графа возможных соединений узлов сети.
Схема метода ранговой оптимизации сети
Продвижению из текущей угловой точки многогранника (5)-(7) в смежную соответствует внесение в текущее остовное дерево некоторой его хорды е из Г(В,Б) и удаление инцидентной ей дуги. При этом изменятся потоки только по дугам контура Кт+е, замыкаемого хордой е на дереве Т. Такой контур назовем фрагментом 1-го ранга сети, соответствующим текущему дереву Т. Каждый фрагмент 1-го ранга представляет собой связный подграф графа сети наименьшей размерности, значение переменных которой однозначно определяется значением варьируемой переменной и значениями переменных на его границе.
Аналогичным образом сроятся фрагменты 2-го и более высоких рангов, получаемые внесением в дерево Т двух или более хорд. Замыкаемые при этом хордами контуры должны быть связным подграфом графа Г(В,Б), т.к. оптимизация на несвязных фрагментах может быть рассмотрена по отдельности и, следовательно, имеет меньший ранг.
ОПРЕДЕЛЕНИЕ 3. Решение задачи (4)-(7) {V}г]ев назовем оптимальным по фрагментам Р-го ранга сети, если для любого фрагмента Р-го ранга сети Фт,р, выделяемого деревом Т на графе Г(В,Б), будет выполнено неравенство
Ъ €г] (У1])1г] < Ъ €г] (Щ] Н]
г]еФт,р чеФт,Р
где {уг-- любое допустимое решение задачи, но такое, что уг- = V*- Уг) </ ФТ,Р.
В работе [1] доказана следующая
Теорема. (УСЛОВИЕ РАНГОВОЙ ОПТИМАЛЬНОСТИ ДЛЯ СЕТЕВОЙ ЗАДАЧИ).
1) Отличные от нуля компоненты потокораспределения {у*-}г-еБ сети Р-го ранга выделяют на графе Г(В, Б) ориентированное остовное дерево с корнем в источнике сети.
2) Экстремум Р-го ранга является глобальным на выпуклой линейной комбинации вершин транспортного многогранника, имеющих смежность в промежутке [1, Р] к точке экстремума.
3) Для того, чтобы решение {у*-}г-еБ задачи (4)-(7) было экстремумом Р-го ранга, необходимо и достаточно, чтобы оно было оптимально по всем фрагментам Р-го ранга сети.
Утверждение 2) устанавливает взаимосвязь между рангом экстремума в задаче и его нелокальнстью. Утверждение 3) является конкретизацией системного принципа оптимальности: "Любая часть оптимальной системы оптимальна (при фиксации граничных условиях с остальной сетью)".
Метод ранговой оптимизации сети основан на условии ранговой оптимальности и динамической декомпозиции сети.
При оптимизации 1-го ранга на очередной итерации выделяется очередная хорда (г,-) и соответствующий ей фрагмент 1-го ранга (контур сети). Проведя оптимизацию полученного фрагмента, определяем очередную независимую переменную относительно полученного решения и переходим к оптимизации соответствующего фрагмента. Процесс оптимизации 1-го ранга системы завершается при получении решения, которое не может быть улучшено внесением любой из хорд полученного остовного дерева (и соответствующей переориентации потоков).
Далее переходим к оптимизации 2-го ранга. Для этого выделяем на каждой очередной итерации очередную пару хорд и соответствующие им фрагменты 1-го ранга. В том случае, когда эти фрагменты пересекаются, формируем фрагмент 2-го ранга - объединение двух фрагментов 1-го ранга. Решаем задачу оптимизации фрагмента 2-го ранга и переходим к следующей итерации. В том случае, если фрагменты 1-го ранга не пересекаются, также переходим к следующей итерации, т.к. оптимизация фрагментов 1-го ранга по отдельности была проведена при оптимизации 1-го ранга системы.
Аналогичным образом, после проведения оптимизации (Р — 1) ранга системы, проводим оптимизацию Р-го ранга. Для этого формируем наборы из Р свободных переменных, объединение соответствующих фрагментов 1-го ранга которых образует связный подграф графа системы, и проводим оптимизацию таких фрагментов. Оптимизация системы прекращается при достижении оптимума Р-го ранга либо заданного времени решения задачи на компьютере.
Таким образом, метод ранговой оптимизации сетевых систем состоит в сведении оптимизации сети к оптимизации ее фрагментов Р-го ранга.
Достижимый ранг экстремума сети определяется количеством фрагментов 1-го ранга и временем решения задачи оптимизации фрагмента Р-го ранга. Если ¿1 - среднее время решения задачи оптимизации фрагмента 1-го ранга, то время оптимизации фрагмента Р-го ранга ¿р = ¿12Р—1, т.к. следует рассматривать лишь новые состояния (структуры) фрагмента не прозондированные при построении (Р — 1)-оптимальной сети.
Алгоритм ранговой оптимизации сетей
Будем разделять понятия ранговой вариации и ранговой оптимизации. Также для
удобства будем использовать следующие обозначения:
Р-фрагмент (1-фрагмент) - фрагмент Р-го (1-го) ранга;
Р-вариация (1-вариация) - вариация Р-го (1-го) ранга;
Р-оптимизация (1-оптимизация) - оптимизация Р-го (1-го) ранга.
В соответствии с представленной схемой метода ранговой оптимизации представим ведущие операции метода.
АЛГОРИТМ Р-ВАРИАЦИИ СЕТИ:
1. Формируется список хорд-кандидатов на вставку в текущую сеть.
2. Берутся очередные Р хорд.
3. Если Р = 1, то осуществляется переход к пункту 6.
4. Выделяется соответствующие для каждой хорды 1-фрагменты дерева.
5. Проверяется, образуют ли 1-фрагменты связный подграф: если нет, то осуществляется переход к пункту 2.
6. Выделяется соответствующий Р хордам (старый) Р-фрагмент дерева.
7. Вычисляется стоимость старого Р-фрагмента дерева и сохраняется до соответствующего сравнения.
8. Формируется новый Р-фрагмент. Новый Р-фрагмент формируется из старого Р-фрагмента добавлением Р хорд и удалением Р, смежных им дуг.
9. Проверяется, новый Р-фрагмент. Если новый Р-фрагмент не является деревом, то осуществляется переход к пункту 2.
10. Пересчитываются потоки в новом Р-фрагменте.
11. Вычисляется стоимость нового Р-фрагмента дерева сети и сохраняется до соответствующего сравнения.
12. Сравниваются стоимости старого и нового Р-фрагментов: если стоимость нового Р-фрагмента меньше стоимости старого Р-фрагмента, то в дереве сохраняется новый Р-фрагмент и осуществляется переход к пункту 1; иначе в дереве сохраняется старый Р-фрагмент и осуществляется переход к пункту 2.
В виде блок-схемы алгоритм Р-вариации изображен ниже (рис.1).
Алгоритм 1-оптимизации состоит в выполнении 1-вариации.
АЛГОРИТМ Р-ОПТИМИЗАЦИИ:
1. Выполняется (Р — 1)-оптимизация.
2. Выполняется P-вариация.
3. Если Р-вариация дала лучший результат, то осуществляется переход к пункту 1. Иначе алгоритм заканчивается и выводятся результаты вычислений.
В виде блок-схемы алгоритм Р-оптимизации изображен ниже (рис.1).
а)
б)
Рис.1. Блок-схема алгоритма Р-вариации(а). Блок-схема алгоритма Р-оптимизации(б).
На основе представленного алгоритма разработана программа построения сети 3-го ранга оптимальности на языке программирования Python3 с использованием графической библиотеки Matplotlib и проведен обширный вычислительный эксперимент, показавший эффективность алгоритма.
Вычислительный эксперимент
Ниже представлены результаты компьютерного проектирования потоковой сети 3-го ранга оптимальности. Целевая функция имеет вид ог](уг]) = Потребление любой вершины (кроме первой-источника) берется равным 1. Длины дуг и хорд базового графа заданы.
а)
б)
Рис.2. Базовый граф возможных соединений сети(а). Начальное остовное дерево(б).
Рис.3. Последовательность изменения начального остовного дерева сети в сеть 3-го ранга.
Таблица
Ранг оптимальности Количество шагов Экономия(%)
1-оптимизация 3 « 1.28
2-оптимизации 8 ~ 2.5
3-оптимизации 8 ~ 2.5
Заключение
Разработан алгоритм построения потоковой сети P-го ранга оптимальности и программа компьютерного проектирования сети 3-го ранга. Проведенный вычислительный эксперимент показал достаточную эффективность алгоритма и программы для компьютерного проектирования оптимальных распределительных сетей водоснабжения.
Список литературы
[1] Кудаев В. Ч., "Ранги экстремумов и структурная оптимизация больших сетевых систем", Известия КБНЦ РАН, 2016, №4(72), 15-24. [Kudaev V. CH., "Rangi ehkstremumov i strukturnaya optimizaciya bol'shih setevyh sistem", Izvestiya KBNC RAN, 2016, №4(72), 15-24].
[2] Кудаев В. Ч., "Двухэтапная оптимизация сетевых систем", Известия КБНЦ РАН, 2007, №4(20), 138-145. [Kudaev V. CH., "Dvuhehtapnaya optimizaciya setevyh sistem", Izvestiya KBNC RAN, 2007, №4(20), 138-145].
[3] Булатов В. П., Кассинская Л. И., "Некоторые методы минимизации вогнутой функции на выпуклом многограннике", Методы оптимизации и их приложения, СЭИ СО АН СССР, Иркутск, 1987, 151-172. [Bulatov V. P., Kassinskaya L. I., "Nekotorye metody minimizacii vognutoj funkcii na vypuklom mnogogrannike", Metody optimizacii i ih prilozheniya, SEHI SO AN SSSR, Irkutsk, 1987, 151-172].
[4] Туй Х., "Вогнутое программирование при линейных ограничениях", Доклады АН СССР, 159:1 (1964), 32-35. [Tuj H., "Vognutoe programmirovanie pri linejnyh ogranicheniyah", Doklady AN SSSR, 159:1 (1964), 32-35].
[5] Трубин В. А., Михалевич В. С., Шор Н. З., Оптимизационные задачи производственно - транспортного планирования, Наука, М., 1986, 260 с. [Trubin V. A., Mihalevich V. S., SHor N. Z., Optimizacionnye zadachi proizvodstvenno - transportnogo planirovaniya, Nauka, M., 1986, 260 pp.]
Для цитирования: Кудаев В.Ч., Абазоков М. Б. Ранговая оптимизация потоковых сетей // Вестник КРАУНЦ. Физ.-мат. науки. 2018. № 4(24). C. 178-185. DOI: 10.18454/20796641-2018-24-4-178-185
For citation: Kudaev V. Ch., Abazokov M. B. Rank optimization for flow networks, Vestnik KRAUNC. Fiz.-mat. nauki. 2018, 24: 4, 178-185. DOI: 10.18454/2079-6641-2018-24-4-178-185
Поступила в редакцию / Original article submitted: 18.09.2018