Optimization and Decision Models: Introduction
Optimization and Decision Models: Introduction
Lecture 1
Outlines
• Optimization
• Body of Knowledge
• Problem Solving and Decision Making
• Qualitative Analysis and Decision Making
• Quantitative Analysis
• To find the best solution, you have to have a way of measuring whether a
solution is better than another.
• When you're playing a game, you want to come up with the best strategies.
• When you're doing work, you want to come up with the best product you
can.
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 3
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
What is Optimization
• Travel: when you travel you want to find the shortest path from one place to
another. That's the way car navigators are set up.
• So optimization is everywhere
• https://www.youtube.com/watch?v=Q2dewZweAtU
It had its early roots in World War II and is flourishing in business and industry
due, in part, to:
•numerous methodological developments (e.g. simplex method for solving
linear programming problems)
•a virtual explosion in computing power
•User friendly software
•Lower cost computer hardware and software
•General knowledge of managers
Q. What are the steps for problem solving? Can you think of one of them?
A firm just completed a new plant that will produce more than 500 different
products, using more than 50 different production lines and machines. The
production scheduling decisions are critical in that sales will be lost if customer
demands are not met on time. If no individual in the firm has experience with this
production operation and if new production schedules must be generated each
week, why should the firm consider a quantitative approach to the production
scheduling problem?
A firm just completed a new plant that will produce more than 500 different
products, using more than 50 different production lines and machines. The
production scheduling decisions are critical in that sales will be lost if customer
demands are not met on time. If no individual in the firm has experience with this
production operation and if new production schedules must be generated each
week, why should the firm consider a quantitative approach to the production
scheduling problem?
A quantitative approach should be considered because the problem is large, complex, important,
new and repetitive.
• Model Development
• Data Preparation
• Model Solution
• Report Generation
• Analog models - physical in form, but do not physically resemble the object
being modeled
• The speedometer of an automobile is an analog model; the position of the
needle on the dial represents the speed of the automobile.
• A thermometer is another analog model representing temperature.
• Example, the total profit from the sale of a product can be determined by
multiplying the profit per unit by the quantity sold.
• If we let x represent the number of units sold and P the total profit, then, with a
profit of $10 per unit, the following mathematical model defines the total profit
earned by selling x units:
P = 10x --------- this formula has a name (next slide)
What is the profit of selling 3 units?
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 22
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Model Development
• The more closely the model represents the real situation, the accurate the
conclusions and predictions will be
Uncontrollable Inputs – environmental factors that are not under the control
of the decision maker
In the preceding mathematical model, the profit per unit ($10), the
production time per unit (5 hours), and the production capacity (40 hours)
are environmental factors not under the control of the manager or decision
maker.
• If any of the uncontrollable inputs are uncertain to the decision maker, the model is referred to as a stochastic or
probabilistic model.
• An uncontrollable input to many production planning models is demand for the product.
• A mathematical model that treats future demand—which may be any of a range of values—with uncertainty
would be called a stochastic model.
• In the production model, the number of hours of production time required per unit, the total hours available, and
the unit profit were all uncontrollable inputs.
• Because the uncontrollable inputs were all known to take on fixed values, the model was deterministic.
• If, however, the number of hours of production time per unit could vary from 3 to 6 hours depending on the
quality of the raw material, the model would be stochastic.
• The distinguishing feature of a stochastic model is that the value of the output cannot be Determined even if the
value of the controllable input is known because the specific values of the uncontrollable inputs are unknown. In
this respect, stochastic models are often more difficult to analyze.
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 30
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Stochastic vs Deterministic Models
What assumptions or approximations are necessary to treat this model as a deterministic model?
[The second constraint reflects the fact that it is not possible to manufacture
a negative number of units.]
• Data preparation is not a trivial step, due to the time required and the
possibility of data collection errors.
• A model with 50 decision variables and 25 constraints could have over 1300
data elements!
• The analyst attempts to identify the alternative (the set of decision variable
values) that provides the “best” output for the model.
• If the alternative does not satisfy all of the model constraints, it is rejected as
being infeasible, regardless of the objective function value.
• Microsoft Excel
• Example: https://www.solver.com/solver-tutorial-using-solver
• LINGO
• Example: https://www.eostrack.com/lingo
• Iron Works, Inc. manufactures two products made from steel and just
received this month's allocation of b pounds of steel.
• It takes a1 pounds of steel to make a unit of product 1 and a2 pounds of steel
to make a unit of product 2.
• Let x1 and x2 denote this month's production level of product 1 and product
2, respectively.
• Denote by p1 and p2 the unit profits for products 1 and 2, respectively.
• Iron Works has a contract calling for at least m units of product 1 this month.
• The firm's facilities are such that at most u units of product 2 may be
produced monthly.
Mathematical Model
This quantity must be less than or equal to the allocated b pounds of steel:
a1x1 + a2x2 < b
subject to s.t.
a1x1 + a2x2 < b
x1 > m Constraints
x2 < u
x2 > 0
Question
Rewrite the model with these specific values for the uncontrollable inputs.
Answer
Substituting, the model is:
Question
The optimal solution to the current model is x1 = 60 and x2 = 626 2/3. If the
product were engines, explain why this is not a true optimal solution for the
"real-life" problem.
Answer
One cannot produce and sell 2/3 of an engine. Thus the problem is further
restricted by the fact that both x1 and x2 must be integers.
Linearprogramming
Integer programming
Network models (such as transportation and transshipment models)
• All LP problems have constraints that limit the degree to which the objective
can be pursued.
• A graphical solution method can be used to solve a linear program with two
variables.
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 4
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Linear Programming (LP) Problem
• If both the objective function and the constraints are linear, the problem is referred
to as a linear programming problem.
• Linear functions are functions in which each variable appears in a separate term
raised to the first power and is multiplied by a constant (which could be 0).
• Linear constraints are linear functions that are restricted to be "less than or equal to",
"equal to", or "greater than or equal to" a constant.
f(x,y) = 4x+5y
s.t.
x≥0
y≥0
x+y≤6
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 5
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Problem Formulation
• Formulating models is an art that can only be mastered with practice and
experience.
• Every LP problems has some unique features, but most problems also have
common features.
• General guidelines for LP model formulation are illustrated on the slides that
follow.
• The diet problem is one of the classical illustrations of a problem that leads
to a linear programming model.
• The problem is concerned with providing at minimal cost a diet adequate for
a person to sustain himself or herself.
• Simply stated, what is the least expensive way of combining various amounts
of available foods in a diet that meets a person's nutritional requirements?
• The nutrient values and cost of a unit of each of these five foods are given in
the next slide.
Since we have only apples and bananas, then we only have two variables A and B
Mathematical Model:
F(A,B) = ?
Mathematical Model:
• Then we look for the optimal solution with the objective that provide the
best solution
B
58.33
20
C1
8 C3
C2
30 A
10 175
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 20 8.3 ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Example 1: Diet Problem Solution
Corner method: try all corners of the feasible region: (0, 58.3), (175,0)
Take the best solution
Substitute points in F(A,B) :
(0, 58.3) in
F(A,B) = 8A+10B
F(A, B) = 0 +10(58.3) = 583 cents
(175,0)=
Another approach find the Minimum point of feasible region: contour lines
Summary:
The minimum is achieved at a corner of the domain defined by the constraint (a.k.a
feasible region )
Objective
Max 5x1 + 7x2 Function
s.t. x1 < 6
Constraints
2x1 + 3x2 < 19
x1 + x2 < 8
Non-negativity
x1 > 0 and x2 > 0 Constraints
x2
8
7 x1 = 6
6
Shaded region
5 contains all
4 feasible points
for this constraint
3
2 (6, 0)
1
x1
1 2 3 4 5 6 7 8 9 10
x2
8 (0, 6 1/3)
7
6
2x1 + 3x2 = 19
5
4
Shaded
3
region contains
2 all feasible points (9 1/2, 0)
1 for this constraint
x1
1 2 3 4 5 6 7 8 9 10
x2 (0, 8)
8
7
6 x1 + x2 = 8
5
4
Shaded
3
region contains
2 all feasible points
for this constraint (8, 0)
1
x1
1 2 3 4 5 6 7 8 9 10
x2
x1 + x2 = 8
8
7
x1 = 6
6
5
4
3
Feasible 2x1 + 3x2 = 19
2 Region
1
x1
1 2 3 4 5 6 7 8 9 10
8
7
5x1 + 7x2 = 35
6
5 5x1 + 7x2 = 39
4
3 5x1 + 7x2 = 42
2
1
x1
1 2 3 4 5 6 7 8 9 10
x2 Maximum
Objective Function Line
8 5x1 + 7x2 = 46
7
6 Optimal Solution
(x1 = 5, x2 = 3)
5
4
3
2
1
x1
1 2 3 4 5 6 7 8 9 10
x2
8
7 5 (0, 6 1/3)
6
5
4
4 (5, 3)
3 Feasible
Region 3 (6, 2)
2
1 1 (0, 0) 2 (6, 0)
x1
1 2 3 4 5 6 7 8 9 10
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 35
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Summary of the Graphical Solution Procedure
for Optimization Problems
• Any feasible solution on the objective function line with the largest value
is an optimal solution.
• They involve blending several resources or materials to create one or more products
corresponding to a demand.
• The contents and cost of a pound of each of the two feeds are given in the next slide.
• Question: What is the best blend that the farmer he can make and satisfying the daily nutrition
requirements?
• Or: How much of each feed should the farmer use everyday and meet the daily needs?
A B C Cost ($/lb)
Feed1 3 7 3 10
Feed2 2 2 6 4
Feasible solution?
https://www.youtube.com/watch?v=vGvuqFyMUi8&t=57s
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 48
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Example
Annexe
• Simplex Method
• LP Special Cases
• Solver
A Minimization Problem
s. t. x1 + x2 + x3 < 30
x1 - x2 + 2x3 = 20
x1 , x2 , x3 > 0
s. t. x1 + x2 + x3 + s1 = 30
2x1 + x2 + 3x3 - s2 = 60
x1 - x2 + 2x3 = 20
Infeasibility
• No solution to the LP problem satisfies all the
constraints, including the non-negativity conditions.
• Graphically, this means a feasible region does not
exist.
• Causes include:
A formulation error has been made.
Management’s expectations are too high.
Too many restrictions have been placed on the
problem (i.e. the problem is over-constrained).
x1, x2 > 0
x2
10
2x1 + x2 > 8
8
6
4x1 + 3x2 < 12
4
x1
2 4 6 8 10
Unbounded
• The solution to a maximization LP problem is
unbounded if the value of the solution may be
made indefinitely large without violating any of the
constraints.
• For real problems, this is the result of improper
formulation. (Quite likely, a constraint has been
inadvertently omitted.)
s.t. x1 + x2 > 5
3x1 + x2 > 8
x1, x2 > 0
The feasible region is unbounded and the objective function line can be
moved outward from the origin without bound, infinitely increasing the
objective function.
x2
10
3x1 + x2 > 8
8
4
x1 + x2 > 5
2
x1
2 4 6 8 10
Tableau Form
Simplex Method
Solver
Exercises
s. t. x1 + x2 + x3 + s1 = 30
2x1 + x2 + 3x3 - s2 + a2 = 60
x1 - x2 + 2x3 + a3 = 20
• When a linear programme contains all less-than-or-equal-to constraints with nonnegative right-
hand side values, it is easy to set up the tableau form:
• we simply add a slack variable to each constraint.
Step 8: Each slack and artificial variable becomes one of the basic
variables in the initial basic feasible solution.
x1 x2 x3 s1 s2 s3
Basis cB 12 18 10 0 0 0
s1 0 2 3 4 1 0 0 50
s2 0 -1 1 1 0 1 0 0 (* row)
s3 0 0 -1 1.5 0 0 1 0
zj 0 0 0 0 0 0 0
cj - zj 12 18 10 0 0 0
Iteration 1
Step 1: Determine the Entering Variable
The most positive cj - zj = 18. Thus x2 is the
entering variable.
Step 2: Determine the Leaving Variable
Take the ratio between the right hand side and
positive numbers in the x2 column:
50/3 = 16 2/3
0/1 = 0 minimum
s2 is the leaving variable and the 1 is the pivot
element.
Iteration 1 (continued)
Step 3: Generate New Tableau
Divide the second row by 1, the pivot element. Call the
"new" (in this case, unchanged) row the "* row".
Subtract 3 x (* row) from row 1.
Subtract -1 x (* row) from row 3.
New rows 1, 2, and 3 are shown in the upcoming
tableau.
Iteration 1 (continued)
Step 4: Calculate zj Row for New Tableau
The new zj row values are obtained by multiplying the cB
column by each column, element by element and summing.
For example, z1 = 5(0) + -1(18) + -1(0) = -18.
Iteration 1 (continued)
Step 5: Calculate cj - zj Row for New Tableau
The new cj-zj row values are obtained by
subtracting zj value in a column from the cj value in the same
column.
For example, c1-z1 = 12 - (-18) = 30.
s1 0 5 0 1 1 -3 0 50 (* row)
x2 18 -1 1 1 0 1 0 0
s3 0 -1 0 2.5 0 1 1 0
zj -18 18 18 0 18 0 0
cj - zj 30 0 -8 0 -18 0
Iteration 2
Step 1: Determine the Entering Variable
The most positive cj - zj = 30. x1 is the entering
variable.
Step 2: Determine the Leaving Variable
Take the ratio between the right hand side and
positive numbers in the x1 column:
10/5 = 2 minimum
There are no ratios for the second and third rows
because their column elements (-1) are negative.
Thus, s1 (corresponding to row 1) is the leaving
variable and 5 is the pivot element.
Iteration 2 (continued)
Step 3: Generate New Tableau
Divide row 1 by 5, the pivot element. (Call this new row 1 the
"* row").
Subtract (-1) x (* row) from the second row.
Subtract (-1) x (* row) from the third row.
Step 4: Calculate zj Row for New Tableau
The new zj row values are obtained by
multiplying the cB column by each column, element by
element and summing.
For example, z3 = .2(12) + 1.2(18) + .2(0) = 24.
Iteration 2 (continued)
Step 5: Calculate cj - zj Row for New Tableau
The new cj-zj row values are obtained by subtracting zj value in
a column from the cj value in the same column.
For example, c3-z3 = 10 - (24) = -14.
s.t. x1 < 6
2x1 + 3x2 < 18
x1 + x2 < 7
Solver
• Most optimization software uses the Simplex Method to solve the problems.
• Store objective function coefficients in separate cells, and use another cell to
compute the objective function value
• Store constraint coefficients in cells, compute the LHS value of each constraint, for
comparison to the RHS value
A farmer has to feed his stock from two feeds. These feeds contain nutritional
elements A, B and C. He has to feed his stock at least with 60 units of A, 84
units of B and 72 units of C in a daily basis.
One lb. of feed1 contains 3 units of A, 7 units of B and 3 units of C
One lb. of feed2 contains 2 units of A, 2 units of B and 6 units of C
Cost per lb of feeds is: 10 fils / lb for feed1 and 4 fils / lb for feed2
Question: what is the best mix of feeds that the farmer should use that satisfy
his daily nutritional requirements and with the minimum cost.
Objective function:
minimize z = 10x + 4y
Constraints
3x + 2y >= 60
7x + 2y >= 84
3x + 6y >= 72
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 45
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
46
Example: Blending Problem
Cost/lb 10 4
Solver Steps
• Solver Settings
Specify Objective Cell (objective function)
Specify Changing Cells (decision variables)
Specify Constraints
• Select LHS Cell (E14), relationship (>=), and RHS Cell (G14).
LHS Cell should contain a formula which computes the LHS Value of the
constraint.
RHS Cell should contain a fixed value.
Solver Parameters
Solver Results
Read the message on the box. The one shown indicates the optimal solution has been found.
Learning Exercise 1
• One lb. of feed1 costs 16 fils and contains 10 units of A and 3 units of B.
• One lb. of feed2 costs 14 fils and contains 4 units of A and 5 units of B.
Learning Exercise 2
The accounting department analyzed the production data, assigned all relevant
variable costs, and arrived at prices for both bags that will result in a profit
contribution of 10 AED for every standard bag and 9 AED for every deluxe bag
produced.
Learning Exercise 2
• Let us consider how a change in the right-hand side for a constraint might affect
the feasible region and perhaps cause a change in the optimal solution.
• The improvement in the value of the optimal solution per unit increase in the
right-hand side is called the shadow price.
• The range of feasibility is the range over which the shadow price is applicable.
• As the RHS increases, other constraints will become binding and limit the change
in the value of the objective function.
• The anticipated unit profits are $10 for the Deluxe and $15 for the
Professional.
Model Formulation
Verbal Statement of the Objective Function
Maximize total weekly profit.
Verbal Statement of the Constraints
Total weekly usage of aluminum alloy < 100 pounds.
Total weekly usage of steel alloy < 80 pounds.
Definition of the Decision Variables
x1 = number of Deluxe frames produced weekly.
x2 = number of Professional frames produced weekly.
x1, x2 > 0
A B C D
6 Decision Variables
7 Deluxe Professional
8 Bikes Made 15 17.500
9
10 Maximized Total Profit 412.500
11
12 Constraints Amount Used Amount Avail.
13 Aluminum 100 <= 100
14 Steel 80 <= 80
Optimal Solution
x1 (Deluxe frames) = 15
x2 (Professional frames) = 17.5
Objective function value = $412.50
Range of Optimality
Question
Suppose the profit on deluxe frames is increased to $20. Is
the above solution still optimal?
Range of Optimality
Answer
The output states that the solution remains optimal as long as
the objective function coefficient of x1 is between 7.5 and 22.5.
Because 20 is within this range, the optimal solution will not
change.
Range of Optimality
Question
If the unit profit on deluxe frames were $6 instead of $10,
would the optimal solution change?
Range of Optimality
Answer
The output states that the solution remains optimal as long as
the objective function coefficient of x1 is between 7.5 and
22.5. Because 6 is outside this range, the optimal solution
would change.
x1, x2 > 0
Optimal Solution
According to the output:
x1 = 1.5
x2 = 2.0
Range of Optimality
Question
Suppose the unit cost of x1 is decreased to $4. Is the current solution
still optimal? What is the value of the objective function when this
unit cost is decreased to $4?
Range of Optimality
Answer
The output states that the solution remains optimal as long as the
objective function coefficient of x1 is between 0 and 12. Because 4 is
within this range, the optimal solution will not change. However, the
optimal total cost will change:
6x1 + 9x2 = 4(1.5) + 9(2.0) = $24.00.
Range of Optimality
Question
How much can the unit cost of x2 be decreased without concern
for the optimal solution changing?
• In this chapter we discuss a class of problems that are modeled as linear programs with the
additional requirement that one or more variables must be integer.
• If some, but not all, variables must be integer, we have a mixed-integer linear program.
• If all variables are 0-1 variables, we have a 0-1 integer linear program.
• The LP that results from dropping the integer requirements is called the LP
Relaxation of the ILP.
LP Relaxation
Solving the problem as a linear program ignoring the integer
constraints, the optimal solution to the linear program gives
fractional values for both x1 and x2. From the graph on the
next slide, we see that the optimal solution to the linear
program is:
x1 = 2.5, x2 = 1.5,
Max 3x1 + 2x2 = 10.5
LP Relaxation
x2
5
- x1 + x2 < 1
4 3x1 + x2 < 9
x1
1 2 3 4 5 6 7
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 8
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Example: All-Integer LP
Rounding Up
If we round up the fractional solution (x1 = 2.5, x2 = 1.5) to
the LP relaxation problem, we get x1 = 3 and x2 = 2. From
the graph on the next slide, we see that this point lies
outside the feasible region, making this solution infeasible.
Rounded Up Solution
x2
5
- x1 + x2 < 1
4 3x1 + x2 < 9
x1
1 2 3 4 5 6 7
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 10
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Example: All-Integer LP
Rounding Down
By rounding the optimal solution down to x1 = 2, x2 = 1, we
see that this solution indeed is an integer solution within the
feasible region, and substituting in the objective function, it
gives 3x1 + 2x2 = 8.
We have found a feasible all-integer solution, but have we
found the OPTIMAL all-integer solution?
---------------------
The answer is NO! The optimal solution is x1 = 3 and
x2 = 0 giving 3x1 + 2x2 = 9, as evidenced in the next two slides.
1. 0 0 0
2. 1 0 3
3. 2 0 6
4. 3 0 9 optimal solution
5. 0 1 2
6. 1 1 5
7. 2 1 8
8. 1 2 7
x2
5 - x1 + x2 < 1
4 3x1 + x2 < 9
x1
1 2 3 4 5 6 7
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 13
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Example: Capital Budgeting
The estimated net present value is the net cash flow discounted back to the beginning of year
Decision Variables
The four 0-1 decision variables are as follows:
P = 1 if the plant expansion project is accepted;
0 if rejected
W = 1 if the warehouse expansion project is accepted;
0 if rejected
M = 1 if the new machinery project is accepted;
0 if rejected
R = 1 if the new product research project is accepted;
0 if rejected
Problem Data
This problem has four constraints: one for the funds available in each of
the next four years.
Problem Formulation
Optimal Solution
P = 1, W = 1, M = 1, R = 0.
Total estimated net present value = $140,000
The company should fund the plant expansion, the warehouse
expansion, and the new machinery projects.
The new product research project should be put on hold unless
additional capital funds become available.
The company will have $5,000 remaining in year 1, $15,000 remaining
in year 2, and $11,000 remaining in year 4. Additional capital funds of
$10,000 in year 1 and $10,000 in year 3 will be needed to fund the new
product research project.
In many applications, the cost of production has two components: a setup cost, which is a fixed
cost, and a variable cost, which is directly related to the production quantity.
The use of 0-1 variables makes including the setup cost possible in a model for a production
application.
As an example of a fixed cost problem, consider the RMC problem. Three raw materials are
used to produce three products: a fuel additive, a solvent base, and a carpet cleaning fluid.
The following decision variables are used:
F = tons of fuel additive produced
S = tons of solvent base produced
C = tons of carpet cleaning fluid produce
Decision Variables
Optimal Solution
Produce 25 tons of fuel additive.
Produce 20 tons of solvent base.
Produce 0 tons of cleaning fluid.
The value of the objective function after deducting
the setup cost is $1350. The setup cost for the fuel
additive and the solvent base is $200 + $50 = $250.
The optimal solution shows SC = 0, which indicates
that the more expensive $400 setup cost for the carpet
cleaning fluid should be avoided.
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 26 26
Example: Bank Location
The 20 counties in the region and adjacent counties are listed on the next
slide. For example, Ashtabula County is adjacent to Lake, Geauga, and
Trumbull counties; Lake County is adjacent to Ashtabula, Cuyahoga, and
Geauga counties; and so on.
As an initial step in its planning, Ohio Trust would like to determine the
minimum number of PPBs necessary to do business throughout the 20-county
region.
A 0-1 integer programming model can be used to solve this location problem
for Ohio Trust.
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 28 28
Example: Bank Location
Decision Variables
xi = 1 if a PBB is established in county i; 0 otherwise
Problem Formulation
To minimize the number of PPBs needed, we write the objective function as follows
Note that satisfaction of this constraint ensures that a PPB will be placed in Ashtabula County or in
one or more of the adjacent counties. This constraint thus guarantees that Ohio Trust will be able to
place branch banks in Ashtabula County.
Optimal Solution
For this 20-variable, 20-constraint problem:
• Introduction
• Network Diagram
• LP Formulation
• Examples
• Variations
Introduction
Introduction
• A Network model is one which can be represented by a set of nodes, a set of arcs, and
functions (e.g. costs, supplies, demands, etc.) associated with the arcs and/or nodes.
• Because of the structure of the model it has, a more efficient algorithm is used rather than the
simplex algorithm
• The network representation for a transportation problem with two sources and three
destinations is given on the next slide.
Network Representation
1 d1
c11
s1 1 c12
c13
2 d2
c21
s2 2 c22
c23
3 d3
Sources Destinations
𝑚 𝑛
ABC Example
ABC has three electric power plants that supply the needs of four cities.
Each power plant can supply the following numbers of kilowatt-hours (kwh) of electricity:
- plant 1 supply 35 million
- plant 2 supply 50 million
- plant 3 supply 40 million
The peak power demands in these cities, which occur at the same time (2 P.M.), are as follows (in
kwh):
- city 1 requires 45 million;
- city 2 requires 20 million;
- city 3 requires 30 million;
- city 4 requires 30 million.
The costs of sending 1 million kwh of electricity from plant to city depend on the distance the
electricity must travel.
Formulate an LP to minimize the cost of meeting each city’s peak power demand.
ABC Example
Shipping Costs, Supply, and Demand for ABC are summarized in the following
table.
To
City 1 City 2 City 3 City 4 supply
From
Plant 1 8 6 10 9 35
Plant 2 9 12 13 7 50
Plant 3 14 9 16 5 40
Demand 45 20 30 30
(million kwh)
ABC Example
Formulate an LP to minimize the cost of meeting each city’s peak power demand.
Define a variable for each decision that ABC must make.
Because ABC must determine how much power is sent from each plant to each city, we
define (for i 1, 2, 3 and j 1, 2, 3, 4)
x11
Plant1 City1
x14 x12
x13
x21
x24 x22
City 4 Plant2 City2
x23
x34
x32
x31
Plant3 City3
x33
ABC faces two types of constraints: supply constraints and demand constraints.
Total power supplied by each plant cannot exceed the plant’s capacity.
Example, the total amount of power sent from plant 1 to the four cities cannot exceed
35 million kwh.
Each variable with first subscript 1 represents a shipment of power from plant 1, so we
may express this restriction by the LP constraint
In the same way, we can find constraints that reflect plant 2’s and plant 3’s capacities.
Because power is supplied by the power plants, each is a supply point.
A constraint that ensures that the total quantity shipped from a plant does not exceed
plant capacity is a supply constraint.
The LP formulation of ABC problem contains the following three supply constraints:
Constraints that ensure that each city will receive sufficient power to meet its peak
demand.
A constraint that ensures that a location receives its demand is a demand constraint.
ABC must satisfy the following four demand constraints:
Combining the objective function, supply constraints, demand constraints, we get the
following LP formulation of ABC problem:
Objective function
min z = 8x11 + 6x12 + 10x13 + 9x14 + 9x21 + 12x22 + 13x23 + 7x24 + 14x31 + 9x32 +
16x33 + 5x34
Supply constraints
x11 + x12 + x13 + x14 ≤ 35
x21 + x22 + x23 + x24 ≤ 50
x31 + x32 + x33 + x34 ≤ 40
Demand constraints
x11 + x21 + x31 = 45
x12 + x22 + x32= 20
x13 + x23 + x33 = 30
x14 + x24 x34 = 30
b) a set of n demand points to which the good is shipped. Demand point j must receive
at least dj units of the shipped good. In the ABC example, n = 4, d1 = 45, d2 = 20,
d3 = 30, and d4 = 30.
c) each unit produced at supply point i and shipped to demand point j incurs a variable
cost of cij. In the ABC example, c12 = 6.
• Each node has one constraint and each arc has one variable.
• The sum of the variables corresponding to arcs from an origin node must be
less than or equal to the origin’s supply
• the sum of the variables corresponding to the arcs into a destination node
must be equal to the destination’s demand.
• The optimal objective function values and optimal decision variable values
indicates that the minimum total transportation cost is $1020.
• The values for the decision variables show the optimal amounts to ship over
each route
• Other values of the decision variables indicate the remaining shipping
quantities and routes.
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 20
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
21
For the ABC problem, total supply and total demand both equal 125, so this is a
balanced transportation problem.
Group Work
The firm distributes its generators through four regional distribution centers located
in Boston, Chicago, St. Louis, and Lexington;
Management would like to determine how much of its production should be shipped
from each plant to each distribution center. The Figure below shows graphically the 12
distribution routes Foster can use.
Group Work
Group Work
Group Work
Transportation model is an LP model, hence we can use the simplex to solve these
problems.
However, transportation model has a good structure that can be used to get a much
better algorithm than the simplex algorithm
Variations of the basic transportation model may involve one or more of the following
situations:
1. Total supply not equal to total demand
2. Maximization objective function
3. Route capacities or route minimums
4. Unacceptable routes
Textbook Chapters
Chapter 8: Network Models
Chapter 9: PERT/CPM
Where: c13
xij = number of units shipped from origin i to destination j 2 d2
c21
cij = cost per unit of shipping from origin i to destination j
si = supply or capacity in units at origin i c22
s2 2
dj = demand in units at destination j c23
3 d3
Sources Destinations
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 3
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Introduction to Network Optimization Problems
• “Network” Models
• Transportation problems
• Assignment problems
• Transshipment problems
• Shortest-route problems
• Minimal span problems
• Maximal flow problems
• Project management
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 4
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Examples: Supply Chain Optimization Problems
• Supply chain network optimization seeks to find an optimal combination of factories and distribution centers in the supply chain.
• The solution should match supply and demand, as well as find a network configuration with the lowest costs.
• Based on the optimization results, a manager can compare potential network designs and evaluate the maximum profitability of each of
them.
To get the most efficient one, you can perform a network optimization experiment using a software tool for supply chain
design by using optimization algorithms and simulation.
The output data will show values of transportation and production flows, inventory at the end of each time period, and
associated costs.
Furthermore, you will have data on several possible network configurations options, including those with the lowest costs.
From that, you can then choose the one that best fits your business and implement it in the real world.
You can use network optimization for several supply chain design problems:
•Distribution network design with inventory, lead time, and transportation mode selection
•Shortest-route problems
•Minimal span problems
•Maximal flow problems
•Project management
Example of “Government Development Agency (GDA) in Brunei, South Asia (Ch. 8: p.335)
- Several economic development construction projects
- Projects for public infrastructure to support various regions
- GDA offices in the region must visit several sites on daily basis.
Decision: Which route to follow to minimize total travel time ?
17
6
6
15 6
3 4
GDA
10 2
4
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 14
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Shortest-Route Algorithm
Step 1: Assign node 1 the permanent label [0,S]. The first number is the distance from
node 1; the second number is the preceding node. Since node 1 has no preceding node,
it is labelled S for the starting node.
Step 2: Compute tentative labels, (d,n), for the nodes that can be reached directly from
node 1. d = the direct distance from node 1 to the node in question – this is called the
distance value. n indicates the preceding node on the route from node 1 – this is called
the preceding node value.
Step 3: Identify the tentatively labelled node with the smallest distance value. Suppose
it is node k. Node k is now permanently labelled (using [ , ] brackets). If all nodes are
permanently labelled, GO TO STEP 5.
Step 4: Consider all nodes without permanent labels that can be reached directly from
the node k identified in Step 3. For each, calculate the quantity t, where
Step 4: (continued)
If the non-permanently labelled node has a tentative label, compare t with
the current distance value at the tentatively labelled node in question.
If t < distance value of the tentatively labelled node, replace the tentative label
with (t,k).
If t > distance value of the tentatively labelled node, keep the current tentative
label.
If the non-permanently labelled node does not have a tentative label, create
a tentative label of (t,k) for the node in question.
In either case, now GO BACK TO STEP 3.
Step 5: The permanent labels identify the shortest distance from node 1 to each
node as well as the preceding node on the shortest route. The shortest route to a
given node can be found by working backwards by starting at the given node and
moving to its preceding node. Continuing this procedure from the preceding node
will provide the shortest route from node 1 to the node in question.
Find the Shortest Route From Node 1 to All Other Nodes in the Network:
5
2 5
4 6
3
2
7 3 7
1 3
5 1 2
6
4 6
8
Iteration 1
(4,1)
5
2 5
4 6
3 2
7 3 7
[0,S] 1 3 (7,1)
5 1 2
6
(5,1) 4 6
8
Iteration 1
Step 3: Node 2 is the tentatively labelled node with the smallest
distance (4), and hence becomes the new permanently labelled
node.
[4,1]
2 5 5
4 6
3 2
7 3 7
[0,S] 1 3 (7,1)
1
5 6 2
(5,1) 4 6
8
Iteration 1
Step 4: For each node with a tentative label which is connected to Node 2 by just
one arc, compute the sum of its arc length plus the distance value of Node 2
(which is 4).
[4,1] (9,2)
5
2 5
4 6
3 2
7 3 7
[0,S] 1 3 (7,1)
1
5 6 2
(5,1) 4 6
8
Iteration 2
Step 3: Node 4 has the smallest tentative label distance (5). It
now becomes the new permanently labelled node.
[4,1] (9,2)
5
2 5
4 6
3 2
7 3
[0,S] 1 3 (6,4) 7
1
5 6 2
[5,1] 4 6
8
Iteration 2
Step 4: For each node with a tentative label which is connected to node
4 by just one arc, compute the sum of its arc length plus the distance
value of node 4 (which is 5).
Iteration 3
Step 3: Node 3 has the smallest tentative distance label (6). It
now becomes the new permanently labelled node.
[4,1] (9,2)
5
2 5
4 6
3 2
7 3 7
[0,S] 1 3 [6,4]
1
5 6 2
[5,1] 4 6 (13,4)
8
Iteration 3
Step 4: For each node with a tentative label which is connected to node 3 by just one
arc, compute the sum of its arc length plus the distance to node 3 (which is 6).
Node 5: 2 + 6 = 8 (replace the tentative label of node 5 with (8,3) since 8 < 9, the
current distance)
Node 6: 6 + 6 = 12 (replace the tentative label of node 6 with (12,3) since 12 < 13, the
current distance)
[5,1] 4 6 (12,3)
8
Iteration 4
Step 3: Node 5 has the smallest tentative label distance (8). It
now becomes the new permanently labelled node.
[4,1] [8,3]
5
2 5
4 6
3 2
7 3 7
[0,S] 1 3 [6,4]
5 1 2
6
[5,1] 4 6 (12,3)
8
Iteration 4
Step 4: For each node with a tentative label which is connected
to node 5 by just one arc, compute the sum of its arc length
plus the distance value of node 5 (which is 8).
Node 7: 6 + 8 = 14 (assign)
5 1 2
6
[5,1] 4 6 (11,5)
8
Iteration 5
Step 3: Node 6 has the smallest tentative label distance (11). It
now becomes the new permanently labelled node.
[4,1] [8,3]
5
2 5
6
4 3 (14,5)
2
7 3 7
[0,S] 1 3 [6,4]
5 1 2
6
[5,1] 4 6 [11,5]
8
Iteration 5
Step 4: For each node with a tentative label which is connected
to Node 6 by just one arc, compute the sum of its arc length
plus the distance value of Node 6 (which is 11).
5 1 2
6
[5,1] 4 6 [11,5]
8
Iteration 6
Step 3: Node 7 becomes permanently labelled, and hence all
nodes are now permanently labelled. Thus proceed to
summarize in Step 5.
Solution Summary
17 5
1
6
6
15 3 6
3 4
GDA 6
4
10 2
2 4
In this problem, we seek to find a way to reach all the nodes of a network by minimizing the total length of
the arcs.
6
5
1
2
3 60
45 9
50 20 30
1 45 6
4
40 40
30 35
5 15
25 20
7 10
2 35
30
8 25
50
Iteration 1: Arbitrarily selecting node 1, we see that its closest node is Order of connection
node 2 (distance = 30). Therefore, initially we have: 2
Connected nodes: 1,2 5
Unconnected nodes: 3,4,5,6,7,8,9,10
Chosen arcs: 1 – 2
Iteration 2: The closest unconnected node to a connected node is node 5
(distance = 25 to node 2). Node 5 becomes a connected node.
Connected nodes: 1,2,5
Unconnected nodes: 3,4,6,7,8,9,10
Chosen arcs: 1–2, 2–5
Objective is to find the maximum flow that can enter (source) and exit (sink) a network system.
Examples: Vehicles going through in a city, messages on the internet, fluids in piping system…
The network systems usually have capacity constraints on the arcs, referred to as Flow Capacity
LP Formulation
(as Capacitated Transshipment Problem)
LP Formulation
(as Capacitated Transshipment Problem)
LP Formulation
18 variables (for 17 original arcs and 1 added arc)
24 constraints
7 node flow-conservation constraints
17 arc capacity constraints (for original arcs)
3
5
2
8
2 3 Flow out of Glasgow
5 1 1 7
2
Flow out of Glasgow 6 7
3 6
7
1
3
5
5
4
Project Management Problems involve creating a network of tasks that need to be accomplished.
An important decision is determining the time it will take to execute a project, AND which tasks
are important to monitor.
PERT
Programme Evaluation and Review Technique
Developed by US Navy for Polaris missile project
Developed to handle uncertain activity times
CPM
Critical Path Method
Developed by Du Pont & Remington Rand
Developed for industrial projects for which activity times generally were
known
PERT and CPM have been used to plan, schedule, and control a
wide variety of projects:
Project managers rely on PERT/CPM to help them answer questions such as:
A critical path for the network is a path consisting of activities with zero
slack.
Frank’s Fine Floats is in the business of building elaborate parade floats. Frank and
his crew have a new float to build and want to use PERT/CPM to help them manage the
project.
The table on the next slide shows the activities that comprise the project. Each activity’s
estimated completion time (in days) and immediate predecessors are listed as well.
Frank wants to know the total time to complete the project, which activities are
critical, and the earliest and latest start and finish dates for each activity.
Immediate Completion
Activity Description Predecessors Time (days)
A Initial Paperwork --- 3 Exercise:
B Build Body A 3
C Build Frame A 2 -Draw the network
D Finish Body B 3
E Finish Frame C 7
F Final Paperwork B,C 3
G Mount Body to Frame D,E 6
H Install Skirt on Frame C 2
B D
3 3 G
F 6
A 3
Start Finish
3 E
7
C H
2 2
Step 1: Make a forward pass through the network as follows: For each activity i
beginning at the Start node, compute:
Earliest Start Time = the maximum of the earliest finish times of all activities
immediately preceding activity i. (This is 0 for an activity with no
predecessors.)
B 3 6 D 6 9
3 3 G 12 18
6 9 6
F
3
A 0 3
Start Finish
3 E 5 12
3 5 7
C H 5 7
2 2
B 3 6 D 6 9
3 6 9 3 9 12 G 12 18
6 9 6 12 18
F
3 15 18
A 0 3
Start 0 3 Finish
3 E 5 12
3 5 7 5 12
C H 5 7
2 3 5 2 16 18
A critical path is a path of activities, from the Start node to the Finish
node, with 0 slack times.
The project completion time equals the maximum of the activities’ earliest
finish times.
Critical Path
B 3 6 D 6 9
3 6 9 3 9 12 G 12 18
F 6 9 6 12 18
A 0 3 3 15 18
Start 0 3 Finish
3 E 5 12
3 5 7 5 12
C H 5 7
2 3 5 2 16 18
Outcomes: CLO4
Where: c13
xij = number of units shipped from origin i to destination j 2 d2
c21
cij = cost per unit of shipping from origin i to destination j
si = supply or capacity in units at origin i c22
s2 2
dj = demand in units at destination j c23
3 d3
Sources Destinations
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 3
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Types of Optimization Problems
• “Network” Models
• Transportation problems
• Assignment problems
• Transshipment problems
• Shortest-route problems
• Minimal span problems
• Maximal flow problems
• Project management
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 4
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Convex Optimization
The objective is to minimize total variable cost over a specified time period (normally annual)
Ordering cost – salaries and expenses of processing an order, regardless of the order
quantity
Holding cost – usually a percentage of the value of the item assessed for keeping an
item in inventory (including finance costs, insurance, security costs, taxes, warehouse
overhead, and other related variable expenses)
Backorder cost – costs associated with being out of stock when an item is demanded
(including lost goodwill)
Purchase cost – the actual price of the items
The most basic of the deterministic inventory models is the economic order quantity
(EOQ).
The variable costs in this model are annual holding cost and annual ordering cost.
For the EOQ, annual holding and ordering costs are equal
Assumptions
Demand is constant throughout the year at D items per year.
Ordering cost is €Co per order.
Holding cost is €Ch per item in inventory per year.
Purchase cost per unit is constant (no quantity discount).
Delivery time (lead time) is constant.
Planned shortages are not permitted.
Formulas
Formulas
Bart's Barometer Business is a retail outlet that deals exclusively with weather
equipment. Bart is trying to decide on an inventory and reorder policy for
home barometers.
Barometers cost Bart €50 each and demand is about 500 per year, distributed
fairly evenly throughout the year.
Reordering costs are €80 per order and holding costs are figured at 20% of the
cost of the item. BBB is open 300 days a year (6 days a week and closed 2
weeks in August). Lead time is 60 working days.
- What is the impact of changing re-ordering costs by 20 euro more per order?
Number of reorder times per year = (500/90) = 5.56 or once every (300/5.56) = 54 working days (about every 9 weeks).
Outcomes: CLO4
• Investigate use of non-linear optimization in business application
• Solve pooling problem using non-linear optimization
• Holistic review and integration of knowledge, skills, and competences developed
during the course.
• Link to next steps in education and employment
Examples
In Business, queuing theory and optimization is often related to optimizing service levels
For example:
Distribution of Arrivals
Generally, the arrival of customers into the system is a random
event.
Frequently the arrival pattern is modeled as a Poisson process.
Queue Discipline
Most common queue discipline is first come, first served (FCFS).
S1
Customer Waiting line Customer
arrives S2
leaves
S3
L = W and Lq = Wq
When the queue discipline is FCFS, analytical formulas have been derived
for several different queuing models including the following:
M/M/1
M/M/k
M/G/1
M/G/k with blocked customers cleared
M/M/1 with a finite calling population
Analytical formulas are not available for all possible queuing systems. In
this event, insights may be gained through a simulation of the system.
Single channel
Poisson arrival-rate distribution
Exponential service-time distribution
Unlimited maximum queue length
Infinite calling population
Examples:
Single-window theatre ticket sales booth
Single-scanner airport security station
Joe Ferris is a stock trader on the floor of the New York Stock
Exchange for the firm of Smith, Jones, Johnson, and Thomas, Inc.
Stock transactions arrive at a mean rate of 20 per hour.
Question
What is the probability that no orders are received within a 15-
minute period?
Answer
P (x = 0) = (50e -5)/0! = e -5 = .0067
Question
Answer
P (x = 3) = (53e -5)/3! = 125(.0067)/6 = .1396
Question
What is the probability that more than 6 orders arrive within a 15-
minute period?
Answer
P (x > 6) = 1 - P (x = 0) - P (x = 1) – P (x = 2)
- P (x = 3) - P (x = 4) – P (x = 5)
- P (x = 6)
= 1 - .762 = .238
Question
Answer
Since Joe Ferris can process an order in an average time of 2 minutes (= 2/60
hr.), then the mean service rate, µ, is µ = 1/(mean service time) or 60/2.
m = 30/hr
PRESENTATION TITLE GOES HERE | SLIDE NUMBER 24
ADSM-Quality-TMP-BAPPT-013-18.06.20.RA
Example: SJJT, Inc. (A)
Formula Spreadsheet
A B C D E F G H
1 Poisson Arrival Rate 20
2 Exponential Service Rate m 30
3 Operating Characteristics
4 Probability of no orders in system Po =1-H1/H2
5 Average number of orders waiting Lg =H1^2/(H2*(H2-H1))
6 Average number of orders in system L =H5+H1/H2
7 Average time an order waits Wq =H5/H1
8 Average time an order is in system W =H7+1/H2
9 Probability an order must wait Pw =H1/H2
Spreadsheet Solution
A B C D E F G H
1 Poisson Arrival Rate 20
2 Exponential Service Rate m 30
3 Operating Characteristics
4 Probability of no orders in system Po 0.333
5 Average number of orders waiting Lg 1.333
6 Average number of orders in system L 2.000
7 Average time an order waits Wq 0.067
8 Average time an order is in system W 0.100
9 Probability an order must wait Pw 0.667
Simulation is, in effect, a trial and error method of comparing different policy
inputs.
It does not determine if some input which was not considered could have
provided a better solution for the model.
The model should be realistic yet solvable within the speed and storage
constraints of the computer system being used.
Input values for the model as well as probability estimates for the random
variables must then be determined.
Random variable values are utilized in the model through a technique known as
Monte Carlo simulation.
Each random variable is mapped to a set of numbers so that each time one
number in that set is generated, the corresponding value of the random
variable is given as an input to the model.
The mapping is done in such a way that the likelihood that a particular number
is chosen is the same as the probability that the corresponding value of the
random variable occurs.
In a next-event simulation model, time periods are not fixed but are
determined by the data values from the input sequence.
While this program can be written in any general purpose language (e.g. BASIC,
FORTRAN, C++, etc.) special languages which reduce the amount of code which
must be written to perform the simulation have been developed.
Normally one is interested in results for the steady state (long run) operation of
the system being modeled.
The initial data inputs to the simulation generally represent a start-up period for
the process and it may be important that the data outputs for this start-up
period be neglected for predicting this long run behaviour.
For each policy under consideration by the decision maker, the simulation
is run by considering a long sequence of input data values (given by a
pseudo-random number generator).