Dear Proffersor Zimmerman,

 

I am trying to model the transmission cost inside the objective function for
DC model. I have transmission cost (discrete curves) per branch and
constrains capacity in two direction, i.e., a branch between two nodes has
quantity blocks and marginal prices, as:

 

Bloqs               From 1 To 2 (Capacity=45MW)         From 2 To 1
(Capacity=52MW)    

0-20 MW                     5 $/MW
1 $/MW

20-40 MW                 10 $/MW
5  $/MW

40-60 MW                 15 $/MW
8 $/MW

 

I have used the "Callback Functions" for add variable and constraints. The
variable "F" is the flow in the line, "Fc" is the first constraint that
consider the offer limits of capacity in the branch and "Eq" is the second
constraint that consider the equality between the flow of lines calculated
for Matpower and the new variable created "F" (equality constraint). The
cost in the branch is introduced with add_cost as marginal cost.

 

om1 = add_vars(om, 'F', nl, [], [], []);

om1 = add_constraints(om1, 'Fc', Flin, Fmin, Fmax, {'Va'});

om1 = add_constraints(om1, 'Eq', Feq, Feqmin, Feqmax, {'Va','F'});

om1 = add_costs(om1, 'Fcost',struct('N',I,'Cw',Fcost), {'F'});

 

R=opf_execute(om1,mpopt)

 

My questions are:

 

1. How can I introduce the discrete curves of the transmission cost?. Is
possible to use the Piecewise Linear Costs? or introduce a variable per each
block with different limits? 

 

2. How can I introduce the cost branch in the other direction?  I have tried
to introduce the new variable that represent the flow in the other
direction, but I think that is not the best solutions.

 

3. How can I use smartmartket with this changes?  

 

Thank you very much for your help.  

 

Santiago Ch.

 

De: [email protected]
[mailto:[email protected]] En nombre de Santiago
Chamba
Enviado el: lunes, 16 de mayo de 2011 9:50
Para: 'MATPOWER discussion forum'
Asunto: RE: Mistake_Auctions

 

Thank very much Proffesor Zimmerman. First instance, I am going to try
construct a user cost function, then, I will inform you about  the results.
If this approach does not work, I would appreciate explain me your idea
complicated.

 

Thanks

 

 

De: [email protected]
[mailto:[email protected]] En nombre de Ray
Zimmerman
Enviado el: viernes, 13 de mayo de 2011 18:31
Para: MATPOWER discussion forum
Asunto: Re: Mistake_Auctions

 

If you construct a user cost function (section 5.3.1 of the manual) with an
N matrix that gives you an r vector equal to the flows, you should be able
to put appropriate costs on them. If that approach doesn't work, I have
another more complicated idea that involves splitting each branch so it has
two dummy nodes in the middle, then add some dummy generators and some
constraints at the dummy nodes.

 

-- 

Ray Zimmerman

Senior Research Associate

211 Warren Hall, Cornell University, Ithaca, NY 14853

phone: (607) 255-9645

 

 

 

On May 13, 2011, at 1:23 PM, Santiago Chamba wrote:

 

Thank Professor Zimmerman for your explanation. Now I have very clear my
bug.

 

I have a new question. I want to modify the objective function, because I
need to introduce transmission auction in the day-ahead market (Offer and
bids).

For my case, I must to introduce the transmission offer and the transmission
cost, i.e., my objective function is:

 

Minimize : Price(transaction)*P(transaction) + Cost(transmission)*fk)

Subjet to

Nodal balance equations: [Pg-Pd]=[B][Teta]=[=[IT(transaction]*P(transaction)

Transmission limits: (-fk)max< fk <(f k)max

 

Where:

Price(transaction): offer price ($/MWh).

If transaction is an extraction request (demand), the price (positive) will
be the maximum price that the bidder is willing to pay for the purchase of
energy.

If transaction is an injection offer, the price (negative) will be the
minimum price that the bidder is willing to receive for the sale of energy.

If transaction is a request for transmission services between two nodes, the
price (positive) will be the maximum price that the bidder is willing to pay
for the requested transmission services.

 

The algorithm determines the optimal dispatch of the opportunity bids and
offers and the optimal allocation of transmission services, and produces
buying/selling opportunity prices (nodal prices) and transmission services
prices (differences of nodal prices).

 

Then, I need to introduce transmission limits in two directions and modify
the objective functions to consider the transmission cost and the services
transmission offer.

 

I do not know, If the characteristics above mentioned are possible introduce
in Matpower?, Otherwise ¿Could I use some Matpower’s files for Objective?

 

Best regards

 

De: [email protected]
[mailto:[email protected]] En nombre de Ray
Zimmerman
Enviado el: jueves, 12 de mayo de 2011 16:13
Para: MATPOWER discussion forum
Asunto: Re: Mistake_Auctions

 

I am assuming you are running this with offers/bids defined by what is in
gencost. In the first case, the incremental cost of generation between 50 MW
and 100 MW of output is $15/MWh. Likewise the incremental benefit for the
load between 60 MW and 90 MW is also $15/MWh. For the (lossless) DC OPF
problem, this means that the objective function value does not change as the
dispatch changes between 60 and 90 MW ... i.e. for the exact bids and offers
you are using there is no unique minimizing solution to the DC problem. For
the AC problem, the losses create a small price difference between the
buses, eliminating solutions with greater than 60 MW of demand, so there is
a unique solution.

 

In the case with the line constraint at 50 MW, once again, you are creating
an anomaly by setting the constraint value to fall *exactly* on the corner
point of the generator's cost function. If you set it to something slightly
less than 50, then the prices will be pretty close to the expected $10 and
$18. If you set it slightly greater than 50, then the prices will be $15 and
$18. Strictly speaking, the node 1 price for a line capacity of exactly 50
MW is not uniquely defined. It can be anything between $10 and $15.

 

Hope this helps,

 

-- 

Ray Zimmerman

Senior Research Associate

211 Warren Hall, Cornell University, Ithaca, NY 14853

phone: (607) 255-9645

 

 

 

On May 12, 2011, at 12:58 PM, Santiago Chamba wrote:

 

Dear Professor Zimmerman,

 

I think that there is a probable mistake in the auction method
(smartmarket), specifically in DC OPF. I run a smartmarket and OPF (DC and
AC) without fixed load, i.e., the two nodes system only has  generators
offers and demand bids (inelastic).

 

When, I run AC OPF the results are correct, but with DC OPF the results may
be wrong, because the inyections and extractions electricity are very
different to the AC responses:

 

Node              DC OPF                            DC OPF

                Pot          Lambda                Pot          Lambda

                MW           $/MW                   MW         $/MW

1           70.8298      15                   60.0394     15.00

2         -70.8298       15                  -60.0067     15.016

 

I think the correct responses for DC OPF is 60 MW in the two nodes. Why are
the AC and DC results so different?

 

When, the capacity line decreases to 50 MW, the inyections and extractions
electricity are correct, but the prices changes:

 

Node              DC OPF                            DC OPF

                Pot          Lambda                Pot          Lambda

                MW           $/MW                   MW         $/MW

1                50        11.32                   49.99        10

2               -50        18.00                  -49.97       18

 

I think the correct responses for DC OPF is 10 and 18 ($/MW). Why are the
prices (AC and DC) in the node 1 so different?

 

Please, explain me What is my mistake? or Where can I modify the mistake?.
Because I need the model for my investigation. 

 

Thank

 

 

 

<subasta.m>

 

 

Reply via email to