
- •Раздел 1
- •Методы моделирования
- •Раздел 2
- •Лекции 2-3. Решение обобщенного уравнения состояния электрической системы
- •Расчет параметров установившегося режима методом контурных токов
- •Диагональный элемент равен сумме сопротивлений ветвей, образующих контур .
- •Раздел 4 Алгоритмы оптимизации режимов системы. Симплекс-метод и его модификации, вычислительная процедура метода. Лекции 7-9.
Раздел 4 Алгоритмы оптимизации режимов системы. Симплекс-метод и его модификации, вычислительная процедура метода. Лекции 7-9.
Поиск решений с помощью оптимизационных методов
Понятие оптимальности. Математическая модель оптимизационной задачи. Методы реализации моделей.
Очень часто в расчетах задачах электроэнергетики требуется найти оптимальное решение.
Оптимизация – процесс выбора наилучшего варианта из множества возможных или процесс приведения системы в наилучшее состояние. Понятие «наилучший» неконкретно. Поэтому вводится понятие оптимального по некоторому критерию решения. Критерий является количественной оценкой понятия «наилучший», представляется в виде критериальной целевой функции (ЦФ).
Значение целевой функции зависит от параметров или переменных, изменение которых влияет на состояние объекта оптимизации и, следовательно, на степень достижения поставленной цели. Между параметрами может быть связь, представленная в виде равенств и (или) неравенств, называемых ограничениями.
Цель оптимизации – найти такие значения параметров, при которых целевая функция достигла бы своего экстремального значения и при этом не нарушались бы заданные ограничения.
Математически: найти значения параметров для ЦФ
Z=F(x1, x2, …, xn) min(max)
где x1, x2, …, xn – независимые переменные
при ограничениях в виде J равенств j(x1, x2, …, xn)=0
и K неравенств k(x1, x2, …, xn)=0.
На переменные x1, x2, …, xn могут также накладываться требования неотрицательности, дискретности и т.п.
Следует также отметить, что, если ЦФ задана в виде
Z=F(x1, x2, …, xn) max ,
то она может быть приведена к ЦФ вида
Z1=F1(x1, x2, …, xn) min
путем изменения знака функции на противоположный
F(x1, x2, …, xn) = -F1(x1, x2, …, xn).
Примеры задач оптимизации в электроэнергетике: выбор конфигурации электрической сети, числа цепей, напряжений, сечений проводов, силового оборудования; распределение активных и реактивных мощностей; задачи развития энергосистемы; оптимального распределения нагрузок; график ремонтов и т.п.
В некоторых задачах оптимизации может быть несколько критериев, т.е. ищется набор переменных, который приводит к наилучшему результату одновременно по нескольким критериям – многокритериальные задачи.
Классификация оптимизационных задач (по постановке):
Детерминированная задача или задача математического программирования – если переменные – детерминированные величины, ЦФ и ограничения – неслучайные функции.
Стохастические – либо переменные, либо функция, либо ограничения – случайны.
Задачи математического программирования подразделяются на задачи линейного и нелинейного программирования.
В задачах линейного программирования функция цели и условия ограничения является линейными:
F(x1,
x2,
…, xn)=
min(max) j=
xi0
В задачах нелинейного программирования либо функция цели, либо ограничения, либо то и другое нелинейны. Различают два вида задач нелинейного программирования: выпуклого программирования и многоэкстремальные. В первых случаях ЦФ является гладкой, а ограничения представляют собой выпуклое множество. График выпуклой функции лежит выше касательной гиперплоскости. Если такая функция дифференцируема, то матрица вторых производных во всех точках неотрицательна.
Особенность задач выпуклого программирования – наличие только одного экстремума (глобального). Поэтому решение находится либо в точке экстремума, либо на границе области существования переменных, определенной ограничениями.
Если в задаче математического программирования переменные могут принимать только дискретные значения (0 или 1 или др.), то это задача дискретного программирования. (В энергетике большинство задач такого типа: выбор числа элементов, их состояние: вкл, выкл.; номинальные напряжения и т.п.).
Методы решения оптимизационных задач многообразны. Можно искать оптимальное решение методом «слепого поиска» или «применить процесс случайного поиска», «сканирования», «метод тыка», что все одно и то же: многократно решается задача и из полученных решений выбирается наилучшее. Есть возможность проскочить действительно оптимальное решение или искать его долго.
Используют свойства функций с точками экстремума или поиск с анализом промежуточных результатов.
Чаще всего в реальных задачах имеется неполная и неточная исходная информация. Поэтому математические модели для их решения строятся с рядом допущений и упрощений, а для их реализации требуется определить допустимую погрешность и ограничить время решения.
Классические методы решения задач оптимизации.
К классическим относятся методы, основанные на свойстве гладких функций иметь в точках локальных экстремумов частные производные, равные 0.
Метод дифференциального исчисления. Суть метода заключается в составлении системы n уравнений из частных производных от ЦФ по ее параметрам, приравнивании их 0, и ее решении.
При наличии m ограничений задача усложняется и м.б. нерешаема. Она имеет решение, если уравнения ограничений достаточно просты, чтобы выразить независимые переменные через зависимые и перейти к системе n-m уравнений.
Для выпуклых функций имеется одно решение, соответствующее глобальному экстремуму, для невыпуклых – несколько, называемых стационарными.
Метод неопределенных множителей Лагранжа. Суть метода заключается в составлении функции Лагранжа, включающей в себя все ограничения
,
где j – постоянные множители, называемые множителями Лагранжа.
Доказано, что стационарные точки F(X) существуют для тех же переменных, что и L(X, ).
Считая, что L(X, ) непрерывна вместе со своими частными производными, далее решение, как в методе дифференциального исчисления: составляется система n+m уравнений из частных производных по Х и л, они приравниваются 0, решается система.
Алгоритм усложняется при наличии ограничений в виде неравенств. В этом случае от неравенств удобнее перейти к ограничениям-равенствам, введя дополнительные переменные.
Например, дано А<x1<B, преобразуем в x1+xn+1=А; x1-xn+2=B.
Доказано, что в точке экстремума или дополнительные переменные, или соответствующие множители Лагранжа равны 0. Поэтому для упрощения СЛАУ задача прорешивается с учетом 2-х, 3-х и т.д. ограничений. Найденные решения сравниваются между собой и из них выбирается экстремальное.
Симплекс-метод. Применяется для решения задач линейного программирования (ЗЛП), т.е. формулируется следующим образом: найти переменные x1, x2, …, xn , удовлетворяющие заданной системе ограничений:
cj
dj
=gj
.
Такие,
чтобы целевая функция F(X)=
min(max)
достигла своего экстремального значения.
(Если коэффициенты при неизвестных
принимают значения 0 или 1, то такая
задача называется транспортной и
решается с помощью распределительного
метода с использованием приема
"северо-западного угла"). Симплекс-метод
для действительных значений коэффициентов.
Симплекс-метод требует представления модели в каноническом виде. Для этого над заданными уравнениями выполняются следующие преобразования:
1) если требуется найти максимум ЦФ, то выполняют переход к ее минимизации maxF(X)= - min[-F1(X)];
2) система ограничений должна содержать неравенства одного знака, что достигается изменением знака правой и левой части неравенств;
3) преобразуют ограничения-неравенства в ограничения-равенства с помощью введения дополнительной неотрицательной переменной, т.е. неравенство заменяют двумя равенствами;
4) если на знак переменной не наложено ограничение неотрицательности, заменить ее разностью двух неотрицательных переменных xi=zi-wi; zi0; wi0;
5) если в правой части полученных равенств есть отрицательные свободные члены, умножить обе части уравнений на (-1).
В результате преобразований математическая модель записывается следующим образом:
определить Z(X)=c0+ min
при выполнении ограничений
y1=b1-(a11x1+…+a1nxn)
…
ym=bm-(am1x1+…+amnxn)
xi0, i=1,2, …, n
yj0, bj0, j=1,2, …, m m<n .
Переменные, входящие в ЦФ и в правую часть равенств, называются независимыми или свободными переменными, а остальные (yi) – зависимыми или базисными.
Суть метода: значения свободных переменных можно варьировать в области положительных чисел так, чтобы базисные переменные не стали отрицательными. Каждое такое решения называется допустимым базисным решением, ему соответствует определенное значение ЦФ. Переходя от одного базисного решения к другому, определяется минимальное значение ЦФ. Процесс перебора носит упорядоченный характер и определяется симплекс-алгоритмом:
1. приведение задачи к каноническому виду. В каждом уравнении д.б. базисная переменная с коэффициентом, равным 1.
2. составление симплекс-таблицы.
а) левый крайний столбец = номера i базисных переменных (m)
б) верхняя строка = номера j свободных переменных (n)
в) на пересечениях в столбце j коэффициенты из уравнений
г) в правом столбце = постоянные члены уравнений
д) в нижней строке = коэффициенты ЦФ
е) в последней ячейке = свободный член ЦФ с противоположным знаком.
3. осуществление симплекс-шага или замена базиса до тех пор, пока нижняя строка не будет вся положительна (без свободного члена) – это минимум ЦФ.
а) выбираем разрешающий столбец j, соответствующий минимальному отрицательному числу в строке коэффициентов ЦФ. Если все коэффициенты разрешающего столбца отрицательны - минимума не существует (конец решения);
б) выбор разрешающей строки i: для всех положительных коэффициентов разрешающего столбца вычисляется отношение свободного члена в этой строке к соответствующему коэффициенту разрешающего столбца, из них выбирается минимальное – это даст разрешающую строку и разрешающий элемент;
в) замена базиса
– сменить местами индекс свободной переменной для разрешающего столбца в верхней строке на индекс базисной переменной разрешающей строки и наоборот;
– пересчитать коэффициенты таблицы по правилам: aij:=1/aij - бывший базисный элемент.
Транспортная задача. Частный случай ЗЛП, т.е. формулируется следующим образом: найти неотрицательные переменные x1, x2, … xn , удовлетворяющие заданной системе ограничений
=Mi
, i=1…m;
=Nj
, j=1…n
при
которых целевая функция F(X)=
принимала
бы минимальное значение. Если
=
,
то транспортная задача называется
закрытой.
Метод динамического программирования (ДП).
Динамическое программирование представляет собой математический аппарат для решения нелинейных оптимизационных задач. Этим методом решаются задачи оптимального управления многошаговыми процессами путем сведения многомерной задачи к последовательности простых одномерных оптимизационных задач. Целевая функция оптимизации может быть как гладкой, так и негладкой, что затрудняет использование классических методов оптимизации.
Специфика метода ДП заключается в том, что весь процесс оптимизации разбивается на шаги (этапы), причем каждый раз оптимизируется ЦФ только на одном шаге, т.е. при принятых условиях. Разбиение на шаги иногда происходит естественно, иногда приходится придумывать искусственные приемы. Например, при оптимальном планировании профилактических ремонтов агрегата процесс можно разделить во времени, шагом м.б. сутки или недели; при оптимальном распределении нагрузки между агрегатами для одного момента времени процесс разбивается в пространстве и шагу соответствует один агрегат.
Для каждого i-го шага процесса оптимизации определяются параметры: хi– входные, уi – выходные, Fi– ЦФ на i-том шаге, ri – принимаемое на i-том шаге решение.
Значение ЦФ должно быть равно сумме значений ЦФ на каждом шаге оптимизации. Это свойство называется аддитивностью ЦФ. Оптимальное управление определяют на каждом шаге и его нужно выбирать так, чтобы учесть последствия выбора на следующих шагах. При этом выход i-го шага является входом следующего шага. Управление на последнем шаге нужно выбрать таким, чтобы ЦФ была оптимальной. Т.е. процесс удобнее начать с конца, выдвинув предположение, чем закончился предыдущий шаг. Это приводит к понятию условно-оптимального управления – оптимального управления, найденного в предположении, что предыдущий шаг закончился так-то.
Руководствуясь этим принципом, процесс нахождения оптимального управления начинают с конца: вначале находится условно-оптимальное управление для каждого возможного исхода предпоследнего шага, затем – на предпоследнем для каждого возможного исхода предыдущего (2-го с конца) шага и т.д., пока не дойдем до первого шага. На первом шаге не надо выдвигать предположений о состоянии системы: мы знаем, с чего начался процесс, и можем определить, безусловно, оптимальное управление для первого шага.
Математическое описание анализа многошагового процесса оптимизации основано на использовании рекуррентных соотношений:
Fi(xi,ri)=i(xi,ri,yi)+optr
Fi-1(xi-1,ri-1) (1),
где yi=xi-1=i(xi,ri); r0(x0)=0 (2).
Уравнение (1) отображает следующее: для каждого i-го шага оптимальное значение ЦФ процесса оптимизации есть сумма ЦФ на i-том шаге плюс оптимальное значение ЦФ на шагах на шагах от 1 до (i-1). Уравнение (1) выражает принцип относительности Беллмана: каково бы ни было состояние исследуемой системы в результате какого-то числа шагов, необходимо выбрать управление на текущем шаге так, чтобы оно в совокупности с оптимальным управлением на всех последующих шагах приводило к максимальному выигрышу на всех оставшихся шагах, включая данный.
Градиентные методы.
В прикладных электроэнергетических задачах ЦФ не всегда удовлетворяет требованиям выпуклости, т.е. возможно несколько экстремумов. Она м.б. аналитически сложной. В этом случае широкое применение получили численные итерационные методы оптимизации – градиентные во множестве модификаций.
Простой градиентный метод: значения независимых переменных меняют на следующем шаге таким образом, чтобы изменение ЦФ происходило в сторону, противоположную градиенту (min).
Градиент – это вектор, направленный перпендикулярно касательной к линии равного уровня в сторону наибольшего увеличения ЦФ, определяемый как геометрическая сумма частных производных ЦФ по всем независимым переменным.
Окончанием поиска оптимального значения может служить возрастание ЦФ в некоторой точке поиска минимума или достижение заданной точности.
Модификации метода отличаются выбором шага . Может быть постоянный шаг, может дополнительно на каждом шаге оптимизации вычисляться шаг из условий обеспечения максимального уменьшения ЦФ в заданном направлении (метод с вычислением производной, метод деления отрезка пополам, метод «золотого сечения» и т.п.). Используют часто совокупность методов выбора шага б: на участках вдали от оптимума шаг постоянный и большой, вблизи предусматривается возможность его уменьшения.
Оптимизация выполняется только по независимым переменным.
Преимущество метода в точности нахождения оптимума ЦФ.
Недостатки: сложность решения при большом числе переменных, возможность попасть на локальный экстремум, чувствительность к масштабным преобразованиям.
Метод наискорейшего спуска: в начальной точке определяем градиент и движемся против этого направления (min!) до тех пор, пока по этой линии не достигнем минимума ЦФ. Затем пересчитывается градиент и направление меняется. И т.д. Шаг в одном направлении не постоянен, не выбирается.
Метод покоординатного спуска: поиск решения производится поочередно по каждой переменной, т.е. итерационный процесс происходит по одной переменной при неизменных других до тех пор, пока производная ЦФ по выбранной переменной не будет равна 0 или близка к нему. Затем выбирается другая переменная и т.д.
Преимущество: не надо решать матричных уравнений (или систему уравнений). Недостаток: узкая область применения - немногоэкстремальные задачи, т.к. обеспечивается нахождение локальных экстремумов, а не глобального.
Релаксационный метод: метод релаксации (ослабления) характеризуется тем, что на каждом шаге или на нескольких шагах итерации производятся приращения той переменной, изменение которой дает наибольший результат, т.е. наибольшее уменьшение(min) ЦФ (модификация покоординатного спуска).
Метод штрафных функций: один из самых распространенных для оптимизационных нелинейных задач с наличием ограничений. Суть
его: свести к задаче нелинейного программирования без ограничений.
Применение градиентных методов для решения САУ.
Нельзя полагать, что методы оптимизации можно использовать только для конкретно сформулированных задач поиска наилучшего решения.
Применение оптимизационных методов для решения задач расчета установившегося режима.
Динамическое программирование представляет собой математический аппарат для решения нелинейных оптимизационных задач. Этим методом решаются задачи оптимального управления многошаговыми процессами путем сведения многомерной задачи к последовательности простых одномерных оптимизационных задач. Целевая функция оптимизации может быть как гладкой, так и негладкой, что затрудняет использование классических методов оптимизации.