Jump to content

Welcome to the Simio Forum

Welcome to the Simio Forum! Experience the full experience of the forum by becoming a Simio Insider!


New Software Release

Our latest release, Simio 10.174, will be live in July 2018!

Save the Date!

Simio Sync is May 14-15, 2018! More details coming next month.


  • Content count

  • Joined

  • Last visited

Community Reputation

0 Neutral


About gocken

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. First define a real state variable to your modelentity named "livingtime" after its creation. Then make a copy of your modelentity and send the copy of modelentity to a process (maybe called as death_process). Place a delay step and set delay time as modelentity.livingtime. Of course the original one should go its way. Then place a search step and find the original modelenity in the system when the time is up at delay step (while finding the original entity you should set a match condition such as candidate.modelentity.ID==modelentity.ID etc. I am not sure whether the ID's of both entities are same, you should try. If it does not work you should try to match creation times of them (both should be same) or any other user defined state variables or properties). If the search is succesful make necessary controls (i.e., if it owned any resource release them etc.) by placing necessary steps following found branch. You should remove and transfer the found modelentity (it is the original one) to appropriate place. At the end you should place a destroy step following the original branch or even transfer it to appriate place. It depends on your goals.
  2. gocken

    Pickers not avoiding colision

    For your first problem you can place transfer nodes at intersections of lines. By this way the vehicles have to wait each other. and the collisions will be avoided. For your second problem, (I assume that you are using workstation object) you should define an expression property to each modelentity (i.e., processingtime) then assign each modelentity a processing time from its probability distribution. Then while processing them (at a workstation object) set operation quantity as 1 and Processing Time as modelentity.processingtime.
  3. Thank you guys!, It is just an honor for me. I am glad to be a user of this great software and at odd moments it is just a pleasure for me to present my contribution. By the way, I am addicted to simio because its team members are wholly experienced, talented, and friendly people. They take care of customer needs in an agile and responsive manner, follow the requirements of the market closely (by this way they develop simio by including state-of-the-art properties constantly). This way simio gets better and better as the years roll on. All these make me feel like a part of this great team beyond being only a user of it... I appreciate your efforts. Again thank you for all!...
  4. gocken

    Combine several entities in to one entity

    There are many resources that you can benefit from. I suggest you to have a look at "student resources" and "teaching resources" under "academics" title at www.simio.com. Also, I stricly recommend simbits which are small, well-documented models that illustrate a modeling concept or explain how to solve a common problem. You can find out related models by clicking SimBit button on the Support ribbon and searching for the specific term (i.e., storage). Also, I recommend Textbooks for Simio Simulation Software. You can find all of them under "teaching resources". There are many other benefical options for learning simio such as New "Learning Simio Lab Modules" and "video series" which you can reach from https://www.simio.com/academics/simio-academic-resources.php. Learning simio is an ongoing process and you have to update and support your knowledge of using simio by following the forum which will give you some newer insights for how to model specific problems. Welcome to the simulation world!...
  5. gocken

    Combine several entities in to one entity

    It seems the best way to achieve to what u want is to define three storage elements (called barstorage, gridstorage, sheetstorage) just before the combiner object or combiner node. Whenever an entity is put into any of these storages check the the condition u defined (i.e., exactly 4 bars, 4 grids and 8 sheets are exist in the individiual storage) is valid. If the condition is satisfied remove appropriate number entities (exactly 4 bars, 4 grids and 8 sheets) from appropriate storage by using search and remove step and transfer them to combiner object from standard library (or even combiner node object you get from forum) to combine them all. Else wait for the condition to be met. By this way you are able to collect some extra statistics from storages (averge waiting times and average number of each materials in the storage etc...).
  6. gocken

    Project relating to queue

    As far as I understand I included my solution approach. You may wonder that the included logic does not seem work (it will always increases the capacity but wont decrease it). This may be due to your servers processing time or on/off shift schedules. I mean that in order to see how it works you should increase capacity by some predeterimed number (i.e., 10. Currently it is set to 1) and decrease it one each time any entity enters or departs waitingarea1 node. you may also increase run time to further see what happens. I hope this one meets your requirements. Still it will inspire you. NOTE: You should note that the unit time conversions and your problems' values. The logic triggers capacity increments or decrements each time an entity enters or departs from waitingarea1. Note also that waiting times are calculated as averages of those who wait at waitingarea1 transfer node throughout the simulation run. pharmacy_candidate solution.spfx
  7. gocken

    Hourly statistics in experiment

    you should calculate hourly statistics in your model seperately (see hourly statistics simbit for how to). Then you should define TALLY element for those special purpose statistics to collect and reflect them in your experiment results as averages etc.
  8. you can use the same logic as in the simbit I suggested in previous post by using decide steps. Is.PartType==cheeseburger if it is true you can check the appropriate inputbuffer length else Is.PartType==icecream etc... Still it sounds that you had better use task sequences. By this way you are able to define a task sequence for each customer type and you are able to cancel any task (in the sequence) by checking some predefined conditions for that particular task.
  9. Is sequence-based model a necessity? If not try to use the logic defined in AddAndRemoveServerCapacity simbit.
  10. I included a renege logic to hotfood server (see buffer section) and also an add on process at entered add-on of hot food. The renege logic will send the entities waiting at the queue of hotfood after customercapacityformeal state variable is exceeded to the reneged sink. also, add-on process will enable customer to be sent to to the reneged sink after they entered the input buffer of hotfood server. customerspreadsimio.spfx
  11. Examine the attached file. In the model the customers are created according to the proportions of each customer group (i.e., the proportion of hotdrink customers will be 3/329 as you defined). You should note that max arrival property (under stopping condition section of source object) is set to 329. At the end of the simulation run the total number of hotdrink customers can be more or less than 3 due to the randomness. You had better run this simulation for more customers to get those proportions you mentioned. If I were you I run this model for 1 week or month etc. Each customer group follows their sequence accodingly. Sequences are defined in sequences table as well. Do not hesitate for more questions. customerspreadsimio.spfx
  12. gocken


  13. gocken

    Six Sigma & other Lean Concepts

    support! and if possible that would be great to populate them with appropriate descriptions