Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 07/01/2018 in Posts

  1. Pls refer to below paper for integrating simio and M/L algorithms. very good read. SIMIO和机器学习算法的整合框架【AI】Aston大学Andrew Greasley博士.pdf
    2 points
  2. 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.spfx
    2 points
  3. 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. Mark
    2 points
  4. Thank you .. this is amazing stuff. By the way, is it possible to import and export Process step as well?
    2 points
  5. 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 Simio Insider. Insiders will have full access to browse and post in an extended set of forums available just for you. You will find more information on this in Why Become a Simio Insider. There is one more category of membership that is a little harder to achieve. Simio Team Members (employees) are identified as such when we post so you know that we are providing the straight scoop. (This is not to imply by any means that we are always right ) Finally, if you have any other questions about how the forum works, I encourage you to consult the "FAQ" item from the main Forums menu (top center). Again, welcome to the forum. I am always anxious to hear your feedback (positive or negative) and any ideas on how we can improve this forum or our products. Email me anytime using dsturrock at simio.com
    2 points
  6. Check the SimBit project called "Neural Networks" for a detailed example of this new feature.
    1 point
  7. This post contains additional files associated with the paper "Agent-base modeling and simulation in Simio" by Thomas Kehl. The additional files include the original paper, an installer for the Simio Agent Library, the Simio Agent Library user extension, and further documentation. These files were created by Thomas Kehl and are not endorsed or supported by Simio LLC. Note also that these files were published with the paper in 2018 and might be out of date. 1585821475_SimioAgentBasedModeling-ThomasKehl.zip
    1 point
  8. Good to know Simio has embeded ANN in new sprint
    1 point
  9. Hi Alen, I have attached a model with two different approaches to this question. 1. RateTableApproach - the arrival data is stored within a Rate Table. Note: The Rate (events per hour) is influenced by offsets from when the model begins its run, not by the hour of the day. For example, a model begins its run at clock time 7:00:00, the first entry with a Starting Offset of Day 1, 00:00:00 and Ending Offset of Day 1, 01:00:00 would actually correspond to clock time 7:00:00-8:00:00 and not 00:00:00-01:00:00. 2. ProcessLogicApproach - the Arrival Mode is 'Interarrival Time' which is turned on and off via an Add-On Process. Note: You will need to set the Delay step up to correctly account for the clock time you wish to delay before turning on/off arrivals. All the best, Caleb SourceWorkingAsPerTheWorkScheduleForServerAndWorker.spfx
    1 point
  10. Hello Mauricio, Your model is a good approach but it is incomplete because I explained myself a little wrong: What I really meant was that the server the entity came from should not start its processing time. Anyway, thanks for the effort. In case anyone is wondering a similar question, I attach the solution i came up with in a even more complex version. block.spfx
    1 point
  11. 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.spfx
    1 point
  12. A demo model on how to create sub-classed object with moving part, collect stats and show on dashboard. Have fun! ParkingEntryAndExitBoomGates.spfx
    1 point
  13. Today, I found this topic talks about updating data in real-time when simulation is running. I thought it could be useful for me in the future so I decided to try it myself. But, when I used the Read/ExcelRead Step, I found it only "read" the external file at the first time: It seems the Read Step creates a copy of the external file at the first read and then it will use the copy for the future reads within the simulation. For example, at the start of my simulation, I used a button to call ExcelRead Step to read a excel file. Then, I manually changed some values in the excel file and I called the ExcelRead Step again. However, the second ExcelRead Step didn't read the changed values.If I want to use the changed values, I need to restart the simulation. For the Write/ExcelWrite Step, only when I stop the simulation, the external file will be updated. If I don't stop the simulation, no matter how many times I call Write/ExcelWrite Step, the external file is not changed. Are these kinds of behavior bugs? Because from the above topic, I think the Read and Write step can update the external file within the simulation. My Simio version is 12.207.20659. Thanks to everyone in advance!
    1 point
  14. Please find the solution. CreateEntities.spfx
    1 point
  15. since exclusion property checks the expression at the start of the simulation run to determine if this step should be excluded from the run my suggestion does not work. simply omit this suggestion:( and thus decide step before the tally step best suits your purpose.
    1 point
  16. Hi Cam.laboy, I mean you have to define new customer types and include sink objects into their sequences. I attach a picture of how to revise probabilities of these new customers. Hope it helps.
    1 point
  17. simply increase your customer types as credit card and cash payers. For example, expand your table by includeing customer1creditcard and customer1cash, customer2creditcard and customer2cash, customer3creditcard and customer3cash? Also, rearrange their probabilities, sequences, etc. as well. Is it ok?
    1 point
  18. To answer your question specifically with regards to the MultiEchelonSupplyChain example, the OnReplenishOrder process that you see in the process logic of the data table driven example is automatically executed by the Inventory elements when the inventory detects the need to replenish. Go to Definitions -> Elements and click on the Inventory elements and you will see where that process is being referenced. The ShippingReceivingLogic process is being executed when an entity enters any of the BasicNodes placed in the Facility View. For example, click on the DistributionCenter node and in the Add-On Processes -> Entered property you will see the name of that process befiling referenced. The TryFulfillOrder process is executed by the OnCustomerOrder process using an Execute step, which is in term triggered by a customer order arrival. Note that If you are trying to figure out where the name of a process is being referenced, you might go to Project Home in the ribbon UI and go to the Search window. And then search for the name of the process in the model, and it will show you the locations where it is being referenced.
    1 point
  19. As we approach our final stage of our bachelor studies, it is necessary to write a bachelor thesis. In this context we are developing a Simio Plugin, which enables advanced model-management and more important, model-comparison. Our main objective is to provide the Simio Community a properly working Plugin, which improves the modelling process itself and the usability within large Simio-projects. What could you expect? Functionality We separate the plugin in two logical components. The first one is called Modelmanagement. The features of this component are the following: • Versioning models • Clone an existing model The interesting part on this feature is the clone mechanic. You are now able to create an identic clone of an existing Simio-model, which can be altered afterwards. This functionality is key to the comparison process. With this clone-function, each clone now represents a version of your base-model. The clones can be altered autonomically. It enables to test and experiment with the behavior of your model, without many workarounds. It may help you to even optimize your model. The second and more focused feature is the ModelComparer. Once you are done cloning and altering your models, this feature helps you to compare several experiments. The comparison isn’t only limited to experiments within one model, you can compare all the cloned experiments as well. Our model-comparison compares responses of several, different experiments. You can now compare all your clones to determine which one is the most efficient. What are we delivering at this point and why? Attached to this post you can find several files. To ease the installation and setup process of the Plugin, we also created an installer. The installer will setup the required changes and files for our Plugin. It is easy to use and enables the full functionality, like a normal software-installer. Second, we wrote a short manual to show you the features of the Plugin and illustrated it with pictures. Our goal is to gahter feedback as early as possible. Currently, we are in the middle of development and are eager to improve the tool even more. We ask you for your feedback, because it is very important for us to find out, if the tool is viable, how its usability is and if the provided functionality is even appreciated within the community. As we mentioned we are halfway through the development-process, the possibility is given, that some bugs or errors may occur. We also would be very pleased if you could take the time to report these and your experience with the tool and fill in the online survey. Your feedback is very appreciated! Link to the online Survey: http://30raqy.findmind.ch Thank you, Philipp Bütikofer Anthony Delay HSR - Hochschule für Technik Rapperswil Oberseestrasse 10 8640 Rapperswil ModelComparison.zip UserManual.pdf SimioToolsInstaller.zip
    1 point
  20. MultiFailureServer.spfx [/img] in response to the above thread: http://www.simio.com/forums/viewtopic.php?f=1&p=9187#p9187
    1 point
  21. 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 inherited from the standard Vehicle. Happy modeling, Liz
    1 point
  22. You can use seperate servers (each has 1 capacity) each represents individual firms. Create entities (raw products) via a data table where you should also include one column (a node property from object reference property) to represent where the created entity will be processed (as its destination). Then at the output node of the source object set entity destination type property to specific. Then set node name to Table1.NodeInstanceProperty1. The entities will be routed appropriately.
    1 point
  23. I set ModelEntity.Priority = X at Output@SourceX State Assignments property, but it could be assigned anywhere before the server.
    1 point
  24. 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.spfx
    1 point
  25. This option was released on Sprint 191 on June.
    1 point
  26. At some point I would start looking for a SCADA system, write it in Python or anything outside Simio. A Simio Engineer would be better suited to help you, but I still believe you could build this inside Simio (maybe through an API?). I manage to build a very ugly version of this that kinda works. It's not real real-time, because I still need to click on the manual import button (I don't know how to help you with this). I set my source's Arrival Mode to On Event; Create a process with a Decide step that checks if the table received a new value: If it received a new value, trigger SourceEvent; If it didn't, check again a second later. As I said, it's not very elegant, but I hope it inspires you to find the right solution.
    1 point
  27. Updating the data mid-run isn't a good simulation practice, unless you're building some gimmicky application. But I manage to work this out with this little guy in the Table Ribbon. Have you tried it yet?
    1 point
  28. In fact everthing is ok except you did not placed the subclassed sink objects (mysink type objects) into the facility layout. Probably you forgot to drag them from the project library (at the left bottom window) to the facility layout. I attached the fixed version of the same file. Do not hesitate for asking more. cutoff.spfx
    1 point
  29. A sample is attached. Time In System.spfx
    1 point
  30. Hi Tom, thanks for your help! I've found a solution on my own in the meantime (probably not as sophisticated as yours but it works well). I additionally modelled a small version of the lift itself and created a wait process. The triggering event is "vehicle exits Node X". I used the process for my servers ("after processing"). So whenever a chair exits the node, the gates will open. This is actually quite close to reality where the gate opening interval is not fixed but depends on the speed of the lift and the point in time when an empty chair arrives. All the best, Nico
    1 point
  31. Kindly check the attached model for how to search the lowest value , kindly note the lowest value maybe more than 1, so I first search out the lowest value and check again if there is many copies of the lowest value..... all the best! →→→→❤ Model_totalRollContainer_JZ(2).spfx
    1 point
  32. You can sum the "NumberOfRollContainers" whenever a member entity enters the combiner object by using "on member entering" property under "state assignments" section. Then, set this total to the "TotalRollContainers" state variable of the parent objet by using "before exiting" property of combiner object.
    1 point
  33. As far as I know you can not accelerate the speed of an entity on any link? you should use tricky solutions to overcome this difficulty. One of the trick is setting the speed of entities to infinity right after entering node a. then changing the desired speed of path 3 and path 5 to some meaningful values. In the attached model this trick is applied. Note that the assigned values (i.e., Path3.Contents.NumberWaiting) should be replaced by any reasonable values. This assignment is only for illustrative puposes. Note that by this way we made the speed of modelentities limitless but at the same time we limit their speed with the speed of paths. you can do any other tricks as well... One of them maybe changing the type of the modelentities right after entering path 3 and path 5 (say path3_modelentities and path5_modelentities) by creating a copy of the associatedobject. Be sure to destroy the original one. And then whenever you need to increase their speed you should search their population by a search step and then assign appropriate speeds to them individually. These are the ones that come to my mind at the moment, but you can find some better methods by pondering. EntitySpeed4_me.spfx
    1 point
  34. 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
  35. Dear Sean, you can create a new referenced property on WorkSchedule property of Server. and in Experiment windows reference to various pattern-based workschdule name. Best regards/Jeff
    1 point
  36. Heya, At the moment, I got a model in which trucks are following each other, and able to catch-up...till they reach a certain distance between each other. When they reach the desired distance I managed to set the same speed by using the following assign step: ModelEntity.Movement.Rate, new value: ModelEntity.NextEntityAheadOnLink.Movement.Rate. But whenever the entity ahead leaves the links, I obvioulsy get an error. So I would like to know how I let this entity check if there's any Entity ahead? Thanks in advance :).
    1 point
  37. Jay, I have attached the revised model. If you examine the model I have followed somewhat different way to achieve your goals. Resource (1).spfx
    1 point
  38. Hi Team, Good morning, I have a question that I need support. On my simulation under Planning tab then Entity workflow I see the Orders that I created, but also some other items that I don't know where those came from. that is using resources. for example, I highlight on the picture attached on red color. OrderWIP01 is waiting for the grinder [1] on the finish1_1, when I looked for it, I saw that is on Phx4.89. What is that Phx4.89? Phx4 is one of the names of the entities. but why does appear as entity and not as a Order? At the moment I looking for why to increase the output, as the simulation is giving me 17 unit per shift, but engineering said that it should be around 20. I want to make sure the simulation is done correctly. Thanks in advance. Regards, Htatton Arm-boom-draft-R1-test-092718-Test-Scheduled-3tacking.spfx
    1 point
  39. I think "TheCombinersName.MemberInputBuffer.Contents.AverageTimeWaiting" is the expression you are looking for. -Adam
    1 point
  40. I have created a simple model that I believe may have solved this problem. I used a dynamic selection rule of largest value first. I then multiplied the entity priority by the time in system. This expression can be extended to include other factors like the equation in the OP. Visually watching the model, it does as expected. If anyone has any suggestions or a better way to model this, feel free to share! I attached the example model. Example Model.spfx
    1 point
  41. 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
  42. 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, Benjamin
    1 point
  43. It seems the best way to achieve to what u want is to define three storage elements (called barstorage, gridstorage, sheetstorage) just before the combiner object or combiner node. Whenever an entity is put into any of these storages check the the condition u defined (i.e., exactly 4 bars, 4 grids and 8 sheets are exist in the individiual storage) is valid. If the condition is satisfied remove appropriate number entities (exactly 4 bars, 4 grids and 8 sheets) from appropriate storage by using search and remove step and transfer them to combiner object from standard library (or even combiner node object you get from forum) to combine them all. Else wait for the condition to be met. By this way you are able to collect some extra statistics from storages (averge waiting times and average number of each materials in the storage etc...).
    1 point
  44. 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(default = "", caption = "Select folder") fileName <- readline(prompt="Enter Output File Name: ") buildFile <- read.csv(fileSave[fileIterate], header = TRUE, sep = ",") fileIterate = fileIterate + 1 while(fileIterate <= length(fileSave)) { holderFile <- read.csv(fileSave[fileIterate], header = TRUE, sep = ",") while( y <= ncol(buildFile)){ while(x <= nrow(buildFile)){ buildFile[x,y] <- mean(holderFile[x,y],buildFile[x,y]) x = x + 1; } y = y +1; x = 1; } x = 1 y = 1 fileIterate = fileIterate + 1 } fileName <- paste(fileName, ".csv") outputTheFile <- paste(outputFolder, fileName,sep = "\\") write.csv(buildFile, file = outputTheFile)
    1 point
  45. 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 Transporterting
    1 point
  46. If you would like to be automatically notified about new postings to any Simio forum you should subscribe to the Forum by clicking the Follow button. This can be found at the top of every Forum topic (indicated by the red arrow in the screen shot below). Subscribing will ensure that you are among the first to know about each new posting. You can use the same technique to subscribe to any forum of interest to you to ensure that you get the latest news and have the opportunity to participate in any discussions.
    1 point
  47. I ran into a problem with writing data to a MySQL database table from Simio. The issue was MySQL was complaining about the String representation of a node (Node.Name) that I was trying to write to a VARCHAR() type database column using the DBExecute Step (using native sql in the SQL Statement). The error was something on the lines of "Unknown Column in field list". Found the answer on a mySQL posting. The solution is to surround the String value with a single quote (') character when writing it out to using a DBExecute statement. MySQL thinks it reading a column name instead of an actual value (wierd!). For instance, if I wanted to write the String "ABC" to a VARCHAR column, I should instead write "'ABC'" (adding a single quote on either sides of the String). If I wanted to write the Node name to the VARCHAR column, I should write "'" + Node.Name + "'" I thought this might be helpful and save others valuable time debugging.
    1 point
  48. The Combiner object in the standard library assumes that you have a parent entity representing a box or container and members representing the parts that are combined into the parent. In some cases you don't want to have a parent, you just have a number of entities that you want to temporarily join together and process as one. The attached project contains an object of type Node that represents a very simple Combiner and a TestModel to illustrate how it works. The node simply asks for a Batch Size and then holds the incoming entities until that batch size is reached. It creates a "normal" batch so it can be used with the Separator as long as you treat all outbound entities as the same. CombinerNode.spfx Requires Sprint 5.80 or later.
    1 point
  49. Simio LLC is a private company headquartered just outside Pittsburgh Pennsylvania dedicated to delivering leading edge solutions for the design, analysis, and scheduling of complex systems. Our company mission is to lead the industry with a truly innovative family of simulation-based design and scheduling products to improve the productivity of our customers. Simio was founded by a highly experienced team. C. Dennis Pegden, Ph.D., Founder and CEO of Simio LLC, has over 30 years of experience in simulation and scheduling and has been widely recognized as an industry leader. He led in the development of SLAM (marketed by Pritsker and Associates) and then founded Systems Modeling Corporation, now part of Rockwell Automation. Dr. Pegden led the creation of the market-leading simulation products SIMAN® and Arena®, as well as the finite capacity scheduling product Tempo (later renamed RS Scheduler). Many of the same team members who brought you Arena and a long line of industry breakthroughs have now focused their efforts on creating the next generation of simulation tools. This very talented team is bringing to bear an additional 125+ years of combined simulation experience to provide you with the best possible suite of simulation and scheduling tools. Simio has an experienced management team to provide leadership in the day-to-day management of the company. Simio also has an Advisory Board of experienced executives to provide strategic input to long term planning. Simio also has a worldwide network of over 25 very experienced partner companies who supply local sales, training, technical support, and consulting services.
    1 point
×
×
  • Create New...