Introduction

advertisement

IOE/MFG 543*

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

Scheduling

Allocation of scarce resources to tasks over time

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

2

Elements

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

Examples

Paper bag factory

Gate assignments at an airport

Scheduling tasks in a CPU

What are the resources (machines), tasks (jobs), and objectives?

4

5 job single machine exercise

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

IOE/MFG 543

Chapter 2. (Sections 2.1-2.2)

Deterministic models:

Preliminaries

6

Jobs and machines

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

Describing a scheduling problem

 |  | 

Machine environment

Process characteristics and constraints

Objective (to be minimized)

8

Machine environment

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

Machine environment

(2)

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

Processing characteristics and constraints

 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

Processing characteristics and constraints

(2)

brkdwn breakdowns

M j machine eligibility restrictions prmu permutation block blocking nwt no waiting recrc recirculation

12

Objectives

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

Objectives

(2)

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

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

IOE/MFG 543

Appendix C.

Complexity terminology

16

What does complexity mean?

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

Problems and instances

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

Measure of computation

Turing machine

– an abstract representation of a computing device

In this class

– Typical computation steps

 comparison

 multiplication addition other data manipulation

19

Order relation

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

Optimization vs. decision problems

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

The classes

P

and

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

The classes

P

and

NP

(2)

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 reduction

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

The classes

NP-

hard and

NP-

complete

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

Pseudopolynomial algorithms

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

Some

NP

-hard problems

NP -hard in the ordinary sense

– PARTITION

Strongly NP -hard

– SATISFIABILITY

– 3-PARTITION

– HAMILTIONIAN CIRCUIT

– CLIQUE

27

Download