ie 514 production scheduling n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
IE 514 Production Scheduling PowerPoint Presentation
Download Presentation
IE 514 Production Scheduling

Loading in 2 Seconds...

play fullscreen
1 / 134

IE 514 Production Scheduling - PowerPoint PPT Presentation


  • 76 Views
  • Uploaded on

IE 514 Production Scheduling. Introduction. Contact Information. Siggi Olafsson 3018 Black Engineering 294-8908 olafsson@iastate.edu http://www.public.iastate.edu/~olafsson OH: MW 10:30-12:00. Administration (Syllabus). Text Prerequisites Assignments Homework 35% Project 40%

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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
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
Administration (Syllabus)
  • Text
  • Prerequisites
  • Assignments
    • Homework 35%
    • Project 40%
    • Final Exam 35%
  • Computing

IE 514

what is scheduling about
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
Application Areas
  • Procurement and production
  • Transportation and distribution
  • Information processing and communications

IE 514

manufacturing scheduling
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
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
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
Scheduling Problem
  • Allocate scarce resources to tasks
  • Combinatorial optimization problem

Maximize profit

Subject to constraints

  • Mathematical techniques and heuristics

IE 514

our approach
Our Approach

Scheduling Problem

Problem Formulation

Model

Solve with Computer Algorithms

Conclusions

IE 514

scheduling models
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
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
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
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
Advanced Topics
  • Uncertainty, robustness, and reactive scheduling
  • Multiple objectives
  • Internet scheduling

IE 514

topic 1

Topic 1

Setting up the Scheduling Problem

IE 514

modeling
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
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
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
Notation
  • Static data:
    • Processing time (pij)
    • Release date (rj)
    • Due date (dj)
    • Weight (wj)
  • Dynamic data:
    • Completion time (Cij)

IE 514

machine configuration
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
Constraints
  • Precedence constraints
  • Routing constraints
  • Material-handling constraints
  • Storage/waiting constraints
  • Machine eligibility
  • Tooling/resource constraints
  • Personnel scheduling constraints

IE 514

other characteristics
Other Characteristics
  • Sequence dependent setup
  • Preemptions
    • preemptive resume
    • preemptive repeat
  • Make-to-stock versus make-to-order

IE 514

objectives and performance measures
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 and Makespan
  • Throughput
    • Defined by bottleneck machines
  • Makespan
  • Minimizing makespan tends to maximize throughput and balance load

IE 514

due date related objectives
Due Date Related Objectives
  • Lateness
  • Minimize maximum lateness (Lmax)
  • Tardiness
  • Minimize the weighted tardiness

IE 514

due date penalties
Due Date Penalties

Tardiness

Lateness

Late or Not

In practice

IE 514

wip and lead time
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

other costs
Other Costs
  • Setup cost
  • Personnel cost
  • Robustness
  • Finished goods inventory cost

IE 514

topic 2

Topic 2

Solving Scheduling Problems

IE 514

classic scheduling theory
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
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
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
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
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
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
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
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
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

topic 3

Topic 3

Dispatching Rules

IE 514

dispatching rules
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
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
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 related1
Processing Time Related
  • Critical Path (CP) rule
    • precedence constraints
    • makespan
  • Largest Number of Successors (LNS) rule
    • precedence constraints
    • makespan

IE 514

other dispatching rules
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
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

example

Example

Single Machine with Weighted Total Tardiness

IE 514

setup
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

case 1 tight deadlines
Case 1: Tight Deadlines
  • Assume dj=0
  • Then
  • We know that WSPT is optimal for this problem!

IE 514

conclusion
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
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
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
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
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
Choosing K
  • Value of K determined empirically
  • Related to the due date tightness factor

and the due date range factor

IE 514

choosing k1
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

topic 4

Topic 4

Branch-and-Bound

& Beam Search

IE 514

branch and bound
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

example1

Example

Single Machine with Maximum Lateness Objective

IE 514

classic results
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

slide62

EDD

1

2

3

0 5 10 15

Can we

improve?

IE 514

delay schedule
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
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 bound1
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

slide66
Data

IE 514

branching
Branching

(•,•,•,•)

(1,•,•,•)

(2,•,•,•)

(3,•,•,•)

(4,•,•,•)

IE 514

slide68

Branching

(•,•,•,•)

(1,•,•,•)

(2,•,•,•)

(3,•,•,•)

(4,•,•,•)

Discard immediately because

IE 514

slide69

Branching

(•,•,•,•)

(1,•,•,•)

(2,•,•,•)

(3,•,•,•)

(4,•,•,•)

Need to develop lower bounds on

these nodes and do further branching.

IE 514

bounding in general
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
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
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
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

slide74

Branching

(•,•,•,•)

(1,•,•,•)

(2,•,•,•)

(3,•,•,•)

(4,•,•,•)

(1,2,•,•)

(1,3,•,•)

(1,3,4,2)

IE 514

slide75

Beam Search

  • 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

slide77

Branching(Beam width = 2)

(•,•,•,•)

(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

slide78

Beam Search

(•,•,•,•)

(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

discussion1
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

topic 5

Topic 5

Random Search

IE 514

construction versus improvement heuristics
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
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
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
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 structure1
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 structure2
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
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
Neighborhood Search
  • Find a candidate schedule from the neighborhood:
    • Random
    • Appear most promising

(most improvement in objective)

IE 514

acceptance rejection
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

topic 6

Topic 6

Simulated Annealing

IE 514

simulated annealing sa
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
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
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
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

discussion2
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

topic 7

Topic 7

Tabu Search

IE 514

tabu search
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
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
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
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
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

second iteration
Second Iteration
  • Let S0 =S2 = (2,4,1,3). G(S0)=436.
  • Let L = {(1,4)}
  • New neighborhood

IE 514

slide104

Third Iteration

  • Let S3 = (4,2,1,3), S0 = (2,4,1,3).
  • Let L = {(2,4),(1,4)}
  • New neighborhood

Tabu!

IE 514

slide105

Fourth Iteration

  • Let S4 = (4,1,2,3), S0 = (2,4,1,3).
  • Let L = {(1,2),(2,4)}
  • New neighborhood

IE 514

slide106

Fifth Iteration

  • 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

topic 8

Topic 8

Genetic Algorithm

IE 514

genetic algorithms
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
Total Weighted Tardiness Single Machine Example
  • First Generation

Initial population

selected randomly

IE 514

mutation operator
Mutation Operator

Fittest

Individual

Reproduction

via mutation

(4,3,1,2)

IE 514

slide111

Cross-Over Operator

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
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

discussion3
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

topic 9

Topic 9

Nested Partitions Method

IE 514

the nested partitions method shameless self promotion
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

slide117

First Iteration

(•,•,•,•)

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

notation1
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 sS

IE 514

slide119

Second Iteration

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

slide120

Third Iteration

(•,•,•,•)

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

slide121

Fourth Iteration

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
Finding the Optimal Schedule
  • The sequence

is a Markov chain

  • Eventually the singleton region soptS0 containing the best schedule is visited
    • Absorbing state (never leave sopt)
    • Finite state space

 visited after finitely many iterations.

IE 514

discussion4
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

topic 10

Topic 10

Mathematical Programming

IE 514

review of mathematical programming
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

linear programs
Linear Programs

Minimize

subject to

IE 514

solving lps
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

nonlinear programs
Nonlinear Programs

Minimize

subject to

IE 514

solving nonlinear programs
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
Integer Programming
  • LP where all variables must be integer
  • Mixed-integer programming (MIP)
  • Much more difficult than LP
  • Most useful for scheduling

IE 514

example single machine1
Example: Single Machine
  • One machine and n jobs
  • Minimize
  • Define the decision variables

IE 514

ip formulation
IP Formulation

Minimize

subject to

IE 514

solving ips
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
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