Jump to content
Simio Forum

Welcome to the Simio Forum

Welcome to the Simio Forum! Experience the full experience of the forum by becoming a Simio Insider! You must be an Insider to post on any forum!


  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Simio Public Forums
    • Welcome and How To Become a Simio Insider
    • Discussions
    • Simio News and Announcements
    • Simio Product Details
    • Simio-Related Positions Desired or Positions Available
  • Forums for Simio Insiders Only (See Public Forums Welcome topic to sign up)
    • SI Help Getting Started
    • SI General Discussions
    • SI Downloads
    • SI Shared Items
    • SI New Feature and Enhancements Submission and Voting
    • SI Ideas & Suggestions
    • SI Bugs and Issues
    • SI Performance Tips
    • SI Challenge Applications
    • SI Non-US Cultures
    • SI User Interface
    • SI Material Handling
    • SI Student Competition
    • SI Educational
    • SI Objects
    • SI Animation and Visualization
    • SI Reporting and Analysis
    • SI Agent Based Modeling
    • SI Scheduling
    • SI Emulation
    • SI Optimization
    • SI API


  • Files
    • Academic Information
    • Product Information
    • Case Studies

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



About Me












Found 1,552 results

  1. Hi Everybody, I'm working on an Airport project with Simio, I'm currently having troubles on some links because when there is a collision, the Path Process OnCollide execute assigning a Movement.Rate of 0, but once there are no entities ahead, the Path Process OnCollisionCleared doesn't execute making the entity staying on the link and blocking the simulation. here is an example: There are two links A and B, the link A has a Capacity of 1 (Image 1) , when an entity wait on the link A, the entity that arrive on lin B detects a collision so it execute the process OnCollide assigning a Movement.Rate of 0 (Image 2), but once the Path A is empty and ready to be occupied (Image 3), the entity on link B stays there blocking the links (Image 4).
  2. Hey!! I have container entities that are waiting to enter a filler. I need (for visualization and logical purposes) the allow passing property of the paths be FALSE, but, when I do this, I can't find the expression that returns the number of container entities waiting on the path to get inside the input buffer of the filler. I am attaching a picture that will clarify the problem. In this scenario, I need an expression that returns 4. I have tried many expressions and none seem to work. Does anybody know how to achieve this? Thank you very much!
  3. Hi All,


    I am trying to look as to how can we create experiments with various schedules in the SIMIO experiment tab.

    Currently I am not using RPS version.

    I have created a schedules for various servers using Simio process logic and schedule table for each server.  I am able to run one schedule and see the resulting performance, but it would be interesting to see how the changes to the sequence of orders changes the performance.  How could I set up experiments to make changes to the sequences in the tables?

  4. I have a data table which has several rows that contain node and some other infomation. I want to move a transporter to a node in that data table and park at that node. Now I have my model and data table like this: In this model, when I click the move button, Myvehcile1 will move to TransferNode1 or TransferNode2( depend on some inputs for Myvehicle1). The problem is because I don't create any ModelEntity, I seize Myvehicle1 by itsself. So, Myvehicle1 is in its visitrequestqueue and it will never stop at a node and it keeps moving between nodes. Below is the process I create to find the node in table and move the transporter. The model file is also included.SimpleModel.spfx Does anyone know how to achieve my goal? Thank you very much!
  5. I have a model with several vehicles transporting different amount of entities. I would like to know the average amount of entities a vehicle transports during one tour. So there is only one TransferNode where the vehicles can load the entities and then they start to their tour and come back to the TransferNode. The best way would be to know the amount of entities a vehicles loads on average on this TransferNode.I need the average value for each vehicle measured over the whole simulation run. But i have no idea how to do that. I would appreciate any suggestions. Thank you very much.
  6. Is there a way I can concatenate string in table for e.g. Col 1 of table 1 has name "Simio" Col 2 of table 1 has name "Simulation" I need to create col 3 in table 1 that says "Simio-Simulation" One way is I do it outside Simio and then import but don't want to do that
  7. A way of achieving what you describe here is to create Column 3 as String State Column. Then you can utilise the OnRunInitialised Process to concatenate the contents of Col 1 & Col 2 using an assign step as follows: Table1[1].StringState1 = Table1[1].StringProperty1 + "-" + Table1[1].StringProperty2
  8. Hello, I have a Arrival Table, but I only want to create Entities of a specific part of the Table based on a property. IntCol Entity 0 A 0 C 1 B 1 c So, the source should create all entities with a certain integer in column 'IntCol'. The integer value is assigned by a referenced property that I can experiment with different parts of the ArrivalTable For example: If Property == 0 , create only A and C in the source. How can I do that? All the best
  9. Hi All, is there a way to make the server waiting for two (or any defined number) entities to begin the processing? I would like the server to begin processing only when two entities has arrived. Then the two entities leaves the server at the same time, and other two begin being processed. Can I do it without defining a process?
  10. Hi Folks, We have a data driven model where entities require a value from a table with n named columns. For example, consider the column names might be "Group1", "Group2", and "Group3". For each randomly selected entity classification based on a random row for example, we wish to randomly select which column to grab a numeric value for that type entity. Each Type has a unique distribution of amounts in the table. Suppose an entity has a string state called MyGroup, and I set that value. For example ModelEntity.MyGroup could be set to "Group1". Is there a way to use that name as a reference to the named column in a data table? I was thinking something like ModelEntity.MyValue set to MyTable.(ModelEntity.MyGroup) would be nice if it worked, but it does not. Is there any way to use that string state value as a reference to a named column in a desired table? Thanks So Much For Any KindThoughts On This, Jim
  11. ~Created 4 entities of the same type-- let's call them EntBB-- with a run initialized process. Had them transferred into a server-- let's call it SrvBB-- output buffer. ~Worker goes and picks up one of those entities and takes to transfer node-- let's call it nBBRouter-- where that particular entity that the worker is carrying should be destroyed. nBBRouter_Entered Process Destroy step: specific object: EntBB[1] SetNode step: specific: Input@Sink1: specific object: Worker1 My problem: the first time around does what I want, but the second time around it destroys one of the entities still in the output buffer instead of the one the worker is carrying. Using the destroy of associated object gets me a different result than what I want, despite destroying the entity I want destroyed, so I can't use that method.
  12. Hello! In your Destroy step, when you reference EntBB[1], you are referencing the entity that has been assigned the first index in the entity population. The indexes of the entity population are based on the current number in the system and are constantly changing due to entities being created and destroyed. I would avoid referencing the entities by their population index. The nBBRouter_Entered Process will first be triggered by the Worker who is dropping off the entity. If the entity is dropped off, the entity will then enter the Transfer Node and trigger the same process. Depending when you want the entity to be destroyed, you have a few options. One option is to add a Decide step to check if the Token executing this process belongs to the Work or the entity. If it is the entity, you can destroy it as it will destroy the object associated with the Token executing the process. If it is the Worker, you might do nothing so that the Worker can enact its default logic and drop off the entity at the node. You might consider adding the SetNode step to be triggered at another point in time after the entity has been dropped off. Another option is to not allow the Worker to unload the entity and instead destroy the entity from the Worker's Ride Station. In the nBBRouter_Entered Process, you might add a Search step to look through the Worker's Ride Station contents. If the Search step finds an entity there, it will then make a corresponding Token that will exit on the Found branch. On the Original branch, the Token belonging to the Worker will resume. Happy modeling! Liz
  13. Hello! One suggestion is to use Key/Foreign relational tables to accomplish your goal. If you have a table that defines your unique entities, you could then set the entity column as a Key. In the Task Sequence Data Table, you could then add the Foreign Key column to specify which rows pertain to the specific entity. This could limit which rows in the Task Table the Entity will have a reference to. Happy modeling, Liz
  14. We are building a model of a medical facility where some patients need to be evacuated out of the model using a vehicle. In its current state, when a patient is in the ward or ICU, it will be determined if they need to evacuate. While they are waiting for an evacuation transport, they will be in a task sequence loop. We would like some way for the patient to seize a spot on the transport, perform the tasks loops, and once the transport arrives at the facility transfer node, the patients break out of their loop, and seize a worker to be carried to the vehicle. We have patients looping correctly and workers carrying the patients to the transport node, but they are not waiting for the vehicle to arrive. Having a condition that breaks the loop when the vehicle is in the loading node is not working because as it leaves its current node does not update quickly enough so entities go to the node that then are not picked up. A potential solution we found was to use the MinimumDwellTimeExpired State variable for the Evac transport in the loop conditional (If transport is dwelling then do not continue the loop and get routed to the transport, if it is not dwelling stay in the loop), however this variable is not public with no apparent way to make it so. We have also tried to make a function in the vehicle to try and mirror the state variable value, but this also did not seem to work as it does not update during the run.
  15. Is there a way to keep them in the loop until the transport arrives, there will never be a point where they are done with the loop until the transport gets there. Right now if they are in the loop I can assign them a modelentity state variable (boolean), then when a vehicle arrives it initiates a process that has a search step with the search condition modelentity.BooleanStateVariable==1 with a return limit of the capacity of the vehicle. the found entities must either interrupt the task or process they are currently doing depending on where they are in the loop and be moved by a worker to the evac node. If that seams like a plausible solution, I just need a process step that can completely cancel a task sequence because the interrupt and suspend steps do not seem to apply to tasks. Once the task sequence is suspended the modelentities should flow to the destination node no problem after leaving the server.
  16. Hello, I have to create a simulation of a manufacturing system which packages spices in cans, and as I am new to simio, I am having a hard time making the model customized to fit the real system. Firstly, I have created 6 different types of entities, which right now processes in random order, by using a rate table for the source. I would like to process these in batches of fixed sizes, but the order can still be random. Secondly, the changeover times are an important part of the model, as we are going to analyze how to reduce them. I defined categories of entities by a list of strings and then a changeover matrix, which a set on a workstation, although I am not sure if this is the correct method. What I really want to see is the time spent on changeover in total, and the number of occurences, but I can't figure out how. I have linked the model. I hope someone can help me a little, this is for a big school project and I keep getting stuck. OpdateretModel.spfx
  17. Hello guys, Does anyone know how to implement the pause of Simio when an algorithm is called from Simio and running? I am doing optimization-based experiments, which are designed to use MATLAB to do the calculation for optimization problems and Simio for discrete event experiments. Calling MATLAB from Simio can be implemented by defining a step to call a C# program that calls MATLAB function. But the problem is the Simio only pauses till MATLAB is opened, and the Simio experiment as well as the MATLAB algorithm will continue simultaneously. The MATLAB result should be introduced into the Simio model to continue the experiment. Is there any idea like seting an event to continue Simio only after the called MATLAB function is finished? Thank you. Shu
  18. Hi I want my simulation to start with some entities at the output node of a server. Is that possible? Thanks in advance Janus
  19. Hi I need reference to some sort of property that can help me store entities in my transfer node(shelf). I have used the Park property but then I am not sure on how I can release it when the transporter is told to arrive at the transfer node(shelf) to pick up certain of those parked entities. Any help is appreciated. Thank you
  20. Hi! I would like to use a Create Step and create, e.g. two entities. But when I'll create them, i want to assign different state values, e.g. Entity1: 20 and Entity2: 50. Therefore, is there a way to assign different values to the entities?
  21. Hi all, how would you approach this model? Workers are transporters and must be present at the servers to supervise each step. For now I have one worker and am using a personal edition of Simio. Server1 is an observation microscope where entities pass through a survey step. Server2 is a robot dispensing glue that has a finite window of appropriate elasticity after mixing. I started my model with a version very similar to the MoveableOperator where my worker goes back and forth between two servers running 6 entities individually before switching... six being the number of entities we believe can be processed with one batch of glue. When trying to model the delay step of glue mixing (ideally with worker movement to a separate node or location) I thought to add it as the first in a task sequence at Server2 with the condition that it only need to be applied when the server buffer was full of the 6 entities. This seemed to not fit well with the priority decisions that the worker already had for movement and the worker stalled. Basically, how would you model the fact that every 90 minutes we need a 15 minute delay for glue mixing and that once the glue is mixed the priority needs to be at Server2 until glue elasticity runs out?
  22. OK I used worker transport logic to "dwell until full" for my transporting 2 entities.
  23. Other questions: What expression would tell the worker to ALWAYS transport two entities? I want my workers to finish all server runs before going on lunch break or end of shift. Entities will never be unattended nor will workers be interrupted to restart server time later. What's a good solution for that?
  24. I'm currently creating a model of my local public transportation system. I have calculated the arrival rates for entities in 30 minute intervals (the arrival rate will change every 30 minutes). Is it possible to create a schedule that allows the source block to change the entity creation rate every 30 minutes? I would also like to create a different disembarkment percentage for each station (sink) to unload passengers based off my collected data. Is it possible to allow the "Entity Destination Type" to assign a percentage to each entity designating which stop it will get off i.e. 50% to get off at stop 2 and 50% to get off at stop 3? Any information or similar modeling techniques would be greatly appreciated.
  25. Hello, guys, I do not know how to determine if a detached queue contains a certain kind of entity. I create an element station1 and a detached queue which sets the queue state as Station1.Contents. In Decide step, the station1.contents only returns the number of objects in the station, and I cannot use contains(obj) after station.contents, even though contains(obj) is a function for QueueState and Station.Contents should return the queue of entities currently located in the station, according to the help documentation. Is there any method to access the candidates or objects in the self-defined station? Thank you! Shu
  • Create New...