Chapter 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
1
Allocation of scarce resources to tasks over time
Decision-making process with the goal of optimizing an objective (or multiple objectives)
2
Resources
– Machines, runways, construction crews, CPUs
Tasks
– Operations in a production process, take-offs and landings, stages in a construction project, execution of computer programs
Objectives
– Minimizing last completion time
– Maximize number of tasks completed on time
3
Paper bag factory
Gate assignments at an airport
Scheduling tasks in a CPU
What are the resources (machines), tasks (jobs), and objectives?
4
minimize
S w j
C j where C j is the completion time of job j, p j is the processing time of job j, w j is the weight
(priority) of job j
2
3 j
1
4
5
1
3 p j
4
10 15
2 4 w j
3
1
10
5
Chapter 2. (Sections 2.1-2.2)
Deterministic models:
Preliminaries
6
Data (assumed to be given) m number of machines n number of jobs p ij processing time of job j at machine i p j processing time of job j at when all machines are identical r d j j release date of job j due date of job j w j weight of job j
7
| |
Machine environment
Process characteristics and constraints
Objective (to be minimized)
8
Single machine and machines in parallel
1 single machine
Pm m identical machines in parallel
Qm m machines in parallel w/different speeds v i
Rm m unrelated machines in parallel
9
Machines in series
Fm flow shop: all jobs processed in the same order on the machines
FFc flexible flow shop: same as flow shop but with c stages of parallel machines
Jm job shop: each job has its own routing
FJc flexible job shop: same as job shop but with c stages of parallel machines
Om open shop: each job has to processed on all machines but no routing restrictions
10
r j could be empty!
Release dates s s jk ijk sequence dependent setup times sequence and machine dependent setup times prmp preemption prec precedence constraints
11
brkdwn breakdowns
M j machine eligibility restrictions prmu permutation block blocking nwt no waiting recrc recirculation
12
Performance measures of individual jobs
C j completion time of job j
L
T j j lateness =
C j
– d j tardiness = max(
L j
,
0
)
E
U j j h j
( C j
) earliness = max(-
L j
,
0
) unit penalty = 1 if
C j
> d j and 0 otherwise h j is a non-decreasing cost function
13
Functions to be minimized
C max
= max
C j
L max
= max
L j makespan maximum lateness
Σ w j
C j total weighted completion time
Σ w j
( 1-e -rC j
)
Σ w j
T j total weighted discounted
C j total weighted tardiness
Σ w j
U j weighted number of tardy jobs
Σ w j
' E j
+
Σ w j
'' T j total weighted earliness and tardiness
14
Regular objective functions
– non-decreasing in
C
1
,…,C n
– most objective functions considered in this class are regular
Non-regular objective functions
– Example: Σ w j
' E j
+
Σ w j
'' T j
– Much harder to solve!
15
Appendix C.
Complexity terminology
16
Complexity is an indication of how much computation is required to solve a problem
Significance of the complexity of a scheduling problem
– Does an efficient algorithm for solving the problem exist?
– Worst case analysis
17
A problem is the generic description of a problem
An instance refers to a problem with a given set of data
The size of an instance refers to the length of the data string necessary to specify the instance (on a computer)
– In this class the size of an instance is usually measured in the number of jobs n
18
Turing machine
– an abstract representation of a computing device
In this class
– Typical computation steps
comparison
multiplication addition other data manipulation
19
An algorithm is an
O ( g ( n )) algorithm if there exist a constant c> 0
, a function g ( n ), and an integer n
0
> 0 such that the maximum number of iterations f ( n ) needed to find an optimal solution satisfies f ( n )
cg ( n ) for all n
n
0
If
O ( n k ) for some finite k then polynomial time
– O ( n!
) and
O (4 n ) are not polynomial time
20
A decision problem
– A question that requires either a “yes” or
“no” answer
For every optimization problem there is an associated decision problem
– For a given number z
, is there a schedule x such that f ( x ) ≤ z
?
21
P
NP
Class P
– The class P contains all decision problems for which there exists a Turing machine algorithm that leads to the right yes-no answer in a number of steps bounded by a polynomial in the length of the encoding
22
P
NP
Class NP
– The class NP contains all decision problems for which the correct answer, given a proper clue, can be verified by a
Turing machine in a number of steps bounded by a polynomial in the length of the encoding
23
Problem P polynomially reduces to problem P’ if a polynomial time algorithm for P’ implies a polynomial time algorithm for problem P
– Denoted P P’
– P’ is at least as hard as P
24
NP-
NP-
Class NPhard
– A problem P is called NPhard if the entire class
NP polynomially reduces to problem P
– Problem P is at least as hard as all the problems in NP
Class NPcomplete (not in the textbook)
– A problem P is called NPcomplete if it is both in classes NP and NP –hard
25
Polynomial time algorithms exist for some
NP -hard problems under the appropriate encoding of the problem data
Such problems are referred to as NP -hard in the ordinary sense and the algorithms are called pseudopolynomial
Problem P is called strongly NP -hard if a pseudopolynomial algorithm for it does not exist
26
NP
NP -hard in the ordinary sense
– PARTITION
Strongly NP -hard
– SATISFIABILITY
– 3-PARTITION
– HAMILTIONIAN CIRCUIT
– CLIQUE
27