AYAhmed Yazıcı
← All projects

Case 10 / Scheduling decision support

A workspace for comparing machine schedules.

A Streamlit application that lets users define a production scheduling problem, run different solvers, and inspect objectives, computation times, Gantt charts, and search convergence.

  1. 01 / FRAMEChoose a shopSingle, parallel, flow, job, or open shop
  2. 02 / DEFINESet the objectiveJob data, constraints, and performance measure
  3. 03 / SOLVERun methodsDispatch rules, metaheuristics, and bounds
  4. 04 / COMPAREInspect schedulesTables, Gantt, convergence, and timing
Shop environments
5from one machine to open shop
Metaheuristics
4GA, SA, Tabu Search, and ACO
Deterministic checks
7 / 7passed in the documented verification run
01 / THE DECISION

“Best schedule” depends on the question.

Scheduling choices change when the machine environment, job constraints, and objective change. A sequence that minimizes the completion time of all work may differ from one that minimizes lateness or gives greater weight to urgent jobs.

This project brings several formulations into one interface. The user can see the selected assumptions next to the resulting schedules rather than comparing algorithms without a shared problem definition.

02 / THE APPLICATION

One problem, multiple strategies.

The application covers single machines, parallel machines, flow shops, job shops, and open shops. Inputs include processing times, release dates, due dates, weights, and supported precedence or deadline constraints. The editable job table changes its columns to match the selected formulation.

Objectives

Users can compare makespan, total completion time, weighted completion time, maximum lateness, and total tardiness. The schedule core calculates metrics and validates constructed schedules.

Solution methods

Dispatching rules include SPT, LPT, EDD, ERD, WSPT, FIFO, Wrap-Around, and Johnson's rule for two-machine flow shops. The system also includes Genetic Algorithm, Simulated Annealing, Tabu Search, Ant Colony Optimization, and LP-relaxation lower bounds.

Outputs include a solver comparison table, computation times, the best schedule, Gantt charts, and convergence plots. The goal is to let a user inspect trade-offs rather than receive a single unexplained sequence.

03 / VERIFICATION

Check small cases against known answers.

The repository reports seven passing deterministic solver checks. Several compare a method or lower bound with an exhaustive optimum on a deliberately small case.

CheckRecorded result
Single machine · makespanLP bound = exhaustive optimum = SPT = 15
Single machine · total completionLP bound = exhaustive optimum = SPT = 26
Single machine · maximum latenessEDD = exhaustive optimum = 2
Single machine · weighted completionLP bound = exhaustive optimum = WSPT = 40
Two-machine flow shop · makespanExhaustive optimum = 12; LPT = 14; SPT = 15
Two parallel machines · makespanLP bound = LPT = 9
Tabu Search · total completionReached exhaustive optimum = 34

A separate job-shop order check produces different makespans from different orders, confirming that sequence affects the result in that test setting.

04 / INTERPRETATION

A prototype for exploring choices.

The checks support the implementation on small, inspectable cases. A heuristic's solution quality on a new instance depends on the problem, its parameters, and the time allowed for search. LP outputs are lower bounds or formulation-specific approximations, while a reported heuristic schedule is a feasible candidate.

Scope. This is a decision support prototype for comparing scheduling formulations and methods. It does not claim that any one solver dominates across every shop environment.