Production Mix Problem lrg Graphical Solution 40 20-inch sets 27-inch sets 30 (10,20) (Optimal Product Mix!) Profit = 80*10 + 120*20 = $3200/mo 20 10 Feasible Region 0 0 10 20 30 40 50 60 med Product Mix Problem Primal Problem Formulation Production Capacity Constraints: 6*med + 15*lrg < = 360 (hours/set)*sets = hours 4*med + 5*lrg < = 140 med > = 0; lrg > = 0 Market Constraints: med < = 15 lrg < = 40 (sets) Objective Function: Maximize: Profit = 80*med + 120*lrg ($/set)*sets = $ Primal Problem (Interpretation of Dual Prices) Row 1 2 3 4 5 Dual Price (Marginal value of an 1.000000 additional unit of 2.666667 the resource) 16.00000 0.0000000 0.0000000 Work-Scheduling Problem Formulate as Linear Programming Problem Define variables: Let xi = number of employees beginning work on day i, i = 1,…,7 Write objective function: Min z = x1 + x2 + x3 + x4 + x5 + x6 + x7 Impose constraints: x1 + x4 + x5 + x6 + x7 > 17 (Monday) x1+ x2 + x5 + x6 + x7 > 13 (Tuesday) x1+ x2 + x3 + x6 + x7 > 15 (Wednesday) x1+ x2 + x3 + x4 + x7 > 19 (Thursday) x1+ x2 + x3 + x4 + x5 > 14 (Friday) x2 + x3 + x4 + x5 + x6 + x7 > 16 (Saturday) x3 + x4 + x5 + x6 + x7 > 11 (Sunday) xi > 0 (i= 1, …, 7) (Non-negativity) Work-Scheduling Problem (LINGO Model: with Integer Constraint) MIN = @SUM( EMPLOYEES: NHIRED); @FOR( NEEDS( I): @SUM( EMPLOYEES( J): CONSTRAINTS( I, J) * NHIRED( J)) >= NREQUIRED( I)); ! We want NHIRED to be integer; @FOR(EMPLOYEES(I): @GIN(NHIRED(I))); END Work-Scheduling Problem (LINGO Solution: with Integer Constraint) Optimal solution found at step: Objective value: Branch count: Variable NHIRED( MONDAY) NHIRED( TUESDAY) NHIRED( WEDNESDAY) NHIRED( THURSDAY) NHIRED( FRIDAY) NHIRED( SATURDAY) NHIRED( SUNDAY) 8 23.00000 1 Value 7.000000 3.000000 2.000000 7.000000 1.000000 3.000000 0.0000000 Allocation of Scarce Resources, II Transportation Problems Powerco, Electrical Power Company Power Transmission Costs: ($/million kwh) To From City 1 City 2 (million kwh) Plant 1 Plant 2 Plant 3 Demand Supply City 3 City 4 $8 $9 $14 $6 $12 $9 $10 $13 $16 $9 $7 $5 45 20 30 30 35 50 40 Transportation Problem Powerco Power Plant: Formulation Define Variables: Let Xij = number of (million kwh) produced at plant i and sent to city j. Objective Function: Min z = 8*X11 + 6*X12 + 10*X13 + 9*X14 + 9*X21 + 12*X22 + 13*X23 + 7*X24 + 14*X31 + 9*X32 + 16*X33 + 5*X34 Supply Constraints: X11 + X12 + X13 + X14 < = 35 (Plant 1) X21 + X22 + X23 + X24 < = 50 (Plant 2) X31 + X32 + X33 + X34 < = 40 (Plant 3) Transportation Problem Powerco Power Plant: Formulation (Cont’d.) Demand Constraints: X11 + X21 +X31 > = 45 (City 1) X12 + X22 +X32 > = 20 (City 2) X13 + X23 +X33 > = 30 (City 3) X14 + X24 +X34 > = 30 (City 4) Nonnegativity Constraints: Xij > = 0 (i=1,..,3; j=1,..,4) Balanced? Total Demand = 45 + 20 + 30 + 30 = 125 Total Supply = 35 + 50 + 40 = 125 Yes, Balanced Transportation Problem! (If problem is unbalanced, add dummy supply or demand as required.) Transportation Problem Powerco Power Plant: LINGO Formulation model: ! A 3 Plant, 4 Customer Transportation Problem; SETS: PLANT / P1, P2, P3/ : CAPACITY; CUSTOMER / C1, C2, C3, C4/ : DEMAND; ROUTES( PLANT, CUSTOMER) : COST, QUANTITY; ENDSETS ! The objective; [OBJ] MIN = @SUM( ROUTES: COST * QUANTITY); Transportation Problem Powerco Power Plant: LINGO Formulation (Cont’d.) ! The demand constraints; @FOR( CUSTOMER( J): [DEM] @SUM( PLANT( I): QUANTITY( I, J))>= DEMAND( J)); ! The supply constraints; @FOR( PLANT( I): [SUP] @SUM( CUSTOMER(J): QUANTITY(I,J))<=CAPACITY( I)); ! Here are the parameters; DATA: CAPACITY = 35, 50, 40 ; DEMAND = 45, 20, 30, 30; COST = 8, 6, 10, 9, 9, 12, 13, 7, 14, 9, 16, 5; ENDDATA end Transportation Problem Powerco Power Plant: LINGO Solution Optimal solution found at step: Objective value: QUANTITY( QUANTITY( QUANTITY( QUANTITY( QUANTITY( QUANTITY( QUANTITY( QUANTITY( QUANTITY( QUANTITY( QUANTITY( QUANTITY( P1, P1, P1, P1, P2, P2, P2, P2, P3, P3, P3, P3, C1) C2) C3) C4) C1) C2) C3) C4) C1) C2) C3) C4) 7 1020.000 0.0000000 10.00000 25.00000 0.0000000 45.00000 0.0000000 5.000000 0.0000000 0.0000000 10.00000 0.0000000 30.00000 All Quantities are Integers! Transportation Problem Powerco Power Plant: LINGO Solution (Cont’d.) Row Slack or Surplus OBJ 1020.000 DEM( C1) 0.0000000 DEM( C2) 0.0000000 DEM( C3) 0.0000000 DEM( C4) 0.0000000 SUP( P1) 0.0000000 SUP( P2) 0.0000000 SUP( P3) 0.0000000 Dual Price 1.000000 -9.000000 -9.000000 -13.00000 -5.000000 3.000000 0.0000000 0.0000000 All constraints are binding! (Typical of Balanced Transportation Problems; results in simple algorithms) Transportation Problem Powerco Power Plant: Sensitivity Analysis Row Dual Price OBJ 1.00000 DEM( C1) -9.00000 DEM( C2) -9.00000 DEM( C3) -13.00000 DEM( C4) -5.00000 SUP( P1) 3.00000 SUP( P2) 0.00000 SUP( P3) 0.00000 (-v1) (-v2) (-v3) (-v4) (-u1) (-u2) (-u3) Changes in total cost due to changes in demand and supply: z = v1* C1 + v2* C2 + v3* C3 + v4* C4 + u1* P1 + u2* P2 + u3* P3 e.g. C2 = 1, P1 = 1 z = 9*1 + (-3)*1 = $6 Transportation Problem Powerco Power Plant: Sensitivity Analysis Row Dual Price OBJ 1.00000 DEM( C1) -9.00000 DEM( C2) -9.00000 DEM( C3) -13.00000 DEM( C4) -5.00000 SUP( P1) 3.00000 SUP( P2) 0.00000 SUP( P3) 0.00000 (-v1) (-v2) (-v3) (-v4) (-u1) (-u2) (-u3) Changes in total cost due to changes in demand and supply: z = v1* C1 + v2* C2 + v3* C3 + v4* C4 + u1* P1 + u2* P2 + u3* P3 e.g. C2 = 1, P1 = 1 z = 9*1 + (-3)*1 = $6 Powerco Power Plant: Sensitivity Analysis (Cont’d.) Variable Value Reduced Cost QUANTITY( P1, C1) 0.00 2.00 (c11) Nonbasic QUANTITY( P1, C2) 10.00 0.00 (c12) Basic QUANTITY( P1, C3) 25.00 0.00 (c13) Basic QUANTITY( P1, C4) 0.00 7.00 (c14) Nonbasic QUANTITY( P2, C1) 45.00 0.00 (c21) Basic QUANTITY( P2, C2) 0.00 3.00 (c22) Nonbasic QUANTITY( P2, C3) 5.00 0.00 (c23) Basic QUANTITY( P2, C4) 0.00 2.00 (c24) Nonbasic QUANTITY( P3, C1) 0.00 5.00 (c31) Nonbasic QUANTITY( P3, C2) 10.00 0.00 (c32) Basic QUANTITY( P3, C3) 0.00 3.00 (c33) Nonbasic QUANTITY( P3, C4) 30.00 0.00 (c34) Basic z = c11* Q11 + c12* Q12 + c13* Q13 + c14* Q14 + c21* Q21 + c22* Q22 + c23* Q23 + c24* Q24 + c31* Q31 + c32* Q32 + c33* Q33 + c34* Q34 Inventory Problems as Transportation Problems Sailco Corporation: Manufacturer of Sailboats Demand: 1st Quarter 2nd Quarter 3rd Quarter 4th Quarter 40 (Sailboats) 60 75 25 Supply: (Initial inventory: 10) Production: (Storage @ $20/sailboat/quarter) Quarter Regular 1st 40@$400 2nd 40@$400 3rd 40@$400 4th 40@$400 Overtime 150@$440 150@$440 150@$440 150@$440 Inventory Problems as Transportation Problems Sailco Corporation: Formulation Supply Nodes: Node Description 1 Initial Inventory 2 1st quarter, regular 3 1st quarter, overtime 4 2nd quarter, regular 5 2nd quarter, overtime 6 3rd quarter, regular 7 3rd quarter, overtime 8 4th quarter, regular 9 4th quarter, overtime Total Capacity, Sailboats 10 40 150 40 150 40 150 40 150 770 Inventory Problems as Transportation Problems Sailco Corporation: Formulation (Cont’d.) Demand Nodes: Node Description 1 1st quarter 2 2nd quarter 3 3rd quarter 4 4th quarter 5 Dummy Total Demand, Sailboats 40 60 75 25 570 770 Inventory Problems as Transportation Problems Sailco Corporation: Formulation (Costs) Cost Coefficients: ($/Sailboat) Supply Demand 1 2 3 I 1 0 20 40 R 2 400 420 440 OT 3 450 470 490 R 4 M 400 420 OT 5 M 450 470 R 6 M M 400 OT 7 M M 450 R 8 M M M OT 9 M M M M is a very large, arbitrary, positive number. 4 60 460 510 440 490 420 470 400 450 Dummy 0 0 0 0 0 0 0 0 0 Assignment Problems Personnel Assignment: Person 1 Person 2 Person 3 Person 4 Time (hours) Job 1 Job 2 Job 3 Job 4 14 5 8 7 2 12 6 5 7 8 3 9 2 4 6 10 Assignment Problem Formulation Define Variables: Let Xij = 1 if ith person is assigned to jth job Xij = 0 if ith person is not assigned to jth job Objective Function: Min z = 14*X11 + 5*X12 + … + 10*X44 Personnel Constraints: X11 + X12 + X13 + X14 = 1 X21 + X22 + X23 + X24 = 1 X31 + X32 + X33 + X34 = 1 X41 + X42 + X43 + X44 = 1 Binary Constraints: Xij = 0 or Xij = 1 Demand Constraints: X11 + X21 + X31 + X41 = 1 X12 + X22 + X32 + X42 = 1 X13 + X23 + X33 + X43 = 1 X14 + X24 + X34 + X44 = 1 Assignment Problem Algorithm Row Minimum 14 5 8 7 5 2 12 6 5 2 7 8 3 9 3 2 4 6 10 2 Subtract Row Minimum from Each Row: Column Minimum 9 0 4 0 0 10 5 2 3 4 0 4 2 3 6 8 0 0 0 2 Assignment Problem Algorithm Subtract Column Minimum from Each Column: 9 0 4 0 0 10 5 2 3 4 0 4 0 1 4 6 Subtract Minimum uncrossed value from uncrossed values and add to twice-crossed values: Solution: 10 0 5 0 0 9 5 1 3 3 0 3 0 0 4 5 0 0 0 0 Draw lines to cross out zeros and read solution from zeros Hungarian Method Step 1: Find the minimum element in each row of the m x m cost matrix. Construct a new matrix by subtracting from each cost the minimum cost in its row. For this new matrix, find the minimum cost in each column. Construct a new matrix (called the reduced cost matrix) by subtracting from each cost the minimum cost in its column. Step 2: Draw the minimum number of lines (horizontal and/or vertical) that are needed to cover all the zeros in the reduced cost matrix. If m lines are required, an optimal solution is available among the covered zeros in the matrix. If fewer than m lines are needed, proceed to Step 3. Step 3: Find the smallest nonzero element (call its value k) in the reduced cost matrix that is uncovered by the lines drawn in Step 2. Now subtract k from each uncovered element of the reduced cost matrix and add k to each element that is covered by two lines. Return to Step 2.