0% found this document useful (0 votes)
110 views17 pages

Summary DS Scheduling

The document provides an overview of hierarchical scheduling and job shop scheduling. It discusses hierarchical planning principles including decomposition, coordination, aggregation, anticipation, and disaggregation. It also covers scheduling complexity, common performance measures like makespan and tardiness, and heuristic methods like dispatching rules. Finally, it introduces the framework of job shop scheduling, flexible job shops, graph representations, and a disjunctive programming formulation for modeling job shop scheduling problems.

Uploaded by

Omar Flores
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
110 views17 pages

Summary DS Scheduling

The document provides an overview of hierarchical scheduling and job shop scheduling. It discusses hierarchical planning principles including decomposition, coordination, aggregation, anticipation, and disaggregation. It also covers scheduling complexity, common performance measures like makespan and tardiness, and heuristic methods like dispatching rules. Finally, it introduces the framework of job shop scheduling, flexible job shops, graph representations, and a disjunctive programming formulation for modeling job shop scheduling problems.

Uploaded by

Omar Flores
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Lecture 1a: Scheduling Introduction

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

• Material Resources planning – material required; quantities


needed -> due dates / shop orders / release dates…
• Schedule jobs to the manufacturing system.
• Decisions need to be taken in both hierarchical context and supply chain concepts.
• Top level also needs to anticipate what is happening in the base level -> not all decision making have to go through top level.
• Common terminology:
Lecture 1b: Scheduling Heuristics and Performance
Scheduling Complexity Performance Measures
• Very challenging, calculating time for optimality can be long Throughput/ The time that the last job leaves the system
• Short-term scheduling: solution must be found quickly Makespan Cmax = max(C1….Cn)
• Basic choice: optimal solution vs acceptable solution Minimize makespan -> maximizes throughput.
• In practice: acceptable solution is usually good enough Due dates: The time job j is late (i.e. past its due date d_j)
Heuristics Methods Lateness L_j = C_j – d_j
• No optimal solution guarantee, but good for finding a Minimize the max lateness -> minimize the worst
reasonable solution in a short time performance of the schedule.
• Example: dispatching/priority rules Due dates: The time job j is late (i.e. past its due date d_j) only
• Local search (neighborhood search): start from a feasible Tardiness if positive.
initial schedule and check “neighborhood” solutions, then
select improvement on schedule. Total weighted tardiness
Dispatching rules Objective can be to minimize number of tardy jobs,
• Prioritize jobs waiting to be performed (operations queue) total tardiness or total weighted tardiness.
• Dependent on job characteristics Performance Measures overview:
• Whenever Machine becoming free:
o update queues, rank activities (simple rule based) and
schedule highest priority
Types of Rules – depending on…
Sometimes: combination as well!
Release date/ ERD: Earliest Release Date (First come first
due-date served) -> r_j
based EDD: Earliest Due Date (min. lateness)
MS: Minimum Slack first: max {𝑑! − 𝑝! − 𝑡, 0}
[Finishing time – starting time – task time]
Processing LPT: Longest Processing Time
Time SPT: Shortest Processing Time
WSPT: Weighted Shortest Processing Time
CP: Critical Path
Lateness: also takes negative value.
LNS: Larges Number of Successors
Number of tardy jobs: discrete
Miscellaneous SST: Shortest Setup Time first
LFJ: Least Flexible job first
Performance Measures (continued)
Random
• Robustness: minimal changes when disruptions present
Setup Costs Setup times (machine is down while setup)
Setup costs
Not necessarily the same: if machine has
enough idle time, setup time is not important.
Work-in- Handling costs involved.
progress / Older WIP can become obsolete / damaged.
inventory costs Detecting defects affect WIP -> affect yield
Minimize avg throughput time -> minimize sum
of completion time -> minimize WIP.
Finished Goods Holding Costs
Inventory Cost MTO -> earliness costs
Transportation Sensitive in multiple facilities setting
costs Different modes have different speeds & costs
Cost of moving one unit of m from a to b
Lecture 2a: Job Shop Scheduling
Framework of Job Shop Scheduling Disjunctive Programming Formulation
N jobs visiting M machines and each job: Conjunctive constraints: Each of the constraints has to be satisfied.
• Has a predetermined route (task schedule) Disjunctive constraints: At least one of the constraints has to be
• Visit some or all the machines satisfied, not all.
• Visit each machine at most once (more -> recirculation)
Flexible job shop Model Formulation
• Collection of workcenters consisting of identical machines in Indices h, i Machines
parallel Indices J, k Jobs
• When a job visits a job center, it may be processed by any of Set N Set of Operations (i, j)
these machines available. Set A Set of precedence constraint (i, j) -> (h, j)
Parameter p_ij Processing time of job j in machine i
Graph Representation (MACHINE, JOB)
Variable y_ij Starting time of operation (i, j)
• Processing job j on machine I -> Operations (i, j)
Variable C_max Makespan
• Processing time: p_ij
Minimize Cmax
Graphical parameters
G = (N,A,B) Representation of job shop scheduling
N Set of operations (i,j)
A Arcs of job precedence (conjunctive graph)
B Arcs of machine constraints (disjunctive graph)
Create arcs between any of the pairs to show job
sequence, based on machine)

(1) Precedence constraint (conjunctive): solid arcs in the graph


(2) Makespan is larger than the finishing time of all operations.
(3) Disjunctive constraints: first option (job k -> job j). Second option
(job j -> job k)

Problem Solving Number of constraints required:


• Select 𝐷 ⊂ 𝐵 such that resulting graph G(A,D) has no cycles. [1] If Job 1 requires 3 jobs -> 2 conj. constraints (precedence). Check
• Select one disjunctive arc from each pair, so the resulting for each job to calculate total conj. Constraints needed.
directed graph is acyclic. [2] For every set of operations N
• D: feasible schedule [3] Pairs based on number of machines and jobs assignment
• Cycle in G represents unfeasible scheduling.
• Longest path on the graph G(A,D) determines makespan. Reformulation of MILP for “disjunctive constraints” (OR)
X_ijk: binary variable:
• if job j is done before job k on machine I (i,j) -> (I,k)
Use big M Notation
• 𝑦"! − 𝑦"# ≥ 𝑝"# − 𝑀𝑥"!#
• 𝑦"! − 𝑦"# ≥ 𝑝"# − 𝑀(1 − 𝑥"!# )
• If J proceeds K (x_ijk = 1), first constraint is not binding because
Arc selection example: of big M. Only second constraint will be considered then.

• Cycle on destructive graph: logical problem (!)


Lecture 2b: Job Shop Scheduling - Simplified Shifting Bottleneck Heuristic (SSBH)
Framework for SSBH Simplified Shifting Bottleneck Heuristics (SSBH)
Job Shop Scheduling Problem – Feastures • Let M be set of all machines, and a set of already “scheduled”
• Complex problem (NP Hard) machines (fixed disjunctive arcs)
• Solution procedures Step 1 Find C_max release (earliest starting time) and due
Exact solution Branch and Bound dates (latest completion time)
Dispatching rules Shifting Bottleneck Critical Path Method (CPM)
Constraint Programming … Step 2 For each machine i in set M – M_0:
Search Heuristics Tabu search, GA, SA, etc. Find job sequence with min L_max(i) [criticality]
Shifting Bottleneck Method • Lmax = Max (L_j) = Max(C_j – d_j)
• Heuristic procedure to minimize Makespan • Makespan of job – Latest finishing time
• Bottleneck resource: most-used resource Step 3 Find machine with L_max and add it to M_0
• Approach: Solve series of single-machine problems, from If tie case: arbitrary choice is okay
most to least used resource. Step 4 If M=M_0 then STOP, else go to Step 1.
Example of SSBH
Step 1 - Implement critical path method Critical Path Method (CPM)
• Compute 4 parameters for each (I,j) operations on machine Forward determine earliest possible starting time and
• Earliest start time / Latest start time Procedure completion times -> determine min Makespan
• Earliest completion time / Latest completion time Backward Start with min Makespan -> Compute latest
Step 2 – Find job sequence Procedure starting times and completion times
• For each machine, Identify earliest start time / latest Slack job If earliest starting time is earlier than latest
completion time and consider a sequence -> Machine starting time
makespan (C_max) Critical job If earliest starting time = latest starting time.
• Compare latest finish time and C_max of machine Set of critical job from one or more critical paths.
Step 3 – Allocation
• Consider 4 paramters for the condition and optimize for the
machine with highest priority.
Step 4 -> Repeat procedure of evaluating job sequence / machine
Lecture 3a: Scheduling of Unpaced Flow Lines
Sequencing of Unpaced Assembly Systems Profile Fitting Heuristics (PF)
Overall settings Goal: Minimize cycle time (of a complete MPS!)
• Product oriented (processes based on each machine) • But not the paced line cycle time (moving to next station)!
• Number of machines/workstations in series Step 1 Select the first job (j1): arbitrarily or by rules (e.g. largest
• Line unpaced -> no automated (timed) transport of products amount of processing times)
between stations Step 2 Calculate profile of j1
• Objective: maximize throughput (minimize makespan!)
• Example: Assembly of copy machines / televisions
Cyclic/Periodic Schedule
Characteristics X I, j1 Departure time of each job1 from machine i.
• Stable demand over time Step 3 Determine which job goes next
• Given set of jobs scheduled, in certain order Goal: select job causing smallest nonproductive time
o Contain all product types Step 3.1: Calculate departure times of each candidate
o May contain multiple jobs of same product type job ( by recursive calculation
• Second set is identical (first – second – so on…)
• Advantages: low inventory cost, easy to implement
• Disadvantages: not practical if significant sequence
dependent setup times between different types
• MPS: minimum part set – smallest set with same proportions
o Cyclic schedule -> sequencing jobs in MPS
o Maximizing throughput = minimizing cycle time First machine i=1
Minimum Part Set (MPS) Next machine 2<i<(M-1)
Formula Last machine i=M
k=1…K Job type
N_k Demand for jobs of type k Step 3.2: Calculate nonproductive time (starving +
z Great common divison of integers blocking time) over all machines

Blocking: Waiting until next machine becomes available


Starving: Machine is not in use
• Time job leaves machine i
Example: • Time previous job leaves machine i
N1 = 50, N2 = 100, N3 = 150 -> Find GCF = 50. • Processing time of job at machine i
Therefore ratio: 1 : 2 : 3. After 50 cycles -> fulfilled the demand. • Idea: Always choose the job with smallest
unproductive time!
Step 3.3: Select job with smallest nonproductive time as
the next job in the sequence
Step 4 Calculate new profile and repeat procedure
PF heuristic results in good schedule, but refinement helps further
• Nonproductive time is not equally bad on all machine
• Lost time on bottleneck machine
• Weight nonproductive times by a factor

Buffers: Processing time (p_ij) of all job at “buffer” machine is zero.


(explicit consideration of buffer)
• Inventory over time: the inventory is built up during production and reduced afterwards, while the other products are produced.
Inventory costs are larger compared to producing small amounts, but more often.


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.

• Check the stages of the jobs


• Try to allocate the machines within stage I and III, evenly, starting from
the biggest weight in the stage.
• Calculate the sum for each match
Lecture 4a: Sequencing in paced assembly lines
Smart Sequencing: Prevents work overload Comparison of sequencing approaches
• Multiple models are produced in mixed-model fashion on a single Workload-oriented approaches (more effort -> more accurate)
time, no batching. Mixed- Minimize work overload explicitly (how far
• No buffers between stations, no bypassing. model the task will exceed the station boundary?)
• Line is not balanced for maximum workload, but for average sequencing Easy to adapt to additional line features
workload (cycle time) -> Infeasibility occurs if cycle time is not Detailed level of data needed
enough for specific products -> need balancing. Car Minimize work overload implicitly (surrogate
Remedial measures for work overload: finish car later, stop line, utility sequencing objective – sequencing rules)
workers assignment, take critical cars out of sequence Easy to understand and communicate
Consider cycle time and station length Common in industry
Unclear priorities if rules collide
Sequencing Decisions and objectives JIT-oriented (less effort -> less accurate)
• Decisions: Master production scheduling -> sequencing cycles -> Level Origin: Toyota Production System
Station arrangement Scheduling Reduce inventory as much as possible
• Objective: Balance models with high and low workloads (avoid (part/model Material supply according to JIT principle
overload), ensure continuous material flow (JIT) oriented) Ideal solution: stable part consumption rate
• Ensure how to minimize overload at station
Sequencing Problem Setting
Problem
• Line consists of multiple consecutive stations. Products require different workloads and materials at station.
• Paced transportation system (conveyor), all products flow through all stations in same sequence.
• Workers flow with products while performing operations at station, then return to the beginning of the station
Assumption: No buffers between stations, no disruption. Demand for each model is known (deterministic, static demand)
Model Notations
Index (m in M) Set of models, (t = 1…T)production cycle
Parameters d_m Demand for copies of model m
DV x_mt Binary variable, if model m is produced in cycle t
Constraints 1-2-3 (Suitable for all cases)
One model per cycle
Demand fulfillment
Binary variable domain

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

Minimize work overload

Constraints (+ Basic constraints 1-2-3)


Lecture 4b: Sequencing in paced assembly lines
Level Scheduling Car Sequencing
• Aim: Evenly smooth the material requirements induced by the • Aim: find a sequence minimizing sequencing rule violation
production sequence over time • Require sequencing rules (H_o / N_o rules)
• Each material receives a (theoretical) target consumption rate • Violation: if window of size N_o contains more than H_0 cars,
• Find sequence which actual consumption rates are closest to containing option o
target rates. • Evaluation: sliding through sequence, summing up violations of
Model Notations relevant subsequences (windows)
Index (p \in P) Set of parts (materials) • Sequencing rules: determined by approaches based on
Parameters a_mp Demand of model m for part p operational characteristics of assembly line, or by experience
r_p Target consumption • Solution approaches: Exact approaches (integer/constraint
rate of part p programming), Heuristics (local search, genetic algorithms)
r_m Target production Model Notations
rate of mode lm Index (o \in O) Set of options
Parameters A_mo binary: if model m requires option o
DV y_mt Total cumulative production quantity of Ho / No: Sequencing rule for option o
model m up to cycle t (integer variable) BI: sufficiently large number (e.g. )
Part Oriented: Constraints (+ Basic constraints 1-2-3) DV z_ot binary: if option o is violated in cycle t

Minimize sequencing rule violations


Constraints (+ Basic constraints 1-2-3)

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.

Model-oriented: Constraints (+Basic constraints 1-2-3)

Sequencing across multiple production stages


Objectives
• Minimize total setup cost in paint shop (grouping of colors at
paint shop – avoid changing model too often)
• Minimize work overloads in final assembly (spacing of options
at final assembly parts – more model mix)
• Different production stages have different requirements

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

Discrete Time Scale


Definition Time horizon is divided in a number of time
intervals
Modelling Events are associated with boundaries of time
intervals
Binary variables indicate whether an event Small Bucket Model (setup if product has not produced last period)
happens in a time interval or not
Advantages Simpler model structure
No need for bigM formulation: better LP
relaxations with tighter bounds
Disadvantages Size of the model: large number of constraints
Suboptimal schedules: only an approximation

Time Representation problem with smaller buckets:


When the time period shortens, number of decision variables grows a
lot. Complexity: #constraints * #product * #timeperiod
Lecture 6b: Continuous Manufacturing: Lot Sizing and Scheduling
Continuous Time Representation Maximization problem and feasibility
Definition Time horizon is not divided into intervals • MILP are complex to solve
Modelling Continuous variables represent exact points in • No standard algorithms to solve in deterministic
time at which an event happens polynomial time are known.
Advantages Less variables / constraints • LP-relaxation: relax constraint of integrality -> linear
Disadvantages Big-M constraints needed for sequencing problem that can be solved in polynomial time.
Harder to solve due to weaker LP bounds Bounds: LP-relaxation does not have to lead to a feasible
Additional discrete time scales might be solution, but the solution can be used as.
necessary: (inventory balances, equipment • Big M formulations can lead to weak LP bounds.
assignment) (e.g.: relaxing BigM-binary variable constraint shows a
Use of Big-M in continuous time representation solution which is very different from the MILP result)
• Connect integer / binary and continuous variables
(e.g.: product p can only be produced in period t, if setup is
performed)
• Disjunctive constraints: Sequencing of two jobs on one machine

Modelling Changeovers Changeovers


One-piece flow: SMED (Single minute exchange of dies)
Step 1 Separate internal setup from external setup
Step 2 Convert as much as possible of the internal setup
to the external setup
Step 3 Eliminate the adjustment process
Step 4 Abolish the setup itself (e.g. uniform product
design, combined production, parallel machines)
• Change in equipment
• Cleaning – hygienic requirements, necessary
for different tastes/colours/contents
Changeover Types:
Sequence- Changing from one lot to another requires
dependent changeover/cleaning
Time- Changeover required after certain period of
Time-dependency
dependent time
Volume- Changeover required after certain production
dependent amount.
Changeover Characteristics
Lecture 6c: Economic Lot Sizing
Economic Lot Sizing for one type of item Utilization and setup time optimality
• Assumptions: Single machine, single item • If idle time is long enough for the setup time, we do the setup
• Notation when we stop production (so inventory falls only)
o Q Production rate (units/time) • If “infeasible”: update cycle time, so setup time fits exactly
o D demand rate (units/time) into the idle time.
o c: setup costs (monetary units/setup)
o h: inventory holding costs (monetary units / unit, time)
• Decision: cycle time x – how much and how long to produce.
• Objective: Minimize total cost and inventory holding costs
Formulas and calculation of inventory

Several types of products in economic lot sizing


• Assumption: single machine, n different items are produced.
Setup is independent of sequence.
• Notation
Average cost derivation: o Q_j Production rate
o D_j demand rate
o c_j: setup costs
o h_j: inventory holding costs
• Rotation schedule: product cycle containing single run of each
item, where cycle times of all n items have to be identical.
• Length of production runs and lot sizes differ!
• Decision: cycle time x
• Modified formula for each product:

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

Allocation of output quantities

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’

Time-dependent changeover on machines

Objective Function: Min C_max

Demand fulfillment and min lot size

Precedence: Starting time constraint based on precedence: if lot l is


after lot l’:
Sequence dependent changeover
No-wait situation: Lot-time shifting Machine 2: Tracking of form usage
4 Filling into forms -> 5 Resting -> 6 Brining
Different form types are available (form f \in F)
Only restricted from capacities for each form type available
(var: number of forms of type 𝜓& )
Forms are occupied for the resting and bringing time(time lot l is
occupying a form 𝜓' )
Idea: Check whether form of type f is used in each period t.

Powered by TCPDF (www.tcpdf.org)

You might also like