Download presentation

Presentation is loading. Please wait.

Published byElsa Albany Modified about 1 year ago

1
Prepared by Mr. Prabhu Assistant Professor, Mechanical Department VelTech Dr.RR & Dr.SR Technical University 1 Operation and Planning Control U7MEA37

2
Unit I Linear programming 2

3
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.”

4
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

5
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

6
Methodology of Operations Research* The Seven Steps to a Good OR Analysis Identify the Problem or Opportunity Understand the System Formulate a Mathematical Model Verify the Model Select the Best Alternative Implement and Evaluate Present the Results of the Analysis

7
Methodology of Operations Research* The Seven Steps to a Good OR Analysis Identify the Problem or Opportunity Understand the System Formulate a Mathematical Model Verify the Model Select the Best Alternative Implement and Evaluate Present the Results of the Analysis What are the objectives? Is the proposed problem too narrow? Is it too broad?

8
Methodology of Operations Research* The Seven Steps to a Good OR Analysis Identify the Problem or Opportunity Understand the System Formulate a Mathematical Model Verify the Model Select the Best Alternative Implement and Evaluate Present the Results of the Analysis What data should be collected? How will data be collected? How do different components of the system interact with each other?

9
Methodology of Operations Research* The Seven Steps to a Good OR Analysis Identify the Problem or Opportunity Understand the System Formulate a Mathematical Model Verify the Model Select the Best Alternative Implement and Evaluate Present the Results of the Analysis What kind of model should be used? Is the model accurate? Is the model too complex?

10
Methodology of Operations Research* The Seven Steps to a Good OR Analysis Identify the Problem or Opportunity Understand the System Formulate a Mathematical Model Verify the Model Select the Best Alternative Implement and Evaluate Present the Results of the Analysis Do outputs match current observations for current inputs? Are outputs reasonable? Could the model be erroneous?

11
Methodology of Operations Research* The Seven Steps to a Good OR Analysis Identify the Problem or Opportunity Understand the System Formulate a Mathematical Model Verify the Model Select the Best Alternative Implement and Evaluate Present the Results of the Analysis What if there are conflicting objectives? Inherently the most difficult step. This is where software tools will help us!

12
Methodology of Operations Research* The Seven Steps to a Good OR Analysis Identify the Problem or Opportunity Understand the System Formulate a Mathematical Model Verify the Model Select the Best Alternative Implement and Evaluate Present the Results of the Analysis Must communicate results in layman’s terms. System must be user friendly!

13
Methodology of Operations Research* The Seven Steps to a Good OR Analysis Identify the Problem or Opportunity Understand the System Formulate a Mathematical Model Verify the Model Select the Best Alternative Implement and Evaluate Present the Results of the Analysis Users must be trained on the new system. System must be observed over time to ensure it works properly.

14
Linear Programming 14

15
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

16
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

17
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 Introduction to Linear Programming

18
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

19
Assumptions of Linear Programming The decision variables are continuous or divisible, meaning that eggs or 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

20
Methodology of Linear Programming Determine and define the decision variables Formulate an objective function verbal characterization Mathematical characterization Formulate each constraint 20

21
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

22
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 8X1 + 5X2 (The profit contributions are additive because of the linearity assumption) 22

23
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) X j > = 0, j = 1,2 (Nonnegativity) 23

24
3.4 The Set of Feasible Solutions for Linear Programs 24 The set of all points that satisfy all the constraints of the model is called a FEASIBLE REGION

25
Using a graphical presentation we can represent all the constraints, the objective function, and the three types of feasible points. 25

26
The Plastic constraint Feasible The plastic constraint: 2X1+X2<=1200 X2 Infeasible Production Time 3X1+4X2<=2400 Total production constraint: X1+X2<= Production mix constraint: X1-X2<=450 There are three types of feasible points Interior points. Boundary points. Extreme points. X1

27
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)

28
Important Note Linear programming requires linear inequalities In other words, first degree inequalities only! Good: ax + by + cz < 3 Bad: ax 2 + log 2 y > 7

29
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

30
Traditional Method Graph the inequalities Look at the line we're trying to maximize. x = 1.71 y =.86 z = 4.29

31
Problems... More variables? Cannot eyeball the answer?

32
Simplex Method George B. Dantzig in 1951 Need to convert equations Slack variables

33
Performing the Conversion -z + 2x + y = 0 (Objective Equation) s 1 + x + 5y = 8 s 2 + 2x + 3y = 6 s 3 + 3x + y = 6 Initial feasible solution

34
More definitions Non-basic: x, y Basic variables: s 1, s 2, s 3, z Current Solution: Set non-basic variables to 0 -z + 2x + y = 0 => z = 0 Valid, but not good!

35
Next step... Select a non-basic variable – -z + 2 x + 1 y = 0 – x has the higher coefficient Select a basic variable – s 1 + 1x + 5y = 8 1/8 – s x + 3y = 6 2/6 – s x + y = 6 3/6 3/6 is the highest, use equation with s 3

36
New set of equations Solve for x – x = 2 - (1/3)s 3 -(1/3)y Substitute in to other equations to get... – -z – (2/3)s 3 +(1/3)y = -4 – s 1 – (1/3)s 3 + (14/3)y = 6 – s 2 – (2/3)s 3 +(7/3)y = 2 – x + (1/3)s 3 +(1/3)y = 2

37
Redefine everything... Update variables Non-Basic: s 3 and y Basic: s 1, s 2, z, and x Current Solution: – -z – (2/3)s 3 +(1/3)y = -4 => z = 4 – x + (1/3)s 3 +(1/3)y = 2 => x = 2 – y = 0 Better, but not quite there.

38
Do it again! Repeat this process Stop repeating when the coefficients in the objective equation are all negative.

39
Improvements Different kinds of inequalities Minimized instead of maximized L. G. Kachian algorithm proved polynomial

40
Artificial Variable Technique (The Big-M Method)

41
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).

42
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.

43
Example: Minimize Z= 600X X 2 subject to constraints, 2X 1 + X 2 >or= 80 X 1 +2X 2 >or= 60 and X 1,X 2 >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=600X X 2 +0.S 1 +0.S 2 +MA 1 +MA 2 subject to constraints, 2X 1 + X 2 -S 1 +A 1 = 80 X 1 +2X 2 -S 2 +A 2 = 60 X 1,X 2,S 1,S 2,A 1,A 2 >or= 0

44
Step 2: Obtain a Basic Solution to the problem. We do this by putting the decision variables X 1 =X 2 =S 1 =S 2 =0, so that A 1 = 80 and A 2 =60. These are the initial values of artificial variables. Step 3: Form the Initial Tableau as shown.

45
It is clear from the tableau that X 2 will enter and A 2 will leave the basis. Hence 2 is the key element in pivotal column. Now,the new row operations are as follows: R 2 (New) = R 2 (Old)/2 R 1 (New) = R 1 (Old) - 1*R 2 (New)

46
It is clear from the tableau that X 1 will enter and A 1 will leave the basis. Hence 2 is the key element in pivotal column. Now,the new row operations are as follows: R 1 (New) = R 1 (Old)*2/3 R 2 (New) = R 2 (Old) – (1/2)*R 1 (New)

47
Since all the values of (C j -Z j ) are either zero or positive and also both the artificial variables have been removed, an optimum solution has been arrived at with X 1 =100/3, X 2 =40/3 and Z=80,000/3.

48
48 Unit II Dynamic Programming Characteristics and Examples

49
49 Overview What is dynamic programming? Examples Applications

50
50 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?)

51
51 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

52
52 Examples Matrix chain Longest common subsequence (called the LCS problem”

53
53 Review of Technique You have already applied dynamic programming and understand it why it may result in a good algorithm – Fibonacci – Ackermann – Combinations

54
54 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

55
55 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???

56
56 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?

57
57 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 ‘re- solved’ 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)

58
58 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.

59
59 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. x:x:ABCBDAB y:y:BDCABA “a” not “the” BCBA = LCS(x, y) functional notation, but not a function

60
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 5/2/201560

61
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 5/2/201561

62
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 5/2/201562

63
Review: Longest Common Subsequence (LCS) continued Define X i, Y j to be prefixes of X and Y of length i and j; m = |X|, n = |Y| We store the length of LCS(X i, Y j ) in c[i,j] Trivial cases: LCS(X 0, Y j ) and LCS(X i, Y 0 ) is empty (so c[0,j] = c[i,0] = 0 ) Recursive formula for c[i,j]: 5/2/ c[m,n] is the final solution

64
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 2 m ) 5/2/201564

65
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 w i and benefit value b i (all w i, b i and W are integer values) Problem: How to pack the knapsack to achieve maximum total value of packed items? 5/2/201565

66
0-1 Knapsack problem: a picture 5/2/ W = 20 wiwi bibi WeightBenefit value This is a knapsack Max weight: W = 20 Items

67
0-1 Knapsack problem Problem, in other words, is to find 5/2/ n The problem is called a “0-1” problem, because each item must be entirely accepted or rejected. n Just another version of this problem is the “Fractional Knapsack Problem”, where we can take fractions of items.

68
0-1 Knapsack problem: brute-force approach Let’s first solve this problem with a straightforward algorithm Since there are n items, there are 2 n 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(2 n ) 5/2/201568

69
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 5/2/ Let’s try this: If items are labeled 1..n, then a subproblem would be to find an optimal solution for S k = {items labeled 1, 2,.. k}

70
Defining a Subproblem If items are labeled 1..n, then a subproblem would be to find an optimal solution for S k = {items labeled 1, 2,.. k} This is a valid subproblem definition. The question is: can we describe the final solution (S n ) in terms of subproblems (S k )? Unfortunately, we can’t do that. Explanation follows…. 5/2/201570

71
Defining a Subproblem 5/2/ Max weight: W = 20 For S 4 : Total weight: 14; total benefit: 20 w 1 =2 b 1 =3 w 2 =4 b 2 =5 w 3 =5 b 3 =8 w 4 =3 b 4 =4 wiwi bibi WeightBenefit 9 Item # S4S4 S5S5 w 1 =2 b 1 =3 w 2 =4 b 2 =5 w 3 =5 b 3 =8 w 4 =9 b 4 =10 For S 5 : Total weight: 20 total benefit: 26 Solution for S 4 is not part of the solution for S 5 !!! ?

72
Defining a Subproblem (continued) As we have seen, the solution for S 4 is not part of the solution for S 5 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] 5/2/201572

73
Recursive Formula for subproblems It means, that the best subset of S k that has total weight w is one of the two: 1) the best subset of S k-1 that has total weight w, or 2) the best subset of S k-1 that has total weight w-w k plus the item k 5/2/ n Recursive formula for subproblems:

74
Recursive Formula The best subset of S k that has the total weight w, either contains item k or not. First case: w k >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: w k <=w. Then the item k can be in the solution, and we choose the case with greater value 5/2/201574

75
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 w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w 5/2/201575

76
Running time for w = 0 to W B[0,w] = 0 for i = 0 to n B[i,0] = 0 for w = 0 to W 5/2/ What is the running time of this algorithm? O(W) Repeat n times O(n*W) Remember that the brute-force algorithm takes O(2 n )

77
Example 5/2/ 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)

78
Example (2) 5/2/ for w = 0 to W B[0,w] = W i

79
Example (3) 5/2/ for i = 0 to n B[i,0] = W i

80
Example (4) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=1 b i =3 w i =2 w=1 w-w i =-1 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) 4 0

81
Example (5) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=1 b i =3 w i =2 w=2 w-w i =0 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6) 4 0 3

82
Example (6) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=1 b i =3 w i =2 w=3 w-w i =1 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6)

83
Example (7) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=1 b i =3 w i =2 w=4 w-w i =2 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6)

84
Example (8) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=1 b i =3 w i =2 w=5 w-w i =2 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6)

85
Example (9) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=2 b i =4 w i =3 w=1 w-w i =-2 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6)

86
Example (10) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=2 b i =4 w i =3 w=2 w-w i =-1 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6)

87
Example (11) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=2 b i =4 w i =3 w=3 w-w i =0 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6)

88
Example (12) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=2 b i =4 w i =3 w=4 w-w i =1 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6)

89
Example (13) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=2 b i =4 w i =3 w=5 w-w i =2 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6)

90
Example (14) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=3 b i =5 w i =4 w=1..3 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6)

91
Example (15) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=3 b i =5 w i =4 w=4 w- w i =0 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6)

92
Example (15) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=3 b i =5 w i =4 w=5 w- w i =1 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6)

93
Example (16) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=3 b i =5 w i =4 w=1..4 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6)

94
Example (17) 5/2/ if w i <= w // item i can be part of the solution if b i + B[i-1,w-w i ] > B[i-1,w] B[i,w] = b i + B[i-1,w- w i ] else B[i,w] = B[i-1,w] else B[i,w] = B[i-1,w] // w i > w W i i=3 b i =5 w i =4 w=5 Items: 1: (2,3) 2: (3,4) 3: (4,5) 4: (5,6)

95
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 5/2/201595

96
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 * 2 m ) – 0-1 Knapsack problem: O(W*n) vs. O(2 n ) 5/2/201596

97
Unit III Network Models

98
Chapter Outline 12.1 Introduction 12.2 Minimal-Spanning Tree Technique 12.3 Maximal-Flow Technique 12.4 Shortest-Route technique

99
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.

100
Minimal-Spanning Tree Technique Determines the path through the network that connects all the points while minimizing total distance.

101
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.

102
Minimal-Spanning Tree Lauderdale Construction

103
Minimal-Spanning Tree Iterations 1& First Iteration Second Iteration

104
Minimal-Spanning Tree Iterations 3& Third Iteration Fourth Iteration

105
Minimal-Spanning Tree Iterations 4& Fourth Iteration Fifth Iteration

106
Minimal-Spanning Tree Iterations 6& Sixth iteration Seventh & final iteration Minimum Distance: 16

107
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.

108
Maximal-Flow Road Network for Waukesha East Point West Point

109
Maximal-Flow Road Network for Waukesha East Point West Point Add 2 Subtract 2

110
Road Network for Waukesha First Iteration East Point West Point Add 1 Subtract 1

111
Road Network for Waukesha Second Iteration East Point West Point Add 2 Subtract 2

112
Road Network for Waukesha Third Iteration East Point West Point

113
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.

114
Shortest-Route Problem Ray Design, Inc Roads from Ray’s Plant to the Warehouse PlantWarehouse

115
Ray Design, Inc. First Iteration PlantWarehouse

116
Ray Design, Inc. Second Iteration PlantWarehouse

117
Ray Design, Inc. Third Iteration PlantWarehouse

118
Ray Design, Inc. Fourth Iteration PlantWarehouse

119
Project Management - CPM/PERT

120
120 Project Scheduling and Control Techniques Gantt Chart Critical Path Method (CPM) Program Evaluation and Review Technique (PERT)

121
121 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)

122
122 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

123
123 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

124
124 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 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 Backward Pass

125
125 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

126
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 the non- critical activities 126

127
127 CPM Example: CPM Network a, 6 f, 15 b, 8 c, 5 e, 9 d, 13 g, 17 h, 9 i, 6 j, 12

128
128 CPM Example ES and EF Times a, 6 f, 15 b, 8 c, 5 e, 9 d, 13 g, 17 h, 9 i, 6 j,

129
129 CPM Example ES and EF Times a, 6 f, 15 b, 8 c, 5 e, 9 d, 13 g, 17 h, 9 i, 6 j,

130
130 CPM Example ES and EF Times a, 6 f, 15 b, 8 c, 5 e, 9 d, 13 g, 17 h, 9 i, 6 j, Project’s EF = 33 Project’s EF = 33

131
131 CPM Example LS and LF Times a, 6 f, 15 b, 8 c, 5 e, 9 d, 13 g, 17 h, 9 i, 6 j,

132
132 CPM Example LS and LF Times a, 6 f, 15 b, 8 c, 5 e, 9 d, 13 g, 17 h, 9 i, 6 j,

133
133 CPM Example Float a, 6 f, 15 b, 8 c, 5 e, 9 d, 13 g, 17 h, 9 i, 6 j,

134
134 CPM Example Critical Path a, 6 f, 15 b, 8 c, 5 e, 9 d, 13 g, 17 h, 9 i, 6 j, 12

135
darla/smbs/vit135 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 (t p ) - the time the activity would take if things did not go well – most likely time (t m ) - the consensus best estimate of the activity’s duration – optimistic time (t o ) - the time the activity would take if things did go well Mean (expected time): t e = t p + 4 t m + t o 6 Variance: V t = 2 = t p - t o 6 2

136
136 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.

137
137 Probability computation Determine probability that project is completed within specified time Z = x - where = t p = project mean time = project standard mean time x = (proposed ) specified time

138
138 Normal Distribution of Project Time = t p Time x ZZ Probability

139
139 PERT Example Immed. Optimistic Most Likely Pessimistic Activity Predec. Time (Hr.) Time (Hr.) Time (Hr.) A B C A D A E A F B,C G B,C H E,F I E,F J D,H K G,I 3 5 7

140
140 PERT Example A D C B F E G I H K J PERT Network

141
141 PERT Example Activity Expected Time Variance A 6 4/9 B 4 4/9 C 3 0 D 5 1/9 E 1 1/36 F 4 1/9 G 2 4/9 H 6 1/9 I 5 1 J 3 1/9 K 5 4/9

142
142 PERT Example Activity ES EF LS LF Slack A *critical B C * D E F * G H I * J K *

143
143 PERT Example V path = V A + V C + V F + V I + V K = 4/ / /9 = 2 path = z = ( )/ (24-23)/1.414 =.71 From the Standard Normal Distribution table: P(z <.71) = =.7612

144
PROJECT COST

145
145 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.

146
146 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

147
147 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 cost time Direct cost Indirect cost Total project cost Min total cost = optimal project time

148
148 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 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? CPM/PERT can answer the following important questions:

149
149 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

150
150 CPMPERT 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 controlling factor. 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 is the controlling factor. PERT vs CPM

151
Unit IV Inventory Management The objective of inventory management is to strike a balance between inventory investment and customer service

152
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

153
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.

154
Input Material Management department Inventory (money) Goods in stores Work-in-progress Finished products Equipment etc. Output Production department Basic inventory model

155

156
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.

157
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

158
FUNCTIONS OF INVENTORY To meet anticipated demand. To smoothen production requirements. To decouple operations. SUPPLY PROCESS PRODUCTS DEMAND INVENTORY PRODUCTS DEMAND PROCESS

159
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.

160
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

161
The Material Flow Cycle InputWait forWait toMoveWait in queueSetupRunOutput inspectionbe movedtimefor operatortimetime Cycle time 95%5%

162
Service level Safety Stock Probability of stock-out Safety stock = (safety factor z)(std deviation in LT demand ) Read z from Normal table for a given service level

163
Average Inventory = (Order Qty)/2 + Safety Stock Receive order Time Place order Lead Time Inventory Level Order Quantity Safety Stock (SS) EOQ/2 Average Inventory

164
Managing Inventory 1.How inventory items can be classified 2.How accurate inventory records can be maintained

165
Inventory Models for Independent Demand 1.Basic economic order quantity 2.Production order quantity 3.Quantity discount model Need to determine when and how much to order

166
Economic order of quantity EOQ = Average Monthly Consumption X Lead Time [in months] + Buffer Stock – Stock on hand

167
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.

168
Basic EOQ Model 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 Important assumptions

169
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

170
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 = N = = Expected number of orders Demand Order quantity DQ*DQ* N = = 5 orders per year 1,

171
An EOQ Example Determine optimal number of needles to order D = 1,000 unitsQ*= 200 units S = $10 per orderN= 5 orders per year H = $.50 per unit per year = T = Expected time between orders Number of working days per year N T = = 50 days between orders 250 5

172
ClassificationCriteria A-B-CAnnual value of consumption of the items V-E-DCritical nature of the components with respect to products. H-M-LUnit price of material F-S-NIssue from stores S-D-EPurchasing problems in regard to availability S-O-SSeasonality G-O-L-FChannel for procuring the material X-Y-ZInventory value of items stored Classification of Materials for Inventory Control

173
Holding costs Holding costs - the costs of holding or “carrying” inventory over time Ordering costs Ordering costs - the costs of placing an order and receiving goods Setup costs Setup costs - cost to prepare a machine or process for manufacturing an order Relevant Inventory Costs

174
Stationary Clerical and processing, salaries/rentals Postage Processing of bills Staff work in expedition /receiving/ inspection and documentation Ordering Costs

175
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

176
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 Stock out Costs

177
Balancing Carrying against Ordering Costs

178
Unit V Queuing Theory

179
Outlines IntroductionSingle server modelMulti server model

180
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.

181
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

182
The basic queuing process Input source Queue Service mechanis m Customer s Served Customer s Queuing system

183
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

184
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

185
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)

186
Conventional Symbols for d FCFS = First come, first served LCFS = Last come, first served SIRO = Service in random order GD = General service disciple

187
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.

188
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)

189
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

190
Relationship Between L and W If λ n is a constant λ for all n, it can be shown that L = λW L q = λ W q 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 = W q + 1/μ

191
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.

192
Single server queuing models M/M/1/FCFS/∞/∞ Model when the mean arrival rate λn and mean service μn are all constant we have

193
Single server queuing models (cont’d) Consequently

194
Single server queuing models (cont’d)

195
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

196
Multi server queuing models (cont’d)

197

198
Thank You 198

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google