1 Введение 5
2 Оптимальные динамические процессы 8
3 Динамические потоковые процессы 12
4 Метод проталкивания предпотока для потоковых задач линейного
программирования 16
4.1 Общая классификация потоковых задач 16
4.2 Задача о максимальном потоке 17
4.3 Задача о параметрическом потоке 22
5 Потоковые процессы в условиях
неопределенностей 29
5.1 Класс усредняемых функций 30
5.2 Динамические потоковые процессы с
меняющимися во времени пропускными способностями 32
5.3 Подбор параметров алгоритма в стохастическом слу¬чае 38
6 Практические примеры 41
6.1 Задача балансирования нагрузки в
вычислительной сети 41
6.2 Обмен информацией групп БПЛА 44
7 Заключение 47
Литература 48
В последние десятилетия сетевые технологии обретают все большую актуальность, и уже сейчас возможность решать различные задачи, воз-никающие в сетевых системах, является одним из самых важных прило¬жений компьютерных и кибернетических наук. Как и для многих других крупных областей, существует огромное множество задач различных по своей структуре и возможным подходам к решению, в этой области ско¬рее всего даже не существует универсальных подходов к решению 95% всех возникающих задач. К хорошо изученным теоретическим моделям, которые чаще всего применимы в теории и практике, можно причислить только наиболее общие - теорию графов, теорию динамических систем, методы математической оптимизации и т. и.
Класс задач, рассматриваемый в этой работе, нацелен на изучение по-токовых процессов в сетях. Потоковый процесс заключается в движении частиц внутри некоторой замкнутой системы, при этом ни одна частица не покидает систему, и ни одна частица не проникает в систему извне. В этой работе будут рассматриваться сетевые системы, взаимодействие ко¬торых традиционно моделируется с помощью теории графов: вершины графа являются промежуточным местом для хранения потока, а дуги (ребра) являются средством циркуляции потока по графу (здесь и да¬лее при использовании термина “дуга” подразумевается, что движение возможно в одну сторону, а при использовании термина “ребро” - в обе стороны. В дальнейших разделах этот нюанс будет формализован бо¬лее строго, но стоит иметь в виду, что в потоковых задачах отсутствует качественное различие между ориентированным и неориентированным случаями). Другими словами, частицы потока могут перемещаться от од¬ной вершины до другой по ребру, соединяющей эти вершины. В качестве практических примеров потоковых процессов можно привести следую¬щие ситуации:
• Движение автомобилей по дорогам. Здесь частицами потока явля¬ются машины, ребра - дороги / улицы, узлы - пересечение дорог / улиц.
• Движение жидкости / газа по трубопроводу. Частицы потока - жидкость или газ, ребра - трубы, узлы - трубопроводные краны, распределительные станции.
• Движение данных в информационных сетях. Частицы потока - па¬кеты данных, ребра - каналы связи, вершины - логические и вы¬числительные устройства.
Длина, время перехода
Рис. 1: Параметры дуги в транспортной сети.
Свойства, ограничения и параметры движения потока по ребру могут варьироваться в зависимости от задачи, по в целом для потоковых задач приняты следующие характерные свойства движения потока:
1. Объем потока, который может пройти по ребру за единицу време¬ни (или за любой конечный интервал времени) ограничен, точную верхнюю границу этого объема принято называть пропускной спо¬собностью ребра.
2. Частицы потока проходят по ребру не мгновенно, а па протяжении некоторого интервала времени.
Как изображено па рис. 1, в случае транспортных потоков эти вели¬чины могут быть интерпретированы как ширина и длина дороги соот¬ветственно.
Ключевым аспектом этой работы является изучение динамических моделей потоковых процессов, т.е. таких моделей, которые учитывают временное измерение. Во многих случаях изучение протекающих во вре¬мени потоковых процессов может быть сведено к рассмотрению стаци¬онарных потоковых задач. Так, например, в [1-4] рассмотрены статиче¬ские методы моделирования транспортных потоков, в [5] (одна из наи¬более ранних работ па эту тему) и [6 рассмотрены динамические пото¬ковые процессы, задачи нахождения оптимального процесса со статиче¬скими пропускными способностями сведены к статическим потоковым задачам. Работы [5-7] имеют постановки, схожие с рассматриваемыми в этой работе, и, в том числе, показывают актуальность этих задач. Эти работы имеют прямое отношение к задаче о максимальном потоке и задаче потока минимальной стоимости, введенных в [8]. Несмотря на более полувека с момента появления, постановки этих задач, допус¬кающие неопределенности некоторых характеристик, появились относи¬тельно недавно (см. [9-11]). При этом, на данный момент отсутствуют работы, изучающие потоковые задачи в условиях динамически изменя¬ющихся параметров и внешних неконтролируемых возмущений. Анализ поведения потоковых процессов в таких ситуациях является основным теоретическим вкладом этой работы.
Работа организована следующим образом: в разделе 2 приведены об¬щие сведения о динамических системах, сформулирован общий вид задач без неопределенностей, рассматриваемых в работе, и получено сведение задачи нахождения оптимального процесса к задаче выпуклой оптими¬зации. В разделе 3 описана специфика параметров потоковых процессов в рассматриваемых задачах оптимального управления, подробнее описа¬ны оптимизационные задачи, которые необходимо решить для построе¬ния оптимального процесса. В разделе 4 подробно описаны потоковые задачи линейного программирования, возникающие при построении оп¬тимального процесса, и эффективные методы их решения. В разделе 5 сосредоточен основной вклад работы: показано, что если меняющиеся во времени пропускные способности принадлежат классу усредняемых функций (как функции по времени), то оптимальное время работы систе¬мы асимптотически эквивалентно оптимальному времени работы “усред-ненной” системы; приведены примеры построения субоптимальных ре¬шений в стохастических случаях. В разделе 6 приведены практические примеры динамических потоковых процессов с неопределенностями.
В работе был рассмотрен класс динамических потоковых задач, по¬дробно проанализированы свойства этого класса задач в условиях неопре¬деленностей, приведены практические примеры, в которых возникает такой класс потоковых задач. Подытоживая ключевые аспекты работы можно выделить следующие выводы:
• Теоретические результаты, изложенные в разделе 5, показывают, что традиционные методы решения потоковых задач могут быть адаптированы для практических задач с неопределенностями. Ос¬новной результат раздела (теорема 5.2) показывает, такая адапта¬ция работает асимптотически оптимально. В практическом смысле это означает, что если есть система циркуляции потока с указан¬ным классом неопределенностей, которая работает неограниченное время, то адаптированное решение создаст некоторую задержку в работе системы по сравнению с оптимальным временем работы, но не больше, чем на величину, которая зависит от функций про¬пускных способностей и размера системы, но не от времени работы системы.
• Рассмотренные алгоритмы решения задач параметрического пото¬ка довольно эффективны и позволяют проводить вычисления для сетей с 105 узлами в течение пары секунд, собственная реализация этих методов соизмерима по производительности с “эталонной” ре¬ализацией [50].
• Чем меньше степень “регулярности” пропускных способностей, тем меньше оправдано применение описанных методов, особенно для маленьких сетей. Как пример, в задаче обмена информацией БП- ЛА можно построить более точное решение, если проводить дис¬кретизацию времени и решать несколько потоковых задач (или же одну потоковую задачу, но большего размера) на отдельных участ¬ках времени.
[1] Teodorovic D., Vukadinovic К. Traffic Control and Transport Planning:: A Fuzzy Sets and Neural Networks Approach. - Springer Science & Business Media. 2012.
[2] Handbook of Transportation Science / Под ред. Hall R. - Springer Science & Business Media. 2012.
[3] Cascetta E. Transportation Systems Engineering: Theory and Methods, Springer Science & Business Media. 2013.
[4] Введение в математическое моделирование транспортных потоков / Под ред. Гасникова А. В. - Московский центр непрерывного мате¬матического образования. 2015.
[5] Ford L. R. Jr, Fulkerson D. R. Constructing maximal dynamic flows from static flows // Operations research. 1958. Vol. 6. No. 3. PP. 419¬433.
[6] Skutella M. An introduction to network flows over time // In: Research Trends in Combinatorial Optimization. 1958. Springer. PP. 451-482.
[7] Kohler E., Mohring R. H., Skutella M. Traffic networks and flows over time // In: Algorithmics of Large and Complex Networks. 2009. Springer. PP. 166-196.
[8] Ford L., Fulkerson D. R. Flows in networks. - Princeton Princeton University Press. 1962.
[9] Glockner G. D., Nemhauser G. L. A dynamic network flow problem with uncertain arc capacities: formulation and problem structure // Operations Research. 2000. Vol. 48. No. 2. PP. 233-242.
[10] Han S., Peng Z., Wang S. The maximum flow problem of uncertain network // Information Sciences. 2014. Vol. 265. PP. 167-175.
[11] Sheng Y., Gao J. Chance distribution of the maximum flow of uncertain random network // Journal of Uncertainty Analysis and Applications. 2014. Vol. 2. No. 1. PP. 1-14.
[12] Bellman R. E., Dreyfus S. E. Applied dynamic programming. - 1962.
[13] Понтрягин Л. С. Математическая теория оптимальных процессов. - Гос. изд-во Физико-математической лит-ры. 1961.
[14] Nesterov Y., Nemirovskii A., Ye Y. Interior-point polynomial algorithms in convex programming // SIAM. Vol. 13. 1994.
[15] Boyd S., Vandenberghe L. Convex optimization. - Cambridge university press. 2009.
[16] Мальковский H. В. Модель балансировки загрузки в вычислитель¬ной сети с использованием задачи параметрического потока // Сто¬хастическая оптимизация в информатике. 2014. Т. 10. V2 1. С. 39-62.
[17] Gallo G., Grigoriadis М. D., Tarjan R. E. A fast parametric maximum flow algorithm and applications // SIAM Journal on Computing. 1989. Vol. 18. No. 1. PP. 30-55.
[18] Goldberg A. V., Tarjan R. E. A new approach to the maximum-flow problem // Journal of the ACM (JACM). 1988. Vol. 35. No. 4. PP. 921— 940.
[19] Garg N., Koenemann J. Faster and simpler algorithms for multicommodity flow and other fractional packing problems // SIAM Journal on Computing. 2007. Vol. 37. No. 2. PP. 630-652.
[20] Herty M., Kirchner C., Moutari S., Rascle M. et al. Multicommodity flows on road networks // Communications in Mathematical Sciences. 2008. Vol. 6, No. 1, PP. 171-187.
[21] Батюков A. M. Анализ цифровых изображений, основанный на построении стационарного потока на графе // Вестник Санкт- Петербургского университета. Серия 10. Прикладная математика. Информатика. Процессы управления. 2015. V5 2. С. 115-122.
[22] Ампилова Н. Б., Романовский И. В., Петренко Е. И. О максими¬зации энтропии при линейных ограничениях // Труды Междунар. науч, конференции «Космос, астрономия и программирование (Лав¬ровские чтения)». СПб.: Математико-механический факультет С.- Петерб. ун-та. 2008. С. 181-185.
[23] Madry A. Navigating central path with electrical flows: From flows to matchings, and back // Foundations of Computer Science (FOCS). 2013. IEEE 54th Annual Symposium on, 2013. pp. 253-262.
[24] Ford L. R., Fulkerson D. R. Maximal flow through a network // Canadian journal of Mathematics, 1956, vol. 8, no. 3, pp. 399-404.
[25] Goldberg A. V., Tarjan R. E. Efficient maximum flow algorithms // Communications of the ACM. 2014. Vol. 57. No. 8. PP. 82-89.
[26] Карзанов А. В. Нахождение максимального потока в сети методом предпотоков // ДАН СССР. 1974. Т. 215. V2 1. С. 49-52.
[27] Orlin J. В. Max flows in 0(nm) time, or better // Proc, the forty-fifth annual ACM symposium on Theory of computing. 2013. PP. 765-774, ACM.
[28] Metropolis N., Rosenbluth A. W., Rosenbluth M. N., Teller A. H., Teller E. Equation of state calculations by fast computing machines // The Journal of Chemical Physics. 1953. Vol. 21. No. 6. PP. 1087-1092.
[29] Wiener N. Extrapolation, interpolation, and smoothing of stationary time series. - MIT press Cambridge. Vol. 2. 1949.
[30] Kalman R. E. A new approach to linear filtering and prediction problems // Journal of basic Engineering. 1960. Vol. 82. No. 1. PP. 35-45.
[31] Robbins H., Monro S. A stochastic approximation method // The Annals of Mathematical Statistics. 1951. PP. 400-407.
[32] Kiefer J., Wolfowitz J. et al. Stochastic estimation of the maximum of a regression function // The Annals of Mathematical Statistics. 1952. Vol. 23. No. 3. PP. 462-466.
[33] Blum J. R. Multidimensional stochastic approximation methods // The Annals of Mathematical Statistics. 1954. PP. 737-744.
[34] Поляк Б. T. Новый метод типа стохастической аппроксимации //Ав¬томатика и телемеханика. - 1990. - .,V°7. - С. 98-107.
[35] Spall J. C. Multivariate stochastic approximation using a simultaneous perturbation gradient approximation / / IEEE Transactions on Automatic Control. - 1992. - Vol. 37. - No. 3. - PP. 332-341.
[36] Граничив О. H. Процедура стохастической аппроксимации с возму¬щением на входе //Автоматика и телемеханика. - 1992. - А5. 2. - С. 97-104.
[37] Граничин О. Н. Рандомизированные алгоритмы стохастической ап-проксимации при произвольных помехах // Автоматика и телеме¬ханика. - 2002. - №2. - С. 44-55.
[38] Граничин О. Н. Оценивание параметров линейной регрессии при произвольных помехах // Автоматика и телемеханика. - 2002. - JV1. - С. 30-41.
[39] Bertsekas D. Р. Dynamic programming and stochastic control. - 1976.
[40] Calafiore G. C., Campi M. C. et al. The scenario approach to robust control design // IEEE Transactions on Automatic Control. 2006. Vol. 51. No. 5. PP. 742-753.
[41] Амелин К. С., Граничин О. Н., Кияев В. И., Иевлев Н. В. Мо¬бильность и супервычисления на охране природы // Компьютер- Информ. 2011. № 05-06, С. 24-25.
[42] Amelin К., Amelina N., Granichin О., Granichina О., Andrievsky В. R. Randomized algorithm for uavs group flight optimization // Proc. 11th IFAC International Workshop on Adaptation and Learning in Control and Signal Processing. 2013. PP. 205-208.
[43] Амелин К. С. Рандомизация в контуре управления легкого БПЛА при полете в условиях неизвестных изменений направления ветра // Вестник Санкт-Петербургского университета. Серия 10. Приклад¬ная математика. Информатика. Процессы управления. 2013. А2 2. С. 86-102.
[44] Амелин К. С. Технология программирования легкого БПЛА для мобильной автономной группы // Стохастическая оптимизация в информатике. 2011. Т. 7. А5 1. С. 93-115.
[45] Letchford A. N., Salazar-Gonzalez, J. J. Stronger multi-commodity flow formulations of the Capacitated Vehicle Routing Problem // European Journal of Operational Research. 2015. Vol. 244. No. 3. PP. 730-738.
[46] Kameda H., Li J., Kim C., Zhang Y. Optimal Load Balancing in Distributed Computer Systems. - Springer Publishing Company Incorporated. 2011.
[47] Alakeel A. M. A guide to dynamic load balancing in distributed computer systems // International Journal of Computer Science and Information Security. 2010. Vol. 10. No. 6. PP. 153-160.
[48] Doddini Probhuling L. Load balancing algorithms in cloud computing // International Journal of Advanced Computer and Mathematical Sciences. 2013. Vol. 2. PP. 2230-9624.
[49] https: //github. com/Malkovsky/load-balancing
[50] http: //research. microsoft. com/еп-us/downloads/ d3adb5f7-49ea-4170-abde-ea0206b25de2/default.aspx
[51] Babenko M., Goldberg A. V. Experimental evaluation of a parametric flow algorithm. — Technical report, Microsoft Research, 2006. MSR- TR-2006-77, 2006.