Leaderboard
Popular Content
Showing content with the highest reputation since 06/25/2018 in all areas
-
Hi Shu, I think you may want to try Station1.ItemAtIndex(1).is.DefaultEntity. It will return 1 if true, 0 if false. Hope this helps, Lucas.2 points
-
Hello, I have attached a model to demonstrate my approach to this problem. I utilized states and add-on processes to manage the ride capacity of the Vehicle, and a table reference to define the ride capacity required for each entity type. Thanks, Ryan Varying Entity Ride Capacity.spfx2 points
-
Entities are prioritized in server according to the server Ranking Rule. Check my attached model. I set Entity1 priority to 1, Entity2 priority to 2 and told the server to prioritize the ModelEntity with the highest priority value. You can play with that logic to prioritize everything the way you want. entity priority.spfx2 points
-
We have an opportunity for an intermediate to advanced modeller to join us for both a Simio and Operational related role. Relocation to Australia/New Zealand is a prerequisite with Visa sponsorship provided. Please note that a minimum contract duration will be in play. Should you be interested, please pm me, or send your resume with contact details to mark@masterschedulingsolutions.com All conversations will be treated as confidential. Mark2 points
-
Thank you .. this is amazing stuff. By the way, is it possible to import and export Process step as well?2 points
-
Thanks for visiting our Simio User's Forum. This forum has been created to: 1) Share information about Simio, 2) Provide a way for users to communicate with each other and with us, and 3) Provide a mechanism for us to to hear your ideas so we can make the best product possible. Guests If you are Guest (visiting without having registered), you are welcome to browse all our public forums, but we request that you first join our Simio Insiders group before you view the private areas or can post on any areas. Simio Insiders I encourage you to become more involved as a Si2 points
-
Hi everyone I have a simple model (let’s say one source, one server, and one sink). Is the following process possible using Simio: Call Simio e.g. via API or command line or some other program (e.g. R or Python). Start a simulation using an external data source or arrivals and rosters (which is imported to Simio automatically in step 1.) Return a file which contains ALL system state changes, e.g. (T = Time) T = 0 Object ID = 1 Event = arrived T = 1 Object ID = 2 Event = arrived T = 3 Object ID = 1 Event = tran1 point
-
Thanks to you both. Anyway, the approach that I understood the most, it was Mauricio's and I found it really useful.1 point
-
Hi Milad, It seems like you want to Subclass the vehicle object and add a new state to it. Cheers, Lucas.1 point
-
Sebastian, I don't know if this is what you need, but maybe if you change the paths to connectors and set the 4th server input buffer to 0 it might work. rds. block_test1.spfx1 point
-
try simproj format , read it in user manual...basically xml stuff..1 point
-
Hi All, Are their any tricks available to run experiments at a faster rate. currently I run 9 scenarios with 30 replications and it takes hours to Run. Any suggestion would be helpful. Thanks, Regards, Unmesh1 point
-
Hi, Your issue is that Input@STBR_01_54 is a reference to a Simio object. You want to write out the string name of the object. You should use Input@STBR_01_54.Name Regards, Lucas1 point
-
1 point
-
Hi Jeff, I present another, and I think, a more compact approach in the attached model. In this model, I subclassed flownode object. And define a timer element in it. I also defined two properties in this subclassed object as Time_to_repair, time_to_failure. By this way you can use these properties to assign failure times and repair times after failure seperately. hope this helps! all the best, gocken Development 02_subclassed.spfx1 point
-
To the best of my knowlegde every process can be enable or disable by using ProcessName.Enabled. You can assign this state variable true at the beginning of the three hour period (not a must but probabily using a timer element) and false at the and of the three hour period. I hope it works?1 point
-
Sorry Cam.Laboy, I missed this part of your message. Of course you had better to define servers instead of sinks. This time you should use Input@Server instead of Input@Sink in the sequences table. By this way, you can collect some other useful statistics, i.e., payment time, payment queue length etc., as well.1 point
-
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 inherite1 point
-
In order to see the entities accumulated on any path you should first transfer the created entities (which Adam mentioned above) out of the source object. The attached model shows one way of how you can achieve accumulated enities on any path. isThereInputBufferCapa.spfx1 point
-
The Server Initial Capacity property sets the capacity of the processing station within the Server. Regardless of the Initial Capacity value, each Server Object is regarded as a single Resource in terms of the Results provided by the simulation. This is a long way of saying that, if you want to analyze each firm separately, you will need a separate Server for each one or a pool of Secondary Resources like you had mentioned. Happy modeling!1 point
-
I believe Set Table is an old step that was removed. This using Set Row instead, or check this discussion for extra help:1 point
-
Check my attached model. Is that what you're looking for? I created a Expression Property in Object2 and set its value to the Object1_1 state. State Transfer.spfx1 point
-
Hi Alb, What I would suggest is for you to use process logic to create your order entities rather than a source. The Create process step can be used to create entities just like a source, and you can put in logic that looks up the percentages. I would also suggest you use timers or perhaps a source to just create trigger entities that tells your model when to fire events (perform logic). For example, in your above case, perhaps have a source that creates an entity at 7pm, 7:30pm, and 8pm. These entities then trigger the process to be executed that decides the percentage of entities t1 point
-
Is it possible to run stored procedures directly from simio? I have seen that there is the DbExecute step that I can use to run an SQL-statement. Is there something similar for stored procedures?1 point
-
Hi jord41, Simio loads the bound tables once during the initialization in the Simio tables. Data access requires a lot of computing time. (More for writing as reading). I see that you only have 1 column of integer values. My recommendation is that you do not import the table into a Simio table. It's best to create an integer or real state of type vector. Then you use e.g. the Read-Step or the ExcelRead-Step. In conjunction with a timer or the sample example loop of GFurtado you can load the data at intervals. I think that this could be a solution. At least that's how I would1 point
-
If you right-click on the Standard Library you'll see a Show Deprecated Objects option. The Workstation should appear in your library after that, but you could try to solve this using servers instead as a bonus challenge.1 point
-
You can use a trick to do that, as attached...I used a transparent png picture as texture for the resource. haha:) Model toggle resource picture index.spfx1 point
-
Hi Christa, In fact there are many possible ways to model your problem in Simio. The attached one is the simplest one (the most user friendly one). But, not the best one. Some other more fine tuned approaches can be used. Still, this one works well for your purposes. release early3.spfx1 point
-
1 point
-
No, it seems your add-on process is working correctly. How do you transfer the entities to the sink? It seems there is not time advancement between creation and disposing the entities.1 point
-
place a delay step with a constant time (for example 5 minutes) in the same add-on process and examine the results?1 point
-
Desired speed means maximum speed. When there is nothing restricting the entity, it'll travel at its desired speed. If entity's desired speed is 1.4 and the path maximum speed is 2.0, the entity will travel at 1.4. If entity's desired speed is 1.4 and the path maximum speed is 1.0, the entity will travel at 1.0. Initial Desired Speed is a property. Every entity starts at this speed. You can change it mid-run by assigning a new value to the Desired Speed state. It is a constant speed, unless you code it otherwise somehow. Yes, unless the en1 point
-
Yes, you can certainly model this in Simio, and can easily make it terminating. I would suggest reviewing any simulation textbook for verification and validation techniques. The general answer for number of replications is to run for a few (5-10?) replications and look at the half-width on your key output measures. If the HW is too wide, then run additional replications until all your key measures are at the precision you need.1 point
-
Actually I want to include input parameters in there as well.... Thought about writing some process logic to read through a table on run initialized, but I can't use a state for the rows to specifically look at for the starting/ending index for table value input parameters.1 point
-
You need to re-assign the x and z coords of the node during run time (i.e. Node.Location.X and Node.Location.Z).... Best way to do this is with a table with an object reference property.....1 point
-
1) You can find what the save index value means by trial and error. Assign this value to a state variable and place a breakpoint onto the search step. Then, when simulation stops at that breakpoint check the state variable's value. 2) you can use match conditons sequential by using "&&" and "||" mathematical operators. For example, a) match condition with "&&": candidate.modelentity.color="red"&& candidate.modelentity.timecreated<500. The search step will found a modelentity when the expression written for match condition evaluated to "true". Fot match con1 point
-
you can use a search step in an appropriate process (you can create a new process or use an add-on process where needed). In the search step you should search the queustate of modelentity.batchmember. Here you can set a match condition if required. If you do not want to set a match condition the search step will search the first 9 entities in the batch (I assume that the batch quantity is 30. If it is a different value Math.Ceiling(Combiner.BatchQuantity*0.3) expression will be evaluated and will be round up the next integer. (You can use math.floor function as well.) Then in the assign step s1 point
-
I have changed the logic of the server 2's add-on process you included and add an additional search condition to output@server1. Also, delete all others. It seems it works like you want. see how it is? if there are any other issues do not hesitate to ask further pls. RoutingProblem_Myway.spfx1 point
-
I think "TheCombinersName.MemberInputBuffer.Contents.AverageTimeWaiting" is the expression you are looking for. -Adam1 point
-
Hello, I'm trying to model a paint flow line where I have two servers in one line(series and not parallel). If one entity gets painted in server 1, then I want that entity to just pass server two without getting processed. If the entity does not gets painted in server one than it can get processed in Server 2. I'm not sure how I should put this logic in Simio. Any help would be appreciated, thank you.1 point
-
Personally I would use the search block set to search the entity population opposed to the find block. It should also be noted that the Exclusion Expression is evaluated at the start of runtime (if I am not mistaken) hence if this is false, the block will default to false for the entire runtime. Hope this helps.1 point
-
Either in the Load Time property or the Loaded add-on process trigger of the object (let's say Worker1) you could add an expression something like this: (Worker1[1].CurrentNode==TransferNode1)* 5 to get a delay of 5 only when at that specific node.1 point
-
1 point
-
Hello, when i use an Excelwrite step to write something into an Excel Sheet (xlsx) all works fine . However, when i convert the Excel sheet into an Excel Sheet with Macros (xlsm) the data is corrupted after the simio run. Can someone tell me how to write into an Excel.xlsm Sheet with the given ExelWrite Step ? Best regards, Benjamin1 point
-
This script will combine output files from Experiments that use the Write Step. It will average the cells across all selected sheets, and is designed to work with .CSVs that are the same shape. In R Studio, the code needs to be ran as "source" y = 1 x = 1 fileIterate = 1 readline(prompt="Press Enter To Select Files: ") fileSave <- choose.files(default = "", caption = "Select files", multi = TRUE, filters = Filters, index = nrow(Filters)) readline(prompt="Press Enter To Select Output Folder: ") outputFolder <- choose.dir(de1 point
-
1 point
-
You were close, but resources and vehicles all use ResourceState to track their status and that function is referenced by the generic expression: ResourceName.ResourceState.AverageTime(stateValue). You can find the numeric value of StateValue in help if you search on the topic ListStates or ResourceState. In your case the expression might be: Vehicle1[1].ResourceState.AverageTime(7) for Transporterting1 point
-
Hi, The conversion of Distributions to the correct Simio format has been an issue for me for a while, thus I created this macro to convert from @Risk distributions to simio format distributions. I hope that more will share there conversion methods from other software. Regards, Willem DistributionsSimioTo@Risk.xlsm1 point
-
Hi, Can any of these methods be used to write time series data during the simulation run and then at the en of the simulation write it into a database? Thanks, H1 point
-
It's not clear to me if you are looking for waiting time at a particular location, or overall waiting time, but either way, Simio does not calculate that automatically by entity type, so you need to add custom TallyStatistics by entity type to record these. The general procedure is: 1) Create an appropriately named TallyStatistic for each type (e.g. PartAWaitingTime, PartBWaitingTime, ...) 2) Add a state to the ModelEntity definition to hold the queue entry time (e.g. TimeEnteredQueue) 3) When it leaves the queue (when it starts processing) record its waiting time using an expression1 point