Jump to content

Welcome to the Simio Forum

Welcome to the Simio Forum! Experience the full experience of the forum by becoming a Simio Insider!


New Software Release

Our latest release, Simio 10.174, will be live in July 2018!

Save the Date!

Simio Sync is May 14-15, 2018! More details coming next month.


  • Content count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About SimioSupport


Recent Profile Visitors

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

  1. 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.
  2. How do you customize symbols? 1) You can use the built-in Simio Library symbols and you can easily make minor changes to them (such as changing the shirt color on a person), but you are limited in the changes you can make. 2) You can use the built-in Download Symbol links to Google (Trimble) 3D Warehouse to import any of those symbols into your project. Sometimes you want to do more customizing than this. But you can still do this with the following steps. 3) You can go directly to Google 3D Warehouse (http://sketchup.google.com/3dwarehouse/), select the symbols you like, and download the sketchup file to your local drive. Then you can use Sketchup to edit those symbols to meet your needs. 4) You can create your own symbol. It is pretty easy to learn enough Sketchup for simple editing. And with a little time, you can learn how to create fairly sophisticated symbols. 5) If you like the Simio Library symbols, you can start with the sketchup versions of the Simio Library, and again use Sketchup to edit them as needed. You can find these symbols at http://www.simio.com/downloads/public/SimioSketchupSymbols.zip. Note that most of these are what is known as "low polygon count" (or simply "low-poly") symbols. Most of them originated from the 3D Warehouse, but have been simplified to make them smaller and faster to animate. If you want a better quality of image, see step 4. For steps 3-5 above, you can go to the Project > Symbols panel in Simio and Import Symbol, and do any final customizations before use. You can also save any of the symbols from above into your own library for use in other projects by going to the Project > Symbols panel in Simio then use the Save To Library feature.
  3. First of all there are "functions" and "Functions" that should not be confused. The generic "function" (lower case) refers to built-in calculations that are available as part of Simio. For example fixed objects (like server) have a function named "NumberInSystem". "Functions" (with an uppercase) are a feature avaiable to users: Essentially a "Function" is a user-defined "function". While using a Function itself does not provide much that is not already available by typing the expression directly, the main benefit is to be able to abstract details from the model to make the model easier to understand, use, and maintain. Functions are most useful for sharing an expression across several objects. For example if you have a complex expression for calculating a processing time, and you use that expression in several different places, you can instead make that expression a function. This can make your model easier to maintain, since you can now update the expression in just one place and the new value will be returned everywhere that uses the function. You can also use Functions simply to make your model easier to read. Rather than having the complex expression directly referenced in your model, you can define the expression as a Function, and give that function a meaningful name. By combining the two above features, you can simplify routine use of your model. Say, for example, you had two different common ways of calculating processing time. To avoid typing and retyping the appropriate expression each time you change, you could define functions named “PTime_MethodA” and “PTime_MethodB” with the appropriate expressions and just change between those names as desired.
  4. Excerpt From Help: First of all, many people are not aware of the power of expressions. You can of course use all of the numeric states, properties, math functions, and general functions available. But you can go well beyond that using non-numeric items and logical relationships. For example on a path weight, you might use the expression “Is.PartA==True” that is a logical expression that returns a value of 1 (True) if the item is a PartA and 0 (False) if it is not. A more concise expression that evaluates exactly the same is “Is.PartA”. Presumably on the other path you would have the reverse expression of “Is.PartA==False” or simply “!Is.PartA” (where "!" is read as not). Even in this very simple example, you could perhaps add a bit of clarity by replacing the above with Math.If( Is.PartA, 1, 0) for the first path and Math.If( Is.PartA, 0, 1) for the second path. The real power of the Math.If starts to become obvious when you have compound logical expressions. For example, say I have a processing time that is time dependent by shift and “Shift” is a predefined state. I could use an expression like Math.If(Shift==1, 15, Shift==2, Random.Uniform(10,20), 18.53). This simply says if it is 1st shift use 15, else if it is 2nd shift use a random sample, otherwise use the value 18.53. You can even use these nested such as: Math.If(Shift==1, Math.If(Is.PartA, 10.5, 11.6), 12.7) which says if its first shift and its PartA use 10.5, if its first shift and not PartA use 11.6, and if it’s not first shift use 12.7. You can combine the compound and nesting as deep as you need.
  5. Simio incorporates many innovative features to take best advantage of available memory and processor speed. Simio does not have any artificial limits, but at some point you might start running into limits that come from your hardware and operating system (OS). Here are some ideas to consider. Take full advantage of Simio's multi-processor support. First of all, it is important to understand that our multi-processor support applies to running multiple replications during experimentation. Note also that upgrading to Team Edition allows distributed experimentation across multiple computers. But even without that, Simio will run up to 16 simultaneous replications on your local computer, depending on available hardware. For example, a computer with 2 physical processors, each with 3 cores, and with hyper threading enabled, will run 12 replications at a time (2*3*2). Or on a computer with a single processor, that has 6 cores but without hyper threading enabled, Simio will run 6 replications at a time. Note, however, that we currently limit to 16, so if you had a quad-processor box where each processor has 8 cores and hyper threading is enabled, we’ll still only do 16, rather than 64 reps at a time. Second, let’s talk about memory. Note that the Simio interactive (graphics) application is a 32-bit application. (As of this writing a 64 bit version of the interactive Simio is under development.) As 32-bit application, it is limited to a total memory address space of about 2GB, even when running on a computer with 64-bit Windows. Depending on the size of your models, this may or may not become an issue. For model development, debugging, animation, and animation-less fast-forwarding, we run your model on a single thread within that 32-bit process space. For experimentation, we will run up to 16 replications at a time, but all within the same 32-bit process space. This could eventually become an issue as the size of your models increases, because while a single instance of your model might peaceably share space with the Simio graphical user interface and animation engine, trying to run multiple instances at a time might not. To deal with this, Simio has the option of running experiments outside of the interactive application, in a separate process. This can be either a 32-bit or a 64-bit process. When running in this manner, the external runner process runs as many concurrent replications as it can (up to the software limit of 16), and has nearly the entire process address space to split up between the replications. The 32-bit version is slightly faster, but is still limited to 2GB total address space, while the 64-bit version runs a little slower, but can make use of nearly ALL memory on the computer. What processor? So with all of this in mind, a good place to start would be a processor with 4 to 8 total cores, which with hyper threading enabled will allow 8 to 16 concurrent replications. Definitely go with 64-bit Windows, and get at least 8GB of system RAM to start with, configured so you can add more in the future if necessary. That is, if the system supports a maximum of 16GB or 32GB, you don’t want to use 8GB of lower-density memory that fills all available slots; use higher-density memory that leaves slots open for future expansion. (Or depending on your budgeting and purchasing situation, you might just want to go with more memory from the start.) As far as the processor itself is concerned, any of the new Core i7 “Ivy Bridge” processors should be nice and fast, although the fastest of the previous generation Core i5 chips should be good, too. Some i5s, and ALL i7s support hyper threading, so a 4-, 6-, or 8-core processor would allow 8, 12, or 16 concurrent replications to run. What graphics card? As far as graphics hardware is concerned, the Intel HD graphics that come WITH these CPUs is generally good enough for our animations, even though discrete graphics cards will usually be faster. We require only DirectX 9, while the integrated graphics on the CPUs support either DX10 or more recently DX11, so that isn’t an issue. We can’t really offer any suggestions regarding discrete graphics cards, as we have no real experience with them, and there are so many options out there it would be difficult to even know where to start, but we do think that if you go this route, a card with 512MB or 1GB of dedicated graphics memory should be sufficient.
  6. The following is helpful if a user would like to be able to Deactivate and Activate a Vehicle based on some logic If our built in logic for Failures suits your needs, you can use this to deactivate and reactivate a vehicle. If it does not meet your needs exactly, you can subclass a vehicle (add it to your project library) and add a public process to the vehicle logic that includes Steps that will execute behavior that you are looking for. In our generic Vehicle, when the Vehicle goes ‘down’ for a failure, the process logic is using the Suspend step to suspend the vehicle’s movement and also its OnVisitNode process. Thus, the vehicle stops immediately in its tracks where ever it is (even if that blocks traffic) and suspends its Pickup/Dropoff activity (if any). When the failure ends and the Vehicle goes ‘up’, then the Resume step is being used to resume movement and pickups/drop-offs. If this is the logic you’d like, you can use the Failures property of our Vehicle. Perhaps this is not the exact logic you desire. Perhaps you would like the Vehicle to finish what it's doing and go to a maintenance station when it deactivated. You can add a public process to the Vehicle in your Project Library and define different behavior using Steps and Elements. This process can then be called by external logic.
  7. You would like the Transfer Node to send the Entity down a specific path based on a value (via a state variable) that is assigned to the entity. The most straighforward way is to use an expression in the Link Weight of each path that reads the Entity's state variable. For example, if you've assigned values of either 1 or 2 to the state variable ModelEntity.Priority and you want the entity to follow a certain path based on which value it was assigned, the link weight property of one path would be set to ModelEntity.Priority == 1 and the link weight property of the other path would be set to ModelEntity.Priority == 2. Another option is to set the destination in a process. Since destinations are always nodes, the SetNode Step is what we use to assign a new destination. Use a Decide Step and a SetNode Step in some process that reads the value of the variable and then sets a node for that entity. And finally, you can use Sequence Tables to set up a certain routing sequences based on the value that was given to the variable.
  8. Tables are used to hold model data that may be referenced by individual entities and/or tokens. The data columns in the table can be any of the property types provided by Simio including expressions, object references, class types, etc. Each entity/token in the model can then reference a specific row of data in the table. There are two common ways of referencing table parameters. 1) Sometimes you may want to associate a row in a data table with an entity. One easy way to do this is to take advantage of the properties in the Table Reference Assignments category on the Source Object. For for flexibility you can use the SetRow Step in a process to make or reset that same association. Once you have made that association, then the entity will automatically know its proper row in that or any related table. The following expression can be used to return the value from a specific column of a data table: TableName.PropertyName For more information on the SetRow step, refer to the topic SetRow in the Simio Online Help. 2) In other cases, you may not have or need any entity associations with a data table or you have already used the SetTable step but would like your entity to reference another table. In this case, you are trying to reference a specific row in a data table. The following expression can be used to return the value of a specific field of a data table: TableName[RowNumber].PropertyName For more information, look at the topic Data Tables in the Simio Online Help.
  9. If an Entity has a choice of taking more than one path, how does it decide which path to take? Outbound Link Rule logic is set in the properties of a Transfer Node If the OutboundLinkRule is ‘ShortestPath’ --If the entity has a destination set then this rule will choose the shortest path to the entity’s set destination. --If the entity does not have a destination set, then the ‘ShortestPath’ rule is not applicable and instead the ‘ByLinkWeight’ rule will be assumed. If the OutboundLinkRule is ‘ByLinkWeight’ The Selection Weight of each outbound link will be evaluated and the probability of an outbound link being selected is then based on its proportional selection weight. For example, if there are two links, and the first has a selection weight of .75 and the second a selection weight of 1.5, then the first link has a (.75/(.75+1.5))= 33.33% chance of being selected, and the second link a (1.5/(.75+1.5))= 66.66% chance. If the Outbound Link Preference is ‘Available’ If the preference is ‘Available’, then the entity will prefer choosing a link that can immediately be entered. For example, if the rule is ‘Shortest Path’, then the entity will prefer to choose the shortest path available. If no paths are immediately available, then simply the shortest path will be chosen. If the Outbound Link Preference is ‘Any’ If the preference is ‘Any’, the entity will simply choose the outbound link according to the outbound link rule, even if it means waiting at its current location until the link is available.
  10. One common problem is that on some systems (particularly Vista) there may be a pause of about 30 seconds before the system comes back and asks you for administrative permission to proceed. If you have clicked on anything else in the interim, then instead of a dialog box, it just has a highlighted tab on your windows toolbar - a tab that is easy to miss. If you don't ever agree to proceed, eventually it will take lack of an answer as an answer of No and the install will fail. Try the install again and look for that. If you never click off the install, then a more prominent dialog box will be displayed.
  11. The following are recommended solutions for statistical distribution fitting (e.g., Input Analysis) and output analysis: Stat::Fit from Geer Mountain Software (http://www.geerms.com/) has direct support for Simio built into their latest version. They also have a free student version available. ExpertFit from Averill Law & Associates (http://www.averill-law.com/) has a comprehensive tool kit and direct support for Simio in their latest version. Because the above packages have direct support for Simio (e.g., their output exactly matches and can be cut and pasted into a Simio expression) they are the easiest to use. The following packages will provide a similar data analysis, but the results must be manually translated to match Simio's required inputs: BestFit is part of the @Risk Excel-based toolkit from Palisade Software (http://www.palisade.com/). Note, here is a conversion chart for BestFit submitted by Barry Nelson: EasyFit from Mathwave (http://www.mathwave.com/en/home.html ) has both standalone and Excel versions. A product named R has both free and commercial versions available. One source is http://www.r-project.org/. Simio includes output analysis including Pivot tables for data mining and the SMORE charts for assistance in comparing scenario responses. It also includes several different algorithms to help you select the best alternative and includes OptQuest for optimization. For additional analysis you can export the output data to other packages. Simio's output data format is comma separated value (CSV) and is supported by most data analysis programs including Microsoft Excel.
  12. Simio uses the Mersenne Twister Random Number Generator. This is a simple, extremely fast random number generator with a period of 2^19937-1. An on-line search of "Mersenne Twister" will find many references. Here is one available at this writing: http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html Summary Mersenne Twister (MT) is a pseudorandom number generating algorithm developped by Makoto Matsumoto and Takuji Nishimura (alphabetical order) in 1996/1997, and improved in 2002 and 2007. MT has the following merits: •It is designed with consideration on the flaws of various existing generators. •Far longer period and far higher order of equidistribution than any other implemented generators. (It is proved that the period is 2^19937-1, and 623-dimensional equidistribution property is assured.) •Fast generation. Simio also uses the Ziggurat Method for generating Normal Random Variables by George Marsaglia and Wai Wan Tsang. Searching for "Ziggurat Method" on-line will provide comprehensive information.
  13. Simio LLC is one of the rare places where you can work on the cutting edge of software technology and get to see the immediate results of your efforts. This is your chance to "get in on the ground floor" of a company that is changing the simulation market and is now taking off - adding customers and products. We are looking for bright, high energy, engaging people to help us design, develop, market, and deliver our simulation and scheduling software products to customers across the globe. We don't always have positions available, but we are steadily growing and we are often looking to hire into the following positions: Software Developer/ Software Developer Intern Requires a solid foundation in computer science (minimum BS in CS) and be on the cutting edge of .NET and SaaS technology. Will be working with C# and .NET in an agile environment to develop the engine, GUI, 3D animation, and delivery system for highly flexible simulation modeling and scheduling products. Must possess good communication skills and enjoy problem solving both independently and in team settings. Applications Engineer / Applications Engineer Intern We are looking for a highly versatile person to provide engineering support for the Simio software products. Responsibilities may include technical support, pre-sales support, consulting, testing, documentation, and training. Will be working in an agile environment as an integral part of the development team. Requires a minimum BS in Industrial Engineering, excellent written and verbal communication skills, and the ability to work both independently and in team settings. Inside Software Sales Representative / Inside Software Sales Representative Intern You will learn to use the telephone and email to uncover sales opportunities for the senior sales team. You will be making cold calls by telephone using a unique, non-intrusive approach developed over forty years. You will learn how to get to decision makers that make purchasing decisions. This entry level position seeks career sales professionals looking to advance to the position of senior sales representative and beyond. The position is open to energetic and motivated recent college graduates with a desire to break into software sales. Simio LLC is a fast growing B2B software company with a management team history of developing and selling market leading engineering software worldwide for the past thirty five years. Simio is introducing ground-breaking technology to the government and world's largest companies. Additional company information may be found at http://www.simio.com. Benefits for full time employees include Salary, Heath Insurance, Paid Vacation, and 401K with Matching Funds. Simio LLC is an Equal Opportunity Employer. All positions above are located in Sewickley, a suburb of Pittsburgh, Pennsylvania. If you are interested in any of the above positions, we are anxious to hear from you. Please send your resume, availability date, and salary requirements to careers@simio.com. Please put your last name and identify the position in the subject line.
  14. SimioSupport

    Academic Software

    Does your curriculum feature old, tired simulation software? Sure, its easy and convenient to teach the same thing year after year, but is that really the best for your students? In software terms, 20 years old is, well you know... -- Hinders your efforts to expose students to the latest in success tools and techniques. -- Damages your institution's reputation for being state-of-the-art. Solution -- Adopt state-of-the-art Simio that is guaranteed to breath new life into your simulation curriculum! We think you will find our academic program to be quite attractive. We make top quality, state-of-the-art software available to professors, students, and researchers at little or no cost. We have two academic products: Academic Version We provide full-capability software to academic institutions at no charge. We will provide as many licenses as you need for installation on any computers owned by an institution whose primary business is teaching. This software may be used in student labs as well as by professors and researchers. The activations supplied are generally for two years. It is expected that the licenses will be renewed on an annual basis, still at no charge. This software has no model size limits and is functionally equivalent to Simio Design Edition including discrete and continuous modeling, object library development, and 3D animation. Student Version We also provide full capability software for undergraduate and graduate student use on their own computers. We will supply the institution with a link that that can be passed on to students where they can obtain their own software and activations for a nominal fee. The activations supplied to students are for a full year. This software has no functional limits and is equivalent to Simio Design Edition. Academic License Limitations The above software may not be used for commercial work. This program makes top quality, state-of-the-art software available for academic use at little or no cost. It is only fair that companies who realize financial benefit from simulation should pay market value for any software and services required. Academic software may not be used to directly benefit a commercial entity. If any type of simulation results are shared privately outside the academic institution, then the application is considered to be commercial and a commercial software license must be used. Definition of Academic Organizations: Many commercial organizations such as service companies and hospitals also have an academic component that offers training or teaching. An organization will be considered to be commercial unless formal education is the primary service delivered or prior written authorization from Simio LLC is provided. People: Only currently enrolled students and currently employed professors/teachers are authorized to use academic software. Projects: We understand that student projects often involve commercial systems. Simulation results consist of the models, animations, reports, summarized results, and other similar artifacts of a simulation project. How results are used seems a reasonable way to differentiate commercial applications. •If any results are shared privately with the commercial organization, then the project will generally considered to be of commercial benefit and is an invalid use of academic software. In this case a commercial version of Simio must be used. •If all results pertaining to a project are either not shared or are made publicly available (such as a published thesis or undergraduate student projects published on a publicly accessible web site) then it is typically considered to be a valid use of academic software. •For borderline or questionable projects contact Simio for a predetermination or a possible exception to this policy. Get Started Now Review the Academic Quick Start Page for full information and a link to get the software today (request must be made by faculty member).
  15. SimioSupport

    Simio System Requirements

    Minimum Hardware Requirements • 1 GHz or faster processor • 1 GB of RAM (4 GB or more recommended) • Available hard drive space of 500 MB minimum for installation • 1,024x768 display (higher resolution recommended) • A 16-bit graphics card with 128 MB compatible with DirectX ver. 9 • Internet connection required for online services If you are using an existing system, then the above guidelines should provide acceptable performance. If the system falls short in memory or graphics, note that memory is often fairly inexpensive. Most systems with inadequate memory can be easily and inexpensively upgraded. Likewise graphics cards are also fairly inexpensive. If you are buying a new system, we recommend: • Multiple processors because Simio takes full advantage of multiple processors (e.g. hyper-threaded quad core will run 8 concurrent replications). • A higher than standard screen resolution, perhaps 23” or larger, at least 1920x1200 resolution, and perhaps even a second or third monitor – Simio takes full advantage of higher resolution and multiple monitors. • A 64 bit OS with 16G or more of memory will allow plenty of space to run very large models. Software Requirements • Microsoft® Windows® Vista® with Service Pack 2 or later, Windows 7 SP 1 or later, or Windows 8 or later (Windows 10, 10.1, ...). Both 32 bit and 64 bit operating systems are fully supported and included with the install. Miscellaneous Notes Apple products like Mac are not officially supported, but many customers have had good results using Parallels or similar products. Simio does work on a Surface Pro as long as the OS is standard Windows 8 not Windows 8 RT. Simio does offer touch screen support.