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. Ah, so you want to create 10 different entity types at the same simulation time? Why? What is the fundamental difference between them? Typically, you have 10 initializations of the same type, that you distinguish by giving them various values of state variables, especially in a small model like yours. My suggestion from above will not work. The error happens because you have not set a row in the table. Make your own add-on process that handles it if you really want to do it like that, I do not think the standard library source supports what you are trying to do. I would seriously rethink your approach though, it does not seem right. As for states, if you want your entities to have different processing times, the easiest way is to create a state for your ModelEntity that you use as a processing time. It won't automatically read the values from a table without setting the appropriate row, and the entity does not 'remember' it. Well, it can but that would be a bit more difficult.
  2. Hello, I am currently working on a SIMIO model simulating a maintenance workshop. The model is made of roughly a 1000 entities of various type, going through potentially different paths among 30 servers over the course of a year. I would like to be able to extract an excel file keeping the flow history of each entity, meaning at least the date, the server, and the ID of the entity and of the worker used, for each step of the simulation. I feel like this must be possible to achieve using Tally statistics, but even after reading some simbits solution, I can't figure out a way to do this. Thank you for your help, Clem
  3. Hi, I think the model is using the table to generate entities and assign processing times. In the data table there are couple of rows with PO_Sequence value of 0 and associated processing times with these rows is also 0. So the model is creating all those entities on initialization and all of those entities have an associated processing time of 0. If you increase the maximum number of entities then you can observe that entities are being created and processed based on the table. Thanks,
  4. Hello, I have a model that uses an arrival table to define the sequence to create my entities. In the same table I have the processing times for my servers . I don't know why but seems that my model is simply ignoring my table, entities creation sequence and processing times are not using data from the table. I have tried a lot of things but could not find what is wrong. I hope someone here can help me. Attached is my model. Thanks for the support. Model_2_heads.spfx
  5. The Server knows that there are 20 units on the pallet, but it cannot access the individual processing times for each product without using process logic. Use a Search step to find all the units on the pallet and add the individual processing times to a state on the pallet, then use this state variable as the processing time on the server. To do this, use a process on the Before Processing trigger. Add a Search step to search the QueueState 'ModelEntity.BatchMembers' (and set the Limit property to 'Infinity'). Create 1 state variable on the model - TempStateName, and 1 on the ModelEntity - TotalProcessingTime. Then on the Found branch put as Assign step to assign a State variable the value of the individual processing time for each unit. Setup the Assign state like the following: State Variable: TempStateName, New Value: TempStateName+ (Unit processing time). TempStateName is a variable used to collect the sum of the unit processing time and save that value to the state on the pallet. Then on the Original branch put another Assign step:State Variable:ModelEntity.TotalProcessingTime, New Value: TempStateName. Then add an Assign to reset the TempStateName to 0. On the Server's Processing Time property, put 'ModelEntity.TotalProcessingTime'
  6. I cannot open your model. Please mention that you are using academic license in the future. I do not think there is a good SimBit showing interactions among multiple vehicles. I would strongly advise against that, as you need a node every time (precisely knowing where it happens!) and animation would not look nice. However, what is the purpose of the simulation then, if you know your progress exactly? If you want to show nicely the progress of the works even when you make different progress on various days I suggest doing everything in freespace. This will work only if you accept straight-line movements. You can store the progress in a variable and smoothly iterate in steps. For every day the vehicle will store then e.g. starting position, progress goal, movement direction. Add a vector for a vehicle for progress/distance/whatever for each day. Add a tally for average results among multiple vehicles. With limited number of vehicles you can reference them and create custom events to move around and offset truck from excavator etc. A lot of tedious work. Unless you really need to carry cargo between locations or use multiple resources for a task, use entities instead of vehicles (way simpler). Interaction between entities in freespace will be a challenge though, but you should manage with absolute/relative coordinates.
  7. Hi, I have attached a small example model to show a way to stop creating entities over weekend. I have Sub classed the source object and overridden the 'OnStopEventOccured' process. Within the process, i have added a 'Wait' step to disable entity creation over weekend and an 'Assign' step to enable the process again. Place the sub classed source object within the model and add two events, 'StopEvent' and 'ResetEvent' to the model. 'StopEntityCreationOnWeekend' process within the model checks which day of the week it is and accordingly fires an event which either stops creating new objects from the sub classed source object or starts creating new objects. Change the sub classed source objects 'Stop Event Name' property to 'StopEvent' which will disable the source object if it is a weekend. Similarly,change the event name for the wait step in the sub classed source object to 'ResetEvent' which will enable the source object again. ThanksStopEntityCreationOnWeekend.spfx
  8. I am not sure I understand "released separately". Your 3 entities are processed and then released separately, this is the classic behaviour in a server. But if your server has a capacity =3 and the entities entered it at the same time, they should be released separately but at the same time. If not, there might be a problem in either your capacity, processing time or the "wait" logic...
  9. Thanks ~ this is the approach I've been using but it only achieves 1 & 2. Entities are release separately no mater where I apply the "Wait" process
  10. An "on entered" process which makes entities wait until there are 3 in the queue + a server of capacity 3 could make what you want, I think.
  11. Hello, In my model, all the entities ride on transporters. At a server, the entitie goes through the server and the transporter has to wait at the server until the entity is done, and then pick up the entity and bring the entity to the next location I tried to model this by selecting "Keep reserved if" true, but this is not possible for transporters with a capacity greater then one (the explanation from the simio help guide is included as an attachment). My transporters have a capacity of 5. Is there another way to model this? Thanks!
  12. I am trying to run an experiment for 7 days (with 2 day warm-up) and I was hoping to find out what impact Work Schedules have on this. So I have 8 hour shifts scheduled with various resources scheduled to go off shift at times specified in the work schedule. When running an experiment for 7 days, does SIMIO run during the off-shift period as well because my experiments seem to be extremely slow i.e. if my day shift is 9 am - 5 pm, does the experiment carry on working from 5 pm even though there is no activity at night and start again at 9 am on the Tuesday and so on till the end of the seven days? I now this may be a trivial question and would appreciate any help with this.
  13. I'm not sure what you are asking, but it sounds like the built-in Tally on every sink should provide what you want. It records TimeInSystem and also records the count of completed entities.
  14. I want to delay my vehicle with randomly selected times, which it retrieves from a data table. I have set the delay as Table1.ExpressionProperty1.RandomRow, but it doesn't work the expressiontable has 10 different values for delays and has time as a unit Can someone help me figuring out what is wrong?
  15. Hi. I´m having a very basic doubt about processing times. I have two products which one with a different processing time that varies from server to server, so when the model entity arrives at one specific server, i need to "read" what kind of product is passing and what´s the server in use from a table. I believe that´s an easy problem, but a can´t figure out how to do it. Thanks
  16. Thanks for the reply. I was able to resolve my issue my using a Execute step with the Advanced Option's Token Wait Action set to None (Continue) instead of the default. Thanks to my great Simio coach Bailey Kluczny from Strongside who offered the simple solution.
  17. Hello, I am modeling a range wherein if a workstation encounters a failure while processing an entity, that entity needs to be destroyed and can't simply wait for the workstation to be repaired and then continue processing. The real world application models a failure of a critical piece of gear on boat, which would have to cancel the mission and return to port for repairs. In my case the mission (the entity) cannot wait for the repair, it must be canceled and start the whole process again later. I am really struggling to implement a process where the entity encountering the failure is destroyed when the failure occurs instead of just waiting around. Thanks for any help anyone can offer!
  18. 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.
  19. Hi Willem thanks for replying. Yes I have made and used an arrival table, the problem is all my vehicles leave the source at once i.e. not following the arrival times for some reason.
  20. HI I am a fairly new user and please forgive my confusion. I am working on a project where there are different vehicles coming on different times throughout the night. (for resurfacing etc) I created Arrival table correctly, entered date time values accordingly. The quantity of each vehicle type required is 1. Routing Logic is defined too. I used a Token process as well to guide source. BUT for some reason, when I run the model, all vehicles leave the source at once and then 1st vehicle type keep coming after every hour. BTW it works well if I use no Nodes and simple Source to Sink Path, However, when there are nodes, it mess up and all vehicles leave source at once. Can anyone please tell me what am I doing wrong ? Huge thanks in advance P.S I have attached my current model as well 4 vehicles on time (trying).spfx
  21. There are actually several different problems that must be addressed. The specific question asked was "how can I dynamically change the processing time based on the number of resources allocated?" Perhaps the easiest way to do that is to change the server from its standard "Delay"-based behavior to a "Wait"-based behavior. Instead of delaying for a predetermined "processing" time, you want to wait until the work content is completed. You could take this approach with either a custom object or a library object but let's just look how you could do it with a standard server, lets call it Server1. SETUP 1) Create a level state named Server1WorkContentRemaining with UnitType of Time. 2) Create a Monitor named Server1WorkDone that monitors Server1WorkContentRemaining for a CrossingStateChange to cross the threshold of 0 in the Negative direction. The net of the two above items is that you can set Server1WorkContentRemaining to the value that you might have used for processing time (say 1 hour) and if you set Server1WorkContentRemaining.Rate to -1, then exactly 1 hour later the monitor will detect that Server1WorkContentRemaining has decreased to 0 and trigger the event named Server1WorkDone.Event. There are many nice things about this approach: a) If you set Server1WorkContentRemaining.Rate to the (-)number of resources in use it will automatically countdown appropriately (e.g. twice as fast if 2, 3 times as fast if 3) b) Server1WorkContentRemaining is always accurate no matter how many times it is changed or to what values. For example, if you change to 0 resources allocated, then Server1WorkContentRemaining.Rate would be 0 and Server1WorkContentRemaining would stop changing and continue in process indefinitely. c) It scales to any number of resources. For example if, with 1 minute remaining, you suddenly assign 100 resources to it, the monitor will trigger Server1WorkDone.Event .01 minutes later. MODELING 1) In the Server, select the new ProcessTye of Task Sequence. 2) Inside that TaskSequence select the ProcessType of ProcessName. Then pick a process name or take the auto-created one of Server1_TaskProcessName. 3) Edit Server1_TaskProcessName and add an Assign step and a Wait Step. The Assign step will assign two things, Server1WorkContentRemaining and Server1WorkContentRemaining.Rate. The Wait step will wait on Server1WorkDone.Event. The net of these three steps is that it converts Server1 from being strictly time-based to being event-based where the event is the fact that all of the required work is done. USAGE Well I started off by indicating that there are many aspects to this problem. Those other aspects are how to adjust the resources committed to Server1 based on what is happening elsewhere in the model. I am not addressing that here, so in my simple model I'll simply provide a couple buttons so you can increase and decrease the number of workers devoted to Server1 and see that it is indeed working as described. DynamicallyChangingWorkContent.spfx
  22. Hi, I'd like to build a model with arrival and processing times in data tables. I figured out how to create arrivals based on a table - setting arrival mode on a source object into Arrival Table and linking the table column to Arrival Time Property. A real problem is about how to link processing times in a data table to a server object. I set Processing Time of a server object as the table column, but it doesn't work. I know this is a row reference related error, but I don't want to have the RandomRow option, since the processing time should be selected for each entity in the order of processing times in the table. To make a long story short, I have two tables, each of which is for arrival and processing times. Arrival table.Arrival = 0.1, 0.2, 0.3, 0.4, 0.5 Processing table.Proc = 0.05, 0.06, 0.07, 0.08, 0.09 The 1st entity should be created at 0.1, and its processing time should be 0.05. The 2nd entity should be created at 0.2, and its processing time should be 0.06. The 3rd entity should be created at 0.3, and its processing time should be 0.07. The 4th entity should be created at 0.4, and its processing time should be 0.08. The 5th entity should be created at 0.5, and its processing time should be 0.09. For your information, the file has been attached to this post. Anybody can help me with this? Thanks a lot in advance!! Test_Model.spfx
  23. To help speed up a large batch of operations on a model, I would suggest trying the IModel.BulkUpdate routine. It may help. However, batch removals are hard. Our current code path always tries to keep the errors and error window up to date, which means on every deletion we basically notify every object in the model that something was deleted and give it an opportunity to say "Hey, wait! I was referencing that! Now I need to generate an error..." There may be ways to speed up the removal of a majority of objects from a model, but that is something we'd have to schedule internally on our feature backlog.
  24. Hi everyone: I am trying to simulate a BRT network which is composed by a set of buses (vehicles) that follow a sequence and schedules as well as some passengers (entities) who are generated by sources, transported by vehicles between bus stations (servers), and unloaded in sinks (acting as destinations). Those stations are connected by bus lanes (paths) that are restricted of overtaking maneuvers. If you check the model attached, in Case 1 (silver pool) the operation aforementioned is briefly modelled. However when the Vehicle 1 is boarding/alighting entities, Vehicle 2 must wait in the input buffer of each server until the vehicle that arrived before have finished its operations (as can be modelled in Case 2 (gold pool) if the bus is created as an entity rather than as a vehicle). I have been trying to fix this problem with an advanced option of the Vehicle' properties called "Can Transfer In & Out of Objects" (as can be seen in the image attached), that is good when a vehicle requires to be processed by a server as an entity. Nonetheless, in this scenario the passengers are not carried anymore by the vehicles which is not good. Could anyone help me with this issue? I will really appreciate your support because I am a new user of this great software . Kind regards, Alfredo Armijos. ServersQueueingVehicles.spfx
  25. I am attempting to model the linked operations of a hospital emergency department and laboratory, but am getting suck on a few operational points. Patients come into the ED and are assessed a triage value (1-5) and depending on their value they get routed to different areas with different priorities using data and sequence tables. Also linked to those triage values is a probability that a testing order will be sent to the laboratory. If a test is requested, there are 4 main categories for testing available and their probabilities are also in the table related to each triage value, with an additional probability that the order is STAT priority. Based on the table data, I need to generate a specific order request that can be sent to the laboratory, which for simplicity is "generating" the specimens for testing, I'm using speed limits on the links to simulate specimen travel time for physical specimens vs the instant electronic request. I then need the lab to combine the completed tests and "fulfill" the request, sending back a results ready notice so the patient can be progressed. I would use 3 combiners for this except not every request will demand all 4 options so the combiners would sit and wait, ultimately generating fulfilled reports including all 4 tests. Is there a way I can generate a specific request, with properties to either run or not run 1-4 tests, collect the results and match the completed report back to the patient that it was generated for? The STAT priority flag adds a complication that I'm also unsure how best to represent the analyzer logic where STAT specimens abort all current testing in progress, put the batch tray back to the input buffer, test the STAT then resume. To handle the batch servers i am using the simple object made by dsturrock (http://www.simio.com/forums/viewtopic.php?f=17&t=737&p=2018#p1852) Thank you for any help you can provide, I've been stranded on this for a couple weeks now
×
×
  • Create New...