Download ppt - IOE/MFG 543*

Transcript
Page 1: IOE/MFG 543*

11

IOE/MFG 543*IOE/MFG 543*

Chapter 1: IntroductionChapter 1: Introduction

*Based in part on material from Izak Duenyas, University of Michigan, Scott Grasman, University of Missouri, Rakesh Nagi, University of Buffalo, and Uwe Schwiegelshohn, CEI University

Page 2: IOE/MFG 543*

22

SchedulingScheduling

Allocation of scarce resources to Allocation of scarce resources to tasks over timetasks over time

Decision-making process with the Decision-making process with the goal of optimizing an objective (or goal of optimizing an objective (or multiple objectives)multiple objectives)

Page 3: IOE/MFG 543*

33

ElementsElements

ResourcesResources– Machines, runways, construction crews, CPUsMachines, runways, construction crews, CPUs

TasksTasks– Operations in a production process, take-offs Operations in a production process, take-offs

and landings, stages in a construction project, and landings, stages in a construction project, execution of computer programsexecution of computer programs

ObjectivesObjectives– Minimizing last completion timeMinimizing last completion time– Maximize number of tasks completed on timeMaximize number of tasks completed on time

Page 4: IOE/MFG 543*

44

ExamplesExamples

Paper bag factoryPaper bag factory Gate assignments at an airportGate assignments at an airport Scheduling tasks in a CPUScheduling tasks in a CPU What are the resources What are the resources

(machines), tasks (jobs), and (machines), tasks (jobs), and objectives?objectives?

Page 5: IOE/MFG 543*

55

5 job single machine 5 job single machine exerciseexerciseminimize wjCj

where Cj is the completion time of job j, pj is the processing time of job j, wj is the weight (priority) of job j

jj ppjj wwjj

11 44 33

22 11 11

33 33 1010

44 1010 1515

55 22 44

Page 6: IOE/MFG 543*

66

IOE/MFG 543IOE/MFG 543

Chapter 2. (Sections 2.1-2.2)Chapter 2. (Sections 2.1-2.2)Deterministic models: Deterministic models: PreliminariesPreliminaries

Page 7: IOE/MFG 543*

77

Jobs and machinesJobs and machines

Data (assumed to be given)Data (assumed to be given)mm number of machinesnumber of machines

nn number of jobsnumber of jobs

ppijij processing time of job processing time of job jj at machine at machine ii

ppjj processing time of job processing time of job jj at when all at when all machines are identicalmachines are identical

rrjj release date of job release date of job jj

ddjj due date of job due date of job jj

wwjj weight of job weight of job jj

Page 8: IOE/MFG 543*

88

Describing a Describing a scheduling problemscheduling problem

||||Machine Machine environmentenvironment

Process Process characteristics characteristics and constraintsand constraints

Objective (to be Objective (to be minimized)minimized)

Page 9: IOE/MFG 543*

99

Machine environment Machine environment Single machine and machines in parallelSingle machine and machines in parallel

11 single machinesingle machine

PmPm mm identical machines in parallel identical machines in parallel

QmQm mm machines in parallel w/different machines in parallel w/different speeds speeds vvii

RmRm mm unrelated machines in parallel unrelated machines in parallel

Page 10: IOE/MFG 543*

1010

Machine environment Machine environment (2)(2) Machines in seriesMachines in series

FmFm flow shop: all jobs processed in the flow shop: all jobs processed in the same order on the machines same order on the machines

FFcFFc flexible flow shop: same as flow shop flexible flow shop: same as flow shop but with but with c c stages of parallel machinesstages of parallel machines

JmJm job shop: each job has its own routingjob shop: each job has its own routing

FJcFJc flexible job shop: same as job shop flexible job shop: same as job shop but with but with c c stages of parallel machinesstages of parallel machines

OmOm open shop: each job has to processed open shop: each job has to processed on all machines but no routing on all machines but no routing restrictions restrictions

Page 11: IOE/MFG 543*

1111

Processing Processing characteristics and characteristics and constraints constraints

could be empty!could be empty!

rrjj Release datesRelease dates

ssjkjk sequence dependent setup timessequence dependent setup times

ssijkijk sequence and machine dependent sequence and machine dependent setup timessetup times

prmpprmp preemptionpreemption

precprec precedence constraintsprecedence constraints

Page 12: IOE/MFG 543*

1212

Processing Processing characteristics and characteristics and constraints constraints (2)(2)

brkdwnbrkdwn breakdownsbreakdowns

MMjj machine eligibility restrictionsmachine eligibility restrictions

prmuprmu permutationpermutation

blockblock blockingblocking

nwtnwt no waitingno waiting

recrcrecrc recirculationrecirculation

Page 13: IOE/MFG 543*

1313

Objectives Objectives

Performance measures of individual jobsPerformance measures of individual jobs

CCjj completion time of job completion time of job jj

LLjj lateness = lateness = CCj j – d– djj

TTjj tardiness = max(tardiness = max(LLjj, , 00))

EEjj earliness = max(-earliness = max(-LLjj, , 00))

UUjj unit penalty = 1 if unit penalty = 1 if CCj j > d> dj j and 0 and 0 otherwise otherwise

hhjj((CCjj)) hhjj is a non-decreasing cost function is a non-decreasing cost function

Page 14: IOE/MFG 543*

1414

Objectives Objectives (2)(2)

Functions to be minimizedFunctions to be minimizedCCmax max = max = max CCjj makespanmakespan

LLmax max = max = max LLjj maximum latenessmaximum lateness

ΣΣwwjjCCjj total weighted completion timetotal weighted completion time

ΣΣwwjj((1-e1-e-rC-rCjj)) total weighted discounted total weighted discounted CCjj

ΣΣwwjjTTjj total weighted tardinesstotal weighted tardiness

ΣΣwwjjUUj j weighted number of tardy jobsweighted number of tardy jobs

ΣΣwwjj' ' EEjj+ + ΣΣwwjj'' '' TTjj total weighted earliness and total weighted earliness and tardinesstardiness

Page 15: IOE/MFG 543*

1515

Regular objective Regular objective functionsfunctions Regular objective functionsRegular objective functions

– non-decreasing in non-decreasing in CC11,…,C,…,Cnn

– most objective functions considered most objective functions considered in this class are regularin this class are regular

Non-regular objective functionsNon-regular objective functions– Example: Example: ΣΣwwjj' ' EEjj+ + ΣΣwwjj'' '' TTjj

– Much harder to solve!Much harder to solve!

Page 16: IOE/MFG 543*

1616

IOE/MFG 543IOE/MFG 543

Appendix C. Appendix C. Complexity terminologyComplexity terminology

Page 17: IOE/MFG 543*

1717

What does complexity What does complexity mean?mean? Complexity is an indication of how Complexity is an indication of how

much much computationcomputation is required to is required to solve a problemsolve a problem

Significance of the complexity of Significance of the complexity of a scheduling problema scheduling problem– Does an efficient algorithm for Does an efficient algorithm for

solving the problem exist?solving the problem exist?– Worst case analysisWorst case analysis

Page 18: IOE/MFG 543*

1818

Problems and Problems and instancesinstances A A problemproblem is the generic description of is the generic description of

a problema problem An An instanceinstance refers to a problem with a refers to a problem with a

given set of datagiven set of data The The sizesize of an instance refers to the of an instance refers to the

length of the data string necessary to length of the data string necessary to specify the instance (on a computer)specify the instance (on a computer)– In this class the size of an instance is In this class the size of an instance is

usually measured in the number of jobs usually measured in the number of jobs nn

Page 19: IOE/MFG 543*

1919

Measure of Measure of computationcomputation Turing machineTuring machine

– an abstract representation of a an abstract representation of a computing devicecomputing device

In this classIn this class– Typical computation stepsTypical computation steps

comparisoncomparison multiplicationmultiplication additionaddition other data manipulationother data manipulation

Page 20: IOE/MFG 543*

2020

Order relationOrder relation

An algorithm is an An algorithm is an OO((gg((nn)))) algorithm if algorithm if there exist a constant there exist a constant c>c>00, a function , a function gg((nn),), and an integer and an integer nn00>>00 such that the such that the maximum number of iterations maximum number of iterations ff((nn)) needed to find an optimal solution needed to find an optimal solution satisfiessatisfies

IfIf O O((nnkk) for some finite ) for some finite kk then polynomial time then polynomial time– OO((n!n!) ) and and OO(4(4nn) ) are not polynomial timeare not polynomial time

0 allfor )()( nnncgnf

Page 21: IOE/MFG 543*

2121

Optimization vs. Optimization vs. decision problemsdecision problems A decision problemA decision problem

– A question that requires either a A question that requires either a “yes” or “no” answer“yes” or “no” answer

For every optimization problem For every optimization problem there is an associated decision there is an associated decision problemproblem– For a given number For a given number zz, is there a , is there a

schedule schedule xx such that such that ff((xx)) ≤≤ zz??

Page 22: IOE/MFG 543*

2222

The classes The classes PP and and NPNP

Class Class PP– The class The class PP contains all decision contains all decision

problems for which there exists a problems for which there exists a Turing machine algorithm that leads Turing machine algorithm that leads to the right yes-no answer in a to the right yes-no answer in a number of steps bounded by a number of steps bounded by a polynomial in the length of the polynomial in the length of the encodingencoding

Page 23: IOE/MFG 543*

2323

The classes The classes PP and and NPNP (2)(2) Class Class NPNP

– The class The class NPNP contains all decision contains all decision problems for which the correct problems for which the correct answer, answer, given a proper cluegiven a proper clue, can be , can be verified by a Turing machine in a verified by a Turing machine in a number of steps bounded by a number of steps bounded by a polynomial in the length of the polynomial in the length of the encodingencoding

Page 24: IOE/MFG 543*

2424

Problem reductionProblem reduction

Problem P Problem P polynomially reducespolynomially reduces to problem P’ if a polynomial time to problem P’ if a polynomial time algorithm for P’ implies a algorithm for P’ implies a polynomial time algorithm for polynomial time algorithm for problem Pproblem P– Denoted P Denoted P P’ P’– P’ is at least as hard as PP’ is at least as hard as P

Page 25: IOE/MFG 543*

2525

The classes The classes NP-NP-hard hard

and and NP-NP-completecomplete Class Class NP-NP-hardhard

– A problem P is called A problem P is called NP-NP-hard if the entire hard if the entire

class class NPNP polynomially reduces to problem P polynomially reduces to problem P– Problem P is at least as hard as all the Problem P is at least as hard as all the

problems in problems in NPNP Class Class NP-NP-complete (not in the textbook)complete (not in the textbook)

– A problem P is called A problem P is called NP-NP-complete if it is complete if it is

both in classes both in classes NPNP and and NPNP–hard–hard

Page 26: IOE/MFG 543*

2626

Pseudopolynomial Pseudopolynomial algorithmsalgorithms Polynomial time algorithms exist for Polynomial time algorithms exist for

some some NPNP-hard problems under the -hard problems under the appropriate encoding of the problem appropriate encoding of the problem datadata

Such problems are referred to as Such problems are referred to as NPNP--hard in the ordinary sensehard in the ordinary sense and the and the algorithms are called algorithms are called pseudopolynomialpseudopolynomial

Problem P is called Problem P is called strongly strongly NPNP-hard-hard if a if a pseudopolynomial algorithm for it does pseudopolynomial algorithm for it does not existnot exist

Page 27: IOE/MFG 543*

2727

Some Some NPNP-hard -hard problemsproblems NPNP-hard in the ordinary sense-hard in the ordinary sense

– PARTITIONPARTITION

Strongly Strongly NPNP-hard -hard – SATISFIABILITYSATISFIABILITY– 3-PARTITION3-PARTITION– HAMILTIONIAN CIRCUITHAMILTIONIAN CIRCUIT– CLIQUECLIQUE