Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 27

Understanding the Flexible Job Shop Problem (FJSP)

Recommended resources

Hello! Welcome to the next stage of your learning journey.

In our previous lessons, we built a strong foundation in the classical Job Shop Problem (JSP). You learned how to represent it with a disjunctive graph, calculate makespan, and, most recently, how to construct high-quality active schedules using the Giffler-Thompson algorithm. These concepts are the bedrock for what comes next.

As we discussed, your thesis focuses on the Flexible Job Shop Problem (FJSP). This lesson marks our official entry into this crucial topic. We will define what makes a job shop "flexible," exploring how this seemingly small change creates a much richer and more complex scheduling environment that is highly relevant to modern industry. By the end of this lesson, you will be able to fully define the FJSP and its key characteristics, which directly addresses the learning outcome: Define the flexible job shop problem (FJSP) with machine flexibility.

From Job Shop to Flexible Job Shop

Let's start by recalling the strict rules of the classical Job Shop Problem (JSP):

  • A set of jobs must be processed.
  • Each job has a specific sequence of operations (precedence constraints).
  • Each operation must be processed on a single, pre-determined machine.

The FJSP generalizes the classical JSP by relaxing that third and final rule. In the FJSP, an operation can be processed by any machine from a given set of alternatives. This introduces a new, critical layer of decision-making.

To get a formal grasp of this, let's turn to a key resource.

Test Instances for the Flexible Job Shop Scheduling ...

The paper 'Test Instances for the Flexible Job Shop Scheduling' by S. R. R. S. J. A. an T. Renger provides a concise and clear definition of the FJSP, contrasting it with the classical JSP.

Please read Section 2.1, 'Problem definition' (on page 2). Focus on how FJSP is defined as an extension of the JSSP and the two sub-problems it entails: assignment and scheduling.

As the paper highlights, the FJSP is not one problem, but two interconnected sub-problems that must be solved:

  1. The Routing Problem (Machine Assignment): For each operation, we must select one machine from its set of eligible machines.
  2. The Scheduling Problem (Operation Sequencing): Once machines are assigned, we must sequence the operations on each machine to create a valid schedule that respects all precedence constraints and optimizes our objective (e.g., minimizing makespan).

Crucially, as noted in the reading, once the machine assignments are fixed, the FJSP reduces to a classical JSP. This is a fundamental concept. The "flexibility" adds the upfront challenge of making the right machine assignments, knowing that these choices will dramatically affect the subsequent sequencing possibilities.


Types of Machine Flexibility

The term "flexibility" isn't monolithic; it can describe different scenarios. The way machine alternatives are structured is a key part of defining an FJSP instance. The paper you just read introduces the two primary types: partial flexibility and total flexibility.

  • Total Flexibility: This is the most extreme case. Every operation can be processed on any machine in the entire shop. While simple to state, this is less common in practice. Table 3 in the paper LINK illustrates this, where processing times pi,k,j exist for every combination of operation (i,k) and machine (j).

  • Partial Flexibility: This is a more realistic scenario. An operation can be processed on a specific subset of the available machines. This might be because only certain machines have the required tooling, size capacity, or technology. Table 2 in LINK shows this structure, where an ∞ in the matrix indicates that a given machine cannot process a particular operation.

The image below gives a practical sense of what a flexible manufacturing layout might look like.

Flexible Job Shop System with Work Centers and Job Flow
A manufacturing system with five work centers, each containing multiple machines. The flow of jobs between centers illustrates the routing decisions, while the presence of multiple machines within a center represents machine flexibility.

This diagram shows jobs moving between different work centers. A work center is a common concept in industrial engineering, representing a group of similar or related machines. An operation might need to be processed at "the drilling center," giving it the flexibility to be assigned to any of the drilling machines within that center. This is a perfect real-world example of partial flexibility.

Test your understanding!

Consider a small shop with three machines: M1 (a lathe), M2 (a lathe), and M3 (a grinder).

  • A turning operation can be performed on M1 or M2.
  • A grinding operation can only be performed on M3.

Is this an example of total or partial flexibility? Why?

Show answer

This is an example of partial flexibility. The turning operation has a choice between M1 and M2, but it cannot be done on M3. The grinding operation has no flexibility at all. Since at least one operation cannot be processed on all machines, the flexibility is not total.


FJSP in the Scheduling Landscape

To fully understand FJSP, it's helpful to see where it fits among other scheduling problems. Your prior knowledge of industrial processes will help you appreciate these distinctions.

The paper LINK (in Section 2.2, "Related scheduling problems") provides a good overview of this hierarchy. Here's a summary of the key relationships:

  • Flow Shop (FSSP): The simplest case. All jobs follow the same sequence of machines.
  • Job Shop (JSP): A generalization of FSSP. Each job has its own unique, but fixed, sequence of machines.
  • Flexible Flow Shop (FFSP / Hybrid Flow Shop): A generalization of FSSP. The flow of stages is fixed for all jobs, but at each stage, there is a set of parallel machines to choose from (like the work centers in the image).
  • Flexible Job Shop (FJSP): A generalization of JSP. Each job has its own unique sequence of operations, and for each operation, there is a set of machines to choose from.

Therefore, FJSP can be seen as one of the most general and complex of these standard machine scheduling environments, which is why it's a rich area for research.


Why is FJSP Important?

The move from JSP to FJSP is not just an academic exercise. It reflects the evolution of manufacturing systems. Modern facilities are designed with flexibility in mind to:

  • Increase Robustness: If a machine breaks down, work can be rerouted to another eligible machine, preventing a total production halt.
  • Improve Throughput: By assigning operations to the most efficient or least loaded machines, we can reduce waiting times and decrease the overall makespan.
  • Enhance Resource Utilization: Flexibility allows for better load balancing across the shop floor, ensuring that expensive machinery is not sitting idle while bottlenecks form elsewhere.

Because FJSP provides a more realistic and powerful modeling framework, it has become a central problem in both academic research and industrial practice, making it an excellent topic for your thesis.


Conclusion

In this lesson, we made the critical leap from the classical Job Shop to the Flexible Job Shop. We've established a solid definition of this more complex problem, which will serve as the foundation for the rest of this module and for your thesis work.

Key Takeaways:

  • The Flexible Job Shop Problem (FJSP) generalizes the JSP by allowing each operation to be processed on one machine from a set of alternatives.
  • Solving an FJSP involves tackling two intertwined sub-problems: machine assignment (routing) and operation sequencing.
  • Machine flexibility can be categorized as total flexibility (any machine can do any operation) or, more commonly, partial flexibility (an operation is restricted to a subset of machines).
  • The FJSP is a highly practical model that captures the reality of modern manufacturing, offering benefits in robustness, throughput, and resource utilization.

Preview of the Next Lesson:

Now that we have a solid conceptual and descriptive understanding of the FJSP, our next step is to translate this definition into a precise mathematical language. In the next lesson, we will learn how to formulate the FJSP as a Mixed-Integer Linear Program (MILP). This is a crucial skill for developing exact solution methods and a fundamental component of advanced optimization research.