advertisement

Operation and Planning Control U7MEA37 Prepared by Mr. Prabhu Assistant Professor, Mechanical Department VelTech Dr.RR & Dr.SR Technical University 1 Unit I Linear programming 2 Introduction to Operations Research • Operations research/management science – Winston: “a scientific approach to decision making, which seeks to determine how best to design and operate a system, usually under conditions requiring the allocation of scarce resources.” – Kimball & Morse: “a scientific method of providing executive departments with a quantitative basis for decisions regarding the operations under their control.” Introduction to Operations Research • Provides rational basis for decision making – Solves the type of complex problems that turn up in the modern business environment – Builds mathematical and computer models of organizational systems composed of people, machines, and procedures – Uses analytical and numerical techniques to make predictions and decisions based on these models Introduction to Operations Research • Draws upon – engineering, management, mathematics • Closely related to the "decision sciences" – applied mathematics, computer science, economics, industrial engineering and systems engineering Methodology of Operations Research* The Seven Steps to a Good OR Analysis Methodology of Operations Research* The Seven Steps to a Good OR Analysis •What are the objectives? •Is the proposed problem too narrow? •Is it too broad? Methodology of Operations Research* The Seven Steps to a Good OR Analysis •What data should be collected? •How will data be collected? •How do different components of the system interact with each other? Methodology of Operations Research* The Seven Steps to a Good OR Analysis •What kind of model should be used? •Is the model accurate? •Is the model too complex? Methodology of Operations Research* The Seven Steps to a Good OR Analysis •Do outputs match current observations for current inputs? •Are outputs reasonable? •Could the model be erroneous? Methodology of Operations Research* The Seven Steps to a Good OR Analysis •What if there are conflicting objectives? •Inherently the most difficult step. •This is where software tools will help us! Methodology of Operations Research* The Seven Steps to a Good OR Analysis •Must communicate results in layman’s terms. •System must be user friendly! Methodology of Operations Research* The Seven Steps to a Good OR Analysis •Users must be trained on the new system. •System must be observed over time to ensure it works properly. Linear Programming 14 Objectives – Requirements for a linear programming model. – Graphical representation of linear models. – Linear programming results: • • • • Unique optimal solution Alternate optimal solutions Unbounded models Infeasible models – Extreme point principle. 15 Objectives - continued – Sensitivity analysis concepts: • • • • • • Reduced costs Range of optimality--LIGHTLY Shadow prices Range of feasibility--LIGHTLY Complementary slackness Added constraints / variables – Computer solution of linear programming models • WINQSB • EXCEL • LINDO 16 3.1 Introduction to Linear Programming • A Linear Programming model seeks to maximize or minimize a linear function, subject to a set of linear constraints. • The linear model consists of the following components: – A set of decision variables. – An objective function. – A set of constraints. – SHOW FORMAT 17 • The Importance of Linear Programming – Many real static problems lend themselves to linear programming formulations. – Many real problems can be approximated by linear models. – The output generated by linear programs provides useful “what’s best” and “what-if” information. 18 Assumptions of Linear Programming • The decision variables are continuous or divisible, meaning that 3.333 eggs or 4.266 airplanes is an acceptable solution • The parameters are known with certainty • The objective function and constraints exhibit constant returns to scale (i.e., linearity) • There are no interactions between decision variables 19 Methodology of Linear Programming Determine and define the decision variables Formulate an objective function verbal characterization Mathematical characterization Formulate each constraint 20 MODEL FORMULATION • Decisions variables: – X1 = Production level of Space Rays (in dozens per week). – X2 = Production level of Zappers (in dozens per week). • Objective Function: – Weekly profit, to be maximized 21 The Objective Function Each dozen Space Rays realizes $8 in profit. Total profit from Space Rays is 8X1. Each dozen Zappers realizes $5 in profit. Total profit from Zappers is 5X2. The total profit contributions of both is 8X1 + 5X2 (The profit contributions are additive because of the linearity assumption) 22 The Linear Programming Model Max 8X1 + 5X2 (Weekly profit) subject to 2X1 + 1X2 < = 1200 (Plastic) 3X1 + 4X2 < = 2400 (Production Time) X1 + X2 < = 800 (Total production) X1 - X2 < = 450 (Mix) Xj> = 0, j = 1,2 (Nonnegativity) 23 3.4 The Set of Feasible Solutions for Linear Programs The set of all points that satisfy all the constraints of the model is called a FEASIBLE REGION 24 Using a graphical presentation we can represent all the constraints, the objective function, and the three types of feasible points. 25 X2 1200 The plastic constraint: The Plastic constraint 2X1+X2<=1200 Total production constraint: X1+X2<=800 Infeasible 600 Production Feasible Time 3X1+4X2<=2400 Production mix constraint: X1-X2<=450 600 800 Interior points. Boundary points. • There are three types of feasible points Extreme points. X1 26 Linear Programming- Simplex method • “...finding the maximum or minimum of linear functions in which many variables are subject to constraints.” (dictionary.com) • A linear program is a “problem that requires the minimization of a linear form subject to linear constraints...” (Dantzig vii) Important Note • Linear programming requires linear inequalities • In other words, first degree inequalities only! Good: ax + by + cz < 3 Bad: ax2 + log2y > 7 Lets look at an example... • • • • • • • • Farm that produces Apples (x) and Oranges (y) Each crop needs land, fertilizer, and time. 6 acres of land: 3x + y < 6 6 tons of fertilizer: 2x + 3y < 6 8 hour work day: x + 5y < 8 Apples sell for twice as much as oranges We want to maximize profit (z): 2x + y = z We can't produce negative: x > 0, y > 0 Traditional Method x = 1.71 y = .86 z = 4.29 • Graph the inequalities • Look at the line we're trying to maximize. Problems... • More variables? • Cannot eyeball the answer? Simplex Method • George B. Dantzig in 1951 • Need to convert equations • Slack variables Performing the Conversion • -z + 2x + y = 0 (Objective Equation) • s1 + x + 5y = 8 • s2 + 2x + 3y = 6 • s3 + 3x + y = 6 • Initial feasible solution More definitions • • • • • Non-basic: x, y Basic variables: s1, s2, s3, z Current Solution: Set non-basic variables to 0 -z + 2x + y = 0 => z = 0 Valid, but not good! Next step... • Select a non-basic variable – -z + 2x + 1y = 0 – x has the higher coefficient • Select a basic variable – s1 + 1x + 5y = 8 1/8 – s2 + 2x + 3y = 6 2/6 – s3 + 3x + y = 6 3/6 • 3/6 is the highest, use equation with s3 New set of equations • Solve for x – x = 2 - (1/3)s3 -(1/3)y • Substitute in to other equations to get... – -z – (2/3)s3 +(1/3)y = -4 – s1– (1/3)s3 + (14/3)y = 6 – s2 – (2/3)s3 +(7/3)y = 2 – x + (1/3)s3 +(1/3)y = 2 Redefine everything... • • • • Update variables Non-Basic: s3 and y Basic: s1, s2, z, and x Current Solution: – -z – (2/3)s3 +(1/3)y = -4 => z = 4 – x + (1/3)s3 +(1/3)y = 2 => x = 2 –y=0 • Better, but not quite there. Do it again! • Repeat this process • Stop repeating when the coefficients in the objective equation are all negative. Improvements • Different kinds of inequalities • Minimized instead of maximized • L. G. Kachian algorithm proved polynomial Artificial Variable Technique (The Big-M Method) Big-M Method of solving LPP The Big-M method of handling instances with artificial variables is the “commonsense approach”. Essentially, the notion is to make the artificial variables, through their coefficients in the objective function, so costly or unprofitable that any feasible solution to the real problem would be preferred....unless the original instance possessed no feasible solutions at all. But this means that we need to assign, in the objective function, coefficients to the artificial variables that are either very small (maximization problem) or very large (minimization problem); whatever this value,let us call it Big M. In fact, this notion is an old trick in optimization in general; we simply associate a penalty value with variables that we do not want to be part of an ultimate solution(unless such an outcome Is unavoidable). Indeed, the penalty is so costly that unless any of the respective variables' inclusion is warranted algorithmically, such variables will never be part of any feasible solution. This method removes artificial variables from the basis. Here, we assign a large undesirable (unacceptable penalty) coefficients to artificial variables from the objective function point of view. If the objective function (Z) is to be minimized, then a very large positive price (penalty, M) is assigned to each artificial variable and if Z is to be minimized, then a very large negative price is to be assigned. The penalty will be designated by +M for minimization problem and by – M for a maximization problem and also M>0. Example: Minimize Z= 600X1+500X2 subject to constraints, 2X1+ X2 >or= 80 X1+2X2 >or= 60 and X1,X2 >or= 0 Step1: Convert the LP problem into a system of linear equations. We do this by rewriting the constraint inequalities as equations by subtracting new “surplus & artificial variables" and assigning them zero & +M coefficientsrespectively in the objective function as shown below. So the Objective Function would be: Z=600X1+500X2+0.S1+0.S2+MA1+MA2 subject to constraints, 2X1+ X2-S1+A1 = 80 X1+2X2-S2+A2 = 60 X1,X2,S1,S2,A1,A2 >or= 0 Step 2: Obtain a Basic Solution to the problem. We do this by putting the decision variables X1=X2=S1=S2=0, so that A1= 80 and A2=60. These are the initial values of artificial variables. Step 3: Form the Initial Tableau as shown. Cj Basic Basic CB Variab Soln(XB) le (B) M M A1 A2 80 60 600 X1 500 X2 2 1 1 2 Zj 3M 3M Cj - Zj 600-3M 500-3M 0 0 M M Min.Ratio (XB/Pivotal Col.) S1 S2 A1 A2 -1 0 M M 0 -1 M M 1 0 M 0 0 80 1 60 M 0 It is clear from the tableau that X2 will enter and A2 will leave the basis. Hence 2 is the key element in pivotal column. Now,the new row operations are as follows: R2(New) = R2(Old)/2 R1(New) = R1(Old) - 1*R2(New) Cj 600 500 0 0 M Basic Basic CB Variab Soln(XB) le (B) X1 X2 S1 S2 A1 Min.Ratio (XB/Pivota l Col.) M 500 3 2 1 2 0 1 -1 0 1 2 - 1/2 1 0 100/3 60 500 M M/2-250 M 0 M 250-M/2 0 A1 X2 50 30 Zj 3M/2+250 Cj - Zj 350-3M/2 It is clear from the tableau that X1 will enter and A1 will leave the basis. Hence 2 is the key element in pivotal column. Now,the new row operations are as follows: R1(New) = R1(Old)*2/3 R2(New) = R2(Old) – (1/2)*R1(New) Cj CB 600 500 Basic Varia Basic ble Soln(XB) (B) X1 X2 100/3 40/3 Zj Cj - Zj 600 500 0 0 X1 X2 S1 S2 1 0 600 0 1 500 0 2 3 1 3 700 3 700 3 1 3 2 3 400 3 400 3 0 Min. Ratio (XB/P ivotal Col.) Since all the values of (Cj-Zj) are either zero or positive and also both the artificial variables have been removed, an optimum solution has been arrived at with X1=100/3 , X2=40/3 and Z=80,000/3. Unit II Dynamic Programming Characteristics and Examples 48 Overview • What is dynamic programming? • Examples • Applications 49 What is Dynamic Programming? • Design technique – ‘optimization’ problems (sequence of related decisions) – Programming does not mean ‘coding’ in this context, it means ‘solve by making a chart’- or ‘using an array to save intermediate steps”. Some books call this ‘memoization’ (see below) – Similar to Divide and Conquer BUT subproblem solutions are SAVED and NEVER recomputed – Principal of optimality: the optimal solution to the problem contains optimal solutions to the subproblems (Is this true for EVERYTHING?) 50 Characteristics • Optimal substructure – Unweighted shortest path? – Unweighted longest simple path? • Overlapping Subproblems – What happens in recursion (D&C) when this happens? • Memoization (not a typo!) – Saving solutions of subproblems (like we did in Fibonacci) to avoid recomputation 51 Examples • Matrix chain • Longest common subsequence (called the LCS problem” 52 Review of Technique • You have already applied dynamic programming and understand it why it may result in a good algorithm – Fibonacci – Ackermann – Combinations 53 Principal of Optimality • Often called the “optimality condition” • What it means in plain English: you apply the divide and conquer technique so the subproblems are SMALLER VERSIONS OF THE ORIGINAL PROBLEM: if you solve “optimize” the answer to the small problems , does that fact automatically mean that the solution to the big problem is also optimized????? If the answer is yes , then DP applies to his problem 54 Example 1 • Assume your problem is to draw a straight line between two points A and B. You solve this by divide and conquer by drawing a line from A to the midpoint and from the midpoint to B. QUESTION: if you paste the two smaller lines together will the RESULTING LINE FROM A TO B BE THE SHORTEST DISTANCE FROM A to B??? 55 Example 2 • Say you want to buy Halloween candy – 100 candy bars. You do plan to do this by divide and conquer – buying 10 sets of 10 bars. Is this necessarily less expensive per bar than just buying 2 packages of 50? Or perhaps 1 package of 100? 56 How To Apply DP • There are TWO ways to apply dynamic programming – METHOD 1: solve the problem at hand recursively, notice where the same subproblem is being ‘resolved’ and implement the algorithm as a TABLE (example: fibonacci) – METHOD 2: generate all feasible solutions to a problem but prune (eliminate) the solutions that cannot be optimal (example: shortest path) 57 Practice Is the Only Way to Learn This Technique • See class webpage for homework. • Do problems in textbook not assigned but for practice – even after term ends. It took me two years after I took this course before I could apply DP in the real world. 58 Dynamic programming Design technique, like divide-and-conquer. Example: Longest Common Subsequence (LCS) • Given two sequences x[1 . . m] and y[1 . . n], find a longest subsequence common to them both. “a” not “the” x: A B C B D A B BCBA = LCS(x, y) y: B D C A B A functional notation, but not a function 59 Review: Dynamic programming • DP is a method for solving certain kind of problems • DP can be applied when the solution of a problem includes solutions to subproblems • We need to find a recursive formula for the solution • We can recursively solve subproblems, starting from the trivial case, and save their solutions in memory • In the end we’ll get the solution of the whole problem 4/9/2015 60 Properties of a problem that can be solved with dynamic programming • Simple Subproblems – We should be able to break the original problem to smaller subproblems that have the same structure • Optimal Substructure of the problems – The solution to the problem must be a composition of subproblem solutions • Subproblem Overlap – Optimal subproblems to unrelated problems can contain subproblems in common 4/9/2015 61 Review: Longest Common Subsequence (LCS) • Problem: how to find the longest pattern of characters that is common to two text strings X and Y • Dynamic programming algorithm: solve subproblems until we get the final solution • Subproblem: first find the LCS of prefixes of X and Y. • this problem has optimal substructure: LCS of two prefixes is always a part of LCS of bigger strings 4/9/2015 62 Review: Longest Common Subsequence (LCS) continued • Define Xi, Yj to be prefixes of X and Y of length i and j; m = |X|, n = |Y| • We store the length of LCS(Xi, Yj) in c[i,j] • Trivial cases: LCS(X0 , Yj ) and LCS(Xi, Y0) is empty (so c[0,j] = c[i,0] = 0 ) • Recursive formula for c[i,j]: if x[i] y[ j ], c[i 1, j 1] 1 c[i, j ] max(c[i, j 1], c[i 1, j ]) otherwise c[m,n] is the final solution 4/9/2015 63 Review: Longest Common Subsequence (LCS) • After we have filled the array c[ ], we can use this data to find the characters that constitute the Longest Common Subsequence • Algorithm runs in O(m*n), which is much better than the brute-force algorithm: O(n 2m) 4/9/2015 64 0-1 Knapsack problem • Given a knapsack with maximum capacity W, and a set S consisting of n items • Each item i has some weight wi and benefit value bi (all wi , bi and W are integer values) • Problem: How to pack the knapsack to achieve maximum total value of packed items? 4/9/2015 65 0-1 Knapsack problem: a picture Weight Items This is a knapsack Max weight: W = 20 W = 20 4/9/2015 Benefit value wi bi 2 3 3 4 5 5 8 9 10 4 66 0-1 Knapsack problem • Problem, in other words, is to find max bi subject to wi W iT 4/9/2015 iT The problem is called a “0-1” problem, because each item must be entirely accepted or rejected. Just another version of this problem is the “Fractional Knapsack Problem”, where we can take fractions of items. 67 0-1 Knapsack problem: brute-force approach Let’s first solve this problem with a straightforward algorithm • Since there are n items, there are 2n possible combinations of items. • We go through all combinations and find the one with the most total value and with total weight less or equal to W • Running time will be O(2n) 4/9/2015 68 0-1 Knapsack problem: brute-force approach • Can we do better? • Yes, with an algorithm based on dynamic programming • We need to carefully identify the subproblems Let’s try this: If items are labeled 1..n, then a subproblem would be to find an optimal solution for Sk = {items labeled 1, 2, .. k} 4/9/2015 69 Defining a Subproblem If items are labeled 1..n, then a subproblem would be to find an optimal solution for Sk = {items labeled 1, 2, .. k} • This is a valid subproblem definition. • The question is: can we describe the final solution (Sn ) in terms of subproblems (Sk)? • Unfortunately, we can’t do that. Explanation follows…. 4/9/2015 70 Defining a Subproblem w1 =2 w2 b1 =3 =4 b2 =5 w3 =5 b3 =8 w3 =5 b3 =8 w4 =9 b4 =10 For S5: Total weight: 20 total benefit: 26 4/9/2015 wi bi 1 2 3 2 3 4 3 4 5 4 5 8 5 9 10 Item # ? Max weight: W = 20 For S4: Total weight: 14; total benefit: 20 w1 =2 w2 b1 =3 =4 b2 =5 Weight Benefit w4 =3 b4 =4 S4 S5 Solution for S4 is not part of the solution for S5!!! 71 Defining a Subproblem (continued) • As we have seen, the solution for S4 is not part of the solution for S5 • So our definition of a subproblem is flawed and we need another one! • Let’s add another parameter: w, which will represent the exact weight for each subset of items • The subproblem then will be to compute B[k,w] 4/9/2015 72 Recursive Formula for subproblems Recursive formula for subproblems: B[k 1, w] if wk w B[k , w] max{B[k 1, w], B[k 1, w wk ] bk } else • It means, that the best subset of Sk that has total weight w is one of the two: 1) the best subset of Sk-1 that has total weight w, or 2) the best subset of Sk-1 that has total weight w-wk plus the item k 4/9/2015 73 Recursive Formula B[k 1, w] if wk w B[k , w] max{B[k 1, w], B[k 1, w wk ] bk } else • The best subset of Sk that has the total weight w, either contains item k or not. • First case: wk>w. Item k can’t be part of the solution, since if it was, the total weight would be > w, which is unacceptable • Second case: wk <=w. Then the item k can be in the solution, and we choose the case with greater value 4/9/2015 74 0-1 Knapsack Algorithm for w = 0 to W B[0,w] = 0 for i = 0 to n B[i,0] = 0 for w = 0 to W if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 75 Running time for w = 0 to W O(W) B[0,w] = 0 for i = 0 to n Repeat n times B[i,0] = 0 for w = 0 to W O(W) < the rest of the code > What is the running time of this algorithm? O(n*W) Remember that the brute-force algorithm takes O(2n) 4/9/2015 76 Example Let’s run our algorithm on the following data: n = 4 (# of elements) W = 5 (max weight) Elements (weight, benefit): (2,3), (3,4), (4,5), (5,6) 4/9/2015 77 Example (2) i W 0 0 0 1 2 3 4 0 0 0 0 5 0 1 2 3 4 for w = 0 to W B[0,w] = 0 4/9/2015 78 Example (3) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 5 0 W for i = 0 to n B[i,0] = 0 4/9/2015 79 Example (4) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 5 0 W i=1 bi=3 wi=2 w=1 w-wi =-1 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 80 Example (5) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 3 5 0 W i=1 bi=3 wi=2 w=2 w-wi =0 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 81 Example (6) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 3 3 5 0 W i=1 bi=3 wi=2 w=3 w-wi=1 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 82 Example (7) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 3 3 3 5 0 W i=1 bi=3 wi=2 w=4 w-wi=2 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 83 Example (8) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 3 3 3 5 0 3 W i=1 bi=3 wi=2 w=5 w-wi=2 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 84 Example (9) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 3 3 3 0 5 0 3 W i=2 bi=4 wi=3 w=1 w-wi=-2 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 85 Example (10) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 3 3 3 0 3 5 0 3 W i=2 bi=4 wi=3 w=2 w-wi=-1 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 86 Example (11) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 3 3 3 0 3 4 5 0 3 W i=2 bi=4 wi=3 w=3 w-wi=0 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 87 Example (12) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 3 3 3 0 3 4 4 5 0 3 W i=2 bi=4 wi=3 w=4 w-wi=1 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 88 Example (13) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 3 3 3 0 3 4 4 5 0 3 7 W i=2 bi=4 wi=3 w=5 w-wi=2 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 89 Example (14) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 3 3 3 0 3 4 4 0 3 4 5 0 3 7 W i=3 bi=5 wi=4 w=1..3 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 90 Example (15) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 3 3 3 0 3 4 4 0 3 4 5 5 0 3 7 W i=3 bi=5 wi=4 w=4 w- wi=0 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 91 Example (15) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 3 3 3 0 3 4 4 0 3 4 5 5 0 3 7 7 W i=3 bi=5 wi=4 w=5 w- wi=1 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 92 Example (16) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 3 3 3 0 3 4 4 0 3 4 5 0 3 4 5 5 0 3 7 7 W i=3 bi=5 wi=4 w=1..4 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 93 Example (17) i 0 1 2 3 4 0 0 0 0 0 0 1 2 3 4 0 0 0 0 0 3 3 3 0 3 4 4 0 3 4 5 0 3 4 5 5 0 3 7 7 7 W i=3 bi=5 wi=4 w=5 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) if wi <= w // item i can be part of the solution if bi + B[i-1,w-wi] > B[i-1,w] B[i,w] = bi + B[i-1,w- wi] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // wi > w 4/9/2015 94 Comments • This algorithm only finds the max possible value that can be carried in the knapsack • To know the items that make this maximum value, an addition to this algorithm is necessary • Please see LCS algorithm from the previous lecture for the example how to extract this data from the table we built 4/9/2015 95 Conclusion • Dynamic programming is a useful technique of solving certain kind of problems • When the solution can be recursively described in terms of partial solutions, we can store these partial solutions and re-use them as necessary • Running time (Dynamic Programming algorithm vs. naïve algorithm): – LCS: O(m*n) vs. O(n * 2m) – 0-1 Knapsack problem: O(W*n) vs. O(2n) 4/9/2015 96 Unit III Network Models Chapter Outline 12.1 Introduction 12.2 Minimal-Spanning Tree Technique 12.3 Maximal-Flow Technique 12.4 Shortest-Route technique Learning Objectives Students will be able to – Connect all points of a network while minimizing total distance using the minimal-spanning tree technique. – Determine the maximum flow through a network using the maximal-flow technique. – Find the shortest path through a network using the shortest-route technique. – Understand the important role of software in solving network problems. Minimal-Spanning Tree Technique • Determines the path through the network that connects all the points while minimizing total distance. Minimal-Spanning Tree Steps 1. Select any node in the network. 2. Connect this node to the nearest node that minimizes the total distance. 3. Considering all of the nodes that are now connected, find and connect the nearest node that is not connected. 4. Repeat the third step until all nodes are connected. 5. If there is a tie in the third step and two or more nodes that are not connected are equally near, arbitrarily select one and continue. A tie suggests that there might be more than one optimal solution. Minimal-Spanning Tree Lauderdale Construction 2 3 1 3 5 3 2 5 2 8 3 6 2 4 7 7 3 5 4 6 1 Minimal-Spanning Tree Iterations 1&2 2 3 1 3 5 3 2 5 Second Iteration First Iteration 2 8 3 6 2 4 7 7 3 5 4 6 1 2 3 1 3 5 5 3 2 2 8 3 6 2 4 7 7 3 5 4 6 1 Minimal-Spanning Tree Iterations 3&4 2 3 1 3 5 3 2 5 Third Iteration 2 8 3 6 2 4 7 7 3 5 4 6 1 2 3 1 3 5 5 3 2 Fourth Iteration 2 8 3 6 2 4 7 7 3 5 4 6 1 Minimal-Spanning Tree Iterations 4&5 2 3 1 3 5 5 3 2 2 8 3 6 2 4 Fourth Iteration 7 7 3 5 4 6 1 2 3 1 3 5 5 3 2 Fifth Iteration 2 8 3 6 2 4 7 7 3 5 4 6 1 Minimal-Spanning Tree Iterations 6&7 2 3 1 3 5 3 2 5 Sixth iteration 2 8 3 6 2 4 7 7 3 5 4 6 1 Seventh & final iteration Minimum Distance: 16 2 3 1 3 5 5 3 2 2 8 3 6 2 4 7 7 3 5 4 6 1 The Maximal-Flow Technique 1. Pick any path (streets from west to east) with some flow. 2. Increase the flow (number of cars) as much as possible. 3. Adjust the flow capacity numbers on the path (streets). 4. Repeat the above steps until an increase in flow is no longer possible. Maximal-Flow Road Network for Waukesha 2 1 2 1 2 3 West Point 1 6 1 2 0 0 1 1 10 1 4 6 0 3 3 2 5 1 East Point Maximal-Flow Road Network for Waukesha Add 2 2 1 2 1 Subtract 2 3 West Point 1 2 2 6 1 0 0 1 1 10 1 4 6 0 3 3 2 5 1 East Point Road Network for Waukesha First Iteration Add 1 0 3 2 1 4 1 West Point 1 6 1 2 0 0 1 1 10 1 4 Subtract 1 6 0 5 3 1 3 2 12-110 East Point Road Network for Waukesha Second Iteration 0 4 2 0 4 0 West Point 6 2 1 2 0 0 2 0 10 1 0 4 Subtract 2 3 3 2 6 1 Add 2 5 East Point Road Network for Waukesha Third Iteration 0 4 2 0 West Point 4 0 1 6 2 2 2 0 2 0 8 1 East Point 4 Path 4 2 3 3 0 5 3 1-2-6 1-2-4-6 1-3-5-6 Total Flow (Cars Per Hour) 200 100 200 500 The Shortest-Route Technique • 1. Find the nearest node to the origin (plant). Put the distance in a box by the node. – In some cases, several paths will have to be checked to find the nearest node. • 2. Repeat this process until you have gone through the entire network. The last distance at the ending node will be the distance of the shortest route. You should note that the distances placed in the boxes by each node are the shortest route to this node. These distances are used as intermediate results in finding the next nearest node. Shortest-Route Problem Ray Design, Inc. Roads from Ray’s Plant to the Warehouse 4 2 200 100 100 Plant 1 50 100 150 200 6 100 3 40 5 Warehouse Ray Design, Inc. First Iteration 100 4 2 200 100 100 Plant 1 50 100 150 200 6 100 3 40 5 Warehouse Ray Design, Inc. Second Iteration 100 4 2 200 100 100 Plant 1 50 100 150 200 6 100 3 150 40 5 Warehouse Ray Design, Inc. Third Iteration 100 4 2 200 100 100 Plant 1 50 100 150 200 6 100 3 150 40 5 190 Warehouse Ray Design, Inc. Fourth Iteration 100 4 2 200 100 100 290 Plant 1 50 100 150 200 6 100 3 150 40 5 190 Warehouse Project Management - CPM/PERT Project Scheduling and Control Techniques Gantt Chart Critical Path Method (CPM) Program Evaluation and Review Technique (PERT) 120 History of CPM/PERT • Critical Path Method (CPM) – E I Du Pont de Nemours & Co. (1957) for construction of new chemical plant and maintenance shut-down – Deterministic task times – Activity-on-node network construction – Repetitive nature of jobs • Project Evaluation and Review Technique (PERT) – – – – U S Navy (1958) for the POLARIS missile program Multiple task time estimates (probabilistic nature) Activity-on-arrow network construction Non-repetitive jobs (R & D work) 121 Project Network • Network analysis is the general name given to certain specific techniques which can be used for the planning, management and control of projects • Use of nodes and arrows Arrows An arrow leads from tail to head directionally – Indicate ACTIVITY, a time consuming effort that is required to perform a part of the work. Nodes A node is represented by a circle - Indicate EVENT, a point in time where one or more activities start and/or finish. • Activity – A task or a certain amount of work required in the project – Requires time to complete – Represented by an arrow • Dummy Activity – Indicates only precedence relationships – Does not require any time of effort 122 CPM calculation • Path – A connected sequence of activities leading from the starting event to the ending event • Critical Path – The longest path (time); determines the project duration • Critical Activities – All of the activities that make up the critical path 123 Forward Pass • Earliest Start Time (ES) – earliest time an activity can start – ES = maximum EF of immediate predecessors • Earliest finish time (EF) – earliest time an activity can finish – earliest start time plus activity time EF= ES + t Backward Pass Latest Start Time (LS) Latest time an activity can start without delaying critical path time LS= LF - t Latest finish time (LF) latest time an activity can be completed without delaying critical path time LS = minimum LS of immediate predecessors 124 CPM analysis • Draw the CPM network • Analyze the paths through the network • Determine the float for each activity – Compute the activity’s float float = LS - ES = LF - EF – Float is the maximum amount of time that this activity can be delay in its completion before it becomes a critical activity, i.e., delays completion of the project • Find the critical path is that the sequence of activities and events where there is no “slack” i.e.. Zero slack – Longest path through a network • Find the project duration is minimum project completion time 125 Consider below table summarizing the details of a project involving 10 activities Activity Immediate precedence duration a 6 b 8 c 5 d b 13 e c 9 f a 15 g a 17 h f 9 i g 6 j d,e 12 Construct the CPM network. Determine the critical path and project completion time .Also compute total float and free floats for the126non- CPM Example: • CPM Network f, 15 h, 9 g, 17 a, 6 i, 6 b, 8 d, 13 j, 12 c, 5 e, 9 127 CPM Example • ES and EF Times f, 15 h, 9 g, 17 a, 6 0 6 i, 6 b, 8 0 8 d, 13 j, 12 c, 5 0 5 e, 9 128 CPM Example • ES and EF Times f, 15 6 21 h, 9 g, 17 a, 6 0 6 6 23 i, 6 b, 8 0 8 c, 5 0 5 d, 13 j, 12 8 21 e, 9 5 14 129 CPM Example • ES and EF Times f, 15 6 21 g, 17 a, 6 0 6 6 23 i, 6 23 29 h, 9 21 30 b, 8 0 8 c, 5 0 5 d, 13 8 21 e, 9 5 14 j, 12 21 33 Project’s EF = 33 130 CPM Example • LS and LF Times a, 6 0 6 b, 8 0 8 c, 5 0 5 f, 15 6 21 g, 17 6 23 d, 13 8 21 i, 6 23 29 27 33 h, 9 21 30 24 33 j, 12 21 33 21 33 e, 9 5 14 131 CPM Example • LS and LF Times a, 6 0 6 4 10 b, 8 0 8 0 8 c, 5 0 5 7 12 f, 15 6 21 18 24 g, 17 6 23 10 27 d, 13 8 21 8 21 e, 9 5 14 12 21 i, 6 23 29 27 33 h, 9 21 30 24 33 j, 12 21 33 21 33 132 CPM Example • Float a, 6 3 0 6 3 9 b, 8 0 0 8 0 8 c, 5 7 0 5 7 12 f, 15 3 6 21 9 24 g, 17 4 6 23 10 27 d, 13 0 8 21 8 21 h, 9 3 21 30 24 33 i, 6 4 23 29 27 33 j, 12 0 21 33 21 33 e, 9 7 5 14 12 21 133 CPM Example • Critical Path f, 15 h, 9 g, 17 a, 6 i, 6 b, 8 d, 13 j, 12 c, 5 e, 9 134 PERT • PERT is based on the assumption that an activity’s duration follows a probability distribution instead of being a single value • Three time estimates are required to compute the parameters of an activity’s duration distribution: – pessimistic time (tp ) - the time the activity would take if things did not go well – most likely time (tm ) - the consensus best estimate of the activity’s duration – optimistic time (to ) - the time the activity would take if things did go well Mean (expected time): te = tp + 4 tm + to 6 2 Variance: Vt = = 2 darla/smbs/vit tp - to 6 135 PERT analysis • Draw the network. • Analyze the paths through the network and find the critical path. • The length of the critical path is the mean of the project duration probability distribution which is assumed to be normal • The standard deviation of the project duration probability distribution is computed by adding the variances of the critical activities (all of the activities that make up the critical path) and taking the square root of that sum • Probability computations can now be made using the normal distribution table. 136 Probability computation Determine probability that project is completed within specified time x- Z= where = tp = project mean time = project standard mean time x = (proposed ) specified time 137 Normal Distribution of Project Time Probability Z = tp x Time 138 PERT Example Immed. Optimistic Most Likely Pessimistic Activity Predec. Time (Hr.) Time (Hr.) Time (Hr.) A -4 6 8 B -1 4.5 5 C A 3 3 3 D A 4 5 6 E A 0.5 1 1.5 F B,C 3 4 5 G B,C 1 1.5 5 H E,F 5 6 7 I E,F 2 5 8 J D,H 2.5 2.75 4.5 K G,I 3 5 7 139 PERT Example PERT Network D A E H J C B I F K G 140 PERT Example Activity A B C D E F G H I J K Expected Time 6 4 3 5 1 4 2 6 5 3 5 Variance 4/9 4/9 0 1/9 1/36 1/9 4/9 1/9 1 1/9 4/9 141 PERT Example Activity ES A B C D E 0 0 6 6 6 F G H I J K 9 9 13 13 19 18 EF 6 4 9 11 7 13 11 19 18 22 23 LS LF 0 5 6 15 12 9 16 14 13 20 18 Slack 6 9 9 20 13 13 18 20 18 23 23 0 *critical 5 0* 9 6 0* 7 1 0* 1 0* 142 PERT Example Vpath = VA + VC + VF + VI + VK = 4/9 + 0 + 1/9 + 1 + 4/9 = 2 path = 1.414 z = (24 - 23)/(24-23)/1.414 = .71 From the Standard Normal Distribution table: P(z < .71) = .5 + .2612 = .7612 143 PROJECT COST Cost consideration in project • Project managers may have the option or requirement to crash the project, or accelerate the completion of the project. • This is accomplished by reducing the length of the critical path(s). • The length of the critical path is reduced by reducing the duration of the activities on the critical path. • If each activity requires the expenditure of an amount of money to reduce its duration by one unit of time, then the project manager selects the least cost critical activity, reduces it by one time unit, and traces that change through the remainder of the network. • As a result of a reduction in an activity’s time, a new critical path may be created. • When there is more than one critical path, each of the critical paths must be reduced. • If the length of the project needs to be reduced further, the process is repeated. 145 Project Crashing • Crashing – reducing project time by expending additional resources • Crash time – an amount of time an activity is reduced • Crash cost – cost of reducing activity time • Goal – reduce project duration at minimum cost 146 Time-Cost Relationship Crashing costs increase as project duration decreases Indirect costs increase as project duration increases Reduce project length as long as crashing costs are less than indirect costs Time-Cost Tradeoff Min total cost = optimal project time Total project cost Indirect cost Direct cost time 147 Benefits of CPM/PERT • • • • • Useful at many stages of project management Mathematically simple Give critical path and slack time Provide project documentation Useful in monitoring costs CPM/PERT can answer the following important questions: •How long will the entire project take to be completed? What are the risks involved? •Which are the critical activities or tasks in the project which could delay the entire project if they were not completed on time? •Is the project on schedule, behind schedule or ahead of schedule? •If the project has to be finished earlier than planned, what is the best way to do this at the least cost? 148 Limitations to CPM/PERT • • • • • • Clearly defined, independent and stable activities Specified precedence relationships Over emphasis on critical paths Deterministic CPM model Activity time estimates are subjective and depend on judgment PERT assumes a beta distribution for these time estimates, but the actual distribution may be different • PERT consistently underestimates the expected project completion time due to alternate paths becoming critical To overcome the limitation, Monte Carlo simulations can be performed on the network to eliminate the optimistic bias 149 PERT vs CPM CPM PERT CPM uses activity oriented network. PERT uses event oriented Network. Durations of activity may be estimated with a fair degree of accuracy. Estimate of time for activities are not so accurate and definite. It is used extensively in construction projects. It is used mostly in research and development projects, particularly projects of non-repetitive nature. Deterministic concept is used. Probabilistic model concept is used. CPM can control both time and cost when planning. PERT is basically a tool for planning. In CPM, cost optimization is given prime importance. The time for the completion of the project depends upon cost optimization. The cost is not directly proportioned to time. Thus, cost is the In PERT, it is assumed that cost varies directly with time. Attention is therefore given to minimize the time so that minimum cost results. Thus in PERT, time 150 is the controlling factor. Unit IV Inventory Management The objective of inventory management is to strike a balance between inventory investment and customer service Inventory control It means stocking adequate number and kind of stores, so that the materials are available whenever required and wherever required. Scientific inventory control results in optimal balance What is inventory? Inventory is the raw materials, component parts, work-in-process, or finished products that are held at a location in the supply chain. Input Material Management department Inventory (money) Goods in stores Work-in-progress Finished products Equipment etc. Basic inventory model Output Production department Zero Inventory? • Reducing amounts of raw materials and purchased parts and subassemblies by having suppliers deliver them directly. • Reducing the amount of works-in process by using just-in-time production. • Reducing the amount of finished goods by shipping to markets as soon as possible. Importance of Inventory One of the most expensive assets of many companies representing as much as 50% of total invested capital Operations managers must balance inventory investment and customer service FUNCTIONS OF INVENTORY • To meet anticipated demand. • To smoothen production requirements. • To decouple operations. INVENTORY SUPPLY PROCESS PRODUCTS DEMAND PRODUCTS DEMAND DEMAND PROCESS Functions Of Inventory (Cont’d) • To protect against stock-outs. • To take advantage of order cycles. • To help hedge against price increases. • To permit operations. • To take advantage of quantity discounts. Types of Inventory Raw material Purchased but not processed Work-in-process Undergone some change but not completed A function of cycle time for a product Maintenance/repair/operating (MRO) Necessary to keep machinery and processes productive Finished goods Completed product awaiting shipment The Material Flow Cycle Cycle time 95% Input Wait for inspection Wait to be moved Move Wait in queue Setup time for operator time 5% Run time Output Safety stock = (safety factor z)(std deviation in LT demand) Service level Probability of stock-out Safety Stock Read z from Normal table for a given service level Average Inventory = (Order Qty)/2 + Safety Stock Inventory Level Order Quantity EOQ/2 Safety Stock (SS) Lead Time Place order Receive order Time Average Inventory Managing Inventory 1. How inventory items can be classified 2. How accurate inventory records can be maintained Inventory Models for Independent Demand Need to determine when and how much to order 1. Basic economic order quantity 2. Production order quantity 3. Quantity discount model Economic order of quantity EOQ = Average Monthly Consumption X Lead Time [in months] + Buffer Stock – Stock on hand ECONOMIC ORDER OF QUANTITY(EOQ) PURCHASING COST CARRYING COST •Re-order level: stock level at which fresh order is placed. •Average consumption per day x lead time + buffer stock •Lead time: Duration time between placing an order & receipt of material •Ideal – 2 to 6 weeks. Basic EOQ Model Important assumptions 1. Demand is known, constant, and independent 2. Lead time is known and constant 3. Receipt of inventory is instantaneous and complete 4. Quantity discounts are not possible 5. Only variable costs are setup and holding 6. Stockouts can be completely avoided An EOQ Example Determine optimal number of needles to order D = 1,000 units S = $10 per order H = $.50 per unit per year Q* = 2DS H Q* = 2(1,000)(10) = 0.50 40,000 = 200 units An EOQ Example Determine optimal number of needles to order D = 1,000 units Q* = 200 units S = $10 per order H = $.50 per unit per year Expected Demand D number of = N = = Order quantity Q* orders 1,000 N= = 5 orders per year 200 An EOQ Example Determine optimal number of needles to order D = 1,000 units Q* = 200 units S = $10 per order N = 5 orders per year H = $.50 per unit per year Number of working Expected time days per year between orders = T = N T= 250 = 50 days between orders 5 Classification of Materials for Inventory Control Classification Criteria A-B-C Annual value of consumption of the items V-E-D Critical nature of the components with respect to products. H-M-L Unit price of material F-S-N Issue from stores S-D-E Purchasing problems in regard to availability S-O-S Seasonality G-O-L-F X-Y-Z Channel for procuring the material Inventory value of items stored Relevant Inventory Costs Holding costs - the costs of holding or “carrying” inventory over time Ordering costs - the costs of placing an order and receiving goods Setup costs - cost to prepare a machine or process for manufacturing an order Ordering Costs • • • • • Stationary Clerical and processing, salaries/rentals Postage Processing of bills Staff work in expedition /receiving/ inspection and documentation Holding/Carrying Costs • • • • • • • • Storage space (rent/depreciation) Property tax on warehousing Insurance Deterioration/Obsolescence Material handling and maintenance, equipment Stock taking, security and documentation Capital blocked (interest/opportunity cost) Quality control Stock out Costs • Loss of business/ profit/ market/ advise • Additional expenditure due to urgency of purchases a) telegraph / telephone charges b) purchase at premium c) air transport charges • Loss of labor hours Balancing Carrying against Ordering Costs Higher Annual Cost ($) Minimum Total Annual Stocking Costs Lower Total Annual Stocking Costs Annual Carrying Costs Annual Ordering Costs Smaller EOQ Larger Order Quantity 16 Unit V Queuing Theory Outlines Introduction Single server model Multi server model Introduction • Involves the mathematical study of queues or waiting line. • The formulation of queues occur whenever the demand for a service exceeds the capacity to provide that service. • Decisions regarding the amount of capacity to provide must be made frequently in industry and elsewhere. • Queuing theory provides a means for decision makers to study and analyze characteristics of the service facility for making better decisions. Basic structure of queuing model • Customers requiring service are generated over time by an input source. • These customers enter the queuing system and join a queue. • At certain times, a member of the queue is selected for service by some rule know as the service disciple. • The required service is then performed for the customer by the service mechanism, after which the customer leaves the queuing system The basic queuing process Queuing system Input source Customer s Queue Service mechanis m Served Customer s Characteristics of queuing models • • • • • • Input or arrival (interarrival) distribution Output or departure (service) distribution Service channels Service discipline Maximum number of customers allowed in the system Calling source Kendall and Lee’s Notation Kendall and Lee introduced a useful notation representing the 6 basic characteristics of a queuing model. Notation: a/b/c/d/e/f where a = arrival (or interarrival) distribution b = departure (or service time) distribution c = number of parallel service channels in the system d = service disciple e = maximum number allowed in the system (service + waiting) f = calling source Conventional Symbols for a, b M = Poisson arrival or departure distribution (or equivalently exponential distribution or service times distribution) D = Deterministic interarrival or service times Ek = Erlangian or gamma interarrival or service time distribution with parameter k GI = General independent distribution of arrivals (or interarrival times) G = General distribution of departures (or service times) Conventional Symbols for d • • • • FCFS = First come, first served LCFS = Last come, first served SIRO = Service in random order GD = General service disciple Transient and Steady States Transient state • The system is in this state when its operating characteristics vary with time. • Occurs at the early stages of the system’s operation where its behavior is dependent on the initial conditions. Steady state • The system is in this state when the behavior of the system becomes independent of time. • Most attention in queuing theory analysis has been directed to the steady state results. Queuing Model Symbols n = Number of customers in the system s = Number of servers pn(t) = Transient state probabilities of exactly n customers in the system at time t pn = Steady state probabilities of exactly n customers in the system λ = Mean arrival rate (number of customers arriving per unit time) μ = Mean service rate per busy server (number of customers served per unit time) Queuing Model Symbols (Cont’d) ρ = λ/μ = Traffic intensity W = Expected waiting time per customer in the system Wq = Expected waiting time per customer in the queue L = Expected number of customers in the system Lq = Expected number of customers in the queue Relationship Between L and W If λn is a constant λ for all n, it can be shown that L = λW Lq = λ Wq If λn are not constant then λ can be replaced in the above equations by λbar,the average arrival rate over the long run. If μn is a constant μ for all n, then W = Wq + 1/μ Relationship Between L and W (cont’d) These relationships are important because: • They enable all four of the fundamental quantities L, W, Lq and Wq to be determined as long as one of them is found analytically. • The expected queue lengths are much easier to find than that of expected waiting times when solving a queuing model from basic principles. Single server queuing models • M/M/1/FCFS/∞/∞ Model when the mean arrival rate λn and mean service μn are all constant we have n cn n , for n 1,2,... T herefore p n n p0 , for n 1,2,... where 1 p0 1 1 n 1 1 1 1 n n 0 n 1 T hus pn 1 n , for n 1,2,... Single server queuing models (cont’d) Consequently n d L n(1 ) n (1 ) n 0 n 0 d d n d 1 (1 ) (1 ) d n 0 d 1 1 1 Single server queuing models (cont’d) Similarly 2 Lq (n 1) pn L 1 p0 ( ) n 1 T heexpectedwaiting timeis 1 L W Lq Wq Multi server queuing models • M/M/s/FCFS/∞/∞ Model When the mean arrival rate λn and mean service μn, are all constant, we have the following rate diagram Multi server queuing models (cont’d) In this case we have n n 1,2, , s n! cn n n s, s 1, s! s n s T herefore n p0 n 1,2, , s where p0 n ! pn n p n s, s 1, s! s n s 0 1 n n! s s!1 s Multi server queuing models (cont’d) It follows t hat s 1 Lq ( s 1)!( s ) L Lq Wq Lq W Wq 1 2 p0 Thank You 198