This article reports results of applying the SCDA single-stage job shop scheduler for the purpose of scheduling a CNC job shop. The downloadable tool, available under below link, was used to schedule a 3-day production time horizon in a CNC machine park with eight (8) independent CNC machines. The scheduling tool schedules a list of jobs automatically. Open production orders, released by master scheduling, are forwarded to the detailed scheduling algorithm and scheduled – taking into account changeover and setup times. The detailed scheduling tool seeks to optimize productive machine utilization by benefiting from “beneficial” changeover sequences.
- Link: SCDA job shop scheduler
The tool uses a mix of heuristics and analytical time-indexed optimization and returns a production schedule with a predefined time-horizon and average machine park “target” utilization. Shift-calendars and varying shift models as well as planned maintenance or break plans are considered by the scheduling tool and configurable by the user or system integrator. The main objective is to automate detailed scheduling for a given production stage, and to thereby (a) formalize decision making rules, (b) document decision making rules in the form a well-defined algorithm, (c) ensure daily scheduling 365 days per year, for many years in the future without risk of interruption, (d) allow for schedule (fine-)tuning through “parameter adjustment”. With an automated or semi-automated scheduling process the production planners free capacities as they are released from daily routine tasks related to manual scheduling. Instead, they now monitor scheduling performance, improve master data, and track production planning performance for improved transparency and continuous improvement initiatives.
Machine park and shift calendar
The factory comprised several productions stages and areas. The SCDA job shop scheduler scheduled the CNC center, with eight (8) machines. Here, the following operations were performed:
- milling
- drilling
- turning
- grinding
- filing
- polishing
- brushing
The CNC center facilitates a single production stage with a defined planning horizon. Open jobs are scheduled on a daily basis, considering a planning horizon of 3 days into the future. All required parts for jobs scheduled within this time horizon are purchased with planned delivery at start of the time window. Each machine can process one part, and all operations for a given part are performed on the same machine. That is, any part can be processed on any CNC machine, and will only be processed on exactly one machine. Each machine can only process one part at the time.
Open production orders and changeover distance matrix
Every day, open jobs from master scheduling are forwarded into the detailed CNC scheduling run. The resulting list of relevant open jobs is then loaded into the detailed CNC scheduling algorithm. In this case the jobs are loaded based on earliest start date order. Jobs are loaded until a defined capacity utilization target. This utilization target allows production planners to leave “excess time” in the schedule, reflecting over-all equipment effectiveness (OEE). Below is an exemplary list of open production orders from master scheduling that the CNC scheduling algorithm loads, one by one, into its planning horizon – up until target utilization.
The detailed scheduling run then schedules all loaded jobs. For this, both heuristics and analytical time-indexed optimization models are applied. The underlying algorithm seeks to:
- a) Conduct scheduling fast, so that production planners can calculate the updated schedule quickly
- b) Maximize productive machine utilization by selecting optimal changeover sequences
For optimal changeover sequencing the production scheduling tool receives another set of input data: The distance matrix. Below is an example of the distance matrix for above open production orders. The distance matrix contains discount factors, that are used to discount default setup times for a given material number when it is set up after another product within the same product family.
For example, when setting up material 10487 after material 10597, the changeover only takes 20% of the default setup time for material 10487.
Scheduling model and schedule output
The production scheduler runs every morning and updates the production schedule. The resulting updated schedule is visualized as a Gantt chart. Below is an example of the schedule for the above referenced job list.
The schedule is also available in tabular format, with material number, planned start and end date, and associated planned quantity. This overview can be forwarded to the shop floor for execution.
Addtional content related to scheduling of CNC job shop
Here are some more articles and downloadable projects related to job shop scheduling and production planning:
- Link: Changeover sequencing in Python
- Link: Setup sequencing with Excel Solver
- Link: Excel Solver job shop capacity plan
- Link: Job shop SimPy Python simulation
Data scientist focusing on simulation, optimization and modeling in R, SQL, VBA and Python
Leave a Reply