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
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
- 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
- Python 3.13
- Visual Studio Code
- PuLP library
- ChatGPT
- Perplexity Pro
- 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