OR Chapter Two - 084107
OR Chapter Two - 084107
Chapter Two
2. LINEAR PROGRAMMING & ITS APPLICATION
INTRODUCTION
In 1947, George Danzig developed the use of algebra for determining solutions to problems that involved the
optimal allocation of scarce resources. In spite of numerous potential applications in business, response to
this new technique was low due to substantial computational burden, which is now removed with subsequent
advances in computer technology and related software during the last three decades.
The term linear implies that all the mathematical relations used in the problem are linear or straight-line
relations, while the term programming refers to the method of determining a particular program or plan of
action, i.e., the use of algorithms that is a well-defined sequence of steps that will lead to an optimal solution.
Taken as a whole, the term linear programming refers to a family of mathematical techniques for determining
the optimum allocation of resources and obtaining a particular objective when there are alternative uses of
the limited or constrained resources.
The technique of linear programming is applicable to problems in which the total effectiveness can be
expressed as linear function of individual allocations and the limitations on resources give rise to linear
equation or inequalities of the individual allocations. The usefulness of this technique is enhanced by the
availability of several user-friendly software’s such as STORM, TORA, QSB +, LINDO, etc. However, there
is no general package for building an LP model. Model building is an art of practice.
2.1. LINEAR PROGRAMMING MODELS
Linear programming models are mathematical representations of LP problems. Linear programming models
have certain characteristics in common. Knowledge of these characteristics enables us to recognize problems
that are amenable to a solution using LP models, and to be able to correctly formulate an LP model. These
characteristics can be grouped as components and assumptions. The components relate to the structure of a
model, whereas the assumptions reveal the conditions under which the model is valid.
2.1.1. COMPONENTS OF LP MODELS
There are four major components of LP models including: Objective function, decision variables, constraints
and parameters.
Decision variables
They represent unknown quantities to be solved for. The decision maker can control the value of the
objective, which is achieved through choices in the levels of decision variables. For example, how much
of each product should be produced in order to obtain the greatest profit?
1
Operation Research
Constraints
However, the ability of a decision maker to select values of the decision variables in an LP problem is
subject to certain restrictions or limits coming from a variety of sources. The restrictions may reflect
availabilities of resources (e.g., raw materials, labor time, etc.), legal or contractual requirements (e.g.,
product standards, work standards, etc.), technological requirements (e.g., necessary compressive
strength or tensile strength) or they may reflect other limits based on forecasts, customer orders, company
policies, and so on. In LP model, the restrictions are referred to as constraints. Only solutions that satisfy
all constraints in a model are acceptable and are referred to as feasible solutions. The optimal solution
will be the one that provides the best value for the objective function.
Generally speaking, a constraint has four elements:
A right hand side (RHS) quantity that specifies the limit for that constraint. It must be a constant,
not a variable.
An algebraic sign that indicates whether the limit is an upper bound that cannot be exceeded, a
lower bound that is the lowest acceptable amount, or an equality that must be met exactly.
The decision variables to which the constraint applies.
The impact that one unit of each decision variable will have on the right-hand side quantity of the
constraint.
Constraints can be arranged into three groups:
System constraints – involve more than one decision variable,
Individual constraints – involve only one variable, and
Non-negativity constraints – specify that no variable will be allowed to take on a negative value.
The non-negativity constraints typically apply in an LP model, whether they are explicitly stated
or not.
Parameters
The objective function and the constraints consist of symbols that represent the decision variables (e.g.,
X1, X2, etc.) and numerical values called parameters. The parameters are fixed values that specify the
impact that one unit of each decision variable will have on the objective and on any constraint it pertains
to as well as the numerical value of each constraint.
The following simple example illustrates the components of LP models:
2
Operation Research
Divisibility (Continuity)
The divisibility requirement pertains to potential values of decision variables. It is assumed that non-integer
values are acceptable. However, if the problem concerns, for example, the optimal number of houses to
construct, 3.5 do not appear to be acceptable. Instead, that type of problem would seem to require strictly
integer solutions. In such cases, integer-programming methods should be used. It should be noted, however,
that some obvious integer type situations could be handled under the assumption of divisibility. For instance,
suppose 3.5 to be the optimal number of television sets to produce per hour, which is unacceptable, but it
would result in 7 sets per two hours, which would then be acceptable.
Certainty
This requirement involves two aspects of LP models. One aspect relates to the model parameters, i.e., the
numerical values. It is assumed that these values are known and constant. In practice, production times and
other parameters may not be truly constant. Therefore, the model builder must make an assessment as to the
degree to which the certainty requirement is met. Large departures almost surely will have a significant effect
on the model. The other aspect is the assumption that all relevant constraints have been identified and
represented in the model.
Additivity
The value of the objective function and the total amount of each resource used (or supplied), must be equal to
the sum of the respective individual contributions (profit or cost) by decision variables. For example, the
total profit earned from the sale of two products A and B must be equal to the sum of the profits earned
separately from A and B. Similarly, the amount of a resource consumed for producing A and B must be equal
to the sum of resources used for A and B respectively.
Non-negativity
It assumes that negative values of variables are unrealistic and, therefore, will not be considered in any
potential solutions. Only positive values and zero will be allowed and the non-negativity assumption is
inherent in LP models.
2.1.5. FORMULATING LP MODELS
Just as it is to define a problem, careful formulation of the model that will be used to solve the problem is
important. Linear programming algorithms (solution techniques) are widely used and understood and
computer packages are readily available for solving LP problems. Consequently, obtaining solutions is not
the real issue, what is very important to note is failure to check that all constraints have been accounted for
3
Operation Research
and have been correctly formulated results in ill-structuring of the model that can easily lead to poor
decisions.
Steps in formulating LP models:
Identify the decision variables.
Determine the objective function.
Identify the constraints.
Determine appropriate values for parameters and determine whether an upper limit, lower limit or
equality is called for.
Use this information to build a model.
Validate the model.
In many cases, the decision variables are obvious; in others it might require brief discussion with the
appropriate manager. However, identifying the constraints and determining appropriate values for the
parameters can require considerable time and effort. Potential sources of information include historical
records, interviews with managers and staff, and data collection. Validating the model will involve a critical
review of the output, perhaps under a variety of inputs, in order to decide if the results are reasonable.
Product Mix
Organizations often produce similar services that use the same resources. For example, labor, material cost,
etc. because of limited resources available during any time period a decision must be made concerning how
much of each product to produce or make available. Linear programming answers what mix of output (or
service) will maximize profit given the availability of scarce resources
Diet problem
It usually involves the mixing of raw materials or other ingredients to obtain an end product that has certain
characteristics. For example, what mix of inputs will achieve the desired results in the output for the least
cost? Other applications that fall into this category include mixing feed for livestock, mixing pet foods,
mixing building materials (concrete, mortar, paint), and so on.
Blending problems
They are very similar to diet problems. Strictly speaking, however, blending problems have additional
requirement, i.e. to achieve a mix that have specific consistency. For example, how many quarts of the
different juices each with different sugar content proportion must be mixed together to achieve one gallon
that has a sugar content of 17 percent?
4
Operation Research
Portfolio selection
These problems generally involve allocating a fixed dollar amount among a variety of investments, such as
bonds, sockets, real states, etc. The goal usually is to maximize income or total return. The problems take on
an added dimension when certain other requirements are specified (for example, no more than 40 percent of
the portfolio can be invested in bonds).
Product Mix Application
ABC private limited company is engaged in the production of power and traction transformers. Both of these
categories of transformers pass through three basic processes: core preparation, core to coil assembly, and
vapor phase drying. A power transformer yields a contribution of Birr 50,000 and traction transformer
contributes Birr 10,000. The time required in the production of these two products in terms of hours for each
of the processes is as follows.
Power transformer Traction Transformer
Core preparation 75 15
Core to Coil Assembly 160 30
Vapor Phase Drying 45 10
If the capacities available are 1000, 1500, and 750 machine hours in each processes respectively, formulate
the problem as LP?
Solution
Step1. Identify decision variables
Since the products to be produced are power and traction transformers using the available resource to attain
the objective set, we consider them as decision variables. This is because the organization’s problem here is
how many of each product to produce in order to attain the objective, which requires the management
decision.
LetX1 = the no of power transformers to be produced.
X2= the no of traction transformer to be produced
Step2. Determine Objective Function
From the problem above, we understand that the problem is maximization problem.
Hence,
Zmax=50,000X1+ 10,000X2
This is because, each unit of X1 contributes Birr 50,000 and X2 contributes Birr
10,000 to objective function.
Step 3.Identify constraints
Here we have two constraints: structural and non-negativity constraints. The structural constraint is the
amount of machine hours available in each process.
Step 4.Determining Parameters
Parameters are already identified in the table of the problem.
Note: Step 3 and 4 can be performed simultaneously as:
75X1 + 15X2< 1000 hrs- Core preparation process
160X1 + 30X2< 1500 hrs- Core to Coil Assembly Machine hour constraint
5
Operation Research
Solution
Decision variables
The model of this problem consists of three decision variables representing the amount of each ingredient in
the mixture.
X1 = number of lb of mercury in a batch
X2 = number of lb of zinc in a batch
X3 = number of lb of potassium in a batch
Objective function
Zmin = 4x1 + 8x2 + 9x3
Constraints
X1 200 lb… specification 1
X2 300 lb… specification 2
X3 100 lb… specification 3
Finally, the sum of all ingredients must equal 1000 pounds.
x1 + x2 + x3 = 1000 lb
x1 + x2 + x3 = 1000 lb
x1, x2 , x3 0
In this method, the two decision variables are considered as ordered pairs (X 1, X2), which represent a point in
a plane, i.e, X1is represented on X-axis and X2on Y-axis.
7
Operation Research
Non-degenerate A basic feasible solution is called non-degenerate if value of all m basic variables
are non- zero and positive.
Optimal Basic feasible solution A basic feasible solution which optimizes the objective function value of
the given LP problem is called an optimal basic feasible solution.
Unbounded solution A solution which can increase or decrease the value of the LP problem indefinitely is
called an unbounded solution.
Graphical solution method involves the following steps.
Example
In order to demonstrate the method, let us take a microcomputer problem in which a firm is about to start
production of two new microcomputers, X1 and X2. Each requires limited resources of assembly time,
inspection time, and storage space. The manager wants to determine how much of each computer to produce
in order to maximize the profit generated by selling them. Other relevant information is given below:
Type 1 Type 2
Profit per unit $60 $50
Assembly time per unit 4 hrs 10 hrs
Inspection time per unit 2 hrs 1 hrs
Storage space per unit 3 cubic feet 3 cubic feet
Availability of company resources:
Resources Amount available
Assembly time 100 hrs
Inspection time 22 hrs
Storage space 39 cubic feet
The model is then:
Maximize 60X1 + 50X2
Subject to Assembly 4 X 1 +10 X 2< 100 hrs
Inspection 2 X 1+ 1 X 2< 22 hrs
Storage 3 X 1+ 3 X 2< 39 cubic feet
X1, X2 > 0
The step begins by plotting the non-negativity constraint, which restricts our graph only to the first quadrant.
We then can deal with the task of graphing the rest of the constraints in two parts. For example, let us take
the first constraint 4X1 + 10X2< 100 hrs. First we treat the constraint as equality: 4X 1 + 10X2 = 100. Then
identify the easiest two points where the line intersects each axis by alternatively equating each decision
8
Operation Research
variable to zero and solving for the other: when X 1=0, X2 becomes 10 and when X2=0, X1 will be 25. We can
now plot the straight line that is boundary of the feasible region as we have got two points (0, 10) and (25,0).
Once the constraints are plotted and feasible region is determined, we use either of the two graphic methods
of Graphic approach to find a solution for LP model consisting of only two decision variables:
i) The objective (Iso-profit or cost) function line approach
ii) The extreme point enumeration method
2.3.1.1. The Objective Function Approach
This approach involves plotting an objective function line on the graph and then using that line to determine
where in the feasible solution space the optimal point is. We use the same logic as plotting a constraint line
except that it is not an equation until we equate it to some right hand side quantity. Any quantity will do till
we find a line that would last touch the feasible solution space.
9
Operation Research
The optimal solution to an LP problem will always occur at a corner point because as the objective function
line is moved in the direction that will improve its value (e.g., away from the origin in our profit
maximization problem), it will last touch one of these intersections of constraints. Then we determine which
two constraints intersect there (in our case inspection and storage constraints) and solve the equations
simultaneously to obtain the mix of the two decision variables that gives the value of the objective function at
the optimum. Simultaneously solving inspection and storage equations, we find the quantity of type 1
microcomputer to be produced (X1) = 9 and that of type 2 (X 2) = 4 giving the maximum profit of 60(9) +
50(4) = Birr740
Note: The maximization problems the movement of the iso-lines is outward from the origin; while for
minimization the movement is inward to the origin.
10
Operation Research
Using this method for our example, simultaneously solving for corner points a, b, c, and d, we find
corresponding profit values of 500, 700, 740, and 660, respectively giving us the same solution as the above
one at C. Therefore, the optimal solution is x1= 9 units and x2 = 4 units while the optimal value of objective
function is 740.
Interpretation:
For a firm to maximize its profit (740), it should produce 9 units of the Model I microcomputer and 4 units of
model II.
Solving Minimization Problems
(The Graphical Solution of Minimization Problems)
Many LP problems involve minimizing an objective such as cost instead of maximizing a profit
function
Minimization problems can be solved graphically by first setting up the feasible solution region and
then using either the corner point method or an iso-cost line approach (which is analogous to the iso-
profit approach in maximization problems) to find the values of the decision variables (e.g., X 1 and
X2) that yield the minimum cost
Formulated and solved in much the same way as maximization problems
In the graphical approach an iso-cost line is used
The objective is to move the iso-cost line inwards until it reaches the lowest cost corner point
Example; The Holiday Meal Turkey Ranch is considering buying two different brands of turkey feed and
blending them to provide a good, low-cost diet for its turkeys
Holiday Meal Turkey Ranch data
INGREDIENT COMPOSITION OF EACH POUND OF FEED MINIMUM MONTHLY
(OZ.) REQUIREMENT PER TURKEY
BRAND 1 FEED BRAND2 FEED (OZ.)
A 5 10 90
B 4 3 48
C 0.5 0 1.5
Cost per pound 2 cents 3 cents
How much will be produced so as to minimize total cost?
Solution
Let X1 = number of pounds of brand 1 feed purchased
X2 = number of pounds of brand 2 feed purchased
11
Operation Research
–
20
–
15
–
10
–
5–
0–
4.5
es
=-
t iti
an
qu
n
io
l ut
so
al
im
Pr
We solve for the values of the three corner points
Point a is the intersection of ingredient constraints C and B
4X1 + 3X2 = 48
X1 = 3
Substituting 3 in the first equation, we find X2 = 12
Solving for point b with basic algebra we find X1 = 8.4 and X2 = 4.8
It means
-4(5X1+ 10X2= 90 ) X2=4.8
5(4X1+ 3X2=48)
-20X1-40X2= -360
20X1+15X2=240
-25X2=-120
-25 -25
Therefore; we can find the value of X1 by substituting the value of X2 in one of the above two
constraint equations.
12
Operation Research
Following the above listed steps of graphical solution method, we find the following graph for the above
model:
13
Operation Research
The shaded area represents the set of all feasible solutions and as can be seen from the graph, the solution is
unbounded.
iii) Infeasibility
In some cases after plotting all the constraints on the graph, feasible area (common region) that represents all
the constraint of the problem cannot be obtained. In other words, infeasibility is a condition that arises when
no value of the variables satisfy all the constraints simultaneously. Such a problem arises due to wrong
model formulation with conflicting constraints.
For example,
Max Z = 3X1+2X2
Subject to: 2X1+ X2<2
3X1 + 4X2> 12
X1, X2 > 0
14
Operation Research
Note: The constraint is said to be an active or binding or tight, if at optimality the left hand side equals
the right hand side. In other words, an equality constraint is always active. An inequality sign may or may
not be active.
For example
Max Z = 8X1+16X2
Subject to: X1 + X2< 200 ……. C1
3X1 + 6X2< 900 ……. C2
X2< 125 ……. C3
X1, X2>0
15
Operation Research
In the problem above, using extreme point method and solving for values of corner points simultaneously,
the objective function assumes its maximum value of 2,400 at two corner points B (50,125) and C (100,100).
Therefore, the optimal solution is found on the line segment connecting the two corner points. One benefit of
having multiple optimal solutions is that for other (perhaps qualitative) reasons, a manager may prefer one of
them to the others, even though each would achieve the same value of the objective function. In practical
terms, one of the two corner points is usually chosen because of ease in identifying its values.
Other corner points are computed by identifying the two corner points and keeping the value of the objective
function constant, where 50 X1 100 and 100 X2 125. By selecting one value for one of the decision
variables from the domain, we determine the value for another decision variable keeping the objective
function’s value. Let X1 = 80.
Then, Z = 8X1+16X2 2400 = 8(80) +16X2
16X2 = 1760
X2 = 110
2.3.1.4. Mix of constraints
It is only in some cases that the maximization problems consist of constraints connected to the RHS value
with only <. By the same token, constraints of minimization problems are not always connected to their RHS
with>. This is to mean that both maximization and minimization problems may consist of constraints
connected to RHS with a mix of algebraic signs (<,>, =).
Example
Z Min a) 1500x+2400y
Subjected to:
4x+Y>24 …I
2x+3y>42 …II
X+4y>36 …III
X<14 …IV
y<14 …V
x, y>0
16
Operation Research
1 2 3 4 5
Corner constraints Coordinates Objective functions
points intersected x y 1500x+2400y
A I&V 2.5 14 37,350
B IV&V 14 14 54,600
C III&IV 14 5.5 34,200
D II&III 12 6 32,400
E I&II 3 12 33,300
The minimum value of the objective function is 32,400. Therefore, the optimum solution is found at the
corner point D, where constraint II&III are intersected. Hence, optimal solution: x =12, y = 6.
17
Operation Research
The graphical method of solving linear programming problems is a simple way to find a solution since the
optimum solution is searched among the corner points of the solution space. However, the graphical method
is restricted to problems with two decision variables. When the number of variables and the number of
constraints increase, it becomes difficult to visualize the solution space. As a result, the graphical method
cannot be employed successfully in such cases. In order to avoid this limitation, the simplex method, or
iterative or step by step method is efficient method for solving linear programming problems, which was
developed by George B. Danzig in 1947.
The simplex method is an algebraic procedure that starts with a feasible solution that is not optimal and
systematically moves from one feasible solution to another until an optimal solution is found. In case of the
graphical approach, optimal solution occurs at the extreme points where the constraints intersect. Solutions
where constraints intersect are called basic solutions, and those satisfying all of the constraints together with
non-negativity constraints are called basic feasible solutions.
Constraints are generally expressed using inequalities either in ‘less than’ or ‘greater than’ or in mixed form.
Thus, constraints are not in standard form, meaning they should be converted into equalities. To convert the
inequality constraint into equality, we introduce slack or surplus variables. In economic terminology, slack
variables represent unused capacity and surplus variables represent excess amount. The contribution (cost or
profit) associated with the slack and surplus variables are zero. An inequality of the ‘less than or equal to’
type is transformed into equality by introducing a non-negative slack variable, as follows: -
Example
Non Standard form Standard form
X1+2X2< 6 X1+2X2+S1= 6
Where X1 and X2 are decision variables and S1 is a slack variable, added to the smaller side of the
inequality.
On the other hand, an inequality with ‘greater than or equal to’ type is changed into equality by subtracting
surplus variable as follows: -
Example
Non Standard form Standard form
X1+2X2>6 X1+2X2-S1=6
, Where X1& X2 are decision variables and S1 is a slack variable, added to the smaller side of the inequality.
As stated above, since both the slack and surplus variables are insignificant with no contribution in the
objective function, they are represented with coefficient of zero in the objective function.
To find a unique solution, the number of variables should not exceed the number of equations. When the
number of variables is more than the number of equations, the number of solutions is unlimited. So as to get
a unique solution, we have to set at least (n-m) variables to zero, where n is the number of variables and m is
the number of equalities. Those variables that are set to zero are called non basic variables indicating they
are not in the solution. The variables that are in solution are called basic variable.
To demonstrate the simplex method, we will use the microcomputer problem with the following objective
function and constraints.
18
Operation Research
The Microcomputer Problem, which was discussed in graphic approach, can be standardized as:
Max. Z = 60X1+50X2+0S1+0S2+0S3
Subject to 4X1+10X2+S1 = 100
2X1+X2+S2 = 22
3X1+3X2+S3 = 39
, where X1& X2 are decision variables and S1, S2 & S3 are slack variables.
Here, the number of variables (5) is greater than the number of equations (3). Therefore, the decision
variables are set to zero and we have
X1 = 0, X2 = 0, S1 = 100, S2 = 22, and S3 = 39.
This solution will serve as an initial feasible solution. An initial feasible solution is a first solution used to
generate other basic feasible solutions. The initial basic feasible solution is obtained by setting all the
decision variables to zero. As a result, the initial basic feasible solution is entirely composed of the slack
variables. X1& X2 are non basic variables since they are not in solution. S 1, S2& S3 are basic variables since
they are in solution.
A tableau is a system of displaying the basic feasible solution, the constraints of the standard linear
programming problem as well as the objective function in a tabular form. A tableau is useful in summarizing
the result of each iteration, i.e. the process of moving from one solution/corner to another solution/corner in
order to select the optimal solution.
2.3.2.1. MAXIMIZATION CASE
The solution steps of the simplex method can be outlined as follows:
Step1. Formulate the linear programming model of the real world problem, i.e., obtain a mathematical
representation of the problem's objective function and constraints.
Step2. Express the mathematical model of L.P. problem in the standard form by adding slack variables in
the left-hand side of the constraints and assign a zero coefficient to these in the objective function.
Thus we can restate the problem in terms of equations:
Note that the slack variables have been assigned zero coefficients in the objective function. The reason is that
these variables typically contribute nothing to the value of the objective function.
Step 3. Design the initial feasible solution. An initial basic feasible solution is obtained by setting
the decision variables to zero.
X1= X2 = ... = Xn = 0. Thus, we get S1 = b1, S2 = b2 ... Sm = bm.
Step 4. Set up the initial simplex tableau. For computational efficiency and simplicity, the initial basic
feasible solution, the constraints of the standard LPP as well as the objective function can be
displayed in a tabular form, called the simplex tableau as shown below:
19
Operation Research
20
Operation Research
Note: The entries in the C - Z , row represent the net contribution to the objective function that results by
j j
introducing one unit of each of the respective column variables. A plus value indicates that a greater
contribution can be made by bringing the variable for that column into the solution. A negative value
indicates the amount by which contribution would decrease if one unit of the variable for that column were
brought into the solution. Index row elements are also known as the shadow prices (or accounting prices)
Step 5. We test if the current solution is optimum or not. If all the elements or entries in the Cj- Zj row (i.e.,
index row) are negative or zero, then the current solution is optimum. If there exists some positive
number, the current solution can be further improved by removing one basic variable from the
basis and replacing it by some non-basic one. So start trying to improve the current solution in
line with the following steps.
Step 6. Further, iterate towards an optimum solution. To improve the current feasible solution, we replace
one current basic variable (called the departing variable) by a new non-basic variable (called the
entering variable).
We now determine the variable to enter into the solution mix, the entering variable. One way of
doing this is by identifying the column with the largest positive value in the C j - Zj row of the simplex
table. The column with the largest positive entry in the C j - Zj row is called the key or pivot column.
The non-basic variable at the top of the key column is the entering variable that will replace a basic
variable.
Next, we determine the departing variable to be replaced in the basis solution. This is accomplished
by dividing each number in the quantity column by the corresponding number in the key column
selected in identifying the entering variable. We compute the ratio b1/a1 j, b2/a2j... bm/amn. This is
called replacement ratio.
The row with the minimum ratio is the key row or pivot row. The corresponding variable in the key
row (the departing variable) will leave the basis.
We identify the key or pivot element. This is the number that lies at the intersection of the key column
and key row of a given simplex tableau.
Step 7. Evaluate the new solution by constructing a second simplex tableau. After identifying the entering
and departing variable, all that remains is to find the new basic feasible solution by constructing a
new simplex tableau from the current one.
Now we evaluate or update the new solution in the following way:
New values for the key row are computed by simply dividing every element of the key row by the
key element to obtain a unit vector (1) in the key element.
The new values of the elements in the remaining rows for the new simplex table can be obtained by
performing elementary row operations on all rows so that all elements except the key element (1) in
the key column are zero, i.e. unit vector.
New entries in the CB column and XB column are entered in the new table of the current solution.
Compute the values of the C j - Zj row. If all the numbers in C j - Zj row are either negative or zero, an
optimum solution has been obtained.
21
Operation Research
Step 8. If any of the numbers in Cj - Zj row are positive, repeat the steps (6-7) again until an optimum
solution has been obtained.
Note: Rules for Ties. In choosing a key column and a key row, whenever there is a tie between two
numbers, the following rules may be followed:
The column farthest to the left may be selected if there is a tie between two numbers in the index row.
The nearest ratio to the top may be selected whenever there is a tie between two replacement ratios in
the ratio column.
Example (Maximization Case)
Finding the initial Feasible Solution
As discussed above, the initial feasible solution is found by setting the decision variables to zero.
Max Z = 60X1+50X2+0S1+0S2+0S3
Subject to 4X1+10X2+S1 = 100
2X1+ X2+S2 = 22
3X1+ 3X2+S3 = 39
X1, X2> = 0
To be noted first is that the values of each basic variable (variables that are in solution) is composed of a
single 1 and the rest 0’s. This is called a unit vector. Basic variables will have a unit vector. Moreover, ‘1’
will appear in the same row that the variable appears in. The unit vector concept will help us in developing
subsequent tableaus when we want to change the list of variables that are in solution.
The Zj row in the quantity column indicates that the value of the objective function is 0.
The values in the Cj-Zj row indicate the net contribution of the variables if one unit of each variable is added
into that solution. For example, the 60 in column X 1 indicates that bringing one unit of X 1 would increase the
value of the objective function by $60. The same is true for the X 2 column, i.e. bringing one unit of X 2 would
increase the value of the objective function by $50. On the other hand, since the slack variables are at their
maximum, their values in the C j-Zj row are all 0. According to what has been said before, we have the
following rule in order to identify an optimal solution.
22
Operation Research
A simplex solution in a maximization problem is optimal if the C j-Zj row consists of entirely zeros and
negative numbers, i.e. there are no positive values in the row.
So for our case in the initial tableau, we have two positive values under the non-basic variables, which
indicate that further improvement of the solution is possible. As a result, we go for the optimal solution by
developing the second simplex tableau.
In answering the first question, the non-basic variable that should enter the solution should be the one with
the highest positive value in the C j-Zj row since bringing that non-basic variable into the solution would
make the highest contribution to the solution (objective function) and result inthe largest profit potential. As
a result, the variable with the highest value in the C j-Zj row of the initial simplex tableau is the X 1 column
with a value 60. Therefore, X1 should enter the basis or the solution mix. The X1 column is now called the
pivot column. The numbers in this column (4 2 3) indicate the amount of the basic variables needed to get
one unit of X1. For example, the number 4 indicates that 4 units of the first slack are needed to obtain one
unit of X1.
Since X1 has the highest profit potential, we need to make as much X 1 units as possible. The amount of X 1
that can be made depends on the values in the pivot column and the amount of slack available shown under
the quantity column. By dividing the values in the pivot column by their respective values in the quantity
column, we can identify the variable that is most limiting.
The values obtained by dividing will help us in determining the variable that should leave the solution.
Cj 60 50 0 0 0 Quantity
Basic V. X1 X2 S1 S2 S3
S1 0 4 10 1 0 0 100 100/4 = 25
S2 0 2 1 0 1 0 22 22/2 = 11
S3 0 3 3 0 0 1 39 39/3 = 13
Zj 0 0 0 0 0 0
Cj-Zj 60 50 0 0 0
Pivot Column
Pivot Row Pivot Element
In interpreting the ratios obtained by the division, I only the constraint was the first one, we could make 25
units of X1. But there are also other constraints. Therefore, the one with the smallest non-negative ratio is the
most restrictive since it determines the amount of X 1. In this particular case, there is only enough of the
second constraint to make 11 units of X 1. In making the 11 units of X1, the second resource (S2) will be down
23
Operation Research
to zero indicating that S 2 will leave out the solution mix. The row of the leaving variable is called the pivot
row. The intersection of the pivot row and the pivot column is called the pivot element. As a rule,
The leaving variable is the one with the smallest non-negative ratio.
If a zero is obtained in the results of division, none of the corresponding variable is needed to obtain one unit
of the entering variable. If a negative value is obtained in the division, bringing the entering variable into the
solution would increase the amount of the basic variable. These values will not limit the amount of the
entering variable. Therefore, there is no need to divide the quantity column by zero or negative.
Since we have determined the leaving and the entering variables and since the initial feasible solution can be
improved further, we need to develop the second tableau in order to find the optimal solution. In developing
the second tableau, we should compute for revised values of the constraint equations, the Z j row and the Cj-Zj
row and remember that the variables in solution will have a unit vector, with a value of 1 in the intersection
of the column and the row of the basis, i.e. the pivot element.
To obtain a unit vector in the basis column, we perform elementary row operations resulting in new row
values by either multiplying/dividing all the elements in a row by a constant or adding/subtracting the
multiple of a row to or from another row.
In computing for the new row values from our initial simplex tableau, we first multiply the second constraint
by ½ obtaining the values as follows:
1X1+1/2X2+0S1+1/2S2+0S3 = 11, which results in making the pivot element 1.
Next, we multiply the above new row values by 4 and subtract it from the first constraint obtaining the
following results:
0X1+8X2+1S1+2S2+0S3 = 56.
Then, we multiply the new row values in the pivot row by 3 and subtract it from the third constraint resulting
as follows:
0X1+3/2X2+0S1-3/2S2+1S3 = 6.
Having these new row values, we develop the second simplex tableau as shown below.
Second Simplex Tableau
Cj 60 50 0 0 0 Quantity
Basic V. X1 X2 S1 S2 S3
S1 0 0 8 1 -2 0 56
X2 60 1 1/2 0 1/2 0 11
S3 0 0 3/2 0 -3/2 1 6
Zj 60 30 0 30 0 660
Cj-Zj 0 20 0 -30 0
24
Operation Research
To determine the leaving the variable, we divide the values in the pivot column by their corresponding row
values in the quantity column. The result obtained, as shown in the table below indicates that S 3 is the leaving
variable with the smallest non-negative ratio. This means that S 3 is the most limiting resource for how much
units of X2 can be made.
Cj 60 50 0 0 0 Quantity
Basic V. X1 X2 S1 S2 S3
56/8 = 7
S1 0 0 8 1 -2 0 56
11/(1/2) = 22
X2 60 1 1/2 0 1/2 0 11
6/(3/2) = 4
S2 0 0 3/2 0 -3/2 1 6
Zj 60 30 0 30 0 660
Cj-Zj 0 20 0 -30 0
Pivot Row
Pivot Column Pivot Element
After identifying the entering and the leaving variables, we perform elementary row operations as follows.
To obtain a unit vector with 1 in the pivot element, we multiply the pivot row by 2/3 resulting as follows:
0X1+1X2+0S1+-1S2+2/3S3 = 4
Then, multiply the above new row values by 8 and subtract it from the first constraint (row) resulting as
follows:
0X1+0X2+1S1+6S2+-16/3S3 = 24.
For row 2, first multiply the new row values in the pivot row by ½ and subtract it from the second row
resulting as follows:
1X1+0X2+0S1+1S2+-1/3S3 = 9.
And the third tableau looks like the following.
Third Simplex Tableau
Cj 60 50 0 0 0 Quantity
Basic V. X1 X2 S1 S2 S3
S1 0 0 0 1 6 -16/3 56
X1 60 1 0 0 1 -1/3 9
X2 50 0 1 0 -1 2/3 4
Zj 60 50 0 10 40/3 740
Cj-Zj 0 0 0 -10 -40/3
25
Operation Research
26
Operation Research
variables depends on the type of the problem, whether it is a maximization or a minimization problem. In
case of maximization problem, a large negative contribution or coefficient in the objective function would
ensure the removal of artificial variables from the optimal solution, commonly represented by -M. For
minimization problems, introducing a large positive coefficient would ensure the non-existent of artificial
variables in the optimal solution, commonly represented by M.
In addition to this, a slack is not allowed in ≥ constraints since they can only happen an excess amount that is
more than the minimum amount of a constraint. This excess amount is represented by a surplus variable and
is subtracted from the constraint.
Example – Maximization Problems with Mixed Constraints
Assume the following maximization problem with mixed constraints.
Max. Z = 6X1+8X2
Subject to X2 ≤ 4
X1+X2 = 9
6X1+2X2 ≥24
In solving for this problem, introducing a slack variable is not acceptable in the 2 nd & 3rd constraints since
they represent unused capacity and there is no unused capacity in = and ≥ constraints. Therefore, for ≥
constraints, we introduce a surplus variable and for both ≥ and = constraints we introduce artificial variables
resulting as follows.
Example Maximize 6x1 + 8x2
Subject to
x2 4
x1 + x2 = 9
6x1 + 2x2 24
x1, x2 0
As usual, the simplex procedure starts solving LP models first by putting them into their standard form. The standard
form to the above problem is:
Maximize 6x1 + 8x2 + 0S1 + 0S3 – MA2 – MA3
Subject to
x2 + S1 = 4
x1 + x2 + A2 = 9
6x1 + 2x2 – S3 + A3 = 24
x1, x2, S1, S3, A1, A3 0
Then we will develop the initial simplex tableau.
C 6 8 0 0 -M -M RHS
Basis X1 X2 S1 S3 A2 A3 values
S1 0 0 1 1 0 0 0 4
A2 -M 1 1 0 0 1 0 9
A3 -M 6 2 0 -1 0 1 24
Z -7M -3M 0 M -M -M -33M
C-Z 6 + 7M 8 + 3M 0 -M 0 0
The next step is testing the initial simplex tableau for optimality.
Remember that the test is done by checking whether there is a positive number in the net evaluation row, and taking
the largest one if there are more than one positive numbers in that row. So, what is the largest positive number?
27
Operation Research
The variable M is just a very large number, therefore when we try to identify the largest positive number, what we do
is just to take the positive M with the largest coefficient regardless of the constant number added with it. In the above
tableau, we do have two positive numbers, 6 + 7M and 8 + 3M. From these two, the first one is the larger even though
8 is greater than 6. This is because M is very large as compared with the difference between 8 and 6. This indicates that
the next variable to enter the solution mix is X1.
The leaving variable is determined in the same way as we did in our previous discussions. The one with the least
positive ratio will be the leaving variable.
C 6 8 0 0 -M -M RHS
Basis X1 X2 S1 S3 A2 A3 values
S1 0 0 1 1 0 0 0 4
A2 -M 1 1 0 0 1 0 9
A3 -M 6 2 0 -1 0 1 24
Z -7M -3M 0 M -M -M -33M
C-Z 6 + 7M 8 + 3M 0 -M 0 0 Leaving
variable
Entering variable
Don’t forget to exclude the third artificial variable from the simplex tableau when you develop the second tableau. The
second tableau will look like:
Second Tableau
C 6 8 0 0 -M RHS
Basis X1 X2 S1 S3 A2 values
S1 0 0 1 1 0 0 4
A2 -M 0 23 0 16 1 5
X1 6 1 13 0 0 4
-1 6
Z 6 0 -M 24 – 5 M
2 - 2 3M -1 - 1 6 M
C-Z 0 0 0
6 + 2 3M 1+ 1 6M
The largest positive number in the net evaluation row is 6 + 2 3 M. This shows that the next variable to enter the basis
is X2. And the leaving variable is S1. Therefore, we develop the next tableau by taking the above facts into
consideration.
Third Tableau
C 6 8 0 0 -M RHS
Basis X1 X2 S1 S3 A2 values
X2 8 0 1 1 0 0 4
A2 -M 0 0 1
-2 3 16 73
X1 6 1 0 0 83
-1 3 -1 6
Z 6 8 -M
6 + 2 3M -1 - M 6 48 - 7 3 M
28
Operation Research
C-Z 0 0 0
-6 - 2 3 M 1+ M 6
Still we do have a positive number in the net evaluation row. Therefore, we have to search for a better solution. We
need to determine the next variable to enter the solution mix and the one which must leave the basis. Look at the
following table.
C 6 8 0 0 -M RHS
Basis X1 X2 S1 S3 A2 values
X2 8 0 1 1 0 0 4
A2 -M 0 0 2 3 1 6 1 7 3
-
X1 6 1 0 0 83
-1 3 -1 6
Z 6 8 -M
6 + 2 3M -1 - M 6 48 - 7 3 M
C-Z 0 0 0
-6 - 2 3 M 1+ M 6
The next tableau will be developed by excluding A2 from the basis and bringing S3 to the basis.
Fourth Tableau
C 6 8 0 0 RHS
Basis X1 X2 S1 S3 values
X2 8 0 1 1 0 4
S3 0 0 0 -4 1 14
X1 6 1 0 -1 0 5
Z 6 8 2 0 62
C-Z 0 0 -2 0
Look at the above tableau. There is no positive number in the net evaluation row. This means, we cannot get an
improved solution by introducing another variable (developing the next tableau). Therefore, the fourth tableau is the
final tableau.
29
Operation Research
A M 1 4 0 -1 0 1 64
2
The third tableau represents a final tableau since it is the optimal solution with entirely zeros and non-
negative values in the Cj-Zj row.
Therefore, the optimal solution is: X1 = 20/3 and X2 = 8/3 and value of objective function is 212/3.
31
Operation Research
Summary
Coefficient of extra variables Presence of
Types of
in the objective function variables in
constrain Extra variables to be added
t
MaxZ MinZ the initial
solution mix
< Add only slack variable 0 0 Yes
Cj 5 8 0 0 M
BV X1 X2 S1 S2 A2 Q
5 X1 1 0 -2 3 0 200
8 X2 0 1 1 2 0 100
M A2 0 0 0 -1 1 200
Zj 5 8 -2 31-M M 1,800+200M
Cj - Zj 0 0 2 M-31 0
Even though all Cj - Zj are positive or 0(i.e. the criterion for an optimal solution in a minimization case), no
feasible solution is possible because an artificial variable (A2) remains in the solution mix.
Unbounded Solution
No finite solution may exist in problems that are not bounded. This means that a variable can be infinitely
large without violating a constraint. In the simplex method, the condition of unboundedness will be
discovered prior to reaching the final tableau. We will note the problem when trying to decide which variable
to remove from the solution mix.
32
Operation Research
The procedure in unbounded solution is to divide each quantity column number by the corresponding pivot
column number. The row with the smallest positive ratio is replaced. But if the entire ratios turn out to be
negative or undefined, it indicates that the problem is unbounded.
Note: A negative ratio means that increasing that variable would increase resources. A zero ratio means
that increasing the variable would not use any resources.
Example:
Maximization case:
Cj 6 9 0 0
SV X1 X2 S1 S2 Q
9 X2 -1 1 2 0 30
0 S2 -2 0 -1 1 10
Zj -9 9 18 0 270
Cj - Z j 15 0 -18 0
Pivot Column
The solution in the above case is not optimal because not all Cj - Zj entries are 0 or negative, as required in a
maximization problem. The next variable to enter the solution should be X1.To determine which variable will
leave the solution, we examine the ratios of the quantity column numbers to their corresponding numbers in
the X1or pivot column. Since both pivot column numbers are negative, an unbounded solution is indicated.
Cj 5 8 2 0 0 0
Q RR
SV X1 X2 X3 S1 S2 S3
Example
8 X2 1/4 1 1 2 0 0 10
10/1/4=40
0 S2 4 0 1/3 -1 1 0 20
0 S3 2 0 2 2/5 0 1 10 20/4= 5 Tie for the smallest ratio
33 Indicates degeneracy.
Zj 2 8 8 16 0 0 80 10/2= 5
Cj - Z j 3 0 -6 -16 0 0
Operation Research
Degeneracy could lead to a situation known as cycling, in which the simplex algorithm alternatives back and
forth between the same non-optimal solutions, i.e., it puts a new variable in, then takes it out in the next
tableau, puts it back in, and so on.
One simple way of dealing with the issue is to select either row (S2 or S3 in this case) arbitrary. If we are
unlucky and cycling does occur, we simply go back and select the other row. How ever, the number of
iterations required to arrive at the optimal solution can be minimized by adopting the following rule:
Divide the coefficient of slack variables in the simplex table where degeneracy is detected by the
corresponding positive numbers of the key column in the row, starting from left to right.
The row which contains smallest ratio comparing from left to right column wise becomes the key
row.
Column
Row s2 s3
s2 ¼= ¼ 0/4=0
s3 0/2 =0 ½=1/2
Comparing the ratios from left to right column wise until they are not equal, the minimum ratio occurs for
the second row (0). Therefore,s3is selected to leave the basis.
34
Operation Research
Note: When there is a tie between a slack and artificial variable to leave the basis, the preference shall be
given to artificial variable to leave the basis and there is no need to apply the procedure for resolving such
cases.
Two incoming variables
/ Or Tie for entering variables/
In order to break this tie, the selection for the key column (entering variable) can be made arbitrary.
However; the number of solution can be minimized by adopting the following rules:
1. If there is a tie between two decision variables, then the selection can be made arbitrary.
2. If there is a tie between a decision variable and a slack (or surplus) variable, then select the decision
variable to enter into basis first.
3. If there is a tie between slack or surplus variable, then selection can be made arbitrary.
Example:
If the equation is max Z:
Cj
SV X1 X2 S1 S3 Q
Zj
Cj - Z j 5 2 5 0
Cj 3 2 0 0
BV X1 X2 S1 S2 Q
2 X2 3/2 1 1 0 6
MaxZ=3X1+2X2
0 S2 1 0 1/2 1 3
35
Zj 3 2 2 0 12
Cj - Z j 0 0 -2 0
Operation Research
X1=0, X2=6, S2=3 and MaxZ=12 or: X1=3, X2=3/2 and MaxZ=12
The Cj - Zj value of the non-basic variable (X1) is 0. Thus, this shows the existence of alternative optimal
solution. Can you identify more alternative optimal solutions?
The term ‘dual’ in a general sense implies two or double. Every linear programming problem can have two
forms. The original formulation of a problem is referred to as its Primal form. The other form is referred to
as its dual LP problem or in short dual form. In general, however, it is immaterial which of the two problems
called primal or dual, since the dual of the dual is primal.
The dual involves setting up and solving an LP problem that is almost a ‘mirror image’ of an LP problem
that has been formulated. Both in its formulation and solution, the dual is the flip flop version of the primal.
In the context of LP, duality implies that each LP problem can be analyzed in two different ways, but having
equivalent solution. For example, consider the problem of production planning. By using the primal LP
problem, the production manager attempts to optimize resource allocation by determining quantities for each
product to be produced that will maximize profit. But through dual LP problem approach, he attempts to
achieve production plan that optimizes resource allocation so that each product is produced at that quantity
such that its marginal opportunity cost equals its marginal return. Thus, the main focus of dual is to find for
each resource its best marginal value or shadow price. This value reflects the scarcity of resources, i.e., the
maximum additional prices to be paid to obtain one additional unit of the resources to maximize profit under
the resource constraints. If resource is not completely used, i.e., there is slack, then its marginal value is zero.
The shadow price is also defined as the rate of change in the optimal objective function value with the
respect to the unit change in the availability of a resource. Precisely for any constraint, we have,
Shadow Price = change in the optimal objective function value
Unit change in the availability of a resource
Analysis of the dual can also enable a manager to evaluate the potential impact of a new product, and it can
be used to determine the marginal values of resources (i.e. constraints). Relative to a product, a manager
would want to know what impact adding a new product would have on the solution quantities and the profit;
relative to resources, a manager can refer to a dual solution to determine how much profit one unit of each
resource equivalent to. Whereas the primal gives solution results in terms of the amount of profit gained from
producing products, the dual provides information on the value of the constrained resources in achieving that
profit.
2.8.1. Formulating the Dual
There are two important forms of primal and dual problems, namely the symmetrical ( or canonical) and the
standard form.
Symmetrical form
Suppose the primal LP problem is given in the form
Maximize Zx = c1x1+ c2x2 + ... +cnxn
Subject to a11x1+a12x2+... + a1nxn b1
a21x1+a22x2+... + a2nxn b2
36
Operation Research
am1x1+am2x2+... + amnxn bm
x1,x2... xn 0
and then the corresponding dual LP problem is defined as:
Minimize Zy = b1y1+ b2y2 + ... +bmym
Subject to
a11y1+a21y2+... + am1ym c1
a12y1+a22y2+... + am2ym c2
a1ny1+an2y2+... + amnym cn
y1,y2... ym 0
The above pair of LP problems can be expressed in the general LP model form as
Primal Dual
n m
cjxj
j 1
biyi
Max Zx = Min Zy = i 1
n m
aijxj bi
j 1
ajiyi cj
; i = 1, 2,.., m i 1 ; i= 1,2, ..., n
aij = aji
and xj 0; j = 1,2,…,n and yi 0; j = 1,2,…,m
The following rules which guide the formulation of the dual problem will give you the summary of the
general relationship between primal and dual LP problems.
1. If the primal’ objective is to minimize, the dual’s will be to maximize; and the vice versa
2. The coefficient’s of the primal’s objective function become the RHS values for the dual’s constraints.
3. The primal’s RHS values become the coefficients of the dual’s objective function.
4. The coefficients of the first “row” of the primal’s constraints become the coefficients of the first
“column” of the dual’s constraint …..
5. The ≤ constraints become ≥ and the vice versa.
Consider this Primal problem:
1y1 + 4y2< 40
2y1 + 4y2< 44
3y1 + 4y2< 48
y1, y2> 0
The following table shows how the primal problem is transformed into its dual.
Primal Dual
Objective Minimize 40x1 + 44x2 + 48x3 Maximize 20y1 + 30y2
function and Subject to Subject to
right-hand 1 20 1 40
side values 2 30 2 44
3 48
Primal Dual
Constraint 1 1x1 + 2x2 + 3x3 1 1y1 + 4y2
coefficients 2 4x1 + 4x2 + 4x3 2 2y1 + 4y2
3 3y1 + 4y2
We can see from the table that the original objective was to minimize, whereas the objective of the dual is to
maximize. In addition, the coefficients of the primal’s objective function become the right-hand side values
for the dual’s constraints, whereas the primal’s right-hand side values become the coefficients of the dual’s
objective function.
Note that the primal has three decision variables and two constraints; whereas the dual has two decision
variables and three constraints.
The constraint coefficients of the primal are constraint coefficients of the dual, except that the coefficients of
the first “row” of the primal become the coefficients of the first “column” of the dual, and the coefficients of
the second “row” of the primal become the coefficients of the second “column” of the dual.
When the primal problem is a maximization problem with all < constraints, the dual is a minimization
problem with all > constraints.
2.8.2. Formulating the Dual when the Primal has Mixed Constraints
In order to transform a primal problem into its dual, it is easier if all constraints in a maximization problem
are of the < variety, and in a minimization problem, every constraint is of the > variety.
To change the direction of a constraint, multiply both sides of the constraints by -1. For example,
-1(2x1 + 3x2> 18) is -2x1-3x2< -18
If a constraint is an equality, it must be replaced with two constraints, one with a < sign and the other with a
> sign. For instance,
4x1 + 5x2 = 20
will be replaced by
4x1 + 5x2< 20
38
Operation Research
4x1 + 5x2> 20
Then one of these must be multiplied by -1, depending on whether the primal is maximization or a
minimization problem.
EXAMPLE:
Formulate the dual of this LP model.
1
Maximize z = 50x + 80x 2
Subject to:
1 1
C 3x + 5x 2 ≤ 45
1
C2 4x + 2x 2 ≥16
1
C3 6x +6x 2 = 30
1
x ,x 2 ≥ 0
SOLUTION
Since the problem is a max problem, put all the constraints in to the ≤ form. Subsequently, C 2 and C3 will
be first adjusted in to ≤ constraints.
- C 2 will be multiplied by -1:
1 1
-1(4x + 2x 2 ≥16) becomes -4x - 2x 2 ≤ -16
- C3 is equality, and must be restated as two separate constraints. Thus, it becomes:
1 1
6x +6x 2 ≤ 30 and 6x +6x 2 ≥30. Then the second of these must be multiplied by -1.
1 1
-1(6x +6x 2 ≥30) becomes -6x -6x 2 ≤ -30
After making the above adjustments, rewrite the LP model again.
1
Maximize z = 50x + 80x 2
Subject to:
1 1
C 3x + 5x 2 ≤ 45
1
C2 -4x - 2x 2 ≤ -16
1
C3 6x +6x 2 ≤ 30
1
C4 -6x -6x 2 ≥ -30
1
x , x2 ≥ 0
The dual of the above problem will be:
Minimize 45y1 - 16y2 + 30y3 – 30y4
Subject to
39
Operation Research
1
C 3y1 -4y2 + 6y3 – 6y4 ≥ 50
C 2 3y1 - 2y2 + 6y3 – 6y4 ≥ 80
y1, y2, y3, y4 ≥ 0
2.8.3. Comparison of the Primal and Dual Simplex Solutions
Cross -referencing the values in the primal and dual final simplex tableaus is shown as follows.
Example:
To show that the flip-flopping of values between the primal and the dual carries over to their final simplex
tableaus, let us look at the following tables. The first table contains the final tableau for the dual and the
second one contains the final tableau for the primal.
Hence the constraints of the dual refer to the value of capacity (i.e., the scarce resources). The formulation
indicates that in order to switch from making units of Models I and II to making computers for the
41
Operation Research
department store, the value received from that switch must be at least equal to the profit foregone on the
microcomputer models. The variables y 1, y2 and y3 are the marginal values of scarce resources (assembly
time, inspection time, and storage space). Solving the dual will tell us the imputed values of the resources
given our optimal solution.
Naturally, the department store would want to minimize the use of the scarce resources, because the
computer firm almost certainly would base its charges on the amount of resources required. Consequently,
the objective function for the dual problem focuses on minimizing the use of the scarce resources. Thus:
Looking at the optimal solution to the dual of the microcomputer problem, we can see the marginal values of
y2 and y3 in the Quantity column, but not the value of y 1. This is because the optimal solution to the primal
did not completely use up all of the assembly capacity. Consequently, no amount of either x 1 or x2 would
need to be given up to obtain one free hour of assembly time. Thus, the marginal value of one hour of
assembly time is $0.
Finally, the optimal dual solution always yields the same value of the objective function as the primal
optimal. In this case, it is 740. The interpretation is that the imputed value of the resources that are required
for the optimal solution equals the amount of profit that the optimal solution would produce.
Conversely, if the dual constraint has not been satisfied, the new variable would have come into solution. In
this instance, the marginal value of scarce resources that would be required for the new model exceeds the
marginal contribution to profit that the new model would provide. That is, Birr106.67 > Birr70.
Note: The value of this approach is that it is not necessary to rework the entire problem in order to test the
potential impact that adding a new decision variable would have on the optimal solution.
The dual variables provide the decision maker a basis for deciding how much to pay for additional
unit of resources.
The maximum amount that should be paid for one additional unit of a resource is called its shadow
price (also called simplex multiplier).
The total marginal value of the resources equals the optimal objective function value. The dual
variables equal the marginal value of resources (shadow prices).
Note: The value of ith dual variable is the rate at which the primal objective function value will increase as
the ith resource increases, assuming that all other data is unchanged.
2.8.7. Advantages of Duality
It is advantageous to solve the dual of a primal having less number of constraints, because the number
of constraints usually equals the number of iterations required to solve the problem.
It avoids the necessity of adding surplus or artificial variables and solves the problem quickly.
The dual variables provide an important economic interpretation of the final solution of an LP
problem.
It is quite useful when investigating change in the parameters of an LP problem ( called Sensitivity
analysis)
2.9. Sensitivity Analysis
When LP models are formulated, the input data of the model (also called parameters) such as: (i) profit (or
cost) contribution (Cj) per unit of decision variable, ii) availability of resources(bi), and (iii) consumption of
resources per unit of decision variables (a ij), implicitly assumed constant and known with certainty during a
planning period. However, rarely does a manager know all of these parameters exactly. In reality the model
parameters are simply estimates (or best “guesses”) that are subject to change. For this reason it is of interest
to the manager to see what effect a change in a parameter will have in the solution to the model. Changes
may be either to the reactions to anticipated uncertainties in the parameters or reactions to the information
gained from the dual. The analysis of the parameter changes and their effects on the model solution is known
as sensitivity analysis.
As it is indicated above, sensitivity analysis is the study of sensitivity of the optimal solution of an LP
problem due to discrete variations (changes) in its parameters. The degree of sensitivity of the solution due to
these changes can range from no change to all to a substantial change in the optimal solution of the given LP
problem.
Sensitivity analysis carries the LP analysis beyond the determination of the optimal solution and begins with
the final simplex tableau. Its purpose is to explore how changes in any of the parameters of a problem, such
as the coefficients of the constraints, coefficients of the objective function, or the right hand side values;
would affect the solution. For this, instead of resolving the entire problem as a new problem with new
parameters, we may consider the original optimal solution as an initial solution for the purpose of knowing
the ranges, both lower and upper, within which a parameter may assume a value.
For instance, a manager may want to consider obtaining an additional amount of scarce resource that might
be available, in which case the manager would want to know the answers to questions such as:
b. Will an increase in the right hand side of this constraint affect the objective function?
c. If so, how much of the resource can be used?
d. Given the answer to the preceding question, what will be the revised optimal solution?
Conversely, the decision maker might be facing a situation in which the amount of scarce resource available
is less than the original amount, in which case the issues would be:
a. Will the decreased level of the resource have an impact on the value of the objective function?
43
Operation Research
b. If yes, how much of an impact will it have, and what will be the revised optimal solution?
The process of studying the sensitivity of the optimal solution of an LP problem is also called post optimality
analysis because it is done after an optimal solution, assuming a given set of parameters, has been obtained
for the model.
The discussion here covers only two types of changes: changes in the right hand side levels of the
constraints, and changes in the coefficients of the objective function as change in the coefficient of
constraints is beyond the coverage of this material.
The most obvious way to ascertain the effect of a change in the parameter of the model is to make the change
in the original model, resolve the model, and compare the solution result with the original solution. However,
resolving a problem can be very time consuming and as it will be demonstrated below, it is unnecessary. In
most cases the effect of changes in the model can be determined directly from the final simplex tableau.
3.2.1. A Change in the RHS of a constraint
The first step in determining how a change in the RHS (Right Hand Side) of a constraint (e.g., the amount of
scarce resource that is available for use) would influence the optimal solution is to examine the shadow
prices in the final simplex tableau. Shadow prices are the values in the Z row in the slack columns.
The final tableau for the microcomputer is shown in the following table since sensitivity analysis starts from
final tableau.
Cj 60 50 0 0 0 Quantity
Basis x1 x2 s1 s2 s3
s1 0 0 0 1 6 -16/3 24
x1 60 1 0 0 1 -1/3 9
x2 50 0 1 0 -1 2/3 4
Z 60 50 0 10 40/3 740
C-Z 0 0 0 -10 -40/3
Negatives of
shadow prices
A shadow price is a marginal value; it indicates the impact that a one-unit change in the amount of a
constraint would have on the values of the objective function. As we can see from the table, the shadow
prices are $0 for s1 (Assembly time), $10 for s2 (Inspection time), and $40/3 for s 3 (Storage space). These
tell us that an increase in the amount of assembly time would have no effect on profit; if inspection time is
increased by one hour, it will increase the profit by $10, and if storage space is increased by 1 cubic foot,
44
Operation Research
profit would increase by $40/3. The reverse also holds. If we decrease them by such respective amounts, the
decrease in profit will take the same figure.
What shadow prices do not tell us is the extents to which the level of a scarce resource can be changed and
still have the same impact per unit. The ability to use additional amounts of a resource will disappear at some
point because of the fixed amounts of the other constraints. Therefore, we need to determine the range over
which we can change the right hand side quantities and still have the same shadow price. This is called the
range of feasibility, or the right hand side range.
The key to computing the range of feasibility for the constraint lies in each slack column of the final simplex
tableau. To compute the range for each constraint, the entries in the associated slack column must be divided
into the values in the Quantity column. For example, for the storage column values, the resulting ratios are:
2494
= -4.5
-16/3-⅓⅔ = -27 = +6
Here, the smallest positive ratio indicates how much the constraint level can be decreased before it reaches
the lower limit of its range of feasibility, and the smallest negative ratio (i.e. the negative ratio closest to 0)
indicates how much the storage constraint can be increased before it reaches its upper limit of feasibility. The
general rule applies when computing the upper and lower limits on the range of feasibility for maximization
problem is:
Alternative Method
Assume q1symbolically represent quantity in the original model, and stands for change.
Max. Z = 60X1+50X2
Subject to 4X1+10X2<100
2X1+X2< 22
3X1+3X2< 39
If we consider the same example as in the previous example, i.e., change in q 3 = 39. If q3 changes by some
amount, the new q’3 equals the original q3+ . The changes form a separate column identical to the s 1
column in the final simplex tableau. Therefore, to determine the change, we need only observe the slack
(si) column corresponding to the model constraint quantity (qi) being changed.
45
Operation Research
Cj 60 50 0 0 0 Quantity
Basis x1 x2 s1 s2 s3
s1 0 0 0 1 6 -16/3 24-16/3
x1 60 1 0 0 1 -1/3 9-1/3
x2 50 0 1 0 -1 2/3 4 + 2/3
Z 60 50 0 10 40/3 740
C-Z 0 0 0 -10 -40/3
Recall that the requirement of simplex method is that the quantity values cannot be negative. If any q 1 value
becomes negative, the solution no longer be feasible. Thus the inequalities
24-16 /3> 0
9- /3> 0
4 + 2 /3 > 0
are solved for :
24-16 /3> 0 9- /3> 0 4 + 2 /3 > 0
72-16 > 0 27- > 0 12+2 > 0
3 3 3
72-16 > 0 27- >0 12+2 > 0
Once we have computed these limits, we proceed to assess the impact that a contemplated change would
have on the optimal solution.
Example
The manager in the microcomputer problem is contemplating a change in the level of the storage constraint –
an increase of 3 cubic feet. Determine the revised optimal solution for the change.
Solution
First, note that an increase of 3 cubic feet is within the range. Then, the effect of an increase of three cubic
feet is computed in the following way:
x1 -⅓ 9 3(-⅓)= -1 8
x2 ⅔ 4 3(⅔)= +2 6
Z 40/3 740 3(40/3) = +40 780
For an increase in storage space of 8 cubic feet, we take the upper limit of 4.5 cubic feet for the computation.
The resulting revised figures, then, would be s 1= 0, x1=7.5, x2=7, and Profit =800.
Note, however, that
beyond the upper limit, s3 would come into solution, replacing S1, which would no longer be slack. The
amount of slack would be 8- 4.5=3.5 cubic feet. Consequently, the revised solution would be s 3=3.5, x1=7.5,
x2=7, and Profit = 800.
3.2.2. A Change in an Objective Function Coefficient
It is useful to know how much the contribution of a given decision variable to the objective function can
change without changing the optimal solution. There are two cases: Changes for a variable that is not
currently in the solution mix, and Changes for a variable that is currently in the solution mix.
If a variable is not currently in the solution in a maximization problem, its objective function coefficient
would have to increase by an amount that exceeds the C-Z value for that variable in the final tableau in order
for it to end up as a basic variable in the optimal solution. The range over which a non-basic variable’s
objective function coefficient can change without causing that variable to enter the solution mix is called its
range of insignificance.
Range of Insignificance: the range over which a non-basic variable’s objective function coefficient can
change without causing that variable to enter the solution mix.
1
Maximize 3x + 2x 2 + 5x 3
1
Subject to: C1 x + 2x 2 + 2x 3 ≤ 18
1
C2 3x + 2x 2 + 6x 3 ≤ 12
1
C3 2x + 3x 2 + 4x 3 ≤ 12
1
x ,x 2 x 3 , ≥ 0
C 3 2 5 0 0 0
Basis 1
Quantity
x x2 x 3 s1 s2 s 3
47
Operation Research
In the above tableau we see that x 3 is a non- basic variable. To determine the range over which the objective
function coefficient of x 3 would change without changing the optimal solution, recall how a variable in a
max problem enters the solution mix. Because x 3 is not in solution, its objective function coefficient would
need to increase in order for it to come in to solution (i.e., to make its c-z value positive). The amount of
increase must be greater than the absolute value of its c-z value, which is │-1│. Therefore, its objective
function coefficient must increase by more than 1. Hence, the range of insignificance for x 3 is 6 or less (i.e,
its Z value). In general the rule is: Range of insignificance for a non- basic variable is the Z value of the
variable. The allowable increase is the absolute value of its own C- Z value.
Range of Optimality: the range over which objective function coefficient of a variable that is in solution can
change without changing the optimal values of the decision variables. Note, however, that such a change
would change the optimal value of the objective function.
For variables that are in solution, the determination of the range of optimality (the range over which the
objective function coefficient of a variable that is in the solution can change without changing the optimal
values of the decision variables) requires a different approach. Divide the values in row C-Z by the
corresponding row values of the variable in question and follow the following rule for both maximization
and minimization problems.
Allowable increase: The smallest positive ratio of C-Z value and the variable’s
substitution rate.
Allowable decrease: the smallest negative ratio of C-Z value and the variable’s
substitution rate.
Note: If there is no positive ratio, it means that there is no upper limit on that variable’s objective
function coefficient.
Example
Determine the range of optimality for the decision variables in the microcomputer problem.
Solution
The final simplex tableau for that problem is repeated here for convenience.
Cj 60 50 0 0 0
Basis x1 x2 s1 s2 s3 Quantity
s1 0 0 0 1 6 -16/3 24
x1 60 1 0 0 1 -1/3 9
x2 50 0 1 0 -1 2/3 4
Z 60 50 0 10 40/3 740
C-Z 0 0 0 -10 -40/3
For x1 we find:
Column x1 x2 s1 s2 s3
C-Z value 0/1 = 0 0/0 = Undefined 0/0 = Undefined -10/1 = -10 -40/3 = +40
48
Operation Research
The smallest positive ratio is +40. Therefore, the coefficient of X1 can be increased by Birr 40 without
changing the optimal solution. The upper end of its range of optimality is this amount added to its current
(original) value. Thus, its upper end is (Birr60 +Birr40) = Birr100. Also, the smallest negative ratio is -10;
therefore, the x1 coefficient can be decreased by as much as Birr10 from its current value, making the lower
end of the range equal to (Birr60 - Birr10 )= Birr 50.
For x2 we find:
Column x1 x2 s1 s2 s3
C-Z value 0/0 = Undefined 0/1= 0 0/0 = Undefined -10/-1 = +10 -40/3 = -20
x2row value ⅔
The smallest positive ration is +10. This tells us that the x 2 coefficient in the objective function could be
increased by Birr10 to (Birr50 + Birr10) = Birr 60. The smallest negative ratio is -20, which tells us that the
x2 coefficient could be decreased by Birr20 to (Birr50 - Birr20) = Birr30. Hence, the range of optimality for
the objective function coefficient of x2 is Birr30 to Birr 60.
This can also be done in the same way as change in the constraints by using the concept of change starting
from the final tableau. That is, the range of c j that will maintain the optimal solution can be determined
directly from the optimal simplex tableau.
Cj 60+ 50 0 0 0
Basis x1 x2 s1 s2 s3 Quantity
s1 0 0 0 1 6 -16/3 24
x1 60+ 1 0 0 1 -1/3 9
x2 50 0 1 0 -1 2/3 4
Z 60+ 50 0 +10 (40- )/3 740
C-Z 0 0 0 -10- (-40+ )/3
Consider a change for c1.This will change the c1value from c1=60 toc1=60+ . This new value is not only
included on the top cj row, but also in the left-hand cj column. Since 60+ is in left-hand column, it
becomes a multiple of the column values when the new Zj row values and the subsequent Cj – Zj row values.
The solution becomes optimal as long as the Cj –Zj row values remain negative. If Cj-Zj becomes positive,
the product mix will change, if it becomes zero, there will be an alternative solution. Thus, for the solution to
remain uniquely optimal,
-10- < 0
and
(-40+ )/3<0
Both of these inequalities must be solved for .
-10- < 0 and (-40+ )/3<0
- <10(-40+ )<0
> -10 <40
Now recall that c1=60+ ; therefore, =c1-60. Now substituting c1-60 for in the above inequalities, we get:
> -10 <40
49
Operation Research
50