Jump to content

Search the Community

Showing results for 'distributions'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Simio Public Forums
    • Welcome and How To Become a Simio Insider
    • Simio News and Announcements
    • Simio Product Details
    • Simio-Related Positions Desired or Positions Available
    • Help Getting Started with Simio
  • Forums for Simio Insiders Only (See Public Forums Welcome topic to sign up)
    • SI General Discussions
    • SI Sprint Releases
    • SI Shared Items
    • SI Ideas and Suggestions
    • SI Known Issues and Workarounds
    • SI Performance Tips
    • SI Non-US Cultures
    • SI Student Competition
    • SI Educational
    • SI Libraries and Objects
    • SI Animation and Visualization
    • SI Distributions, Functions, and Expressions
    • SI Simio Tabs
    • SI Experimentation and Optimization
    • SI Functional Approaches
    • SI Industries / Domains
    • SI Types of Simulation
    • SI Emulation
    • SI API

Calendars

  • Simio Calendar

Categories

  • Files
    • Academic Information
    • Product Information
    • Case Studies

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me


First Name


Last Name


Company/University Name


OCCUPATION


ICQ


WEBSITE


YAHOO


AOL


LOCATION


FACEBOOK


GOOGLEPLUS


SKYPE


TWITTER


YOUTUBE

Found 23 results

  1. Hi, Was just wondering whether someone has a tool to quickly convert Arena Distributions to Simio? Regards, Willem
  2. Hi, The conversion of Distributions to the correct Simio format has been an issue for me for a while, thus I created this macro to convert from @Risk distributions to simio format distributions. I hope that more will share there conversion methods from other software. Regards, Willem DistributionsSimioTo@Risk.xlsm
  3. Hi, I have 6 entities arriving at exactly 8am each day. Each of the 6 entities will create a certain number of entities on arrival from their respective distributions. How do I model in my source? I cannot have multiple sources as each entity has its own server processing times. Please can you help? Thank you
  4. Hi all, I am modeling a restaurant, where orders are placed until 22:00. The preparation of these orders takes approximately 20 minutes (it can be more or less due to the probability distributions involved). I have some workers whose schedules are from 10:00 to 22:30 and they prepare these orders. The problem is the following. Suppose that it's 22:30 and there are still some orders in the queue. Since the worker's schedule ends now, those orders can't be processed and will remain for the next day. This obviously does not happen in a real-life restaurant. So if at the end of the worker schedule (22:30) there are some orders in queue, I would like to extend the schedule until all orders are met. How can this be done? Thank you in advance, Marcel Favereau
  5. [EDIT] Hi all, I am modeling a restaurant, where orders are placed until 22:00. The preparation of these orders takes approximately 20 minutes (it can be more or less due to the probability distributions involved). I have some workers whose schedules are from 10:00 to 22:30 and they prepare these orders. The problem is the following. Suppose that it's 22:30 and there are still some orders in the queue. Since the worker's schedule ends now, those orders can't be processed and will remain for the next day. This obviously does not happen in a real-life restaurant. So if at the end of the worker schedule (22:30) there are some orders in queue, I would like to extend the schedule until all orders are met. The problem is I don't know how long it will take the workers to prepare the missing orders, so I can't suppose a certain time needed to complete the orders. I have to wait that the last order is prepared to set the end of the working day. How can this be done? Thank you in advance, Marcel Favereau
  6. Hi, Our team at SET did some work and we now have a tool to easily convert Arena Distributions. Feedback is appreciated and we hope his help in the process of moving Arena models to Simio. DistributionsSimioToArena.xlsm
  7. Hi Ryan, -The model gets stuck at about an 1 hour into it. Can't get it past the vehicle going back to the 'Bldg,' as seen when I track the vehicle. -The distributions are all random triangular with set parameters in the Sequence1 Table. The idea was that the 35 people/Entities would arrive at the Bldg Source and as Entities the JobsTable would assign a random triangular number of workers to a job and then start ferrying them per the sequence in the Sequence1 Table from the Key Column from the Bldg. The vehicle can carry 6 people but it seems to only carry 4 at a time. Also, the ferrying is completed at about an hour and the vehicle just stops at the Bldg with 4 passengers. Instead, it needs to continue ferrying by having the entities 'call' the vehicle to their location to continue the route sequence, through LunchBreak, and then get eliminated at the EndOfShift node. 11May.v2.spfx
  8. My company is developing a big model that simulates the arrival of passengers to an airport. It is important to us to control the randomness of the model for two reasons: - We want to be able to replicate the outputs of an experiment if the changes had not been significant. - When running different scenarios where only part of the configuration has changed, the part of the model that has not changed should remain the same. It is possible to control the random generated number of the distributions that Simio offers, but we hadn’t been able to fix the randomness in the next cases: - When using the function RandomRow. Any change in the model that modifies the running time when the function is called changes the row selected. - When selecting a path from its weight. As well as with the RandomRow function, we have seen that only moving one meter the node that is connected to more than one path, the randomness of the path selected varies. Furthermore, because of the dimensions of the simulation, some processes take time to end. That means that in some cases when we add more data to the input tables, data that is independent to a previous part of the simulation, everything changes because the process takes a little more time to end and that changes the result of the random decisions. We would like to know if it is possible to control the randomness on this events, or what other alternative can we use. There is a mini model attached that shows the described behavior. It consist on a source that generates 100 entities, and two possible paths with the same weight. If the node that connects to both path is in the center of the facility, 45 entities go up and 55 down, like in the next picture. If the node is moved to another location, the number of entities that go up changes to 48. Finally, adding a process (with a loop that doesn’t do anything) before selecting the path, the number of entities varies again to 47. Randomness_example.spfx
  9. Hi all!, would you help me with this? I want to do a discrete simulation of the current situation in a Hospital in the inpatient unit. I have the data of one year of patients, (over 18,000 people) and I want to use that data in the simulation. That would make more easy to model the server processing times, while we will use the real server times and sequences that each patient had, instead to use probabilities and distributions for the sequence and server times respectively. So, I created a table where each row represent a patient with a sequence (which bed he was assigned due to his level of acuity) and the time that he spent in that bed before he was dispatched. The are more times involve, but we can focus in those parameters to have it more simple. So, the table have the patient name (entity) ,bed (sequence) and Length of Stay in the bed (server processing time). I don't know if is possible that when I create each entity, I can assign, based on that table, the sequence and the server processing time for each patient. How I can do that? Thanks for your time and help
  10. Hi everyone, I am working on a project that has more than 2,000 different arrival distributions. The distributions are all exponential, but they all change over time. To illustrate: suppose I am modeling 30 companies around the world, each company with a group of suppliers (or clients), each supplier (or client) with a group of parts (or orders) that will be arriving in my company to be processed. Each one of these parts coming from each supplier to each company (I will call it a combination) has its own distribution that changes over time. [this is an analogy to my problem] If I had only 1 company with a few suppliers and a few parts, the natural solution would be to use Rate Tables. This would be good because I want to investigate the impact of different Rate Scale Factors (increase or decrease of arrivals) on my key performance indicators. However, as I mentioned, I have more than 2,000 different distributions. So, my main question is: does anyone have a suggestion about how to create these arrivals in an efficient manner? I am assuming creating one source and one table for each possible combination would not be efficient, as it may make the model super heavy. I have thought about two different solutions (which I am not sure if it is good and, even worse, I do not know how to implement yet). So, recommendations to any materials, SimBits or tutorials that might provide more information about my ideas are really appreciated. #1) One idea was using an object inside an object in Simio. This may reduce at least a few combinations?! However, I do not know how to model objects inside objects in Simio. #2) Letting Simio auto-create all my servers and auto-fill the information using tables. This means that I would create one source for each combination. Although this may not be computationally efficient, at least I would not have to drag and drop each one of them. But again, I am new to this auto-create object tool and I do not know how to implement it. So, I really appreciate: - any ideas on how to solve my problem in an efficient way - materials that may teach me how to solve my problem using my idea #1 or #2. Another issue is that RateTables (as far as I know) cannot be imported and binded. So, how can I input all my 2,000 columns of arrival rate data in Simio? Otherwise, my solution #2 is really bad. I have also discussed the idea of grouping the arrivals together and using TableRowReferencing and discrete distributions ("mix") to reduce the number of possible combinations. However, the team I am working with does not think this is a good idea, since each distribution change over time in a different way. So, combining them may not be very accurate. Thanks!
  11. In my model, there are 2 types of entities created by 2 sources: Entity Type A and Entity Type B.The changeover setup time matrix is something like Previous Entity Type A TypeB Incoming Entity Type A 0 Random.exponential(15) Type B Random.Exponential(10) 0 I know how to do it using the changeover matrix, but apparently, the changeover matrix can't take random distributions. May I have some suggestions as to how to go about this? Thank you!
  12. Hi, I was modelling changes between different setups using a changeover matrix and I noticed that the entries entered cannot be in the form of a random distribution. Is there any way that I can change any settings of the matrix properties in SIMIO so that it can accept random distributions as its entries? Thank you!
  13. Simio can not utilize distributions as the sequence dependent setup times in changeover matrix. You have to handle this manually using related data tables.
  14. I am using arrival table to create my entities inside my simulation. So I am importing a column indicating the arrival time of all my entities; inside my data I also have property associated with each entity (exam type in an ultrasound clinic). I want to use that column as well and attache the associated property to each entity created. I am not sure how to do that. Also I want to use that property in another table and assign processing time distributions for each property (maybe defining the column as a key might help but I am not sure ). I appreciate any help.
  15. My model assigns capacity of 8 to a server. Two types of Entities arrive...A and C. Before each entity is processed, I am assigning the server's process time using two different random distributions, one for A types and another for C types. My question is whether or not the processing times for any 8 entities in the server at a given time will process to different process times? Or, will the process time of the last entering entity reset the process time for the others that are already in the server?
  16. I am using arrival table to create my entities inside my simulation. So I am importing a column indicating the arrival time of all my entities; inside my data I also have property associated with each entity (exam type in an ultrasound clinic). I want to use that column as well and attache the associated property to each entity created. I am not sure how to do that. Also I want to use that property in another table and assign processing time distributions for each property (maybe defining the column as a key might help but I am not sure ). I appreciate any help.
  17. You can use a regular table with 24 rows, one for each of your hourly distributions. Then you can reference each using something like Table1[Math.ceiling(Math.Remainder(Run.TimeNow, 24))].Distribution as a processing time. One thing to note is that Run.TimeNow returns the run time, not the clock time. So you may have to use some offset to line up your clock hour to the right table row. -Adam [edited to fix table row syntax ]
  18. Hi. I have a process that works in each hour with a diferente statistical distribuition. The operation interval is 24h, so how can I use a rate table with diferent statistical distributions ?
  19. you can not use different distributions by using rate tables. Rate table only allows to model nonhomogenous poission processes. You can model different rates within a time period (i.e., events per hour). I do not know what do you want but it seems you should define different functions to represent different type of distributions you want to use and then somehow you should trigger those functions at appropriate times.
  20. Hello, I am building a model which consists out of hundreds of different entities. Instead of creating hundreds of sources, I am seeking to release all entities out of one single source according to individual entity specific distributions. I have seen examples which specify a product mix table and interarrival times but this would not capture the simultaneous release of the entities. I would appreciate, if someone could point me towards a smart approach. Thanks!
  21. I appreciate the quick response. The idea is, ideally, to use one single source object which releases hundreds of different types of entities, each with their own corresponding supply distribution. These different entities would then be combined to a few parent entities for further processing (> assembly process). I understand that one source object can be used to release different entities as I would like (e.g. using a product mix table) but I did not find a way to specify interarrival times between the same type of entity (opposed to interarrival times between different random entities). If I understand it correctly, I would instead create hundred+ sources each connected with the corresponding entities and connect all sources with one single combiner. I was not sure if there was a more intelligent way to do this (e.g. import all entities + corresponding distributions into a table). I hope this explanation helps. Thank you.
  22. I can catch you on skype to show you for I have various timers performing different things.... One example would be where I have priority based maintenance...i.e...Shutdown...Planned...Breakdown....each running off of their respective timers...As these activities timers can overlap as they form part of their own unique distributions, events are fired based on the priority constraint to allocate the transporter a different state...The logic involves correctly disposing of the tokens in a wait state of the previous constraint process as well as resetting and adjusting the timers....i.e....If I am on breakdown and scheduled maintenance hits, then the schedule maintenance process is executed and Breakdown processes stopped or delayed until a corresponding event is fired....this includes material handling assignments, crew, etc.... Another example would be dynamic generation of "demand" transporters based on a varying monthly rate dictated by variations in supply due to statistical randomly generated constraints... The timer is adjusted based on a change in arrival rate which is calculated and dynamically updated to ensure that there is always just enough demand for current available supply...This forms part of optimized planning for bulk carriers which cost a hell of a lot of money if they are just chilling in the ocean... But ultimately and perhaps the crown jewel is handling flow transfers from one transporter to another...since i had developed the logic before this super awesome new release of the transporter library, I needed events to check when the load or discharge level had been reached, or the full or empty state of the flowcontainer had been reached on either transporter, or objects fired events which needed to seize loading/discharging and stay, or seize loading/discharging and move away, as well as handle inherent timers on the transporter for breakdowns that will execute different processes depending on the type of breakdown....i.e. move the transporter or stay put... It all sounds really complex but its very simple.... Hit me up on skype...
  23. I would abandon using Simio's built-in elements and do this all in a process with repeat groups plus delay steps and custom token states as you describe in Option 1. You could use the search step to spawn a new token for each row in the repeat group which would provide scalability, which then gets a delay time randomized according to an input distribution for that row of the repeat group. At the end of the delay time it would trigger a failure. These tokens effectively become your timers instead of using timer elements. The failure could suspend this 'timer' process such that the other delays stop counting during a timer. This token would then loop back on itself, having a different delay again. However, my conclusion (but not implemented yet) was that I would use the 'non-scalable' approach. The reason for this is that adding more than 2-3 failure distributions is getting overly complex/detailed and isn't likely to add value and could even possibly subtract from it! Not only that but I've found that when I combine different types of events (in reality, not modelled) they almost always result in some fairly good erlang/exponential/log-normal distributions. These only need to be split out to remove multiple peaks rather than getting to the exact causes. Not only that, but I've often found that failure data (not models) is recorded very poorly, and often mis-reported. For example a 'slow operation' is instead recorded as a failure. Alternatively, short failures are not recorded at all because the operators are busy fixing the problem. Because of this going into the level of detail you've described is going beyond the quality of the data. If you actualy trust your failure data, by all means go to town with the scalable approach. If you were part of my firm, I would give you feedback along the lines of "never trust failure data" However, a colleague of mine does feel differently so this is not a hard and fast rule -- just my experience.
×
×
  • Create New...