ATTENTIONThis FlexSim Community Forum is read-only. Please post any new questions, ideas, or discussions to our new community (we call it Answers) at https://answers.flexsim.com/. Our new Question & Answer site brings a modern, mobile-friendly interface and more focus on getting answers quickly. There are a few differences between how our new Q&A community works vs. a classic, threaded-conversation-style forum like the one below, so be sure to read our Answers Best Practices. |
flexsim.com |
|
Downloads |
Gripes and Goodies Software problems and suggestions |
#1
|
|||
|
|||
I want Recorder to collect interval statistics
I always have many data in global table. And I want to get interval avg,max of the data in the cell of tables. The data will change through time.
When I use recorder to get the interval statistics of avg,max, it doesn't return correct value. Because it doesn't use data only in that interval. So, I have to do it myself, it's so awful. I hope you to improve the recorder to get it done. |
#2
|
||||
|
||||
I'm not sure I understand what you mean by this statement
Quote:
|
#3
|
|||
|
|||
For example, there is a value in a cell of a gloabal table, and the value will change through time. I want to get the interval avg of the value. Every interval is one hour(3600 seconds) .
In the second hour, I hope the recorder to give the avg of that hour, but it actually give the avg of the first two hours. That's not what I want. |
#4
|
|||
|
|||
By the way, maybe you can refer the following post.
http://www.flexsim.com/community/for...read.php?t=267 |
#5
|
||||
|
||||
Qin Tian,
It is interesting, that you reference from this post to the post where I tried to help you. But there you did not give any response, if you solved your problem or if you need any additional help . Than you start a new thread and “blame” the recorder for not doing what you need. Please keep in mind that it is nearly impossible to include in objects all the functionality a user might need. Objects can never have all functionality as standard in the parameters, pick lists, etc. This is why they have Triggers to implement own needed functionality or why you can build own objects If you can think of all possibilities a user will use a Recorder for today and maybe in the future and write this down in a concept for a new Recorder. Than the Flexsim guys can build this object. But I doubt that you or anyone is able to think of all possibilities. Like said, I think this is impossible but I might be wrong. Sorry for this rude words, but I faced this problem in a presentation I gave a while ago. I am always surprised that some people think that complex modeling problems (special logic, specific collection of results, etc.) can be solved in a simulation system just by using the standard functionality in the objects and write no line of code. I agree that it would be great if this would be possible, but the reality tells us something different. The challenge with developing objects is to make these objects user-friendly, fast and flexible. An object which only has one functionality is fast but not flexible. And this is not user-friendly, because than you normally have ten or twenty or thirty objects e.g. called Queue (Queue_Lifo, Queue-Fifo, etc.) and the user did might not know which one to use or has to change the object if he changes his functionality/logic in the model. This makes it so hard to develop the “right” standard objects. And to be honest, Flexsim did in my eyes a good job and in the past 15 years I worked with different simulation packages so I like to say that I have a little bit of experience on different simulation packages and their standard objects. I am always surprised how much you can already do with the standard objects in Flexsim compared with other simulation packages. Anyway, please refer to the other thread and I tried to help you there a little bit more. Again, sorry for my harsh words. tom the (A)tom P.S.: Please take Cliff’s offer and tell more precise what you think should be done and I am sure Flexsim will consider implementing it.
__________________
tom the (A)tom: "We have solved our problems ... now we have to fight the solutions." |
#6
|
|||
|
|||
Sorry, Tom. Because I cannot express my idea well in English, maybe it seems that I am impolite.
I didn't reply your post because first I am working on a project and have no time to discuss it in detail. Second, although I have solved it by programming, but I think it's not a good solution. Because I have so many data and interval. I have to calculate avgs,maxs,etc for every data and every interval. It's so tedious. I think there should be a better solution. Since the recorder have supplied a "interval" option, I think it should implent it correctly. But maybe it is correct, because no other person points out the problem. I'll test it more if I have time. By the way, do you think the recorder implenting the interval stastitic correctly? |
#8
|
|||
|
|||
I have upload a test model to test the problem.
The interval is set to 10 second. the data is in table "tblcontent" and is updated by the Queue3's onEntry trigger. I want to get the first and second interval's avg. I use a Recorder to do this. But the problems are: 1 the recorder only give one row of result. I think it should give two rows of result coresponding two intervals. 2 The AvgValue gave by the recorder is 0.50. I think it is the first interval's statistic, not the second. The AvgValue of the second interval should be 1.5. |
#9
|
|||
|
|||
Quote:
But what I want is just "the min, max and average within the interval." The interval statistic is very important in non-steady process in my project. So, will you implement it in future? |
#10
|
||||
|
||||
Quote:
Quote:
[quote=qin tian;1006]Since the recorder have supplied a "interval" option, I think it should implent it correctly. But maybe it is correct, because no other person points out the problem. I'll test it more if I have time. [/quoto] I think you misunderstand the interval you see in the recorder. It is not for "interval statistics", which frankly I do not know what you mean before I download your test model. The interval in the recorder is just tell the recorder to check/record the value at some fixed time. In your model, that means it will read the data in you table every 10 seconds. Then later the recorder will use those recorded data to calcuate max, min, avg etc. I cannot see a easy to way to use recorder to do what you want without coding. Quote:
Hope this a bit helpful.
__________________
Best, Alan |
#11
|
|||
|
|||
If the recorder can do what I want, then in experimenter, I can refer to the result the recorder gave. No more coding needed.
|
#12
|
||||
|
||||
Like I said, in order to get whatever you want here as inputs for experimenter, you may need to do some coding.
__________________
Best, Alan |
#13
|
||||
|
||||
Qin Tian,
Your point is taken that perhaps there should be some automatic methods in Flexsim for recording output statistics for different periods of a simulation. For example, you may want to record the throughput per hour for the first week of the simulation, and then compare that with the throughput per hour for the second week of the simulation. And the model statistics should be reset in between the first week and the second week so that the statistics of the first week are not taken into account for the second week's output. This can be useful in trying to find at what point the simulation reaches steady state. And I assume that this also has something to do with the batch means method that you were talking about in another post. Right now, Flexsim uses multiple replications to find a confidence interval on an output statistic, but the batch means method is a way that you can find a confidence interval on an output statistic using just one replication, and getting that output statistic on different intervals of the replication. This can be useful if your model has a long warmup time before reaching steady state. While this is already possible in Flexsim using things like user events, global tables, custom performance measures, etc., your point is taken that it could be made more easy to implement through Flexsim's interface, either through the recorder object or through the experimenter, or both. |
#14
|
|||
|
|||
Hi, Antony, you get what I say.
I have used another simulation package before, and it has an automatic method to implement what I want. It is implemented by a object like the recorder in flexsim. So, I think the recorder is the best alternative to implement this function. I hope you can add the funtion to the recorder. Thanks. |
Thread | Thread Starter | Forum | Replies | Last Post |
problem of recorder | qin tian | Q&A | 5 | 09-27-2008 10:42 PM |
Recorder automatic export | Stephanie Giovannini | Q&A | 3 | 03-19-2008 04:52 PM |
How to get interval average,max,etc of a queue content ? | qin tian | Q&A | 5 | 02-14-2008 10:11 PM |
Display Labels with the Recorder | tsconcept | Q&A | 9 | 09-26-2007 08:16 AM |