Jump to content

Search the Community

Showing results for 'tally wait times'.

  • 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. HI all! I have a question which I could not handle it! I want to send a worker to do job in server 1, by finishing in server 1, it must go to server2 to do process and then go to server 3 and does its dut. then it must come back to server 1 and wait for starting new process ( worker transfers between servers while entity is moving forward). why it goes back to server1 before going directly to server3 ? for 2 servers, assigning the worker si so simple but for more than 2 servers needs more complicated logics. Please help me if you have any idea about it. model uploaded: https://www.facebook.com/download/372463152963464/WRKER%20REZA.spfx
  2. I am trying to model a system that has ships arriving to 1 of 8 berths. A ship stays in the same berth for 10 days and does not move, but instead different crews (resources) come to the ship at different times in the following order: Day 1 - unload crew Day 3 - fuel crew Day 5 - load crew Day 9 - catering crew Each type of work is performed by a different type of crew which rotate through the ships in the order they arrive to their berth. There is a chance that the crew will not complete all of their work in their assigned duration. At the end of each scheduled interval, if a crew has not completed all their assigned work, part of that crew will finish their work the next day, reducing the size of the crew to work on the next ship. For example: if at the end of Day 2, the Unload crew has not finished all their work on Ship1, on Day 3 a few of the unload crew will stay back and finish unloading Ship1 while the rest of the crew will move on to unload Ship2. Regardless of whether all the previous work was completed, fueling will begin on Day 3 as scheduled, so there could be more than 1 type of crew working on the same ship at a time. Additionally, as crews get better at their work, the day that a certain task begins may get moved up (i.e. fueling may start on Day2 instead of Day 3 after some period of time). At the end of Day 10, regardless if all the work was completed, the ship leaves the berth. I'm looking to see if anyone has some suggestions on how to approach this problem - entity staying in same place for a fixed duration while different crews come and leave in a certain order for a certain period of time.
  3. Hi guys. I attached a sample of the problem Im facing in my project. In my main model I have a table that has a column of the type date and my entities have to be created, on a submodel, on the times specified on the table that has the column of the type date. I was able to reference the table on the main model to the submodel and thus pass the values. However, on the create object of the submodel I was not able to set/reference the property for the ArrivalTimeProperty property of the Source. Can somebody help me please? Thanks. Model.spfx
  4. Technically "Occurrences' is the number of times it changed to that particular state. So if it does 5 back-to-back transfers with no state change (like idle) in between, then that would be counted as a single occurrence. If you wanted to count each specific trip, then you might need to add a state on the vehicle or node.
  5. Hello, I have created a sub-model with two servers connected by a path that will process n types of entities (i.e. different products that share a work station). In the main model these entities have a table reference assignment (specified at the source) that allows different processing times in each server in the model. If these entities enter the sub-model how can I allow for different processing times? Since there is no source in the sub-model I do not see a way to assign the a reference table (normally done in the source). Thank you for any ideas!
  6. Hi All, At the moment, I'm trying to model a warehouse. This warehouse consists of aisles: long sections of bi-directional paths, intermitted by basic nodes that represent picking locations. Workers walk through these aisles to pick orders. See also the attachment: the nodes are not visible but there are 20 nodes in every aisle. However, the bi-directional path does not enable workers to walk in two directions. It is possible for workers to encouter each other while traversing the aisle in opposite direction. This will create a blocking situation. I tried to solve it by using the 'Travel' step, such that the workers travel through 'free space' within a certain width around the warehouse network (setting 'avoind collision' to 'true). The problem however still exists. Is there a neat solution for this? It is a possibility to introduce all sort of extra bypass paths. However, this will make the model more complex and introduces walked distance biases. One of the purposes of this model is to compare theoretical picking times (based on walking straight through the aisle) with simulation. Adding extra bypass paths would violate therefore the purpose of the model. Thanks in advance for your suggestions! Wouter
  7. Here's a follow-on question I can't quite figure out ... I have a worker who is required as a resource to setup and teardown two different workstations. The worker is also a transporter to move entities from the source to the workstation, and from the workstation to the sink. The workstations are set to seize the worker for All But Specific, Processing, Move to Node, Input@Workstation#. The workstations have identical setup, processing, and teardown times (fixed at 5, 30, and 5 seconds respectively). The source initially starts with 2 entities, and then creates additional entities each time one of the workstations begins its Setting Up process. Once both workstations are processing, the worker goes back and gets the next two entities to place one into each workstation's input buffer. No matter what I attempt, I cannot make the worker stay at the workstation to complete the next entity's setup before taking the previous entity to the sink. Each time the worker takes the completed part to the sink and then returns to setup the workstation. Even though they happen at the same time, it appears that the previous entity enters the outbound node of the workstation and then makes a visit request to the worker, all before the next entity initiates the Setting Up process and attempts to seize the worker. To be more precise, the outbound part is placed on the outbound node, triggers the RiderWaiting event, requests and has accepted a transport request from the worker before the Teardown process has actually ended. I've read through multiple SimBits and other files from the forums. I can't get the next entity or workstation to seize the worker since the visit request has already been accepted or the workstation still has the worker seized to complete the teardown. I can't figure out how to use the Worker Used For Multiple Tasks SimBit since it only shows the worker going to and waiting at a node, and I need to model a workstation at this location instead of a node. I can't force a Delay math.epsilon on an Evaluating Seize/Transport process to force it to the end of the "same time", and putting in conditions (to reject transport requests if the allocation queue is not empty) appears to be moot since the Worker.AllocationQueue is technically empty when the RideVisitRequest is made (the next entity hasn't made the request yet). I also read in one of the posts that there is no way to reneg a ride/visit request once it is made, although seize requests can still be manipulated. I've attached an example file. It's definitely a work in process, so some of the custom processes aren't used or have been manipulated. I need to be able to model a real world process ... the worker would take out the previous part (teardown), set it down on a table (the output buffer), pick up the next part (from the input buffer), place it in the machine (setting up), and then press Cycle. Once complete, the previous part would be transported to the sink, and the worker would move to the next machine waiting. Thanks! Worker Seize vs Transport Test.spfx
  8. 1) Look at the SimBit EntityFollowsSequenceWithTable2, it is very close to what you want to do, including entity-specific processing times. If that is too much to digest in one SimBit, that SimBit is actually the 4th SimBit in a set of similarly named SimBits - work your way through them. 2) Look at the new features added in Sprint 119. This is another totally different way of implementing sequential and parallel activities.
  9. Thank you for your answer. I've already looked deeply for sequences. I have two questions. (My model is attached for better comprehension). I'd like to add that this is a first part of my system, which is approximately 6 times bigger than this model. 1 - I was not able to make the sequence showed in the picture. In the model (Data window - SequenceTable - ProductC - Row 11) the next step should be M2 if the previous choice was M1 or M4 if the previous choice was M3. 2 - How can I define different processing times, since that the processing time in any machine will depend on which the entity is. For example, the processing time for entity A in M2 is 1,2 min while it is 2,1 min for the entity B. I did a table for it (Data window - Processing Times) but I couldn't reference it in the workstation's (M1-M6) properties. Thank you very much! FMS_part1.spfx
  10. Sumanth - You have quite a few different ways to go about collecting these interval based statistics, the first few that come to mind include: (With Enterprise Edition) setup a daily timer and trigger a process to write the statistic to a output table, then reset the statistic Setup a tally statistic and a daily timer and trigger a process to tally the statistic, then reset the original statistic Setup a array and a daily timer and trigger a process to capture the statistic in the array, then reset the original statistic As you can see, in all cases have some statistic that can be cleared on the interval after capturing its data in either a output table, tally statistic or array. Let us know if we can be of any help with your healthcare model -- we've done quite a few of these with various levels of detail depending on the question at hand. Sincerely, Martin
  11. Hello, i have some problems with my model and i really hope you can help me with that. I don't think it is too difficult but i don't know how to solve that. Please take a look at the attached model. So the goal of my attached model is that vehicles transport entities to the servers. The vehicles should wait till they are fully loaded with 4 entities but they are not allowed to have a length which is more than 12 meters. Each entity has a certain length. Every server has a random distributed processing time. As soon as the entity exits the server, a new entity is created. The vehicle should always pick up the next 4 entities. So my problems are: 1) The vehicle stops at Server 1 and i don't know why. But the vehicle delivers the first entity and then doesn't continue on his tour. 2) How can i measure how often the servers are idle? The problem is that the model needs to be changed after i get an entity to each server first. Because i want to measure how often the entities from the source arrive too late at the servers. But therefor each server should have one entity in their input buffer and one entity processing. Can is somehow start the simulation with two entities at each server? How can i realize that? 3) So length of each vehicle is not allowed to be over 12 meters when the vehicle picks up 4 entities. So in my opinion i should use the "Dwell only if" option. For example "StateVariable1<12" I wanted to use a state variable, so every time entity is loaded the length is add to that variable. But i don't know how to realize that. 4) I want to change the amount of the vehicles in the experiments. I did that with a property. Simio will just copy paste the same vehicle with the same abilities right? I hope you can help me with that. Thanks a lot! HeuristicTest.spfx
  12. If you look at the trace it shows you that the last thing that happens is the vehicle is waiting for its dwell time to end. Your vehicle is specified to Dwell Until Full - this applies at every node. You need to use the Dwell Only If property to specify which nodes where you want to wait for that condition. For example: Vehicle.CurrentNode==TransferNode1
  13. Just take a look somehere in help or documentation about Evaluating Transport Request, if token used in this process (so you have to search for tokens as well) is assigned value 0 or less, the entity trying to reserve transport on this vehicle is rejected and have to wait for another try. This is just a simple model, for production use (models with multiple locks) it make a good sense to use object approach as David showed in Elevator Simbit. That way you would be able to have logic in one place.
  14. I want to monitor the time a server is idle as a response feature in an experiment. I think the standard Pivot Grid statistics has the "Time Starved" feature which tells me how long the server is idle. But i want the total idle time of all servers as a response in my experiment. So thought i may use a tally statistic with the value "Server1.Processing.Contents==0" but i don't know how to connect that with a property and i am not so sure if that is correct. I think that might be a common interest so maybe you have a solution for that.
  15. Thank you gocken, but if the problem is not randomization seed, why do I get the same results for, say average or maximum waiting time, from every interactive run? For that specific example model, my intention was to show a single run could give different results for the waiting times but running an experiment with replications could give more reliable estimates.
  16. I want to monitor the total inventory of all servers. Lets say only InputBuffer of all Servers is enough. So i want to see how much buffer i need/have when i have random server failures, repair times and changing processing times (later i also want to add random arrival times). So therefore i was focusing on the HourlyStatistic Simbit which i think is really helpful to get started with the Plots. Because i have many servers i did like in Simbit recommended and created a Server Object. With the intention that i can monitor the inventory of all servers together without doing the assignments for every single server. And then i created some experiments with the total inventory as a response value. I add a small model where u can see my experiments. So it worked but i can only see the inventory for each server. But i want the combined inventory. Goal of my model: Analyzing / Monitoring actual inventory level of all servers while changing failure rates, repair time and processing time. Problems: --> How can i monitor the inventory of all servers together, in the experiments as well as in the plots? I thought i could do that with the server object. --> Can i change a standard library server to my created server object without deleting already created servers and entering everything again? Thank you very much again, that forum helped me already a lot.I hope i could describe my problem clearly. (The model i added consists of 2 servers, 2 sinks, 2 sources. The vehicle transports the entities to the servers. Servers have random failure, repair and processing time. Vehicle drives always the same fixed tour and delivers specific entity to specific server.) InventoryMonitoring.spfx
  17. After playing around the model g1h2j3 uploaded, I figured out that the problem is not the vehichle being an entity. The problem is the path directions. a) The problem is not related to vehicle because "Can transfer in & out of objects" property of the vehicle is false (or off). This means it is not allowed to transfer into sink object via its external node. b) the problem: The vehicle takes two the entities from two sources to deliver to the related sink objects. Due to path design, it has to pass over input@sink2 for two times (one while delivering entity (the green one) for sink2 and again one for coming from sink1 (after delivering the yellow one)) which causes two entity creation of source2 for one transfer. Solution: I redesigned the paths and it worked appropriately. see attached file... ExampleArrivalMode.spfx
  18. OnRunInitialized could have multiple Execute steps with the Token Wait Option of None. So each set of servers would have its own process and its own repair time state. Or, as you seem to have discovered you can bypass the OnRunInitialized option, simplify the processes and simply have a Timer dedicated to each server group and that timer is what initiates the process.
  19. Yes that was exactly what i wanted to do. Works perfect! But how i do that if i want to have several groups of servers with different failure and repairing times? So same situation but several groups with different behavior. Each group of server has its own failure and repairing times. Because i can't have several processes starting " OnRunInitialized". Otherwise i would just copy&paste the same for each group. To let them fail is not the problem. Therefore i can create an distributed timer for each group. For me the problem is again the repair time.
  20. Look at SimBit KeepQueueTimeForLast10Entities. While this actually does much more than what you need to do, the basic approach is the same. Essentially just before an entity enters a queue (Entered process) you record the time on an entity state. Then when you leave the queue (BeforeProcessing process) you calculate the time it spent n the queue and if it exceeds the threshold, then you record it in a Tally.
  21. Hi, The execute step you use to run your car's acceleration increment process is not a "continue" process so the token that enters the execute step in the "EntryRoundaboutOrStop" process waits for the executed process to complete (ie. your acceleration to reach its maximum) before continuing. Because this is done on the "OnEntered" it causes your vehicle to wait at the node for all the processes run by the OnEntered add-on process to complete. This differs from using the "OnExited" add-on process which doesn't wait for it's processes to complete (due to the literal departure from the node onto a path/station being required to execute the "OnExited" add on process). I suspect having used the OnExited instead of the OnEntered in your previous model is what caused the acceleration to work properly. I hope this helps. Michael
  22. Martin - Thank you for the response! I am definitely diving in head first I have figured out how to make the priority properties align but to your point, the Parent Entity won't wait for all Members of that same priority to arrive so as soon as it sees the first, it takes it. Is there a Batch Quantity expression on the Combiner that someone can recommend / or / a combiner property, that will make it wait for the priority to change of the entities in the queue and then take all before that point. or something similar? Thanks! David
  23. Ok. I've been looking for replies almost daily, working on a different side... Now, coming back.. Hopefully an easier question. How can I reset the FlowSource after it has generated a predefined volume of an entity? So, I have a table with sequence of volumes. I need to follow this table and generate sequentially the indicated volumes. Let's say that entity is the same for a start (which is actually wrong and the next step will be selecting the entity simultaneously). Simulation should stop only after all the volumes have been generated. UPD: To make it even simpler. Can I just reset the FlowSource so that after it has generated everything is has (MaximumVolume), it resets the generated volume to zero and proceeds again with this amount?.. For, say, two or three times.
  24. I think I may have figured it out with my colleague's help. I failed to mention that I was running an experiment, replicated 10 times, so I believe the extra max and min columns are the infimums (min of mins) and supremums (max of maxs) from all the 10 replicationed runs. Does this make sense?
  25. When does a resource change capacity when this is requested through a schedule or through an assignment of the CurrentCapacity? When studying the behavior, we deduced the following, but want to check that it is correct (the documentation did not give much information): 1. When the resource is busy (say, fully occupied with a capacity of 5), and the capacity is decreased to 1 or more, all entities that are in process finish their work as scheduled. The effective change apparently takes place after busy entities are finished. (in Arena, this was either the IGNORE or the WAIT behavior). 2. When the resource is busy (say, fully occupied with a capacity of 5), and the capacity is decreased to 0, it immediately stops processing the current entities, which will stay in the Processing queue. When capacity is increased again to 5, the entities are finished. (in Arena, this was the PREEMPT behavior). 3. When the resource is busy (say, fully occupied with a capacity of 5), and the capacity is decreased to 0, it immediately stops processing the current entities. When capacity is increased again to, e.g., 1, all entities seem to finish at the same time. This is strange, because one would expect the entities to be finished one-by-one. This could be considered a bug? Finally, is it possible to implement IGNORE (schedule change starts late if entity busy, but next schedule change remains unchanged), WAIT (schedule change starts late if entity busy, and next schedule change is shifted accordingly) and PREEMPT (schedule change starts immediately) behaviors in Simio? -- Alexander Verbraeck, TU Delft, Netherlands
×
×
  • Create New...