Victor,

I accidentally  pressed Enter before finishing.  Here is the entire
description in detail:

Yes, pretty much that's it.  If you are going to code this, I'd suggest
expressing B in
terms of the incidence matrix and branch susceptance. You have to be really
careful
when calculating PTDF matrix.

B = S*Bd*S'       PTDF = -S'*Bd*inv(S*Bd*S')

where Bd is a diagonal matrix of branch susceptances in the same order as
branches in S. Of course, if your B is singular you need a slack bus and
appropriately
modify Bd and S.  I never tried it without the slack bus. In S matrix take
out only the
row corresponding to the slack bus and leave the column as is.

The most basic optimization formulation becomes:

min( sum(cost(Pgi))                       over Pgi   such that

sum(Pgi) - sum(Pdj)  = 0               // gives slack bus LMP

Pij_min <= PTDF*Pinj <= Pij_max      // branch flow constraints, gives
mu_plus and
                                                               mu__minus

Pgimin <= Pgi  <= Pgimax

Chose an appropriate optimizer for the formulation to get Pgi, LMP,
mu_plus, mu_minus

Now, the rest of LMPs are given as:

LMPs = ones(Nb-1,1)*LMP(at slack bus) - PTDF'*(mu_plus - mu_minus)

That's all.  You can modify it easily to use loss function or flexible
demand if you need it.

As for references, you can Google them.  Felix Wu's paper describes how to
calculate
the rest of LMPs relative to the slack bus LMP given as 1.0, if I remember
well.  The
logical next step was to find the slack bus LMP and mus without
automatically finding the
rest of LMPs as a byproduct and that is what this algorithm does. There are
papers
out there toying with this approach but I don't have any references handy.
 I think I
recently saw a paper by George Gross from UofI using something similar,
maybe it
was somebody else, I am not sure.

Don't be surprised if I made some mistakes with transposing matrices and
+/- sign,
I am dyslexic.

Jovan


On Fri, Aug 9, 2013 at 8:11 PM, Jovan Ilic <[email protected]> wrote:

>
> Victor,
>
> Yes, pretty much that's it.  If you are going to code this, I'd suggest
> expressing B in
> terms of the incidence matrix and branch susceptance. You have to be
> really careful
> when calculating DF matrix.
>
> B = S*Bd*S'       DF = -S'*Bd*inv(S*Bd*S')
>
> where Bd is a diagonal matrix of branch susceptances in the same order as
> branches in S. Of course, if your B is singular you need a slack bus and
> appropriately
> modify Bd and S.
>
> The most basic optimization formulation becomes:
>
> min( sum(cost(Pgi))     over Pgi   such that
>
> Pmin <= PTDF*Pinj <= Pmax      // branch flow constraints
>
> Pgimin <= Pgi  <= Pgimax
>
>
> On Fri, Aug 9, 2013 at 5:23 PM, Victor Hugo Hinojosa M. <
> [email protected]> wrote:
>
>> Dear Jovan and Ray,****
>>
>> Thanks a lot for the very interesting discussion. I would like to include
>> an analysis accomplished to determine the performance of the both
>> methodologies. I realize that this idea was no new, so I would like to find
>> out references or studies to understand the state of the art.****
>>
>> I would like to keep on working and researching in this very interesting
>> field. I will wait your comments and observations with respect to the
>> results and the proposal.****
>>
>> Regards,****
>>
>> Vh****
>>
>> * *
>>
>> *DC Optimal power flow (DC-OPF)*
>>
>> The DC-OPF problem is concerned with the optimization of steady-state
>> power generation, subject to various equality and inequality constraints.
>> Mathematically, the convex programming problem may be represented as:****
>>
>> ********
>>
>> Subject to the following linear constraints:****
>>
>> ********
>>
>> ********
>>
>> ********
>>
>> Where:****
>>
>> **** represents a scalar objective function to be minimized. In DC-OPF
>> problem, this function is the fuel cost of thermal units that can be
>> expressed in terms of real power generation, and it is modeled by a
>> quadratic cost function.****
>>
>> **** denotes the linear equality constraint called nodal power balance
>> constraint, which includes the network DC power flow equations.****
>>
>> **** is the vector of the inequality constraints with lower limit and
>> upper limit. These constraints are active power flow in the transmission
>> lines and active generation capabilities. Using DC network modeling, it is
>> quite known that real power flows are linear functions of voltage angles.
>> ****
>>
>> **** is the set of control variables (called decision variables in the
>> optimization theory). In the DC-OPF problem, these variables are the real
>> power output for each generator. In addition, there are dependent variables
>> in the problem, which depend on control variables. Considering the DC power
>> flow problem, the voltage phase angles variables are considered as
>> dependent variable, where the angle in the slack bus is known.****
>>
>> Matpower includes a primal-dual interior point solver called MIPS. It is
>> implemented in Matlab code [12, 19]. ****
>>
>> In DC-OPF problem, the decision variables are the following:****
>>
>> ********
>>
>> In this proposed methodology, the study considers that the optimization
>> problem can be solved using the power generation as decision variables
>> (control variables), therefore the DC-OPF problem can be formulated as:**
>> **
>>
>> ********
>>
>> Subject to:****
>>
>> ********
>>
>> ********
>>
>> ********
>>
>> Where:****
>>
>> The nodal power balance constraint is not needed, just the global supply
>> demand balance constraint, and **** is the total load of the customers.**
>> **
>>
>> **** is the vector of active power flow in the transmission lines and
>> active generation capabilities.****
>>
>> It is very important to notice that the real power flows can be computed
>> as [PLj-k]=[b]*[S]*[****]. Where, the [b] matrix is the susceptance of
>> line *j* (****) and non-diagonal elements are zero, and [S] is the
>> bus-branch incidence matrix. Besides, the power flow equations in the
>> matrix form and the corresponding matrix relation for flows through
>> branches are represented by [****]=*****[P], where [B] is the admittance
>> matrix with [R]=0, and [P] is bus active power injections for buses *j*.
>> In addition, we need to define the slack bus, so that the row reference in
>> [P], and the reference row and column of [B] are disregarded. When you
>> consider that the power flows are computed by the following matrix as [P
>> Lj-k]=[b]*[S]******[P], it is very easy to figure out the linear
>> sensitivity factors called PTDF in the literature, where [PTDF]=[b]*[S]**
>> ***. These factors show the approximate change in the line flow for
>> changes in generation on the network configuration.****
>>
>> Finally, for a given value of ****, the Lagrangian for the equality
>> constrained problem can be formulated as follow:****
>>
>> ********
>>
>> Where:****
>>
>> **** is the number of generators and **** is the number of power lines.**
>> **
>>
>> **** variable is a real value, and it gives information about the
>> marginal cost in the global node; i.e., the nodal price of the slack bus. [
>> ****] is the Lagrange value associated to both constraints real power
>> flow in the transmission lines and active power capacity.****
>>
>> The main advantage of this study is the reduction of the dimension. This
>> is very important when the algorithm needs to compute **** and ****.****
>>
>> We have programmed the same algorithm (MIPS) to solve the proposed
>> problem considering the same tolerance criterions (feasibility, gradient,
>> complementary, cost condition, and maximum number of iterations).****
>>
>> *Results*
>>
>> Five test power systems are considered to inspect and verify the proposed
>> algorithm, and the simulations results have been compared with the solution
>> obtained through Matpower (power and angles as decision variables).****
>>
>> The data of the IEEE systems (14-bus, 30-bus, 39-bus, 57-bus and 118-bus)
>> data were obtained from Matpower. Several experiments were conducted to
>> determine the performance of the proposed methodology in different power
>> systems (small and medium dimension). In the next Table is shown the
>> results obtained by Matpower and the proposal accomplished.****
>>
>> ****
>>
>> The results show that both methodologies obtained the same solution in
>> the DC-OPF problem.****
>>
>> As mentioned Jovan Ilic, it is possible to compute the bus angle in each
>> bus to draw some conclusions about the system. Moreover, when there is
>> congestion in the transmission lines, it is possible to compute the nodal
>> prices using the incremental cost for each generator.****
>>
>> ** **
>>
>> ** **
>>
>> *De:* [email protected] [mailto:
>> [email protected]] *En nombre de *Ray Zimmerman
>> *Enviado el:* lunes, 05 de agosto de 2013 13:08
>>
>> *Para:* MATPOWER discussion forum
>> *Asunto:* Re: DC-OPF on matpower****
>>
>> ** **
>>
>> Thanks, Jovan, for this interesting discussion. You've convinced me.
>> After a bit more thought, I believe I agree with you after all. The
>> formulations should be equivalent.****
>>
>> ** **
>>
>> -- ****
>>
>> Ray Zimmerman****
>>
>> Senior Research Associate****
>>
>> B30 Warren Hall, Cornell University, Ithaca, NY 14853****
>>
>> phone: (607) 255-9645****
>>
>>
>>
>> ****
>>
>> ** **
>>
>> ** **
>>
>> On Aug 5, 2013, at 11:34 AM, Jovan Ilic <[email protected]> wrote:****
>>
>>
>>
>> ****
>>
>> ** **
>>
>> Ray,****
>>
>> ** **
>>
>> No and yes. ****
>>
>> ** **
>>
>> No, I am not sure what you mean by "line constraints will be affected by
>> the choice****
>>
>> of slack bus".  A line constraint is either binding or not and slack bus
>> choice will not****
>>
>> affect it. It can be shown mathematically and is clear intuitively, once
>> you show it****
>>
>> mathematically, I suppose.  :-) ****
>>
>> ** **
>>
>> Yes, this formulation will give you a single LMP (at the slack bus) and
>> line Lagrange multipliers (mus) and  then you use the found LMP, DF and mus
>> to calculate the rest ****
>>
>> of LMPs:****
>>
>> ** **
>>
>> LMPs = ones(Nb-1,1)*LMP + transpose(DF)*mu****
>>
>> ** **
>>
>> You can derive this from KKT conditions.  You can also find a hint of it
>> in Felix Wu's ****
>>
>> paper "Folk Theorems in Power Systems" or something like that.  If I
>> remember the****
>>
>> paper, Felix uses relative LMPs or something like that, stopped half way
>> if you ask****
>>
>> me.****
>>
>> ** **
>>
>> Jovan Ilic****
>>
>> ** **
>>
>> ** **
>>
>> On Mon, Aug 5, 2013 at 11:12 AM, Ray Zimmerman <[email protected]> wrote:*
>> ***
>>
>> For an unconstrained network, I agree that the slack is irrelevant and
>> the problems are equivalent.****
>>
>> ** **
>>
>> However, I don't think the problems are equivalent when you have binding
>> line constraints. Then I'm pretty sure the line constraints will still be
>> affected by the choice of slack used when forming the PTDF.****
>>
>> ** **
>>
>> Another clue that the problems are not equivalent in this case is that it
>> seems there is no way to recover the nodal prices from the PTDF-based
>> approach. In a case with a single binding line limit you only have two
>> non-zero constraint shadow prices in the problem (using PTDF), but you can
>> have many different nodal prices from the traditional DC OPF.****
>>
>> ** **
>>
>> -- ****
>>
>> Ray Zimmerman****
>>
>> Senior Research Associate****
>>
>> B30 Warren Hall, Cornell University, Ithaca, NY 14853****
>>
>> phone: (607) 255-9645****
>>
>> ** **
>>
>> ** **
>>
>> On Aug 5, 2013, at 10:52 AM, Jovan Ilic <[email protected]> wrote:****
>>
>>
>>
>> ****
>>
>> ** **
>>
>> Ray, ****
>>
>> ** **
>>
>> Yes, as I mentioned in my original post, dense PTDF is the drawback of
>> this ****
>>
>> approach and you might want to know bus angle differences to draw some **
>> **
>>
>> conclusions about the system but if you code it carefully you already
>> have ****
>>
>> what you need to quickly calculate the angles. ****
>>
>> ** **
>>
>> However, there is no approximation introduced by the slack bus, with or *
>> ***
>>
>> without the slack bus the result is the same.  ****
>>
>> ** **
>>
>> I coded it with both LP and QP and the results are the same, well if the
>> cost ****
>>
>> functions are all linear of course.  It takes about an hour to code it in
>> any ****
>>
>> language and test it if you already have decent LP/QP functions. ****
>>
>> ** **
>>
>> I actually expected people to question the method because I said that
>> nodal ****
>>
>> equations are not needed, just the global supply demand balance
>> constraint. ****
>>
>> It seems that I underestimated the audience. :-)****
>>
>> ** **
>>
>> Jovan Ilic****
>>
>> ** **
>>
>> ** **
>>
>> On Mon, Aug 5, 2013 at 9:59 AM, Ray Zimmerman <[email protected]> wrote:**
>> **
>>
>> MATPOWER does not use the dense distribution factor matrix (PTDF) to
>> formulate the DC OPF. One other important distinction is that a PTDF matrix
>> is an approximation that requires an assumption about the slack. The sparse
>> formulation that includes the voltage angles does not require this
>> assumption. So the two formulations are not quite equivalent.****
>>
>> ** **
>>
>> In MATPOWER, the DC OPF is formulated as an LP or QP problem and the
>> algorithm used to solve it varies depending on the solver chosen via the
>> OPF_DC_ALG option.****
>>
>> ** **
>>
>> -- ****
>>
>> Ray Zimmerman****
>>
>> Senior Research Associate****
>>
>> B30 Warren Hall, Cornell University, Ithaca, NY 14853****
>>
>> phone: (607) 255-9645****
>>
>>
>>
>> ****
>>
>> ** **
>>
>> ** **
>>
>> ** **
>>
>> On Aug 5, 2013, at 9:17 AM, Victor Hugo Hinojosa M. <
>> [email protected]> wrote:****
>>
>>
>>
>> ****
>>
>> Dear Jovan,****
>>
>> Thank you so much for your message.****
>>
>> I agree with your comment. Considering  that
>> [Y_bus]*[theta_angles]=[Power_injections], the balance nodal constrained
>> can be formulated as a global balance power equation. Hence, the balance
>> nodal matrix is reduced to one single equation.****
>>
>> In addition, the power transmission constraint depends on the angles, but
>> the angles can be transformed using  the equation
>> [theta_angles]=[Y_bus]^-1*[Power_injections], so the transmission
>> constraint depends on the power injections, and it’s easy to find out about
>> the distribution factors. With this proposal, it’s possible to model the
>> DC-OPF problem using only the power generation as decision variable.
>> Therefore, there are many advantages of this proposal.****
>>
>> Do you address the DC-OPF problem with this proposal?****
>>
>> I’d like to know which algorithm is applied by you to solve the OPF
>> problem?****
>>
>> Best Regards,****
>>
>> Víctor****
>>
>>  ****
>>
>> *De:* [email protected] [mailto:
>> [email protected]] *En nombre de *Jovan Ilic
>> *Enviado el:* jueves, 01 de agosto de 2013 20:11
>> *Para:* MATPOWER discussion forum
>> *Asunto:* Re: DC-OPF on matpower****
>>
>>  ****
>>
>>  ****
>>
>> Victor,****
>>
>>  ****
>>
>> Yes, you can do it without bus angles but you'd end up with a formulation
>> with ****
>>
>> a dense distribution factors matrix which could be a problem for large
>> systems. ****
>>
>> One place where you can speed up such DCOPF is by using a global power **
>> **
>>
>> balance equation instead of nodal equations.  You do not need nodal
>> balance ****
>>
>> equations if you have the distribution factors matrix.  An added benefit
>> of ****
>>
>> using the distribution matrix would be loss estimation. ****
>>
>>  ****
>>
>> I rarely use Matpower so I am not sure which algorithm Ray uses. Maybe I
>> ****
>>
>> should've let Ray answer the question since it was addressed to him. ****
>>
>>  ****
>>
>> Jovan Ilic****
>>
>>  ****
>>
>>  ****
>>
>>  ****
>>
>>  ****
>>
>>  ****
>>
>> On Thu, Aug 1, 2013 at 7:06 PM, Victor Hugo Hinojosa M. <
>> [email protected]> wrote:****
>>
>> Dear Dr Zimmerman,
>> I’d like to ask you a question about the DC optimal power flow (DC-OPF).
>> The optimization problem in Matpower is modeled using as decision variables
>> the active power generation and the bus voltage angles. These variables are
>> solved using the primal-dual interior point solver (MIPS) considering that
>> both variables are independent. When the AC transmission system is
>> transformed using the DC approach, the voltage angles and the active power
>> injections are related through the Y_bus matrix, so the decision variables
>> are dependent. It’s possible to model the DC-OPF problem using only the
>> power generation as decision variable?****
>>
>> Thank you so much for your comments in advance.****
>>
>> Best Regards,****
>>
>> Víctor****
>>
>>  ****
>>
>>  ****
>>
>> ** **
>>
>> ** **
>>
>> ** **
>>
>> ** **
>>
>> ** **
>>
>
>

Reply via email to