I am having difficulty working out how to do shape profiles. I think I have asked a similar question before and thought I knew how to construct these correctly, but I am getting odd results.
What I would like to do is have a shape graph and a mean variable. For each timestep, the variable's value is drawn from the shape and multiplied by the mean. To make this work, the shape must be normalised so that its mean is 1.
I have a couple of questions:
1/ Is the shape the probability density function or the cumulative probability distribution?
2/ How do I construct a shape that has a mean of 1, or is there some sort of normalisation available?
See attached for an example. I am expecting the mean 'FromStock' to be 10 per month, but it is clear from the output that it is actually about 20 each calculation, or 80 per month. I am guessing that this difference is because the integral of my curve is something near 0.8 but I could be completely wrong.
3/ Also with this, do profiles for delays and queues work the same way?
thanks, Jen
Profile shapes
Profile shapes
- Attachments
-
- DelayProfile.mdl
- (2.83 KiB) Downloaded 295 times
Profile shape
Hi
I have never used the delay profile and I have difficulty to understand how it works. if I had to model the sort of problem you are doing, I would separate the difficulties and would first try to distribute either the input or the delays and then use a delay material. It will be easier to see effectively how the model is working. The profile delay makes two things at the same time, it spreads and it delays.It is easier to understand by separating the two.
Regards.
JJ
I have never used the delay profile and I have difficulty to understand how it works. if I had to model the sort of problem you are doing, I would separate the difficulties and would first try to distribute either the input or the delays and then use a delay material. It will be easier to see effectively how the model is working. The profile delay makes two things at the same time, it spreads and it delays.It is easier to understand by separating the two.
Regards.
JJ
Hi JJ
I just constructed the example to demonstrate the problem, it's not a real problem at the moment.
I originally thought I would have to use a QUEUE FIFO in my current model and couldn't get initialisation of the queue to work, which also uses shape/profile concepts. To try and fix it, I dug out this toy model I had previously worked with to try and understand and then realised the toy model didn't work either.
I agree with you that DELAY PROFILE is difficult and probably only required for very unusual problems. Pretty much any delay shape, after run in, comes out as a fixed delay based on the profile's mean, because the longer delay from earlier inputs and the shorter delay from later inputs come out at the same time.
However, the whole 'shape' thing is in several different functions and I just can't work it out.
thanks, Jen
I just constructed the example to demonstrate the problem, it's not a real problem at the moment.
I originally thought I would have to use a QUEUE FIFO in my current model and couldn't get initialisation of the queue to work, which also uses shape/profile concepts. To try and fix it, I dug out this toy model I had previously worked with to try and understand and then realised the toy model didn't work either.
I agree with you that DELAY PROFILE is difficult and probably only required for very unusual problems. Pretty much any delay shape, after run in, comes out as a fixed delay based on the profile's mean, because the longer delay from earlier inputs and the shorter delay from later inputs come out at the same time.
However, the whole 'shape' thing is in several different functions and I just can't work it out.
thanks, Jen
delay profile
Hi Jen
First af all, it would be better to help you, that you give a precise definition with common English words of what you want to do. It will then be easier to find how to model it.
One can sometimes too, find different ways to model something, using different functions. One can for instance use a queue fifo or a delay fixed function alternatively to represent a queue. The queue fifo will give you more insights about the composition of the queue and will avoid the delay necessary to initialize the model with a delay, when the inititialization data are very precise.
I have used several times the queue fifo function, which I understand much better than the delay profile that I have never used. I think that one must understand how a function works before using it, and the only way is to practice with the function using at first simplistic models, with a minimum of parameters. You must study too the discrete models in the modeling guide.
Regards.
JJ
First af all, it would be better to help you, that you give a precise definition with common English words of what you want to do. It will then be easier to find how to model it.
One can sometimes too, find different ways to model something, using different functions. One can for instance use a queue fifo or a delay fixed function alternatively to represent a queue. The queue fifo will give you more insights about the composition of the queue and will avoid the delay necessary to initialize the model with a delay, when the inititialization data are very precise.
I have used several times the queue fifo function, which I understand much better than the delay profile that I have never used. I think that one must understand how a function works before using it, and the only way is to practice with the function using at first simplistic models, with a minimum of parameters. You must study too the discrete models in the modeling guide.
Regards.
JJ
hi JJ
I'm not really sure what you're suggesting here. I agree that you need to understand a function before using it and that a simplistic (toy) model is the best way to understand. That is exactly why I built the file I attached. It is a simple model to help me to understand how profiles work.
Jen
I'm not really sure what you're suggesting here. I agree that you need to understand a function before using it and that a simplistic (toy) model is the best way to understand. That is exactly why I built the file I attached. It is a simple model to help me to understand how profiles work.
Jen
-
- Senior Member
- Posts: 1107
- Joined: Wed Mar 12, 2003 2:46 pm
Hi Jen,
To answer your questions.
1. The shape is the PDF not the cum PDF.
2. The Lookup is automatically normalized - you do not need to try to set its area to anything.
3. Not the same as Lookups used to initialize queues
Actually, the main problem you are having is probably related to the initial value, which the documentation does not address properly. The initial value is the first value that the function will return (units the same as the input/output units contrary to docs). The assumption is that the input to the delay prior to initialization has been constant. So if you set ToStock to 10 and InitAmount to 10 and change the Fromstock equation to
DELAY PROFILE( DelayShape, ToStock, TargetMean, InitAmount, 0)
you will see a constant output at 10.
I hope that is helpful. There is no mechanism to load the initial values with elements from different times.
To answer your questions.
1. The shape is the PDF not the cum PDF.
2. The Lookup is automatically normalized - you do not need to try to set its area to anything.
3. Not the same as Lookups used to initialize queues
Actually, the main problem you are having is probably related to the initial value, which the documentation does not address properly. The initial value is the first value that the function will return (units the same as the input/output units contrary to docs). The assumption is that the input to the delay prior to initialization has been constant. So if you set ToStock to 10 and InitAmount to 10 and change the Fromstock equation to
DELAY PROFILE( DelayShape, ToStock, TargetMean, InitAmount, 0)
you will see a constant output at 10.
I hope that is helpful. There is no mechanism to load the initial values with elements from different times.
Delay profiles
Hi Jean
I am just suggesting from your intitial question, if I have well undestood it, that you explain fully what your problem is, independantly of any predefined way to solve it using a special function. I thought that you were not sure what function to use. If you are sure that the delay profile is the one that suits your problem, then there is no problem. Use it after you have leran how to do it by playing with your toy model.
But this seems a bit incoherent, because how can you be sure that delay profile fits, if you do not know very well how it works?
Regards.
JJ
I am just suggesting from your intitial question, if I have well undestood it, that you explain fully what your problem is, independantly of any predefined way to solve it using a special function. I thought that you were not sure what function to use. If you are sure that the delay profile is the one that suits your problem, then there is no problem. Use it after you have leran how to do it by playing with your toy model.
But this seems a bit incoherent, because how can you be sure that delay profile fits, if you do not know very well how it works?
Regards.
JJ
Thanks to you both
Bob - I will amend as you suggest and have another look. I think you are correct that the problem is initialisation. I hadn't thought it through, but I think I had assumed that the items already in the stock had all entered in the previous timestep (clearly wrong) so the shape distributed the output. The actual assumption of constant input is much more sensible. Thanks also for the tip about units.
JJ - I think we are talking at cross purposes. There is no actual problem to solve. I built this toy model to help me learn.
Jen
Bob - I will amend as you suggest and have another look. I think you are correct that the problem is initialisation. I hadn't thought it through, but I think I had assumed that the items already in the stock had all entered in the previous timestep (clearly wrong) so the shape distributed the output. The actual assumption of constant input is much more sensible. Thanks also for the tip about units.
JJ - I think we are talking at cross purposes. There is no actual problem to solve. I built this toy model to help me learn.
Jen