Skip to main content

Welcome to a Grasp lesson

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

Lesson 33

Modeling Sequence-Dependent Setup Times

Recommended resources

Hello! Welcome back.

In our previous lesson, we established the critical distinction between sequence-independent and sequence-dependent setup times. We concluded that sequence-dependent setups () pose a significant modeling challenge because the time required for a setup, , depends on the specific sequence of jobs .

Today, we will tackle that challenge directly. Our learning outcome is to incorporate sequence-dependent setup times into disjunctive graph and MILP models. This is a fundamental skill for your thesis work, as it allows you to build mathematical models that accurately reflect the complexities of many real-world flexible job shop environments.

Let's begin by revisiting the graphical representation of scheduling problems.

1. Modeling SDST in Disjunctive Graphs

In Module 5, you learned to represent a job shop problem using a disjunctive graph. As a quick refresher:

  • Nodes represent the operations.
  • Conjunctive (solid) arcs connect operations of the same job, representing the fixed technological sequence. The weight of an arc from operation to is the processing time of , .
  • Disjunctive (dashed) arcs connect operations that compete for the same machine. For any two operations and on the same machine, there's a pair of arcs: one from to and one from to .
  • Solving the problem is equivalent to selecting one arc from each disjunctive pair to create a directed acyclic graph (DAG). The makespan is the length of the longest path in this resulting DAG.
Disjunctive Graph Visualization: Example
A typical disjunctive graph for a job shop problem. Black arrows are conjunctive arcs (within-job precedence), and red arrows represent disjunctive arcs (on-machine choices). The goal is to select one direction for each pair of red arrows to minimize the longest path from S to T.

Now, how do we introduce sequence-dependent setup times, ?

In a standard JSP model, the time between two consecutive operations and on a machine is simply the processing time of the first, . The start time of must be after the completion time of : . This is what the arc weight of represents.

With SDST, if is followed by , the constraint becomes more stringent: the machine is occupied for and then for the setup . Therefore, operation cannot start until after is processed and the setup is complete.

To model this in the disjunctive graph, we modify the meaning of the disjunctive arcs. When we decide to sequence operation before on a machine, we add a directed arc from to with a weight of .

This is a crucial change. The "cost" of a sequence is no longer just the processing time but includes the setup time that depends on the chosen predecessor.

To learn more about this formal representation, we can look at a paper that models this exact problem.

Job shop scheduling with setup times and maximal time-lags

The paper 'Job shop scheduling with setup times and maximal time-lags' by Laborie provides a formal definition of the Job Shop Problem with Sequence-Dependent Setup Times (SDST-JSP) and its constraints. It clearly shows how the standard disjunctive constraints are modified.

Please read section '3.1 Job Shop Scheduling Problem with Sequence Dependent Setup-times' and the 'Specific Implementation Choices' subsection within it. Focus on constraint (3.3) and the disjunctive constraint formulation that follows. Notice how they explicitly add the setup time si,j into the standard disjunctive logic.

As the paper shows, the standard disjunction becomes . Finding the optimal sequence now involves choosing disjunctions that minimize the longest path in a graph where arc weights are sequence-dependent.


2. Modeling SDST in a Mixed-Integer Linear Program (MILP)

For your thesis, formulating a MILP model is a powerful and common approach. Let's extend the standard FJSP MILP to include sequence-dependent setup times.

First, let's define our key decision variables for a pair of operations, and , that could potentially be scheduled on the same machine :

  • : Continuous variables for the start times of operations and .
  • : Binary variable, 1 if operation is assigned to machine , 0 otherwise.
  • : Binary variable, 1 if operation is scheduled immediately before operation on the same machine, 0 otherwise. (Note: some models define this as anytime before , but for setups, an immediate successor formulation is often used).

Our goal is to modify the "no-overlap" constraints. For any two operations and assigned to the same machine , one of the following must hold:

  1. comes before :
  2. comes before :

We can enforce this logic using the "big-M" method. Let's assume for simplicity a model where is 1 if precedes (not necessarily immediately) on machine .

For every pair of operations that can be processed on the same machine :



... wait, that's not quite right. A cleaner way to write this is:


A more standard and easier-to-read formulation uses two constraints per pair of operations that could conflict on a machine :

  1. If precedes on machine :

    If is on (), is on (), and precedes (), the big-M term becomes , and the constraint is active: . In all other cases (e.g., different machines, different order), the constraint is relaxed.

  2. If precedes on machine :

    Here, if and are on machine and precedes (), the big-M term becomes , and the constraint is active: .

This pair of constraints ensures that for any two jobs competing for a machine, their processing intervals are separated by the required sequence-dependent setup time.

The following research paper provides a full MILP formulation for an FJSP with sequence-dependent setup and transport times. While the notation is dense, it implements the exact logic we just discussed.

Flexible job shop scheduling problem with sequence- ...

The paper 'Flexible job shop scheduling problem with sequence-dependent...' by Varone et al. presents a complete MILP model for a complex FJSP. It's an excellent example of how these constraints are formulated in academic literature.

Please review section 'III. MODEL', focusing on the subsection '4) No conflict on the same machine'. Try to map their constraints back to the logic we just discussed. xj1,Oj1,l1 is a start time, p is processing time, prepT is the setup time, y is the machine assignment variable, and z (or pred in their text) is the sequencing variable. Don't worry about memorizing the exact syntax, but focus on recognizing the pattern.

The model in the paper demonstrates that while the core idea is simple (add to the precedence constraint), the full formulation for a flexible shop requires careful handling of assignment and sequencing variables simultaneously.

Gantt Charts Illustrating Different Production Schedules and Makespans
These Gantt charts visualize the output of such complex models. The white blocks represent the setup times (\(s_{ij}\)) we have just modeled. The objective of the MILP would be to find an assignment and sequence (a schedule) that minimizes a certain objective, like the makespan shown in each chart.
Test your understanding!

Consider a simple problem with two jobs, J1 and J2, on a single machine, M1.

  • J1 has one operation, O1, with processing time .
  • J2 has one operation, O2, with processing time .

The sequence-dependent setup times are:

  • Setup from an idle machine to O1:
  • Setup from an idle machine to O2:
  • Setup from O1 to O2:
  • Setup from O2 to O1:
  1. Disjunctive Graph:

    • What would be the weight of the directed arc from O1 to O2 in the disjunctive graph?
    • What would be the makespan if you choose the sequence O1 O2?
    • What would be the makespan if you choose the sequence O2 O1?
  2. MILP Formulation:

    • Let and be the start times. Let be a binary variable that is 1 if O1 precedes O2, and 0 otherwise.
    • Write the two big-M constraints that model the disjunction for this single-machine case. (Since it's a single machine, you don't need the assignment variables).
Show answer
  1. Disjunctive Graph Answers:

    • The weight of the arc from O1 to O2 is .
    • Sequence O1 O2: Makespan = (Setup to O1) + (Process O1) + (Setup to O2) + (Process O2) = .
    • Sequence O2 O1: Makespan = (Setup to O2) + (Process O2) + (Setup to O1) + (Process O1) = .
    • In this specific case, both sequences result in the same makespan. In more complex problems, this is rarely the case.
  2. MILP Formulation Answers:
    Let M be a large number.
    The two constraints are:



    • If , this becomes . If , it's relaxed.


    • If , this becomes . If , it's relaxed.

Conclusion

You have now learned how to integrate one of the most common real-world complexities—sequence-dependent setup times—into both graphical and mathematical scheduling models.

Key Takeaways:

  • Disjunctive Graph: SDST are modeled by adding the setup time to the processing time as the weight of the selected directed disjunctive arc from to .
  • MILP Model: SDST are incorporated by modifying the big-M "no-overlap" constraints. The relevant setup time is added to the right-hand side of the inequality that is activated by the sequencing variable .
  • These modeling techniques are essential for capturing the true cost of a given sequence and are foundational for building the sophisticated models required for your thesis.

Preview of the Next Lesson:

We have successfully modeled setups that occur on a machine. But what happens between machines? In many modern facilities, jobs don't teleport instantly. They are moved by vehicles like AGVs or conveyors. Our next lesson will address this by showing you how to define transport constraints and model transport resources, adding another critical layer of realism to our FJSP model.