OR CH 2 Linear Programming
OR CH 2 Linear Programming
Unit Objectives:
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.
There are four major components of LP models including: Objective function, decision
variables, constraints and parameters.
The objective in problem solving is the criterion by which all decisions are evaluated. It
provides the focus for problem solving. In linear programming models, a single,
quantifiable objective must be specified by the decision maker. Because we are dealing
with optimization, the objective will be either maximization or minimization. Hence, every
LP problem will be either maximization or a minimization problem. Once the objective is
specified, it becomes the measure of effectiveness against which alternate solutions are
judged. An LP model consists of a mathematical statement of the objective called the
objective function.
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?
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.
2
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.
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.
3
2.1.2. ASSUMPTIONS OF LP MODELS
Linearity (proportionality)
The linearity requirement is that each decision variable has a linear impact on the
objective function and in each constraint in which it appears. In terms of a mathematical
model, a function or equation is linear when the variables included are all to the power 1
(not squared, cubed, square root, etc.) and no products (e.g., x1x2) appear. On the
other hand, the amount of each resource used (supplied) and its contribution to the
profit (or cost) in the objective function must be proportional to the value of each
decision variable. For example, if production of one unit requires 5 hours of a particular
resource, then making 3 units of that product requires 15 hours (3x5) of that resource.
Divisibility (Continuity)
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
4
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.
In spite of having many advantages and wide area of applications, there are some
limitations associated with this technique. These are:
5
Parameters appearing in the model are assumed to be constant but, in real life
situation they are frequently neither known nor constant.
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 and have been
correctly formulated results in ill-structuring of the model that can easily lead to poor
decisions.
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.
6
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?
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).
The section below presents some examples that demonstrate how a linear
programming model is formulated. Although these examples are simplistic, they are
realistic and represent the type of problem to which linear programming can be applied.
By carefully studying each of these examples, the learner can become familiar with the
process of formulating linear programming models.
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
7
10,000. The time required in the production of these two products in terms of hours for
each of the processes is as follows.
If the capacities available are 1000, 1500, and 750 machine hours in each process
respectively, formulate the problem as LP?
Solution
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. Let
X1 = the no of power transformers to be produced. X2= the no of traction transformer to
be produced.
From the problem above, we understand that the problem is maximization problem.
Hence,
This is because, each unit of X1 contributes Birr 50,000 and X2 contributes Birr 10,000
to objective function.
Here we have two constraints: structural and non-negativity constraints. The structural
constraint is the amount of machine hours available in each process.
8
75X1 + 15X2 ≤ 1000 hrs. Core preparation process
X1, X2 ≥ 0
Subject to:
x1, x2≥0
Supermarket store chain has hired an advertising firm to determine the types and
amount of advertising it should have for its stores. The three types of advertising
available are radio and television commercials, and newspapers advertisements. The
retail chain desires to know the number of each type of advertisement it should
purchase in order to maximize exposure. It is estimated that each ad or commercial will
reach the following potential audience and cost the following amount.
9
4. The newspaper has space available for 7 ads.
5. The advertising agency has time and staff available for producing no more than a
total of 15 commercials and/or ads.
Solution:
Decision variables
Objective function
Model constraints
Budget constraint
Capacity constraint
Television commercials and radio commercials are limited to 4 and 10 respectively and
newspaper ads are limited to 7.
X4 ≤ 4 television commercials
X2 ≤ 10 radio commercials
10
Policy constraint
X1 + X2 + X3≤ 15
The complete linear programming model for this problem is summarized as:
Sub. To:
X1 ≤4
X2 ≤10
X 3 ≤7
X 1 + X2 +X3 ≤15
3. A chemical corporation produces a chemical mixture for the customer in 1000- pound
batches. The mixture contains three ingredients- Zinc, Mercury and Potassium. The
mixture must conform to formula specifications (i.e., a recipe) supplied by a customer.
The company wants to know the amount of each ingredient to put in the mixture that will
meet all the requirements of the mix and minimize total cost.
The customer has supplied the following formula specifications for each batch of
mixture.
The cost per pound of mixture of Mercury is Birr 4, of Zinc Birr 8 and of Potassium Birr
9.
11
Following the formulation of a mathematical model, the next stage in the application of LP to decision
making problem is to find the solution of the model. An optimal, as well as feasible solution to an LP
problem is obtained by choosing from several values of decision variables x1, x2…xn , the one set of
values that satisfy the given set of constraints simultaneously and also provide the optimal ( maximum
or minimum) values of the given objective function. The most common solution approaches are to solve
graphically and algebraically the set of mathematical relationships that form the model, thus
determining the values of decision variables.
In this method, the two decision variables are considered as ordered pairs (X1, X2), which represent a
point in a plane, i.e., X1 is represented on X-axis and X2 on Y-axis. Graphical method has the following
advantages:
It is simple
It is easy to understand, and
It saves time.
Important Definitions
Solution The set of values of decision variables xj (j = 1,2,…, n) which satisfy the constraints of an LP
problem is said to constitute solution to that LP problem.
Feasible solution-The set of values of decision variables xj (j = 1, 2,…, n) which satisfy all the constraints
and non- negativity conditions of an LP problems simultaneously is said to constitute the Feasible
solution to that LP problem.
Infeasible solution The set of values of decision variables xj (j = 1, 2,…, n) which do not satisfy all the
constraints and non- negativity conditions of an LP problems simultaneously is said to constitute the
infeasible solution to that LP problem.
Basic solution-For a set of m simultaneous equations in n variables ( n>m), a solution obtained by setting
( n-m) variables equal to zero and solving for remaining m equations in m variables is called a basic
12
solution. The (n-m) variables whose value did not appear in this solution are called non-basic variables
and the remaining m variables are called basic variables.
Basic feasible solution- A feasible solution to LP problem which is also the basic solution is called the
basic feasible solution. That is, all basic variables assume non-negative values. Basic feasible solutions
are of two types:
Degenerate A basic feasible solution is called degenerate if value of at least one basic variable is
zero.
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.
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
13
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:
4X1 + 10X2 = 100. Then identify the easiest two points where the line intersects each axis by
alternatively equating each decision variable to zero and solving for the other: when X1=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).
The feasible region is the solution space that satisfies all the constraints simultaneously. It is the
intersection of the entire region represented by all constraints of the problem. We shade in the feasible
region depending on the inequality sign. In our example above, for all the constraints except the non-
negativity constraint, the inequality sign is ‘less than or equal to’ and it represents region of the plane
below the plotted lines.
The feasible region contains an infinite number of points that would satisfy all the constraints of the
problem. Point that will make the objective function optimum will be our optimal solution. This point is
always found among the corner points of the solution space.
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:
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.
14
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 (X2) = 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.
Corner or extreme point graphic method states that for problems that have optimal solutions, a solution
will occur at the corner point in the case of unique solution, while in the case of multiple solutions, at
least one will occur at a corner point as these multiple solutions will be combinations of those points
between two corner points. The necessary steps for this approach is after graphing the problem, we
determine the values of the decision variables at each corner point of the feasible region either by
inspection or using simultaneous equations. We then substitute the values at each corner point into the
objective function to obtain its value at each corner point and select the one with the highest value of
the objective function (for a maximum problem) or lowest value (for a minimum problem) as the
optimal solution.
Using this method for our example, simultaneously solving for corner points a, b, c, 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.
15
Solving minimization problems involve where the objective functions (like cost function) will be
minimum. The constraints are connected to RHS values with > sign. But, in real world problems, mixes of
constraint is also possible. The value of RHS involves the lowest value of the constraint.
The solution space lies above the slant lines and it is not enclosed. It extends indefinitely above the lines
in the first quadrant. This means simply that cost increases without limit as more and more units are
produced. The minimum cost will occur at a point along the inner boundary of the solution space. The
origin and other points below the lines are not in the solution space.
Example
Zmin = 0.1x+0.07y
Subject to:
6x+2y > 18
8x+10y > 40
y>1
x,y > 0
Find the values of x and y which makes the objective function minimum?
Solution
After having plotted the constraints of the given LP problem and identified the feasible solution space,
select one of the graphical solution methods and proceed to solve the given LP problem.
16
point’s coordinates in to the objective right until it touches the feasible
function. region at only one point. But in case of
minimization, move down to the left
until it touches only one point in the
region.
i. Unboundedness
Unboundedness occurs when the decision variable increased indefinitely without violating any of the
constraints. The reason for it may be concluded to be wrong formulation of the problem such as
incorrectly maximizing instead of minimizing and/or errors in the given problem. Checking equalities or
rethinking the problem statement will resolve the problem.
Example:
X1 + 5X2 > 15
X1, X2 > 0
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
17
X1, X2 > 0
There are two conditions that should be satisfied for an alternative optimal solution to exist:
The given objective function is parallel to a constraint that forms the boundary of the feasible
region. In other words, the slope of an objective function is the same as that of the constraint
forming the boundary of the feasible region; and
The constraint should form a boundary on the feasible region in the direction of optimal
movement of the objective function. In other words, the constraint should be an active
constraint.
2.3.2. THE SIMPLEX METHOD
Over View
In our previous section, we tried to thoroughly discuss about graphic approach of LP problems, where
the LP consists of only two decision variables. But, the real-world problems may consist of even very
large number of decision variables which cannot be solved using graphic approach. Therefore, in this
section we will try to see about simplex method, which is more comprehensive as compared to graphic
approach.
Section objective:
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.
18
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 is 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
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 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 equations. 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.
The Microcomputer Problem, which was discussed in graphic approach, can be standardized as:
Max. Z = 60X1+50X2+0S1+0S2+0S3
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.
19
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. S1, 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.
Step 1. Formulate the linear programming model of the real-world problem, i.e., obtain a mathematical
representation of the problem's objective function and constraints.
Step 2. 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.
a2lX1+al22X2+... + a2nXn+S2 = b2
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.
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:
20
Contribution C1 C2 ... Cn,, 0 0 ... 0 Quantity Column
X1, X2, ... Xn S1 S2 ... Sm
S1 CB1 a11 a12 ... a1n 1 0 ... 0 b1
S2 CB2 a21 a22 ... a2n 0 1 ... 0 B2
Sm CBm am1 am2…amn 0 0 ... 1 bm
Zj=£CBXj 0 0 ... 0 0 0 ... 0 £CBXj
Cj-Zj=Net Contribution per unit C1-Z1 C2-Z2 ... Cn-Zn
The interpretation of the data in the above tableau is given as under. Other simplex tableau will have
similar interpretations.
In the first row labelled "Cj", we write the coefficients of the variables in the objective function.
These values will remain the same in subsequent tableaus.
The second row shows the major column headings.
In the first column of the second row, under the label "Basic variables" (also called Product mix
column), the basic variables are listed.
In the second column of the second row, under the label "CB", the coefficients of the current
basic variables in the objective function are listed. Thus, the coefficients of S1, S2... Sm, which
are included in the initial feasible solution, are written in the CB column.
The values listed under the non-basic variables (X1, X2… Xn) in the initial simplex tableau
consists of the coefficients of the decision variables in the constraint set. They can be
interpreted as physical rates of substitution.
The values listed under the basic variables (S1, S2... Sm) in the initial simplex tableau represents
the coefficients of the slack variables in the constraints set.
In the next column (also called Quantity column), we write the solution values of the basic
variables.
To find an entry in the Zj row under a column, we multiply the entries of that column by the
corresponding entries of ‘CB’ column and add the results, i.e., Zj= ∑CBiXj. The Zj row entries will
all be equal to zero in the initial simplex tableau. The other Zj entries represent the decrease in
the value of objective function that would result if one of the variables not included in the
solution were brought into the solution. The Zj entry under the “Quantity Column" gives the
current value of the objective function.
The last row labelled "Cj-Zj", called the index row or net evaluation row, is used to determine
whether or not the current solution is optimal or not. The calculation of Cj-Zj row simply involves
subtracting each Zj value from the corresponding Cj value for that column, which is written at
the top of that column. We observe that Cj -Zj, values are meaningful for the non-basic variables
only. This is because for a basic variable, Zj= 1 x Cj = Cj so that Cj-Zj=Cj-Cj= 0.
Note: The entries in the Cj - Zj, row represent the net contribution to the objective function that results
by 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
21
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 exist 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 Cj -Zj row of the simplex table. The
column with the largest positive entry in the Cj – 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/a1j, 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 Cj - Zj row. If all the numbers in Cj - Zj row are either negative or zero,
an optimum solution has been obtained.
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.
22
1) Maximization with all constrains with only ≤ Constrains
Example
As discussed above, the initial feasible solution is found by setting the decision variables to zero.
Max Z = 60X1+50X2+0S1+0S2+0S3
2X1+ X2+S2 = 22
3X1+ 3X2+S3 = 39
X1, X2 > 0
Basic 60 50 0 0 0 Quantity
X1 X2 S1 S2 S3
S1 0 4 10 1 0 0 100
S2 0 2 1 0 1 0 22
S3 0 3 3 0 0 1 39
Zj 0 0 0 0 0 0
Cj-Zj 60 50 0 0 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 X1 indicates that bringing one unit of X1 would increase the
value of the objective function by $60. The same is true for the X2 column, i.e. bringing one unit of X2
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 Cj-Zj row are all 0. According to what has been said before, we
have the following rule in order to identify an optimal solution.
A simplex solution in a maximization problem is optimal if the Cj-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.
23
In the initial feasible solution, the slack variables form entirely the basic variables and the decision
variables entirely form the non-basic variables. Since further improvement is possible, one of the
decision variables will be brought into the solution and one of the current basic variables will be leaving
the solution. ‘Which non-basic variable should be brought into the solution and which basic variable
should leave the solution?’ is a major concern here.
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 Cj-Zj row since bringing that non-basic variable into the solution
would make the highest contribution to the solution (objective function) and result in the largest profit
potential. As a result, the variable with the highest value in the Cj-Zj row of the initial simplex tableau is
the X1 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 X1 units as possible. The amount of
X1 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.
Basic 60 50 0 0 0 Quantity
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
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 X1. In this particular case, there is only
enough of the second constraint to make 11 units of X1. In making the 11 units of X1, the second
resource (S2) will be down to zero indicating that S2 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 Zj
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.
24
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:
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.
Basic 60 50 0 0 0 Quantity
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
The profit obtained at this point of solution is $660. In the Cj-Zj row, we search for the highest positive
value. If there is, it means that we can further improve this solution. Therefore, we have a positive value
in the Cj-Zj row which indicates that this is not the optimal solution. As a result, we go for the next
tableau.
Here, we select the entering and the leaving variables. The entering variable is the one with the highest
Cj-Zj row value which is the X2 column. This means that bringing one unit of X2 into the solution
increases profit by $20. Therefore, the X2 will be the entering variable designated as the pivot column.
To determine the leaving 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 S3 is the
leaving variable with the smallest non-negative ratio. This means that S3 is the most limiting resource
for how much units of X2 can be made.
Basic 60 50 0 0 0 Quantity
25
X1 X2 S1 S2 S3
S1 0 0 8 1 -2 0 56 56/8=7
X2 60 1 ½ 0 ½ 0 11 11/(1/2)=22
S3 0 0 3/2 0 -3/2 1 6 6/(3/2)
Zj 60 30 0 30 0 0 660
Cj-Zj 0 20 0 -30 0
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.
Basic 60 50 0 0 0 Quantity
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
Zj 60 60 0 10 40/3 740
Cj-Zj -60 -10 0 -10 -40/3
All the values in the Cj-Zj row are zero and negative indicating that there cannot be additional
improvement. This makes the third tableau to contain the optimal solution with the following basic
variables:
This means that in order to achieve the maximum profit, the company should produce 9 units of X1 and
4 units of X2 leaving 24 hours of unused resource of the first constraint.
26
If any problem constraint has negative constants on the right side, multiply both sides by -1 to
obtain a constraint with a non-negative constant. (If the constraint is an inequality, this will
reverse the direction of the inequality).
Introduce a slack variable in each ≤ constraints.
Introduce a surplus variable and an artificial variable in each ≥ constraint.
Introduce an artificial variable in each '='constraint.
For each artificial variable Ai, add -MAi to the objective function in case of maximization and
+MAi in case of minimization. Use the same constant M for all artificial variables.
Form the simplex tableau for the modified problem.
Solve the modified problem using the simplex method.
Note. The artificial variables are introduced for the limited purpose of obtaining an initial solution and
are required for the constraints of ≥ type or the constraints with '=' sign. It is not relevant whether the
objective function is of the minimization or the maximization type.
Obviously, since artificial variables do not represent any quantity relating to the decision problem, they
must be driven out of the system and must not remain in the final solution (and if at all they do, it
represents a situation of infeasibility). This can be ensured by assigning an extremely high cost to them.
Generally, a value M is assigned to each artificial variable, where M represents a number higher than
any finite number. For this reason, the method of solving the problems where artificial variables are
involved is termed as the 'Big M Method'. When the problem is of the minimization nature, we assign in
the objective function a coefficient of +M to each of the artificial variables. On the other hand, for the
problems with the objective function of maximization type, each of the artificial variables introduced has
a coefficient -M.
In case of equality constraints, a slack variable is not acceptable since these constraints require a precise
amount. To overcome this problem, artificial variables are introduced which are added to = and
constraints. They have no physical representation for their purpose is to allow the use of simplex
process. As a result, they should not appear in the final optimal solution. Assignment of coefficients for
artificial 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.
Max. Z = 6X1+8X2
Subject to X2 < 4
X1+X2 = 9
6X1+2X2 ≥ 24
27
In solving for this problem, introducing a slack variable is not acceptable 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.
Max Z = 6X1+8X2+0S1+0S2-MA2-MA3
Subject to X2+ S1 = 4
X1+X2+A2 = 9
6X1+2X2-S3+A3 = 24
In the initial tableau, we list the variable in the order of decision variable, slack/surplus variables and
finally artificial variables. And for constraints, use artificial variables, and/or slack variables and/or
surplus variables for the initial solution. Therefore, the initial tableau for the problem is represented as
follows.
Basic V 6 8 0 0 -M -M Quant
X1 X2 S1 S3 A2 A3
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
Zj -7M -3M 0 +M -M -M -33M
Cj-Zj 6+7M 8+3M 0 -M 0 0
Since this is a maximization problem, the entering variable is the one with the maximum Cj-Zj value.
Therefore, the variable with the maximum Cj-Zj is X1, the decision variable. And the leaving variable is
(4/0=undefined; 9/1=9; and 24/6=4) with the minimum non-negative ratio which is A3, the artificial
variable. Since this artificial variable is not needed we remove it from the next tableau.
After identifying the entering and the leaving variable, the usual elementary row operations are
performed to obtain a unit vector in the entering variable column. The end result after performing the
row operations is as follows which shows the second tableau.
Basic V 6 8 0 0 -M Quant
X1 X2 S1 S3 A2
S1 0 0 1 1 0 0 4
A2 -M 0 2/3 0 1/6 1 5
X1 6 1 1/3 0 -1/6 0 4
28
Zj 6 2-2/3M 0 -1-M/6 0 24-5M
Cj-Zj 0 6+2/3M 0 1+M/6 -M
Again here, we identify the leaving and the entering variables, i.e. the pivot row and the pivot column
respectively. The entering variable with the highest Cj-Zj row value is X2 and the leaving variable (4/1=4;
5/2/3=7.5 and 4/1/3=12) with the smallest ratio is S1.
Selecting the entering and leaving variables, we go for obtaining a unit vector in the pivot column by
using the elementary row operations. We get the following third tableau.
Basic V 6 8 0 0 -M Quant
X1 X2 S1 S3 A2
X2 8 0 1 1 0 0 4
A2 -M 0 0 -2/3 1/6 0 7/3
X1 6 1 0 -1/3 -1/6 0 8/3
Zj 6 8 6+2/3M -1-1/6M 0 48-7/3M
Cj-Zj 0 0 -6-2/3M 1+1/6M 0
Perform elementary row operations usual to have a unit vector in the entering variable column and you
will get the following fourth tableau.
Basic V 6 8 0 0 Quant
X1 X2 S1 S3
X2 8 0 1 1 0 4
S3 0 0 0 -4 1 14
X1 6 1 0 -1 1/6 5
Zj 6 8 2 1 62
Cj-Zj 0 0 -2 -1
This tableau represents the final tableau since we have only zeros and negative values in the Cj-Zj row
which indicates that it is the optimal solution. So we have the following results for each of the variables
and the profit obtained.
29
2.3.2.2. Minimization Linear Programming Problems
The Big-M Method is a technique, which is used in removing artificial variables from the basis. In this
method; we assign coefficients to artificial variables, undesirable from the objective function point of
view. If objective function Z is to be minimized, then a very large positive price (called penalty) is
assigned to each artificial variable. Similarly, if Z is to be maximized, then a very large negative cost (also
called penalty) is assigned to each of these variables.
Step1. Formulate the linear programming model, and express the mathematical model of LP. problem in
the standard form by introducing surplus and artificial variables in the left-hand side of the constraints.
Assign a 0 (zero) and +M as coefficient for surplus and artificial variables respectively in the objective
function. M is considered a very large number so as to finally drive out the artificial variables out of basic
solution.
Step2. Next, an initial solution is set up. Just to initiate the solution procedure, the initial basic feasible
solution is obtained by assigning zero value to decision variables. This solution is now summarized in the
initial simplex table. Complete the initial simplex table by adding two final rows Z, and Cj - Zj. These two
rows help us to know whether the current solution is optimum or not.
Step3. Now; we test for optimality of the solution. If all the entries of Cj - Zj, row are positive, then the
solution is optimum. However, this situation may come after a number of iterations. But if at least one
of the Cj - Zj values is less than zero, the current solution can be further improved by removing one basic
variable from the basis and replacing it by some non-basic one.
Step4. (i) Determine the variable to enter the basic solution. To do this, we identify the column with the
largest negative value in the Cj – Zj row of the table. (ii) Next, we determine the departing variable from
the basic solution. If an artificial variable goes out of solution, then we discard it totally and even this
variable may not form part of further iterations. Same procedure, as in maximization case, is employed
to determine the departing variable.
Step5. We update the new solution now. We evaluate the entries for next simplex table in exactly the
same manner as was discussed earlier in the maximization case.
30
Step6. Step (3—5) are repeated until an optimum solution is obtained.
So, the following are the essential things to observe in solving for minimization problems:
The entering variable is the one with the largest negative value in the Cj-Zj row while the leaving
variable is the one with the smallest non-negative ratio.
The optimal solution is obtained when the Cj-Zj row contains entirely zeros and positive values.
Example: Assume the following minimization problem.
Min Z = 7X1+9X2
8X1+4X2 > 64
X1, X2 > 0
We introduce both surplus and artificial variables into both constraints as follows.
Min Z = 7X1+9X2+0S1+0S2+MA1+MA2
8X1+4X2-S2+A2 = 64
X1, X2 > 0
Thus, the subsequent tableaus for this problem are shown below. To remind in these tableaus is in
transforming from one tableau to another, we perform elementary row operations to obtain the unit
vector in the pivot column for the entering variable into the solution.
Basic V 7 9 0 0 M M Quant
X1 X2 S1 S2 A1 A2
A1 M 3 6 -1 0 1 0 36
A2 M 8 4 0 -1 0 1 64
Zj 11M 10M -M -M M M 100M
Cj-Zj 7-11M 9-10M M M 0 0
Here we identify the leaving and the entering variables, i.e. the pivot row and the pivot column
respectively. The entering variable with the highest Cj-Zj row value is X1 and the leaving variable
(36/3=12; and 64/8/=8) with the smallest ratio is A2.
Basic V 7 9 0 0 M Quant
X1 X2 S1 S2 A1
A1 M 0 9/2 -1 3/8 1 12
X1 7 1 1/2 0 -1/8 0 8
Zj 7 9/2M+7/2 -M 3/8M-7/8 M 56+12M
Cj-Zj -7 -11/2M-7/2 M -3/8M+7/8 0
31
Again, here we identify the leaving and the entering variables, i.e. the pivot row and the pivot column
respectively. The entering variable with the highest Cj-Zj row value is X2 and the leaving variable
(12*2/9=24/9; and 8/1/2=16) with the smallest ratio is A1.
Basic V 7 9 0 0 Quant
X1 X2 S1 S2
X2 9 0 1 -2/9 2/24 8/3
X1 7 1 0 1/9 -1/6 20/3
Zj 7 9 -11/9 -5/12 212/3
Cj-Zj 0 0 11/9 5/12
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.
Summary
Special Issues
Several special situations which one many encounter during the application of simplex method are
summarized below:
A situation with no feasible solution may exist if the problem was formulated incorrectly. Infeasibility
comes about when there is no solution that satisfies all of the problem’s constraints.
In the simplex method, an infeasible solution is indicated by looking at the final tableau Whenever the
optimality criteria are satisfied but still there exist an artificial variable in the basis or solution mix, this is
the indication of infeasibility.
Example:
Minimization case
Basic V 5 8 0 0 M Quant
X1 X2 S1 S3 A2
32
X1 5 1 1 -2 3 0 200
X2 8 0 1 1 2 0 100
M A2 0 0 0 -1 1 20
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.
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:
Basic V 7 9 0 0 Quant
X1 X2 S1 S3
X2 9 -1 1 2 0 30
S2 0 -2 0 -1 1 10
Zj -9 9 18 0 270
Cj-Zj 15 0 -18 0
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 X1 or pivot column. Since both pivot column numbers are negative, an
unbounded solution is indicated.
Degeneracy
33
If there is a tie for the smallest ratio, this is a signal that degeneracy exists. Degeneracy can occur right in
the first (initial tableau). This normally happens when the number of constraints is less than the number
of variables in the LP model. Such problems can be overcome by trial and error method. If this is
resolved by a proper selection of the key element, degeneracy can be avoided. The main drawback to
degeneracy is the increase in the computation, which reduces the efficiency of the simplex method
considerably.
Basic V 5 8 2 0 0 0 Quant
X1 X2 X3 S1 S2 S3
X2 8 1/4 1 1 -2 0 0 10
S2 0 4 0 1/3 -1 1 0 20
S3 0 2 0 2 2/5 0 1 10
Zj 2 8 8 16 0 0 80
Cj-Zj 3 0 -6 -16 0 0
The leaving variable can be determined as 10/1=40; 20/4=5; 10/2=5. Tie for the smallest ratio Indicates
degeneracy.
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. However, 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.
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.
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:
34
Basic V 7 9 0 0 Quant
X1 X2 S1 S3
‘ ‘ ‘
‘ , ;
Zj
Cj-Zj 5 2 5 0
In such a case, X1 is the entering variable
This situation occurs when there can be infinite number of solutions possible for a given problem. This
situation can be recognized in a simplex method when one of the non-basic variables in the Cj-Zj, row
have a value of zero. This is to mean in the optimal solution when non-basic variable (variable not in the
basis) has a zero value in Cj-Zj row, this is the indication of existence of multiple solution. To obtain the
other solution, we will make a non- basic variable with a zero Cj-Zj value to enter in to the basis and
solve in the same way as the one we did in the previous discussion.
Basic V 3 2 0 0 Quant
X1 X2 S1 S2
X2 2 3/2 1 1 0 6
S2 0 1 0 1/2 1 3
Zj 3 2 2 0 12
Cj-Zj 0 0 -2 0
MaxZ=3X1+2X2
X1=0, X2=6, S2=3 and MaxZ=12 or: X1=3, X2=3/2 and MaxZ=12
Summary
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.
The variations described in general simplex approach include; maximization and minimization
problems, mixed constraint problems, problems with multiple optimal solution, problems with no
feasible solution, unbounded problems, tied pivot columns and rows.
Multiple optimal solution are identified by Cj-Zj (or Zj- Cj)=0 for a non-basic variable. To determine
the alternate solution(s), enter the non-basic variable(s) with a Cj-Zj value equal to zero.
An infeasible problem is identified in the simplex procedure when an optimal solution is achieved
and one or more of the basic variables are artificial.
The unbounded problems are identified in the simplex procedure when it is not possible to select a
pivot row- that is, when the replacement ratio is negative or undefined.
Degeneracy occurs when there is a tie for pivot row.
2.4 Post optimality Analysis
In the previous sections we discussed about how to solve LP problems using either graphic or simplex
approach which is a base for this section. This unit deals with the other version of the simplex model,
dual and the sensitivity of the optimal solution to changes in different parameters.
Objectives:
35
Conduct sensitivity analysis on different parameters
Describe the dual and primal forms of LP problems
2.4.1 Sensitivity Analysis
Overview
This section takes you beyond the optimal solution to analyse the impact of change in the parameters
on the optimal solutions. Assumptions may not always hold. If this is the case, it should be tested. This
section will do this purpose.
Under this section, we will discuss about sensitivity analysis which involves an examination of the
potential impact of changes in any of the parameters (i.e. numerical values) of a problem (e.g., a change
in the amount of scarce resource available).
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 (aij), 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.
Section Objective
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 anew
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:
a. Will an increase in the right hand side of this constraint affect the objective function?
36
b. If so, how much of the resource can be used?
c. 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?
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.
Maximize 60 x 1+50 x 2
Subject to
X1, X2 > = 0
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.
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.
Basic 60 50 0 0 0 Quantity
X1 X2 S1 S2 S3
37
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
Zj 60 60 0 10 40/3 740
Cj-Zj -60 -10 0 -10 -40/3
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 s3 (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, 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 initial
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:
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 q1 symbolically represent quantity in the original model, and ∆ stands for change.
Max. Z = 60X1+50X2
2X1+X2 < 22
3X1+3X2 < 39
38
If we consider the same example as in the previous example, i.e., change in q3 = 39. If q3 =changes by
some amount, the new q’3 equals the original q3 +∆. The ∆ changes form a separate column identical to
the s1 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.
Basic 60 50 0 0 0 Quantity
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∆
Zj 60 60 0 10 40/3 740
Cj-Zj -60 -10 0 -10 -40/3
Recall that the requirement of simplex method is that the quantity values cannot be negative. If any q1
value becomes negative, the solution no longer be feasible. Thus the inequalities
24-16∆/3 > 0
9-∆/3> 0
4 + 2∆/3 > 0
3 3 3
∆< 4.5
Since the new q3 = 39 +∆, then ∆ = q3 -39. These values are substituted to the above inequalities to
result in:
39
33 < 43.5< q3 <66
The value 66 can be eliminated since q3 must be less than 43.5; thus
As long as q3 remains in this range, the present basic solution variables remain positive and feasible.
However, the quantity value of those basic variables may change.
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
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 s1= 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 s3= 3.5, x1=7.5, x2=7, and Profit = 800.
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.
40
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.
Subject to:
3 2 5 0 0 0 Quantity
X1 x2 x3 S1 S2 S3
S1 0 0 0 1 1/5 -4/5 4/5
X1 1 0 2 0 3/5 -2/5 12/5
X2 0 1 0 0 -2/5 3/5 12/5
Zj 3 2 6 0 1 0 12
Cj-Zj 0 0 -1 0 -1 0
In the above tableau we see that x3 is a non- basic variable. To determine the range over which the
objective function coefficient of x3 would change without changing the optimal solution, recall how a
variable in a max problem enters the solution mix. Because x3 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 x3 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.
41
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.
Basic 60 50 0 0 0 Quantity
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
Zj 60 60 0 10 40/3 740
Cj-Zj 0 -10 0 -10 -40/3
For x1 we find:
Column x1 x2 s1 s2 s3
C-Z value 0/1 = 0 -10/0 = Undefined 0/0 = Undefined -10/1 = -10 -40/3 = +40
The smallest positive ration 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 Birr 10 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
x2 row value ⅔
The smallest positive ration is +10. This tells us that the x2 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 cj that will maintain the optimal solution can be
determined directly from the optimal simplex tableau.
Basic 60 50 0 0 0 Quantity
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
42
Zj 60+∆ 50 0 ∆ +10 40-∆/3 740
Cj-Zj -60 0 0 -10-∆ -40+∆/3
Consider a ∆ change for c1. This will change the c1 value from c1=60 to c1=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
-∆ < 10 (-40+∆)<0
Now recall that c1=60+∆; therefore, ∆ = c1-60. Now substituting c1-60 for ∆ in the above inequalities,
we get:
C1> 50 C1<100
Therefore, the range of values for C1 over which the solution basis remain optimal (although) the value
of the objective function may change) is:
50<C1<100
2.4.2 Duality
Section objective:
Define duality
Describe the importance of duality
Explain how to convert dual in to primal and the vice versa
Formulate dual when the constraints are mixed
Elucidate how to read the solution for primal from dual’s solution and vice versa.
Analyse the impact of addition of a new product on the decision
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.
43
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,
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.
There are two important forms of primal and dual problems, namely the symmetrical ( or canonical) and
the standard form.
Symmetrical form
Subject to
x1,x2... xn ≥0
44
Minimize Zy = b1y1+ b2y2 + ... +bmym
Subject to
y1,y2... ym ≥0
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:
Subject to:
1y1+ 4y2< 40
2y1+ 4y2< 44
3y1+ 4y2< 48
y1, y2> 0
From this 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
45
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.4.2.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,
4x1+ 5x2> 20
Then one of these must be multiplied by -1, depending on whether the primal is maximization or a
minimization problem.
Example:
Subject to
C1 3x1+ 5x2≤ 4
C2 4x1+ 2x2≥16
C3 6x1+6x2= 30
x1,x2≥ 0
Solution
Since the problem is a max problem, put all the constraints in to the ≤ form. Subsequently, C 2and C3
will be first adjusted in to ≤ constraints.
C3 is equality, and must be restated as two separate constraints. Thus, it becomes: 6x1+6x2≤ 30
and 6x1+6x2≥30. Then the second of these must be multiplied by -1.-1(6x1+6x2≥30) becomes -
6x1-6x2≤ -30
46
After making the above adjustments, rewrite the LP model again.
Subject to:
C1 3x1+ 5x2≤ 45
C3 6x1+6x2≤ 30
C4 -6x1-6x2≤-30
x1, x2 ≥ 0
Subject to
Cross -referencing the values in the primal and dual final simplex tableaus is shown as follows.
47
appears under s1in the bottom row, and 4 appears under s2. Thus, we can read the solution to the
primal problem from the bottom row of the dual: In the first three columns of the dual, which equate to
slack variables of the primal, we can see that the fist slack equals 24 and the other two are zero. Under
the dual’s slack columns, we can read the primal values of the decision variables. In essence, then, the
variables of the primal problem become the constraints of the dual problem, and vice versa.
Suppose the microcomputer firm has been approached by a representative of a department store chain
that wants the firm to make computers that will be sold under the store’s brand name. The
microcomputer company has only a limited capacity for producing computers, and therefore, must,
decide whether to produce its own computers or produce computers for the department store.
x1, x2> 0
The manager of the firm would reason in the following way. For each unit of Model I that the firm
sacrifices to produce computers for the department store, it will gain 4 hours of assembly time, 2 hours
of inspection time, and 3 cubic feet of storage space, which can be applied to the store computers.
However, it will also give up a unit profit of $60. Therefore, in order for the firm to realistically consider
the store’s offer, the amounts of scarce resources that will be given up must produce a return to the
firm that is at least equal to the foregone profit. Hence, the value of 4 assembly hours + 2 inspection
hours + 3 cubic feet of storage space > $60. By imilar reasoning, giving up one unit of Model II will
require that the value received by giving up 10 assembly hours + 1 inspection hour + 3 cubic feet of
storage must equal or exceed the Model II profit of $50 per unit. These, then, become the constraints of
the dual problem. Thus:
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 department store, the value received from that switch must be at least equal to the profit
48
foregone on the microcomputer models. The variables y1, y2and y3are 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 y1. This is because the optimal solution
to the primal did not completely use up all of the assembly capacity. Consequently, no amount of either
x1or 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.
The concepts introduced in the preceding section also can be applied to evaluating the feasibility of
adding another decision variable to the problem. For example, suppose the microcomputer firm is
considering a third model of microcomputer that will yield a profit of Birr 70 per unit, and this will need
resource requirements of 8 hours of assembly time, 4 hours of inspection time, and 5 cubic feet of
storage space per unit. The dual constraint for this model would be:
8 y 1 +4 y 2+5 y 3 >70
In order to determine if this new variable would come into the optimal (primal) solution, we can
substitute the dual solution of y1= 0, y2= 10, and y3= 40/3 (i.e., the shadow prices, or marginal values of
the resources) into this constraint to see if it would be satisfied. Thus, we find, 8(0) + 4(10) + 5(40/3) =
106.67. Because this amount is greater than the new dual constraint, the original solution remains
optimal. Hence, the new variable (x3) would not come into solution.
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.
49
The importance of the dual LP problem in terms of the information which it provides about the value of
the resources. The economic analysis is concerned with deciding whether or not to secure more
resource and how much to pay for these additional resources. The significance of the study dual is as
follows;
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.
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 solve 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)
Summary
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.
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 the primal’ objective is to minimize, the dual’s will be to maximize; and the vice versa; the
coefficient’s of the primal’s objective function become the RHS values for the dual’s constraints;
the primal’s RHS values become the coefficients of the dual’s objective function; the coefficients
of the first “row” of the primal’s constraints become the coefficients of the first “column” of the
dual’s constraint …..; the ≤ constraints become ≥ and the vice versa.
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.
The purpose of sensitivity analysis 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
righthand side values; would affect the solution.
50