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,411 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. 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
  3. ~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.
  4. Hi, I have entities that need to be treated on a Server with a Worker as a secondary ressource, and then once the entity is done on the Server, I would like the Worker to prioritize the Transport of this entity to its next station before being seized elsewhere on another Server. (Entities need to be transported by a Worker) I thought this was what the "Keep Reserved If" function did but it turns out it just makes sure that the same Worker that was treating the entity is the one to move it (but it won't prioritize the Transport of the entity, it will go treating other entities first and then come back to transport it, which is not what I want. Thank you in advance for your help
  5. Hi all, I have a quick question regarding my model. I'm creating a simulation of a train system and have passengers arriving at stations (source) and then entering a vehicle and exiting at a station (sinks). I have collected data that determines the percentage of passengers who exit the train (vehicle) at each station or data which determines the station a passenger will exit given the station they enter. What would be the best method to accurately disembark entities at a specified station. For example, if a passenger enters station A they have a 25% chance of exiting at station B, 25% chance of exiting at station C, and 50% chance of exiting at station D. I've seen a few different examples presented online but have not seen any where an entity uses a vehicle to get to their specified location. Any advice would be greatly appreciated!
  6. 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
  7. 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
  8. I am interested in using task sequencing reading from a data table to solve my issues with multiple tasks being done by different workers at the same time and task precedence. After looking at the simbit related to it (TaskSequenceandWorker) I did not see a way to add probabilistic and conditional columns like when it is done directly into the server. Also is there a way to have a column for entity types and have it only reference rows that are assigned to them.
  9. 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
  10. 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
  11. Hello everyone, I’m new to Simio. I have done a few basic modeling. Now I have encountered a problem and trying to figure out the solution. My simio model have these basic units: 4 combiners: They combine container (parent) and shd (member). 2 seperators: Seperate container and shd. 2 sinks: for parent and member each. 1 source for parent: Triggered by parent sink. Destination will be designated by the combiners proces finished time. This is the problem. 1 vehicle: to move container to the combiners and to the seperator. Combiners have different process times. The path between combiners and seperators is long so there is significant vehicle transport time… I want my source unit to create a parent (container) by triggered sink unit. But “before creating” this entity, the destination of the “will be created entity” will be designated by the combiners process finish time. It means when the “combiner 3” finishes its process, the next created entity destination will be “parent input of combiner 3”. Than when the vehicle seizes the entity (parent/container), the next created entity destination will be the first combiner finishes its process after “combiner 3”. I will try to make this work by “Selection Condition: (Candidate.Node.AssociatedStationLoad==0)” I have created a node list for four combiners parent input. The source destination is the node list. The problem is I can not find any candidate expression to make the right destination choice. Any help, opinion, different approaches will be appreciated. Thanks in advance. Best Regards E.K.
  12. I have an application where a single entity gets worked on by two different operators at the same time with different completion times. This occurs on 10+ workstations in the flow line in the application. What is the best mechanism to model this in Simio? Ideally, I would like to be able to adjust the processing time of each operator to engage in line balancing, and the ability to create standard WIP processes. Thanks, Aytac
  13. Hi- I have symbols of people loaded and a symbol of a truck inside the model and they are also visible on the model background. How to I replace the entity triangle with the people image, and the standard vehicle with the truck? I went to Properties: Vehicle: Animation: Current Symbol: and changed from Vehicle.ResourceState to the Truck but Truck was unrecognized and caused an error.
  14. Hi LizMB, Without evaluating your model in detail, that error is due to a transfer not being completed (transfer request while entity is still being transferred previously). It is typically when you make use of a transfer step and either not end the transfer (using and "End Transfer" step), before transferring it again or when Simio attempts to transfer the entity (due to inherent worker/node/vehicle logic) before the end transfer is completed. It could also be if you interrupt something before a transfer action has completed. What also happens is when you have processes executing e.g. On-Entered and the same entity executes one or more such processes at the same time, resulting in a inherent transfer request before the previous has completed. It could be a matter of timing or the sequence of events, or a problem in your logic. When you are using a transfer step in your logic it is useful to have a process with an End Transfer step that is either subscribed to certain events or executed on an event triggered e.g. StationName.Entered. If you were to interrupt a process/action, you can either fire the trigger event or just use logic to test whether the entity has transferred. With an add-on process it is best to understand the sequence of events happening in the Simio logic and ensure certain logic gets completed first or that you don't have parallel requests at the same time. As you can see there are multiple ways to address something like this and your approach depends on your logic and the system being modeled. Good Luck. H
  15. Hello, I need help figuring out why the transporter(Forklift) is not showing picking up the entity(full pallet) from TransferNode2. See attached model. Thanks! Test4.spfx
  16. Dear Simio employee, I have two questions about 'getting' the average holding time for all the realisations of my subclassed vehicle. I want to know how long an entity is on a vehicle, on average. I tried it with two processes, but both don't work. I don't understand why the following doesn't work (process GemTijdOpAGV): And I also don't understand why the process TijdContainerOpVoertuig doesn't work. I don't understand the error: 'Model Entity does not match the model', or something like that. I created two instances of de model entity, named 'container and pallet', but it seems like I can't use model entity in some processes and in others I can. Why is that and when can you use model entity and when not? (This is also true for instances of a vehicle.) I have attached the model below, but it is still in progress. I hope to hear from you soon! With kind regards, Thomas Haven_v1 project DS model met RS en dus intelligent MTS.spfx
  17. Hi all, I am working on a building evacuation project through Simio. I want to know how can I block a sink object, so entities can not exit through that sink. I also need to know if I can somehow define this situation in referenced property under Experiment and try different scenarios. For example in each scenario I block one of the exits and monitor the number exited (survivors) or evacuation time. My other problem is simulating fire with different rates and interaction of it with the entities, as when they see fire they avoid running toward that direction and change the route. Thank you for your help,
  18. Note: WkA and WkB essentially do the same thing, so I'm essentially just explaining WkA on the seizing worker to make things simpler. What needs to happen: I need Wk1 to wait until WkA is at the output node before processing the entity. Then resume movement (to go to input of BPICK) only after the event of Output@APICKRiderWaiting (basically the processing finished; I found it only works when I use the wait for rider waiting). The same thing needs to happen with BPICK. Then Wk1 needs to head back to nRouter. Current State & Problems: Right now it does not wait to process the entity until WkA/B gets there. I have tried adding that as a row in the events more logic, but it doesn't work. I have also tried putting a Wait step with that as it's event before the other Wait. However, Wk1 still gets to APICK/BPICK and immediately the entity is processed. Wk1 does however work on not moving on until the entity is processed. One problem with that though is that Wk1 does not go back to nRouter after finishing at BPICK. I have tried several things like setting node, but perhaps I didn't have that step in the right place. Both entities have a destination by the way. This next photo is showing the seizing of the worker. The decide and execute steps refer to interrupting processes but all those still include the seizing step you see here. I have also attached my model in case you need to run or see it. It may be hard to follow all the logic on other add-on processes other than the ones I showed you. I have other problems in other areas, but this problem I'm posting about is not that affected by the other problems of the model I think. Though honestly, if you find that you may have a solution or fixes in basic logic to those (because its glaring) then by all means, share them. ((And yes, I have looked at InterruptibleOperator simbit as well as other Interrupting example simbits but am still confused on the whole thing.)) ModelForQuestionCOPY5v.3.spfx Thank you!
  19. Dear CWatson Is this functionality already available? Or maybe you have another idea, how to solve the following problem?: I'm looking for a solution to use the name of a data table as a state of my entity. I have 3 data tables that contain the same parameters but with different values. In the beginning of the simulation, I need the values from Table1 and after a certain time the values from Table2 and in the end those of Table3. How can I choose a table based on the state of an entity? Alternatively, I could merge the 3 tables to one and use multiple columns instead, from which I have to choose based on the state of the entity. But also for this topic I haven't found a simple solution... Thank you in advance for your help! Regards, Sam
  20. We are currently working on entity routing through a medical facility. There are individual servers that represent areas within the facility where patient type, current location, probability, and destination (Input node of next server) are all in one table as one column each. After processing we want to subset the table to only have the specific ModelEntity type, correct current location, and then use TableName.ProbabilityColumn.RandomRow on the subset table to find the destination location. We have not found a functional way to subset the table.
  21. Hello, I am doing a project on buses picking up entities and dropping them off at an office. I have a list of 4 vehicles (each vehicle has different capacity), and they enter the system from a source object called garage. The task performed by these buses area as follow: Go to station > Pick up entities > Drop entities at office > Go to station > Repeat. I name the buses: Bus1, Bus2, Bus3, Bus4. These buses will not depart from the station until they have filled their capacities. The problem I have is that when all 4 transporters are present in the station, the entities would always go to Bus 1 although other buses have waited in the station for a longer time. Let's say Bus1 has filled its capacity and departed to the office. The entities then started loading into Bus2. Before Bus2 is filled, Bus1 has already returned to the bus station. The entities then stopped loading into Bus2 and instead started loading to Bus1. At first, I tried putting "reservation method" as "reserve closest" with a "selection goal" of "preferred order", but it did not work. Then, I tried changing the "selection goal" as "smallest value" and "selection expression" as "Candidate.Vehicle.DirectDistanceTo.Object(Output@BusStation)". However, it still did not work. Any help or idea would be greatly appreciated. Thank you in advance! Please let me know if any of my description is unclear or more information is needed.
  22. Aloha Each time my container entity enters the output of its source I am setting entity destination type "select from list". This list contains the input nodes of all the fillers, and I wish to select the destiny node based on two conditions: 1. depending how many container entities are currently in the station, in the queue, and en route to it. And 2. depending on how much contents the associated tank to that filler has. So for example, if tank 1 has 1500 metric tons but the filler has too many container entities waiting to be processed by it, then, I want my model to select the next best combination of high contents in tank + few container entities in station and queue and en route to the filler which is linked to that tank. I guess condition number 2 is being fulfilled by the "selection goal" I placed, yet I don't know how to achieve condition number 1. I tried adding a selection condition but I don't know how to tell simio that I want to check the associated tank to the filler. I would appreciate it very much if you could help me out
  23. Hi!! I want to know in which object (in this case filler) my container entity is when certain event occurs. Is there a way to access this info? Thank you so much! Teresita
  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. Hey Guys!, first, most of the time I write the answers in a hurry, and when you hurry there may be some points that are overlooked. So, sorry for this incompleteness. And, secondly, Nthabiseng had already given the answer that corrected this deficiency. A little addition to his/her answer can be; you should double-click “created entity” add-on process of source object. Then, the related process will pop-up automatically. Then, as Nthabiseng said, follow the rest of the steps to finish with this process to get the the problem solved.
  • Create New...