Dear all,
I'm trying to model some aspects of an energy distribution grid, especially the interaction between prognoses and real time usage of the grid.
As an Introduction:
In the german grid people announce their schedules a day in advance. To do this they need a forecast. The real time consumption differs - of course. The anounced schedule has to be scheduled with the power generators, or with the Transmission System Operator.
This gives me the following modeling problem:
I've got a model with an hourly time setting.
I've got an hourly standard profile, which I have to multiply with the number of households and an average consumption factor to get the expected load from this household. This profile is stored in a .dat file, and imported.
Now I want to schedule this forecast every day for the next day. 24 hours with a value for each hour. I do this in two steps: I make a forecast, and then I make a schedule . (These two will differ in a future version of the model.) Forecast and schedule have a lookup like structure.
In time, I have these actions:
day 1 11:00 I make my forecast (variable 1) for day 2.
day 1 14:00 I make my schedule (variable 2) for day 2 from my forecast (variable 1).
day 2 00:00 I make the forecast (variable 2) to 'todays_forecast' (variable 5).
day 2 01:00 I have an actual usage (variable 3) and want to calculate the difference (variable 4) to the first value of the forecast (variable 5).
day 2 02:00 I have an actual usage (variable 3) and want to calculate the difference(variable 4) to the second value of the forecast (variable 4).
.
.
.
day 2 11:00 I have an actual usage (variable 3) and want to calculate the difference (variable 4) to the eleventh value of the forecast (variable 5).
day 2 11:00 I make my forecast (variable 1) for day 3.
.
.
day 2 14:00 I have an actual usage (variable 3) and want to calculate the difference(variable 4) to the fourteenth value of the forecast (variable 5).
day 2 14:00 I make my schedule (variable 2) for day 3 from my forecast (variable 1).
.
.
day 2 24:00 I have an actual usage (variable 3) and want to calculate the difference(variable 4) to the 24th value of the forecast (variable 5).
Now I am thinking how I can realize this? How do I declare and use especialy variables 1, 2 and 5? (A simpler version of the model without these 'batchlike' schedules works) I guess I have to use some table-like data structure. A lookup would be fine but I am not so sure how to adapt the lookup dynamically and time based.
Lots of thanks in advance,
Joahn Steunenberg
electricity grid and forecasts
Forecasts
Hi Joan
People generally spend a lot of time modelling their own problems and do not have a lot of time bothering with others especially if they have no knowledge of the problem. This is what I have noticed since I use SD.
So if you want to have a chance to get some help, you must first try to simplify your problem to the utmost and you may interest some people at the condition that it is easy to understand and that they are not too tired or too lazy.
Regards.
JJ
People generally spend a lot of time modelling their own problems and do not have a lot of time bothering with others especially if they have no knowledge of the problem. This is what I have noticed since I use SD.
So if you want to have a chance to get some help, you must first try to simplify your problem to the utmost and you may interest some people at the condition that it is easy to understand and that they are not too tired or too lazy.
Regards.
JJ
I thought about that, but..
Hi JJ,
I thought about that, but I hoped I could get a hint on what data structure to use. The alternative is that I start rather directionless, and ask help on eg. lookups, just to discover that a lookup is not the solution and come back to ask about some othervariable type.
But in the end, I'm the one who will be learning, so no problem
I'll get back with a much morespecific problem. Thanks for your answer,
Johan
I thought about that, but I hoped I could get a hint on what data structure to use. The alternative is that I start rather directionless, and ask help on eg. lookups, just to discover that a lookup is not the solution and come back to ask about some othervariable type.
But in the end, I'm the one who will be learning, so no problem
I'll get back with a much morespecific problem. Thanks for your answer,
Johan
Forecasts
Hi Joan
You must simplify your problem even to a point that it is rather far from the reality but possible to build taking into account your capability or the help you can get from other people. This is realism. You exchange the possibility to do something against the quality of that something. After that first experiment, you will have progressed in knowledge and be able to make further choices. Do not try to imagine these further choices. Just work on your first simple model and learn.
The difficulty in SD is to chose the right development path and this is a question of experience. Unexperienced people
do not know what development path to chose and in what timing to accomplish it. It is like climbing a mountain. You have to chose a path and define the time and effort necessary.
Regards.
JJ
You must simplify your problem even to a point that it is rather far from the reality but possible to build taking into account your capability or the help you can get from other people. This is realism. You exchange the possibility to do something against the quality of that something. After that first experiment, you will have progressed in knowledge and be able to make further choices. Do not try to imagine these further choices. Just work on your first simple model and learn.
The difficulty in SD is to chose the right development path and this is a question of experience. Unexperienced people
do not know what development path to chose and in what timing to accomplish it. It is like climbing a mountain. You have to chose a path and define the time and effort necessary.
Regards.
JJ
-
- Senior Member
- Posts: 1107
- Joined: Wed Mar 12, 2003 2:46 pm
Hi Johan,
I am also a little bit confused by what you want. Generally the simplest and most robust way to do a forecast is to use s SMOOTH function. If you want to have this function vary by hour of the day you can either subscript by hour of the day and have 24 parallel smooths looking something like
expected demand[HourOfDay] = INTEG(
IF THEN ELSE(MODULO(Time,24)+1=HourOfDay,
(demand-expected Demand[HourOfDay])/(time to smooth demand)/24),
0),
initial expected demand[HourOfDay])
alternatively you can use
normalized demand = demand/demand profile(MODULO(Time,24))
expected normalized demand = SMOOTH(demand,time to smooth demand)
expected demand = expected normalized demand*demand profile(MODULO(Time,24))
which is simpler.
Hope that helps.
I am also a little bit confused by what you want. Generally the simplest and most robust way to do a forecast is to use s SMOOTH function. If you want to have this function vary by hour of the day you can either subscript by hour of the day and have 24 parallel smooths looking something like
expected demand[HourOfDay] = INTEG(
IF THEN ELSE(MODULO(Time,24)+1=HourOfDay,
(demand-expected Demand[HourOfDay])/(time to smooth demand)/24),
0),
initial expected demand[HourOfDay])
alternatively you can use
normalized demand = demand/demand profile(MODULO(Time,24))
expected normalized demand = SMOOTH(demand,time to smooth demand)
expected demand = expected normalized demand*demand profile(MODULO(Time,24))
which is simpler.
Hope that helps.