Jump to content

Search the Community

Showing results for 'event parameters'.

  • 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

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

  1. from exponential distribution you can get varying numbers in a very very wide range (for example, if you are using exponential distribution for generating interarrival times in one draw (random number generation) you can get 1 (say hour) and in another draw you can get 100 hours). The authors emphasizes that this situation can cause improper results in simulations due to discrete event simulation time advancement mechanism. Assume that you have periods each length is 20 hours. Note that, in discrete event simulation, i.e., the first event plans the next event. So, assume that in the first period (within the first 20 hour) the first event will be created at exactly time 1 (hour) (say an arrival event). After its creation, this entity plans the next arrival (thus an interarrival time will be generated from an exponential dist), i.e., the second entity will arrive to the system at time 101 (hour, 1+100). this means that you will have only one arrival in the first period and no arrivals in 2th,3th,4th and 5th periods. the authors says that this is an inconvenience and arrival should be planned in each period, seperately. By this way, in each period you will have at least one arrival. For this to happen you can use rate tables.
  2. Hi gocken Its a model-level(i.e global state variable. For example, initially the value of currentrownumber is 1. It is used to make reference to the first row of a data table to create a particular number of entities as the first arrival event. After the created entities of the first arrival event reached some downstream workstation in the model, the Keep Track Population global state variable is set to zero. Then at this point, I want to create a second arrival event by referencing to the second row in the data table. I do this by incrementing the gobal state variable currentrownumber by 1 and fire an event right after. I would like to use this event to trigger the second arrival by making reference to the second row in the data table. In my model, i would like to continue generating the next arrival events by referring to each row of a data table from row 1 to the final row. Hope this clarifies my question. Thank you very much!
  3. 1) Depending on how the entity is created in the first place, that assignment may already have been made. So, for example, if the table includes the arrival time and is used as an arrival table within a Source (Arrival Mode is set to 'Arrival Table'), then the entity that is created automatically has a row reference to the arrival table row from which it was created. Alternatively, if you create an entity, you can use the SetRow step to assign it a specific row in a specific table. ** The entity doesn't ever become a token ** Please refer to the Tokens page and the Tokens and Entities page within Simio help for more information. Tokens can be associated with entities (or with a model if a process is triggered by a timer, event, etc.) 2) If the entity has a row reference within a data table, simply referring to the TableName.ColumnName to access the table information is sufficient. This will automatically retrieve the information in the TableName table, ColumnName column at the designated row that the entity has a reference. If the entity doesn't have a reference within that table, Simio will give an error if you attempt to refer to the data in that fashion. Alternatively, you could reference a TableName[RowNumber].ColumnName to specifically reference a given RowNumber. Refer to Data Tables page within Simio help for more information.
  4. Maybe I am missing something but is there a way to plot events as and when they happen? There are two ways this could be done: 1) Choose a State Variable and ask SIMIO to show you its value on the vertical axis and the time it happens on the horizontal axis. At the moment, this can happen, but we get a continuous line and not dots. Events need to be seen as at an instant in time. 2) If no state is available, say I want to plot the arrival events to find when they are taking place (checking the distribution), we can agree that an event has a value of 1. Attached is a dotted status plot showing some accumulating value on the x-axis. Thanks
  5. Hi there - My entities are going into a wait step based on a condition. So at any point in time I may or may not have multiple entities in the wait step. When I fire an event to release entity from the wait step all the entities which are in the wait step at the time event is fired get released. I don't want that, I want wait to release only one entity every time release event is fired. Any ideas how I can achieve this? Thank you.
  6. Wow! That looks like a very simple and neat solution to my problem. Thanks a ton! Can you explain the expression in Event Condition. I am assuming ent_Barge is a variable or is it an object?
  7. The Workstation release problem is solved Thank you so much. By the way, is it impossible to change Time Offset in timer element during model running? I' ve just tried to dynamically change the state variable, SchduledDateTime during run-time, but the changed value is not considered .. I mean, I made a button which fire a event to change the value of ScheduledDateTime to later time. During running the simulation, I clicked the button and check the value to change using Status label. The problem is .. the value was changed in the status label, but the timer event cannot fire at the changed time. So.. I thought time Offset cannot be changed during model running.. Am I Right..? or Are there any ideas to solve it?
  8. You asked for "a way to start/stop timers on a specific entity without creating a bunch of different events". As I understand it, Enable is just a switch that stops/starts the Timer clock. It has nothing to do with triggering events and does not require any events. So if you set a timer to fire in 60 minutes, then after 10 minutes disable the timer, the timer should fire its event 50 minutes after it is enabled.
  9. Is there a way to start/stop timers on a specific entity without creating a bunch of different events? The potential problem I see is that the reset timer event is general and would require a bunch of individual events.
  10. Probably a stupid question, but doesn't the enabled just enable the start and not necessarily fire an event to START or STOP the timer?
  11. you can use the step "Create" of processes which is triggered by event of source creation.
  12. Yes it is possible. You can exceute a process by picking the hourly event as fired by the timer (as attached). Subsequently you can use process logic to release the worker, move the worker, then re-seize the worker. A second alternate is to use the default functionality included under advanced options within a server's "On Resource Releases" option. This should allow for you to specify the hourly interval for release as you require.
  13. How can I schedule a randomly distributed death event for each entity, and pull them out of the system (or perhaps route to a "mortality" sink) if it occurs before they have already left? Somewhat similar to reneging, but I need mortality to be possible during a service, not only in queues. If an entity is removed from service, I also need the seized resources to be released. What I have tried so far: When an entity is created, I provide them with a state variable for TimeTillDeath, lets say exponential(2) hours. This is a real number, not a datetime. As they enter each queue, I set the reneg trigger as ModelEntity.TimeTillDeath subtract any elapsed time since creation, min 0. This works to model mortality while they are waiting for service, but not during a service. Any help is appreciated, KO
  14. For this particular scenario, you could have a Timer (see Definitions tab, Elements button on panel). The timer would define the time(s) that an event is triggered - for example if the simulation starts at 12 am, then you could have the first timer event at 5 hours (5 am) and then every 12 hours after that (5 pm, 5am, 5pm, etc.). The 'event' that the entity would wait for would then be TimerName.Event. You could use a Decide step before putting the entity into the Wait step, then the event would be automatically fired at a given time by the Timer element. (instead of by a Fire step).
  15. Hello, I have question about batching for my model. I would like to batch my entities in a specific node in my model and release them at a specific time. In other word, entities come to first server and they need to stay there until a specific time (for example 5 am and 5 pm) and then at that specific time they can be transferred to the second server. Could you please help me how to model it? I wanted to use Add.on process and using Wait and Fire steps but I do not know how to define an event. Also, I am not sure if my idea is correct? I really appreciate if you could help me
  16. I had this weird idea: Is it possible to trigger some options from the Run ribbon through Processes or something else? For exemple: When certain event occurs, it resets the simulation. Or it automatically fast-forward or changes animation speed. I know it's possible to end the run, but how about the other options? Thanks!
  17. Hello all and thanks for letting me be a part of Simius Insiders I have a question with my model. How can I create dynamic routes of my vehicle (AGV) to attend different events. For example if the server B1 finished its process the vehicle should go from S1 with an entity (pallet), go to A1 (input server A1) then go to B1 (server output B1) take the load and finally take it to S2. Once the entity is left in S2, go to S1 and wait for another event. Another event would be: server A2 ends its process then the vehicle should go from S1 with an entity (pallet), go to B1 (input server B1) then go to A2 (output server A2) take the load and finally take it to S2 . How could I do this programming? Thank you very much Modelo2Pulmones.spfx
  18. Hello, One approach you could use is have an initial capacity of 0 at the Enfriado servers to hold the entities in the input buffer queues. During the entered event of the input nodes of the Enfriado servers, you could insert the tokens into a storage element. And a "controlling" server could then use process logic triggered by a scan step that determines if the number of entities in the input buffer queues are greater than 1, that would perform a search of those Storage.queue for the Entity with the longest processing time. To determine the processing time, one has to track it. The real state variable on the ModelEntity, ModelEntity.RealStateVariable, would be created and TimeNow would be assigned before processing. Then that is assigned TimeNow - ModelEntity.RealStateVariable after it processes at the previous servers. Once the entity is found from the storage queue, a transfer step would take that entity and pass it to the Cortador server's input node. The search step could look for Candidate.ModelEntity.RealState1 using a Backward search type and a limit of 1. Once the entity is transferred, the entity can be removed from the storage element. Judy
  19. ''When you say you have "real data" do you mean that you have samples of processing time? If so, from that you would normally fit a distribution our use a table-based Input Parameter to draw from.'' By real data I mean for every entity I have excact time when they entered the system then for each of the costumer ( or entity) where and when they went ( to each server) ; and specific time how much time specific server worked for each entity ( or costumer), and last; processing time ( payment) for each costumer in server 8. So as you can see all parameters or ( interarrival time or specific time when entity goes in to system, and specific time that entetiy spend in servers (1-7) and time for payment each entity on server 8 ). I don't know how to select a distribution that fits my system other than use a table based input parameter as you said. Is there other way around to select distribution that fits, how can I get this other than put table with specific values? what is the best choice here? ''You say that Servers 1-4 are identical and Servers 5-7 are identical. It might be easiest to model that as ServerA of capacity 4 and ServerB of capacity 3. '' it seems like this is the easiest way yes! The thing is: since system isn't FIFO or LIFO, must I (?) ( as you said ) put selection rule source output ( to see where the entity goes next to which server) to determine which entity goes to which server , So I can still use Server A for capacity 4 and server B of capacity 3? This confuse me, since sistem isn't 100% fifo neither lifo - is this important or not? I mean the most important parameter is utilization of server 8 ( since this is pyhsical payment, I would like to get how much % of their time is wasted with their decision to have pyhsical payment) And I don't know if for utilization ( server 8 ) is important or not.... thank you !
  20. Hi Kevin, I prefer to use Servers instead of Workstations. You can try this approach. During the failed event of the Server, I search the Resource Owners of the server. Then search the Seized Resources of that Resource owner (the entity), then I decide if the worker is seized. If so, then release it. If I need another worker or resource available when the server is repaired then on the repaired event, I search for the Resource owner of the server again, the entity, and have that entity seize the resource/worker. If it is a worker and I want to move that worker to the server's input node and there is more than one server that fails and repairs, then I use the Input arguments of that process, create a state variable for the server instance. I can then tell the seize step to use the node, ServerStateVariableName.Server.Input. I hope this approach gives you some insights as to how to model your system. Judy
  21. The most outstanding difference between simio and excel is the animation capability of simio. In this respect, using simio is like a test drive instead using excel is like an ad hoc query. Only this difference is enough for using simio instead of excel. Other than this simio's random number generator engine (which is the core mechanism for most simulation studies) is much more reliable than does excel (its period is very short and thus unreliable for large simulations in fact). By using simio you can develop the models much more easily even the complex ones which is almost impossible in excel (i.e., you are not enabled to include complex dynamic behaviors in excel). You also can customize and extend simio much more easily. And output analysis is very very simple in simio. For example, in order to get time persistent statistics you have to enter the formulas exactly in excel. In simio you only need to define and use statestatistics. For me, excel can be used for educational purposes (i.e., especially for discussing how to develop monte carlo simulations instead of discrete event simulations). Thus, Simio is almost limitless and thus incomparable...
  22. Most simulations are "push" -- as soon as a part is done, it pushes on to the next server where it waits for processing. It sounds like here you are looking for a "pull" system -- each part remains where it is at until it is pulled forward to the next server. There are several ways to implement a push system - detailed process logic is probably the most difficult. A better choice is generally to use a resource or event to control the timing. Exactly where parts wait can have a significant effect on the logic required. For example should the part be blocking its current server? wait in its output buffer? wait somewhere else? When you have parts waiting in multiple areas it gets a bit more complicated. --SimBit CONWIP is not exactly what you are looking to do, but it does illustrate how to use events to implement a pull system. --SimBit OverflowWIP illustrates using resources to pull appropriate parts from one of two locations to one of two locations, as needed. --Because you have parts waiting in multiple areas to go to multiple areas, you might want to use a slightly more advanced feature named CustomRoutingGroups. There is a SimBit of the same name. Esentially you will create a RoutingGroup (an element) to define what choices an entity can consider, ranking, and the conditions under which it moves forward. Then for each related node (like the two enfriados outputnodes, you specify EntityDestination to be that custom routing group. One key is to make sure you use the Blocked Destination Rule of Select Available Only -- this forces the entity to wait at the node until it is "pulled" forward to an available server or queue location. For any of these approaches I suggest you read up on it in help or a textbook, then review the SimBit. Happy modeling!
  23. Hi! I try to modelize a production process. All my entities are of the type. But I want to give at each entity parameters such as height and length. I want that Simio generate it randomly in a state variable as an entity exit the source. My problem is the those parameters don't follow a standard distrubution as a normal ou triangular one. It follows time series (chronological series). Since it's a current pattern in production, I was wondering if there is a simple way to implement it in Simio? Thank you in advance! Pierre (I hope it's clear enough? Don't hesitate to ask me precisions if it isn't.)
  24. If you mean that an entity should not advance to the next location unless it is available: Try using Node Lists when routing entities to the next location. Lists automatically block the entity from moving forward if the destination server is not available. 1. Create a node list in Definitions>Lists 2. Set the input and output buffers to 0 on your servers 3. On the output nodes, set Entity destination type to "Select From List" and choose the node list. If you mean you have a group entities that are processing at different servers and none in that group can advance until all are processed: Use a Wait step and event. After each entity finishes, trigger the wait step to wait for an event. After the last entity finishes, fire the Event. You will probably also use a Decide step to separate the non-last entities (wait for event) from the last entity (fire event).
  25. Hello! I'm having problems with the WAIT process. I'm modelling trucks who brings pallets. This trucks must be heavy at the server "weighing". Later, It goes to a separate, where the truck goes to the sink1. And the separate create 3 copies of pallets entities. This pallets must be heave at the server "weighingPallets" and finally go to the sink2. My problem is that i just can have one truck with his pallets (3 pallets) after the server "weighing". After the truck and his pallets go to them sinks, the next truck can advance. I create several process. 2 to count the quantity (trucks and pallets), 1 to fire the event "WAIT" and 1 to wait until the condition "QuantityPallets > 0 && QuantityTruck > 0". Please someone help me with this. I don't know what else to do. wait.spfx
×
×
  • Create New...