Jump to content

Liz Millar

Simio Employee
  • Posts

  • Joined

  • Last visited

  • Days Won


Posts posted by Liz Millar

  1. Our forum now includes Ranks and Badges! These are obtained by participating in certain activities on the forum. Points help you increase your Rank. You can receive points the following ways:

    ·         Commenting or replying on a post = 5 points

    ·         Posting new content = 5 points

    ·         Following an item  = 2 points

    ·         Gaining a follower = 2 points

    ·         Giving a Reaction = 1 point

    ·         Receiving a Reaction = 1 point

    A Badge is an achievement unlocked by reaching milestones. For example, you can receive a badge for your 1st, 10th, or 500th comment or reply on a post! Discover other ways to collect badges by being an active member on our forum.

    Please keep in mind that our forum is a space for Simio users to communicate and share ideas. While you will see Simio employees participating in some areas of the forum, there is no guarantee that your post will be addressed by the Simio team. Therefore, if you would like information on educational opportunities or our product offerings, please contact sales@simio.com. If you require technical product support, please contact support@simio.com.

    • Like 1
  2. Hello, 

    Storing this information in a Data Table and using a Search step might be the best approach. The Search expression will probably need to look for a specific Group and also check that the MaterialName is in stock. If the Table is listed in priority order, you will need to just Search forward until the criteria is met. You will either need to execute the Search step a few times and have a variable for the Group letter, or just have three separate Search steps specifying the exact group. 


  3. I would recommend using a Data Table. One column could have all your entity types defined. The next column could be a Tally Statistic Element Reference Property. This column would match up the Tally statistic you want to correspond with the Entity Type. You could choose to auto-create these Tally Statistics from the Data Table. If you change the Tally Statistic Property's column Reference Type property from 'Reference' to 'Create', this will make the Tally Statistics for you. I recommend the Help page "Table-Based Elements (Auto-Create)" in Simio for more information. 

    If your Entity Instances noted in the Data Table are unique, no duplicates, you can set that column as a Key. With that column as a Key, you could use just the Tally step and use the RowForKey expression. RowForKey will allow a key input to search for in that column. If the model entity is driving the process, you could use an expression like this for the Tally Statistic Name 'Table1[Table1.EntityInstanceProperty1.RowForKey(ModelEntityReference)].TallyStatisticProperty'. 

    Since it seems this process will be on the OnRunEnding, it will not have a reference to a specific entity, so you will most likely need a Search step to find the entities still in the system. I would set the Search step to find Infinite things and let each entity reference exit on the found branch. If the EntityInstanceProperty column in your Data Table has the Auto-set Table Row Reference property to 'True', the entities will already know the row reference and your Tally step Tally Statistic Name property could be 'Table1.TallyStatisticProperty'.

  4. Hello!

    With your current approach, you need a way to aggregate the distance traveled per each entity. Each entity in the population is collecting their own distance traveled, but on the Output Statistic, you are looking at just the Instance, ProductA. The Instance will not automatically aggregate the population's values. If you were to specify a specific population index, for example ProductA[5].DistanceFunction, the Output Statistic would return the 5th entity in the population's distance function and you should see a value. However, making an Output Statistic for each population index would be inefficient and tedious to collect. 

    I recommend using a global/model level State Variable. This State Variable could be summed as a ProductA entities leave the system. So the Product A entities will continue to collect their individual distance traveled as you have set it up, but then prior to exiting through the Sink, add their distance traveled to a running total State Variable. That total could then be divided by the number of entities destroyed giving you an average distance traveled. 

  5. Hi Jason, 

    I recommend using a Notify step with the expression Token.AssociatedObject.Name prior to your Assign step. This will read out the associated object that is executing the process with your Assign step. It might be that the Entity is not the object executing that process. If your entity is not executing the process, you might want to find another process trigger or Search for the entity in the population. If its a process that could be triggered by an entity, or another object, say a Worker, you could start your process with a Decide step that filters out the non-ModelEntity objects. This could be as simple as checking 'Is.ModelEntity' with the Decide step. 

    Happy modeling, 


  6. We are currently updating our forum space! 

    During this time, your posts may be moved from their original location. 

    Here is one way to find your posts and their new location:

    1. Go to your Profile. You can do this by selecting your profile picture in the upper right hand corner, or select your name in the upper right hand corner and then select Profile in the drop down:



    2. Your profile should contain a collection of your posts. You can select your post's title to be direct to its current location. 



    3. The top of the page will list the forum path location.



  7. Hi Alberto, 

    I recommend you take a look at a standard Vehicle object and compare the VehicleX3 to see the updates that were made. Only 6 new Properties were added to the standard Vehicle to make VehicleX3. The numerous other Properties were inherited from the Vehicle and were not changed. There are other small changes for the States, Events, and Elements as well. Doing a comparison between the standard Vehicle and VehicleX3 will be the most beneficial way for you to learn.

    Additionally, all the updated Process Logic in VehicleX3 has been colored. Any grey process steps were inherited from the standard Vehicle. 

    Happy modeling, 


    • Thanks 1
  8. ********************* FOR VERSION 191 AND LATER *******************************


    In Sprint 191, a change was made to the Seize step's On Seized Process and the Release step's On Released Process which impacted the Token Associated and Context Objects. This change effects the logic in VehicleX. For use in Simio versions 190 and earlier, please use the files at the top of this thread.

    Attached is an updated VehicleX (now VehicleX3) for use in Simio 191 and later, as well as the updated examples using VehicleX3. 

    VehicleX3 now will reject an Entity's Transport Request if an operator is not available for that vehicle. This prevents entities from seizing and waiting for an unmanned vehicle. 







    VehicleX3.spfx VehicleWithDriver_VehicleX3_Examples.spfx

    • Thanks 1
  9. John, I too believe Task Sequences could be very useful for your project. For example, for the multiple patient types coming in, you could utilize a Branch Type of 'Conditional'  in your Task Sequence so to only use a certain workflow for that type of patient. There is a general description of Conditional and Probabilistic Branching in the Simio Reference Guide Help page titled "TaskSequence" along with some other helpful information on Task Sequences. 

    Additionally, I recommend you take a look at the SimBits titled "Task Sequence and Worker In Table (from project Task Sequence And Worker)" and "Using Relational Tables to Define Task Resource Lists". If you investigate how Task Sequences are used in these examples, I believe you will find some methods that might help you in your modeling endeavors. 

    If Task Sequences still do not help you achieve your goals, it would be helpful to have more details on what you are trying to do. I think writing your own steps should be resorted to later after other options have been exhausted. If you email in to support@simio.com we can continue our conversation. 

  10. Hi Allyson,

    1)      One option to try would be to create a Function in your Model with the Expression property being  Conveyor_Custom.CapacityCalculation. This Function could then be placed in each of your Conveyor_Custom Initial Traveler Capacity property and would not need to be renamed each time.

    2)      It seems the issue might stem from the NumberOfCells property and not the CapacityCalculation. It could be helpful to revisit how you have defined the NumberOfCells property and where you are using it.



  • Create New...