Автоматика и телемеханика, № 5, 2019
Нелинейные системы
© 2019 г. И.А. ЗОРИН (ivan.zorin@skoltech.ru)
(Сколковский институт науки и технологий, Москва),
Е.Н. ГРЯЗИНА, канд. физ.-мат. наук (gryazina@gmail.com)
(Сколковский институт науки и технологий, Москва,
Институт проблем управления им. В.А. Трапезникова РАН, Москва)
ОБЗОР ПОЛУОПРЕДЕЛЕННЫХ РЕЛАКСАЦИЙ
ДЛЯ ПОИСКА ОПТИМАЛЬНЫХ ПОТОКОВ МОЩНОСТИ1
Дан обзор пяти выпуклых релаксаций для решения задачи AC Optimal
Power Flow (AC OPF): полуопределенной, хордальной, конической, релак-
сации моментами и QC-релаксации. Подробно описано, в чем особенность
AC-формулировки и невыпуклости задачи. Подробно разобрано как за-
писать каждую релаксацию для OPF. Основной интерес представляют
полуопределенная, хордальная и коническая релаксации. Они реализова-
ны на тестовом примере из четырех узлов.
Ключевые слова: энергетические системы, полуопределенное программи-
рование, выпуклые релаксации, потоки в энергетических сетях.
DOI: 10.1134/S0005231019050027
1. Введение
Электроэнергия является одним из важнейших ресурсов в современном
мире, более того, технологический процесс сталкивается со все большей необ-
ходимостью в электроэнергии. Так, за последние несколько лет активно раз-
вивается разработка электромобилей, а растущее население Земли потребля-
ет все больше электричества. Генерация электроэнергии связана с высокими
денежными издержками, кроме того, сохраняется большое число “грязных ге-
нераторов”, на которых сжигается, к примеру, мазут и вырабатывается элек-
троэнергия. Такие станции наносят ощутимый вред экологии Земли, к тому
же зависят от запасов ископаемых ресурсов и цен на них. На смену классиче-
ским приходят генераторы на возобновляемых источниках энергии — ветря-
ные генераторы и фермы солнечных панелей. К сожалению, такие источники
ограничены в своих возможностях и зависят от погодных условий. Все это
порождает массу задач перед учеными из разных областей науки.
Одной из таких задач является определение оптимального режима произ-
водства электроэнергии для заданной сети. Для ее решения существуют раз-
личные постановки, но самым распространенным и точным является задача
Optimal Power Flow, которая формулируется на основе физических законов
Кирхгофа и Ома. Наиболее распространенные критерии оптимальности — это
1 Работа выполнена при финансовой поддержке Российского научного фонда (грант
№ 16-11-10015).
32
достижение минимальной общей стоимости генерации, или потерь, при удо-
влетворении инженерных ограничений. Отдельно можно выделить подход,
нацеленный на обеспечение устойчивости в работе электросети, так называе-
мый Anti-Blackout подход. Это более сложная задача, в которой требуются
дополнительные ограничения, связанные с физической природой задачи. Как
правило, устойчивый режим редко является оптимальным в классической
формулировке, поэтому объединение этих двух подходов является актуаль-
ной задачей для отрасли.
Отличительной особенностью задачи Optimal Power Flow (далее в работе
для краткости будет использоваться аббревиатура OPF) в классической по-
становке является ее невыпуклость, что не позволяет напрямую применить
инструментарий выпуклой оптимизации. В связи с этим системные операто-
ры используют линеаризованную версию задачи — DC OPF. Линеаризация
позволяет быстрее и легче решать задачу ценой точности полученного ре-
шения. Поэтому большой интерес представляют методы решения исходной
невыпуклой задачи — AC OPF (далее OPF будет означать именно AC OPF).
Достаточно популярным способом справиться с невыпуклостью задачи яв-
ляются релаксации. С помощью релаксаций можно значительно упростить
сложность задачи и решить ее за приемлемое время с достаточной точностью.
К сожалению, релаксации не всегда дают точное решение, и на сегодняшний
день нет общих формулировок или теорем, которые позволяли бы описать
условия существования точного решения для некоторой общей формулиров-
ки задачи.
Данная работа нацелена на рассмотрение классической задачи Optimal
Power Flow, в частности изучаются различные выпуклые релаксации для ре-
шения задачи. Главная цель — это подробный разбор релаксаций на тестовом
примере из четырех узлов. В разделе 2 работы предлагается основная фор-
мулировка задачи, в разделе 3 приводится обзор существующих релаксаций,
в разделе 4 описаны тестовые примеры и численные эксперименты.
2. Формулировка задачи Optimal Power Flow
Задача OPF впервые была сформулирована в 1962 г. (историю развития
задачи и методов решения можно найти в [1-3] и с тех пор остается важной
задачей управления электроэнергетическими сетями, особенно учитывая, что
до сих пор не было получено эффективного алгоритма, который мог бы быст-
ро и эффективно ее решать в общей формулировке для систем с тысячами
узлов. Например, российская сеть включает более 9000 узлов. Связано это,
в первую очередь, с тем, что задача является невыпуклой и NP-сложной. По
этой причине в индустрии используется линеаризованная версия задачи, так
называемая DC OPF [4]. Данный подход позволяет быстро решать задачу
для больших сетей, но ценой точности (в смысле близости к глобальному
оптимуму задачи) полученного решения. В связи с ростом потребления и
производства электроэнергии индустрия все больше и больше нуждается в
точных алгоритмах, так как даже небольшие улучшения в качестве решения
позволяют экономить миллиарды долларов ежегодно.
33
Задача OPF может быть переформулирована как квадратичная задача
с квадратичными ограничениями (QCQP-формулировка), в такой формули-
ровке и целевая функция, и все ограничения являются квадратичными функ-
циями. К сожалению, при этом задача все еще остается невыпуклой, но в та-
кой постановке можно использовать различные выпуклые релаксации. Дан-
ный подход активно развивается в последние годы. Но главным недостатком
остается отсутствие гарантий, что метод сработает и даст точное решение.
Для некоторых методов можно подобрать класс задач, внутри которого ме-
тод будет работать для одних задач и не будет для других. Далее рассмотрим
стандартную математическую постановку задачи OPF.
Электроэнергетическая сеть представляет собой граф G, в котором вер-
шины N соответствуют генераторам и потребителям, а ребра E — линиям
электропередач. Ребра проводятся только между теми вершинами, между
которыми в действительности существуют линии. В одной вершине может
находиться либо только генератор, либо потребитель, либо оба одновременно.
В основе формулировки задачи OPF лежат законы Кирхгофа (1) и
Ома (2), связывающие электрический ток I, напряжение V , проводимость Y
и мощность S
(1)
Igj - Ilj =
Ijk
,
∀j ∈ N,
(j,k)∈E
(2)
Ijk = Yjk(Vj - Vk
),
(j, k) ∈ E,
где I, V, Y и S - комплексные величины. Здесь и далее верхние индексы g и l
будут обозначать генерацию и нагрузку соответственно2.
Мощность вычисляется по формуле
(
)
(3)
Sjk = VjIHjk = VjYHjk VHj - VH
,
(j, k) ∈ E,
k
где верхний индексH означает операцию комплексного сопряжения и транс-
понирования.
Совмещая (1)-(3), получаем формулу для потоков мощностей и форму-
лу для так называемой “Net Power Injection” (NPI) для узла j, или разнице
генерируемой и потребляемой мощностей
(4)
Sjk = YHjkVjVHj - YHjkVjVHk
,
(j, k) ∈ E,
(
) (
)
(5)
sj = Sgj - Slj = Pgj - Pl
j
+i Qgj -Ql
j
=
Sjk
,
∀j ∈ N.
(j,k)∈E
Из (4) и (5) выражаем NPI узла через напряжения в сети:
∑ (
)
(6)
sj =
Vj VHj - VH
YHjk
,
∀j ∈ N.
k
(j,k)∈E
2 Далее, если явно не указано иного, одиночный индекс j будет обозначать узел сети
(вершину графа), а пара (j, k) - линию сети (ребро графа).
34
Формула (6) является квадратичной относительно напряжения, и именно от-
сюда возникает “квадратичность” задачи OPF.
На узлах могут присутствовать ограничения на sj, связанные с потребле-
нием и производительностью генератора
(7)
sj sj sj
,
∀j ∈ N,
а также ограничения на напряжение на каждом узле
(8)
,
∀j ∈ N.
V j|Vj| V j
Кроме того, вводятся ограничения для линий (9), ограничивающие мак-
симальные допустимые потоки для каждой линии:
(9)
|Sjk| Smaxjk
,
(j, k) ∈ E,
при нарушении этого ограничения линия может выйти из строя, приведя к
коллапсу всей сети.
Формула (6) позволяет определять объемы генерации на узлах через на-
пряжения, т.е. можно работать только с переменными, отвечающими за на-
пряжение. Набор условий вида (7)-(9) задает множество допустимых режи-
мов в сети. В зависимости от потребностей на конкретной сети могут вво-
диться различные целевые функции. Два наиболее распространенных функ-
ционала - минимизация общих потерь генерации активной мощности
(
)
f1(V ) =
(sj) + Pl
=
Vj VHj - VH
YHjk + Pl,
j
k
j
j∈N
j∈N
k:(j,k)∈E
и минимизация общей стоимости генерации активной мощности с учетом
стоимости генерации cj для каждого генератора j.
(
)
f2(V ) =
cj(sj + Pl)= cj
Vj VHj - VH
YHjk + Pl.
j
k
j
j∈N
j∈N
k:(j,k)∈E
Стоимости также могут быть некоторыми функциями, зависящими от объе-
мов генерации, чаще всего квадратичными. В самом простом случае имеем
постоянную стоимость генерации 1 кВт активной мощности.
Здесь fj(V ) : Cn R. Оба функционала - квадратичные функции от век-
тора напряжений V = (V1, · · · , Vn) в сети (здесь и далее( ) и( ) использу-
ются для обозначения действительной и мнимой частей комплексного числа
соответственно).
Теперь можно сформулировать проблему полностью:
f (V ) min,
V
∑ (
)
sj
Vj VHj - VH
k
YHjk sj,
∀j ∈ N,
k:(j,k)∈E
∀j ∈ N,
V j|Vj| V j,
|Sjk| Smaxjk,
(j, k) ∈ E.
35
Здесь функция f(V ) - это любая из функций f1(V ), f2(V ) или какой-либо
иной функционал от напряжения, интересующий решающего задачу.
2.1. DC-формулировка
В постановке, описанной выше, все комплексные числа были представлены
в алгебраической форме и далее в работе используются именно в этой фор-
ме. Те же формулы можно получить и для тригонометрического представле-
ния комплексных значений, более привычных для инженеров, и, затем, вводя
дополнительные предположения на работу сети, получить линеаризованную
версию задачи - DC OPF.
Комплексная проводимость линии Yjk состоит из активной Gjk и реактив-
ной Bjk проводимостей, т.е.
(10)
Yjk = Gjk + iBjk
,
(j, k) ∈ E.
Комплексное напряжение можно переписать в тригонометрической форме:
(11)
Vj = |Vj|exp(j
),
∀j ∈ N.
Подставляем (10)-(11) в формулу для мощности (3) и получаем формулы
для активной (P ) и реактивной (Q) генераций:
(
)
Sjk = Vj VHj - VH
YHjk =
k
= |Vj | exp(j )(|Vj | exp(-iδj ) - |Vk| exp(-iδk))(Gjk - iBjk),
(12)
Pjk =(Sjk) = |Vj|2Gjk + |Vj||Vk|(Gjk cos(δj - δk) + Bjk sin(δj - δk
)) ,
(13)
Qjk =(Sjk) = -|Vj|2Bjk + |Vj||Vk|(Gjk sin(δj - δk) - Bjk cos(δj - δk
)) .
Полученные формулы выражают активные и реактивные потоки по линии
(j, k) через напряжение и проводимость. Опуская технические детали, из (12)
и (13) легко получаются формулы для потребляемой и генерируемой мощно-
стей на узле j:
(14)
Pj =
|Vj ||Vk| (Gjk cos(δj - δk) + Bjk sin(δj - δk
)) ,
k:(j,k)∈E
(15)
Qj =
|Vj ||Vk| (Gjk sin(δj - δk) - Bjk cos(δj - δk
)) .
k:(j,k)∈E
Из (14) и (15) легко получить DC-формулировку задачи, сделав инже-
нерные предположения: в стационарном состоянии энергетической системы
верны следующие утверждения:
1) Gjk = 0, ∀(j, k) ∈ E,
2) |Vj | ≈ 1, ∀j ∈ N,
3) (δj - δk) 0 cos(δj - δk) 1, sin(δj - δk) ≈ δj - δk.
36
Следовательно, (14) и (15) упрощаются до
Pj =
Bjk(δj - δk),
k:(j,k)∈E
(16)
Qj =
-Bjk
· 1.
k:(j,k)∈E
Из (16) следует, что в DC-формулировке реактивная мощность Q определя-
ется однозначно. Ниже представлена DC-формулировка:
min f(Pj),
δ
j∈N
Pgj = Plj +
Bjk(δj - δk),
∀j ∈ N : j - {генератор},
k:(j,k)∈E
здесь f(·) — некоторая линейная функция, зависящая от генерации, напри-
мер (cj Pj ), где c — вектор цен активной генерации. В такой постановке
OPF является задачей линейного программирования, которую можно решать
очень быстро. Более подробно об инженерной составляющей формулировки
DC OPF см. в [5].
3. Способы решения задачи Optimal Power Flow
В связи со сложностью и особой важностью задачи для индустрии за по-
следнее время возникло большое количество различных подходов к ее реше-
нию. Среди них можно выделить последовательное квадратичное программи-
рование, генетические алгоритмы, подходы, основанные на методе внутрен-
ней точки, а также различные релаксационнные подходы [6]. Большую попу-
лярность набирают полуопределенные релаксации (semidefenite relaxations —
SDP). Идея релаксаций заключается в переформулировке исходной задачи
таким образом, что исходная невыпуклая задача становится выпуклой после
исключения одного невыпуклого условия. После этого решается релаксиро-
ванная задача любым методом для решения выпуклых задач. Если получен-
ное решение удовлетворяет ранее исключенному условию, то получено точное
решение проблемы, в противном же случае релаксация является неточной, но
дает нижнюю оценку для оптимального значения целевого функционала.
Главная проблема заключается в том, что не сформулированы условия,
при которых релаксация была бы точной для общей задачи. Но сформули-
рованы условия, при которых релаксация является точной для радиальных
сетей, т.е. сетей, граф которых - дерево [7]. Бывают ситуации, когда один и
тот же метод может работать для одной задачи и “сломаться” для задачи с
незначительными изменениями в данных, ограничениях или в функционале
такими что они не выводят из класса задачи [8].
Далее будут разобраны некоторые популярные и/или новые релаксирую-
щие методы. Но перед этим необходимо более подробно разобрать, как устрое-
на SDP-релаксация в общем.
37
3.1. Полуопределенное программирование
Полуопределенная релаксация [9] является достаточно популярной и в то
же время простой техникой решения невыпуклых задач. Лучше всего SDP-ре-
лаксация применяется для квадратичных задач с квадратичными ограниче-
ниями (QCQP), каковой и является задача OPF. Для задач из класса QCQP
SDP релаксация получается естественным образом. Рассмотрим это на при-
мере. Пусть есть исходная задача из класса QCQP
(17)
xTCx → min ,
x∈Rn
xTHx a,
xTGx = b,
где C, G, H - симметричные матрицы.
Для любой симметричной матрицы A имеем
xTAx = T r(xTAx) = T r(AxxT) = T r(AX),
xTAx - скаляр, следовательно, можем использовать матричный след, ничего
не меняя, далее пользуемся свойством цикличности следа и получаем форму-
лу справа, которая тоже является скаляром, где xxT = X — (n × n)-матрица.
Следовательно, левая часть равна правой, и, заменяя функционал и каждое
ограничение задачи (17), получаем задачу:
(18)
Tr(CX) min ,
X∈Sn
Tr(HX) a,
Tr(GX) = b,
X ≽ 0,
rank(X) = 1.
Если матрица X является неотрицательно определенной матрицей (X ≽ 0)
с единичным рангом, то можно однозначно восстановить исходный вектор x
по заданной матрице X (используя разложение по собственным числам). Т.е.
из решения задачи (18) можно однозначно восстановить решение задачи (17).
Значит, задачи эквивалентны.
Проблема заключается в том, что задача (18) также является невыпуклой
из-за условия на ранг. Исключая его, получаем полуопределенную релакса-
цию исходной задачи (17):
(19)
Tr(CX) min ,
X∈Sn
Tr(HX) a,
Tr(GX) = b,
X ≽ 0.
38
К сожалению, численные методы могут сходиться к решениям с рангом
сильно больше 1 (rank(X) >> 1), даже если существует решение с единич-
ным рангом. В таком случае явно восстановить x невозможно. Существуют
различные эвристики для получения допустимого решения исходной задачи
(две будут приведены далее), но полученное допустимое решение в общем
случае не будет являться оптимальным.
Если полученное решение X имеет единичный ранг, то у него есть только
одно ненулевое собственное значение (оно также является неотрицательным),
а значит, восстановить оптимальный вектор x можно по формуле
x =
λu,
где λ и u - собственное значение и соответствующий собственный вектор
матрицы X3. Когда решение имеет ранг больше одного, можно использо-
вать максимальное собственное значение λ1 и соответствующий собственный
вектор u1, чтобы получить аппроксимацию оптимального решения:
x=
λ1u1.
Другой способ - рандомизация. Вместо задачи (19) решается стохастиче-
ская задача
(20)
Eξ∼N(0,X)[ξT] min
,
X∈Sn, X≽0
Eξ∼N(0,X)[ξT] a,
Eξ∼N(0,X)[ξT] = b.
Так как E[ξTξ] = X, задача (20) эквивалентна задаче (19) (с точностью до
набора ограничений).
К сожалению, полученное таким образом приближенное решение чаще все-
го оказывается недопустимым для исходной задачи, поэтому дополнительно
необходимо спроецировать приближенное решение на допустимую область.
Пример неточной релаксации
Как упоминалось ранее, SDP-релаксация не всегда является точной. Это
можно наглядно продемонстрировать на следующем примере в R2.
minx1,
x
(x1 - a1)2 + (x2 - a2)2 r21,
(x1 - b1)2 + (x2 - b2)2 r22,
x1 = x2,
здесь a = (a1, a2), b = (b1, b2) и r1, r2 - центры и радиусы двух окружностей.
3 xxT = X = uλuT.
39
3,5
Точное решение
SDP-решение
3,0
2,5
2,0
1,5
1,0
0,5
0
0,5
1,0
1,5
2,0
2,5
3,0
3,5
x1
Рис. 1. Допустимая область и выпуклая оболочка.
Введем вектор x = (x1, x2, 1)T и запишем SDP-релаксацию задачи. Что-
бы выразить целевую функцию и ограничения через x, необходимо ввести
специальные матрицы и воспользоваться матричным следом:
0
0
0,5
C = 0
0
0
⇒x1 = Tr(CxxT),
0,5
0
0
[
]
I
-a
A=
(x - a)T(x - a) 0 → T r(AxxT) 0,
-aT aTa - r2
1
[
]
I
-b
B=
(x - b)T(x - b) 0 → T r(BxxT) 0,
-bT bTb - r2
2
0
0
0,5
D=
0
0
-0,5⇒ x1 - x2 = 0 → Tr(DxxT) = 0.
0,5
-0,5
0
Пусть X = xxT, тогда rank(X) = 1. Запишем SDP-релаксацию
min T r(CX),
X∈S3
Tr(AX) 0,
Tr(BX) 0,
Tr(DX) = 0,
X ≽ 0.
40
На рис. 1 проиллюстрирован пример для следующих значений параметров:
a = (1;1), b = (2;2), r1 = 1, r2 = 1,5.
Оптимальное решение легко найти, не решая задачу, при этом если по-
строить SDP-релаксацию задачи, то ее решение будет отличаться от анали-
тического и ранг решения релаксированной задачи больше одного.
3.2. Эквивалентные релаксации
В этой части будут кратко рассмотрены три эквивалентных релаксации —
полуопределенная, хордальная и коническая. В [10] сформулированы теоре-
мы и условия, при которых релаксации эквивалентны между собой. Для бо-
лее глубокого понимания задачи в AC-формулировке и ее решения с помо-
щью выпуклых релаксаций рекомендуется ознакомится с [11-13]. Для начала
рассмотрим общую идею, которая лежит в основе всех трех релаксаций.
1
2
3
7
4
6
5
Рис. 2. Граф сети.
В задаче (2) целевыми переменными являются напряжения на каждом
узле V ∈ CN . Для наглядности рассмотрим пример. Пусть сеть представлена
графом на рис. 2. Сделаем замену W = V VH.
Wjj = |Vj|2,
∀j ∈ N,
Wjk = VjVHk,
(j, k) ∈ E.
Таким образом, матрица W — это эрмитова частично заполненная матри-
ца, и ее паттерн (заполненная часть матрицы) соответствует графу сети G.
Ниже представлена матрица для данного графа
W11
W12
-
-
-
- W17
W21
W22
W23
-
- W26
-
− W32 W33 W34 W35
-
-
W =
- W43 W44 W45
-
-
- W53 W54 W55 W56
-
− W62
-
- W65 W66 W67
W71
-
-
-
- W76 W77
41
В ней прочерк означает, что элемент не определен, т.е. в графе отсутствует
соответствующее ребро. В [14, 15] приводится способ дополнения частично за-
полненной матрицы до полной матрицы с сохранением знакоопределенности
и ранга.
Теперь можно переписать исходную задачу через новые переменные - эле-
менты матрицы W . Если rank(W ) = 1, то можно однозначно восстановить
значения элементов вектора V . Задача (2) примет вид
∑ ∑
(Wjj - Wjk) YHjk min,
W
j∈N k:(j,k)∈E
sj
(Wjj - Wjk) YHjk sj,
∀j ∈ N,
k:(j,k)∈E
V2j Wjj V2j,
∀j ∈ N,
W ≽ 0,
rank(W ) = 1.
3.2.1. Полуопределенная релаксация. Данная релаксация самая простая
по своей идее. В ней просто исключено невыпуклое ограничение rank(W ),
и задача решается без него. Если полученное решение W имеет ранг 1, то
можно восстановить оптимальный режим V, значит, релаксация является
точной. Иначе релаксация является неточной. Здесь и далее под точностью
релаксации понимается возможность восстановить исходное решение, т.е. ес-
ли полученное решение является неотрицательно определенной матрицей с
единичным рангом, то можем восстановить решение, и релаксация будет точ-
ной. Если хотя бы одно из двух условий не выполнено, то восстановить реше-
ние не можем, и релаксация неточная. Ниже представлена возможная фор-
мулировка релаксированной задачи:
f (W ) min,
W
sj
(Wjj - Wjk)YHjk sj,
k:(j,k)∈E
(Vj)2 Wjj (Vj)2,
W ≽ 0.
3.2.2. Хордальная релаксация. Данная релаксация, как и последующая, ме-
нее очевидна для понимания, но обладает преимуществом для больших разре-
женных сетей. Идея заключается в том, что изначальный граф сети заменяет-
ся на его хордальное расширение [16]. Хордальным называется граф, в кото-
ром любой цикл длины четыре и более имеет хорду, соединяющую несмежные
вершины. Хордальное расширение графа, следовательно, является приведе-
нием исходного графа к хордальному добавлением дополнительных ребер
(на рис. 3 изображен пример хордального расширения графа). Затем вместо
42
1
2
3
7
4
6
5
Рис. 3. Хордальное расширение графа.
того чтобы проверять знакоопределенность всей матрицы, нужно проверить
знакоопределенность только нескольких неразреженных подматриц (соответ-
ствующих максимальным кликам хордального графа) значительно меньшего
размера. Максимальной кликой называется такой полный подграф исходного
графа, к которому нельзя добавить еще одну вершину, так чтобы он продол-
жал оставаться полным. Иными словами, никакая другая клика графа не
содержит в себе максимальную клику целиком.
Получаем следующую матрицу для хордального расширения графа
W11
W12
-
-
- W16 W
17
W21
W22
W23
-
- W26
-
- W32
W33
W34
W35
W36
-
Wch =
- W43
W44
W45
-
-
- W53
W54
W55
W56
-
⎝W61 W62 W63
- W65
W66
W67
W71
-
-
-
- W76
W77
После расширения исходного графа до хордального появляются новые реб-
ра, следовательно, в матрице W должны появиться новые элементы (соот-
ветствующие новым ребрам). Частично заполненную матрицу на основе хор-
дального расширения обозначим через Wch.
Полученный хордальный граф имеет пять максимальных клик
-
{1, 6, 7}, {1, 2, 6}, {2, 3, 6}, {3, 5, 6}, {3, 4, 5}. Значит, необходимо проверить
знакоопределенность только пяти подматриц, вместо проверки всей исход-
ной матрицы Wch. Подматрица для, например, клики {3, 4, 5}:
W33
W34
W35
Wch =
W43 W44 W45
.
W53
W54
W55
43
Приведем формулировку хордальной релаксации для исходной задачи:
f (Wch) min,
Wch
sj
([Wch]jj - [Wch]jk) YHjk sj ,
k:(j,k)∈E
(Vj)2 [Wch]jj (Vj)2,
Wch(C) 0, ∀C : C - максимальная клика графа Wch.
Условия W ≽ 0 и rank(W ) = 1 заменились на Wch(C) 0 и rank(Wch(C)) = 1
(последнее условие релаксируется как невыпуклое) по всем максимальным
кликам хордального расширения исходного графа G. Если полученное опти-
мальное решение релаксированной задачи удовлетворяет этим условиям, то
можно однозначно дополнить исходную частично заполненную матрицу до
полной матрицы, которая также будет неотрицательно определенной с еди-
ничным рангом, а значит, можно восстановить оптимальный режим V.
3.2.3. Коническая релаксация. Данная релаксация похожа на предыдущую.
Только теперь вместо клик рассматриваются все ребра e = (j, k) ∈ E и про-
веряется знакоопределенность соответствующих подматриц. Общий вид под-
матрицы для некоторого ребра (j, k) выглядит так:
(
)
W
jj Wjk
W (e) =
Wkj Wkk
Только здесь rank(W ) = 1 и W ≽ 0 заменяются на rank(W (e)) = 1 и
W (e) 0, где e = (j, k) ∈ E, так как [Wjj][Wkk] |Wjk|2, ∀e = (j,k) ∈ E со-
гласно следующим выкладкам:
Wjk = VjVHk,
WjkWHjk = VjVHkVHjVk,
|Wjk|2 = WjjWkk,
|Wjk|2 WjjWkk.
f (W ) min,
W
sj
(Wjj - Wjk)YHjk sj,
k:(j,k)∈E
(Vj)2 Wjj (Vj)2,
W (e) 0,
∀e ∈ E.
Условие rank(W ) = 1 заменяется на условия rank(W (e)) = 1, ∀e = (j, k)
∈ E. Полученное решение должно удовлетворять условиям на неотрицатель-
ную определенность и ранг для каждой подматрицы, соответствующей неко-
44
торому ребру графа. Дополнительно должно выполняться циклическое усло-
вие для любого цикла (n1, · · · , nk) в графе G
Wn1,n2 + ··· +Wnk,n1 = 0 mod 2π.
Если эти три условия выполняются, то можно однозначно дополнить частич-
ную матрицу до полной с теми же свойствами (знакоопределенность и ранг)
и восстановить V .
Более подробно с тремя рассмотренными релаксациями можно ознако-
миться в [17, 18].
3.3. Релаксация моментами
Данный подход рассматривается в [19, 20]. Метод заключается в перефор-
мулировании исходной задачи OPF (2) с помощью специально сконструиро-
ванных матриц таким образом, что полученная задача становится так назы-
ваемой Generalized Moment Problem. Если говорить конкретно о задаче OPF,
то она превращается в минимизацию некоторого выпуклого функционала с
набором условий, состоящим из неотрицательно определенных матриц.
Формулу (6) можно переписать немного иначе, разбив sj отдельно на дей-
ствительную и мнимую части. Обозначим через Vdj, Vqj действительную и
мнимую части напряжения V соответственно, аналогично разобьем матрицу
проводимости Yadm = G + iB. Тогда
∑(
)
∑(
)
(21)
(sj) = Vdj
-BjkVq
+Vq
BjkVdk + GjkVq
,
Gjk
k
k
j
k
k=1
k=1
∑(
)
∑(
)
(22)
(sj) = Vdj
-BjkVdk - GjkVq
+Vq
-BjkVq
k
j
Gjk
k
k
k=1
k=1
Из (21) и (22) легко получить формулы для активной и реактивной генераций
на узлах
∑(
)
Pgj = fPg(Vd, Vq) = Vdj
-BjkVq
+
j
Gjk
k
k
k=1
(23)
∑(
)
+Vqj
BjkVdk + GjkVq
+Plj,
k
k=1
∑(
)
Qgj = fQg(Vd, Vq) = Vdj
-BjkVdk - GjkVq
+
j
k
k=1
(24)
∑(
)
+Vqj
-BjkVq
+Plj.
Gjk
k
k
k=1
Кроме того,
(25)
|Vj |2 = fVj (Vd, Vq) = (Vdj)2 + (Vqj)2.
45
Сформулируем еще раз задачу OPF в описанных обозначениях. Ограни-
чимся частным случаем, в котором минимизируется генерация на первом уз-
ле при ограничениях на напряжение и удовлетворение спроса на остальных
узлах.
fPg
min,
1
V
fPg
Plk,
∀k ∈ N,
k
fQg
Qlk,
∀k ∈ N,
k
(Vmink)2 fV
(Vd, Vq) (Vmaxk)2,
∀k ∈ N,
k
V q1 = 0.
Теперь рассмотрим, как из (21)-(25) получается релаксация по методу мо-
ментов. Введем вектор x, который овеществляет вектор напряжений:
x = [V d1 ,··· ,V dn ,V q1 ,··· ,V qn]TR2n,
xα - моном степени α = [α1,··· ,α2n]T,
xα = (Vd1)α1 ··· (Vqn)αn ,
αj = α.
j=1
Тогда полином g(x) с коэффициентами gα равен
g(x) =
gαxα.
α∈N2n
Мономы xα можно заменить на скаляры yα и получить линейный функцио-
нал
Ly{g} =
gαyα.
α∈N2n
Замена происходит на основе степеней мономов, т.е. для двух узлов моном
(Vd1)(Vd2)2(Vq1)(Vq2)2 переходит в y1212. Аналогично будут записываться функ-
ционалы, например
g(x) = -1 + (Vd2)2 + (Vq2)2 → Ly{g} = -y000 + y020 + y002.
Для релаксации методом моментов порядка γ вводится вектор мономов по-
рядка γ
[
xγ =
1, Vd1, · · · , Vqn, (Vd1)2, Vd1Vd2, · · · , (Vqn)2, (Vd1)3, · · · , (Vqn)γ
]T .
Определим матрицу моментов Mγ(y) = Ly(xγ xTγ). Для этого вначале пере-
множаются вектор-столбец xγ на вектор-строку xTγ, в результате получается
46
матрица, элементами которой являются различные мономы, которые в даль-
нейшем заменяются на yα по вышеописанному правилу. Например, пусть x =
= [1, x1, x2] и γ = 1, тогда
1
x1
x2
y00 y10
y01
Ly(x1xT1) = Lyx1 x1 x1x2=y10 y20 y11=M1(y).
x2
x1x2
x2
y01
y11
y02
2
Последнее необходимое понятие - это локализационная матрица, которая
строится на основе матрицы моментов для заданного функционала. Если
заданный функционал f имеет степень 2β или 2β - 1, то сначала строит-
ся матрица момента γ - β, каждый элемент которой затем умножается на f,
т.е.
Mγ-β(f(y)y) = Ly(f(y)xγ-βxTγ-β).
Для примера выше пусть f(x) = 1 + x21 + x22, тогда
1+x21 +x22
x1 + x31 + x1x22
x2 + x21x2 + x32
M1(f(y)y) = Ly
x1 + x1 + x1x2 x1 + x1 + x1x2 x1x2 + x1x2 +
x1x32
=
x2 + x21x2 + x32 x1x2 + x31x2 + x1x32 x22 + x21x22 + x4
2
y00 + y20 + y02 y10 + y30 + y12 y01 + y21 + y03
=y10 + y30 + y12 y20 + y40 + y22 y11 + y31 + y13
.
y01 + y21 + y03 y11 + y31 + y13 y02 + y22 + y04
Подробнее теория в основе метода моментов описана в [21, 22].
Используя описанный инструментарий можем сформулировать релакса-
цию по методу моментов для задачи OPF:
(
)
minLy fPg
,
y
1
((
) )
Mγ-1
fPg
-Pl
y
0,
∀k ∈ N,
k
k
((
) )
Mγ-1
fQg
-Pl
y
0,
∀k ∈ N,
Q
k
((
)
)
Mγ-1
fVk - Vmink
y
0,
∀k ∈ N,
Mγ-1 ((Vmaxk - fV
)y) 0,
∀k ∈ N,
k
Mγ (y) 0,
y00···0 = 1,
y·p··· = 0,
∀p 1.
Условие y·p··· = 0 — эквивалент условия Vq1 = 0, можно сказать, что этим
условием “задается точка отсчета” для напряжений (точка означает любое
число из интервала [0, γ]), т. е. любой моном, в который входит Vq1, равен
нулю.
47
С увеличением γ растет сложность задачи, но при этом увеличивается ка-
чество решения. На практике метод оказывается достаточно сложным из-за
того, что сильно разрастается количество переменных с ростом γ. Уже для
задачи из двух узлов, матрица второго момента M2 будет размера 10 × 10, а
для задачи из 10 узлов — 210 × 210 (без учета симметричных элементов).
Реальные сети могут состоять из тысячи узлов, что делают данную релакса-
цию ресурсоемкой и затрудняют ее применение на практике.
Пример конструирования данной релаксации хорошо описан в [19].
3.4. QC-релаксация
В основе метода лежат ранее рассмотренные формулировки, а невыпуклые
ограничения заменяются на их выпуклую оболочку. В частности, речь идет
об условии Wjk = Vj VHk, которое ранее превращалось в два новых условия
rank(W ) = 1 и W ≽ 0. В [23] авторы метода предлагают использовать три-
гонометрическое представление для напряжения и использовать выпуклые
оболочки.
Воспользовавшись тригонометрическим представлением комплексных на-
пряжений V = v(cos(θ) + i sin(θ)), перепишем матрицу W = V VH следующим
образом:
Wjk = VjVHk = vjvk(cos(θj) + isin(θj))(cos(θk) + isin(θk)),
(j, k) ∈ E,
(Wjk) = vjvk cos(θj - θk),
(j, k) ∈ E,
(Wjk) = vjvk sin(θj - θk),
(j, k) ∈ E,
Wjj = v2j,
∀i ∈ E.
Введем выпуклые оболочки для функций x2, xy, cos(x), sin(x) на интер-
валах [xl, xu] и [yl, yu] (подробнее в [24]).
{
2
xx
conv(x2) =
x (xl + xu)x - xlxu,
x
ˇ
yxly+ylx-xlyl
x
ˇ
yxuy+yux-xuyu
conv(xy) =
x
ˇ
yxly+yux-xlyu
x
ˇ
yxuy+ylx-xuyl,
)
(θu)(
θu
(θu)
cos
θ-
+ sin
2
2
2
conv(sin(θ)) =
)
(θu)(
θu
(θu)
cos
θ+
- sin
,
2
2
2
1 - cos(θu)
1 -
θ2
conv(cos(θ)) =
(θu)2
cos(θu).
48
С использованием полученных формул переписывается условие W = VjV Hk .
Wjj = v2j → conv(v2j)(Wjk) = vjvk cos(θj - θk)
→ conv(conv(vj vk)conv(cos(θj - θk)))(Wjk) =
= vjvk sin(θj - θk) → conv(conv(vjvk)conv(sin(θj - θk))).
Авторы утверждают, что метод не доминируется SDP-релаксацией и до-
минирует SOCP-релаксацию.
4. Реализация на тестовом примере
В качестве тестового примера была выбрана простая сеть из четырех уз-
лов (см. рис. 4), представленная в библиотеке MATPOWER [25]. Для решения
оптимизационных задач используется MatLab и библиотека CVX [26] с сол-
вером Mosek [27].
5,1696 + i25,8478
1
3
3,8156 + i19,078
3,0237 + i15,1185
2
4
5,1696 + i25,8478
Рис. 4. Граф сети из четырех узлов со значениями проводимости для линий.
В сети имеется два генератора на первом и четвертом узлах, второй и
третий узлы являются чистыми потребителями. Граф неориентированный,
поэтому если имеется ребро (j, k), то также имеется и ребро (k, j). Спрос на
узлах представлен в табл. 1.
Таблица 1. Потребление в сети
Номер узла
Потребление Plj + iQlj
1
0,5 + i0,31
2
1,7 + i1,05
3
2 + i1,23
4
0,8 + i0,5
Суммарное потребление
5 + i3,09
49
N = {1,2,3,4} - узлы,
E = {(1,2),(1,3),(2,4),(3,4)} - ребра (линии электропередач),
G = {1,4} - множество генераторов.
При этом генерация активной мощности на узле 4 не более чем 2.0 p.u.4
(Pg4 2.0). Значения для Vj и Vj были установлены 0, 9 и 1, 1 соответственно.
В самой простой формулировке задача заключается в нахождении объемов
генерации для удовлетворения заданного спроса на каждом из доступных
генераторов при ограничении на напряжение и мощности генераторов.
(26)
min
(sj) + Plj,
V
j∈G
(27)
Vj |Vj| Vj
,
∀j = 1,n,
(28)
(sj ) + Plj
= 0,
∀j ∈ G,
(sj) + Qlj = 0,
∀j ∈ G,
(s4) + Pl4 Pg4.
В задаче (26) целевая функция заключается в минимизации генерации
суммарной активной мощности на всех генераторах при ограничении (27)
на напряжение на каждом узле и отсутствии генерации (28) на узлах-
потребителях.
4.1. Полуопределенная релаксация
Делаем замену переменных вида W = V VH, перепишем исходную задачу
в новых переменных, которыми являются элементы эрмитовой матрицы W :
min
(sj) + Plj,
W
j∈G
Vj2 Wjj Vj2,
∀j = 1,n,
(sj ) + Plj = 0,
∀j ∈ G,
(sj) + Qlj = 0,
∀j ∈ G,
(s4) + Pl4 Pg4,
W ≽ 0.
Для данного примера SDP-релаксация является точной. Матрица W име-
ет одно ненулевое собственное значение (rank(W ) = 1), и оно положитель-
ное (W ≽ 0), значит, можно восстановить исходный вектор V по формуле
4 per unit - относительные единицы. Все величины (комплексные напряжения, мощно-
сти) нормируются делением на базовую величину. Здесь базовое значение для мощности -
100, напряжения сразу вычисляются в относительных единицах.
50
Таблица 2. Оптимальные режимы релаксаций
Напряжение (|V |V )
Номер узла
SDP
Chordal
SOCP
1
1,04881,3843
1,04881,3839
1,04881,378
2
1,0183 - 1,1234
1,0183 - 1,1236
1,0183 - 1,121
3
1,0094 - 1,3536
1,0094 - 1,3539
1,0094 - 1,3575
4
1,04760
1,04760
1,04760
Таблица 3. Генерация в оптимальном режиме
Генерация Pgj + iQgj
Номер узла
SDP
Chordal
SOCP
1
3,0447 + i1,6009
3,0447 + i1,6016
3,0447 + i1,6007
2
0
0
0
3
0
0
0
4
2 + i1,721
2 + i1,7203
2 + i1,7212
Суммарная генерация
5,0447 + i3,3219
5,0447 + i3,3219
5,0447 + 3,3219i
V =
λh, где λ — ненулевое собственное значение, а h — соответствующий
собственный вектор матрицы W . Оптимальный режим и генерация в опти-
мальном режиме представлены в табл. 2 и 3 соответственно.
Потери активной мощности в сети составляют 0,0447 p.u.
4.2. Хордальная релаксация
Граф сети не является хордальным, поэтому сначала необходимо найти
его хордальное расширение. На рис. 5 представлено одно из трех возможных
расширений.
1
3
2
4
Рис. 5. Хордальное расширение графа сети из четырех узлов.
51
В этом графе имеются две максимальные клики
C1 = {1,2,4} и
C2 = {1,3,4}. И условие W ≽ 0 упрощается до WC1 0 и WC2 0.
min
(sj) + Plj,
W
j∈G
Vj2 Wjj Vj2,
∀j = 1,n,
(sj ) + Plj = 0,
∀j ∈ G,
(sj) + Qlj = 0,
∀j ∈ G,
(s4) + Pl4 Pg4,
WC1 0,
WC2 0.
Решая задачу, получаем некоторую частичную матрицу W , ее подматри-
цы, соответствующие кликам C1 и C2, являются неотрицательно определен-
ными с рангом, равным одному. Следовательно, релаксация является точной
и можно дополнить частично определенную матрицу W до полной неотрица-
тельно определенной матрицы с единичным рангом. Восстанавливая режим,
получаем режим, представленный в табл. 2. Режим такой же, как и для по-
луопределенной релаксации, но со слегка отличными углами. Генерация от-
личается только реактивной составляющей. Данные приведены в табл. 3.
4.3. Коническая релаксация
В данном случае не надо делать никаких дополнительных преобразований
графа. Условие W ≽ 0 заменяется на W (e) 0, ∀(j, k) E. Т.е. для каждого
ребра графа строится матрица (2 × 2) вида
]
[Wjj Wjk
W (e) =
Wkj Wkk
Напомним, что матрица W является эрмитовой, поэтому Wjk = WHkj.
В остальном запись задачи остается похожей на случай хордальной релак-
сации.
min
(sj) + Plj,
W
j∈G
Vj2 Wjj Vj2,
∀j = 1,n,
(sj ) + Plj = 0,
∀j ∈ G,
(sj) + Qlj = 0,
∀j ∈ G,
(s4) + Pl4 Pg4,
W (e) 0, ∀e = (j, k) ∈ E.
52
Все подматрицы, соответствующие ребрам графа, являются неотрицатель-
но определенными с единичным рангом. Также необходимо проверить усло-
вие на цикл.
В графе есть один цикл (без учета направления движения)
((1, 3), (3, 4), (4, 2), (2, 1)). Оптимальное решении релаксированной задачи
1,1000 + 0i
1,0670 + 0,0468i
1,0574 + 0,0505i
-
1,0670 - 0,0468i
1,0369 + 0,0000i
-
1,0665 - 0,0209i
1,0574 - 0,0505i
-
1,0188 + 0,0000i
1,0571 - 0,0251i
1,0665 + 0,0209i
1,0571 + 0,0251i
1,0975 + 0i
Прочерки соответствуют неопределенным элементам. Проверяя циклическое
условие, получаем
(W (1, 3)) +(W (3, 4)) +(W (4, 2)) +(W (2, 1)) 0 mod 2π.
Следовательно, релаксация точная, можно восстановить оптимальный ре-
жим.
Значения |Vj | для всех узлов восстанавливаются по формуле
|Vj | =
Wjj.
Значения углов восстанавливаются из исходной матрицы W с использо-
ванием подматрицы для ребер W (e). Пусть генератор на узле 4 будет “сла-
ком”5, т.е. зафиксируемV4 = 0. Восстановить угол для узла k, зная угол на
смежном узле j, можно следующим образом:
Wkj = VkVHj,
|Wkj| = |Vk||Vj |,
Wkj = ei(Vk-Vj),
Vk =Wkj +Vj.
Восстанавливая напряжения описанным способом, получаем режим, ана-
логичный полуопределенной и хордальной релаксациям (табл. 2 и 3).
В этой главе были подробно разобраны три эквивалентные релаксации
для AC-формулировки задачи OPF. На простом примере было показано, как
записать релаксированную версию исходной задачи в виде, в котором ее мож-
но будет решить с помощью солвера для выпуклых задач (например, CVX).
И было показано, как восстановить оптимальный режим из однорангового
решения релаксированной задачи. Если для SDP-релаксации процедура до-
вольно проста и очевидна, то в случае конической релаксации все не так
тривиально.
5 slack bus - специальный узел сети, используемый при решении задач о потоках в
энерегетических сетях, для балансировки активной и реактивной мощностей в сети.
53
Для данного простого примера, хотя сеть не является древовидной, все
три релаксации оказались точными, полученные решения и восстановленные
режимы отличаются лишь незначительно. При этом все различия только в
реактивной генерации, точнее в распределении некоторой оптимальной вели-
чины реактивной генерации между двумя генераторами, что ведет к отличи-
ям в углах напряжения в оптимальном режиме.
В [10] приводятся численные эксперименты, из которых видно, что с ро-
стом размерности задачи коническая релаксация начинает выигрывать по
времени. Для сети из почти 2400 узлов время работы в 6,5 раз меньше, чем
у хордальной. А SDP-релаксацию для 2400 узлов авторы даже не запускали.
5. Заключение
Для определения оптимального режима работы энергетической сети ис-
пользуются различные подходы, но самым точным режимом является ре-
шение задачи AC-OPF. Это достигается за счет включения в формулировку
различных инженерных ограничений, которые позволяют очень точно учесть
все особенности конкретной электроэнергетической сети. По этой причине за-
дача очень важна для индустрии.
Главной сложностью AC-формулировки является невыпуклость задачи,
что создает трудности для быстрого и точного решения. Справиться с этой
проблемой позволяют выпуклые релаксации - исходное множество допусти-
мых решений заменяется на его выпуклую оболочку, на которой и решается
задача. При этом сохраняется исходная физическая структура задачи. К со-
жалению, релаксации не всегда оказываются точными. На данный момент
сформулированы условия точной релаксации только для древовидных сетей,
а в реальных сетях не всегда отсутствуют циклы.
В данной работе были описаны пять различных релаксаций: полуопре-
деленная (SDP), хордальная, коническая (SOCP), релаксация моментов и
QC-релаксация. Использование первых трех релаксаций было по шагам разо-
брано на простом примере. Каждая из них обладает своими преимущества-
ми и недостатками. Например, полуопределенная релаксация очень проста
для понимания и использования. Хордальная требует дополнительного по-
строения хордального расширения графа сети и нахождения максимальных
клик, что также является нетривиальной задачей, но это необходимо сделать
один раз для конкретной сети. За счет перехода от полной матрицы сети к
подматрицам клик удается воспользоваться разреженностью сети, не сильно
проигрывая полуопределенной релаксации по точности. Коническая релак-
сация также использует разреженность сети и не требует дополнительных
преобразований графа, но является менее точной по сравнению с полуопре-
денной и хордальной. Релаксация моментов является тем точнее, чем выше
ее порядок, но релаксация высокого порядка вводит огромное количество но-
вых переменных, которые при реальных размерах сети могут стать причиной
увеличения времени получения решения или вовсе сделать задачу неразре-
шимой. QC-релаксация достигает точности полуопределенной релаксации, но
не требует рангового условия, т.е. всегда можно восстановить напряжения.
Кроме того, QC обладает схожей с SDP точностью.
54
В работе была рассмотрена простая постановка задачи Optimal Power
Flow, с классическими генераторами и заданным спросом. Вообще говоря, ре-
альная задача является куда более сложной в силу наличия дополнительных
инженерных ограничений. Во-первых, за последние годы существенно уве-
личилась доля альтернативных генераторов, которые предоставляют очень
дешевую энергию, но обладают высокой нестабильностью. Поэтому добавле-
ние возобновляемых источников энергии в задачу ведет к появлению разного
рода неопределенностей. Помимо возобновляемой генерации, другим суще-
ственным источником неопределенностей является спрос, который также яв-
ляется случайной величиной. Добавление неопределенностей в классическую
формулировку ведет к задаче Stochastic Optimal Power Flow, решая которую,
не хотелось бы оставаться слишком консервативным (что часто бывает при
решении стохастических оптимизационных задач), так как незначительные
улучшения в решении ведут к значительной экономии денег. Во-вторых, на
практике необходимо учитывать большое число различных критериев без-
опасности или наличия резервов генерации, например (N - 1)-критерий.6
Тем не менее, главным вопросом остается набор условий, при которых
релаксации остаются точными для смешанных сетей. Пока не удается от-
ветить на этот вопрос даже в случае простой AC-формулировки без сто-
хастики и дополнительных инженерных ограничений. Случается так, что
небольшие изменения данных приводят к тому, что конкретная задача ста-
новится неразрешимой или полученное решение имеет ранг больше 1, что
не позволят восстановить оптимальный режим. Помимо сложностей из-за
невыпуклости и неточности релаксаций, задача может быть неразрешимой
из-за слишком большой размерности, например, Российская сеть включает
примерно 9000 узлов, следовательно, в SDP-релаксации будет симметричная
(9000 × 9000)-матрица переменных. SDP такой размерности практически не
решаемы или время нахождения решения превысит доступный лимит вре-
мени. Конечно, хордальная и коническая релаксация позволяют снизить раз-
мерность за счет разреженности сети, но этого может оказаться недостаточно
или они могут оказаться неточными. Для этого необходима разработка чис-
ленных методов, которые позволят распараллелить задачу.
СПИСОК ЛИТЕРАТУРЫ
1. Cain M., O’Neill R., Castillo A. History of optimal power flow and formulations //
Federal Energy Regulatory Commission. 2012. V. 1. P. 1-36.
2. Stott B., Alsac O. Optimal Power Flow-Basic Requirements for Real-Life Problems
and Their Solutions // SEPOPE XII Sympos., Rio de Janeiro, Brazil, 2012. V. 1.
P. 1866-76.
3. Веников В.А., Суханов Р.П. Кибернетические модели электрических систем: М.:
Энергоиздат, 1982.
4. Stott B., Jardim J., Alsac O. DC Power Flow Revisited // IEEE Transact. Power
Syst. 2009. V. 24. No. 3. P. 1290-1300.
5. Momoh J. Electric Power System Applications of Optimization. Boca Raton: CRC
Press, 2009.
6 Оптимальный режим должен оставаться достижимым при выходе из строя одного
генератора или линии.
55
6.
Zhifeng Q., Deconinck G., Belmans R. A Literature Survey of Optimal Power Flow
Problems in the Electricity Market Context // IEEE/PES Power Syst. Conf. Expos.
2009. V. 1. P. 1-6.
7.
Gan L., Li N., Topcu U., Low S. Exact Convex Relaxation of Optimal Power Flow
in Radial Networks // IEEE Transact. Autom. Control. 2015. V. 60. No. 1. P. 72-87.
8.
Zorin I., Vasilyev S., Gryazina E. Fragility of the semidefinite relaxation for the
optimal power flow problem // IEEE Int. Conf. Sci. Electr. Engineer. (ICSEE).
2016. P. 1-5.
9.
Boyd L., Vandenberghe S. Semidefinite Programming // SIAM Rev. 1996. V. 38.
No. 1. P. 49-95.
10.
Bose S., Low S., Teeraratkul T., Hassibi B. Equivalent Relaxations of Optimal Power
Flow // IEEE Transact. Autom. Control. 2015. V. 60. No. 3. P. 729-742.
11.
Lavaei J., Low S. Zero Duality Gap in Optimal Power Flow Problem // IEEE
Transact. Power Syst. 2011. V. 27. P. 92-107.
12.
Capitanescu F. Critical review of recent advances and further developments needed
in AC optimal power flow // Electr. Power Syst. Res. 2016. V. 136. P. 57-68.
13.
Lesieutre B., Molzahn D., Borden A., DeMarco C. Examining the limits of the
application of semidefinite programming to power flow problems // Proc. Allerton
Conf. 2011. V. 1. P. 1492-1499.
14.
Robert G., Johnson C., Sa E., Wolkowicz H. Positive Definite Completions of Partial
Hermitian Matrices // Linear Algebra Its Appl. 1984. V. 58. P. 109-24.
15.
Woerdeman H. Minimal Rank Completions for Block Matrices // Linear Algebra Its
Appl. 1989. V. 121. P. 105-22.
16.
Mituhiro F., Kojima M., Murota K., Nakata K. Exploiting Sparsity in Semidefinite
Programming via Matrix Completion I: General Framework // SIAM J. Optim. 2001.
V. 11. P. 647-74.
17.
Low S. Convex Relaxation of Optimal Power Flow-Part I: Formulations and
Equivalence // IEEE Transact. Control Net. Syst. 2014. V. 1 No. 1. P. 15-27.
18.
Low S. Convex Relaxation of Optimal Power Flow-Part II: Exactness // IEEE
Transact. Control Net. Syst. 2014. V. 1. No. 2. P. 177-189.
19.
Molzahn D., Hiskens I. Moment-Based Relaxation of the Optimal Power Flow
Problem // Power Syst. Comput. Conf. (PSCC). 2014. V. 1. P. 1-7.
20.
Josz C., Maeght J., Panciatici P., Gilbert J. Application of the Moment-SOS
Approach to Global Optimization of the OPF Problem // IEEE Transact. Power
Syst. 2015. V. 30. No. 1. P. 463-470.
21.
Lasserre J. Global Optimization with Polynomials and the Problem of Moments //
SIAM J. Optim. 2006. V. 11 No. 3. P. 796-817.
22.
Lasserre J. Moments, Positive Polynomials and Their Applications. London: Imperial
College Press, 2010.
23.
Coffrin C., Hijazi H., Van Hentenryck P. The QC Relaxation: A Theoretical and
Computational Study on Optimal Power Flow // IEEE Transact. Power Syst. 2016.
V. 31. No. 4. P. 3008-3018.
24.
Hijazi H., Coffrin C., Van Hentenryck P. Convex Quadratic Relaxations for Mixed-
Integer Nonlinear Programs in Power Systems // Math. Program. Comput. 2017.
V. 9. No. 3. P. 321-367.
25.
Zimmerman R., Murillo-Sanchez C., Thomas R. MATPOWER: Steady-State
Operations, Planning and Analysis Tools for Power Systems Research and Education
// IEEE Transact. Power Syst. 2011. V. 26. No. 1. P. 12-19.
56
26. Grant M., Boyd S., Ye Y. CVX: Matlab Software for Disciplined Convex
Programming, http://cvxr.com/cvx
27. Mosek Optimization Solver, https://www.mosek.com
28. University of Washington, Power Systems Test Case Archive,
http://www.ee.washington.edu/research/pstca
Статья представлена к публикации членом редколлегии П.В. Пакшиным.
Поступила в редакцию 21.05.2018
После доработки 02.08.2018
Принята к публикации 08.11.2018
57