IOE/MFG 543*
-
Upload
christina-stathis -
Category
Documents
-
view
70 -
download
0
description
Transcript of 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
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)
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
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?
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
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
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
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)
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
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
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
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
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
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
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!
1616
IOE/MFG 543IOE/MFG 543
Appendix C. Appendix C. Complexity terminologyComplexity terminology
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
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
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
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
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??
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
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
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
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
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
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