Introduction
Although there are many Advanced Planning and Scheduling (APS) products on the market, the solutions offered by Simio have a number of unique and compelling advantages. This paper outlines six compelling selling points of the Simio approach to planning and scheduling that distinguishes it from other solutions on the market.
Risk-based Planning and Scheduling
A critical problem with the traditional APS approach is that it requires that all the data be fully known and deterministic. For example all processing times must be fixed (no variation) and there can be no unexpected events (e.g. machine breakdowns) or unexpected delays (e.g. purchased materials arriving late). Hence the resulting schedule with APS is by nature optimistic (i.e. the “happy” path that assumes everything goes as expected), and is typically very different from what occurs in the real facility. No matter how powerful the scheduling engine the removal of variation from the schedules will typically produce large discrepancies between predicted schedules and actual performance. It is common that what starts off at the beginning of our scheduling period as a feasible schedule turns infeasible over time as variation and unplanned events degrade performance.
With traditional APS we are forced to work with an overly optimistic schedule that promises more than we can deliver in terms of meeting critical customer requirements. A scheduler’s experience is that the deterministic schedule is seldom met and as a result the scheduler is forced to buffer the degradation that is caused by variation with some combination of extra time, inventory, or capacity; all adding inefficiency and cost to the operation. The challenge is to know what combination of these buffers is necessary to produce a robust schedule at minimal cost. APS does not provide the critical information needed for this task.
Simio employs Risk-based Planning and Scheduling (RPS) that extends traditional APS to fully account for the variation that is present in nearly any production system, and provide the necessary information to the scheduler to allow the upfront mitigation of risk and uncertainty. RPS is a simulation-based approach that makes dual use of the underlying simulation model. The simulation model used in RPS can be built at any level of detail and can incorporate all of the random variation that is present in the real system. RPS begins by generating a deterministic schedule by executing the simulation model with all randomness turned off. Note that this is equivalent to the APS solution. However RPS then uses the same simulation model with randomness turned on to replicate the schedule generation multiple times (employing multiple processers when available), and record statistics on the schedule performance across replications. The recorded performance measures include the likelihood of meeting a target (e.g. due date), the expected milestone completion date (typically later than the planned date based on the underlying variation in the system), as well as optimistic and pessimistic completion times (percentile estimates, again based on variation). To learn more about why variation matters so much, refer to the special report Risk-based Planning and Scheduling: Why Variation Matters! By Dr. Dennis Pegden. The following shows and example RPS Gantt chart with the targets showing the likelihood of being met, and color coded based on the level of risk. A tooltip shows planned, expected, pessimistic, and optimistic ship dates that are generate from the replicated simulation of the schedule generation.
Note that with the addition of the likelihood estimates and color coded risk levels the scheduler can quickly see that jobs 3 and 4 are OK, whereas job 2 is at high risk, and job 1 is at moderate risk. The scheduler can then mitigate the risk by scheduling overtime, splitting batches, changing priorities, etc. The key point is that the scheduler has the risk measures in advance so that action can be taken now to ensure that critical customer orders are met in a timely fashion and at minimal cost to the operations.
Although the use of simulation for RPS is new, simulation has a long history of success across a wide range of application areas for analyzing and improving system design. For example simulation models are routinely used to evaluate changes in a production line or to evaluate and compare new facility designs. Simulation lets you see the impact of change. You can quickly make changes to your model to test out your ideas without disrupting your real system. With simulation you make your mistakes in the model, and not in your business.
Changes in system design may not always produce the desired or expected results. Complex systems are often counterintuitive in their behavior. Investments (e.g. new equipment) that address a problem in one area of the system may just move the problem to another area without improving the overall performance of the system. Simulation lets you separate the winning ideas from the losing ideas and optimize your business performance. Simulation lets you validate proposed designs and make the best use of limited capital to focus your resources where they have the most impact on your results.
Simulation brings your ideas to life by providing an animated preview of a proposed change. You can also record and graphically display key performance measures for your system. This helps in not only analyzing proposed changes, but in communicating the benefits of those changes to the stakeholders in the system.
Finally, simulation is the one method that allows you to fully account for variation in your systems and the impact that it has on your overall system performance. Simulation lets you avoid the critical problems created by applying traditional static analysis to try to understand and predict the behavior of a variable and complex dynamic system.
Simio Enterprise, based on RPS, now brings the power of simulation – traditionally reserved for system design – to the day to day operations of a facility. Simio allows a single simulation model to bring value in two ways: the traditional use for analyzing and comparing system designs to reduce cost and improve the system performance, and the new RPS application for improving the day to day operations of the facility.
Business benefit: Realistic schedules that account for uncertainty, early insight into risks and potential mitigation strategies that can drive more revenue at reduced cost with existing assets.
Schedule Generation
From a mathematical standpoint the general scheduling problem is classified as NP-Hard. This means there is no known efficient (polynomial bound) solution to the problem. Hence regardless of what scheduling products might infer by their name (e.g. Optimizer) or marketing claims – there is no algorithm or method that can generate an optimal solution to most real-life scheduling problems. The best that can be done is to try to efficiently generate a good feasible solution to the problem that properly considers the critical resource constraints in the facility.
There have been two basic computer-based approaches to addressing the scheduling problem. The first is Constraint-based Schedule Optimization (CSO) where the scheduling problem is formulated as a set of constraints that must be satisfied along with an objective (e.g. minimize number of late jobs, or maximize throughput). The mathematical formulation is then “solved” using a Constraint Programming (CP) heuristic algorithm (sometimes called a CP solver). The CP solver uses heuristic rules to search for candidate solutions that satisify the constraints and improve the objective. An example of this approach is scheduling solutions based on the IBM ILOG CPLEX CP Optimizer of the SAP APO-PP/DS module. Although this approach may work well for some select applications, it is limited by the size and complexity of the problem that it can handle. The solver may also require a long time to generate a good solution – particularly as the size and the complexity of the formulation increases. Often the problem must be simplified by assuming away details in order to keep the size and complexity manageable for the CP solver.
The second approach is Simulation-based Schedule Optimization (SSO) where we use dynamic decision rules and simulate the movement of jobs through a model of the facility to construct a feasible schedule. There are a number of heuristic optimizing rules that are used within the simulation to create a good schedule. The heuristic optimizing rules typically focus on either maximizing throughput, or minimizing the number of late jobs. A number of optimizing rules for maximizing throughput are based on the Theory of Constraints (TOC) and give priority to jobs that feed the bottleneck station in order to minimize the starvation of critical resources. Other throughput maximizing rules include rules for minimizing changeovers and campaign rules that sequence jobs in specific efficient orders (e.g. light to dark or wide to narrow). Examples of rules that minimize the number of late jobs include earliest due date, smallest remaining slack, and critical ratio. Note that a schedule generated by the simulation mimics the actual flow of work that will occur within the facility assuming that these same “optimizing” heuristic rules are applied. The advantage of this approach is that the SSO scheduling system is typically substantially easier to implement, can more flexibly capture the facility constraints, and can generate a schedule much faster.
The Simio Enterprise provides a flexible framework for incorporating optimizing rules into the simulation model. Simio supports both static rules (e.g. earliest due date) as well as dynamic rules (e.g. smallest changeover time). Simio also makes it easy to implement custom rules in Visual Basic, C#, etc., using the open .NET framework.
Speed of schedule generation is a critical feature for any scheduling tool. When unexpected things happen in the system (machines break, material arrives late, etc.) it’s important to be able to quickly generate a new schedule that reflects the change. This is an area where the SSO tools have a significant advantage over CSO tools because of their speed of execution. Simio Enterprise is built on the highly efficient Simio simulation engine that can generate a large schedule in less than a minute. Simio also provides a unique capability to employ multiple processors to quickly generate a corresponding risk analysis based on multiple replications of the model.
Business benefit: Ability to create flexible rules to achieve operational goals, ability to quickly reschedule in response to unplanned events.
Flexible Model
In both CSO and SSO scheduling approaches the tool itself often limits the level of detail that can be including in the schedule. In the case of CSO scheduling solutions the model formulation is limited by the types of constraints that can be represented in the system. CSO scheduling solutions are further limited by their need to keep the model formulation small and simple enough that the solver can generate a solution in a reasonable time. In the case of SSO scheduling solutions a data-driven model is typically built into the product, and cannot be changed or customized for specific applications. Although the data that feeds the model can be changed, the underlying structure of the model cannot be changed.
As a result of these limitations traditional SSO tools can often not be used because they cannot reasonably capture the critical constraints in the facility. In other cases the traditional tools are still used, but critical constraints are ignored or approximated, producing schedules that are considered feasible by the scheduling tool, but are infeasible in terms of the real facility.
An example of a critical constraint that is typically ignored in traditional scheduling tools is material handling devices such as AGV’s or forklift trucks that are used for moving material between workstations. If considered at all, these constraints are typically approximated in the schedule as an “average” and constant move time independent of the congestion in system. However in cases where we are employing transfer lot sizes to reduce WIP, the timely availability and movement of material handling devices can be a critical constraint on the facility.
Simio Enterprise uses the SSO approach to scheduling however replaces the use of a canned data- driven model with a purpose built Simio model of the system. The key advantage of this is that you have available to you the full modeling power of the Simio simulation software to fully capture the constraints in your system. You can model your system using the Simio Standard Library of objects, or if needed you can create your own custom objects for modeling complex systems. You can include moving material devices such as forklift trucks or AGV’s (along with the congestion that occurs on their travel paths) as well as complex material handling devices such as cranes and conveyors. You can also accurately model complex workstations such as ovens, machining centers with tool changers, etc. The Simio modeling tool imposes no restrictions on the type and number of constraints included in the model.
With Simio Enterprise you no longer have to assume away critical constraints in your production system. You can generate both the deterministic plan and the associated risk analysis using a model that fully captures the realities of your complex production and supply chain.
Business benefit: Ability to accurately model the constraints of the facility without imposing scheduling tool limits that generate optimistic schedules and hide unnecessary costs.
Interactive Gantt and Logs
The classical Gantt chart provides a convenient static graphical view of a schedule. In typical scheduling products the Gantt is limited to providing a view of the schedule. However Simio provides a number of unique Gantt features to help you analyze and mitigate the risk associated with a specific schedule. These unique and powerful features are designed to present you with a range of useful information and also allow you to directly edit the underlying data used for generating the schedule.
A Gantt chart displays time bars spaced across a timeline, where the length of the bar represents the duration of some activity. A Gantt chart can be used to show the steps in processing all jobs across a specific resource. This type of Gantt is called a resource Gantt because each row in the Gantt is a specific resource, and the time bars are specific steps for all the jobs that are processed on that resource. A Gantt chart can also be used to show all the resources used in processing a specific job or order. This type of Gantt is called an entity Gantt because each row in the Gantt denotes a specific entity (job or order), and the time bars are the resources required to process that entity. The Gantt chart shown earlier for displaying risk analysis is an entity Gantt. The chart shown below is an example of the corresponding resource Gantt. Simio RPS provides both a resource Gantt and entity Gantt.
The Simio entity Gantt is useful for tracking the progress and resource usage for specific jobs/orders. This Gantt also displays the risk measures for each job, including the probability of meeting specific milestones (e.g. the due date). In addition, this Gantt shows all the non-value added time (e.g. waiting for a worker or material) spent by each job during its processing through facility. This Gantt has an associated constraint log in the form of a pivot grid that details all of the constraints (materials, resources, etc.) that have held up the progress for the jobs. This constraint log can be filtered, sorted, and pivoted to drill into specific issues and problems related to one or more jobs in the schedule.
The Simio resource Gantt is useful for examining the utilization of individual resources by each job in the schedule. This Gantt displays the state of each resource over time (busy, starved, off shift, etc.) as well as each job step that is performed using this resource. This Gantt also graphically displays the jobs waiting for processing over time at this resource.
Each of the Simio Gantt charts are linked together to allow the user to quickly alternate between the two Gantt views for an individual job/resource. You can double click on a resource time bar in the entity Gantt to immediately jump to that resource and entity in the resource Gantt, at the same point in the time line. Likewise you can double click on an entity time bar in the resource Gantt and immediately jump to the corresponding entity in the entity Gantt view. As we will see in moment these static Gantt charts are also interconnected with the 3D dynamic animation of the schedule.
Besides providing useful information for assessing the risk and constraints associated with specific jobs, the Gantt charts can also be used to directly edit the resource and job properties. For example you can click on a job in the Gantt and change its priority or click on a machine and change its job selection rule. You can also directly enter machine breakdowns and overtime directly on the resource Gantt. As we will discuss later the types of changes that can be made by the scheduler are flexible and can be configured during the development of the Simio RPS model.
Business benefit: Ability to quickly assess the quality of a schedule, along with the root cause and mitigation strategy for non-value-added time.
3D Animation
Although the Gantt charts in Simio are very powerful they still provide only a static view of the schedule. Simio also provides a 3D animated view of the schedule generation that can be run independently but is also integrated with the entity and resource Gantts. For example you can double click on a resource in the 3D animation and jump directly to that resource in the Gantt. You can also select a resource and schedule time on the resource Gantt and jump directly to the animation at that same point in time. The 3D animated model can also be used to directly edit the entity and resource properties; i.e. you can click on an entity or resource in the animation and change selected properties. The following shows a snapshot of a typical 3D animation.
Simio Enterprise gives you a truly immersive 3D experience that provides insights into the schedule that are not obvious from a pure static view such as provided by Gantt charts. The animation lets you look forward in time and see your schedule in action. This gives a view of your schedule that is not available in other APS solutions.
Business benefit: Ability to gain additional operational insights over static charts by providing an interactive 3D animation of the schedule generation thus mitigating schedule risk early while avoiding costs.
Fast Implementation with Customizable Data and User Interface Scheduling solutions – particularly CSO solutions – have traditionally been expensive and time consuming to install. In contrast Simio Enterprise leverages the standard Simio product family to provide a cost effective solution to scheduling. Simio is rapidly becoming a standard simulation product in many companies, and is also widely taught and used in more than 400 universities across the world. Simio textbooks are now available in English, Spanish, Italian, Chinese, Mongolian, and Portuguese, with more on the way.
Simio RPS employs a facility model that may be developed using any of the popular Simio simulation products. You can also use the same model that is developed for evaluating changes to your facility design to drive a Simio RPS installation. Hence a single model can be used to drive improvements to your facility design as well as assist in day-to-day operations.
Simio Enterprise Edition lets you easily tailor the user interface for the scheduler. You can fully configure the types of data that the scheduler can view and edit, and fully customize the implementation to specific application areas.
Simio provides full support for integrating with a wide range of external data sources, including relational databases such as Oracle, SQL Server, and Access. You can also create custom interfaces to other data sources. You can also create fully relational in memory Simio databases that import and bind to external databases.
Although no programming is required for implementing a Simio Enterprise solution, Simio is built on the modern Microsoft .NET framework with an open API, and therefore is easily extendable using any of the .NET languages (e.g. Visual Basic, C#, J#, etc.). This open framework also supports the development of custom optimizing rules; e.g. job/machine selection.
Business benefit: A Scheduling interface that can be customized to a particular application – and therefore easier to learn and use. This allows faster and more cost-effective implementations