Jump to content

Leaderboard

Popular Content

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

  1. 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
    5 points
  2. A demo model on how to create sub-classed object with moving part, collect stats and show on dashboard. Have fun! ParkingEntryAndExitBoomGates.spfx
    3 points
  3. Hello, I am trying to use git to track changes when working on Simio projects collaboratively. For this I am saving the project as *.simproj and the resulting file and folder structure looks good. But there are too many time stamp changes that make it difficult to track the "important" changes. For example, I only changed the location of the DefaultEntity in the model and hit save. The resulting changes are shown in the attached screenshot, with 20 files shown as changed. The main changes are related to the time stamp. Is there a way to configure Simio such that fewer files will be affected by each change? Thank you. Annika
    2 points
  4. Hi Annika, Check out the Support Source Control option in the Project Properties. (Right click the project in the Navigation Window to access Project Properties)
    2 points
  5. Simio’s neural network implementation allows the import and export of ONNX files, which ensure that Simio is compatible with many machine learning frameworks. This format is well-documented, and there are many third-party packages and applications that can help you convert machine learning models to/from ONNX, or to open and view ONNX files. The attached document provides a basic summary for several of these packages, including tensorflow-onnx, onnx2pytorch, and Netron. Please note that none of these packages are affiliated with Simio, so any issues or limitations of these packages can be discussed on the package’s GitHub page. ONNX Format Utilities.pdf
    2 points
  6. People often want to model two or more vehicles or entities moving together. There are a few components to this: 1) Seizing the resource appropriately - can be done in processes, but often best done within the vehicle object to make the modeling easier. Here, a vehicle has 4 properties added to support use of an operator. 2) Animating them moving together - the picture below shows use of a second queue animated on the custom vehicle. 3) In some cases, you also need the "driver" to be shown moving. The Attached Animation Speed illustrated below, accomplishes that. I have attached a model that uses a custom vehicle object to model a wheelchair which is "driven" (pushed) by a person to pick up a patient. *********** FOR VERSION 190 AND EARLIER ************************************* VehicleWithDriver.spfx You could use the same approch, possibly with just animation changes, to model something like a truck or forklift that requires a driver. In fact, I just added a second model to that same project that illustrates use in manufacturing (e.g. a lift truck and driver).VehicleWithDriver.spfx VehicleWithDriver.spfx *********************************************************************************** ************** FOR VERSION 191 AND LATER *********************************** VehicleX3.spfx VehicleWithDriver_VehicleX3_Examples.spfx For more information on the update, see the post below. ***********************************************************************************
    2 points
  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
    2 points
  8. Pls refer to below paper for integrating simio and M/L algorithms. very good read. SIMIO和机器学习算法的整合框架【AI】Aston大学Andrew Greasley博士.pdf
    2 points
  9. 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
  10. 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 would do it if I had to work with real-time data. Normally, such real-time data is written to a SQL database by a PLC or something like that. Then you can use the SQL steps anytime in Simio. Best regards Pascal
    2 points
  11. 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.
    2 points
  12. Hi all, I met some questions in building the model. It seems a very general quesiton but I didn't find any solution from internet... I'm building a general workflow model. I want to decide the quantity of a server to optimize the workflow. I want to use experiments or optquest to get the 'best' number for each server. If I set the capacity type as Fixed, then I can set the initial capacity as ''referenced property'', then I can use this as control in experiments/optquest. However, I have a work schedule for each server now which means I couldn't set the capacity type as Fixed. And then I couldn't set capacity as ''referenced property''. I don't know how to control this capacity in my experiments/optquest. I know I can change the 'value'(which means the capacity) in workschedule table. But I can not change this number flexible in experiments... Or I don't know how to set this value as ''referenced property'' . Is there anyone who could help me with this? Thanks a lot!
    2 points
  13. 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
  14. Thank you .. this is amazing stuff. By the way, is it possible to import and export Process step as well?
    2 points
  15. Is there an example or a SimBit which shows how to do this?
    2 points
  16. We would like to let everyone join Simio Insiders, but since some of the topics discuss unreleased competitive advantages, you must first agree that you won't "borrow" Simio ideas and share them with our competitors. If you can agree to that then please request membership in Simio Insiders at our signup page. Note that free emails such as hotmail and yahoo may not be accepted. We will contact you when your request to join Simio Insiders is approved. Welcome to the group.
    2 points
  17. Simio is a simulation modeling framework based on intelligent objects. The intelligent objects are built by modelers and then may be reused in multiple modeling projects. Objects can be stored in libraries and easily shared. A beginning modeler may prefer to use pre-built objects from libraries; however the system is designed to make it easy for even beginning modelers to build their own intelligent objects for use in building hierarchical models. An object might be a machine, robot, airplane, customer, doctor, tank, bus, ship, or any other thing that you might encounter in your system. A model is built by combining objects that represent the physical components of the system. A Simio model looks like the real system. The model logic and animation is built as a single step. An object may be animated to reflect the changing state of the object. For example a forklift truck raises and lowers its lift, a robot opens and closes its gripper, and a battle tank turns its turret. The animated model provides a moving picture of the system in operation. Objects are built using the concepts of object orientation. However unlike other object oriented simulation systems, the process of building an object is very simple and completely graphical. There is no need to write programming code to create new objects. The activity of building an object in Simio is identical to the activity of building a model – in fact there is no difference between an object and a model. This concept is referred to as the equivalence principle and is central to the design of Simio. Whenever you build a model it is by definition an object that can be instantiated into another model. For example, if you combine two machines and a robot into a model of a work cell, the work cell model is itself an object that can then be instantiated any number of times into other models. The work cell is an object just like the machines and robot are objects. In Simio there is no way to separate the idea of building a model from the concept of building an object. Every model that is built in Simio is automatically a building block that can be used in building higher level models.
    2 points
  18. This light-weight add-in is for importing experiment from .csv file. In order to use that, just unzip the attachment and put the ImportExperiment.dll under the UserExtensions folder of your Simio. For those who want to check the source code, the whole solution is also inside the zip file. This add-in reads control values from you input file and creates scenarios. You can either create a new experiment for your model, or append scenarios to your existing experiment. The number of columns of your .csv file should be the same as the number of controls of your model. For example, if your model has three controls: NumDoctor, NumNurse, NumRoom, then running the add-in with the following input file will give you an experiment with 5 scenarios input.csv: 3, 3, 2 2, 3, 2 1, 3, 1 2, 2, 1 3, 1, 1 ImportExperiment.zip
    1 point
  19. Hi! Yes, there is a way. What you could do is use a String.Format expression. This way you can show multiple variables on the dynamic text. On your case something like: String.Format("{0}: {1} {2}{3}: {4}", "Material Costs", MyModelEntity.MaterialCosts, String.NewLine, "ProductionCosts", MyModelEntity.ProductionCosts) should work. As a plus, you could use a state to disable/enable these labels with a button and a process. Something like: Math.If(EnableTxT, String.Format("{0}: {1} {2}{3}: {4}", "State1", ModelEntity.State1, String.NewLine, "State2", ModelEntity.State2), "")
    1 point
  20. I have attached a simple model using model states to illustrate. I think it should work in a similar fashion using entity states. First, I define the states: Then use those states as Sequence destinations: Until you provide each of those states a value, the Sequence will make no sense and the entity won't know where to go. So on the Source I use an Assign to initialize all the values. This will direct the entity sequentially through Servers 1-4, and then to the Sink: Finally, just to illustrate the technique, on the output node of Server3, I interrupt the normal sequence by Assigning it to instead go to Server5 as its 4th step: If you convert these states to Entity states instead (I was just lazy), I think it should work the same but allow you to selectively override any Sequence Step at any time. UsingStatesInSequences.spfx
    1 point
  21. To make an entity wait until the runway is free what you could do is set the Initial Traveler Capacity of the Runway path to 1. This way entities will wait at the node before entering the path. I did not understand the first question, but if you need entities to visually appear behind one another, set Allow Passing to False on the path. Alternatively, you could use conveyor instead of path to make entities allign and respect some distance. Hope it helps.
    1 point
  22. Good to know Simio has embeded ANN in new sprint
    1 point
  23. About the job Position: Industrial Simulation Services, Simulation Developer Location: Kitchener, Ontario Experience: 3-5 Years of relevant work experience Division: OTTO Motors Area of Study: Industrial/ Mechanical/ Mechatronics/ Systems Engineering NOTE: Must be able to travel to the U.S at time of application. About Clearpath Robotics Inc. Clearpath Robotics Inc. develops the future of robotics technology through development and sale of industry-leading self-driving technology, products, and services to over 500 of the world’s most innovative brands. Proprietary hardware, software, and services are delivered through the company’s research and industrial divisions: Clearpath Robotics and OTTO™ Motors. Clearpath Robotics Inc. is an award-winning company with recent awards including Robotics Business Review Top 50 Robotics Company, Edison Award for Innovation, Business Insider Top 40 under 40, and Canada’s Top 100 Employers. About Clearpath Robotics Research Solutions Clearpath Robotics’ research solutions group is a global leader in unmanned vehicle robotics for research and development, and provides hardware, software, and services to enable self-driving vehicle development, deployment, and operation. Clearpath Robotics works with over 500 of the world’s most innovative brands in over 40 countries, serving markets that span mining, military, agriculture, aerospace, and academia. Visit Clearpath Robotics atwww.clearpathrobotics.com. About OTTO™ Motors OTTO™ Motors is making material handling in industrial settings safer, easier, and more efficient through development of hardware and software that automates movement of goods in busy factories and warehouses. The company’s industry-leading self driving technology provides automated and on-demand material handling in the most demanding industrial environments, spanning automotive, medical device, aerospace, logistics, and more. Customers trusting their mission-critical material handling needs to OTTO Motors include Fortune 100 brands GE, Toyota, and Caterpillar. For more information visitwww.ottomotors.com. About the Job Having 10’s of robots run around our offices is great, but having hundreds of robots running around inside our computers is even better. Rich simulation environments offer a wide range of benefits to many aspects of our business: fast research, development and validation, sharp marketing tools and strong customer experience / support. We're looking for a Simulation Developer to create and run simulations that will help us optimize our robot fleets and system solutions. As a part of the Industrial Simulation Services (ISS) team, you will act as a subject matter expert and lead modeling and simulation activities. The ISS team works closely with our Systems Engineering, Applications Engineering and Project Management team, to support overall solution design from initial concept all the way to full system design and deployment. You will be building material flow strategies (based on self-driving vehicles) for products already in our arsenal and ones that do not yet exist. Your goal is to develop accurate and robust simulations to evaluate design, lower risk, and enhance the elegance of our solutions to fuel our growth. Primary Responsibilities Creating discrete event simulations for real and hypothetical systems, estimating fleet sizes, identifying traffic bottlenecks, testing what-if scenarios to optimize performance of robot fleets Consulting with project leads, sales team members and customers to obtain understanding of the requirements and to collect the necessary inputs Advising on simulation based metrics to evaluate system risks and performance Analyzing results and making recommendations for facility and material flow design Presenting your simulation results to our team of engineers, our sales team, and to clients Validating models against real world data to maintain accuracy relative to product portfolio Growing and improving our simulation library and internal templates for functionality, accuracy, scalability and efficiency Drafting functional specifications, proposals and effort estimation Recommending product feature and improvement ideas to our Product and Engineering teams, that lead to greater system optimization in the real world Additional tasks may include: Interacting with our development team as necessary to assess impact of new feature or product Developing simulation models to assist Sales & Marketing in demonstrating Clearpath's products and capabilities Using your expertise to assist our engineering services group in developing the more complex system concepts About You You're excited about the role that robots will play in the future, and intrigued by the challenge of joining a young company in this high-growth market. You have skills and experience that you know can make a difference with the Clearpath team, whether we're looking for them or not. You are driven and view work as more than just a job. You are motivated by making an impact on your workplace and you thrive on challenging and rewarding problems. Most of all, you want to be on the right side during the coming robot revolution. The ideal candidate will have: Proven success using simulation solutions to evaluate feasibility of facility design or operational changes Experience with discrete event simulation tools like Simio, AutoMod, AnyLogic, FlexSim, Delmia, and understanding of its limitations Experience collaborating with cross-functional and external client teams to gather comprehensive data required for model development and/or analysis Fearless in questioning to ensure end users get the most value out of your work. You understand the importance of early goal alignment and scope definition Effectively communicate complex model functionality to the client or internal team for assurance of model results accuracy Customer-first mindset Avid self-learner Ability to work independently with minimal supervision and manage deadlines. Able to cope with sudden jarring changes in projects, priorities, and the local gravity field. Bonus Points for: Experience identifying traffic and material flow bottlenecks and mitigating risk Experience in manufacturing industry Understanding of different industry warehouses. You see block diagrams and flowcharts everywhere and speak the language. Experience with Object-Oriented programming Working knowledge of one or more of C#, Python, VB.NET Exposure to working with ROS, Gazebo Past participation in simulation challenges What’s in it for you: Flexible Hours, Health Benefits, Parental Leave, Vacation, Equity, Community Days (paid), Half-Day Birthdays, Passionate and Dedicated Teams Curious to know more about the culture at Clearpath & OTTO, check out: https://clearpathrobotics.com/blog/category/blog/culture/ Come join us if you feel like our values resonate with you, and if you are interested in being a part of making industrial workplaces safer and revolutionizing automation. At Clearpath, we are committed to building and supporting a culture of diversity, inclusion, and accessibility. We hire the best talent regardless of race, color, creed, national origin, ancestry, disability, marital status, age, veteran status, six, sixual orientation, gender identity, and expression. If you require special accommodation to complete any portion of the application or interview process, please contact 1-800-301-3863.
    1 point
  24. 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
  25. 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
  26. 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, Lucas
    1 point
  27. Please find the solution. CreateEntities.spfx
    1 point
  28. 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
  29. 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.spfx
    1 point
  30. 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
  31. I set ModelEntity.Priority = X at Output@SourceX State Assignments property, but it could be assigned anywhere before the server.
    1 point
  32. 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
  33. Alternatively, you could limit the number of entities created by the source. Check Maximum Arrivals property under your source's Stopping Conditions.
    1 point
  34. I'm not sure, because I never done this course. Maybe something like this?
    1 point
  35. 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
  36. Because we assign the speed of path 3 and 5 to PathXXX.Contents.NumberWaiting at assign3 step of process 1 which is triggered whenever an entity enters node A. As I said in my previous post this expression may not serve your purposes. This is only for illustrative purposes. Here the message is you can increase all existing entities' speed (but all of them at the same time) on path 3 and path 5 whenever the process1 is triggered. Also, you can trigger process 1 by using monitor elements (which seems more suitable for your purposes). For example, using a monitor element you can track the number of entities on each path seperately and whenever this value crosses some treshold value (got congested) you can trigger process1 using monitor element. Note that in your attached model status labels shows how many enitities exist on each path. At the end, change the assignment expression of assign3 step of process1 accordingly.
    1 point
  37. Check the server property Ranking Rule. This property determines the order entities are processed. Look at the attached model. I assign the Entity.Priority when it cames out of the sources and set my server to rank entities based on the Entity.Priority expression. I hope it helps. EntityPriority.spfx
    1 point
  38. For each location where you want to start a time interval (Server 1 and "the very beginning" in your example) you would need to add a state to the ModelEntity (NOT to the model). Then for each place you want to end a time interval (server6, "the very end", and server4 in your example), you would need to add a TallyStatistic element and Tally and observation at the point. For example to record the time between between Server1 and Server6: create a modelentity state named TimeDepartingServer1 assign TimeDepartingServer1 the value of TimeNow when entity departs Server1 create a TallyStatistic element named Server1ToServer6Time record a Tally observation (using node or Tally step) at Server6 recording the value TimeNow-TimeDepartingServer1 to Server1ToServer6Time add a status or floor label using the expression Server1ToServer6Time.Average
    1 point
  39. Maybe you could create several property of type 'Interger' and reference them in the value row..like below... and in the experiments you should be able to see them as controls to optimizer. Best regards/Jeff Zhou
    1 point
  40. why do you use source? In Workstation 1_exited step you can just increase the currentrownumber by one using an assign step and use a create step just after this assign step, set its properties using any table (and also currentrownumber state variable). and transfer this entity to the appropriate place. you do not need to use source step?
    1 point
  41. a! You may refer to Simbits ‘serverusingtasksequcencewithdatatables_sequencedenpendentSetups
    1 point
  42. If the entity is created (similar to the Bicycle Assembly example in Simio) using an arrival table where the arrival time is specified in the table, the entity will automatically be assigned the associated row in that table. To assign a row reference to an entity without such logic, you would have to have the entity enter an add-on process when it is created and then use the SetRow step to assign the entity an associated row in a given table. The GlobalCurrentRowNumber you mention above could be used as the RowNumber assigned for the entity within the SetRow step, provided there were no conflicts with relational tables.
    1 point
  43. 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 set the required statevariable of modelentity to the new value.
    1 point
  44. I think 2 more entities (at ridestation of vehicle) for server 1 forces vehicle to wait at server 1. Because they have nowhere to go or wait ? Increasing the capacities of inputbuffers of both servers should solve this problem? if this option is not possible for your problem setting then you have to know how many entities to send from source to servers exactly? or think about many other solutions...
    1 point
  45. 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
  46. I always wanted an easy way to make my models look tidy. One of our developers created this add-in which can align and evenly distribute nodes or objects added to a list. I think usage is pretty easy and will help in building models with many nodes etc. Feel free to use it as a early christmas gift from LOGIO. SimioAlignAddon (2).rar Would be nice if someone in SIMIO will integrate the code into standart product in future, so we can just select multiple objects and align with rightclick. Petr
    1 point
  47. 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
  48. 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...