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,276 results

  1. Hey Forum I have struggled a bit with creating a model that can handle batched parts not at the time. At the company i'm currently working in are they putting units on a trolleys and transports them it from workstation to workstation. But they can only handle one batch at the time, and when they are finish with the batch (eg. 10 units) they send it further, and begin with the next batch in line. This is what i need help to program in simio. I have created a simple model for this experiment with 2 sources, 1 combiner, 1 separator, 1 server and 1 sink. I then would like the separator to wait unbatching, before the server have finished the first arrived batch, and not just send it immediatley. - Thomas Model01.spfx
  2. HI, please find the response. let me know if that's what you were looking for? Just for checking the logic I have changed the cycle time from 10 min to 10 sec for server1. Regards, Unmesh Model01 (1).spfx
  3. Hi atuba, Thank you for your friendly reply! I'm using Matlab 2019a and Simio12 in Windows10. I did try to use the CallMATLAB dll file online, but that required the corresponding software version and system version. I rewrite the code in C# that calls Matlab with cmd. The created dll file works but requires a pause after the CallMatlab step, and it was inconvenient but helped me obtains the experiment result. I will definitely try your suggestion next time the optimization-based simulation is needed. Thank you!
  4. Hi I am trying to retrieve the actual run time of each scenario on my experiment. This information appears below the Scenario manager but I can't copy it (i can't select the text inside the box). I have 100 replications and there are 50+ scenarios so find them individually wold be very time consuming. Can I export this data? or visualize it on some other way? Thank you!
  5. 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?
  6. Hi Jim, Unfortunately, at this time, there is not a way to reference a column name with a string variable. The column needs to be directly specified by name (like MyTable.ColumnName) or you could specify the cell by the table row and column index (like MyTable[RowIndex, ColumnIndex]). The indexes can be State Variables that evaluate to an integer. The caveat is that you can not just specify the column index, the row index needs to be there as well. So assuming you can assign the row, one approach to consider is creating an integer State Variable to save the column index. A Math.If expression could check the group name string, and assigns the integer variable the corresponding column index. Then place the integer variable in the Table column Index. Happy Modeling! Liz
  7. ~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.
  8. 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
  9. 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.
  10. Hi, I need to execute a process only during three hours per day, but I cannot use the timer because It just represent a point in time and I need a period of time Someone can recommend me an simbit, or give me some advice in topic Thanks in advance
  11. 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
  12. 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?
  13. 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
  14. 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
  15. Power BI & Simio Webinar - July 2020 Enhancing your Simio Results using Power BI MORE INFO AND REGISTRATION About the Webinar We're hosting this one to accommodate people in the central time zone as well as for people who missed the previous webinar Simulation modeling has many benefits, namely its ability to forecast and predict multiple scenarios. Simio does an incredible job of providing the user with incredible results, and Power BI enhances these results with useful insights and visualizations. This webinar will provide the benefits of using Power BI for Simio outputs, optimizing your analytics, and giving you a better understanding for decision-making purposes. What will be covered Overview of Power BI benefits with Simio Simulation models Real-world case study of a Simio project using Power BI dashboards Questions and answers for people attending the webinar More details Date: 09 July 2020 Time: 10:00 CAT (UTC +2) Duration: 45 minutes Location: Microsoft Teams (link on registration) Price: Free Hosts Jaco Botha Pr Eng, Managing Director, SE Marco Agas, Webinar Host, SET Presenters Nicolas Finn, Power BI / Simio Trainer, SET Hulda Viljoen, Simulation Engineer, SET
  16. Hi all, I have a model with several servers, each with their own Changeover Matrix for cleaning between jobs. This is done by a Sequence Dependent Setup within the Servers Task Sequence steps. This is working fine when the Cleaning is either done 100% Automatic or 100% Manual with a Worker called as a Secondary resource. Some servers however require partial support from a Worker. For example a COMatrix of X mins needs to include 5 mins support from a Worker at the start and 10 mins support from a worker at the end of the Changeover period, with the middle X - 15 mins in the middle of the CO cleaning period (There are other more complex examples too where the operator will be required half way through the process too to empty the cleaning waste container). Is there a way of saving the COMatrix time, rather than running this delay, so that I can then build an add on process or add further task sequences to break the time into its Automated and Manual Components? Thanks in advance for any suggestions. J
  17. I was wondering if you could adjust the speed of the animation to simulate speed of 1 hour real time to 10 seconds of animation time (like that type of speed.) I would love to see in 10 seconds of animation the speed representing: 10 minutes 30 minutes 1 hour 2 hours 5 hours 10 hours The speed factor seems to only go by the minimum number of frames to display idle animations which I don't really know how to convert to the timing representations I want.
  18. Hello, I was wondering if someone can help me with doing sensitivity analysis in Simio? So I know of the input parameters tab where I can see how much does the Objective function change by changing the time input parameters by 1 minute. But, I'm looking to see how much does a variation in a property in the model, for instance changing mis-identification rate, on the DIDO time and objective function. My thought process was just to run different scenarios and take the difference between the two and that would tell me how much it has a change. Yet, my professor suggested the following and I was still confused about how to do it: "So you can ESTIMATE a derivative by just COMPUTING (g(x + h) – g(x))/h for a small h. This is called “finite differences.” Thus, you can estimate sensitivities by running simulation experiments at different settings. In your case, if p is the nominal probability of misidentification, you can run an experiment at p + h also, then estimate the sensitivity by taking differences. Simio’s internal sensitivity analysis is able to estimate derivatives using a trick that works in some, but not all cases, without the need for an additional run. But when it does not apply you need a different method."
  19. 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.
  20. I have a model where I need to set a server had a maximum of 15 entities from 7 A.M to 10 A.M. I Use the WorkSchedule but I don't know how to limit the number of entities. Can someone help me? *This server it is parallel with other servers.
  21. Hi all, I made a model of a production line (starting with 2 servers) and I am wondering whether it is possible to change the processing time of the second server based on the actual output of the first server. Theoretically seen the processing time of the server 2 = Speed of server 1 * E , in which E is a fixed formula (connected to server 2) to correct the speed. So if the first server performs according to expectation (without failures) for example 40 the processing speed of the second server is equal to 40*E with a delay of the conveyor time between server 1 and server 2. If the server has failure and thus have a lower output (for example, 30), I want to change the processing time of the second server accordingly to 30*E with a delay of the conveyor time between server 1 and server 2. Does anybody have an idea of how to do the following: How can you monitor the actual output of the first server at each timestep? Is it possible to fix the proposed formula and use it in an add-on process? How can you take the conveyor time delay into account (using a delay step in the add-on process?)? I am quite new to the software so I am not sure whether it is possible to model this in Simio. Thank you in advance!
  22. Is there a way to create a column of Time property without date using Simio Table, just like the start time and end time of day pattern of the work schedules? The work schedule doesn't suit my needs.
  23. Hello! I want to make the simulation model which illustrates about the interference time about three kinds of truck. And such trucks enter the warehouse and head to the specific loading spot to do forwarding operation with one goods among four kinds. That is why interference time occur, by which I mean that I have to make model to find the most suitable spot for each goods forwarding activity by switching each spot. However I can not find the accurate properties avoiding each other objects at path, or even allocating several time delay on the situation that they encounter. Anyway, I want to see object avoid each other by decelerating its speed and calculate overall time delay at the result tab. (20 seconds per each interference) If I can apply the time delay, the kind of the object does not matter. I already tried to make the entities play a role as the truck that works mentioned above, but that trial was failed because there are no property to decelerate, or avoid at least.. I sincerely want my dear SIMIO to achieve a success in this modeling.. Thank you!
  24. Hi M_A, Just setting the Sequence property to 'Sequence1' should be enough since you set up relational tables. Because you have Maximum Arrivals set to '1', it is going to produce 1 entity type. I would switch your Maximum Arrivals to '35' and number of entities per arrival to '1'. You will also need to set your interarrival time to '0', so all 35 show up at the same time. It might be best to use a second Source object to create your second shift. I would increase the length of the Ride Station Queue in order to see all 6 passengers boarding the Vehicle. I think the network is fine, but hard to debug. Be sure all travel destinations for the Vehicle are possible. Thanks, Ryan
  25. Hi Ryan, Thank you for the corrections. As always, spot-on advice, that is very appreciated. I do have a few follow up questions. - Do I set the Initial Sequence property to 'Sequence1' or do I need to tell it the row too? 'Sequence1.Sequence'? Sequence 1 is working, but just wondering. - In the SimBit, Entity Follows Sequence With Relational Tables, there are three types of Entities that all flow through the same source with the Source Property, Table Row Referencing, pulling from the JobTable with the Row Number 'JobTable.ProductMix.RandomRow.' For my model, I have two different entities and the source Bldg is supposed to pull BOTH entities with the Table Row Referencing, "JobsTable" with Row Number: "JobsTable.NumberWorkers.RandomRow." But when the model is run, only one entity is ever used. The Table has an ExpressionProperty of Random.Triangular(3,6,9). Is that the problem? The SimBit's table was an actual number. I tried replacing the Expressions with actual numbers and the Entity switched to use the other one but I am still not able to get half the 34 to be one Entity and the other half to be the other Entity. - How do I get the Vehicle to carry its max capacity? The capacity is set to 6, and it only carries up to 4 entities around at any time. This is incorrect, as the Entities are supposed to be grouped into work teams of Random.Triangular(3,6,9) for their initial Source output move. Afterwards they can be individuals or work teams. The Bldg has the Entity Type defined as the JobsTable.Specialty so it should pull from one or the other (like the below mentioned SimBit), and the with Entities Per Arrival Set at 35; and the Entities themselves are set to a population maximum of 17 each and I get a Runtime error of maximum number exceeds limit for the entities. Why doesn't it hit the limit and then pull from the other Entity? - I'm confused about the network you mentioned above. I thought the nodes had to be linked directly (output to input node). So the busy nodes have a lot of paths radiating out from them and it makes it a little messy. Is there a cleaner way to show the routing? Thank you,
  • Create New...