I want to show how you can optimize a conveyor system with a combination of mathematical modeling and discrete-event simulation (DES). This is an addition to the rich variety of conveyor optimization examples available in industry. However, as I will explain in this article the workflow and procedure proposed by me leads to significantly better results at much lower effort.
Simulation facilitates the usual optimization approach
It is a common misconception that complex conveyor systems (always) require (only) simulation. This is not correct. As I will explain in this article, I instead recommend applying a two-fold approach that first optimizes routing ratios and then implements layout and mathematically derived routing rules in a dynamic simulation. Nevertheless, it remains the conventional approach to use discrete-event simulation modeling for testing conveyor concepts and layouts.
Here are some examples of simple models including simple conveyor examples. Think of these simple examples in a more complex scenario, i.e. a more complex conveyor layout:
Other tools that are popular for conveyor simulations (besides AnyLogic) are simio, AutoMOD, Plant Simulation, FlexSim, and so on. You can even model conveyor systems on a higher abstraction level, with less visualization, using e.g. simmer in R. For a comprehensive documentation on “simmer” please check the linked article below.
The conventional approach consists of implementing the proposed conveyor layout in a simulation environment. Next, the equipment is set in accordance with technical specifications. Then, simulation experiments are iteratively applied. During these iterations, the simulation analyst e.g. seeks to determine layout optimizations but also routing optimizations – where applicable.
Illustrating the complexity of conveyor systems
For example, consider the conveyor layout illustrated in the figure below. The layout illustrated in below figure comprises in- and outflows, from supplying processes to subsequent assembly and/or final processing stations. The layout furthermore comprises flows to and from buffer areas.
The material flow changes dynamically, subject to the overall production program and master schedule. At points in time the inflow of specific part families or batch numbers exceeds the outflow, e.g. when producing on stock overnight. In such situations, the buffer areas are used for putting away parts. At other times the supplying production processes might be manufacturing part families that are currently not shipped or processed in the downstream processes (outflow). Parts, if available, are then picked from the buffer and supplied downstream from there.
Evidently, the material flow can quickly become complex. Routing rules and routing ratios can be used to determine which parts should flow along which segment of the conveyor system. This can be described in a mathematical model, in which the objective function is the total system throughput for one or several part families. The conveyor capacities, especially the capacities of the turntables, are the constraints to this mathematical model. The model can then optimize over routing ratios, i.e. once they have been officially defined as relevant optimization variables.
Optimization tools for conveyor system routings
Various tools exist for conveyor routing optimization. A commercial tool is not necessarily required. For smaller conveyor systems a free tool can be used. Or, if you have Excel installed, you can use Excel and Excel Solver for smaller applications.
Below is a list of some articles that cover some other free optimization tools that I or other SCDA members already introduced on this blog.
- Link: Using solvers for optimization in Python
- Link: Optimization with JuMP and GLPK in Julia
- Link: Optimization and modeling in Python
- Link: Linear optimization with PuLP in Python
Procedure model for conveyor system optimization
Illustrating and summarizing most of my comments from above, I created a workflow figure for describing my conveyor system optimization procedure model. You can see it below.
First, a layout concept is drafted. This will involve some static calculations, ballpark figures and rule-of-thumb estimates. The layout is usually drafted while the availability of data is scarce. This step has to ensure the feasibility of the overall production process.
Once the initial draft has been made the equipment has to be configured. The layout tells where conveyors and turntables etc. should be placed. But what kind of conveyor? What kind of drive? Answers to these types of questions will affect equipment specifications, e.g. in terms of conveyor speed and acceleration. When kinematic data has been specified for the conveyor equipment, a static capacity calculation can be conducted. For example, if a conveyor has a length of 1 m, and its speed is 1 m/s, it can, when operating in constant full speed, convey 3600 parts per hour.
Statically calculated capacities are then forwarded to a mathematical program in which equipment capacities are modeled as optimization constraints. Routing ratios, as explained earlier in the article, are the relevant optimization variables. The mathematical program will seek to optimize a defined objective, e.g. total system throughput. Consequently, after completing this step, the solver will have defined routing ratios at each routing point in the conveyor system – for the associated production scenario.
The mathematical model can already lead to a re-design decision. Re-design might only affect equipment configuration. But it could also mean that the layout itself has to be remade.
The final step is a dynamic simulation model. A model of this kind takes into account dynamic system interdependencies that were neglected by the mathematical program.
Concluding remarks on conveyor system optimization
Jumping straight to simulation modeling is not necessarily the right approach when optimizing a conveyor system. It can be more efficient to apply mathematical modeling first. Simulation modeling should facilitate the final stage of conveyor system optimization.
Data scientist focusing on simulation, optimization and modeling in R, SQL, VBA and Python