© J. Christopher Beck 20051 Lecture 5: Project Planning 2.

Slides:



Advertisements
Similar presentations
Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Advertisements

ECE 667 Synthesis and Verification of Digital Circuits
1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
Chapter 3 Workforce scheduling.
Lecture 6: Job Shop Scheduling Introduction
© J. Christopher Beck Lecture 7: Shifting Bottleneck.
Finding Search Heuristics Henry Kautz. if State[node] is not in closed OR g[node] < g[LookUp(State[node],closed)] then A* Graph Search for Any Admissible.
Evaluating Heuristics for the Fixed-Predecessor Subproblem of Pm | prec, p j = 1 | C max.
~1~ Infocom’04 Mar. 10th On Finding Disjoint Paths in Single and Dual Link Cost Networks Chunming Qiao* LANDER, CSE Department SUNY at Buffalo *Collaborators:
Introduction to Algorithms
Contents College 4 §4.1, §4.2, §4.4, §4.6 Extra literature on resource constrained project scheduling (will be handed out)
IEOR Basic Project Scheduling. IEOR Project Scheduling zJobs subject to precedence constraints zJob on arc format (most common)
Lecture 10: Integer Programming & Branch-and-Bound
1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.1 and 3.2)
1 IOE/MFG 543 Chapter 5: Parallel machine models (Sections )
© J. Christopher Beck Lecture 24: Workforce Scheduling 2.
Math443/543 Mathematical Modeling and Optimization
© J. Christopher Beck Lecture 4: Project Planning 1.
Project Scheduling The Critical Path Method (CPM).
1 Set # 4 Dr. LEE Heung Wing Joseph Phone: Office : HJ639.
© J. Christopher Beck Lecture 18: Timetabling with Workforce Capacity.
1 1 Slide Chapter 14: Goal Programming Goal programming is used to solve linear programs with multiple objectives, with each objective viewed as a "goal".
ECE LP Duality 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality.
Lecture outline Support vector machines. Support Vector Machines Find a linear hyperplane (decision boundary) that will separate the data.
ECE Synthesis & Verification - LP Scheduling 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Scheduling Algorithms Analytical approach.
CSE 550 Computer Network Design Dr. Mohammed H. Sqalli COE, KFUPM Spring 2007 (Term 062)
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
CEM 514 Modeling of Construction Operations The LP/IP hybrid method for construction time-cost trade-off analysis By Samir Abdallah Sulaiman.
Linear Programming Operations Research – Engineering and Math Management Sciences – Business Goals for this section  Modeling situations in a linear environment.
Chapter 12 Section 12.1 The Geometry of Linear Programming.
Project Management Chapter 8 (Crashing).
Section 2.9 Maximum Flow Problems Minimum Cost Network Flows Shortest Path Problems.
Review for E&CE Find the minimal cost spanning tree for the graph below (where Values on edges represent the costs). 3 Ans. 18.
1 Project Planning, Scheduling and Control Project – a set of partially ordered, interrelated activities that must be completed to achieve a goal.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
© J. Christopher Beck Lecture 24: Workforce Scheduling.
Operational Research & ManagementOperations Scheduling Project Scheduling 1.Project Planning (revisited) 2.Resource Constrained Project Scheduling 3.Parallel.
© J. Christopher Beck Lecture 6: Time/Cost Trade-off in Project Planning.
Lecture 9: Simplified Shifting Bottleneck
© J. Christopher Beck Lecture 25: Workforce Scheduling 3.
V. Cacchiani, ATMOS 2007, Seville1 Solving a Real-World Train Unit Assignment Problem V. Cacchiani, A. Caprara, P. Toth University of Bologna (Italy) European.
1 Iterative Integer Programming Formulation for Robust Resource Allocation in Dynamic Real-Time Systems Sethavidh Gertphol and Viktor K. Prasanna University.
© J. Christopher Beck Lecture 4: Program Evaluation and Review Technique (PERT)
Integer Programming (정수계획법)
© J. Christopher Beck Lecture 10: (Full) Shifting Bottleneck.
CSE4334/5334 DATA MINING CSE4334/5334 Data Mining, Fall 2014 Department of Computer Science and Engineering, University of Texas at Arlington Chengkai.
Network Flow Problems Example of Network Flow problems:
Integer Programming, Branch & Bound Method
1 1 Slide © 2008 Thomson South-Western. All Rights Reserved © 2011 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or.
Review for E&CE Find the minimal cost spanning tree for the graph below (where Values on edges represent the costs). 3 Ans. 18.
Approximation Algorithms Duality My T. UF.
Chapter 8 - Project Management1 Lecture 2 Today’s lecture covers the followings: 1.To study “project crashing” concept 2.LP formulation for project management.
1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily.
PERT / CPM – Time-Cost Tradeoffs BSAD 30 Dave Novak Source: Anderson et al., 2015 Quantitative Methods for Business 13 th edition – some slides are directly.
Some Topics in OR.
Job Shop Scheduling Contents 1. Problem Statement 2. Disjunctive Graph
Basic Project Scheduling
Lecture 8: Dispatch Rules
Lecture 11: Tree Search © J. Christopher Beck 2008.
Basic Project Scheduling
Chapter 8 - Project Management
3-3 Optimization with Linear Programming
Lecture 19-Problem Solving 4 Incremental Method
Lecture 9: Tabu Search © J. Christopher Beck 2005.
Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Lecture 19 Linear Program
Richard Anderson Autumn 2019 Lecture 7
Presentation transcript:

© J. Christopher Beck Lecture 5: Project Planning 2

© J. Christopher Beck Outline Time/Cost Tradeoffs Linear and non-linear Adding Workforce Constraints Slides borrowed from Twente & Iowa See Pinedo CD

© J. Christopher Beck Time/Cost Trade-Offs What if you could spend money to reduce the job duration More money  shorter processing time Run machine at higher speed

© J. Christopher Beck Linear Costs Money Processing time Marginal cost

© J. Christopher Beck Problem Spend money to reduce processing times so as to minimize: “Overhead” cost Cost per activity

© J. Christopher Beck Solution Methods Objective: minimum cost of project Time/Cost Trade-off Heuristic Good schedules Works also for non-linear costs Linear programming formulation Optimal schedules Non-linear version not easily solved

© J. Christopher Beck Source (dummy) node Sink node Minimal cut set Cut set Sources, Sinks, & Cuts

© J. Christopher Beck Step 1: Set all processing times at their maximum Determine all critical paths Construct the graph G cp of critical paths Time/Cost Trade-off Heuristic

© J. Christopher Beck Step 2: Determine all minimum cut sets in G cp Consider those sets where all processing times are larger than their minimum If no such set STOP; otherwise continue to Step 3 Time/Cost Trade-off Heuristic

© J. Christopher Beck Time/Cost Trade-Off Heuristic Step 3: For each minimum cut set: Compute the cost of reducing all processing times by one time unit. Take the minimum cut set with the lowest cost If this is less than the overhead per time unit go on to Step 4; otherwise STOP

© J. Christopher Beck Time/Cost Trade-Off Heuristic Step 4: Reduce all processing times in the minimum cut set by one time unit Determine the new set of critical paths Revise graph G cp and go back to Step 2

© J. Christopher Beck Example Overhead: c o = 6 (cost of project per time unit)

© J. Christopher Beck Step 1: Maximum Processing Times, Find G cp

© J. Christopher Beck Step 1: Maximum Processing Times, Find G cp Cost = overhead + job costs = c o * C max + Σc a j = 6 * = 686

© J. Christopher Beck c 1 =7 c 3 =4 c 6 =3c 9 =4 c 11 =2 c 12 =2 c 14 =8 Minimum cut set with lowest cost Cut sets: {1},{3},{6},{9}, {11},{12},{14}. Step 2 & 3: Min. Cut Sets in G cp & Lowest Cost

© J. Christopher Beck Step 4 & 1: Reduce Processing Time for Each Job by Cost = overhead + processing = c 0 * C max + Σjob costs = 6 * = 682

© J. Christopher Beck Step 2 & 3: Min. Cut Sets in G cp & Lowest Cost c 1 =7 c 3 =4 c 6 =3c 9 =4 c 11 =2 c 12 =2 c 14 =8 13 Cut sets: {1},{3},{6},{9}, {11},{12,13},{14}. c 13 =4 Minimum cut set with lowest cost

© J. Christopher Beck c 1 =7 c 3 =4 c 6 =3c 9 =4 c 11 =2 c 12 =2 c 14 =8 13 c 13 = 4 Next 3 iterations reduce processing time from 7 to 4 Cost = overhead + processing = c o * C max + Σjob costs = 6 * = 667 Next 3 Iterations

© J. Christopher Beck c 1 =7 c 3 =4 c 6 =3c 9 =4 c 11 =2 c 12 =2 c 14 =8 13 Reduce processing time next on job 6 c 13 = 4 Step 1,2, & 3 Q: why not 12?

© J. Christopher Beck After More Iterations … c 1 =7 c 3 =4 c 6 =3c 9 =4 c 11 =2 c 12 =2 c 14 =8 13 c 13 = c 2 =2 c 4 =3 c 7 =4 c 10 =5

© J. Christopher Beck Linear Programming Formulation The heuristic does not guarantee optimum See example Here total cost is linear so use LP Want to minimize

© J. Christopher Beck Minimize subject to earliest start time of job k processing time of job k Linear Program

© J. Christopher Beck Can Also Have Non-linear Costs Arbitrary function c j (p j ) → cost of setting job j to processing time p j LP doesn’t work! See Section 4.5 A question I like: Given processing times and c j (p j ), which algorithm would you use (heuristic or LP)?

© J. Christopher Beck What If Jobs Require Resources? Back to fixed durations Without resources → easy With resources → hard Resource Constraint Project Scheduling Problem (RCPSP)

© J. Christopher Beck RCPSP Example Resource requirements

© J. Christopher Beck What if R 1 = 4?

© J. Christopher Beck RCPSP n: jobs j=1,…,n N: resources i=1,…,N R k :availability of resource k p j :duration of job j R kj : requirement of job j for resource k P j :(immediate) predecessors of job j Minimize C max

© J. Christopher Beck RCPSP Example