Skip to main content

Welcome to a Grasp lesson

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

Lesson 35

Optimizing Schedules with Time and Resource Constraints

Recommended resources

Hello! Welcome to the next lesson in our journey through complex scheduling problems.

In our previous session, we established the fundamental concepts of modeling transportation, distinguishing between simple time lags and the more realistic approach of modeling a finite fleet of transport resources. We defined key terms like empty vs. loaded travel and identified the new parameters and decision variables required.

Today, we will build directly on that foundation. The learning outcome for this lesson is to integrate transport time and resource constraints into scheduling models. We will move from conceptual definitions to a concrete mathematical formulation, focusing on how to construct a Mixed-Integer Linear Program (MILP) that simultaneously schedules both production and transportation. This is a critical skill for your thesis, as it allows you to create a comprehensive and solvable representation of the Flexible Job Shop Problem with Transport (FJSP-T).

1. The Integrated Scheduling Problem: FJSP with Transportation

The problem we are tackling is a significant extension of the standard FJSP. By including a finite number of vehicles, we are essentially adding another layer of resource constraints. A job's operation cannot start until:

  1. Its preceding operation is finished.
  2. The machine it needs is free.
  3. The job has been physically transported to that machine by an available vehicle.

This creates a tight coupling between the machine schedule and the vehicle schedule. To better understand this integrated problem, let's start with a formal definition from the literature.

A review of flexible job shop scheduling problems considering transportation vehicles

The paper 'A review of flexible job shop scheduling problems considering transportation vehicles' provides an excellent overview. Please read the introductory sections to solidify your understanding of the problem's context and complexity.

Please read Section 1 ('Introduction') and Section 2.1 ('Problem positioning'). Focus on how the authors describe the alternate occurrence of transportation and processing stages and the three essential subproblems: job routing, operation sequencing, and transportation task assignment.

As the paper highlights, solving this problem, which is often abbreviated as FJSP_PT, involves solving three interconnected subproblems. Our goal is to create a single mathematical model that finds an optimal solution for all three simultaneously.

Manufacturing System with Work Centers, Job Flow, and Time Components
This diagram illustrates a manufacturing system where jobs move between different work centers. The 'Handling time' indicated by the trucks represents the transport operations we are about to model. An effective schedule must coordinate the processing within each work center with the handling time between them.

2. A MILP Model for the FJSP_PT

Given your background in industrial engineering and mathematical analysis, you know that a MILP formulation is a powerful way to represent such complex optimization problems. We will now examine a complete MILP model for the FJSP_PT that aims to minimize makespan ().

This model will bring together concepts we've seen before (like sequencing variables for machines) and integrate the new transport-related variables from our last lesson.

A review of flexible job shop scheduling problems considering transportation vehicles

Now, let's dive into the mathematical details. Please study the integer programming model presented in the same review paper.

Carefully read Appendix A, which contains the full 'Integer programming model of FJSP_PT'. Familiarize yourself with the notation in Table A1 and skim through the constraints (A1) to (A24). Don't worry about understanding every detail immediately; we will break down the key transport-related constraints next.


3. Deconstructing the Transport Constraints

The model you just reviewed contains many constraints. Some of them, like (A3)-(A11), should look familiar as they handle the core machine assignment and sequencing aspects of the FJSP. Our focus will be on the new constraints, (A12) through (A21), which specifically model the transportation system.

Let's break them down by function.

a) Vehicle Capacity and Routing Constraints

These constraints manage the fleet of vehicles. They ensure we don't use more vehicles than are available and that each vehicle follows a valid sequence of tasks.

  • Constraint (A12):
    • Logic: The variable is 1 if the transport task for operation is the first task for some vehicle. The sum of all "first tasks" must be less than or equal to the number of available vehicles (). This effectively limits the number of active vehicle routes.
  • Constraint (A13):
    • Logic: is 1 if the transport task for is the last task for a vehicle. This constraint ensures that every vehicle route that is started also has an end.
  • Constraints (A14) & (A15): These constraints use the sequencing variable (task for follows task for on vehicle ) to ensure that every transport task has exactly one predecessor and one successor within a vehicle's route (unless it's the first or last task). This is analogous to the machine sequencing constraints you've seen before.

b) Linking Transport Completion to Production Start

These are the most critical constraints, as they create the dependency between the transport system and the production system.

  • Constraint (A16):
    • Logic: This is a "Big-M" constraint. If operation is assigned to machine (), the right-hand side becomes 0. The constraint then enforces , which simplifies to .
    • In words: The processing end time () must be greater than or equal to the transport end time () plus the processing time (). This ensures an operation doesn't start processing until the job has physically arrived.

c) Calculating Transport End Times

This final set of constraints determines the value of , the time a transport task is completed. This is where empty and loaded travel times come into play.

  • Constraint (A18) - Consecutive Operations of the Same Job:
    • Logic: If is on machine and its predecessor was on machine , this constraint becomes active. It states that the arrival time at machine () must be after the completion time at machine () plus the loaded travel time between the machines (). (Note: The paper seems to use for loaded time and for empty time, which can be counter-intuitive. Always check notation carefully!)
  • Constraints (A20) & (A21) - Consecutive Tasks on the Same Vehicle: These are the most complex constraints. They model the sequence of tasks for a single vehicle. Let's analyze the logic of (A20):
    • Scenario: A vehicle completes the transport for operation (which was processed on machine ) and its next task is to transport for operation (which needs to go to machine ).
    • Time Calculation: The arrival time for the new task () depends on the arrival time of the previous task () plus two travel components:
      1. Empty Travel: From the drop-off location of the previous task () to the pickup location of the new task (, where was processed). This is .
      2. Loaded Travel: From the pickup location () to the drop-off location (). This is .
    • The constraint combines these pieces to correctly calculate the transport end time based on vehicle availability and travel distances.
Test your understanding!

Consider constraint (A18) from the paper: .

Suppose in a real factory, some jobs are very heavy and require a special, slower type of vehicle, while other jobs are light and can be moved by faster vehicles. The current model assumes all travel times () depend only on the origin and destination machines.

How would you need to modify the model's parameters and this constraint to account for job-dependent (and thus vehicle-dependent) travel times?

Show answer

To handle this, you would need to make the travel time parameter more specific.

  1. Modify the Parameter: Instead of , you would need a parameter like or , representing the loaded travel time between machines and for job or for a job of class . If it depends on the specific vehicle type, you might even need for vehicle . Let's assume it's job-dependent: .

  2. Modify the Constraint: The constraint itself would be updated to use this more specific parameter:

    This change ensures that when calculating the arrival time for job , the model uses the correct travel time associated with that specific job. This highlights how these MILP models can be extended to capture more nuanced, real-world details, which is a key part of academic research in this area.


Conclusion

In this lesson, we successfully bridged the gap from concept to implementation by integrating transportation constraints directly into a MILP model for the Flexible Job Shop Problem. You have seen how to formulate the problem to simultaneously optimize machine and vehicle schedules.

Key Takeaways:

  • The FJSP with transport resources (FJSP_PT) is an integrated problem requiring the simultaneous solution of machine assignment, machine sequencing, vehicle assignment, and vehicle sequencing.
  • A MILP model can capture all these decisions using binary variables for assignment and sequencing, and continuous variables for event times.
  • The key to the integration lies in the linking constraints, which ensure that a production operation can only start after the transport task delivering the job has been completed.
  • Calculating transport completion times is complex, as it must account for vehicle availability, the vehicle's previous location (for empty travel), and the job's current location (for loaded travel).

Preview of the Next Lesson:

You have now modeled sequence-dependent setups and transportation constraints separately. The final step in this module is to combine them. In our next lesson, we will focus on formulating a flexible job shop MILP that includes both setup and transport constraints. This will result in a highly comprehensive and realistic model, representing the state-of-the-art for many industrial applications and providing a strong foundation for the models in your thesis.