e reviewed the performance of our website in 2018, and also analyzed the traction we got for the various types of content we produced. Moreover, we also talked with some of our customers and users and asked them what topics they are interested in and what they want us to cover (more).
There is a clear evidence: in general folks like our product-related information as it helps them make better use of just plan it and it keeps them current. However, in 2018 they missed general-purpose information that relates with their industry and with the general issue of production scheduling and job shop scheduling.
Hence, here is our new year's resolution for 2019: we will continue to update you on what is happening in terms of new functions and features. In 2019, this will be complemented by us writing much more on general production scheduling and job shop scheduling questions. This post is meant to be the first of a post series dealing with all facets of job shop scheduling.
Features of a Job Shop
Trying to find some constants in job shop’s manufacturing processes sounds like the first step to make when aiming to gain an overview of the production. Unfortunately, it might be impossible to pinpoint any constants at all. Rather, a job shop manufacturer might identify “change” as the core characteristic of his production. What does this imply? Let’s look at typical set up of a job shop.
On the one side, a job shop has different workstations which are used to perform a variety of jobs. On the other side, there are multiple jobs which require individual sequences of tasks with different chains of operations. This Make-to-Order (MTO) concept leads to multiple challenges. A job shop manufacturer cannot plan their production well ahead of time or use historical sales data to forecast upcoming orders accurately. On the contrary, small batch sizes with customized products require unique working procedures. Consequently, workers must constantly adjust to new workflows and machine setups have to be altered regularly. Obviously, such a lack of routine and standardization makes it challenging to assess capacity and quality levels. Summarizing, job shops face a highly volatile, ever-changing and, not uncommonly, chaotic environment (and hence, lean approaches might not necessarily be working for them).
Scheduling Job Shops
Introducing some kind of structure, visualization, and planning tools is essential in order to fight the existent uncertainty in a job shop. But precisely because of the pervasive volatility, implementing a proper job shop schedule presents manufacturers with a challenge. Simply put, trying to allocate the jobs and partial activities of a job to the multiple working stations in an efficient way is the ultimate goal of job shop scheduling. Evidently, this can be a complex and ambitious task.
- How can a job shop manufacturer introduce a structured plan while what job shops lack most is structure?
- How can one properly account for sudden and frequent changes?
- How can one optimize and improve operations when forms of routines and forecasts are rare?
Well, nobody said that introducing a schedule would be a “piece of cake”, however, when being aware of some important insights along with applying some helpful tools will tremendously improve one’s ability to properly schedule a job shop production facility. Therewith, a job shop manufacturer can foster improvement, increase On-Time-Delivery by avoiding or reducing delays as well as reduce total production lengths.
Constraints for a Job Shop Schedule
The so-called sequencing problem, faced by job shops, involves several constraints and challenges:
- A working station, e.g. a machine, can only handle one job at a time.
- Workstations or machines may differ in terms of their capacity level.
- A new subtask of a job’s production line can only be started once the previous steps are successfully completed. The schedule has to strictly account for the task order of each individual job.
- A subtask always has to be fully completed.
- Routings vary from job to job.
- Priorities constantly change (e.g. if you have to squeeze in a rush order).
Job shop scheduling tries to solve these constraints by assigning the shared resources to the jobs and further providing a visual representation of the allocation. Ultimately, the aim is to use the job shop’s capacities and resources most efficiently.
Job Shop Scheduling Example
For the purpose of introduction and visualization, what follows is a simple example of the job shop scheduling challenge. First, let’s assume we have three job productions to allocate to three machines. The table below summarizes the required tasks. As an example, job III first requires 4 hours of machine 2 and afterward 3 hours of machine 3. Further, the job should be completed after 8 hours.
The first scenario below represents a non-optimal solution to the problem. The scheduler first allocated every task of job I (blue), then every task for job II (orange) and finally every task of job III (grey) without changing previously made allocations. As a result, Job II and job III cannot be delivered on time as can be seen from the red tasks that finish past the required due date.
Now, let’s look at a better solution. Every time a new job order comes in, the scheduler adjusts the current schedule by changing the priority of the respective jobs in order to deliver all (or at least: most of the) jobs on time. Applying this technique, in my example there is no delay and the total length of all jobs combined is reduced from 12 hours to 10 hours. Hence, the job shop’s resources are used more efficiently in the second scenario.
- Job shops produce customized products which each require unique production lines. This leads to a high degree of volatility and uncertainty which poses many challenges to the manufacturer.
- Scheduling a job shop production is essential when trying to fight the volatile environment. A schedule introduces some kind of structure, visibility and can point out areas of improvement.
- There are some factors constraining a job shop schedule: The capacity of the individual machines, the predetermined task order of a job and the requirement of job completion.