Simulation has traditionally been applied in system design projects where the basic objective is to evaluate alternatives and predict and improve the long term system performance. In this role, simulation has become a standard business tool with many documented success stories. Beyond these traditional system design applications, simulation can also play a powerful role in scheduling by predicting and improving the short term performance of a system.
In the manufacturing context, the major new trend is towards digitally connected factories that introduce a number of unique requirements which traditional simulation tools do not address. Simio has been designed from the ground up with a focus on both traditional applications as well as advanced scheduling, with the basic idea that a single Simio model can serve both purposes. In this paper we will focus on the application of Simio simulation in the Industry 4.0 environment.
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 also be stored in libraries and easily shared. A person new to modeling may prefer to use pre-built objects from libraries; however the system is designed to make it easy for even novice modelers to build their own intelligent objects.
A Simio 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.
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. Using Simio’s patented architecture for objects there is no need to write programming code to create new objects. For more information on Simio see the books by Kelton, Sturrock and Smith, or Joines and Roberts, or Pegden and Sturrock (Kelton, Smith, and Sturrock 2017; Joines and Roberts 2015; Pegden and Sturrock 2013).
Simio is designed to support applications in both system design and scheduling, with benefits that make it ideal for the increasingly digital manufacturing environment. The unique features required to successfully apply simulation to scheduling include data integration features for accessing enterprise data, detailed transaction logging, cloud-based deployment of detailed schedule results, and schedule risk analysis based on variability and uncertainty (Risk-based Planning and Scheduling or RPS). Simio has been designed from the ground up to incorporate this functionality into its object-based architecture.
In the sections that follow we will begin by giving an overview of the challenges introduced by Industry 4.0, discuss alternative approaches to scheduling, and then focus on the Simio solution to solving the unique problems associated with Industry 4.0 environments.
The Rise of Industry 4.0
The ‘Fourth Industrial Revolution’, or Industry 4.0, refers to the implementation of digitalization in manufacturing. A natural trend, it is the result of continuing technical improvements that allow process resources to be automated and interfaced. Through the addition of data connection, they are able to respond intelligently to their environment, measuring and collecting data in order to make decisions and, consequently, take actions.
The technologies embraced by Industry 4.0 include the Internet of Things (IoT), big data analysis and artificial intelligence (AI). Cloud computing and system integration further allow components such as autonomous robots and additive manufacturing to converge and co-operate for industrial gain.
Connected factories or ‘Smart Factories’ as they are referred to, leverage these third platform technologies, requiring the convergence of Information Technology (IT) and Operational Technology (OT), robotics, data and processes. For more information on Industry 4.0, see the book by Pegden, Deliver on Your Promise: How Simulation-Based Scheduling Will Change Your Business (Pegden 2017).
Planning and Scheduling
Planning and scheduling are terms that are sometimes used interchangeably, however, in a manufacturing context, planning is the process of defining work to be done whereas scheduling is the process of sequencing those tasks, selecting start and end times for each task, and allocating the limited resources to complete the planned work. The scheduling process turns a plan into a step-by-step sequence of tasks to perform in order to meet some specified goals; e.g. complete each job by a specified due date.
An initial plan is often generated using a backward sequencing approach based on simple lead times for each job. For example, if a job must be completed by a specified date and has a planned lead time of 3 weeks, it must start at least three weeks before it is due. If this job has predecessor jobs they must all be planned (based on their lead times) to be completed before the required start date for this job. This backward sequencing is continued until the required start time is established for all jobs. Often this planning process works with a fixed planning period (e.g. a week) where each job start time is assigned to the starting time of a planning period. The planning process may also perform material planning to ensure that all the necessary materials are available at the beginning of each planning period. This is the role of a typical ERP/MRP/APS system.
The lead times that are used in this backward planning approach are comprised of both a processing time and a queue time. The estimated queue time is typically much larger than the processing time and intended to capture the time that the job must wait for limited resources in the system. In reality the queue time is unknown and is highly dynamic and depends on the current state of the system. However this is ignored in the planning phase and a single static queue time is used to generate a rough-cut master plan.
Taking a plan and turning it into a detailed schedule of work that fully accounts for the limited capacity of the system is a complex problem with no known exact solution, and hence we seek a good solution as opposed to an optimal solution. In some cases the scheduling phase is done manually using a spreadsheet or a scheduling board. However there are also finite capacity scheduling tools that are designed specifically for this purpose based on either a mathematical or simulation model of the system.
In a Smart Factory, the decentralized manufacturing process, with a digital supply chain, has the potential for self-optimization of its systems and processes hence, aside from the vital cybersecurity aspect, the other cornerstone of Industry 4.0 is scheduling.
Mathematical verus Simulation Models
In established manufacturing operations, for example using ILOG or PP/DS in the SAP system, scheduling is approached using a mathematical model, where a set of equations are then “solved” using Mixed Integer Linear Programming, Constraint-Based Programming (CBP), or heuristics such as Genetic algorithms to find the best possible solutions.
Although CBP can solve relatively large and complex models, this approach has some limitations when it comes to generating detailed schedules. There are situations where complexities in the process cannot be accurately modeled, or where details must be expressly kept out of the model to avoid overtaxing the underlying solver. Also, a high level of experience and knowledge is required to successfully apply these systems.
In an Industry 4.0 application, large volumes of data are continuously collected from every aspect of the process. This means that advanced processing can be applied in real time to analyze, reassess and re-optimize the exact situation. Since all process resources are connected, these decisions can be applied directly back to the manufacturing floor, allowing almost immediate reaction to adjust the flow accordingly. A simple, fast and flexible alternative method is needed for generating these instant schedules, in real time, during process operation.
This is where a simulation model becomes much more beneficial than a mathematical model. In the simulation model, we describe the logic within the system at any level of detail that we desire. All the complex material handling (automatic guided vehicles, conveyors, robots, or other devices) that takes place within and between work centers in Industry 4.0 can be modeled in detail. Since we are simulating the model and not “solving” the model, we can include as much detail in the model as we desire without having a significant impact on the execution time.
When the model “runs” it acts out the behavior of the real system by simulating the actual movement of jobs through the system in a time-ordered sequence. In contrast to a mathematical model, the simulation model also allows us to animate the system behavior and see the system executing over time. This is not only useful for validation and verification of the system, but also for convincing stakeholders of the validity of the schedule. Figure 1 shows an example screen shot of a running animation of a manufacturing facility.
Modeling for Scheduling Purposes
The quality of the schedule that is produced by a simulation model is determined by the scheduling logic that is used within the model. There are two critical scheduling decisions which are made repeatedly during the execution of the simulation. The first is the resource selection decision that is made when a job can a utilize any of two or more alternate resources. Note that this might be a resource such as a machine, an operating room, labor, or a material handing device. Here a decision must be made as to which resource is assigned to the job. In some cases the job (e.g. representing a production lot) may be split and assigned to multiple resources. The second critical decision is the job selection decision that is made in the simulation when a resource becomes idle and there is more than one job waiting to be processed by that resource. Here the decision to be made is which job to process next. Both of these critical decisions are made by model specific scheduling rules.
The resource selection and job selection rules work together, along with the simulation model logic, to produce the schedule. These rules can range from very simple rules such as minimize sequence dependent setups, to more complex hybrid rules that blend together theory-of-constraints for throughput optimization with make-to-order strategies that target due dates. The ability to easily incorporate custom rules for unique scheduling situations is an important advantage of simulation-based scheduling.
Note that the goal of both the mathematical model and simulation model is not to provide an optimal schedule (this is not possible since the scheduling problem is NP-Hard) but rather to provide a good feasible schedule that respects the capacity constraints in the system. In the case of a mathematical model we develop a set of equations and then use a heuristic to find a “good” feasible schedule. In the case of the simulation model we generate the schedule using heuristic decision rules that are built into the model to produce a “good” schedule. Simio provides multiple ways for the scheduler to then make adjustments to the system or the schedule and see how these changes affect the plan, hence possibly improving the initial recommendation.
In scheduling, we must always use deterministic task times, ignoring the potential for unplanned random events, otherwise it’s not possible to generate a detailed schedule. Experienced schedulers realize that the optimistic plans that are generated by scheduling tools at the beginning of a planning period are frequently not met by the end of the planning period. Schedules which appear initially feasible become infeasible over time as variation degrades performance. Tasks sometimes take longer than expected, workers call off work, raw materials arrive late, machines break, etc., all degrading the original schedule. The original schedule represents the “happy path” that is seldom realized in practice, leading to over promising and under delivery.
Simulation modelers, however, are very familiar with the important role that variation plays in determining system performance and we wouldn’t think of leaving variation out of a simulation design model; we know that it would lead to optimistic and unrealistic projections of system performance.
Simio uses this benefit to take the best possible schedule has been developed through simulation a step further, making adjustments to the system or the schedule to analyze how these changes affect the plan and impact on results to possibly improve the initial recommendations.
Risk-Based Planning and Scheduling
Simio explicitly addresses the optimistic projection of a deterministic schedule by exploiting the variation that is built into the simulation model to access the risk associated with a specific deterministic schedule. This patented approach is referred to as Risk-based Planning and Scheduling (RPS). RPS is used to generate schedules that minimize risks and reduce costs in the presence of uncertainty. RPS augments the deterministic schedule with risk measures that allow the decision maker to properly account for the underlying variation and uncertainty in the system.
RPS uses the Simio simulation model to fully capture both the detailed constraints and variations in the system. The simulation model can include the complex processing and material handling constraints involved in an Industry 4.0 situation, such as ovens, forklift trucks, conveyors, moving operators, etc., as well as complex work crews and autonomous robots.
RPS then uses this model in two ways. The first is to generate a detailed schedule. In this case the model is automatically executed by Simio in a purely deterministic mode; machines do not break, process times are always constant, materials arrive on time, etc. Note that there is no need to remove variation and unplanned events from your design model to use it in scheduling since Simio automatically does this for you. This is the deterministic (optimistic) view assumed by all scheduling systems. Once the schedule has been generated RPS then replicates this same simulation model with variation automatically added back into the system and performs a probabilistic analysis to estimate the underlying risks associated with the schedule.
The risk measures generated by RPS include the probability of meeting user-defined targets, as well as expected, pessimistic, and optimistic schedule performance. Figure 2 shows a sample table that includes risk measures for on-time and on-budget probabilities that are color coded for risk levels; gray for low risk, yellow for medium risk, red for high risk.
By providing up-front visibility into the inherent risk associated with a specific schedule, RPS provides the necessary information to take early action in the operational plan to mitigate risks and reduce costs. RPS provides a realistic view of expected schedule performance. Specific alternatives such as overtime or expediting external material/components from suppliers can be compared in terms of their impact on both risks of meeting schedule targets, and costs of mitigating those risks, thereby providing a customer-satisfying operational strategy at a minimum cost.
Once an RPS model is built it can then be deployed using Simio Scheduling Edition. This version of Simio has a customizable interface that is specifically designed for use in day-to-day RPS applications; all of the functionality related to model building is removed to focus the interface on activities related to using the model for operational planning and scheduling.
The speed and flexibility at which Simio uses models for operational planning and scheduling satisfies the requirements for Smart Factories to continuously reassess situations, predict results and adapt for optimal outcomes. A further strength of Simio’s operation is our excellent rendering of results, with clear visual representation of schedules and models of real time system-wide factory status, along with higher-value context information, in the form of Gantt charts and custom dashboards. Figure 3 shows a Gantt chart with risk measures that are displayed in the Scheduling Edition of Simio. This is one of many possible ways of viewing the resulting schedule.
Simio Features for Industry 4.0
Although in theory any general-purpose simulation language can be used as the basis for a finite capacity scheduler within Industry 4.0, there are a number of unique characteristics of this application domain that demand a number of special modeling features that are not included in a simulation tool focused on design applications. These features have been built into Simio from the ground up and include the following:
Example Simio Industry 4.0 Scheduling Applications
Simio’s scheduling features can be used across many application areas. Although the application to scheduling in manufacturing is obvious, Simio scheduling also has important applications in areas such as transportation/logistics and healthcare.
One example of Simio’s scheduling application in manufacturing is BAE Systems who are moving towards the Industry 4.0 model with a major shift to digital manufacturing. As defense contractors, they need to reliably plan and predict production resources to meet the military’s needs on time and within budget. Contract managers seek more effective production resource risk mitigation methods. They demand accurate and timely key risk indicators (KRIs) for materials, labor, and equipment. BAE Systems (BAE) used Simio's Enterprise Edition software that includes risk-based planning and scheduling (RPS) functionality. The feature integrates traditional planning and scheduling features with stochastic modeling for risk analysis. Simio’s scheduling software provided planners and schedulers with a customized interface for generating schedules, performing risk and cost analysis, investigating potential improvements, and viewing those parameters in 3D animations. Gantt charts made it easy to see the timing of processes, and to explore how changes in equipment or employees affect that timing.
Simio users such as BAE can run simulations whenever system downtime, employee availability, or other factors change, resulting in a “finger on the pulse” awareness that enables quick adjustments and aids confident decision-making. Simio Enterprise Edition software with scheduling functionality helped BAE Systems meet production deadlines. BAE now uses Simio to meet a variety of forecasting and scheduling challenges, including decreasing overtime, developing training goals, preparing proposals, and evaluating capital investments.
Simio has also been applied in manufacturing environments running Schneider Electric’s Wonderware MES. Wonderware MES provides real time tracking of work in process and completed, providing operator visibility into the current and past state of the system, used in Industry 4.0 applications. Simio’s scheduling software projects the current state forward based on the planned work for the facility. By integrating directly with Wonderware the operators have visibility into the past, present, and future state and can view the planned schedule and feasible alternatives when the plan is no longer viable due to unexpected problems. The Simio solution also provides timely management feedback on production, scrap, and other status data to support appropriate and timely remedial action in the factory of the future.
The rise of Industry 4.0 has expedited the need for simulation of the day-to-day scheduling of complex systems with expensive and competing resources. This has extended the value of simulation beyond its traditional role of improving system design into the realms of providing faster, more efficient process management and increased performance productivity. With Simio, the same model that was built for evaluating and generating the design of the system can be carried forward to become an important business tool in scheduling day to day operations in the Industry 4.0 environment.