Operation Research II
Johan Oscar Ong, ST, MTJohan Oscar Ong, ST, MT
Grading� Requirements:
� Min 80% Present in Class� Having Good Attitude
� Score/Grade :
� Quiz and Assignment : 30%� 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
outlineMeeting 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 ProgrammingGoal 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� Variables are independent� Limited resources� Deterministic
Components
� Economic Constraints� Physical� Concerned with resources� Cannot be violated� Cannot be violated� Example: # of production hours each week
Components
� Goal Constraints� Variable� Concerned with target values� Can be changed/modified� 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 Programmingobjective 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� 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 � 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
� Economic Constraints� Stated as <=, >=, or = � Linear (stated in terms of decision variables)� Example: 3x + 2y <= 50 hours
Goal Programming Constraints
� Example: 3x + 2y <= 50 hours
� Goal Constraints � General form of goal constraint:
- d+ + d- =Decision Variables
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 � 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� Contact at least 120 new clients
� Overachieving either goal will not be penalized
Goal Programming Example
� Steps Required:1. Define the decision variables2. Define the goals and deviational variables3. Formulate the GP Model’s Parameters: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 � 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� 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� 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� 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 = 213If X2 = 0, X1 = 320� If X2 = 0, X1 = 320
� Plot points (0, 213) and (320, 0)
Graphical Solution
150150
200200
XX22
(0,213)(0,213)
00 5050 100100 150150 200200
5050
100100
150150
250250 300300 350350
(320,0)(320,0)XX11
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
150150
200200
XX22 Goal 1Goal 1
dd11--
dd11++
(0,213)(0,213)
00 5050 100100 150150 200200
5050
100100
150150
XX11
Goal 2Goal 2Goal 2Goal 2dd22
++dd22++
dd22--dd22--(140,120)(140,120)
(200,80)(200,80)
250250 300300 350350
(320,0)(320,0)
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 clientsContact 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
� 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
13.5 Goal Programming
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.
� A company is considering three forms of advertising.
NONPREEMTIVE GOAL PROGRAMMINGAn Advertisement Example
Cost per Ad Customers
Television 3000 1000
� 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.
Television 3000 1000
Newspaper 250 200
� If these were constraints rather than goals we would have:3000X1 + 800X2 + 250X3 ≤ 25,000
≥
An Advertisement Example
1000X1 + 500X2 + 200X3 ≥ 30,000X1 ≥ 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.
� Detrimental variablesUi = the amount by which the left hand side
falls short of (under) its right had side value.
An Advertisement Example
value.Ei = the amount by which the left side
exceeds its right had side value.
� The goal equations3000X1 + 800X2 + 250X3 + U1 – E1 = 25,0001000X1 + 500X2 + 200X3 + U2 – E2 = 30,000
X1 + U3 – E3 = 10
� The objective is to minimize the penalty of not meeting the goals, represented by the detrimental variables
An Advertisement Example
detrimental variables E1, U2, U3.
≤ 25,000 ≥ 30,000 ≥ 10
� The penalties are estimated to be as follows:
� Each extra dollar spent on advertisement above $25,000 cost the company $1.
An Advertisement Example
$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.
� It is assumed that no advantage is gained by overachieving a goal.
Minimize 1E + 5U + 100U
An Advertisement Example –The goal programming model
Minimize 1E1 + 5U2 + 100U3s.t.3000X1 + 800X2 + 250X3 + U1 – E1 = 25,0001000X1 + 500X2 + 200X3 + U2 – E2 = 30,000
X1 + U3 – E3 = 10All variables are non-negative.
� The NECC is planning next month production of its two bicycles B2 and S10.
� Data
PREEMTIVE GOAL PROGRAMMING -New England Cycle Company
� 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.
� Priority 1 : Fulfill a contract for 400 B2 bicycles to be delivered next month.
NECC – Prioritized Goals
Priority 4: � At least 200 tires left
over at the end of the month.At least 100 gear � Priority 2: Produce at � At least 100 gear assemblies left over at the end of the 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.
Management wants to determine the production schedule that best meets its
New England Cycle Company Example
production schedule that best meets its prioritized schedule.
NECC - SOLUTION
� Decision variablesX1 = The number of B2s to be produced next monthX2 = The number of S10s to be produced next month
� Functional / nonnegativity constraints
0X,X
Tires2400X2X2
assembliesGear1000X
Seats2000XX2
21
21
2
21
≥≤+≤≤+
� Goal constraintsPriority 1 (goal 1): Production of at least 400 B2sPriority 1 (goal 1): Production of at least 400 B2s
XX11 + U+ U11 -- EE11 = 400= 400
Priority 2 (goal 2): Production of at least 1000 total cyclesPriority 2 (goal 2): Production of at least 1000 total cycles
NECC - SOLUTION
Priority 2 (goal 2): Production of at least 1000 total cyclesPriority 2 (goal 2): Production of at least 1000 total cyclesXX11 + X+ X22 + U+ U22 -- EE22 = 1000= 1000
Priority 3 (goal 3) Profit of at least $100,000Priority 3 (goal 3) Profit of at least $100,000.04X.04X11 + .10X+ .10X22 + U+ U33 -- EE33 = 100 (in $1000)= 100 (in $1000)
Priority 3 (goal 4) Use a maximum of 1600 labor hoursPriority 3 (goal 4) Use a maximum of 1600 labor hours2X2X11 + 3X+ 3X22 + U+ U44 -- EE44 = 1600= 1600
Priority 4 (goal 5) At least 200 leftover tiresPriority 4 (goal 5) At least 200 leftover tires2X2X11 + 2X+ 2X22 + U+ U55 -- EE55 = 2200= 2200
Priority 4 (goal 6) At least 100 leftover gear assemblyPriority 4 (goal 6) At least 100 leftover gear assemblyXX22 + U+ U66 -- EE66 = 900 = 900
� Priority level objectives
Priority 1: Underachieving a production of 400 B2s:Minimize U 1
NECC - SOLUTION
Minimize U 1
Priority 2: Underachieving a total production of 1000: Minimize U 2
� Priority level objectives � Priority 3: Underachieving a $100,000 profit
Using more than 1600 labor-hoursMinimize 30U + E
NECC - SOLUTION
Minimize 30U 3 + E4
Each $1,000 short of the $100,000 goal is considered 30 times as important as utilizing an extra labor-hour.
� Priority level objectives Priority 4: Using more than 2200 tires
Using more than 900 gear assemblies
NECC - SOLUTION
Minimize E 5 + 2E6
Each leftover gear assembly is deemed twice as important as leftover tire.
� Solve the linear goal programming for priority 1 objective, under the set of regular constraints and goal constraint as shown below
NECC - The solution procedure
constraint as shown below
Minimize U 1ST
X1 + U1 - E1 = 400
Tires2400X2X2
Gear1000X
Seats2000XX2
21
2
21
≤+≤≤+X1 = 400, thus
U1 = 0, and priority 1 goal is fully achieved.
� Solve the linear goal programming for priority 2 level objective, under the set of original constraints plus the constraint X1 ≥≥≥≥ 400 (maintain the level of achievement of the priority 1 goal).
Minimize U 2
NECC - The solution procedure
Minimize U 2
STEvery point that satisfies X1 + X2 ≥≥≥≥1000 yields U2 = 0, and therefore, priority 2 goal is fully achieved.
Tires2400X2X2
Gear1000X
Seats2000XX2
21
2
21
≤+≤≤+
X1 ≥≥≥≥ 400X1 + X2 + U2 - E2 = 1000
� Solve the linear goal programming for priority 3 level objective, under the set of original constraints plus the constraint X1 ≥≥≥≥ 400 (maintain the level of achievement of the
NECC - The solution procedure
(maintain the level of achievement of the priority 1 goal), plus the constraint X1 + X2 ≥≥≥≥1000 (maintain the level of achievement of the priority 2 goal).
� Every point in the range X1 = 400 and 600 ≤≤≤≤ X2 ≤≤≤≤800 is optimal for this model; 30U3 + E4 = 1720 is the level of achievement for the priority 3 goal.
� 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
NECC - The solution procedure
a segment of a straight line between the points (400,600) and (400,800).
� X1 =400; 600 ≤≤≤≤ X2 ≤≤≤≤ 700 and E5 + 2E6 = 0
� In summary NECC should produce� 400 B2 model
Between 600 and 700 S10 model
NECC - Solution Summary
� Between 600 and 700 S10 model