prev

next

of 27

View

42Download

0

Embed Size (px)

DESCRIPTION

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. Scheduling. Allocation of scarce resources to tasks over time - PowerPoint PPT Presentation

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

SchedulingAllocation of scarce resources to tasks over timeDecision-making process with the goal of optimizing an objective (or multiple objectives)

ElementsResourcesMachines, runways, construction crews, CPUsTasksOperations in a production process, take-offs and landings, stages in a construction project, execution of computer programsObjectivesMinimizing last completion timeMaximize number of tasks completed on time

ExamplesPaper bag factoryGate assignments at an airportScheduling tasks in a CPUWhat are the resources (machines), tasks (jobs), and objectives?

5 job single machine exerciseminimize SwjCj 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

jpjwj143211331041015524

IOE/MFG 543Chapter 2. (Sections 2.1-2.2) Deterministic models: Preliminaries

Jobs and machinesData (assumed to be given)

Describing a scheduling problem||Machine environmentProcess characteristics and constraintsObjective (to be minimized)

Machine environment aSingle machine and machines in parallel

Machine environment a (2)Machines in series

Processing characteristics and constraints b

Processing characteristics and constraints b (2)

Objectives gPerformance measures of individual jobs

Objectives g (2)Functions to be minimized

Regular objective functionsRegular objective functionsnon-decreasing in C1,,Cnmost objective functions considered in this class are regularNon-regular objective functionsExample: wj' Ej+ wj'' TjMuch harder to solve!

IOE/MFG 543Appendix C. Complexity terminology

What does complexity mean?Complexity is an indication of how much computation is required to solve a problemSignificance of the complexity of a scheduling problemDoes an efficient algorithm for solving the problem exist?Worst case analysis

Problems and instancesA problem is the generic description of a problemAn instance refers to a problem with a given set of dataThe 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

Measure of computationTuring machinean abstract representation of a computing deviceIn this classTypical computation stepscomparisonmultiplicationadditionother data manipulation

Order relationAn algorithm is an O(g(n)) algorithm if there exist a constant c>0, a function g(n), and an integer n0>0 such that the maximum number of iterations f(n) needed to find an optimal solution satisfies

If O(nk) for some finite k then polynomial timeO(n!) and O(4n) are not polynomial time

Optimization vs. decision problemsA decision problemA question that requires either a yes or no answerFor every optimization problem there is an associated decision problemFor a given number z, is there a schedule x such that f(x) z?

The classes P and NPClass PThe 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

The classes P and NP (2)Class NPThe 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

Problem reductionProblem P polynomially reduces to problem P if a polynomial time algorithm for P implies a polynomial time algorithm for problem PDenoted P PP is at least as hard as P

The classes NP-hard and NP-completeClass NP-hardA problem P is called NP-hard if the entire class NP polynomially reduces to problem PProblem P is at least as hard as all the problems in NPClass NP-complete (not in the textbook)A problem P is called NP-complete if it is both in classes NP and NPhard

Pseudopolynomial algorithmsPolynomial time algorithms exist for some NP-hard problems under the appropriate encoding of the problem dataSuch 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

Some NP-hard problems NP-hard in the ordinary sensePARTITIONStrongly NP-hard SATISFIABILITY3-PARTITIONHAMILTIONIAN CIRCUITCLIQUE

Draw a pictureFFc each stage can have different number of machinesIf sequence independent then we can add to processing timeA problem can be thought of as a functionAn instance can be thought of as a function evaluated at a single pointThe problem of finding the best schedule according to some objective is an optimization problem.In complexity theory, however, the emphasis is on decision problems