All, I've done some more reading and I think I've found the answer to my own question. I'm posting my answer here so that others may benefit; the details can be found in the technical note "Uniform Price Auctions and Optimal Power Flow" written by Dr. Zimmerman as a supplement to the Matpower manual. As always, when you have a question, it helps to read the manual. And technical notes. Multiple times.
Simply put, prices in a uniform market are only uniform if the system is lossless and without congestion. If this is not the case then the price will not be uniform throughout the network but will be related to the LMPs for each node. The core problem is determining the price for the energy each generator is providing, not the dispatch itself. By converting the bids to act as the generator cost functions, the OPF takes care of determining how much power each generator should produce (the dispatch). If the network has no losses or congestion, then the price for each node will be equal and there will be one system lambda. In this case, the system lambda is the market clearing price. With congestion and/or losses, there is no longer a single, uniform system lambda. Quoting from the document directly (page 6): "Given the OPF solution which species the nodal prices along with which offers and bids are accepted and which are rejected, these offers and bids can be normalized to a reference location r, then rank ordered as in a standard auction and the normalized uniform price can be chosen directly according to the desired pricing rule... However, this uniform price only applies at the reference bus r. The equivalent price at bus k is found by multiplying by the appropriate exchange rate lambda_k/lambda_ref." So by using the results of the OPF, we can know which offers and bids have been accepted, translate those values to a reference bus r, re-order them to determine which one is largest and therefore sets the market price (at that reference bus) and then translate that price back to all of the individual nodes. Thus, there truly is one uniform price but only when properly calculated at the reference node. Every other node in the system has a slightly different price to take into account the losses/congestion of the system. Trevor -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Hardy, Trevor Sent: Tuesday, February 25, 2014 3:13 PM To: MATPOWER discussion forum Subject: Market Price All, I'm using the smart market module in a simulation and am having trouble interpreting the results. Specifically, when running the market with option 5 for the auction type (uniform price set by the marginal unit) the values that are returned by "dispatch(:,PRICE) " created by the "smartmarket" function are not uniform. Am I missing something? I thought any of the uniform auction types would return a uniform price for all generators. Instead, the values are uniform for all generators at a given bus but vary from bus to bus. They appear to be LMPs rather than the market price. Can anybody provide clarification? Trevor Hardy Wichita State University
