590 likes | 749 Views
AMA522 SCHEDULING. Set #1 Dr. LEE Heung Wing Joseph Email : majlee@polyu.edu.hk Phone: 2766 6951 Office : HJ639. Subject Details. Subject Code : AMA522 Location and Time : Wednesday, 18 :30, at DE303 Recommended background knowledge : Calculus, Linear Algebra, Probability,
E N D
AMA522 SCHEDULING Set #1 Dr. LEE Heung Wing Joseph Email : majlee@polyu.edu.hk Phone: 2766 6951 Office : HJ639
Subject Details Subject Code: AMA522 Location and Time: Wednesday, 18:30, at DE303 Recommended background knowledge: Calculus, Linear Algebra, Probability, Fortran or C Programming, Combinatorics. Assessment: 2 Assignments, 10% Project, 15% Test, 15% Final Examination 60%
Aim and Objectives • Aim • To provide a sound understanding of the fundamental techniques and algorithms for scheduling problems from a range ofcommercial and service sectors. • Objectives • To give an understanding of the methods and techniques that • are available for building scheduling systems. • To introduce modern approaches for dealing with scheduling problems including treating uncertainties.
Literature Adopted Text 1. Scheduling, Theory, Algorithms, and Systems, Michael Pinedo, Prentice Hall, 1995. NEW: Second edition, 2002
Lecture Notes • Lecture Notes will be available for download online at: • http://www.acad.polyu.edu.hk/~majlee/ama522.html • All announcements for the subject will be made in lectures and put on the web site
INTRODUCTION TO SCHEDULING Contents 1. Definition of Scheduling 2. Examples 3. Terminology 4. Classification of Scheduling Problems 5. P and NP problems
Definition of Scheduling • Scheduling concerns optimal allocation or assignment of resources, over time, to a set of tasks or activities. • machines Mi, i=1,...,m (ith machine) • jobs Jj, j=1,...,n (jth job) • Schedule may be represented by Gantt charts. Machine oriented Gantt chart Job oriented Gantt chart M3 J1 J3 J2 M1 M2 M1 M2 J2 J2 J1 J3 M2 M3 M1 J3 J1 J3 J1 J4 M3 M1 M2 t J4 M1 t
Examples • Bicycle Assembly • 3 workers within a team • each task has its own duration • precedence constraints • no preemption T2 T1 T7 T3 T9 T5 T4 T6 T8 T10
Task assignment T1 T2 T7 39 7 14 21 T4 T6 T8 T10 2 4 6 14 T5 T9 T3 2 5 6 14 21
Improved task assignment T1 T2 T7 34 7 14 16 T6 T8 T5 T3 2 4 6 9 16 T4 T10 T9 17 2 9 25
An optimal task assignment T1 T2 T7 32 7 14 T4 T5 T6 T3 T8 T9 T10 2 5 7 14 16 24 32
Scheduling Systems • Enterprise Resource Planning (ERP) • Common for larger businesses • Materials Requirement Planning (MRP) • Very common for manufacturing companies • Advanced Planning and Scheduling (APS) • Most recent trend • Considered “advanced feature” of ERP
Scheduling Problem • Allocate scarce resources to tasks • Combinatorial optimization problem Maximize profit Subject to constraints • Mathematical techniques and heuristics
Classroom Assignment • one day seminar • 14 seminars • 5 rooms • 8:00 - 5:00pm • no seminars during the lunch hour 12:00 - 1:00pm
Soft Drink Bottling • single machine • 4 flavours • each flavour has its own filling time • cleaning and changeover time between the bottling of successive flavours • aim: to minimise cycle time, sufficient: to minimise the total changeover time f1 - f2 - f3 - f4 - f1 2+3+2+50 = 57 f2 - f3 - f4 - f1 - f2 3+2+50+2 = 57 f3 - f4 - f2 - f1 - f3 2+5+6+70 = 83 f4 - f2 - f3 - f1 - f4 4+3+8+50 = 66 f1 - f2 - f4 - f3 - f1 2+4+6+8 = 20 optimal:
Terminology • Scheduling is the allocation, subject to constraints, of resources to objects being placed in space-time, so that the total cost is minimised. • Schedule includes the spacial and temporal information. • Sequencing is the construction, subject to constraints, of an order in which activities are to be carried out. • Sequence is an order in which activities are carried out. • Timetabling is the allocation, subject to constraints, of resources to objects being placed in space-time, so that the set of objectives are satisfied as much as possible. • Timetable shows when particular events are to take place. • Rostering is the placing, subject to constraints, of resources into slots in a pattern. • Roster is a list of people's names that shows which jobs they are to do and when.
Example 1.1.1 A Paper Bag Factory 1. Printing of the logo 2. gluing of the side of the bag 3. sewing of one end of the bag • Colours, size may affect processing speed. • Late delivery implies loss of goodwill. • Sequence dependent setup time.
Example 1.1.2 Gate Assignments at an Airport • Dozens of gates and hundreds of airplanes arriving and departing according to a schedule each day. • Gates as well as the airplanes are not all identical. • Some gates are in locations where it is difficult to bring in the planes • Certain planes may have to be towed to their gates. • Weather, or events at other airports may cause randomness in the schedule.
Example 1.1.3 Scheduling Tasks in CPU • Multi-tasking computer. • Exact processing time are not known in advance, only the distributions may be known. • Priority level. • The operation system slices the tasks into little pieces. • Preemption allowed.
Classification of Scheduling Problems machines j=1,…,m jobs i =1,…,n (i, j) processing step, or operation, of job j on machine i Job data Processing timepij - processing time of job j on machine i Release daterj - earliest time at which job j can start its processing Due datedj - committed shipping or completion date of job j Weightwj - importance of job j relative to the other jobs in the system
Scheduling problem: | | machine environment job characteristics optimality criteria
Machine characteristics • Single machine 1 • Identical machines in parallel Pm • m machines in parallel • Job j requires a single operation and may be processed on any of the m machines • If job j may be processed on any one machine belonging to a given subset MjPm | Mj| ... • Machines in parallel with different speedsQm • Unrelated machines in parallelRm • machines have different speeds for different jobs
Machine Configurations Single-Machine Parallel-Machine
Flow shop Fm • m machines in series • all jobs have the same routing • each job has to be processed on each one of the m machines (permutation) first in first out (FIFO) Fm | prmu | ... • Flexible flow shop FFs • s stages in series with a number of machines in parallel • at each stage job j requires only one machine • FIFO discipline is usually between stages
Machine Configurations Flow Shop Job Shop
Open shop Om • m machines • each job has to be processed on each of the m machines • scheduler determines the route for each job • Job shop Jm • m machines • each job has its own route • job may visit a machine more then once (recirculation) Fm | recrc | ...
Job characteristics Release daterj - earliest time at which job j can start its processing Sequence dependent setup times sjk - setup time between jobs j and k sijk - setup time between jobs j and k depends on the machine Preemptions prmp- jobs can be interrupted during processing
Precedence constraints prec - one or more jobs may have to be completed before another job is allowed to start its processing may be represented by an acyclic directed graph G=(V,A) V={1,…,n} corresponds to the jobs (j, k) A iff jth job must be completed before kth chains each job has at most one predecessor and one successor intree each job has at mostone successor outree each job has at mostone predecessor
Breakdowns brkdwn - machines are not continuously available Machine eligibility restrictions Mj - Mj denotes the set of machinesthat can process job j Permutation prmu - in the flow shop environment the queues in frontof each machine operates according to the FIFO discipline Blocking block -in the flow shop there is a limited buffer in betweentwo successive machines, when the buffer is full the upstream machineis not allowed to release a completed job. No wait no-wait-jobs are not allowed to wait between twosuccessive machines Recirculation recrc -in the job shop a job may visit a machinemore than once
blocking Machine Eligibility Constraints Completion time Start time Buffer Space Jobs Machines
Optimality criteria We define for each job j: Cijcompletion time of the operation of job j on machine i Cj time when job j exits the system Lj = Cj - dj lateness of job j Tj = max(Cj - dj , 0) tardiness of job j unit penalty of job j
Due Date Penalties Tardiness Lateness Unit Penalty (Late or Not) In practice
Possible objective functions to be minimised: MakespanCmax - max (C1,...,Cn) Maximum latenessLmax - max (L1,...,Ln) Total weighted completion timewjCj - weighted flow time Total weighted tardinesswjTj Weighted number of tardy jobswjUj Examples Bicycle assembling: precedence constrained parallel machines P3 | prec | Cmax
Summary • Scheduling is a decision making process with the goal of optimising one or more objectives • Production scheduling problems are classified based on machine environment, job characteristics, and optimality criteria.
Classes of Schedules • Nondelay Schedule: A feasible schedule is called nondelay if no machine is kept idle while on operation is waiting for processing. • Active Schedule: A feasible schedule is called active if it is not possible to construct another schedule by changing the order of processing on the machines and having at least one operation finishing earlier and no operation finishing later.
Semi-Active Schedule: A feasible schedule is called semi-active if no operation can be completed earlier without changing the order of processing on any one of the machines.