Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы по ИТ.pdf
Скачиваний:
745
Добавлен:
31.03.2015
Размер:
2.25 Mб
Скачать

f.Наличие почти особых разрезов.

3.Внесите в протокол результат анализа корректности Т-списка. Проведите расчет согласно алгоритмам вручную. Сравните полученные результаты с расчетом вручную.

4.Приведите пункты, наличие проблем в которых приведут к невозможности рассчитать электрическую цепь. Обоснуйте свой выбор. Откройте свою программу формирования и решения узловых уравнений (см. лабораторные работы 8 и 9). Проведите расчет электрической цепи. Если возникает ошибка, запишите ее. В чем она заключается?

5.Приведите пункты, наличие проблем в которых могут привести к некорректному расчету электрической цепи. Обоснуйте свой выбор.

6.Составьте рекомендации для исправления ошибок описания электрической цепи.

5.Вопросы к защите

1.Какие ошибки могут встречаться в описании электрической цепи?

2.Опишите алгоритм проверки гальванической связности электрической цепи.

3.Как определить, есть ли в цепи особые или почти особые разрезы?

4.В чем заключается проблема наличия в схеме ветви-петли?

5.В чем заключается проблема наличия пустых ветвей? Почему следует их удалить перед проверкой гальванической связности цепи?

Примеры применения машинного расчета электрических цепей

Лабораторная работа № 12. Применение машинного расчета электрических цепей на рынке электроэнергии

1. Цель работы

Ознакомление с примером применения машинного расчета электрических цепей на рынке электроэнергии.

2. Теоретическая справка

Электроэнергия это работа электрического поля по перемещению заряда, которая в электрических цепях вычисляется как интеграл мгновенной мощности:

∫ ( ) ( )

Электроэнергия является товаром, который покупается и продается аналогично другим товарам. Для этого существует оптовый и розничные рынки электроэнергии. Специфика рынка электроэнергии заключается в особенностях технологического процесса производства, передачи, распределения и потребления электроэнергии. Электроэнергию невозможно запасти и хранить в достаточных количествах. В этой связи производство и потребление электроэнергии совпадают по времени и, кроме того, должны быть равны в каждый момент времени. При этом заранее объемы производства точно рассчитать невозможно из-за заранее неизвестных потребления и потерь электроэнергии. Поэтому необходимо точное планирование баланса между производством и потреблением на секунду, на сутки, на годы вперед.

Когда потребитель не может отказаться от потребления товара вне зависимости от цены, спрос на такой товар называют неэластичным. Спрос на электроэнергию близок к неэластичному, поэтому рынок электроэнергии по большей части является рынком производителей.

В России конкурентный оптовый рынок существует с 2003 года. В нем отбираются для производства электроэнергии и устанавливают цены на электроэнергию наиболее

74

дешевые поставщики. При этом выдерживается электрический режим и технологические ограничения процесса производства, передачи, распределения и потребления электроэнергии. В данной лабораторной работе проведем конкурентный отбор ценовых заявок поставщиков для удовлетворения спроса на электроэнергию потребителей.

Сначала приведем узловые уравнения к другому виду, который смог бы включать в себя величину электроэнергии. Для расчета рассматривается не электроэнергия, а среднечасовая мощность в Вт, которая численно равна электроэнергии в Вт.ч.

Потребителей и поставщиков будем представлять источниками тока с заданной среднечасовой мощностью. Для начала выделим в векторе задающих токов поставщиков и потребителей отдельно:

GU=J=Jg-Jn,

где Jg – вектор задающих токов, относящихся к поставщикам, Jn – вектор задающих токов, относящихся к потребителям (с обратным знаком).

Запишем узловые уравнения в форме системы линейных алгебраических уравнений:

 

 

 

 

(

)(

)

(

)

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

(

)

(

)

(

)(

)

(

)

(

)

(

)

Выразим токи источников через мощность и узловые напряжения:

 

 

 

 

 

(

 

)(

)

(

)

 

(

 

)

 

(

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{ (

)

(

)

(

 

)(

)

(

)

 

 

 

 

 

 

 

 

 

 

(

)

 

(

)

 

И получим систему нелинейных уравнений с неизвестными узловыми

напряжениями:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

 

 

 

(

)(

)

(

 

))

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

)( (

)

 

(

)

 

(

)(

)

(

))

(

 

)

(

)

В матричном виде она будет выглядеть следующим образом:

diag(U)GU=Pg-Pn. (1)

Следует обратить внимание, что решение полученной системы уравнений не будет единственным. Например, знак узловых напряжений может быть, как положительным, так и отрицательным. Кроме того, написав уравнения с источниками тока в терминах мощности, предполагаем, что в такой сети есть источники мощности Pg и потребители мощности Pn, а также имеются потери мощности в элементах электрической сети, представленной матрицей узловых проводимостей G. Задавая значения Pg и Pn, может оказаться, что баланс мощности не сходится, поскольку потери в сети до расчета не известны. Для того чтобы избежать проблем с расчетом уравнений, вводят так называемый балансирующий узел, в котором задается напряжение и устанавливается источник, мощность которого рассчитывается в ходе решения уравнений электрического режима и обеспечивает равенство производимой и потребленной мощности. В рамках данной работы мы вводить балансирующий узел не будем, поскольку это выходит за рамки теории электрических цепей. Тем не менее, указанные проблемы следует учесть в работе для анализа полученных результатов.

Полученное выражение (1) будем использовать для имитации рынка электроэнергии. Поставщики и покупатели ежедневно подают ценовые заявки на продажу и покупку электроэнергии на сутки вперед. Для поставщика ценовая заявка означает предложение продать определенное в заявке количество электроэнергии по цене не ниже заявленной.

75

Для потребителя – готовность приобрести указанное в заявке количество электроэнергии по цене не выше заявленной. На основе поданных заявок выбирается оптимальный электрический режим, в котором для покрытия спроса отобрана наиболее дешевая генерирующая мощность. В простом случае (без учета узловых уравнений) оптимальный выбор заявок показан на рис. 1. Поставщики отбираются по возрастанию цены в заявке, пока спрос не будет удовлетворен. Цена последнего принятого генератора определяет цену электроэнергии, ее называют равновесной ценой.

Цена

Кривая спроса

Кривая

 

 

предложения

Равновесная цена

Мощность

Отобранная мощность

Рис. 1. Кривые спроса и предложение.

 

В общем случае задача оптимизации формулируется следующим образом:

 

f(x) → min

 

при условии:

 

(

)

(2)

(

)

(3)

 

 

(4)

 

 

(5)

{

 

(6)

где ограничения могут быть в виде нелинейных неравенств (2) и равенств (3), линейных неравенств (4) и равенств (5) и ограничений на нижний и верхний предел (6). Функцию f(x) называют целевой функцией.

Для целей лабораторной работы ее можно сформулировать следующим образом: f(x)=∑Pg·cg → min

при условии: diag(U)GU=Pg-Pn Pmin PgPmax

где cg – это цены в заявках поставщиков.

Переменными задачи являются мощность генерации Pg и узловые напряжения U. В ходе решения выбирается такой допустимый электрический режим, который обеспечивает минимальную стоимость источников мощности Pg. Задача решается методом множителей Лагранжа, который кроме оптимальных значений переменных задачи выдает множители к ограничениям, которые принято рассматривать в качестве цен. Цены на электроэнергию в нашем случае будут определены из множителей Лагранжа к узловым уравнениям.

Проверка результата решения задачи оптимизации должна включать выполнение исходных условий:

76

Цена на электроэнергию для источника мощности, если он отобран, не должна быть ниже цены в заявке;

Напряжения в узлах должны быть положительны, поскольку мощность источников превышает мощность потребителей;

Выполняется баланс мощности:

∑Pg = ∑Pn + ∑U2G

Последнее слагаемое отражает потери в электрической сети.

3.Вопросы для коллоквиума

1.Как получены узловые уравнения в терминах мощности источников тока?

2.Как формулируется задача оптимизации?

3.Как в задаче оптимизации рынка электроэнергии учитываются узловые уравнения?

4.Как связаны количество электроэнергии и среднечасовая мощность?

4.Рабочее задание

1.Для схемы в таблице 1 со значением Pn в таблице 2 составьте Т-список (за исключением токов источников) и вектор Pn по правилам формирования вектора задающих токов J (с обратным знаком).

Таблица 1

Номер бригады (номер компьютера) + номер группы

1, 4, 7, … 3n+1

Схема

20 См

10 См

10 См

Pn

Pn

 

 

 

10 См

20 См

10 См

 

Pn

1 См

Pn

Pn

 

 

 

20 См

 

 

10 См

20 См

10 См

10 См

2, 5, 8, … 3n+2

 

 

 

 

Pn

1 См

Pn

Pn

Pn

77

3, 6, 9, … 3n

 

 

10 См

10 См

 

 

Pn

 

 

10 См

20 См

10 См

Pn

1 См

Pn

Pn

Таблица 2

Номер бригады

 

1, 5, … 4n+1

2, 6, … 4n+2

3, 7, … 4n+3

4, 8, … 4n

(номер компьютера)

 

 

 

 

Pn, кВт

 

 

30

50

40

60

 

 

 

Рис. 4

 

 

 

2. Каждый студент в бригаде может построить электростанцию со

 

 

следующими параметрами:

, Pmin = 1 кВт1, где N

количество студентов в бригаде. По очереди выберите место для строительства и подключение к узлу электрической сети. Начальный узел для подключения – земля. В одном и том же месте две электростанции построить нельзя (соответственно к одному узлу подключить также нельзя).

3.Определите себестоимость (затраты на единицу продукции) производства электроэнергии на электростанции. Для этого каждый студент – владелец электростанции вводит функцию в вычислительной среде MATLAB randi([2,5])/2 или в Excel СЛУЧМЕЖДУ(2;5)/2.

Полученное число и будет отражать себестоимость производства электроэнергии в руб./кВт.ч.

4.Сформируйте вручную векторы Pg, Pmax, Pmin по правилам формирования вектора задающих токов J.

5.Подайте заявку на продажу электроэнергии. Запишите цену на листок бумаги так, чтобы другие владельцы электростанции ее не видели. Обратите внимание, что если цена в заявке ниже себестоимости, то ваша прибыль будет отрицательной – вы не окупите затраты на производство электроэнергии. Если цена в заявке будет существенно выше затрат, то,

возможно, электростанция будет простаивать, тогда как могла работать и приносить прибыль2. Тем не менее, цена в заявке может быть любой. Когда все владельцы электростанций записали свои заявки, откройте все заявки и сформируйте вектор generator_cost с себестоимостью и вектор generator_bids с заявленными ценами. Каждое значение элемента в векторе соответствует узлу. Если в узле нет электростанции, ставьте 0.

6.Проведите конкурентный отбор ценовых заявок. Победителем будет студент с максимальной прибылью.

1Для справки: установленная мощность ТЭЦ МЭИ составляет 10 МВт, установленная мощность крупнейшей электростанции в России Саяно-Шушенской ГЭС – 6400 МВт.

2Нулевая прибыль это тоже неплохо, поскольку

78

7.По указанию преподавателя в вычислительной среде Mathcad или MATLAB используйте шаблон расчета электрических цепей с помощью матрицы соединений. Для использования Mathcad откройте соответствующий файл. Для использования MATLAB скопируйте шаблон лабораторной работы в блокнот и сохраните в файл «название файла латиницей».m в свою папку, откройте его в программе MATLAB. Шаблон:

%------------------------------------------------------------------------

%Введите Т-список электрической цепи (без источников тока, которые будут

%расчитаны исходя из мощности нагрузки и генерации)

%------------------------------------------------------------------------

begin_nodes = __________; end_nodes = __________; Gv = __________;

m=max(max(begin_nodes),max(end_nodes)); %всего узлов

%------------------------------------------------------------------------

% Введите данные ниже в формате [1; 2; ... m-1] где m - полное число узлов

% в цепи

 

%------------------------------------------------------------------------

 

Pmax = __________;

% максимальная нагрузка генераторов в узлах (Вт)

Pmin = __________;

% минимальная нагрузка генераторов в узлах (Вт)

generator_bids = __________; % заявленные поставщиками цены (руб./Вт) generator_cost = __________; % себестоимость выработки электроэнергии в час (руб./Вт) Pn = __________; % нагрузка потребителей (Вт)

%------------------------------------------------------------------------

% Вычислите матрицу узловых проводимостей

%------------------------------------------------------------------------

__________

nonlcon = @(x)nonlincon(x, G, Pn, Gv);

x0 = [maxPg;ones(m-1,1)]; %Начальное приближение

fmincon_options =optimset('Display','iter-detailed','Algorithm', 'interior-point'); %------------------------------------------------------------------------

%Введите ограничения задачи оптимизации на вход функции fmincon.

%Аргументы функции следующие: fmincon(fun,x0,A,b,Aeq,beq,xmin,xmax,nonlcon). В

%свою очредель аргумент nonlcon включает в себя нелинейные ограничения c b

%ceq. Если ограничение отсутствует, вводите пустое множество []

%------------------------------------------------------------------------

[x,fval,exitflag,output,lambda] = fmincon(@(x)sum(x(1:m-1).*generator_bids),...

__________, fmincon_options);

%Результаты за час

Pg = x(1:m-1); %Выработка U = x(m:end);

%Результаты за месяц

h=24*31; %Число часов в месяце prices = lambda.eqnonlin; % Цена

revenue = h*Pg.*prices; % Выручка (оплата поставщику за выработанную электроэнергию profit = h*Pg.*(prices - generator_cost); %Прибыль

79

Вшаблоне заполните пустые места:

a.Введите T-список электрической цепи;

b.Введите информацию о поставщиках и потребителях электрической энергии

c.Скопируйте программу вычисления матрицы узловых проводимостей, полученную вами ранее. Вычислите матрицу узловых проводимостей.

d.Введите ограничения задачи.

При выполнении лабораторной работы в MATLAB скопируйте в блокнот шаблон функции «nonlincon», сохраните его в файл nonlincon.m. В файле необходимо задать нелинейные ограничения в виде ceq(x)=0.

function [c ceq] = nonlincon(x, G, Pn) m = length(G);

Pg = x(1:m);

U = x(m+1:end); %---------------------------------------------------------------------

%Введите выражение для нелинейного матричного уравнения

%---------------------------------------------------------------------

ceq = __________; c=[];

%На втором такте учтите ограничение c(x)<=0, где с(x) = I - Imax.

%Используйте обращение к U(i) и Gv(k). U(i) возвращает напряжение в узле i.

%Gv(k) возвращает проводимость в ветви k

%с=

e.При выполнении лабораторной работы в Mathcad необходимо подготовить начальное приближение. Если начальное приближение задано некорректно, решение может быть не найдено. Кроме того, может быть некорректно найден локальный минимум, не являющийся

решением задачи.

Простой способ подготовки начального приближения. Постройте кривую предложения поставщиков, отметьте точку пересечения кривой предложения с суммарной нагрузкой потребителей. Задайте вектор Pg в соответствии с полученными значениями выработки генераторов слева от отмеченной точки. Величина Pg не может быть менее минимально допустимой нагрузки Pmin.

Сложный способ подготовки начального приближения. К этому способу следует прибегнуть, если простой способ не работает. Простой способ не дает такого значения переменных, при которых ограничения бы выполнялись. В частности не выполняются узловые уравнения. Кроме того, сумма мощностей источников тока генераторов равна сумме мощностей источников тока потребителей, а потери мощности в элементах электрической цепи не учитываются. Чтобы это исправить, необходимо получить режим, находящийся в допустимых пределах, подобрав приближенное значение напряжений в узлах.

8.Проведите расчет. Проверьте и запишите результаты расчета. Если расчет не проводится при выполнении лабораторной работы в Mathcad,

проверьте введенные формулы, уточните начальное приближение. При выполнении лабораторной работы в MATLAB проверьте значение переменной exitflag. Если оно равно единице, это означает, что расчет

80