Skip to content

Latest commit

 

History

History
46 lines (36 loc) · 1.81 KB

File metadata and controls

46 lines (36 loc) · 1.81 KB

🐉 Flexible-Job-Work-Scheduling-Problem-with-Sequence-Dependent-setups-using-Python

This repository summarizes the Flexible Job Work Scheduling Problem with sequence dependent setup in the context of steel manufacturing with special products using MILP programming technique in python code


🐕‍🦺 Problem overview

This optimizers tackles the Flexible Job Work Scheduling Problem (FJWSP) with sequence-dependent setup times - a real challenge in special steel products manufacturing

  • Multiple custom products
  • Many machines: Each job can be processed by a subset of machines only
  • Sequence-dependent setups: Setup time (e.g. for cleaning, tooling, or alloy switching) depends on the previous job's product type on the same machine
  • Objective: Minimize the makespan (total time until the last operation is complete)
  • Simultaneously assign each operation to a machine and determine the processing order

🐡 Model Structure

  • Jobs: Each product is a job (can have multiple operations)
  • Machines: Not all jobs compatible with all machines
  • Variables:
    • Which machine a job is assigned to
    • Processing sequence of jobs on each machine
    • Operation start/end times
  • Constraints:
    • Every job must be assigned and scheduled once (on a compatible machine)
    • Precedence within multi-operation jobs (if applicable)
    • No machine processes two jobs at the same time
    • Sequence-dependent setup times between consecutive jobs

🪵 Technologies used

  • Python 3.13
  • Visual Studio Code
  • PuLP library
  • ChatGPT
  • Perplexity Pro

🌟 Requirements

  • Knowledge on Operations Research in Steel Manufacturing domain
  • Knowledge on Prompt engineering

"The mathematical formulation of a problem is often more essential than its solution" - George Dantzig