Operation Research II Johan Oscar Ong, ST, MT
Grading Requirements: Min 80% Present in Class Having Good Attitude Score/Grade : Quiz and Assignment : 30% Mid test (UTS) : 35% Final Test (UAS) : 35% No additional assignment to increase your score Assignment should be submitted on time
outline Meeting Topics 1 Goal Programming (1) 2 Goal Programming (2) Quiz 1 3 Integer linear Programming (part 1) Quiz 2 4 Integer linear Programming (part 2) Quiz 3 5 Deterministic dynamic programming (part 1) Quiz 4 6 Review and Quiz 7 Midterm Test 8 Deterministic dynamic programming (part 2) Quiz 5 9 Decision analysis Quiz 6 10 Games Theory Quiz 7 11 Queuing System (part 1) 12 Queuing System (part 2) Quiz 8 13 Deterministic Inventory model Quiz 9
Goal Programming
What is Goal Programming? Mathematical model similar to Linear Programming, however it allows for multiple goals to be satisfied at the same time. Allows for the multiple goals to be prioritized Allows for the multiple goals to be prioritized and weighted to account for the DM s utility for meeting the various goals.
Assumptions Similar to LP: Non-negative variables Conditions of certainty Variables are independent Limited resources Deterministic
Components Economic Constraints Physical Concerned with resources Cannot be violated Example: # of production hours each week
Components Goal Constraints Variable Concerned with target values Can be changed/modified Example: Desire to achieve a certain level of profit
Components Objective Function Minimizes the sum of the weighted deviations from the target values this is ALWAYS the objective for Goal Programming Not the same as LP (which was maximize revenue/minimize costs)
Goal Programming Steps Define decision variables Define Deviational Variable for each goal Formulate Constraint Equations Economic constraints Goal constraints Formulate Objective Function
Goal Programming Terms Decision Variables are the same as those in LP formulations (represent products, hours worked) Deviational Variables represent overachieving or underachieving the desired level of each goal d+ Represents overachieving level of the goal d- Represents underachieving level of the goal
Goal Programming Constraints Economic Constraints Stated as <=, >=, or = Linear (stated in terms of decision variables) Example: 3x + 2y <= 50 hours Goal Constraints General form of goal constraint: Decision Variables - d + + d - = Desired Goal Level
Goal Programming Example Microcom is a growth oriented firm which establishes monthly performance goals for its sales force Microcom determines that the sales force has a maximum available hours per month for visits of 640 hours Further, it is estimated that each visit to a potential new client requires 3 hours and each visit to a current client requires 2 hours
Goal Programming Example Microcom establishes two goals for the coming month: Contact at least 200 current clients Contact at least 120 new clients Overachieving either goal will not be penalized
Goal Programming Example Steps Required: 1. Define the decision variables 2. Define the goals and deviational variables 3. Formulate the GP Model s Parameters: Economic Constraints Goal Constraints Objective Function 4. Solve the GP using the graphical approach
Goal Programming Example Step 1: Define the decision variables: X1 = the number of current clients visited X2 = the number of new clients visited Step 2: Define the goals: Goal 1 Contact 200 current clients Goal 2 Contact 120 new clients
Goal Programming Example Step 3: Define the deviational variables d1+ = the number of current clients visited in excess of the goal of 200 d1- = the number of current clients visited less than the goal of 200 d2+ = the number of new clients visited in excess of the goal of 120 d2- = the number of new clients visited less than the goal of 120
Goal Programming Example Formulate the GP Model: Economic Constraints: 2X1 + 3X2 <= 640 (note: can be <, =, >) X1, X2 => 0 d1+, d1-, d2+, d2- => 0 Goal Constraints: Current Clients: X1 + d1- - d1+ = 200 New Clients: X2 + d2- - d2+ = 120 Must be =
Goal Programming Example WebNet establishes two goals for the coming month: Contact at least 200 current clients Contact at least 120 new clients Overachieving either goal will not be penalized
Goal Programming Example Objective Function: Minimize Weighted Deviations Minimize Z = d1 - + d2 -
Goal Programming Example Complete formulation: Minimize Z = d1 - + d2 - Subject to: 2X1 + 3X2 <= 640 X1 + d1 - - d1 + = 200 X2 + d2 - - d2 + = 120 X1, X2 => 0 d1 +, d1 -, d2 +, d2 - => 0
Goal Programming Example Graph constraint: 2X1 + 3X2 = 640 If X1 = 0, X2 = 213 If X2 = 0, X1 = 320 Plot points (0, 213) and (320, 0)
Graphical Solution X 2 200 (0,213) 150 100 50 0 50 100 150 200 (320,0) 250 300 350 X 1
Goal Programming Example Graph deviation lines X1 + d1 - - d1 + = 200 (Goal 1) X2 + d2 - - d2 + = 120 (Goal 2) Plot lines for X1 = 200, X2 = 120
Goal Programming Example (0,213) X 2 Goal 1 200 150 100 50 (140,120) d 1 - (200,80) 0 50 100 150 200 d 1 + d + 2 - d 2 Goal 2 (320,0) 250 300 350 X 1
Solving Graphical Goal Programming Want to Minimize d1 - + d2 - So we evaluate each of the candidate solution points: Optimal Point For point (140, 120) d1 - = 60 and d2 - = 0 Z = 60 + 0 = 60 For point (200, 80) d1 - = 0 and d2 - = 40 Z = 0 + 40 = 40 Contact at least 200 current clients Contact at least 120 new clients
Goal Programming Solution X1 = 200 Goal 1 achieved X2 = 80 Goal 2 not achieved d1+ = 0 d2+ = 0 d1- = 0 d2- = 40 Z = 40
13.5 Goal Programming Goals are prioritized in some sense, and their level of aspiration is stated. An optimal solution is attained when all the goals are reached as close as possible to their aspiration level, while satisfying a set of constraints. There are two types of goal programming models: Nonpreemtive goal programming - no goal is pre-determined to dominate any other goal. Preemtive goal programming - goals are assigned different priority levels. Level 1 goal dominates level 2 goal, and so on.
NONPREEMTIVE GOAL PROGRAMMING An Advertisement Example A company is considering three forms of advertising. Cost per Ad Customers Television 3000 1000 Newspaper 250 200 Goals Goal 1: Spend no more $25,000 on advertising. Goal 2: Reach at least 30,000 new potential customers. Goal 3: Run at least 10 television spots.
An Advertisement Example If these were constraints rather than goals we would have: 3000X 1 + 800X 2 + 250X 3 25,000 1000X 1 + 500X 2 + 200X 3 30,000 X 1 10 No feasible solution exists that satisfies all the constraints. When these constraints are simply goals they are to be reached as close as possible.
An Advertisement Example Detrimental variables Ui = the amount by which the left hand side falls short of (under) its right had side value. Ei = the amount by which the left side exceeds its right had side value. The goal equations 3000X 1 + 800X 2 + 250X 3 + U 1 E 1 = 25,000 1000X 1 + 500X 2 + 200X 3 + U 2 E 2 = 30,000 X 1 + U 3 E 3 = 10
An Advertisement Example The objective is to minimize the penalty of not meeting the goals, represented by the detrimental variables E1, U2, U3. 25,000 30,000 10
An Advertisement Example The penalties are estimated to be as follows: Each extra dollar spent on advertisement above $25,000 cost the company $1. There is a loss of $5 to the company for each customer not being reached, below the goal of 30,000. Each television spot below 10 is worth 100 times each dollar over budget.
An Advertisement Example The goal programming model It is assumed that no advantage is gained by overachieving a goal. Minimize 1E 1 + 5U 2 + 100U 3 s.t. 3000X 1 + 800X 2 + 250X 3 + U 1 E 1 = 25,000 1000X 1 + 500X 2 + 200X 3 + U 2 E 2 = 30,000 X 1 + U 3 E 3 = 10 All variables are non-negative.
PREEMTIVE GOAL PROGRAMMING - New England Cycle Company The NECC is planning next month production of its two bicycles B2 and S10. Data Both models use the same seats and tires. 2000 seats are available; 2400 tires are available. 1000 gear assembly are available (used only in the S10 model). Production time per unit: 2 hours for B2; 3 hours for S10. Profit: $40 for each B2; 10$ for each S10.
NECC Prioritized Goals Priority 1: Fulfill a contract for 400 B2 bicycles to be delivered next month. Priority 2: Produce at least 1000 total bicycles during the month. Priority 3: Achieve at least $100,000 profit for the month. Use no more than 1600 labor-hours during the month. Priority 4: At least 200 tires left over at the end of the month. At least 100 gear assemblies left over at the end of the month.
New England Cycle Company Example Management wants to determine the production schedule that best meets its prioritized schedule.
NECC - SOLUTION Decision variables X 1 = The number of B2s to be produced next month X 2 = The number of S10s to be produced next month Functional / nonnegativity constraints 2X 2X X 1 1 1 + X X + 2X,X 2 2 2 2 0 2000 1000 2400 Seats Gear assemblies Tires
NECC - SOLUTION Goal constraints Priority 1 (goal 1): Production of at least 400 B2s + U 1 - E 1 = 400 X 1 Priority 2 (goal 2): Production of at least 1000 total cycles X 1 + X 2 + U 2 - E 2 = 1000 Priority 3 (goal 3) Profit of at least $100,000.04X 1 +.10X 2 + U 3 - E 3 = 100 (in $1000) Priority 3 (goal 4) Use a maximum of 1600 labor hours 2X 1 + 3X 2 + U 4 - E 4 = 1600 Priority 4 (goal 5) At least 200 leftover tires 2X 1 + 2X 2 + U 5 - E 5 = 2200 Priority 4 (goal 6) At least 100 leftover gear assembly + U 6 - E 6 = 900 X 2
NECC - SOLUTION Priority level objectives Priority 1: Underachieving a production of 400 B2s: Minimize U 1 Priority 2: Underachieving a total production of 1000: Minimize U 2
NECC - SOLUTION Priority level objectives Priority 3: Underachieving a $100,000 profit Using more than 1600 labor-hours Minimize 30U 3 + E 4 Each $1,000 short of the $100,000 goal is considered 30 times as important as utilizing an extra labor-hour.
NECC - SOLUTION Priority level objectives Priority 4: Using more than 2200 tires Using more than 900 gear assemblies Minimize E 5 + 2E 6 Each leftover gear assembly is deemed twice as important as leftover tire.
NECC - The solution procedure Solve the linear goal programming for priority 1 objective, under the set of regular constraints and goal constraint as shown below Minimize U 1 X 1 = 400, thus U 1 = 0, and priority 1 goal is fully achieved. ST 2X 2X 1 1 + + X X 2X 2000 1000 2400 X 1 + U 1 - E 1 = 400 2 2 2 Seats Gear Tires
NECC - The solution procedure Solve the linear goal programming for priority 2 level objective, under the set of original constraints plus the constraint X 1 400 (maintain the level of achievement of the priority 1 goal). Minimize U 2 Every point that satisfies X 1 + X 2 1000 yields U 2 = 0, and therefore, priority 2 goal is fully achieved. ST 2X 2X 1 1 + + X X 2X 2 2 2 2000 1000 2400 X 1 400 X 1 + X 2 + U 2 - E 2 = 1000 Seats Gear Tires
NECC - The solution procedure Solve the linear goal programming for priority 3 level objective, under the set of original constraints plus the constraint X 1 400 (maintain the level of achievement of the priority 1 goal), plus the constraint X 1 + X 2 1000 (maintain the level of achievement of the priority 2 goal). Every point in the range X 1 = 400 and 600 X 2 800 is optimal for this model; 30U 3 + E 4 = 1720 is the level of achievement for the priority 3 goal.
NECC - The solution procedure Solve the linear goal programming for priority 4 level objective, and notice that after the previous step the feasible region is reduced to a segment of a straight line between the points (400,600) and (400,800). X1 =400; 600 X2 700 and E5 + 2E6 = 0
NECC - Solution Summary In summary NECC should produce 400 B2 model Between 600 and 700 S10 model