- 70 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'IE 514 Production Scheduling' - claire-davis

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Contact Information

- Siggi Olafsson
- 3018 Black Engineering
- 294-8908
- olafsson@iastate.edu
- http://www.public.iastate.edu/~olafsson
- OH: MW 10:30-12:00

IE 514

Administration (Syllabus)

- Text
- Prerequisites
- Assignments
- Homework 35%
- Project 40%
- Final Exam 35%
- Computing

IE 514

What is Scheduling About?

- Applied operations research
- Models
- Algorithms
- Solution using computers
- Implement algorithms
- Draw on common databases
- Integration with other systems

IE 514

Application Areas

- Procurement and production
- Transportation and distribution
- Information processing and communications

IE 514

Manufacturing Scheduling

- Short product life-cycles
- Quick-response manufacturing
- Manufacture-to-order
- More complex operations must be scheduled in shorter amount of time with less room for errors!

IE 514

Scope of Course

- Levels of planning and scheduling
- Long-range planning (several years),
- middle-range planning (1-2 years),
- short-range planning (few months),
- scheduling (few weeks), and
- reactive scheduling (now)
- These functions are now often integrated

IE 514

Scheduling Systems

- Enterprise Resource Planning (ERP)
- Common for larger businesses
- Materials Requirement Planning (MRP)
- Very common for manufacturing companies
- Advanced Planning and Scheduling (APS)
- Most recent trend
- Considered “advanced feature” of ERP

IE 514

Scheduling Problem

- Allocate scarce resources to tasks
- Combinatorial optimization problem

Maximize profit

Subject to constraints

- Mathematical techniques and heuristics

IE 514

Our Approach

Scheduling Problem

Problem Formulation

Model

Solve with Computer Algorithms

Conclusions

IE 514

Scheduling Models

- Project scheduling
- Job shop scheduling
- Flexible assembly systems
- Lot sizing and scheduling
- Interval scheduling, reservation, timetabling
- Workforce scheduling

IE 514

General Solution Techniques

- Mathematical programming
- Linear, non-linear, and integer programming
- Enumerative methods
- Branch-and-bound
- Beam search
- Local search
- Simulated annealing/genetic algorithms/tabu search/neural networks.

IE 514

Scheduling System Design

Order

master file

Shop floor

data collection

- Databases
- Schedule generation
- User interfaces

Database Management

Automatic Schedule Generator

Performance

Evaluation

Schedule Editor

Graphical Interface

User

IE 514

LEKIN

- On disk with book
- Generic job shop scheduling system
- User friendly windows environment
- C++ object oriented design
- Can add own routines

IE 514

Advanced Topics

- Uncertainty, robustness, and reactive scheduling
- Multiple objectives
- Internet scheduling

IE 514

Modeling

- Three components to any model:
- Decision variables
- This is what we can change to affect the system, that is, the variables we can decide upon
- Objective function
- E.g, cost to be minimized, quality measure to be maximized
- Constraints
- Which values the decision variables can be set to

IE 514

Decision “Variables”

- Three basic types of solutions:
- A sequence: a permutation of the jobs
- A schedule: allocation of the jobs in a more complicated setting of the environment
- A scheduling policy: determines the next job given the current state of the system

IE 514

Model Characteristics

- Multiple factors:
- Number of machine and resources,
- configuration and layout,
- level of automation, etc.
- Our terminology:

Resource = machine (m)

Entity requiring the resource = job (n)

IE 514

Notation

- Static data:
- Processing time (pij)
- Release date (rj)
- Due date (dj)
- Weight (wj)
- Dynamic data:
- Completion time (Cij)

IE 514

Machine Configuration

- Standard machine configurations:
- Single machine models
- Parallel machine models
- Flow shop models
- Job shop models
- Real world always more complicated.

IE 514

Constraints

- Precedence constraints
- Routing constraints
- Material-handling constraints
- Storage/waiting constraints
- Machine eligibility
- Tooling/resource constraints
- Personnel scheduling constraints

IE 514

Other Characteristics

- Sequence dependent setup
- Preemptions
- preemptive resume
- preemptive repeat
- Make-to-stock versus make-to-order

IE 514

Objectives and Performance Measures

- Throughput (TP) and makespan (Cmax)
- Due date related objectives
- Work-in-process (WIP), lead time (response time), finished inventory
- Others

IE 514

Throughput and Makespan

- Throughput
- Defined by bottleneck machines
- Makespan
- Minimizing makespan tends to maximize throughput and balance load

IE 514

Due Date Related Objectives

- Lateness
- Minimize maximum lateness (Lmax)
- Tardiness
- Minimize the weighted tardiness

IE 514

WIP and Lead Time

- Work-in-Process (WIP) inventory cost
- Minimizing WIP also minimizes average lead time (throughput time)
- Minimizing lead time tends to minimize the average number of jobs in system
- Equivalently, we can minimize sum of the completion times:

IE 514

Classic Scheduling Theory

- Look at a specific machine environment with a specific objective
- Analyze to prove an optimal policy or to show that no simple optimal policy exists
- Thousands of problems have been studied in detail with mathematical proofs!

IE 514

Example: single machine

- Lets say we have
- Single machine (1), where
- the total weighted completion time should be minimized (SwjCj)
- We denote this problem as

IE 514

Optimal Solution

- Theorem: Weighted Shortest Processing time first - called the WSPT rule - is optimal for
- Note: The SPT rule starts with the job that has the shortest processing time, moves on the job with the second shortest processing time, etc.

IE 514

Proof (by contradiction)

- Suppose it is not true and schedule S is optimal
- Then there are two adjacent jobs, say job j followed by job k such that
- Do a pairwise interchange to get schedule S ’

j

k

k

j

IE 514

Proof (continued)

The weighted completion time of the two jobs under S is

The weighted completion time of the two jobs under S ‘ is

Now:

Contradicting that S is optimal.

IE 514

Complexity Theory

- Classic scheduling theory draws heavily on complexity theory
- The complexity of an algorithm is its running time in terms of the input parameters (e.g., number of jobs and number of machines)
- Big-Oh notation, e.g., O(n2m)

IE 514

Scheduling in Practice

- Practical scheduling problems cannot be solved this easily!
- Need:
- Heuristic algorithms
- Knowledge-based systems
- Integration with other enterprise functions
- However, classic scheduling results are useful as a building block

IE 514

General Purpose Scheduling Procedures

- Some scheduling problems are easy
- Simple priority rules
- Complexity: polynomial time
- However, most scheduling problems are hard
- Complexity: NP-hard, strongly NP-hard
- Finding an optimal solution is infeasible in practice heuristic methods

IE 514

Types of Heuristics

- Simple Dispatching Rules
- Composite Dispatching Rules
- Branch and Bound
- Beam Search
- Simulated Annealing
- Tabu Search
- Genetic Algorithms

Construction

Methods

Improvement

Methods

IE 514

Dispatching Rules

- Prioritize all waiting jobs
- job attributes
- machine attributes
- current time
- Whenever a machine becomes free: select the job with the highest priority
- Static or dynamic

IE 514

Release/Due Date Related

- Earliest release date first (ERD) rule
- variance in throughput times
- Earliest due date first (EDD) rule
- maximum lateness
- Minimum slack first (MS) rule
- maximum lateness

Current

Time

Processing

Time

Deadline

IE 514

Processing Time Related

- Longest Processing Time first (LPT) rule
- balance load on parallel machines
- makespan
- Shortest Processing Time first (SPT) rule
- sum of completion times
- WIP
- Weighted Shortest Processing Time first (WSPT) rule

IE 514

Processing Time Related

- Critical Path (CP) rule
- precedence constraints
- makespan
- Largest Number of Successors (LNS) rule
- precedence constraints
- makespan

IE 514

Other Dispatching Rules

- Service in Random Order (SIRO) rule
- Shortest Setup Time first (SST) rule
- makespan and throughput
- Least Flexible Job first (LFJ) rule
- makespan and throughput
- Shortest Queue at the Next Operation (SQNO) rule
- machine idleness

IE 514

Discussion

- Very simple to implement
- Optimal for special cases
- Only focus on one objective
- Limited use in practice
- Combine several dispatching rules

Composite Dispatching Rules

IE 514

Setup

- Problem:
- No efficient algorithm (NP-Hard)
- Branch and bound can only solve very small problems (<30 jobs)
- Are there any special cases we can solve?

IE 514

Conclusion

- The WSPT is optimal in the extreme case and should be a good heuristic whenever due dates are tight
- Now lets look at the opposite

IE 514

Case 2: “Easy” Deadlines

- Theorem: If the deadlines are sufficiently spread out then the MS rule

is optimal (proof a bit harder)

- Conclusion: The MS rule should be a good heuristic whenever deadlines are widely spread out

IE 514

Composite Rule

- Two good heuristics
- Weighted Shorted Processing Time (WSPT )
- optimal with due dates zero
- Minimum Slack (MS)
- Optimal when due dates are “spread out”
- Any real problem is somewhere in between
- Combine the characteristics of these rules into one composite dispatching rule

IE 514

Apparent Tardiness Cost (ATC) Dispatching Rule

- New ranking index
- When machine becomes free:
- Compute index for all remaining jobs
- Select job with highest value

Scaling constant

IE 514

Special Cases (Check)

- If K is very large:
- ATC reduces to WSPT
- If K is very small and no overdue jobs:
- ATC reduces to MS
- If K is very small and overdue jobs:
- ATC reduces to WSPT applied to overdue jobs

IE 514

Choosing K

- Value of K determined empirically
- Related to the due date tightness factor

and the due date range factor

IE 514

Choosing K

- Usually 1.5 K 4.5
- Rules of thumb:
- Fix K=2 for single machine or flow shop.
- Fix K=3 for dynamic job shops.
- Adjusted to reduce weighted tardiness cost in extremely slack or congested job shops
- Statistical analysis/empirical experience

IE 514

Branch and Bound

- Enumerative method
- Guarantees finding the best schedule
- Basic idea:
- Look at a set of schedules
- Develop a bound on the performance
- Discard (fathom) if bound worse than best schedule found before

IE 514

Classic Results

- The EDD rule is optimal for
- If jobs have different release dates, which we denote

then the problem is NP-Hard

- What makes it so much more difficult?

IE 514

Delay Schedule

Add a delay

1

3

2

0 5 10 15

What makes this problem hard is that

the optimal schedule is not necessarily

a non-delay schedule

IE 514

Final Classic Result

- The preemptive EDD rule is optimal for the preemptive (prmp) version of the problem
- Note that in the previous example, the preemptive EDD rule gives us the optimal schedule

IE 514

Branch and Bound

- The problem

cannot be solved using a simple dispatching rule so we will try to solve it using branch and bound

- To develop a branch and bound procedure:
- Determine how to branch
- Determine how to bound

IE 514

Data

IE 514

(•,•,•,•)

(1,•,•,•)

(2,•,•,•)

(3,•,•,•)

(4,•,•,•)

Need to develop lower bounds on

these nodes and do further branching.

IE 514

Bounding (in general)

- Typical way to develop bounds is to relax the original problem to an easily solvable problem
- Three cases:
- If there is no solution to the relaxed problem there is no solution to the original problem
- If the optimal solution to the relaxed problem is feasible for the original problem then it is also optimal for the original problem
- If the optimal solution to the relaxed problem is not feasible for the original problem it provides a bound on its performance

IE 514

Relaxing the Problem

- The problem

is a relaxation to the problem

- Not allowing preemption is a constraint in the original problem but not the relaxed problem
- We know how to solve the relaxed problem (preemptive EDD rule)

IE 514

Bounding

- Preemptive EDD rule optimal for the preemptive version of the problem
- Thus, solution obtained is a lower bound on the maximum delay
- If preemptive EDD results in a non-preemptive schedule all nodes with higher lower bounds can be discarded.

IE 514

Lower Bounds

- Start with (1,•,•,•):
- Job with EDD is Job 4 but
- Second earliest due date is for Job 3

Job 1

Job 2

Job 3

Job 4

0 10 20

IE 514

- Branch and Bound:
- Considers every node
- Guarantees optimum
- Usually too slow
- Beam search
- Considers only most promising nodes
- (beam width)
- Does not guarantee convergence
- Much faster

IE 514

(•,•,•,•)

(1,•,•,•)

(2,•,•,•)

(3,•,•,•)

(4,•,•,•)

ATC Rule

(1,4,2,3)

(2,4,1,3)

(3,4,1,2)

(4,1,2,3)

408

436

814

440

IE 514

(•,•,•,•)

(1,•,•,•)

(2,•,•,•)

(3,•,•,•)

(4,•,•,•)

(1,2,•,•)

(1,3,•,•)

(1,4,•,•)

(2,1,•,•)

(2,3,•,•)

(2,4,•,•)

(1,4,2,3)

(1,4,3,2)

(2,4,1,3)

(2,4,3,1)

IE 514

Discussion

- Implementation tradeoff:
- Careful evaluation of nodes (accuracy)
- Crude evaluation of nodes (speed)
- Two-stage procedure
- Filtering
- crude evaluation
- filter width > beam width
- Careful evaluation of remaining nodes

IE 514

Construction versus Improvement Heuristics

- Construction Heuristics
- Start without a schedule
- Add one job at a time
- Dispatching rules and beam search
- Improvement Heuristics
- Start with a schedule
- Try to find a better ‘similar’ schedule
- Can be combined

IE 514

Local Search

0. Start with a schedule s0 and set k = 0.

1. Select a candidate schedule

from the neighborhood of sk

2. If acceptance criterion is met, let

Otherwise let

3. Let k = k+1 and go back to Step 1.

IE 514

Defining a Local Search Procedure

- Determine how to represent a schedule.
- Define a neighborhood structure.
- Determine a candidate selection procedure.
- Determine an acceptance/rejection criterion.

IE 514

Neighborhood Structure

- Single machine
- A pairwise interchange of adjacent jobs

(n-1 jobs in a neighborhood)

- Inserting an arbitrary job in an arbitrary position

( n(n-1) jobs in a neighborhood)

- Allow more than one interchange

IE 514

Neighborhood Structure

- Job shops with makespan objective
- Neighborhood based on critical paths
- Set of operations start at t=0 and end at t=Cmax

Machine 1

Machine 2

Machine 3

Machine 4

IE 514

Neighborhood Structure

- The critical path(s) define the neighborhood
- Interchange jobs on a critical path
- Too few better schedules in the neighborhood
- Too simple to be useful

IE 514

One-Step Look-Back Interchange

Jobs on critical path

Machine h

Machine i

Interchange jobs

on critical path

Machine h

Machine i

One-step look-back

interchange

Machine h

Machine i

IE 514

Neighborhood Search

- Find a candidate schedule from the neighborhood:
- Random
- Appear most promising

(most improvement in objective)

IE 514

Acceptance/Rejection

- Major difference between most methods
- Always accept a better schedule?
- Sometimes accept an inferior schedule?
- Two popular methods:
- Simulated annealing
- Tabu search
- Same except the acceptance criterion!

IE 514

Simulated Annealing (SA)

- Notation
- S0 is the best schedule found so far
- Sk is the current schedule
- G(Sk) it the performance of a schedule
- Note that

Aspiration Criterion

IE 514

Acceptance Criterion

- Let Sc be the candidate schedule
- If G(Sc) < G(Sk) accept Sc and let
- If G(Sc)G(Sk) move to Sc with probability

Always 0

Temperature > 0

IE 514

Cooling Schedule

- The temperature should satisfy
- Normally we let

but we sometimes stop when some predetermined final temperature is reached

- If temperature is decreased slowly convergence is guaranteed

IE 514

SA Algorithm

Step 1:

Set k = 1 and select the initial temperature b1.

Select an initial schedule S1 and set S0 = S1.

Step 2:

Select a candidate schedule Sc from N(Sk).

If G(S0) < G(Sc) < G(Sk), set Sk+1 = Sc and go to Step 3.

If G(Sc) < G(S0), set S0 = Sk+1 = Sc and go to Step 3.

If G(Sc) < G(S0), generate Uk Uniform(0,1);

If Uk P(Sk, Sc), set Sk+1 = Sc; otherwise set Sk+1 = Sk; go to Step 3.

Step 3:

Select bk+1 bk.

Let k=k+1. If k=N STOP; otherwise go to Step 2.

IE 514

Discussion

- SA has been applied successfully to many industry problems
- Allows us to escape local optima
- Performance depends on
- Construction of neighborhood
- Cooling schedule

IE 514

Tabu Search

- Similar to SA but uses a deterministic acceptance/rejection criterion
- Maintain a tabu list of schedule changes
- A move made entered at top of tabu list
- Fixed length (5-9)
- Neighbors restricted to schedules not requiring a tabu move

IE 514

Tabu List

- Rational
- Avoid returning to a local optimum
- Disadvantage
- A tabu move could lead to a better schedule
- Length of list
- Too short cycling (“stuck”)
- Too long search too constrained

IE 514

Tabu Search Algorithm

Step 1:

Set k = 1. Select an initial schedule S1 and set S0 = S1.

Step 2:

Select a candidate schedule Sc from N(Sk).

If Sk Sc on tabu list set Sk+1 = Sk and go to Step 3.

Enter Sc Sk on tabu list.

Push all the other entries down (and delete the last one).

If G(Sc) < G(S0), set S0= Sc.

Go to Step 3.

Step 3:

Select bk+1 bk.

Let k=k+1. If k=N STOP; otherwise go to Step 2.

IE 514

Initialization

- Tabu list empty L={}
- Initial schedule S1 = (2,1,4,3)

20 - 4 = 16

10 - 2 = 8

Deadlines

37 - 1 = 36

24 - 12 = 12

0 10 20 30 40

IE 514

Neighborhood

- Define the neighborhood as all schedules obtain by adjacent pairwise interchanges
- The neighbors of S1 = (2,1,4,3) are

(1,2,4,3)

(2,4,1,3)

(2,1,3,4)

- Objective values are: 480, 436, 652

Select the best

non-tabu schedule

IE 514

- Let S5 = (1,4,2,3), S0 = (1,4,2,3).
- Let L = {(1,4),(1,2)}
- This turns out to be the optimal schedule
- Tabu search still continues
- Notes:
- Optimal schedule only found via tabu list
- We never know if we have found the optimum!

IE 514

Genetic Algorithms

- Schedules are individuals that form populations
- Each individual has associated fitness
- Fit individuals reproduce and have children in the next generation
- Very fit individuals survive into the next generation
- Some individuals mutate

IE 514

Total Weighted Tardiness Single Machine Example

- First Generation

Initial population

selected randomly

IE 514

Fittest

Individuals

(4,1,3,2)

(2,1,3,4)

(2,1,3,2)

(4,1,3,4)

Reproduction

via cross-over

Infeasible!

IE 514

Representing Schedules

- When using GA we often represent individuals using binary strings

(0 1 1 0 1 0 1 0 1 0 1 0 0 )

(1 0 0 1 1 0 1 0 1 0 1 1 1 )

(0 1 1 0 1 0 1 0 1 0 1 1 1 )

IE 514

Discussion

- Genetic algorithms have been used very successfully
- Advantages:
- Very generic
- Easily programmed
- Disadvantages:
- A method that exploits special structure is usually faster (if it exists)

IE 514

The Nested Partitions Method(Shameless self-promotion!)

- Partitioning of all schedules
- Similar to branch-and-bound & beam search
- Random sampling & local search used to find which node is most promising
- Similar to beam search
- Retains only one node (beam width = 1)
- Allows for possible backtracking

IE 514

(•,•,•,•)

Most promising region

(1,•,•,•)

(2,•,•,•)

(3,•,•,•)

(4,•,•,•)

Random Samples (uniform sampling, ATC rule, genetic algorithm)

(1,4,2,3) 402

Promising Index

(1,2,4,3) 480

I(1,•,•,•) = 402

(1,4,3,2) 554

IE 514

Notation

- We let

s(k) be the most promising region in the k-th iteration

sj(k) be the subregions, j=1,2,…,M

sM+1(k) be the surrounding region

S denote all possible regions (fixed set)

S0 all regions that contain a single schedule

I(s) be the promising index of sS

IE 514

Most promising region s(2)

s(s(2))

(•,•,•,•)

s4(2)

(1,•,•,•)

{(2,•,•,•),(3,•,•,•), (4,•,•,•)}

s2(2)

Random Samples

s1(2)

s3(2)

(1,2,•,•)

(1,3,•,•)

(1,4,•,•)

(4,2,1,3) 460

(2,4,1,3) 436

(4,1,3,2) 586

Best Promising Index

I(s4(2)) = 436

IE 514

(•,•,•,•)

s(s(3))

s3(3)

{(1,2,•,•), (1,4,•,•),(2,•,•,•),(3,•,•,•), (4,•,•,•)}

(1,•,•,•)

Random Samples

s(3)

(1,3,•,•)

(4,2,3,1) 632

(2,4,1,3) 436

s1(3)

s2(3)

(1,4,2,3) 402

(1,3,2,4)

(1,3,4,2)

I(s3(3)) = 402

Best Promising Index

IE 514

s(s(4))

(•,•,•,•)

s(4)

s4(4)

(1,•,•,•)

{(2,•,•,•),(3,•,•,•), (4,•,•,•)}

s2(4)

s1(4)

s3(4)

(1,2,•,•)

(1,3,•,•)

(1,4,•,•)

Backtracking!

IE 514

Finding the Optimal Schedule

- The sequence

is a Markov chain

- Eventually the singleton region soptS0 containing the best schedule is visited
- Absorbing state (never leave sopt)
- Finite state space

visited after finitely many iterations.

IE 514

Discussion

- Finds best schedule in finite iterations
- Only branch-and-bound can also guarantee
- If we can calculate/estimate/guarantee the probability of moving in right direction:
- Expected number of iterations
- Probability of having found optimal schedule
- Stopping rules that guarantee performance (unique)
- Works best if incorporates dispatching rules and local search (genetic algorithms, etc)

IE 514

Review of Mathematical Programming

- Many scheduling problems can be formulated as mathematical programs:
- Linear Programming (IE 534)
- Nonlinear Programming (IE 631)
- Integer Programming (IE 632)
- See Appendix A in book.

IE 514

Solving LPs

- LPs can be solved efficiently
- Simplex method (1950s)
- Interior point methods (1970s)
- Polynomial time
- Has been used in practice to solve huge problems
- IE 534

IE 514

Solving Nonlinear Programs

- Optimality conditions
- Karush-Kuhn-Tucker
- Convex objective, convex constraints
- Solution methods
- Gradient methods (steepest descent, Newton’s method)
- Penalty and barrier function methods
- Lagrangian relaxation

IE 514

Integer Programming

- LP where all variables must be integer
- Mixed-integer programming (MIP)
- Much more difficult than LP
- Most useful for scheduling

IE 514

Solving IPs

- Solution Methods
- Cutting plane methods
- Linear programming relaxation
- Additional constraints to ensure integers
- Branch-and-bound methods
- Branch on the decision variables
- Linear programming relaxation provides bounds
- Generally difficult

IE 514

Disjunctive Programming

- Conjuctive
- All constraints must be satisfied
- Disjunctive
- At least one of the constraints must be satisfied
- Zero-one integer programs
- Use for job-shop scheduling

IE 514

Download Presentation

Connecting to Server..