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!



  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About bmarlin


Recent Profile Visitors

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

  1. I have been running very large experiments that take a few days to run. Murphy's law seems to interfere through either power outages or automatic updates which can cost me a couple of days of computer time. So I found some code using autohotkey and modified it to work great with SIMIO. autohotkey is a free download and easy to use. The below code runs a loop which hits {control S} on the SIMIO window if it is open every 10 minutes. Persistent ;run a loop 100 times saving every ten minutes if your SIMIO file is open. loop, 100 { ;save file every 10 minutes MsgBox, Iteration number is %A_Index%. setTimer, AutoSave, 6000000,on AutoSave: IfWinActive, ;name_of_simio_file_without_spfx_extension Send {Blind}^s return } return
  2. I sent the model to the SIMIO support email address yesterday. Ben
  3. Yesterday I let the model run for 8 hours and then I left - when I came in this morning same error message. I tried running it on external and 32 bit external. I do not believe the model even completed the Initiation - as I have over 20K entities and a warning message used to be displayed when I ran in experiment mode.
  4. Thank you - very informative link. I still have one question. I often get this error No Computation nodes available to run replication when I apply the advaced settings to: Concurrent Replication Limit:0 Replication Runner:External Distribute Runs: False I am using a 64bit Machine with 8 GB RAM and an i7, and I want to keep the jobs on this computer and let SIMIO choose the number of concurrent runs. The model is pretty big and when I run just 1 replication it can take 6 hours. I just need to know what the error means - hoping it is an easy fix. Thanks, Ben
  5. Thank you! That was the problem! Awesome. Ben
  6. Hello, The gist of this problem is assigning teachers to classrooms based on a student teacher ratio using combiners to bring students and teachers together. The problem is if not every student is batched, he or she is left behind...I would like to prevent or at least minimize this. I have 12 combiners (grade levels) who each receive members from separate servers (the previous year). All parents (teachers) are released from one node at the same time (beginning of the school year) which is a set time - established via a monitor. My problem is I want to evenly distribute the parents across all combiners with a ratio of members to parents - each combiner has a different quantity of members. I have no problem with the dynamic ratio as the required number of members per batch and I have gotten pretty close to a correct answer with the attached screen shot, but it is not 100%. For what ever reason, my model will sometimes ignore any rules and assign a parent to a combiner which does not really need it. I have also tried to use a process which searches the combiner member input buffers and uses a set node and transfer step to assign the correct parent - but without luck. Any ideas would be greatly appreciated. This is close to the One Queue For Multiple Servers simbit, but you cannot make the input buffer 0 for a combiner.
  7. I am looking for a bit more clarity regarding running experiments and maximizing the use of a 64 bit machine. Right now I am running on a i7 machine with 8 gb of RAM. Using mid level models when I conduct one replication I see substantial run time improvements when I set the advanced options to: 0, External, False. But I have a couple of questions. 1. With a larger model I have been getting an error: No Computation nodes available to run replication. This is after the model has run for hours and I see the replication runner using over 5GB of RAM on my computer. 2. I have seen when I require multiple replications, often the second and third replication take longer than the first. I thought they would all finish at around the same time as the jobs should be farmed out in parallel. Is this a correct assumption? I am still working on gaining permissions to run the replication runner on multiple machines - but I thought it crucial to get established on one machine first. Thanks for any input.
  8. I am using an older version of SIMIO - the support folks were very helpful and said this is probably the reason for the error. However, I now understand the convert to repeat group capability - very cool. I will update this post once our IT updates the model version. Thanks!
  9. Thank you, I have sent the file into SIMIO Help. In the meantime, I am working to convert lower level tables to repeat groups. The problem seems to lay in a data table which I read in as a matrix. I later reference this array as a distance map - ie I have an understanding of where I am, and I know where an event occurred, so I therefore can look the distance up on a data table. This seems like a property/data table that one would want at the entity level as it is meant as "knowledge". When I make this change, I now get an error because one cannot reference a repeat group property to populate an array - is there a workaround, or do I need to populate this with a set of processes? Thank you.
  10. I have set an experiment with one replication and no control variables - the goal being to see how much faster the model runs in an experiment rather than in the facility view. The facility view model runs fine, however the experiment runs are returning a divide by zero error. This error is pointing in a table which is in a lower level hierarchy object. Is this the cause of the problem? Do all tables need to be at the top level model? Thank you.
  11. OK, I solved this myself. The SIMBIT is helpful and I just needed to wrap my head around the Parent Member relationship. Using this command: [ParentObjectType].BatchMembers.FirstItem.[MemberObjectType].VariableToPass (Without the brackets). Putting this in a process that is called when the batch exits the combiner allows me to pass any information the first item in the batch has with the parent. Ben Marlin
  12. I have a model that uses a combiner to batch two different types of entities, teachers and students. Teachers are the parent entity and students are the members. Each is a different model and has different attributes – but both have a state “myDistrict”. I am having difficulty allowing these to exchange information. I have many different student and teachers entering the combiner. What I would like, is that when a teacher is batched to a set of students, the teacher would take on the same state property “myDistrict”. This is similar to a SIMBIT, however the SIMBIT used the same default entities, which seems to be my problem here. After a certain amount of time, the batch is separated and the teacher can move to a different group with a different “myDistrict”. So the myDistrict state can change for the teacher. On a second note, is it possible to use a string as a Combiner Matching rule. I have no problem using numbers, but when I use a string state I get an error message.
  13. I am having difficulty with the setrow step. For example, I have an entity with multiple attributes which I assign in a repeat property through a table. Based on an entity's attributes it chooses different routes or makes decisions if you will. Currently, I am assigning entity states the respective values of the properties and then referencing the states when I need to use the variable. I can also use the tablename.tablecolumn, but I prefer to work with the attributes. This seems to be redundant, as I set the enties properties to a data table, and then use an assign step to assign a state variable the same value so I can "use it". I believe I should be able to access these properties directly, and I think the setrow is the key. Is there an example out there with an entity - I cannot align this problem with a simbit.
  14. Dave Sturrock thank you very much for the response and of course, arrival tables work very well. João - the example you sent was very helpful and a cool technique to get at this. This problem is solved. Thanks!
  15. I am creating multiple entity types, each with different attributes. Currently I am using a table and random.row to create the mix. The problem is I want the interarrival time for all entities to be the same - the intent being that on exactly the hour 10 entities are created and 3 are of type A, 3 are of type B and 4 are of type C. In this case, RandomRow provides the allotted mix at each time interval, so I get 10 type As at hour one, 10 type Bs at hour two.... I would like to do this without creating multiple tables or multiple Sources as I reference the aforementioned table for the entity attributes. Any ideas would be great.
  • Create New...