УДК 556.54.18:51
МЕТОД ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ ДЛЯ ВЫБОРА РАЦИОНАЛЬНОГО ВОДОРАСПРЕДЕЛЕНИЯ В ДЕЛЬТЕ РЕКИ
© 2011 Л.К. Левит-Гуревич
Институт водных проблем РАН, г. Москва
Поступила в редакцию 20.05.2011
Рассматривается задача рационального водораспределения в дельте реки при условии управления вододелением. Дельта схематизирована в виде ориентированного графа. Расход воды поступает на входную вершину, двигаясь к выходным вершинам по дугам водотоков, для каждого водотока задана функция условного ущерба. Ищется распределение расходов по водотокам с минимумом суммы ущербов. Формализация задачи изложена по техническим особенностям дельты р. Волги, предложен метод решения и общий алгоритм расчета.
Ключевые слова: дельта реки, водоток, водораспределение, оптимизация, динамическое программирование
Проблема водораспределения по сети водотоков в дельтах рек - основа рационализации использования там водных ресурсов в условиях маловодий. Настоящая статья может рассматриваться как продолжение статьи [1] под тем же названием, где подробно изложена постановка задачи с ориентацией на природные и технические особенности дельты Волги, дана математическая модель и решение задачи на основе метода динамического программирования. Здесь с кратким повторением постановки задачи и математической модели приведен другой вариант решения, также основанный на динамическом программировании. Оба варианта решения обсуждаются в сравнении с достоинствами и недостатками каждого метода. Возможны модификации постановок задач и алгоритмов в зависимости от дельтовых условий конкретных рек, предложенные методы отвечают всем необходимым техническим и водохозяйственным требованиям.
Почему динамическое программирование? Динамическое программирование [2, 3] является дискретным методом оптимизации по шагам от одной позиции (положения, створа, узла, момента времени) к другой, рассматриваемой в порядке перечисления. Состояния объекта на позициях описываются показателем («параметр состояния», «фазовая переменная»); переход (шаг) от одного значения показателя на позиции до другого значения на следующей позиции оценивается как функция от этих значений. Динамическое программирование использует удобную схему расчета: выстроив последовательность позиций и определив на каждой позиции набор значений параметра (переменной) состояния, проводится расчет прямого хода оптимизации, состоящего в переходе по шагам от начальной позиции к конечной. При этом на каждой позиции каждое
Левит-Гуревич Леонид Константинович, кандидат технических наук, старший научный сотрудник. E-mail: [email protected]
значение параметра состояния в сочетании со всеми значениями параметра предыдущей позиции образуют различные варианты объекта. Варианты оцениваются: оценка варианта на данной позиции равна оценке варианта на предыдущей позиции плюс оценка перехода от предыдущей позиции к данной. На каждом шаге для каждого значения параметра состояния на рассматриваемой позиции запоминаются лишь оптимальные варианты со своими оценками, что математически описывается рекуррентным уравнением Р. Беллмана [2, 3]. При дискретном перечислении на позиции значений переменной состояния для каждого значения запоминается значение переменной предыдущей позиции, образующее оптимальный вариант, или указание на нее. На конечной позиции по полученным оценкам целевой функции выбирается переменная состояния с лучшей оценкой (min, max). Начиная от этого значения при обратном переборе всех позиций (обратный ход оптимизации) отбираются значения переменных состояния на позициях, соответствующие искомому оптимальному варианту.
Следует отметить, что превалирующее число приложений динамического программирования относятся к задачам, где позиции располагаются в одномерном перечислении друг за другом. Если речь идет о водотоках - это водотоки одной реки. При использовании динамического программирования для решения задач на сети, описываемой графом G, существует достаточно широкий класс задач, связанный с выбором оптимального пути на заданном графе от некоторой вершины A до вершины B [4], который интерпретируется как выбор кратчайшего маршрута от A до B. Нам интересен другой класс задач на графе G - задачи ресурсораспределения. Заданный объем некоторого ресурса поступает в вершину A, его надо распределить по всем дугам графа до вершины B с разными оценками пропуска ресурса по дугам и найти оптимальное значение целевой функции как суммы всех этих оценок.
Если задачи ресурсного распределения на графе описываются линейными условиями по дугам и балансовыми условиями в вершинах, то они решаются с использованием идеологии потоковых моделей [5], методами линейного ЛП, нелинейного НЛП программирования [4]. Идея использовать динамическое программирование для решения указанного класса задач основана на том, что в подробных и детальных постановках технических проблем кроме балансовых условий ресурсного распределения существенны локальные нелинейные условия, связанные с узлами-вершинами или дугами сети. Для определения некоторых технических элементов зачастую целесообразно формулировать самостоятельные задачи, которые вставляются в общей алгоритм решения всей проблемы как расчетные процедуры. В проблемах, связанных с водными ресурсами, такого рода особенности могут возникнуть при необходимости определения гидравлических показателей гидротехнических сооружений, каналов, участков рек, при учете процессов наполнения водоемов или затопления пойм с насыщением грунтов водой, - все это требует проведения специальных расчетов. Метод динамического программирования удобен именно возможностью выделить локальные элементы и условия, рассматривая их более тщательно на фоне общего алгоритмического решений всей задачи.
Задача водораспределения. Задача рассмотрена в [1] на примере региона Нижней Волги. Ниже г. Волгограда лежит Волго-Ахтубин-ская пойма: два основных водотока (реки Волга и Ахтуба), соединяясь протоками, включают в речную систему многочисленные водоёмы, - озера и ильмени. Нижняя часть региона составляет дельту, распадающуюся на множество рукавов левой Восточной и правой Западной части. Рукава прорезаны протоками, к ним привязаны водоемы. Выделяется система Западных подстепных ильменей (многочисленных сравнительно мелких озер слабопроточной гидравлики), на Западной части дельты. Рукава, размножаясь и мельчая, впадают в Каспийское море. В Волго-Ахтубинский регионе и дельте Волги развиты рыбное и сельское хозяйства, большое значение имеет навигация и водоснабжение (питьевое, промышленное). Хозяйственно-экономическое состояние региона полностью зависит от водного режима и складывающихся условий регулирования стока р. Волги каскадом Волжско-Камских водохранилищ. Начиная с половодья режим обеспечения региона водой состоит из нескольких этапов. Первый - «сельскохозяйственная полка» сбросных расходов Волгоградского гидроузла имеет назначение обводнение пойм и наполнения водоемов; на втором этапе - «рыбная полка» - поддерживаются стабильные уровни воды на участках реки и поймы, благоприятные для рыбного нереста. В межень должны поддерживаться санитарно-экологические, навигационные уровни, обеспечено водоснабжения. При
низком стоке р. Волги в маловодное половодье и в меженные периоды низкого стока возникает дефицит водных ресурсов и значительные экономические ущербы. Возникает проблема рационального распределения расходов в продолжение указанных водных «полок» по водотокам Нижней Волги. Рукава-водотоки выделяются как дуги сети с гидравлическими зависимостями расхода от уровней, выделены водоемы как хранилища ресурса, можно учитывать технические условия и ограничения в узлах и на водотоках.
Основными инструментами регулирования водных ресурсов в регионе являются гидроузел Волгоградского водохранилища и перегораживающее гидротехническое сооружение в начале дельты - Волжский вододелитель - регулирующее распределение воды между Западной и Восточной частями дельты. Другими регуляторами являются шлюзы и водозаборы, в частности водозаборы в привязанные водоемы. Задача оптимального водораспределения в дельтах представляется перспективной при развитии водного хозяйства дельт. Помимо выбора рациональных режимов вододеления решение задачи может помочь выявить целесообразную систему регулирующих сооружений в дельте, где водохозяйственное строительство имеет свои особенности.
Формализация задачи. Рассматривается плоский планарный (без пересечений) ориентированный граф без циклов, вершины-узлы которого /=0,1,.../ соединены дугами7=1,2,...,/ водотоков. Примем для определенности: вершина графа /=0, в которую дуги только входят, и вершина /=/, из которой дуги только выходят, единственны. В общем случае число дуг, входящих в узел и выходящих из узла, не регламентируется. Но при формализации сети водотоков достаточно принять ограничение: в каждую вершину
. * . *
графа / входит не более двух дуг ]1 , ]2 (кроме
**
/=/) от узлов /1 , /2, и выходит тоже не более двух
-¡о т*о т*О т т " "
дуг 71 ,72 в узлы /1 ,/2 . На всей речной сети Волжского бассейна нашлось два узла, из которых выходит по три водотока. Дельты рек заканчиваются множеством водотоков, и узел /=/ -формальный, нужен для иллюстрации метода. Совокупность дуг узла - /(/).
Граф, описывающий сеть водотоков, рассматривается как закольцованная система дуг без циклов, имеющая также висячие дуги. Одна висячая дуга (если она есть) входная, остальные выходные дуги. Анализ сети как планарного графа О без пересечений и циклов приводит к выводу о невозможности внутренних висячих дуг никуда, все внешние висячие дуги заканчивающиеся впадением в море, и наличием в каждом кольце дуг единственных головного узла-истока и замыкающего узла-слива, если это не так, в О найдется цикл.
На вход сети поступает расход Qmax воды, который распределяется по всем дугам. Выходной расход б^бшах. Пусть б * - расход в начале
дуги, - расход в конце дуги, при этом
2* > , поскольку часть воды расходуется по
длине. Расходы воды на водотоке связан с забором её на нужды водоснабжения, на потери, а также на пополнение запасов ресурса ¥$) в хранилище (водоем, озеро, ильмень), привязанном к данному водотоку, из которого также осуществляется водозабор, - пусть водозабор из водотока
и водоема проводится расходами д2 и (рис. 1). Существуют некоторые нормативные значения расходов водозабора д/ и д. из водотоков и водоемов, д2 < д2пгт , ду < ду"гт. Общий случай формализации тот, что водоемы располагаются не в узлах сети, а на водотоках, откуда к ним поступает вода ограниченным расходом Д;<Д,тах. Рассмотреть водоем в узле сети можно, введя дополнительный водоток.
На каждом водотоке по условиям хозяйствования зафиксированы некоторые рациональные (эффективные) значения расхода а также
объема воды У^, в водоемах, привязанных к водотоку, ниже максимально возможных значений 2еГГ<д]тах, у/у/™. Расходы воды в половодья в водотоках и объемы водоемов могут превысить значения эффективных, в периоды же дефицита воды фактические расходы и объемы обычно меньше эффективных, что ведет к ущербам водопользования.
¡2
Рис. 1. Схема водотоков, инцидентных узлу 1
Пусть оценки близости к эффективным значениям фактического расхода водотока и объема воды V/ в водоеме
/(2/,у,д2,дУО!V'/,д2пгт,дуГ), где -
средний расход водотока по длине, у - средний по времени объем воды в водоеме данного водотока. Оценки / представляют собой условные ущербы: минимум /=0 при
= , у = у !, д2 = д°гт, ду = дУгт . Вычисление ущербов непосредственно для систем водотоков с водоемами практически невозможно из-за отсутствия данных. Условные ущербы
связываются с так называемыми коэффициентами управления расходами воды в водотоке и объемами водоемов, которые легко определяются как относительные величины выполнения рациональных наполнений и расходов [1]. Условные ущербы есть обратные величины указанных коэффициентов. Принят критерий оптимизации Г = Е.(р ] х/) ^ т1п - сумма выпуклых функций условных ущербов / по водотокам, где р/ -коэффициенты важности водотоков, Е. Р} = 1.
Технические условия состоят в необходимости учета параметров водотоков и водоемов дельтовой сети, гидравлических характеристик пропуска расходов, в выполнении баланса поступающих и выходящих расходов в узлах водотоков, поскольку по топографическим условиям строить там регулируемые водохранилища нельзя. Гидравлика воды в водотоке характеризуются уровнями и в начале и конце водотока 7 * 7 °.
Установившееся движение воды в заданный период позволяет упростить гидравлические расчеты. Водоемы и водоток / характеризуются показателями площадей зеркала = £ (У/ ,У/),
= 5(2°,2*), которые определяются для расчета
расхода потерь воды на испарение в дельтовой системе А2 = Д(5..), Ау. = А(£.) - потери могут
быть значительными. Водотоки и водоемы функционируют заданный период в сутках
^ = 0, Т, и общим случаем является наполнение водоемов каждого водотока от начальных У° до конечных У/ объемов в некотором режиме. Вода из водотока поступает в привязанные водоемы расходом Д. < Дтах, по каналам, через специальные шлюзы-регуляторы, насосные станции -применимы разные схемы водоподачи. Заданных параметров водотока и водоемов, начального значения их объемов, расхода водотока в рассматриваемой период достаточно для расчета режима функционирования системы водотока с водоемами с выбором уТ. Расчет всех показателей этого режима и условного ущерба, проводится процедурой Я.
В задаче при заданном входном расходе в сеть необходимо определить: расходы на дугах-водотоках, величины наполнений водоемов и поступающие к ним расходы, отбираемые из водотоков и водоемов расходы водоснабжения, потери так, чтобы обеспечить распределение воды на сети с минимумом критерия оптимизации. Математическая модель в полном объеме дана в [1], здесь ограничимся упрощенной формулировкой, заданы 2тах и У°, / = 1,3 определить
,2*, ут, А., , ду ,}= , а также , I = 17,
при условиях:
F = Z F = Z f (Q, V, qQ, qV, Qf, Vf, qQnrm, qV;rm ) ^ min (1)
Q = : Q°°1+Q°°2 = Q**+Q**2, j*, A, ,j° e J(i), i = 0,1 -1 (2)
j Z° z° — z — z* z* z* j° 2^ j°3 - Л i—^ ; j*3 (3)
Q°- -Q* = Aj + qQ +AQ, j = и (4)
(A j , VT, AQ, AV, qQ, qV, f]} = R[Q°, Q*, V°, Vmax, qQnrm, q]nrm, Amax ] (5)
По всем обозначениям даны объяснения в тексте: (1) - целевая функция; (2) - баланс расходов в узлах, включая входной узел; (3) - уровень в узле без сооружений строго равен уровням в конце входящих и начале выходящих водотоков, перегораживающие сооружения могут быть предусмотрены в начале или в конце водотоков с учетом разницы уровней верхних и нижних бьефов; (4) - баланс расходов на водотоках; (5) - условное обозначение расчетной процедуры функционирования водотока и привязанных водоемов (в фигурных скобках - искомые переменные, в квадратных - заданные параметры).
Решение задачи. В первой работе [1] решение задачи вододеления в дельте реки основано на идее циклического расчета по «кусочкам» Абтах заданного входного расхода 0тах. Каждая порция распределяется на сети по одному маршруту водотоков, поиск которого ведется методом динамического программирования (выбор наилучшего маршрута на сети). Варьируются расходы наполнения водоемов на водотоках маршрута, вариации сопровождаются расчетом по процедуре ^-рационального функционирования водотока с водоемами - алгоритм дан в [1].
В настоящей работе показан другой метод решения, основанный также на динамическом программировании, но другого класса задач -распределения ресурсов. Проводится перебор узлов сети, строятся варианты функции Fi для
каждого узла сети как сумма дуг части графа, сходящейся к узлу. Метод начинается с построения списка узлов ¿«/(О,...,/.../) по алгоритму: в
List включен входной узел 7—0, список пополняется любым узлом 7, если все непосредственно вышележащие к нему узлы (узлы-«родители», откуда поступает вода) ранее уже включены в список. При расчете F7 используется рекуррентное уравнение Беллмана, но в отличие от решения задач одномерной индексации узлов, на сети на каждом узле варьируются три «переменные состояния»: расход узла Q7 и два головных расхода колец дуг-водотоков Qie, Qr'ht. При допущениях о структуре графа G водотоков каждый узел может находиться не более, чем в 4-х кольцах водотоков: два «боковых» - левое и правое, также верхнее и нижнее кольца. Каждое кольцо дуг-водотоков имеет единственный головной узел и единственный замыкающий узел-«слив» (рис. 2).
Другой особенностью динамического программирования на сети является передача на каждом шаге алгоритма от предыдущего узла i* узлу i не всей оценки F* , а части ее в соответствии с разделением расхода (i* по двум выходящим из i* водотокам. Наконец, третья особенность - необходимость при выборе для узла-слива i оптимальных вариантов как сочетаний вариантов двух ветвей водотоков, подходящих к узлу i, проверки условия соответствия расходов этих ветвей обозначенным вариантам расхода головного узла кольца водотоков этих ветвей. Уравнение Беллмана для простых узлов i и i*:
F (Q, Of, Qrght) = min[Fi. q*, q*, QT) + f. (Q**, Q°*)]
left s\ right \
(6)
где Q* = Q*, Q, = Q°-, Qf = Qleft, Q?ght = Q"ght.
Для общего случая уравнение Беллмана:
F (Q, Qe, Q**) = min
Q.,Q.
71 i2
Q* Л Q * „ „
j x F* (Q*, Qf, Q^) + Q*-X F* (Q*, Q;f, Qr7ht) +
4 i2
i2 i2 i2 i2
+/Ж, Q°*)+/Ж, Q°f)
J1 J1 J1 J2 J2 J2
eleft _ Г) left ГЛ right _ гл right гл left _ p.
i - > \li — , для узла-слива должно быть выполнено - Ц* - Ц
left _ /л right
Расчеты ведутся в табличной форме. Ниже дан общий, но достаточно подробный алгоритм, в котором для унификации действий используется прием выделения из сложного узла 7 (кольцевого головного или замыкающего) вспомогательных простых узлов /*, /* или , .
Рис. 2. Схемы расположения узлов сети водотоков: а) простой узел последовательных дуг водотоков, b) замыкающий узел кольца дуг водотоков, с) головной узел кольца дуг водотоков
Алгоритм.
1. Цикл узлов. Рассматриваем все узлы в порядке перечисления списка List. Для каждого пройденного уже в процессе расчета узла i заполнена таблица T i [k, kleft, kright ], где целые
0 < k, klef, kright < K перечисляют варианты параметров: расход в узле Q = k xAQ, AQ = Qmax/ K, головной расход кольца дуг водотоков слева от рассматриваемого узла Qef, головной расход кольца дуг водотоков справа от рассматриваемого узла Q^ght (см. рис.2). В клетках таблиц занесены значения целевой функции р (Qt, Q!efi, Q) и другие вспомогательные данные.
2. Для простого узла i (рис.2-а) или выделенного узла l1 или l2 (рис. 2-b), который сейчас будем рассматривать, подготавливается таблица T [k, kleft, kright ], которая будет заполняться вариантами значений р. (q , Qleft, Qright) в зависимости от
указанных параметров с дискретностью AQ. При
этом список значений Qlf, Q?ght заимствуется из
* •* •*
таблиц узлов i (см. рис. 2-а), ii или i2 (см. рис. 2-b).
3. Цикл по параметру Qi (расход, поступающий в простой узел).
4. Цикл по параметру Q, (Q, или Q,), - рас-
J1 J2
ход, выходящий из узла * ( 1 , 2 ), - принимаются во внимание только существующие в таблицах T* (T*, T*) для перебираемых параметров решения с вычисленными оценками р* (F*., F*.).
5. Должны быть выполнены условия Q, ^Qi (Q* ^Q*,Q* ^Q*). Если данная проверка
не выполняются, переход к другим значениям циклов 4, 3.
6. Вычисляются расходы A* = Q- о.,
(АЛ. = Q - Qv Aj** = Q - Q - случай рис. 2b), направляемые в привязанные к водотокам j (j1, j2) водоемы. Определяются оценки fj(Q •,Q)
или fji* (Qi*, Q1^ fj** i*, Qi2*) путем расчета по процедуре Я оптимальных (рациональных) режимов заполнения водоемов и поддержания их эффективного состояния. В рамках процедуры R проверяются технические условия функционирования рассматриваемых водотоков и водоемов, если они нарушаются, переход к другим значениям параметров циклов 4, 3. Следует обратить внимание, что возможно повторение значений расходов Qi и Qi по цепочке водотоков для разных Q и вычислений
Избежать повторение вычислений легко алгоритмической проверкой, но целесообразней заранее до данного алгоритма составить, используя R, таблицы значений f/(Q, •,Q) для всех сочетаний расходов
О- Qi.
7. Вычисляется в соответствии с (6), (7) значение р = р* + f.*(Q.*, Qi), и если полученная
оценка меньше вычисленной ранее, она заносится в клетку т [k, kleft, kright ] вместе с самими параметрами q , Qleft, Qnght и другими показателями, которые могут быть интересны при анализе результата. Заносятся также номера k.*, k 'f, k r'ght
клетки построенной ранее таблицы для узла * , описывающей вариант, являющийся «родоначальником» выбранного варианта для узла i. Так
же вычисляются F*,, р, и заносятся в таблицы
**
тС т** узлов i1, i2 вместе с номерами клеток k*, Kf, kr*sU, kkf, krght, «родоначальников» вариантов для l1, l*.
8. Окончание блока пп.2-8 с циклами пп.4, 3 и применения процедуры R.
9. Пусть рассматриваемый узел i - замыкающий для кольца дуг-водотоков r., ., (рис. 2-b).
j1 > j2
Для этого узла проводится объединение таблиц выделенных узлов l1* и l2* . Для заполнения T [k, kleft, kright ], являющейся дискретной записью функции р (О-, Q'ef', Qrigh') используются данные
Т, и Т.'. В цикле k2 = 1,2, . K по клеткам таб-
лиц
T.
и
T
* функций р*.®*., QQlf, Q*»)
проводятся действия:
- проводится проверка совместности вариантов в кольце водотоков: если оба варианта левой и
и
правой цепочки дуг кольца имеют один и тот же головной расход (2'/' = , варианты совмест-
ны, рассматриваются далее, если Q* ф Q"fg , то
варианты несовместны, переходим к другим параметрам цикла;
- вычисляются F (Q, Qf, Qrgl) = F* + F*, Qt = Q( + Q6, Ql:ft = Qf, Qi^ = Qt, определяется клетка таблицы Ti , соответствующая вычисленным параметрам Q7, Qleft, QQ,right, если полученная оценка F7 меньше вычисленной ранее, F7 заносится в клетку вместе с самими параметрами и номерами порождающих вариантов таблиц T *
T *. '
l2
10. Пусть рассматриваемый узел i - головной узел для кольца дуг-водотоков j ° (см. рис. 2-
c). Для узла проводится разделение таблицы T . [k, kleft, kright ] на две таблицы T°, T ° для выделенных узлов l*, l° . Заполнение T° ,T° одновременно:
- проводится цикл по Qi , при этом
Q left = Q nght = q Q right = Q right Qleft = Qleft
l* l-° 7 ' l* 7 ' I2 7
- внутри указанного цикла, т.е. для каждого Qi, проводится цикл по k = 1,2,..K с вычислениями
Q° = (1 - k) x Qt
F° = k x Ft
= к Х б ,
= (1 - к) х ^
2 ?
11. Окончание вычислительного блока 2-10 циклов по параметрам /* (1 и /2) и заполнение
г Т Т
таблицы Т7 как и таблиц г*' г* . Таблицы запоминается.
12. Окончание цикла п. 1 по узлам 7 .
13. Итак, построены таблицы Т, Т72, Т7з ,.Т7Ж для всех концевых узлов 7 = 71,../^ дельты. Концевые узлы - это подходы единичных водотоков к морю. Наметим некие условные водотоки
Л,2 : 7 ^ 72, J2,3 : 72 ^ 73, 7з,4 : 73 ^ 74, ...JN-1,N : N-1 ^
. Для условных водотоков = ° б = б°. По алгоритму п. 9 будем заполнять таблицы Тт1,т2,Т7;,<2,<3,.. Т?12..л вплоть до последней таблицы Т,,г2,г3,..., . В таблицах заносятся рациональные варианты расходов узлов и обобщающие оценки К-,, К-,,,... К-, ,
71,7^ 1 72 ,73 7172 ...7п
14. Из последней таблицы Т,г2...,/ [-^?г2...гЛГ ] выбирается вариант с минимальным значением
и из тех же таблиц ^..т,[ - ] в обратной их последовательности:
Т,5; ...,„ [...], Т,,2 [...],...Т,52 [.], Т,[.], используя номера-ссылки на порождающие варианты предыдущих таблиц - отбираются значения искомого
водотоков [Q,. , Z,, k * ., k * ., Ik. . .„
r-^ L^^ ^ 7* —7 ,2 —7 7—>7* 7—>72
оптимального варианта водораспределения для концевых узлов дельты.
15. Осуществляется обратный ход оптимизации: перебор таблиц, построенных на прямом ходе оптимизации, в обратном порядке списка List. Используются записанные в этих таблицах ссылки на порождающие варианты в таблицах предыдущих узлов. Из таблиц отбираются все параметры оптимального варианта водораспре-деления и заносятся в таблицы результата.
16. Результирующие таблицы расчетов включает в себя таблицы узлов Tyib\i] и водотоков ТеодотЛj]. Для каждого узла заносятся: расход узла, отметка уровня воды, распределение поступающих и отходящих расходов, оценка условного ущерба верхней к этому узлу части сети
, F ]. Для каждого водотока записываются: расходы в начале и в конце, уровни воды в начале и в конце водотока, расход на наполнение привязанных водоемов, объемы и уровни водоемов в начале и в конце периода и другие параметры (площади зеркала и пр.), оценка условного ущерба функционирования системы водотока с привязанными водоемами - [Q*, Q°°, z j, , AQj, Aqj ,V° ,VT, , ,..., fj ].
17. Алгоритм закончен.
Обсуждение. Метод динамического программирования обладает большой общностью. Сам принцип, основанный на шагах, перечисле -нии вариантов и аддитивности целевой функции, дает пути доказательства достижения оптимума в каждом из огромного числа приложений. В каждой исследуемой задаче показывается отделимость и полнота набора переменных состояния и перечислений вариантов. В отличие от оптимизации последовательной структуры водотоков, для которой необходима одна переменная состояния - расход узла, оптимизация сети водотоков требует дополнительных переменных состояния, относящихся к кольцам водотоков - это головные расходы колец. Специфика графа, описывающего сеть, позволяет ограничиться дополнительно лишь 2 переменными. Отделимость связана с тем, что при расчете вариантов для нижнего узла дуги принимается во внимание только часть оценки верхнего узла (откуда могут выходить 2 дуги) пропорционально выходящим расходам по этим 2 дугам. Анализ вычислительной трудоемкости задачи показывает, что предложенный метод решения требует большого объема памяти компьютера (гораздо большего, чем метод [1]), но в оперативной памяти должно находиться одновременно лишь несколько расчетных таблиц. По объему же вычислений предложенный метод выигрывает по сравнению с методом [1].
Выводы:
1. Задача рационального водораспределения в дельте реки актуальна в периоды дефицита водных ресурсов, отражает интересы разных отраслей водопользования и сохранения экологического благополучия реки.
2. Предложенный путь решения задачи эффективен, затрагивает все нужные технические детали. Водохозяйственное развитие дельт продолжается, и задача найдет применение в управлении водными ресурсами низовий рек.
СПИСОК ЛИТЕРАТУРЫ:
1. Левит-Гуревич, Л.К. Метод динамического программирования для выбора рационального водорас-пределения в дельте реки // Известия Самарского
научного Центра Российской Академии наук. 2010. Том 12, № 1(4). С. 950-957.
2. Беллман, Р. Динамическое программирование (пер. англ.). - М.: ИЛ, 1960. 456 с.
3. Беллман, Р. Прикладные задачи динамического программирования / Р. Беллман, С. Дрейфус. - М.: Наука, 1965. 457 с.
4. Карманов, В.Г. Математическое программирование. - М.: Физматлит, 2004. 264 с.
5. Хранович, И.Л. Управление водными ресурсами. Потоковые модели. - М.: Научный мир, 2001. 296 с.
METHOD OF DYNAMIC PROGRAMMING FOR THE CHOICE OF RATIONAL WATER DISTRIBUTION IN RIVER DELTA
© 2011 L.K. Levit-Gurevich
Institute of Water Problems RAS, Moscow
The problem of rational water distribution in river delta under condition of water division control is considered. The delta is schematized in the form of oriented graph. The water consumption arrives on entrance top, moving to target tops on arches of water currents, for each waterway function of conditional damage is set. Distribution of waterways consumption with a minimum sum of damages is searched. Problem formalization is stated on technical features of Volga river delta, method of the decision and general algorithm of calculation is offered.
Key words: river delta, waterway, water distribution, optimization, dynamic programming
Leonid Levit-Gurevich, Candidate of Technical Sciences, Senior Research Fellow. E-mail: [email protected]