Implementing an optimized machine setup sequence reduce setup costs and increase machine productivity. It is an important aspect of effective job scheduling and operational production planning. Some companies thus derive optimized machine setup sequences using their ERP. This is great, if the ERP and the master data supports this. Other production planning teams might add that they do not really need a tool or advanced analytics for determining the optimal setup sequence, since they have memorized the setup sequences for their work centers. However, in this article I turn to a third group of manufacturing companies, that e.g. do their production planning in Excel, have a high-variety product mix, or possibly short-lived high-frequency product life cycles in their product portfolio. Such manufacturers can benefit from setup sequence optimization tools that can be used without any ERP.
Use Excel Solver for optimized machine setup sequence
The first approach that a smaller manufacturer can take is to use Excel. Using Excel Solver it is possible to implement a mathematical program that e.g. defines the optimal setup sequence for a given machine. I developed a template for this. You can find it via the link below.
Excel Solver is available in Excel. It is as an add-in that is already included in Excel but must be activated explicitly. This approach is great for companies that currently do all of their planning in Excel. If, however, for the given machine or work center the setup matrix comprises more than 200 cells, then Excel Solver will no longer be able to solve the sequencing problem. That is because Excel Solver can only handle up to 200 decision variables, i.e. optimization variables.
Another drawback of using Excel for sequencing jobs is that it is difficult to scale applications across many work centers with varying product groups, setup matrices, and setup times. For a company that does not currently do all of their production planning in Excel, and that does not plan to purchase or develop a custom or standardized ERP, it thus better to implement machine setup sequencing in a Pytho framework.
You can read more about Excel Solver here: https://www.solver.com/excel-solver-how-load-or-start-solver
Python for optimized machine setup sequence
Using Python as an alternative to Excel Solver is great for any small company that is still flexible with regards to their planning workflow. Meaning, the company is currently not constrained by using Excel or any specific ERP system. If the company (e.g. a start-up) does not want to use ERP systems then Python can be a great way to implement a scalable planning workflow with countless work centers, routings, and products or product groups per setup matrix and machine.
It is much easier to implement an automatized planning workflow for a large set of different work centers with different setup matrices (products, parts, part families and product groups) using Python (compared to Excel). It is also easier to maintain setup times, i.e. the underlying planning data. Updating setup matrices and calculating optimal setup sequences can be done easily overnight with large sets of work centers and large sets of jobs.
The underlying mathematical program can quickly be implemented in Python using e.g. PuLP for modeling and coinOR for solving. All of these tools are free. You do not even have to pay for an Excel license.
Learn more about job shop scheduling
You can find many other contributions on our SCDA blog and in our SCDA shop related to job shop scheduling, setup sequence optimization, and related production planning topics. Here are some more SCDA contributions that might be of interest to you.
- Link: Excel Solver job shop capacity plan
- Link: Job shop simulation in Python (SimPy)
- Link: PUSH production and analytics
- Link: Job shop scheduling challenges
- Link: Production scheduling in SAP ERP system
- Link: Optimized SCM capacity scheduling
- Link: Optimization via master production scheduling
- Link: Single machine scheduling with PuLP
- Link: Manufacturing MRP planning software
Data scientist focusing on simulation, optimization and modeling in R, SQL, VBA and Python