Christian D. Ruf shares an article that provides tools to improve the efficacy of job shop scheduling.
This post is about job shop scheduling (production scheduling in job shops). Job shops are factories that process jobs that require processing at multiple workstations, where the subset and order of workstations vary between jobs. The principle is illustrated in the figure below. Examples are the manufacturing of customized products like computer servers to customer order, or hospitals where each patient is considered a job needing a unique sequence of treatments. The overall production process is relatively complex because of the special requirements per type of job. Moreover, demand fluctuates and is hard to predict, and bottlenecks and underutilization frequently occur at different work centers. Workstation utilization can be improved by making sure that there are always enough jobs waiting. However, that increases cycle times and work in progress (WIP) and complicates short-term reprioritization. Without a form of decision support, finding a good production schedule is a challenging task.
Optimization with Python in Excel
Many companies use Excel for their job shop scheduling as a flexible and familiar tool without additional costs. It is however difficult to create efficient schedules while considering equipment, personnel and material constraints. Macros (VBA) increase Excel’s capabilities, but it’s a cumbersome programming language with many oddities and it executes slow, which becomes a problem when operating with large amounts of data. There are alternatives to Excel, but they are not as lightweight (see here). A compromise is to use an Excel–plugin called SolverStudio, which allows you to build and solve optimization models in Excel. Optimization models are written in Python and can be solved with different solvers such as the free Cbc from COIN-OR, Gurobi, or CPLEX. Such a solution can serve as a proof of concept to explore the potential and limits of an optimization approach, but planners often stick with such a solution.
Key points include:
- A basic job shop scheduling model
- Realistic situations
- Common objectives
Read the full article, Excellent job shop scheduling does not require fancy tools, on CDRuff.com.