MESM543 Operations Research (OR) is the field of how to form mathematical models of complex management decision problems and how to analyze the models to gain insight about possible solutions. Operations Research OPTIMIZATION
Business Government and Non-Profit Health Care Military Applications grouped by type of organizational client
Planning, Strategic Decision-Making Production Distribution, Logistics, Transportation Supply Chain Management Marketing Engineering Financial Engineering Applications grouped by function
Build Your Knowledge to increase your success in practice Linear Programming Non-linear Programming Dynamic Programming Markov Decision Processes Multiple Criteria Decision Making Queuing Models General Simulation
7 Production System
8 Production Systems
9 OR Process Model solution Real world problem Model Real world solution Analysis Abstraction Interpretation Assessment
Operations Research Techniques Linear ProgrammingLinear Programming Dynamic ProgrammingDynamic Programming Integer ProgrammingInteger Programming Nonlinear programmingNonlinear programming Goal ProgrammingGoal Programming Network ProgrammingNetwork Programming
The principal phases for implementing OR in practice Definition of the problem 1.Decision alternative definition 2.Objective determination 3.Operational limitations specification Construction of the model Entails translating the problem definition into mathematical relationships Solution of the model It entails the use of well-defined optimization algoritms Validation of the model Does the model provide a reasonable prediction of the system’s behavior? Implementation of the solution Translation of the model’s results into operating instructions
Linear Programming (LP) An important topic of Deterministic Operations Research Agenda 1.Modeling problems 2.Examples of models and some classical problems 3.Graphical interpretation of LP 4.Solving LP by Simplex using MS Excel 5.Some theoretical ideas behind LP and Simplex
Example 1: Product Mix Problem Fertilizer manufacturing company, 2 types of fertilizer Type A: high phosphorus Type B: low phosphorus
Product Mix Problem: Modeling Step 1. The decision variables Daily production ofType A: x tons Type B: y tons Step 2. The objective function (maximize profit) z = 15x + 10y
Product Mix Problem: Modeling.. Step 3. The constraints Limited supply of raw materials per day: Urea:2x + y ≤ 1500 Potash:x + y ≤ 1200 Rock Phosphate:x ≤ 500
Product Mix Problem: Complete model Maximizez( x, y) = 15 x + 10y subject to2x + y ≤ 1500 x + y ≤ 1200 x ≤ 500 x ≥ 0, y ≥ 0 Interesting Aspects: Linearity, Inequalities Feasible solutions: (0, 0), (1, 1), … Infeasible solutions: (600, 500), …
Example 2. Blending Problem Three types of petrol (minimum Octane rating: 85, 90, 95) Four types of oils (Octane rating: 68, 86, 91, 99) Blending oils petrol, with proportional Octane rating Objective: best product mix [how much of each petrol, oil to sell] Background: Petroleum Refinery
Example 2. Blending Problem, the data Petrol TypeMin OcRSelling PriceDemand (barrels/day) 1 (Premium) ≤ 10,000 2 (Super) No limit 3 (Regular) ≥ 15,000 Raw oil OcRAvailable amount (barrels/day) Cost/barrelSale price
Blending Problem: Modeling Step 1. The decision variables x ij = barrels/day of oil i( i = 1, 2, 3, or 4) to make petrol j (j = 1, 2, or 3) Total premium petrol per day = x 11 + x 21 + x 31 + x 41 Its Octane Rating: 68x x x x 41 x 11 + x 21 + x 31 + x 41 ≥ 95, 68x x x x (x 11 + x 21 + x 31 + x 41 ) ≥ 0.
Blending Problem: Modeling.. Step 2. The objective function Maximize profit Maximize revenue 45.15(x 11 + x 21 + x 31 + x 41 ) (x 12 + x 22 + x 32 + x 42 ) (x 13 + x 23 + x 33 + x 43 ) (4000 – (x 11 + x 12 + x 13 )) (5050 – (x 21 + x 22 + x 23 )) (7100 –(x 31 + x 32 + x 33 )) (4300 – (x 41 + x 42 + x 43 )) super regular premium Oil 1 Oil 2 Oil 3 Oil 4
Blending Problem: Modeling... Step 3. The constraints (a) The OcR constraints: 68x x x x (x 11 + x 21 + x 31 + x 41 ) ≥ 0 68x x x x (x 12 + x 22 + x 32 + x 42 ) ≥ 0 68x x x x (x 13 + x 23 + x 33 + x 43 ) ≥ 0
Blending Problem: Modeling.... Step 3. The constraints.. (b) Can’t use more oil than we have: x 11 + x 12 + x 13 ≤ 4000 x 21 + x 22 + x 23 ≤ 5050 x 31 + x 32 + x 33 ≤ 7100 x 41 + x 42 + x 43 ≤ 4300
Blending Problem: Modeling….. Step 3. The constraints... (c) The demand constraints: x 11 + x 21 + x 31 + x 41 ≤ 10,000 x 13 + x 23 + x 33 + x 43 ≥ 15,000 (d) Allowed values of variables x ij ≥ 0 for i = 1, 2, 3, 4, and j = 1, 2, 3.
Blending Problem: complete model Maximize: 45.15(x 11 + x 21 + x 31 + x 41 ) (x 12 + x 22 + x 32 + x 42 ) (x 13 + x 23 + x 33 + x 43 ) (4000 – (x 11 + x 12 + x 13 )) (5050 – (x 21 + x 22 + x 23 )) (7100 –(x 31 + x 32 + x 33 )) (4300 – (x 41 + x 42 + x 43 )) Subject to: 68x x x x (x 11 + x 21 + x 31 + x 41 ) ≥ 0 68x x x x (x 12 + x 22 + x 32 + x 42 ) ≥ 0 68x x x x (x 13 + x 23 + x 33 + x 43 ) ≥ 0 x 11 + x 12 + x 13 ≤ 4000 x 21 + x 22 + x 23 ≤ 5050 x 31 + x 32 + x 33 ≤ 7100 x 41 + x 42 + x 43 ≤ 4300 x 11 + x 21 + x 31 + x 41 ≤ 10,000 x 13 + x 23 + x 33 + x 43 ≥ 15,000 x ij ≥ 0 for I = 1, 2, 3, 4, and j = 1, 2, 3. Octane rating Supply Demand
Example 3: Transportation problem Background: Company has several factories (sinks), and several suppliers (sources) Objective: Minimize the cost of transportation
Example 3. Transportation problem, the data transportation cost per ton mine capacity/day plant 1plant 2plant 3 Mine Mine daily ore requirement at each plant:
Transportation problem: the model Step 1. The decision variables x ij = amount of ore shipped from mine i to plant j per day. Step 2: The objective function Minimize the transportation costs: Minimize: 11x x x x x x 23
Transportation problem: the model.. Step 3. The constraints (a) Shipment from each mine less than daily production x 11 + x 12 + x 13 ≤ 800[capacity of mine 1] x 21 + x 22 + x 23 ≤ 300[capacity of mine 2] (b) Demand of each plant must be met x 11 +x 21 ≥ 400[demand at plant 1] x 12 + x 22 ≥ 500[demand at plant 2] x 13 + x 23 ≥ 200[demand at plant 3] (c) Decision variables can’t be negative x ij ≥ 0, for all i= 1, 2, j = 1, 2, 3.
Transportation problem: historical note Kantorovich in USSR in the 1930’s, Koopmans in 1940’s Dantzig in 1950’s Simplex method Kantorovich and Koopmans, Nobel prize (Economics) in 1975KantorovichKoopmans
The Geometry of Linear Programs Point in a 1D space:x = c c 0 Line in 2D:ax + by = c 2x+3y = 0 2x+3y = 3 2x+3y = 9 2x+3y = 6 (0,0) y x
The Geometry of Linear Programs Plane in 3D:ax + by + cz = d z x y Plane x + y + z = z x y Plane: x + y + z = 0 Plane: x + y + z = 2
The Geometry of Linear Programs Hyper-plane in n-Dimensions: a 1 x 1 + a 2 x 2 + … + a n x n = c ?? 2-D Half spaces: 2x+3y = 6 (0,0) y x 2x+3y > 6 2x+3y < 6
Feasible set The Geometry of LP: Product Mix revisited maxz( x, y) = 15 x + 10y ST2x + y ≤ 1500 x + y ≤ 1200 x ≤ 500 x ≥ 0, y ≥ 0 x ≥ 0 y ≥ 0 x ≤ 500 2x+y ≤ 1500 x + y ≤ 1200 (0,0) y x
The Geometry of LP: Product Mix revisited maxz( x, y) = 15 x + 10y ST2x + y ≤ 1500 x + y ≤ 1200 x ≤ 500 x ≥ 0, y ≥ 0 Feasible set x ≥ 0 y ≥ 0 x ≤ 500 2x+y ≤ 1500 x + y ≤ 1200 (0,0) y x Try point: x = 0, y = 0: 15x + 10y = 0 15x + 10y = x + 10y = 13,500 (300, 900)
Summary 1. LP formulations are very common in modern industry 2. Beautiful connection between Algebra and Geometry 3. Geometry not useful for > 3 variables 4. Practical problems: 1000’s of variables (see next slide) 5. Need Algebraic method !
Dynamic Programming – Recursive formula (forward, Backward) A state k is the information that is needed at any stage to make an optimal decision. A problem can be decomposed into stages, where each stage j represents an operation. Define f j (x j ) as f j (x j ) = maximum return for stage i given state y j Forward Recursive:
Forward vs. Backward Recursion Backward recursion formula :
A corporation has $5 million to allocate to its three plants for possible expansion Each plant has submitted a number of proposals on how it intends to spend the money. Each proposal gives the cost of the expansion (c) and the total revenue expected (r). The following table gives the proposals generated: Budgeting Problem –FirstExample1.m Problem formulation Define state x[6]=( ); available resources Define Stage j[3]=(1 2 3); The operation or processing of the problem takes place Define Policy or Proposal of problem m[4]=( )
%Dynamic Programming 1st example, CMU % F. Nagi 5/2/12 clear clc Alloc = 6; %Allocation 7 million +1 for index '0' r=[ ; ; ]; %revenue of Proposal c=[ ; ; ]; %cost of proposal x =[0 ; 1 ; 2 ; 3 ; 4 ; 5 ]; f2(1:Alloc,1:Alloc)=0; %initialze Answer function f2 x=x'; for j=1 %state for m=1:4 %proposal for k=1:Alloc %state if c(j,m)<=x(k) f1(m,k)=r(j,m); end f1=max(f1) for j =2:3 %stage for m=1:4 %proposal for k=1:Alloc %states if c(j,m)<=x(k) f1(j,k)=max(r(j,m)+f1(j-1,x(k) c(j,m)+1), f2(j,k)) f2(j,k)=f1(j,k); end f2=max(f1)
Ans, f1 = Ans, f2 = WorkStation Production Problem
Resource Alloc = 5; %Allocation 4 cycle time +1 for index '0' r=[ ; ; ]; %revenue of Products c=[ ; ; ]; %cycle time of products x =[0 ; 1 ; 2 ; 3 ; 4 ]; % cycle time Problem formulation
The cycle of a Genetic Algorithms is presented below Each cycle in Genetic Algorithms produces a new generation of possible solutions for a given problem
The elements of the population are encoded into bit-strings, called chromosomes. The performance of the strings, often called fitness, is then evaluated with the help of some functions f(x), representing the constraints of the problem. Genetic Algorithm Steps The crossover operation that recombines the bits (genes) of each two selected strings (chromosomes). The crossover helps to span over the solution space
In Mutation the bits at one or more randomly selected positions of the chromosomes are altered. The mutation process helps to overcome trapping at local maxima Mutation of a chromosome at the 5th bit position. Genetic Algorithm Steps Example: The Genetic Algorithms cycle is illustrated in this example for maximizing a function f(x) = x 2 in the interval 0 = x = 31. In this example the fitness function is f (x) itself. Starts with 4 initial strings. The fitness value of the strings and the percentage fitness of the total are estimated in Table A.
Table A Table B Since fitness of the second string is large, we select 2 copies of the second string and one each for the first and fourth string in the mating pool. The selection of the partners in the mating pool is also done randomly Here in table B, we selected partner of string 1 to be the 2-nd string and partner of 4-th string to be the 2nd string. The crossover points for the first- second and second-fourth strings have been selected after 0-th and 2-nd bit positions respectively in table B. Example
The second generation of the population without mutation in the first generation is presented in table C. Table C Example
gaex.m % Example in >>gatool 0-4, five bits 2 5 =32 (0-31) Fitness f(x) x -variable
1.Use Gatool and maximize the quadratic equation f(x) = x 2 +4x-1 within the range −5 ≤x≤0. GA- Problems 2. Use Gatool and maximize the function f(x1, x2, x3)= −5 sin(x1) sin(x2) sin(x3) + (- sin(5x1) sin(5x2)sin(x3)) where 0 <= xi <= pi, for 1 <= i <= Create a “gatool” to minimize the function f(x) = cos(2x) within the range 0≤x≤3.14