Summary DS Scheduling
Summary DS Scheduling
Hierarchical Consideration
Hierarchical Decision Making
Business Planning Determine products to be manufactured. Match product to market’s/customer’s expectations
Design/Configure manufacturing system
Supply Network Generate detailed plans according to guidelines and constraints from business planning function
Planning Plan and control purchasing, manufacturing and distribution requirements -> anticipated demand
Product Planning & What products to schedule? When to schedule them? How much of each product to schedule?
Detailed Scheduling
Factory Manage manufacturing system in quasi-real time, to meet requirements from upper planning levels
Coordination (planned production / distribution orders)
Hierarchical Planning Principles
• Upper level creates objectives/constraints for decisions in lower levels.
Decomposition/ Hierarchy Not one big model, several planning units on different hierarchy (long-, mid, short-term)
Coordination Communication between planning units: top-down instructions and bottom-up reactions
Aggregation Continuous time -> discrete time periods; Entities aggregation (product -> product groups)
Model Building, Model building: Mathematical model for decision problems
anticipation, disaggregation Anticipation: Using information from subordinate planning when finding best decisions
Disaggregation: Aggregated instructions from higher levels -> disaggregated in subordinate levels
Model solving Manual planning, heuristics, meta-heuristics or optimization models
Machine Configurations
Single Machine Models Schedule bottleneck machine first. Rules: Earliest Due Date first (EDD), Shortest Processing time first(SPT)
Parallel Machine Models Machines in parallel but may not be identical.. A job can be processed on any of the machines .
Flow Shop Models Flow Production: all jobs visit the machines in same sequence.
Variants – automatic material handling, flexible flow.
Job shop models Multi-operation shops, where jobs often have different routes
Supply Chain Models Consider production and transportation in a network of facilities (job shops, flow lines, etc)
• Jobs (n – j,k): Static data (processing time, due date..) – does not depend on schedule vs dynamic data (starting time, completion time)
• Machines (m – i,h) – Routing (precedence/sequence), identical?, additional constraints (material, workforce), job shop/flow shop…
Information Flow Scheduling Basics
Architecture of Advanced Planning Systems (APS)
Planning Hierarchy
•
Lecture 3b: Flexible Flow Loading Algorithm
Flexible Flow System: Introduction FFLL Phase 2 - Sequencing
• Flow system with buffers and bypass Determining order of jobs on one machine
• Machines in parallel at work centres Idea: try to balance across stations, each station has same workload
• Job processed on any machine, or it can bypass the center Set i Machines, j jobs
• E.g. manufacturing printed circuit boards (PCBs) Variables p_ij: processing time at machine I for job j
Workload
Flexible flow line loading algorithm (FFLL)
Objective: Maximize throughput -> minimize Makespan (minimize workload assigned to machine I
the cycle of MPS)
Minimize work-in-progress: reduce blocking probabilities total workload of the MPS
Phases: Machine Allocation > Sequencing > Release timing
Let J_k be the jobs sequencing up to k (including k)
Define fraction of total workload of machine I, just
FFLL Phase 1 - Machine Allocation
after job k has entered the system:
• Each job is assigned to one machine (set j,k) -> already sequenced job + the job
• Balance the workloads using Longest Processing Time (LPT) currently looking at.
o Assume all jobs are available at same time Calculate the ideal target: ->
o Sort jobs in decreasing order of processing times P_j: total workload of job j.
• Whenever one of the machines is freed, the job with the Step 1
longest processing times is then selected.
FFL Phase 3 – Release timing
MPS workload of each machine known
• Highest workload = bottleneck machine
• MPS cycle time >= bottleneck cycle time
Algorithm
Step 1 Let all jobs enter the system as soon as possible
Step 2 Find machine with the largest total processing time
(bottleneck): Fix start/end times of operations
Consider overload only, but not underload.
(Try to arrange jobs near bottleneck)
Step 3 Delay upstream operations as late as possible
Step 2 Select the job causing minimum total positive work
Step 4 Expedite downstream operations as early as possible
overload and add it to the sequence
Repeat until all jobs are in the sequence.
These modification in release times reduce the number of jobs
waiting for processing -> reduce the required buffer space.
Mixed-Model Sequencing
• Aim: minimize total work overload based on detailed schedule.
• Several operational characteristics taken into account: Processing time, station borders, operator movements
• Operators return with infinite velocity to next workpiece. Workers movements are modelled explicitly.
Work overload definition
• Occurs when operator cannot finish assembly operations on a workpiece within stations’ boundaries
• Measured by time/space necessary to complete all excess work, of the respective station right border.
• No impact on succeeding station.
Model Notation
Index (k = 1…K) Number of stations
Parameters c: cycle time; l_k : length of station; p_mk: Processing time of model m at station k
DV w_kt: Work overload at station k in cycle t ; s_kt: Start position of worker
Level Scheduling example: consider whether a part is needed for Counting violations
demand per shift, then a sequence of N vehicles. Violation acceptance number -> otherwise constraint does not hold.
Example: Violation when there are >=2 cars within 3-time periods.
Violation is counted once only. Counting only if the current car is red (a violation).
Lecture 5a: Robust car sequencing - Method
Failure might cause work overloads Problem Notation
Planning Approach • Failure scenarios c: every vehicle -> either exist or fail.
• Planning volumes have been allocated to shifts in preceding
planning steps • Probability of failure: either existing
• Sequence is planned one week prior to production to enable or failing for each vehicle, then take product
JIT/JIS supply
• Failure causes: Body color, body variant, chosen options
Problem
• Failure impede vehicles from being ready for assembly on line
• Short-term sequence alterations cause work overloads
o Taking away “problematic model” and move the sequence ->
overloading models next to each other -> more violations
Key Questions
• How to integrate vehicle failure probabilities in sequencing?
• Benefits of considering vehicles failure probabilities? (Current
situation, new colour/variant, varying reliability of paint shop)
Exact Branch and Bound Solution
Exact -> mathematically proven optimal solutions
Tree Representation
• Levels represent sequence slots: root node -> first slot and lower
leaf -> last slot. Trees have |V| levels.
• |V| trees created in parallel. Root node of vth tree is vehicle v.
Node extension
• Extend by considering all remaining but unplanned vehicle
• Partial sequence: Path from a root node to another node Minimize expected number of violations
• Determine expected number of violations in all partial Constraints to be considered
sequences. (lower bound for exp violations in complete seq) • Avoid duplicated counts of violations.
Best-first search strategy
• Choose the node with lowest lower bound for extension
• Tie -> choose the node with greater depth
Pruning rules
• When it presents a complete sequence -> update upper bound
• Whenever lower bound >= upper bound
Symmetry
• B&B trees exhibit significant symmetries.
• Every sequence can be reserved to form another sequence with
same objective value.
• WLOG, Break symmetry by enforcing that vehicle V2 is
sequenced later than vehicle V1
Insights from optimal sequences
• Full subsequence: between a critical value and then next
H_o1 th critical vehicle are exactly N_o1 – H_o1 uncritical
vehicles (as soon as uncritical fails, we have problem -> want
to minimize)
• Slack subsequence: between a critical value and then next
H_o1 th critical vehicle there are more than N_o1 – H_o1
uncritical vehicles (maximize this instead, can put more
vehicles with higher failure probabilities)
Observations
• Optimal sequences consist minimal number of full
subsequences and maximal number of slack subsequences
• Uncritical vehicles with low failure probabilities are placed
full subsequences, and uncritical vehicles with high failure
probabilities in slack subsequences
• Critical vehicles with low failure probabilities are at the
beginning and end of optimal sequences.
Lecture 5b: Robust car sequencing - Results
Strength Lower Bound for better Performance Challenges of Larger Sequences
• Lower bounds are so far not tight because they only consider • Computationally intractable to evaluate all failure scenarios.
violations in the planned partial sequence. Most failure scenarios have marginal probabilities.
Anticipate future violations by: • Too time-consuming to find optimal sequence across all
• Analyze every option individually Permutations.
• Neglect interactions between options. • Stopping criterion is needed.
• Neglect violations at crossover between planned and unplanned Adaptive large neighbourhood search
sequence. Initial Solve deterministic counterpart (car-
• Consider failure scenario in which all remaining vehicles exist solution sequencing problem without vehicle failure)
Reduce the problem of estimating expected future violations -> well-
known deterministic car-sequencing problem, with single option Modification Five operators moving a single vehicle to a new
Evaluate all unique permutations of the binary a_vo values of the Operators position, or swap positions of two vehicles
remaining yet unplanned vehicles. Inspired by observations in optimal sequences
Acceptance Simulated annealing: Accept any better
Results Analysis Criterion solution but worse solution to become new
• Number of evaluated nodes and run time increase exponentially incumbent.
in number of vehicles. Aim: escape from local optima.
• Symmetry breaking and strengthening of lower bounds can Likelihood of accepting worse solution depends
reduce number of evaluated nodes and run time. on deterioration and the progress of search
• RCSH perform well: avg optimality gap is only 0.49%, and 75% Adaptive Reward operators that generate accepted
have gaps below 0.74%. Average run time is 24 seconds. Mechanism solutions, depending on (i) new global best
Experiment Design solution, (ii) better than incumbent, or (iii)
• Real world data: 51 shifts. 300 vehicles, 4 options, 16 colours accepted but worse than incumbent solution
• Scenarios: Status quo at partner OEM, Introduction of new Stopping Stop as soon as the best solution found has
colour, varying paint shop reliability criterion improved by less than 0.1% in the past 5000
RCSH iterations.
• lower expected workload over status quo (OEM)
• achieves most stable performance
• advantage during introduction of new colours/option/suppliers.
• Should include in rolling-horizon planning framework
Lecture 6a: Continuous Manufacturing: Lot Sizing and Scheduling
Features of continuous manufacturing (Process Industries) Discrete Time Representation: Big and Small buckets
• Undifferentiated product (oil, chemical, beverages, food..) • Big bucket model: several products can be produced in one time
• Formulas/recipes describe the requirements of the period. Bigger approximation > Easier to solve but inaccurate.
production o Smaller number of variables and constraints
• Blending, mixing, transforming o No scheduling of products assigned to one period
• Typical multi-stage production in food/beverage: • Small bucket model: one product can be produced in one time
Continuous processing -> Transfer to discrete units period: Harder to solve but more accurate
Lot Sizing and Scheduling • Setting assumptions
• Lot Sizing: How many parts to produce at once? o Deterministic model, no stochastic features
• Scheduling: How to allocate resources to tasks over time o Single-stage, multi-item, multi-period
periods • Decisions
• Integration: Necessary for significant sequence dependent o How much should be produced in each period?
setup costs and times. (Use one model to explain both) o Setup and inventory?
• Inventory as a source of waste – space, cost, perishable Indices P: Set of products
goods. Inventory may also hide problems (transparency) T: Time Periods
• Just-in-time principle: Match supply with demand, make-to- Parameters d_pt: Demand for product p in period t
order instead of make-to-stock a_p: Product coefficient of product p
(hat)s_p: Setup coefficient for one setup of product
Modelling Aspects p
• Calculate corresponding time slot instead of discrete time c: production capacity
periods h_p: Holding cost per unit of product p
s_p: Setup cost per unit of product p
I^0_p: initial inventory of product p
Decision Q_pt: Product quantity of product p in period t
Variables l_pt: Inventory of product p at the end of period t
y_pt: binary – if product p is setup in period t
Big Bucket Model
Useful formulas:
Model Overview
Economic Lot Sizing Block Planning Cheese Production
Question Lot sizing Lot sizing + Scheduling of product families Lot sizing + Scheduling of single batches
System Single-stage production Single-stage production Two-stage production with zero wait
Single/multi-product Multi-product (product families) condition, Multi-product
Objective Minimize total cost Minimize makespan Minimize makespan
Demand Constant demand Discrete demand elements with due dates Demadn due at the end of planning
horizon
Setup Setup cost given, setup Major setups (product families) Different types of changeover considered
times can be included Minor setups (products)
Setup sequence
independent
Time No scheduling Continuous time scale divided into blocks Continuous time scale for scheduling
Discrete time scale for tracking of
resources
Lecture 7a: Block Planning
Introduction of Block Planning MILP-based block planning
Application Environment Block Based on product families and given setup
• Production of number of variants of a single product type sequences
(Consumer goods, fresh food industry, fine chemicals…) Each block can be executed within predefined
• Make-and-pack production: often a single bottleneck stage (e.g. time window
combined final bottling + packaging stage) Numbered in consecutive order, according to
• Example: Chemical-pharmaceutical non-decreasing end times of time windows
o Formulation of solida/liquida from raw materials Lot size Individual product lot size may vary from block to
o Packaging in different formats block
o Shipping to customers Demand Represented by demand elements
Due date defined on continuous scale.
Setup Classifications Can be filled by a set of assigned production
• Setup families: products with similar processing requirements orders
• Major setup times: Changing between setup families Time Starting and Ending time are scheduled flexible
o Packaging format, cleaning of equipment) Block can start right after predecessor block
• Minor setup times: Changing between setup products within a completion
family Can impose time windows for earliest start/latest
o Provision of material, tools exchange, adjust conditions finishing time.
• Natural sequence Objective: minimize makespan
o Purity requirement, light -> dark colour… MILP Advantages
o Block: pre-defined sequence of production orders of var size. • Practical to support decision makers in practice
• Provide flexibility for integrating application-specific
features
• Setup families definition addressed realistically (minor and
major set-up times)
• Easy to implement
MILP Model Formulation Setup Constraint 1
Objective Function: minimize timespan
Indices and Sets Assignment of product families to blocks
Setup for sub lots
Setup Constraint 2
Relationship between product flow, demand element and setup
Block Schedule
Parameters
Matching Production Output and Demand
Variables
Lecture 7b: Two-stage Cheese Production
Introduction of Cheese Production Scheduling of Lots: Timing
Processes: Timing on machine
• Milk treatment -> Filling into tubs -> Curd preparation
• Filling into forms -> Resting -> Brining -> Ripening
• Packaging/Storage
Two-machine flowshop
• Machine 1: Coagulator (time-dependent cleanings)
• Between: No-wait condition, sequence-dependent changeovers
• Machine 2: Filler (Restricted capacity of forms)
Elements of the Model
Decision variables and parameters for timing
Product 𝑝 ∈ 𝑃, Demand 𝛼$ , Due Date 𝛿$%
Lot size X_l, minimum lot size p_l
Starting / completion time of loading lots of machines: S1_l, S2_l, C1_l,
C2_l
Y_ll’: If lot l is produced before lot l’
Sequence dependent changeover theta_ll’