I am trying to set up the congestion object in order to reproduce some of the outcomes presented in the paper entitled "Analysis of Residential Demand Response and Double-Auction Markets (http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6039827&tag=1)". I followed the instructions given in the "Market User Guide", so I set up the auction object as follows:
I run the glm file with and without the congestion object. First of all I took this warning: "totalunknown is 0 -> some controllers are not providing their states with their bids". Secondly, I was expecting to observe higher prices in the case where the congestion object was included. Instead I observed zero prices in the most of the cases and some very low prices in a very few snapshots.
Is there any problem with my configuration?
Let me also ask something more. Can I use the same notation ("capacity_reference_object", "capacity_reference_property", "max_capacity_reference_bid_quantity") to define congestion limits in different objects and if yes in what detail? Can I use this notation on a line's phase in order to avoid line overloading for example?
Sincerely,
Last edit: David P. Chassin 2016-04-19
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Unfortunately, Jason is out of the office for a few days and he has the source code to the models used in that paper. I'm also about to take off for a week, so I don't have time to delve into it today. Hopefully somebody else will see something obvious before we get back into the office and get a chance to look at it. Sorry about the possible delay in responding.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You are missing a bid price for the congestion. This is presented to the auction as two bid price, quantity pairs, one on the buyer side as an estimate of the "unknown/uncontrolled load" {price cap, estimated load} and one on the supplier side for the capacity constraint, which is usually bid at the wholesale price {wholesale price, capacity constraint}. This is usually done like this:
object player {
property capacity_reference_bid_price;
file LMP.player;
loop 1;
};
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm not sure what you mean by using this in every object you want. This variable / set of variables is only available in auction. The congestion limit is not a physical limit - it's an imposed limit on the market to try to address physical congestion by aggregating the response of a number of loads. If you have multiple congestion points, then the markets/auctions need to align with the topology. In other words, for each congested line, you need to aggregate all of the load/resources below that line. The auction will accept any link object as its bidder for congestion limits.
As for the LMP file, you can define them arbitrarily. The market operates on avg+std of prices, not absolute prices, which is why it requires 24+ hours to stabilize the system.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes, sort of, but you will need to sub-divide the problem. An auction that is covering the entire circuit cannot address constraints within it, only at a location where all of the devices can make an impact on the flows. In other words, all of the devices in that particular market need to be "below" the constraint.
Now, if you want to layer multiple markets, that is not something we have done, and it would require some additional development.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear all,
I am trying to set up the congestion object in order to reproduce some of the outcomes presented in the paper entitled "Analysis of Residential Demand Response and Double-Auction Markets (http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6039827&tag=1)". I followed the instructions given in the "Market User Guide", so I set up the auction object as follows:
In my configuration I also used stub-bidders to play the role of sellers as you can see below:
I also included 1306 residencies configured, more or less, as:
I run the glm file with and without the congestion object. First of all I took this warning: "totalunknown is 0 -> some controllers are not providing their states with their bids". Secondly, I was expecting to observe higher prices in the case where the congestion object was included. Instead I observed zero prices in the most of the cases and some very low prices in a very few snapshots.
Is there any problem with my configuration?
Let me also ask something more. Can I use the same notation ("capacity_reference_object", "capacity_reference_property", "max_capacity_reference_bid_quantity") to define congestion limits in different objects and if yes in what detail? Can I use this notation on a line's phase in order to avoid line overloading for example?
Sincerely,
Last edit: David P. Chassin 2016-04-19
Unfortunately, Jason is out of the office for a few days and he has the source code to the models used in that paper. I'm also about to take off for a week, so I don't have time to delve into it today. Hopefully somebody else will see something obvious before we get back into the office and get a chance to look at it. Sorry about the possible delay in responding.
Thank you very much. I will be waiting.
You are missing a bid price for the congestion. This is presented to the auction as two bid price, quantity pairs, one on the buyer side as an estimate of the "unknown/uncontrolled load" {price cap, estimated load} and one on the supplier side for the capacity constraint, which is usually bid at the wholesale price {wholesale price, capacity constraint}. This is usually done like this:
Thank you very much. I thought that automatically bids on the LMP and I don't have to define it. I will try it.
Regarding the second part of my question. Can I use this notation in every object I want? On a line's phase for example?
Thanks in advance
First of all thank you very much for your response.
I have another question. Is there any criterion in order to define the prices in the LMP.file or I can define them arbitrarily?
I'm not sure what you mean by using this in every object you want. This variable / set of variables is only available in auction. The congestion limit is not a physical limit - it's an imposed limit on the market to try to address physical congestion by aggregating the response of a number of loads. If you have multiple congestion points, then the markets/auctions need to align with the topology. In other words, for each congested line, you need to aggregate all of the load/resources below that line. The auction will accept any link object as its bidder for congestion limits.
As for the LMP file, you can define them arbitrarily. The market operates on avg+std of prices, not absolute prices, which is why it requires 24+ hours to stabilize the system.
Thank you very much for your immediate response.
That is what I meant. To use it for a specific distribution line in order to constrain power below a certain limit. For example:
"capacity_reference_object 645-646"
Do you think something like this can be done?
Is it possible to define something like the example above in a greater detail? To take a phase of the line 645-646 separately for instance?
Yes, sort of, but you will need to sub-divide the problem. An auction that is covering the entire circuit cannot address constraints within it, only at a location where all of the devices can make an impact on the flows. In other words, all of the devices in that particular market need to be "below" the constraint.
Now, if you want to layer multiple markets, that is not something we have done, and it would require some additional development.
I am sorry for the delay.
Thank you very much for your response. You were very helpful.