Download as pdf or txt
Download as pdf or txt
You are on page 1of 40

lOMoARcPSD|32088805

Chapter TWO OR final - teacher note

Business Law (Addis Ababa University)

Studocu is not sponsored or endorsed by any college or university


Downloaded by John Yohannes (johnkinfe20@gmail.com)
lOMoARcPSD|32088805

UNIT TWO: THE LINEAR PROGRAMMING (LP)


2.1 Introduction to LP
The purpose of this section is to introduce you with linear programming. Emphasis is given on
familiarization with terminologies, problem recognition, model formulation, and applications of LP.
Constrained Optimization
A commonly encountered form of decision making involves situations in which the set of acceptable
solutions is somehow restricted. The restrictions may be imposed internally or externally. For example, an
internal restriction might be the amount of raw materials that a department has available to produce its
products. This would impose a limit on the amount of product that could be produced. Other internal
restrictions can include availability of labor time, machine time, technical requirements, and budgets. An
external restriction might be labor regulations (safety equipment, training requirements, and overtime)
that limit the options open to decision makers. The restrictions are called constraints for purposes of linear
programming. The goal in LP is to find the best possible solution given the constraints imposed by the
problem; hence the term constrained optimization. We are trying to optimize (find the maximum or
minimum values) a given objective function subject to constraints or limiting conditions.
Linear Programming
In 1947, George Dantzig developed the use of linear algebra for determining solutions to problems that
involved the optimal allocation of scarce resources such as labor, finance, time, etc. In spite of numerous
potential applications in business, response to this new technique was low, primarily because of the
substantial computational burden it required. Subsequent advances in computer technology and related
computer software have removed the computational burden and this has led to widespread use of linear
programming in business.

The programming aspect of LP refers to the use of algorithms. An algorithm is a well defined sequence of
steps that will lead to an optimal solution. The term linear refers to straight line relationships. LP models
are based on linear relationships. Taken as a whole, the term linear programming refers to a family of
mathematical techniques that can be used to find solutions to constrained optimizations problems.

Linear programming is a problem solving approach that has been developed to help managers in making
decisions. The following decisions described some typical applications of LP:
a) A manufacturer wants to develop a production schedule and an inventory policy that will satisfy sales
demand in future periods. Ideally, the schedule and policy will enable the company to satisfy demand
and at the same time minimize the total production and inventory costs. The objective here is to
minimize cost subject to demand and production capacity constraints.
b) A financial analyst must select an investment portfolio from a variety of stock and bond investment
alternatives. The analyst would like to establish the portfolio that maximize the return on investment
subject to total amount of investment funds available and the maximum amounts that can be invested
in each stock and bond.
c) A marketing manager wants to determine how best to allocate a fixed advertising budget among
alternative advertising medias such as radio, TV, newspaper, and magazine. The manager would like to
determine the media mix that maximizes the advertising effectiveness subject to a fixed advertising
budget and the availability of the various media.

Linear programming models


Linear programming models are mathematical representations of LP problems. LP models have certain
characteristics in common. The characteristics can be grouped into two categories:
Components and assumptions: The components relate to the structure of a model, whereas the
assumptions reveal the conditions under which the model is valid.
Components of LP models: The components are the building blocks of an LP model. The following are
the components of LP models:

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

a) Objective: The objective in problem solving is the criterion by which all decisions are evaluated. As
such, it provides the focus for problem solving. In linear programming models, a single, quantifiable
objective must be specified by the decision maker. For example, the objective might relate to profits, or
costs or market share, but to only one of these. Moreover, because we are dealing with optimization, the
objective will be either maximization or minimization. Hence, every LP problem will be either a
maximization problem or a minimization problem. Maximization problems often involve profits,
revenue, market share, or return on investment, where as minimization problems often involve costs,
time, or risk. Once the objective is specified, it becomes the measure of effectiveness against which
alternate solutions are judged. The optimal solution will be the one that yields the highest profit or the
one that provides the lowest cost. If a problem concerns maximizing profits, the profit per unit for each
variable either may be given or it may have to be derived by finding the difference between revenue per
unit and cost per unit for each decision variable. For instance, if the revenue is Birr 50 per unit for a
product and the cost is Birr 30 per unit, the profit per unit is Birr 20 (Birr 50-Birr 30). Note that the
units of all the coefficients in the objective function must be the same (e.g., all in Birrs, all in hours,
etc). In addition, all terms in the objective function must include a variable, and all decision variables
must be represented in the objective function.
b) Decision variables: The decision maker can control the value of the objective, which is achieved
through the choices in the level of decision variables. For example, a problem may involve maximizing
the profit obtained from the sale of three products, each with its own unit profit. If we assume that all
the output can be sold, the problem facing the decision maker is: How much of each product should be
produced to obtain the maximum profit? In terms of the LP model, the decision variables represent
unknown quantities to be solved for. The decision variables will be defined in terms of a quantity of an
amount which is usually represented by a variable and a subscript number like x 1, x2, x3... If for example,
our case is to maximize profit through the production and sell of two products, x 1 represents the quantity
of the first product and x 2 the quantity of the second product. The decision variables are the variables
whose specification describes the solution for the problem. It typically comprises the set of decisions to
be made.
c) Constraints: The ability of a decision maker to select values of the decision variables in an LP
problem is subject to certain restrictions or limitations. These restrictions are called constraints. These
can come from a variety of sources. The restriction may reflect availabilities of resources (e.g., raw
materials, labor time, machine time, work space, storage space, etc), legal or contractual requirements
(e.g., product standards, work standards, and so on ), technological requirements (e.g., tensile strength),
or they may reflect other limits based on forecasts, customer orders, company policies, and so on.
Constraints may be in terms of an upper limit, lower limit or equality. So when you formulate the
model, carefully differentiate which one is called for. If for example one constraint says “at least 100
unit of the first product must be made”, the constraint will be expressed as: x 1  100. If it were “to a
maximum of 50 units of the first product must be made”, the constraint will be: x 1 50. And had the
constraint been explained like “exactly 60 units of the first product is needed”, the constraint could have
been x1 = 60. The usual way to write constraints is by putting the variables in the left side of the
expression while a constant alone is placed on the right side. This constant is usually referred to as the
right hand side value (RHSV). Generally speaking, a constraint has four elements:
a) A right hand side (RHS) quantity that specifies the limit for that constraint. It must be a constant,
not a variable.
b) 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.
c) The decision variables to which the constraint applies.
d) The impact that one unit of each decision variable will have on the right hand side quantity of the
constraint.

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

d) Parameters: The objective and the constraints in the model are mathematical expressions. Each
expression consists of numerical values and symbols. The symbols represent decision variables,
whereas the numerical values are called parameters. The parameters are fixed values that specify the
impact that one unit of each decision variables will have on the objective function and on any constraint
it pertains to as well.
Assumptions of LP Model
The major assumptions of LP model are linearity, divisibility, certainty, and non-negativity.
i Linearity: The linearity requirement is that each decision variable has a linear impact on the objective
function and in each constraint in which it appears. This means, for example, that if the profit of x 1 is
Birr 4 per unit, that same figure holds regardless of the quantity of x 1: It is true over the entire range of
possible values of x1. The same applies to each of the constraints: It is required that the same coefficient
(for example, 2 kg per unit) applies over the entire range of possible values of the decision variable. In
terms of a mathematical model, a function is linear when the variables included are all to the power 1
(that is not squared, cubed, square root, etc) and no products (e.g., x 1x2) appear. Thus, 2x1 + 3x2=40 is
linear constraint: where as the following constraints are not linear.
2x12 + 3x2=40 (x1 is squared)
2x1 + x1x2=40 (the second term is a product of variables)
ii Divisibility: The divisibility requirement pertains to potential values of decision variables. It is assumed
that non-integer values for decision variables are acceptable. For example, an optimal solution to a
decision variable can take values like 3.5, 1.2, 2.5, etc… regardless of the nature of the item represented
by the decision variable. For instance, suppose 3.5 is determined to be the optimal number of television
sets to be produced per hour. This would results in 7 sets every two hours, which would be acceptable.
iii Certainty: The certainty requirement involves two aspects in LP models. One aspect relates to the
model parameters (i.e., the numerical values). It is assumed that these values are known and constant.
For instance, in the above example 2x 1 appears in a labor constraint with hours as the unit of measure, it
is assumed that each unit of x 1 will require exactly 2 hours of labor. If the right side of the constraint is
300 labor hours, it is assumed that this value will remain 300. The second aspect is that all relevant
constraints are identified and included in the model.
iv Non-negativity: The non-negativity requirement is 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. The non-negativity constraints typically apply in an LP model, whether they are explicitly
stated or not.
Formulating LP Models
Once a problem has been defined, the attention of the analyst shifts to formulating a model. Just as it is
important to carefully define a problem, it is important to carefully formulate the model that will be
used to solve the problem.
Formulation of LP models is the process of translating the verbal statement of a problem into a
mathematical statement. Formulation of the model is the same as assembling the components of the LP
models that are mentioned above. Each component will be depicted as a mathematical expression in the
linear programming model. It is worth acquiring this knowledge since the model is an abstraction of the
real problem at hand. That is, if the model is ill-formulated, it will fail to represent the problem properly
and it can easily lead to poor decisions.
Formulating linear programming models involve the following steps:
 Identify the decision variables.
 Determine the objective functions.
 Identifying the constraints.
 Determining appropriate values for parameters and decide whether an upper limit, lower
limit, or equality is called for.
 Use this information to build a model.
 Validate the model.

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

In many cases, the decision variables are obvious; in others, a brief discussion with the appropriate
manager is necessary. However, identifying the constraints and then determining appropriate value for the
parameters can require considerable time and effort on the part of the analyst. Potential sources of
information include historical records, interviews with managers and staff, and data collection.
Accounting records or personnel can generally provide information about the values of parameters. Once
the information about constraints and parameters has been obtained, constructing an appropriate model
becomes the focus. 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
Example: The Microcomputer Problem
A firm that assembles computer and computer equipment is about to start production of two new
microcomputers. Each type of micro-computer will require assembly time, inspection time, and storage
space. The amount of each of these resources that can be devoted to the production of microcomputers
is limited. The manager of the firm would like to determine the quantity of each microcomputer to
produce in order to maximize the profit generated by sales of these microcomputers. In order to
develop a suitable model of the problem, the manager has met with design and manufacturing
personnel. As a result of those meetings, the manager has obtained the following information:

Type-1 Type-2
Profit per unit Birr 60 Birr 50
Assembly time per unit 4 hours 10 hours
Inspection time per unit 2 hours 1 hour
Storage space time per unit 3 cubic feet 3 cubic feet
The manager also has acquired information on the availability of company resources. These (daily)
amounts are:
Resource Amount available
Assembly time 100 hours
Inspection time 22 hours
Storage space 39 cubic feet
The manager also met with the firm’s marketing manager and learned that demand for the microcomputers
was such that whatever combination of these two types of microcomputer is produced, all of the output can
be sold.
Required: Formulate the linear programming model of this problem.
Solution:
a. First, we must define the decision variables. Based on the statement, “The manager…..would like to
determine the quantity of each microcomputer to produce” the decision variables are the quantities of
each type of computer. Thus,
x = quantity of type 1 to produce
y = quantity of type 2 to produce
b. Next, we formulate the objective function. The profit per unit of type1 is Birr 60 and the profit per
unit of type 2 is Birr 50, so the appropriate objective function is:
Maximize Z = 60x + 50y, where Z is the value of the objective function given the values of the
decision variables (x and y).
c. As for the constraints, there are three resources with limited availability: assembly time, inspection
time, and storage space. The fact that availability is limited means that these constraints will all be 
constraints. The type 1 microcomputer requires 4 hours of assembly time per unit, where as the type 2
microcomputer requires 10 hours of assembly time per unit. Therefore, with a limit of 100 hours
available, the assembly constraint is 4x + 10y  100 hours
Similarly, each unit of type 1 requires 2 hours of inspection time, and each unit of type 2 requires 1
hour of inspection time. With 22 hours available, the inspection constraint is:

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

2x + y  22 hours
The storage constraint is determined in a similar manner. It is 3x + 3y  39
There are no other systems or individual constraints.
The non-negativity constraints are: x, y 0 (or x  0, y 0).
In summary, the mathematical model of the microcomputer problem is:
Maximize profit: 60x + 50y
Subject to:
4x + 10y  100 hours (Assembly time constraint)
2x + y  22 hours (Inspection time constraint)
3x + 3y  39 cubic feet( Storage space constraint)
x, y 0
Linear Programming Applications
Product mix
Organizations often produce similar products or offer similar services that use the same resources (for
example, labor, time, materials, etc). Because of the limits in the amounts of these resources that are
available during any time period, a decision must be made concerning how much of each product or
service to produce or make available during the time period that will be consistent with the goal of the
organization. The basic question that can be answered using linear programming is: What mix of output
(or service) will maximize profit (revenue, etc) given the availability of scarce resources? The
microcomputer problem described above is an example of a product mix problem.
Additional Example:
A toy manufacturer makes three versions of a toy robot. The first version requires 10 minutes each for
fabrication and packaging and 2 pounds of plastic, the second version requires 12 minutes each for
fabrication and packaging and 3 pounds of plastic, and the third version requires 15 minutes each for
fabrication and packaging and 4 pounds of plastic. There are 8 hours of fabrication and packaging
time available and 200 pounds of plastic available for the next production cycle. The unit profits are
Birr 1, Birr 5, and Birr 6 for version 1, 2 and 3 respectively. A minimum of 10 units of each must be
produced to fill backorders. Formulate an LP model that will determine the optimal production
quantities for profit maximization.
Solution
a)Identify the decision variables:
x1=number of version 1 robots
x2=number of version 2 robots
x3=number of version 3 robots
b) Identify the constraints by name:
Fabrication and packaging time
Quantity of plastic
Quantity of version 1 robots (minimum of 10)
Quantity of version 2 robots (minimum of 10)
Quantity of version 3 robots (minimum of 10)
c)Write the objective function:
Maximize profit: x1 + 5x2 + 6x3
d) Write the constraints:
Note that fabrication and packaging times are given in minutes per unit, but that available time is given
in hours. It is necessary that both sides of a constraint have the same units. This can be accomplished by
converting 8 hours to 480 minutes.

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

The constraints are:


Fabrication and packaging 10x1 + 12x2 + 15x3480 minutes
Plastic 2x1 + 3x2 + 4x3 200 pounds
Version 1 x1 10 robots
Version 2 x2 10 robots
Version 3 x3 10 robots
x1, x2, x3  0
In sum , the model is:
Maximize profit: x1 + 5x2 + 6x3
Subject to:
Fabrication and packaging 10x1 + 12x2 + 15x3480 minutes
Plastic 2x1 + 3x2 + 4x3 200 pounds
Version 1 x1 10 robots
Version 2 x2 10 robots
Version 3 x3 10 robots
x 1, x2, x3  0
Diet Problems
This type of problem usually involves the mixing of raw materials or other ingredients to obtain an end
product that has certain characteristics. For instance, food processors and dieticians generally are
concerned with meeting dietary needs in food products. There may be specific requirements pertaining to
nutrients, calories, sodium contents, and so on. The general question to be answered by linear
programming is: What mix of inputs (e.g., different food types) will achieve the desired results for the
least cost? The following example illustrates this type of problem.
Example: A cereal manufacturer is investigating the possibility of introducing a new cereal. It would
be composed of wheat, rice, and cornflakes. The cost per kg and dietary requirements are shown in the
following table:
Nutrients Wheat Rice Cornflakes Amount
Protein 6 4 4 at least 280 grams
Carbohydrate 25 35 25 at least 260 grams
Calories 80 120 130 not more than 1500 calories
Cost per gram Birr 0.05 Birr 0.08 Birr 0.04
Formulate an LP model for this problem that will determine the optimal quantities of wheat, rice, and corn
flakes that will achieve the requirements at minimum cost.
x1=the amount of wheat
x2 =the amount of rice
x3 =the amount of cornflakes
Minimize cost: 0.05x1 + 0.08x2 + 0.04x3
Subject to:
Protien 6x1 + 4x2 + 4x3  280 grams
Carbohydrate 25x1 + 35x2 + 25x3  260 grams
Calories 80x1 + 120x2 + 130x3 1500 calories
x1, x2, x3  0
Portfolio Selection
These problems generally involve allocating a fixed Birr amount (e.g., Birr 100,000) among a variety of
investments, such as bonds, stocks, and so on. Usually the goal is to maximize income or total return.
Example: A conservative investor has Birr 100,000 to invest. The investor has decided to use three
vehicles for generating income: municipal bonds, a certificate of deposit (CD), and a money market
account. After reading a financial newsletter, the investor also has identified several additional
restrictions on the investments:
a) No more than 40 percent of the investment should be in bonds.

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

b) The proportion allocated to the money market account should be at least double the amount in the
CD.
The annual return will be 8 percent for bonds, 9 percent for the CD, and 7 percent for the money
market account. Assume the entire amount will be invested.
Formulate the LP model for this problem assuming that the investor wants to maximize the total
annual return.

Solution
Let
x1=amount invested in bonds
x2 = amount invested in the CD
x3 = amount invested in the money market account
The annual return from each investment is the product of the rate of return and the amount of investment:
Maximize: 0.08x1 + 0.09x2 + 0.07x3
The requirement that no more than 40 percent be in bonds produces this constraint:
x1 0.4(100,000), whcih becomes x1 40,000.
The requirement that the proportion invested in the money market account be at least double the amount
in the CD leads to: x3 2x2. Then, subtracting 2x2 from both sides gives us:
x3-2x20, which can be rearranged so that x2 comes before x3: -2x2 +x3 0
Finally, the investor must recognize that the amounts invested in bonds, the CD, and the money market
account must equal Birr 100,000. This gives us:
x1 + x2 + x3=Birr 100,000
In sum , the model is:
Maximize: 0.08x1 + 0.09x2 + 0.07x3
Subject to
Amount in bonds x1  40,000
Money/CD -2x2 +x3 0
Total amount x 1 + x2 + x3 =Birr 100,000
x 1, x2, x3  0
Take about 25 minutes.
A small firm produces a variety of chemical products. In a particular production process, three raw
materials are blended (mixed together) to produce two products: a fuel additive and a solvent base.
Each tonu of fuel additive is a mixture of 0.4 ton of material 1 and 0.6 of material 3. A ton of solvent
base is a mixture of 0.5 ton of material 1, and 0.2 of material 2, and 0.3 ton of material 3. The firm’s
production is constrained by a limited availability of the three raw materials. For the current
production period, the firm has the following quantities of each raw material:
Raw Material Amount available for production
Materials 1 20 tons
Materials 2 5 tons
Materials 3 21 tons
The accounting department has determined, after deducting all relevant costs, that the firm
will make a Birr 40 for every ton of the fuel additive and Birr 30 for every ton of solvent base
products. Assuming that the firm is interested in maximizing the total profit contribution,
formulate the linear programming model.
2.2 Graphic Solutions to LP Problems
In the previous section, the basic concepts of LP such as definitions of LP, component and assumptions of
LP models, formulation of LP model and application of LP have been discussed. Accordingly, a well
formulated LP model should be solved and the graphic method is one of the solution procedures used in
solving linear programming models. Thus, this section presents the graphic solution approach to LP
problems.

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Introduction
Graphical linear programming is a relatively straight forward method for determining the optimal
solution to certain LP problems. In practical terms, this method can be used only to solve problems that
involve two decision variables. This is because we cannot plot an equation having more than two
variables in a two dimensional coordinate plane.
In order to demonstrate the graphical method, the microcomputer problem that was formulated in the
preceding section will be solved. The model is
Maximize profit: 60x + 50y
Subject to:
Assembly time constraint: 4x + 10y  100 hours
Inspection timer constraint: 2x + y  22 hours
Storage space constraint: 3x + 3y  39 cubic feet
x, y  0
Graphing the model
Graphing an LP model consists of the following distinct steps.
1) Plot each of the constraints
2) Determine the region or area that contains all of the points that satisfy the entire set of
constraints.
3) Determine the optimal solution.
Fundamental theorem of LP: If there is a solution to an LP problem, at least one optimal solution will
occur at a corner point of the feasible solution space. A corner point is a point in the feasible solution
region that is the intersection of two boundary lines (constraints
The extreme point theorem states that for problems that have optimal solutions, a solution will occur at an
extreme or corner point. As a result, in searching for an optimal solution to a problem, we need only
consider the extreme points because one of those must be optimal. Further, we could identify the optimal
solution by selecting the corner point that has the best value (i.e., maximum or minimum, depending on
which type of problem was involved) of the objective function. Hence the necessary steps for the extreme
point approach are:
a) Graph the problems.
b) Determine the values of the decision variables at each corner point. Sometimes this can be done by
inspection (observation); usually it is done using simultaneous equations.
c) Substitute the values of the decision variables at each corner point into the objective function to
obtain its value at each corner point.
d) After all corner points have been so evaluated, 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.
Slack
After we have got the optimal solution, we have to substitute the value of the decision variables into the
constraints and check whether all the resources available are used or not. The amount of unused resources
is known as slack. If there is an unused resource we can use it for any other purpose. Slack can range
from zero, for a case in which all of a particular resource is used, to the original amount of the resource
that was available (i.e., none of it is used). Slack can potentially exist in a  constraint.
Let us see what slack remains for the optimal solution to the above LP problem. The amount of unused
resource can be computed by substituting the values of the decision variables into each constraint and

Take about 30 minutes.


Given the LP model:

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Maximize profit: 10x1 + 16x2


Subject to:
10x1 + 20x2  110
25x1 + 20x2  200
x1, x2  0
a) Find the optimal solution using the graphic method.
b) Determine the amount of slack for each constraint.
c) What is the value of the objective function at the optimal solution?
d) What is the maximum available resource for each constraint?
Minimization example
Graphical solutions to minimization problems are very similar to solutions to maximization problems.
The main differences are that the constraints, in general, are the greater than or equal to variety, which
causes the feasible solution space to be restricted to an area away from the origin, instead of close to the
origin, as in a maximization problem, and the optimum being the point with the smallest possible value of
the objective function, instead of the largest.
Example: Solve the following LP model using the graphic approach:
Minimize cost: 0.1x+0.07y
Subject to:
6x + 2y  18
8x+ 10y 40
y 1
x, y  0
Solution
Graph the constraints using this procedure:
1. Treat each constraint as equality.
2. For the first two constraints, find the x intercept by setting y equal to 0 and solving for x,
and then find y intercept by setting x equal to 0 and solving for y. For the third constraint,
y is simply equal to 1.
3. Plot these constraints and shade in the feasible solution space as shown below:
Dear learner, find the x and y intercepts by your own.

Solution

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

The extreme points can be determined either by inspection or from simultaneous equations. The results
are summarized as follows:
Extreme points How Value of the objective function
x Y determined?
0 9 Observation 0.10(0)+0.07(9)=Birr 0.63
5 0 Observation 0.10(5)+0.07(0)=Birr 0.50
2.27 2.19 Simultaneous 0.10(2.27)+0.07(2.19)=Birr 0.38 (smallest)
equation
The minimum value of the objective function is Birr 0.38, which occurs when x=2.27 and y=2.19.

Surplus
If there is a difference between the minimum required amount and the amount used, the difference is
called surplus. Surplus is the amount by which the optimal solution causes a  constraint to exceed the
required minimum amount. It can be determined in the same way that slack is calculated. Substitute the
optimal values of the decision variables into the constraint and solve. The difference between the resulting
value and the original right-hand side amount is the amount of surplus. Surplus can potentially occur in a
 constraint.

Computing the amount of surplus


Constraints Minimum requirement Amount used Surplus=Amount used minus
x = 2.27, y = 2.19 minimum requirement
1 18 6*2.27+2*2.19=18 18-18=0
2 40 8*2.27+10*2.19=40 40-40=0
3 1 2.19 2.19-1=1.19
Interpretation: The value of x is 2.27 units and the value of y is 2.19 units to attain a minimum cost of
Birr 0.38. There is a surplus of 1.19 units in the third constraint.

Some Special Issues on graphic method


The following are some of the special issues that may arise in solving of linear programming problems:
a) Problems with no feasible solutions
b) Unbounded problems
c) Redundant constraints
d) Problems with multiple optimum solutions
a) No feasible solutions: It is possible to formulate a problem for which it is impossible to satisfy the set of
constraints. This situation sometimes occurs in problems that have a mix of greater than constraints and
less than constraints, where in order to satisfy one of the constraints, another constraint must be violated.
Infeasibility means that a feasible region doesn’t exist; that is, no points satisfy all the constraints. It
looks like the following graph.

10

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Area of feasibility for


constraint 2

Area of feasibility
for constraint 2

Figure 7: The graph of no feasible solution


b) Unbounded Problems: An unbounded problem exists when the value of the objective function can be
increased without limit. If the value of the solution may be made infinitely large in a maximization LP
problem or infinitely small in a minimization problem without violating any of the constraints, the
problem is said to be unbounded. This is the case when we can increase the value of the objective
function without limit. This case happens if the objective is maximizing while all the constraints are
greater than or equal to constraints.

11

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

X2
An unbounded solution space

A feasible solution space for


a maximization problem

X1

Figure 8: The graph of unbounded solutions


c) Redundant Constraints: When a constraint does not form a unique boundary to the feasible solution
region, this constraint is a redundant constraint. Its absence (removal) does not make change to the
feasible solution space.

Redundant Constraint

Second
constraint

First
constraint

Figure 9: The graph of redundant constraint


d) Multiple Optimal Solutions: Linear programming problems sometimes may have multiple optimal
solutions, where different combination of values of the decision variables can yield the same optimal
value for the objective function. This will happen when any of the constraint functions is parallel to the
objective function, that is, they have the same slope. All points in this segment will yield the same optimal
value to the objective function (i.e. points on the segment are solutions to the problem). The following
graphs indicate the above cases.

12

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Multiple optimal solutions

Optimal line
segment

Objective function

Figure 10: The graph of redundant constraint

2.3 The Simplex Method of Solving LP Problems


The previous section illustrated how two-variable LP problems could be solved graphically. However, in
practice, graphical solutions do not represent a realistic alternative to most LP problems because the
majority of these problems involve more than two decision variables, whereas the graphical method is
limited to problems with two decision variables. This section introduces the simplex procedure, which is a
general purpose approach for solving LP problems regardless of the number of decision variables. The
simplex procedure will be demonstrated for a maximization and minimization problems.
Overview of the Simplex Method
In the previous discussion, we discussed how the graphical solution procedure can be used to solve linear
programming problems involving two decisions variables. However, most linear programming problems
are too large to be solved graphically, and an algebraic solution procedure must be employed. The most
widely used algebraic procedure for solving linear programming problems is called the simplex method.
The simplex procedure is a general purpose approach that can be used in any LP model regardless of the
number of decision variables. This procedure is discussed in different conditions: Maximization problems
having only  constraints, minimizations and maximizations with mixed constraints (having some
constraints that are not  type).
The simplex method is an iterative technique that begins with a feasible solution that is not optimal, but
serves as a starting point. Through algebraic manipulation, the solution is improved until no further
improvement is possible (i.e., until the optimal solution has been identified).
We learned in the previous section that the optimal solution to a LP model will occur at an extreme point
of the feasible solution space. This is true even if a model involves more than two variables; optimal
solutions occur at these points. Extreme points represent intersections of constraints. Of course, not every
intersection will result in an extreme point of the feasible solution space; some will be outside of the
feasible solution space. Hence, not every solution will be a feasible solution. Solutions which represent

13

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

intersections of constraints are called basic solutions; those which also satisfy all the constraints,
including the non-negativity constraints, are called basic feasible solutions. The simplex method is an
algebraic procedure for systematically examining basic feasible solutions. If an optimal solution exists,
the simplex method will identify it.
Steps in the simplex procedure (for a maximization LP problem)
The simplex procedure for a maximization problem with all  constraints consists of the following steps.
1. Write the LP model in a standard form: When all of the constraints are written as equalities, the linear
program is said to be in standard form. We convert a maximization LP model into a standard form by
applying the slack variables, s, which carries a subscript that denotes which constraint it applies to. For
example, s1 refers to the amount of slack in the first constraint, s 2 to the amount of slack in the second
constraint, and so on. When slack variables are introduced to the constraints, they are no longer
inequalities because the slack variable accounts for any difference between the left and right-hand sides of
an expression at optimal solution. Hence, once slack variables are added to the constraints, they become
equalities. Furthermore, every variable in a constraint must be represented in the objective function and
thus, slacks have to be represented in the objective function. However, since slack does not provide any
real contribution to the objective, each slack variable is assigned a coefficient of zero in the objective
function.
Slack variables are variables we introduce to the left side of  constraints to make them an equality.
These variables represent the amount of unused scarce resources or capacity. Taking the aforementioned
microcomputer problem, the LP model is:
Maximize Profit: 60x1 + 50x2
Subject to:
4x1 + 10x2  100
2x1 + x2  22
3x1 + 3x2  39
x1, x2 0
Its standard form is as follows:
Maximize profit= 60x1 + 50x2 + 0s1 + 0s2 + 0s3
Subject to:
4x1 + 10x2 + s1 = 100
2x1 + x2 + s2 = 22
3x1 + 3x2 + s3 = 39
x1, x2, s1, s2, s3  0
The constraints form a system of simultaneous linear equations. As a rule, linear programming models
have fewer equations than variables. For example, in this case there are three equations and five variables
(two decision variables and three slack variables). When a system of equations has more variables than
equations, unique solutions are not possible. Instead the solution possibilities are infinite. Thus, unless
the number of equations equals the number of variables, a unique solution cannot be found.

In order to make the number of variables equal to the number of equations, enough variables can be set
equal to zero, so that the remaining number of nonzero variables equals the number of equations. In the
case of the above LP model, if two of the variables were set equal to zero, the result would be three
equations and three variables. In general, if we have n variables and m equations, with n>m, we must set
n-m of the variables equal to zero in order to obtain a system of equations in which the number of
variables equal the number of equations. And if we then solve the resulting system of equations for the
values of the remaining variables, we will obtain a solution that represents an intersection of constraints.
In other words, by setting n-m variables equal to zero, we are able to determine a solution that occurs at
one of the constraint intersections. The result is a basic solution. Moreover, the variables that have been
set equal to zero are referred to as non-basic variables, whereas the remaining variables are referred to as
basic variables.

14

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Take about 15 minutes.


Consider the following linear program:
Maximize profit: x1 + 2x2
Subject to :
x1 + 5x2 10
2x1 + 6x2 16
x1 , x2≥0
a) Write the LP model in standard form.
b) In reality, how do you define slack (idle resources)? Give examples.
c) Why should you add slacks?
d) What is the coefficient of slacks in the objective function? Why?
2. Finding An Initial Feasible Solution
A basic feasible solution is a basic solution that satisfies all of the constraints in a model, including the
non-negativity constraints. As noted in the preceding section, we can obtain a basic solution by setting n-
m of the variables equal to zero and solving for the remaining variables. For example, in the
microcomputer problem (five variables, three constraints), we must set two variables equal to zero.
Suppose we set the two decision variables equal to zero. They would drop out of the equations, and we
would be left with the following very simple equations:
s1 = 100
s2 = 22
s3 = 39
Obviously, it is very easy to see what the values of the remaining variables are. Moreover, we can verify
that this is a basic feasible solution because the equations are satisfied and no variable has a negative
value. Hence, an easy way for us to obtain a basic feasible solution in this case was to set the decision
variables equal to zero. In fact, in a maximization problem in which all constraints are of the  variety,
an initial basic feasible solution can be obtained by setting all of the decision variables equal to zero.
Therefore, the initial solution will consist entirely of slack variables.

The variables that are solved for are the basic variables, and the other variables are non-basic variables.
The complete solution consists of the basic and the non-basic variables. Therefore, for the microcomputer
problem, the complete initial solution is:
x 1= 0
x2 = 0
s1=100
s2 =22
s3= 39
3. Develop The Initial Simplex Tableau: The mathematical characteristics of each extreme point are
summarized in a table which is referred to as a tableau. The simplex procedure starts checking optimum
solution from the origin, where the value of all the decision variables is zero. To develop the initial
simplex tableau;
a) List the variables across the top of the tableau and write the objective function coefficient of each
variable just above it.
b) Provide one row for each constraint in the body of the tableau. List each basic variable in the basis
column, one per row.
c) In the Cj column, enter the coefficient of the objective function (zero for each slack variable), where Cj
is the coefficient of variable j in the objective function.
d) Compute values for row Zj: For each column, the Zj value is obtained by multiplying each of the
numbers in the column by their respective row coefficients in column Cj. The row Zj values are
determined column by column. For example, the Zj value for x1 column is computed in this way:
0(4) +0(2) +0(3) =0

15

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Similarly, the Zj value for x2 column is:


0(10) +0(1) +0(3) =0
For s1 column, the result is:
0(1) +0(0) +0(0) =0
Because each of the row coefficients is 0 means that all the row values will equal
zero for the initial tableau. There is also a Zj value for the quantity (right hand side
value) column. It is computed in similar fashion:
0(100) +0(22) +0(39) =0
e) Compute values for Cj – Zj. For each column, the value in row Zj is subtracted from the Cj value in
the top row. Thus, for the x 1 column we have 60-0=60, for the x 2 column we have 50-0=50, and for
each of the slack columns we have 0-0=0.
The simplex tableau in the simplex procedure is equivalent to the solution space and the checking process
is done for each corner points. The corner points represent the intersection of two constraints (i.e., the
coordinate value for decision variables at the intersection point). The variables in the basis of a simplex
tableau are like variables at the intersection point. The value for these variables at this point is found from
the quantity column of the tableau. All constraints must also be represented in the simplex tableau if the
simplex procedure is to yield a solution that takes all the constraints into account.
The simplex procedure starts checking from the origin, where the value of all the decision variables is
zero. If we start from the origin by assuming a value of zero for all the decision variables, and if all the
constraints are to be represented in the tableau, how can we develop the initial simplex tableau?
The initial simplex tableau represents all the constraints in the model without violating the assumption of
starting from the origin through the help of other variable(s). These variables are slack variables. Look at
the basis in the following simplex tableau.

Initial simplex tableau


Cj 60 50 0 0 0
Basis x1 x2 s1 s2 s3 Quantity
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 (profit)
Cj-Zj 60 50 0 0 0 0

Interpreting the Solution


The meaning of the above simplex tableau is that the solution to the model is s1 = 100, s2 =22, s3 =39,
x1 =0, x2=0 and profit =0.

Each tableau represents a basic feasible solution to the problem. Let us examine this particular tableau to see
some of the kinds of information it contains. As previously noted, this solution is comprised entirely of the
slack variables. We can read the variables that are in the basis, or “in solution” down the left side of the
tableau, and their values down the right side. This tells us that s 1 = 100, s2 =22, s3 =39. If the variable is not
included in the basis, its value is equal to zero. Therefore, because x1 and x2 are not listed, their values are
zero. Hence, this solution corresponds to the origin.

A feature of variables that are in solution is that a zero (0) appears in the bottom row of the tableau in that
variable’s column. Thus, all three slack variables have a zero in their respective columns in the bottom row.
Conversely, the two variables not in solution both have non-zero values in the bottom row. In addition, note

16

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

the values in the column of every variable that is in solution. In each case, the column is made up of a single 1
and the rest 0’s. For example, in s1 the values are
 1
 0
 
 0
This is called a unit vector. Variables that are in solution will have unit vector columns (i.e., one (1) and the
rest 0). Moreover, the 1 will appear in the same row that the variable appears in. Thus, s 1 is the first variable
listed in the basis. Hence, a 1 appears at the intersection of the first row and s 1 column.

The last value in the Zj row (i.e., in the quantity column) indicates that the value of the objective function is 0
for this solution.

The values in the bottom row indicate any potential for improvement. For example, the 60 in column x1
reveals that if one unit of x1 could be brought into the solution (i.e., if x1=1), the value of the objective
function would increase by Birr 60, and that additional units of x1 also would increase the value of the
objective function by Birr 60 per unit. The other values in the bottom row have similar interpretations.

Then our next task is to check if the solution is optimal to the model. This will be proved by looking at the
net evaluation row (Cj-Zj) row in the tableau. The rule is:
A simplex solution in a maximization problem is optimal if the Cj-Zj row consists entirely of zero and
negative numbers (i.e., there are no positive values in the bottom row). That is, Cj-Zj0.

In our example, there are two positive numbers (60 and 50). This indicates that the initial simplex tableau doesn’t
give us the optimal solution to the model.

4. Develop subsequent tableaus


To develop subsequent tableaus, we go through the following steps:
(1) Identify the variable that has the largest positive value in row Cj-Zj. This is the next variable to
come into the solution basis. The largest positive value in the above example is 60 because it has the
largest profit potential. The column containing this largest positive value is called the pivot column;
and the variable in the pivot column is the entering variable to bring about the improvement in the
level of the objective function. The x1 column is designated as the pivot column, and the numbers in
that column in the body of the table (i.e. ) will be key values for developing the second
tableau.
 4
 2
 
 3
Let us see why the case is. The numbers in the body of the first tableau are the coefficients of the
constraints. Thus, in the x1 column, the numbers are 4, 2, and 3, which are the x1 coefficients in the three
constraints. Each number indicates how much of the basic variable for that row must be given up, or
reduced, in order to get one unit of x1. For instance, the 4 in the first row tells us that 4 units of slack, s 1,
will be required to obtain one unit of x1. Similarly, the 2 in the second row indicates that 2 units of slack,
s2, must be used up to obtain the same one unit of x1 and the 3 in the third row tells us that 3 units of s3
must be used up to get the unit of x1. The numbers in the body of a simplex tableau are, therefore, referred
to as substitution rates because they indicate how much each basic variable will be used in order to
obtain 1 unit of the entering variable.

17

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Because each unit of x1 that can be brought into solution will increase profit by Birr 60, we want to make
as much x1 as possible. The amount of x1 that can be made will depend on the substitution rates and the
amount of slack variables, which is shown in the quantity column.
(2) Identify the leaving variable by applying the minimum ratio test.
 Pick out each coefficient in the pivot column that is positive. Divide the right hand side values for
these coefficients in the same row. But, do not divide by a zero or negative value.
 Identify the row that has the smallest of these ratios and the basic variable for that row is the leaving
variable.
 Replace the leaving variable by the entering basic variable in the solution basis column of the next
tableau
100 22 33
In our example, we will take ratios: , and which is 25, 11 and 13.
4 2 3

First Tableau
Basis Cj 60 50 0 0 0
x1 x2 s1 s2 s3 Quantity Minimum ratio test
s1 0 4 10 1 0 0 100 100/4 = 25
*
s2 0 2 1 0 1 0 22 22/2 = 11 pivot row
s3 0 3 3 0 0 1 39 39/3 = 13
Zj 0 0 0 0 0 0 Profit=0
Cj-Zj 60 50 0 0 0 0
*Pivot element
The second constraint is the most restrictive because it reveals that there is only enough of the second
resource to make 11 units of x1. Hence, the smallest of the ratios governs how much x 1 we can make.
Further, in making the 11 units of x1, the second resource will be used up (i.e., s2 will be reduced to zero).
Thus, s2 will be drop out of the solution mix (basis) and its place will be taken by x1. That is, x1 is the
entering variable and s2 is the leaving variable.
It sometimes happens that some of the substitution rates are for the variable we want to bring into
solution are zero or negative. A zero would imply that none of the corresponding variables in the basis is
required to obtain a unit of the entering variable. A negative substitution rate implies that bringing a
variable into solution will increase the amount of a basic variable. In effect, the entering variable frees up
additional resources. The point is the negative and zero substitution rates will not limit the mount of the
entering variable that can be made. We, therefore, need only to concern ourselves with positive
substitution rates; there is no need to divide the quantity column values by a negative or a zero
substitution rate. Consequently, in determining the variable that will leave the basis, our rule is:

Select the leaving variable as the one which has the smallest non-negative ratio of quantity divided
by substitution rate.

Up to this point we have determined that variable x 1 will enter the basis, and that variable s 2 will leave the
solution. The row of the variable that will leave the solution (in this case s 2) is called the pivot row. Its
values will be used to obtain values in the same row of the next tableau.

Dear learner, having this, what do you think is the next step?
The next step is to find unit vectors for the new basic variable using row operations on the pivot column.
The row operation includes:
i. Interchanging any two rows.
ii. Adding or subtracting a multiple of a non-zero constant of one row to another
iii. Multiplying any row of by a non-zero constant.

18

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Let us begin our computations with the revised values for new row x 1. We want to force the 2
(called the pivot element); which is the intersection of x1 column and s2 row of the initial tableau to
1. We can force the value to 1 by dividing the 2 by it self.
That is, given the second constraint as: 2x1 + x2 + 0s1 +1s2 +0s3 = 22
This equation can be transformed into an equivalent equation with a 1 as the x 1 coefficient by multiplying
each element by ½.
Multiply by ½: x1 + 1/2x2 + 0s1 +1/2s2 +0s3 = 11
The revised coefficients can now be entered in the second tableau as shown below:

Basis Cj 60 50 0 0 0
x1 x2 s1 s2 s3 Quantity
s1 0
x1 60 1 1/2 0 1/2 0 11
s3 0
Zj
Cj-Zj
The new pivot row will be used to transform the values of the other row equations into equivalent
equations that can be used to easily identify the next solution by elementary row operations. We can
easily see how the first constraint can be revised so that the x 1 coefficient is 0 by writing out the first
constraint equation and the new pivot row equations:
First constraint: 4x1 + 10x2 + 1s1 +0s2 +0s3 = 100
Pivot row: x1 + 1/2x2 + 0s1 +1/2s2 +0s3 = 11
If we multiply the pivot row by 4 and subtract the result, the x 1 will drop out of the equation and become
zero, which is what we want. The multiple of the pivot row is:

4x1 + 2x2 + 0s1 +2s2 +0s2 = 44


Subtracting this from the fist constraint gives us our new equation for the first constraint:
First constraint: 4x1 + 10x2 + 1s1 +0s2 +0s3 = 100
Pivot multiple: - (4x1 + 2x2 + 0s1 +2s2 +0s3 = 44)
0x1 + 8x2 + 1s1 -2s2 +0s3 = 56
We can now enter the coefficients of this transformed constraint equation in the first row of the second
tableau. A similar operation can be performed on the third constraint equation and a partially completed
second tableau is given as follows:

Basis Cj 60 50 0 0 0
x1 x2 s1 s2
Quantity s3
s1 0 0 8 1 -2
56 0
x1 60 1 1/2 0 1/2
11 0
s3 0 0 3/2 0 -3/2
6 1
Zj
Cj-Zj
Now we are ready to compute the values for row Zj. These are found by multiplying the values in each
column by the corresponding coefficients in the Cj column and adding them. The computations are as
follows:

x1 x2 s1 s2 s3
Quantity
s1 0(0)=0 0(8)=0 0(1)=0 0(-2)=0 0(0)=0 0(56)=0
x1 60(1)=60 60(1/2)=30 60(0)=0 60(1/2)=0 60(0)=0 60(11)=660
s3 0(0)=0 0(3/2)=0 0(0)=0 0(-3/2)=0 0(1)=0 0(6)=0
Zj 60 30 0 30 0 660
19

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Now the Cj-Zj values can be computed. Thus,


x1 x2 s1 s2 s3
Cj 60 50 0 0 0
Zj 60 30 0 30 0
Cj-Zj 0 20 0 0 0

Completed second tableau


Basis Cj 60 50 0 0 0
x1 x2 s1 s2 s3 Quantity
s1 0 0 8 1 -2 0 56
x1 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

Interpreting the Second Tableau


At this point, variables s1, x1 and s3 are in solution. Not only are they listed in the basis, they also have a 0
n row Cj-Zj. The solution at this point is:
s1=56
x1 =11
s3=6
Note, too, that x2 and s2 are not in the solution. Hence, they are each equal to zero. The profit at this point
is Birr 660, which is read in the quantity column in row Zj. Also, note that each variable in solution has a
unit vector in its column.

Checking the bottom row of the tableau, we note that there is a positive number (i.e., 20 in the x 2 column).
This indicates that the solution can be improved. The implication is that for every unit of x 2 that we can
bring into the solution, profit will increase by Birr 20. Therefore, we must develop a third tableau.

Dear learner, please develop the third tableau by your own. Use the procedures used above.

Developing the Third Tableau


So far we have determined that variable x 2 will enter the solution. Now we must identify the variable that
will leave the solution. To do so this, we divide quantity column values to the corresponding constraint
coefficients in the x2 column. These computations are shown below:

Basis Cj 60 50 0 0 0
x1 x2 s1 s2 s3 Quantity
s1 0 0 8 1 -2 0 56 56/8=7
x1 60 1 1/2 0 1/2 0 11 11/0.5=22
s3 0 0 3/2 0 -3/2 1 6 6/1.5=4 smallest non-negative ratio
Zj 60 30 0 30 0 660
Cj-Zj 0 20 0 -30 0
The smallest non-negative ratio is in the third row. This tells us that variable s 3 must be taken out of the
solution (i.e., set equal to zero), and replaced with incoming variable x 2. Because x2 will come into the

20

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

solution, its coefficient in the x2 column must be transformed to a 1. As before, if we note that the current
value at that location (i.e., the intersection of the entering variable’s column and the entering variable’s
row) is 3/2, we can accomplish this by multiplying every element in the third row by 2/3. The resulting
values become the pivot row for the third tableau. Omitting the variables from the list for convenience,
we have:
2/3(0 3/2 0 -3/2 1 6) = 0 1 0 -1 2/3 4
These values now can be entered into the third tableau as shown below:

Basis Cj 60 50 0 0 0
x1 x2 s1 s2 s3 Quantity
s1 0
x1 60
x2 50 0 1 0 -1 2/3 4
Zj
Cj-Zj
The values in the remaining two constraint rows now must be transformed to equivalent equations in
which the elements in the x2 column are zero. This can be accomplished in the following way:

Multiply the values in the pivot row by the value in the entering variable’s column for the row being
transformed. Thus, to transform values in row 1, multiply the pivot values of the third tableau by 8. Then
subtract the results from the values that appeared in the preceding tableau. Similarly, to obtain new row 2
values, multiply the pivot values in the third tableau by ½ and subtract the result from the row 2 values of
the preceding tableau.

For the first row, multiplying the pivot values by 8, we obtain these values:
8(0 1 0 -1 2/3 4) = 0 8 0 -8 16/3 32
Subtracting these from the previous row 1 values, we obtain

Previous values 0 8 1 -2 0 56
-(0 8 0 -8 16/3 32)
= 0 0 1 6 -16/3 24
For row 2, multiplying the pivot values by 1/2, we obtain these values:
1/2(0 1 0 -1 2/3 4) = 0 1/2 0 -1/2 1/3 2
Subtracting these from the previous row 2 values, we obtain

Previous values 1 1/2 0 1/2 0 11


- (0 1/2 0 -1/2 1/3 2)
= 1 0 0 1 -1/3 9
Partially completed third tableau
Basis Cj 60 50 0 0 0
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
Zj
Cj-Zj

Dear learner, please calculate the values of Zj and Cj-Zj by your own.

21

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

These values can be calculated as follows:


60 50 0 0 0
x1 x2 s1 s2 s3 Quantity
s1 0(0) =0 0(0) =0 0(1) =0 0(6) =0 0(-16/3)=0 0(24)=0
x1 60(1)=60 60(0)=30 60(0)=0 60(1)=60 60(-1/3)=-60/3 60(9)=540
X2 50(0) =0 50(1)=50 50(0)=0 50(-1)=-50 50(2/3)=100/3 50(4)=200
Zj 60 50 0 10 40/3 740
Cj-Zj 0 0 0 -10 -40/3
Completed third tableau
Basis Cj 60 50 0 0 0
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
Zj 60 50 0 10 40/3 740
Cj-Zj 0 0 0 -10 -40/3

Interpreting the Third Tableau


In this tableau, all of the values in the bottom row are either negative or zero, indicating that no
additional potential for improvement exists. Hence, this tableau contains the optimal solution, which
is:
x1 = 9 units
x2 = 4 units
s1 = 24 hours
Note, too, that because they do not appear in the solution, variables s 2 and s3 have values of zero. Thus, in
order to achieve the maximum daily profit, the company should produce 9 units of model 1 and 4 units of
model 2 microcomputers. This will leave no slack in either inspection or storage constraints. However,
there will be 24 hours of assembly time that is unused. The maximum profit will be Birr 740.
Take about 45 minutes.
A firm produces two lines of products, hand tools and home appliances. The unit contribution for each
product line has been computed by the company’s accounting department as Birr 50 per unit and Birr
60 per unit respectively. The time requirement of the products and total time available in each
assembly line is provided as follows:
Departments Hand tools Home appliances Available hours
1 2 hours 3 hours 1500 hours
2 3 hours 2 hours 1500 hours
In addition, the demand for the products restricts the production to the maximum of 400 units of each
of the two items. How much of each item must be produced if the company is to maximize its profit?
Use the simplex approach.
Answer key: x1 = 300 units, x2 = 300, s1 = 0, s2 = 0, s3 = 100, and s4 = 100 and maximum profit is Birr
33,000
Some Special Issues on simplex method
During the course of solving linear programming problems, various conditions can occur that make the
problem unusual and, in some instances, impossible to solve. In this sub section, three of these special
issues are examined; unbounded solutions, degeneracy, and multiple optimal solutions.
Unbound solutions: A solution is unbound if the objective function can be improved without limit. The
condition is relatively easy to recognize in a simplex solution. Recall that the way to determine which
variable will leave an interim solution is to compute the ratios of values in the quantity column and values
in the pivot column. The variable with the smallest positive ratio will leave the solution. The solution is

22

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

unbound if there are no positive ratios. A negative ratio means that increasing x 1 would increase resources.
A zero ratio means that increasing x 1 would not use any resources. This condition generally arises because
the problem is incorrectly formulated. If the constraints do not properly bind the solution, or the objective
function is stated as maximization when it should be a minimization, unbound solutions will occur.
Example: Solve the following linear programming model using the simplex procedure.
Maximize profit: 2x1 + 3x2
Subject to:
-x1 + x2  1
-1/2x1 + x2  3
x1, x2  0
The final tableau for the problem is:
Basis Cj 10 6 7 0 Quantity
x1 s1 s1 s2 values
x2 0 0 1 -1 2 5
x1 10 1 0 -2 2 4
Zj 2 3 -7 10 23
Cj-Zj 0 0 7 -10
Even though there is a positive value in the net evaluation row indicating that the solution is not optimal,
we cannot determine the variable to be replaced because there is no positive ratio in the pivot column.
This special condition is referred to as unbounded.

Degeneracy: In the process of developing the next simplex tableau for a tableau that is not optimal, the
leaving variable must be identified. This is normally done by computing the ratios of values in the
quantity column and the corresponding row values in the entering variable column, and selecting the
variable whose row has the smallest non-negative ratio. In some cases, there will be a tie for the lowest
non-negative ratio. Such an occurrence is referred to as degeneracy, because it is theoretically possible for
subsequent solutions to cycle (i.e., to return to previous solution). There are ways of dealing with ties in a
specific fashion; however, it will be usually enough to simply select one row (variable) arbitrarily and
proceed with the computations. However, there will be no improvement in the solution (level of the
objective function); it will rather be the same as the previous solutions.
Multiple Optimal Solutions: This is the condition when the same maximum value of the objective
function might be possible with a number of different combinations of values of the decision variables. It
occurs when the objective function is parallel to any of the binding constraint function. Two functions are
said to be parallel if the ratio of coefficients of variables is the same.
When using the simplex approach, we can recognize alternate optimal solution if the Cj-Zj row contains a
zero value for one or more of the non-basic variables (variables not in the solution) in the final simplex
tableau.
Exercise: Solve the following linear programming model using the simplex procedure.
Maximize profit: 60x1 + 30x2
Subject to:
4x1 + 10x2  100
2x1 + 1x2  22
3x1 + 3x2  39
x1, x2  0
First recognize that the above model is the case of multiple optimal solution because the objective
function 60x1 + 30x2 is parallel to the second constraint 2x 1 + 1x2  22. That is, the ratio of coefficients
of variables is the same (i.e. coefficient of x 1 to coefficient of x2 both in the objective function and the
60 2
second constraint    2 : 1 ).
30 1

23

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Final tableau for modified microcomputer problem with alternate optimal solution
Basis Cj 60 30 0 0 0
x1 x2 s1 s2 s3 Quantity
s1 0 0 8 1 -2 0 56
x1 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 0 0 -30 0
There is a zero in row Cj-Zj in the x 2 column and that indicates the existence of an alternate optimal
solution. The presence of this zero tells us that variable x 2 can be brought into solution without
increasing or decreasing the value of the objective function.

Summary of the Simplex Procedure for a Maximization Problem


The simplex procedure for a maximization problem with all  constraints consists of these steps.
Initial tableau
1. Write each constraint so that all variables are on a left side of the constraint and a non-negative
constraint is on the right. Then add a slack variable to the left side of the constraint, thereby
making it equality. This makes the model in standard form.
2. Develop the initial tableau.
a. List the variables across the top of the tableau and write the objective function coefficient of
each variable just above it.
b. There should be one row in the body of the tableau for each constraint. List the slack variables
in the basis column, one per row.
c. In the Cj column, enter the objective function coefficient of 0 for each slack variable.
d. Compute values for row Zj
e. Computer values for Cj – Zj.
Subsequent tableaus
1. Identify the variable that has the largest positive value in row Cj-Zj. This variable will come into
solution next.
2. Using the constraint coefficients in the entering variable’s column, divide each one into the
corresponding quantity column value. However, do not divide by a 0 or a negative value. The
smallest non-negative ratio that results indicates which variable will leave the solution mix.
3. Compute replacement values for the leaving variable: Divide each element in the row by a row
element that is in the entering variable column. These are the pivot row values for the next tableau.
Enter them in the same row as the leaving variable and label the row with the name of the entering
variable. Write the entering variable’s objective function coefficient next to it in column Cj.
4. Compute values for each of the other constraint equations:
 Multiply each of the pivot row values by the number in the entering variable column of the
row being transformed (e.g., for the first row, use the first number in the entering variable’s
column; for the third row, use the third number in the entering variable’s column). Then
subtract the resulting equations from the current equation for that row and enter the results in
the same row of the next tableau.
5. Compute values for row Zj: For each column, multiply each row coefficient by a row value in column
Cj and then add the result. Enter these in the tableau.
6. Compute values for row Cj-Zj: For each column subtract the value in row Zj from the objective
function coefficient listed in row Cj at the top of the tableau
7. Examine the values in the bottom row. If all values are zero or negative, the optimal solution has been
reached. The variables that comprise the solution are listed in the basis column and their optimal
values can be read in the corresponding rows of the quantity column. The optimal value of the

24

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

optimal value of the objective function will appear in row Zj in the quantity column. If the solution is
not optimal, repeat steps 1-6 of this section until the optimal solution has been attained, if it
exists.
Simplex: Maximization with Mixed Constraints and Minimization
In the previous subsection the simplex approach to the solution of LP problems was introduced. The
technique was demonstrated by using maximization problem in which all of the constraints are a 
variety. In this subsection the question of how to deal with problems that do not have a  constraint is
addressed. Such conditions can occur in the context of both maximization and minimization problems.
LP models with all the =, , and  signs is called mixed constraints. Constraints with = and  signs are
handled a bit differently. Here, we begin with a discussion of how to modify= constraints and 
constraints so that they are in a form that is compatible with a simplex solution. Next, a simplex solution
of a maximization problem that has a mix of three constraint types will be illustrated followed by a
simplex solution of a minimization problem.

Equality Constraints and Greater or Equal to Constraints


As we have discussed earlier, the simplex technique requires that the LP model should be in its
standard form. Constraints that are  can be put in standard form by adding a slack variable to the
constraint.
Dear learner, how do you convert an = constraint to standard form?

In the case of equality constraints slacks are not acceptable; such constraints require a precise
amount. However, as we saw earlier, the origin serves as a convenient starting point for an initial
solution. Thus, there is a conflict using the origin as starting point, with all decision variables set
equal to zero, and equality constraints, which do not permit any slack. This disparity is resolved in
simplex by the introduction of artificial variables. Artificial variables have no physical
interpretations, they merely serve as a device to enable us use the simplex procedure. During the
simplex procedure, artificial variables are quickly eliminated from the solution. In fact, the optimal
solution should never contain an artificial variable with non-zero value. Artificial variables have the
same non-negativity restriction that decision variables and slack variables have.

Example: Let us assume that we do have the following constraint in an LP model under
consideration: 3x1 + 5x2 = 40,
Its standard form will be: 3x1 + 5x2 + A1 = 40. A1 does mean an artificial variable for the first
constraint.
Dear learner, note that an artificial variable is a non-negative variable introduced to facilitate the
computation of an initial basic feasible solution.
Note that if a problem has five constraints, and the fifth constraint listed is an equality constraint,
its artificial variable would be designed as A 5.
Now consider 8x1 + 3x2  50

Unlike a  constraint, a  constraint is never allowed to have a value that is less than the minimum
amount designated by the constraint. However, it can have a value that exceeds the designated
amount (50 in this case). In some situations, a solution will result in values of the decision variables
that exceed the designated minimum level of a constraint. That excess amount is referred to as
surplus. Surplus variables are resources beyond the minimum requirements. This surplus amount
is subtracted from the left side of the constraint function to put it in standard form.
Example: 8x1 + 3x2  50 will look like:
8x1 + 3x2 – s1 = 50, where s1 = the surplus amount for the first constraint.

25

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

By subtracting the surplus, the constraint becomes equality. As before, to allow for initial solutions
that will be less than that amount, an artificial variable also must be added. Thus, the standard form
of the above constraint is: 8x1 + 3x2 – s1 + A1 = 50

Dear learner, how are we going to represent surplus and artificial variables in the objective
function?
Surplus variables are handled in exactly the same way as slack variables are. Namely, they are
assigned coefficients of zero in the objective function.

Assignment of coefficients for artificial variables depends on whether the problem is a


maximization or minimization problem. In either case, we are using artificial variables to facilitate
solution and we do not want them to appear in the final solution.
In maximization problems, assigning a large negative contribution will ensure that an artificial
variable will not appear in the optimal solution. Conversely, in a minimization problem, assigning a
large positive cost will have a similar effect. Although it would be acceptable to arbitrarily select a
large negative or positive value for the artificial variable coefficients, it is more common to simply
designate the coefficient with large M.
Assigning large negative number to be the coefficient of the artificial variable in the objective
function for a maximization problem will facilitate the exclusion of the artificial variable from the
basis as quickly as possible.
Assigning large positive number to be the coefficient of the artificial variable in the objective
function for a minimization problem will facilitate the exclusion of the artificial variable from the
basis as quickly as possible.
Thus, in a maximization problem, the objective function might be:
Maximize profit: 10x1 + 15x2 +0s1 +0s2-MA2
Note that from the objective function, we can tell that there must be two constraints: the first of
which must be a  constraint with s1 as its slack variable and the second of which must be a 
constraint with s2 as the surplus variable and A2 as the artificial variable. If there had not been an s 2
in the objective function, we would have concluded that the second constraint was equality.
Conversely, in a minimization problem, the objective function might be:
Minimize cost: 6x1 + 3x2 +0s1 +0s2+MA2
Again we can conclude that there are two constraints, the first a  and the second a .
Solving Maximization Problems with Mixed Constraints
All the logics we have seen so far on simplex procedure holds true again. The only difference is the
way we treat the new variables we introduced to the model (i.e. the artificial variable A and its
coefficient M).
Summary of the Steps to Create Tableau Form
1) If the original formulation of the LP contains one or more constraints with negative right
hand side values, multiply each of the constraints by -1 and this will change the direction of
the inequalities. This step will provide an equivalent linear program with non-negative right
hand side values.
2) For a less than or equal to ( ) constraints, add a slack variable to obtain equality constraint.
The coefficient of the slack variable in the objective function is assigned a value of zero. It
provides the tableau form for constraint and the slack variable becomes one of the basic
variables in the initial basic feasible solution.
3) For a greater than or equal to ( ) constraints, subtract a surplus variable to obtain equality
constraint, and then add an artificial variable to obtain the tableau form. The coefficient of the
surplus variable in the objective function is assigned a value of zero. The coefficient of the
artificial variable in the objective function is assigned a value of –M, where M is a very large

26

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

number. The artificial variable becomes one of the basic variables in the initial basic feasible
solution.
4) For equality (=) constraints, add an artificial variable to obtain the tableau form. The
coefficient of the artificial variable in the objective function is assigned a value of -M. The
artificial variable becomes one of the basic variables in the initial basic feasible solution.

Summary-solving maximization problems using simplex method


Type of To put into standard form Coefficient in Initial Basic
constraint the objective function feasible solutions
≤ add a slack variable 0+ slack variables
= add an artificial variable -M artificial variable
becomes one of
them
≥ subtract a surplus variable –M for artificial artificial variable
and add an artificial variable variables and 0 becomes one of
for surplus variables them
Example: Solve the following problem using the simplex approach:
Maximize profit: 6x1 + 8x2
Subject to:
Constraint 1: x2  4
Constraint 2: x1 + x2 = 9
Constraint 3: 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 profit : 6x1 + 8x2 + 0s1 + 0s3 – MA2 – MA3


Subject to:
x 2 + 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. In order to develop the initial tableau, follow these
guidelines: List variables across the top of the tableau in order, beginning with the decision
variables, then the slack/surplus variables, followed by any artificial variables. For the initial basis,
use artificial variables for constraints with them. Otherwise, use a constraint’s slack variable.
Hence, surplus variables will not appear in an initial solution. Using these guidelines, the tableau,
shown below is developed.
The initial simplex tableau
Basis Cj 6 8 0 0 -M -M Quantity
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

27

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

The initial solution can be interpreted in this way. The first constraint has a slack of 4 units; artificial
variable A2 has a value of 9 and artificial variable A 3 has a value of 24. The “profit” is -33M Birr,
where M is simply a very large number.
As before, the entering variable will be the one with the largest positive value in row Cj-Zj. The two
positives are 6 + 7M for x 1 and 8 + 3M for x2. Because M is so large relative to the 6 and 8, the latter
can simply be ignored. Thus, we can easily see that +7M is larger than +3M; therefore, we select x 1
variable to enter to the solution. Next, dividing the values in the x 1 column into their respective
quantity column values, we obtain these ratios:
Row Ratio
s1 4/0=undefined
A2 9/1=9
A3 24/6=4
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. Because A 3 yields the smallest positive ratio,
it will be the leaving variable.
Now do not forget to exclude the third artificial variable,A 3, from the simplex tableau when you
develop the second tableau. Once an artificial variable leaves the basis, it is no longer needed. The
second tableau will look like the following:
Second Tableau
Basis Cj 6 8 0 0 -M Quantity
x1 x2 s1 s3 A2
s1 0 0 1 1 0 0 4
A2 -M 0 23 0 16 1 5
x1 6 1 13 0 -1 6 0 4
Zj 6 2- 2 3M 0 -1 - 1 6 M -M 24 – 5 M
Cj-Zj 0 6 + 2 3M 0 1 +1 6 M 0

Dear learner, what are the next entering and leaving variables?
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
Basis Cj 6 8 0 0 -M Quantity
x1 x2 s1 s3 A2
x2 8 0 1 1 0 0 4
A2 -M 0 0 -2 3 16 1 73
x1 6 1 0 -1 3 -1 6 0 83
Zj 6 8 6 +2 3 M -1 – M/6 -M 48 - 7 3 M
Cj-Zj 0 0 -6 - 2 3 M 1 + M/6 0

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. The next tableau will be developed by excluding A 2 from the basis and bringing s3 to the basis.
Final Tableau

28

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Basis Cj 6 8 0 0 Quantity
x1 x2 s1 s3
x2 8 0 1 1 0 4
s3 0 0 0 -4 1 14
x1 6 1 0 -1 0 5
Zj 6 8 2 0 62
Cj-Zj 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 developing the next tableau. Therefore, the fourth tableau is the final tableau.
The optimal solution is:
x1=5
x2=4
s3=14
Profit=Birr 62
Dear learner, please interpret the optimal solution given above.
Solving minimization problems
For the most part, solution of minimization problems using simplex are handled in the same way as
maximization problems with mixed constraints. The two key exceptions are:
 that M coefficients of artificial variables in the objective function are given positive signs
instead of negative signs as noted previously, and
 the selection of a variable to enter the solution is based on the largest negative value in row
Cj-Zj.
 Note also that minimization problems always require at least one artificial variable.
The coefficient of artificial variables, M, when we indicate them in the objective function, has same
meaning as other coefficients of variables in the objective function. It indicates the extent of the artificial
variable’s per unit contribution to the level of the objective function. The values in the net evaluation row
indicate the extent of possible increase to the level of the objective function as a result of bringing an
additional unit of the variable in that column to the solution mix.
To sum up, in minimization problems, while the variable with the largest negative value in the net
evaluation row enters the next tableau, the variable with the least positive ratio will leave the solution mix
like the maximization case.
Test of optimality: If all Cj - Zj > 0, then the basic feasible solution is optimal in the minimization LP
problem.
Example: Solve the following linear programming model using the simplex procedure.
Minimize cost: 6x1 + 9x2
Subject to:
10x1 + 4x2  400
x2  14
x 1, x 2  0
We start the procedure by writing the model in its standard form. The standard form for the above
model is:
Minimize cost: 6x1 + 9x2 + 0s1 + 0s2 +MA1 + MA2
Subject to:
10x1 + 4x2 - s1 + A1 = 400
x 2 – s2 + A 2 = 14
x1, x2 , s1 ,s2 ,A1 ,A2  0

Then we develop the initial simplex tableau. The initial simplex tableau is just representing the
standard form of the model using the simplex tableau. It is developed as follows:

29

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Initial simplex tableau


Basis Cj 6 9 0 0 M M Quantity
x1 x2 s1 s2 A1 A2
A1 M 10 4 -1 0 1 0 400
A2 M 0 1 0 -1 0 1 14
Zj 10M 5M -M -M M M 414M
Cj-Zj 6 – 10M 9 – 5M M M 0 0
Once we developed a simplex tableau, testing it if it is giving us the optimal solution should be our usual
procedure. This is done by looking at values in the net evaluation row. In our discussion at the beginning
of this section, we have said that we develop the next tableau in a minimization problem by selecting the
variable with the largest negative value to be the next variable to enter the next tableau. Therefore,
checking the tableau for optimality will be done by checking if there is any negative value in the net
evaluation row. There are two negative numbers in this row. But we have selected 6 –10M to be the
largest negative number. This is because M is just a very large number. So, whenever we compare
numbers that involve M, we just disregard any constant number associated with it, but give attention to
the coefficient of M. Then, the one with the greatest coefficient will be selected to be the largest number.
Look at the numbers in the net evaluation row of the initial simplex tableau. 10 is the greatest coefficient
of M. This made 6 – 10M to be selected being the largest negative number and an indicator for the next
variable to enter the basis. Thus x 1 is the entering variable. A1 is the leaving variable. Why? Look at the
following tableau:
Second simplex tableau
Basis C 6 9 0 0 M Quantity
x1 x2 s1 s2 A2
x1 6 1 2/5 -1/10 0 0 40
A2 M 0 1 0 -1 1 14
Zj 6 12/5+M -3/5 -M M 240+14M
Cj-Zj 0 33/5-M 3/5 M 0
The second tableau is not the optimal tableau because there is a negative number in the net evaluation
row. This indicates that we can get a better solution by bringing the variable having this negative value (x 2
in this case) to the basis. Therefore, the 3 rd tableau is developed by taking this concept into consideration.
Look at the following tableau.
Third simplex tableau
Basis Cj 6 9 0 0 Quantity
x1 x2 s1 s2
x1 6 1 0 -1/10 2/5 34.4
x2 9 0 1 0 -1 14
Z 6 9 -3/5 -6.6 332.4
Cj-Zj 0 0 3/5 6.6
Since there is no any negative value in the net evaluation row, the 3 rd tableau is the optimal tableau.
Therefore, the optimal solution to the above linear programming model is: x 1 = 34.4 and x2 = 14.
The level of the objective function is 332.4. There is no surplus variable in the final tableau. This
means, the value of s1 and s2 at optimal solution is zero.

Take about 25 minutes.


Minimize cost: 5x1 + 10x2
Subject to:
x1 + 3x2  40
x1  10
x 1, x 2  0

30

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

a) Write the LP model in standard form.


Comments: Deduct surplus variables from the constraint function and the inequality will become an
equation. Moreover, the surplus variables should be represented in the objective function with zero
coefficients as they contribute nothing to the objective of a firm. Surpluses are also assumed to be non-
negative like decision variables.

2.4 The Post Optimality Analysis


In the previous section, we have discussed about simplex approach to solving an LP problem. This section
discusses about sensitivity analysis and the concept of a dual linear programming formulation. Both of
these topics are important because they enrich decision making process by providing decision makers
with greater insight in LP analysis. Sensitivity analysis 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 resources available). The dual involves setting up and solving an LP problem that is a “mirror
image” of an LP problem that has been formulated.

2.4.1. Sensitivity Analysis


Sensitivity, or post optimal analysis, as it is referred to, carries the LP analysis beyond the determination
of the optimal solution. It 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 optimal solution.

Dear learner, do you remember the certainty assumption of LP?


In preceding sections, the formulation and solution of linear programming problems treated the
parameters of a problem as if the were known and fixed. But, in practice, the parameters of a problem
often are no more than educated guesses. Consequently, the optimal solution may or may not be optimal,
depending on how sensitive that solution is to alternate values of parameters. Hence, a decision maker
usually would want to perform sensitivity analysis before implementing a solution.

Even if the parameters of a problem are known with a high degree of certainty, a decision maker might
still want to use sensitivity analysis to determine how changes in parameters would affect the final
solution. For example, a manager may want to consider obtaining an additional amount of some 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?
b) If so, how much of the resource can be used?
c) Given the answers to (a) and (b) above, what will be the revised optimal solution?
Conversely, the decision maker might be facing a situation in which the amount of a scarce resource
available is less than the original amount, in which case the issue 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 discussion here covers: changes in the right hand side levels of the constraints and changes in the
coefficients of the objective function. In order to demonstrate sensitivity analysis, the microcomputer
example used in the preceding sections will be continued.
The LP model is:
Maximize profit: 60x1 + 50x2
Subject to:
4x1 + 10x2 100
2x1 + x2  22
3x1 + 3x2  39

31

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

x1, x2  0
A. Changes in the Right Hands Side (RHS) of a Constraint
The first step in determining how a change in the RHS of a constraint (e.g., the amount of scarce
resources that is available for use) would influence the optimal solution is to examine the shadow
prices in the final simplex tableau. These are the values in the Zj row in the slack columns. Note
that sensitivity analysis is performed on the final simplex tableau. The final tableau for the
microcomputer problem is shown below:

Basis Cj 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 50 0 10 40/3 740
Cj-Zj 0 0 0 -10 -40/3

The shadow prices are 0, 10, and 40/3. A shadow price (dual price) is a marginal value; it
indicates the impact that a one unit change in the amount of a constraint would have on the value of
the objective function. More specifically, a shadow price reveals the amount by which the value of
the objective function would increase if the level of the constraint was increased by one unit. The
above final tableau shows that the shadow prices are Birr 0 for s 1 (i.e., the first constraint, assembly
time), Birr 10 for s2 (i.e., the second constraint, inspection time), Birr 40/3 for s 3 (i.e., the third
constraint, storage space). This tells us that if the amount of assembly time was increased by one
hour, it has no effect on profit; if inspection time was increased by one hour, the effect would be to
increase profit by Birr 10; and if storage space was increased by one cubic foot, profit would
increase by Birr 40/3. The dual price Birr 40/3 shows that constraint three will have the biggest
impact on the objective function. The reverse also hold true; if inspection time was decreased by
one hour, the effect would be to decrease profit by Birr 10. In effect, shadow prices are a manager’s
“window” for gauging the impact that changes have on the value of the objective function.
However, knowing the impact of a unit change is not sufficient; because we cannot make changes
to the values of the constraints without limit. For example, we have said that the unit increase in
inspection time will result in an increase to the level of the objective function by 10. This means, if
we increase inspection time by 2 units, the level of the objective function will be increased by 20.
But, we cannot increase time without limit. Therefore, we should be informed that we can have a
change to the RHS value of constraints only within a certain range. This indicates that, our effort to
analyze the impact of changes to the RHS values of constraints should also include knowing the
range within which the possible change to the RHS values of constraints can happen and still have
the same shadow price. This range is called the “range of feasibility.” It is the range over which
shadow prices are valid.
Range of feasibility: The range of values over which the right hand side value of a constraint can
change without changing the optimal solution mix of a problem. The values of the variables in the
solution will change, but the same variables will remain basic. The dual prices for constraints do
not change within these changes. The key to computing the range of feasibility for constraints lies
in the final simplex tableau. More specifically, the values in the body of the final tableau in each
slack column can be used to compute the range of feasibility for the corresponding constraint. The
shaded portion of the final tableau of the microcomputer problem below indicates the values needed
to compute the range of feasibility.
Basis Cj 60 50 0 0 0 Quantity
x1 x2 s1 s2 s3

32

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

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 50 0 10 40/3 740
Cj-Zj 0 0 0 -10 -40/3
For each constraint, the entries in the associated slack column must be divided into the values in the
quantity column. Because there are three entries in each column, there will be three ratios after the
division. The same general rule always applies when computing the upper and lower limits on the range
of feasibility for a maximization problem:
Allowable decrease: The smallest positive ratio.
Allowable increase: The smallest negative (closest to zero) ratio.
This means, we add the smallest negative ratio to the original RHS value to determine the upper limit of
the range of feasibility. Similarly, we subtract the smallest positive ratio from the original RHS value to
determine the lower limit of the range of feasibility.
Dear learner, please determine the range of feasibility for each of the constraints in the microcomputer
problem. It is important to recognize when determining ranges of feasibility that each range is determined
under the assumption that the levels of the other constraints will not change. You are probability
wondering why these ratios tell us how much freedom there is for feasible changes in a constraint level.
Recall that the values in the body of any simplex tableau are substitution rates. They indicate how much,
and in what direction, a one unit change in a column variable will cause the current quantity value to
change. For example, in the final tableau, the values in the s 3 column and the quantity column are:

Basis s3 Quantity
s1 -16/3 24
x1 -1/3 9
x2 2/3 4
Zj 40/3
The values in the s3 storage column tell us the following: A one unit increase in storage space will:
a) Cause s1 (assembly slack) to decrease by 16/3 units
b) Cause x1 to decrease by 1/3 units
c) Cause x2 to increase by 2/3 units
d) Cause profit to increase by Birr 40/3
Because the quantity column entries indicate how much of s 1, x1 and x2 are currently in solution,
dividing each of those entries by the respective substitution rates in the s 3 column will indicate the
limit on possible changes that will reflect the shadow prices of 40/3. Since the substitution rates
apply in either direction (i.e., for a one unit increase or a one unit decrease in storage space), we can
determine the potential for both changes at the same time. The smallest positive ratio reveals the
amount that the current level of the constraint is above the lower limit, and the smallest negative ratio
reveals the amount that the current level of the constraint is below the upper limit.
Example: Determining the range of feasibility for the microcomputer problem
Slack variables
s1 s2 s3 Assembly time Inspection time Storage space
1 6 -16/3 24/1=24 24/6 = 4 24
 16 / 3 = -4.5
0 1 -1/3 9/0 = undefined. 9/1 = 9 9
= -27
1/ 3
0 -1 2/3 4/0 =undefined 4/-1 = -4 4
=6
2/3
Original Amount 100 hours 22 hours 39 cubic feet
Upper Limit None 22 + 4 =26 39 + 4.5 = 43.5
Lower Limit 100-24=76 22 – 4 = 18 39 – 6 = 33

33

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

As can be clearly observed from the above table, the range of feasibility for each constraint is:
Assembly time: from 76 hours to no upper limit
Inspection time: from 18 hours to 26 hours
Storage space: from 33 cubic feet to 43.5 cubic feet
To this point, the decision maker knows the extent to which the right hand side value of constraints
can be changed. But, what would be the impact of this possible change to the level of constraints to
the optimal solutions of the model and to the level of the objective function? To determine this, you
just multiply the proposed amount of increase or decrease in the level of the constraint and multiply
it by the corresponding substitution rates in the slack column.
For example, let us assume that inspection time is increased by 4 hours. The impact is calculated as:
Basi Current
s s2 solution Change Revised solution
s1 6 24 +4 (6) = +24 48 (current solution +change=24+24=48)
x1 1 9 +4(1) = +4 13(current solution +change=9+4=13)
x2 -1 4 +4(-1) = -4 0(current solution +change=4-4=0)
Zj 10 740 +4(10) = 40 780 (current solution +change=740+40=780)

Exercise: The manager in the microcomputer problem is considering one of two possible changes
in the level of the storage constraint. One change would be an increase of 3 cubic feet in its level
and the other would be an increase of 8 cubic feet in its level. Determine the revised solution for
each possible change.

Solution: The first step in analyzing the effect of a constraint level change is to check if the change
is within the range of feasibility. We previously determined that the upper limit of that range for
storage constraint is 39+4.5 (43.5). Hence, an increase of 3 cubic feet is within the range, but an
increase of 8 cubic feet is not.

Current
Basis s3 solution Change Revised solution
s1 -16/3 24 +3 (-16/3) = -16 8
x1 -1/3 9 +3(-1/3) = -1 8
x2 2/3 4 +3(2/3) = +2 6
Zj 40/3 740 +3(40/3) =+40 780

B. Changes in Objective Function Coefficients


Decision makers often finds it useful to know how much the contribution of a given decision
variable to the objective function can change without changing the optimal solution. Such changes
may occur because of changed of costs, new pricing policies, product or process design changes, as
well as other factors.
There are two cases to consider:
a) Changes for a variable that is not currently in the solution mix, and
b) Changes for a variable that is currently in the solution mix.
The range over which the objective function coefficient of a variable that is in solution can change
without changing the optimal values of the decision variables is called its range of optimality.
Note, however, that such a change would change the optimal values of the objective function. Note
also that only one coefficient is allowed to change at a time.

34

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

If a variable is not currently in solution in a maximization problem, its objective function


coefficient would have to increase by an amount that exceeds the Cj-Zj 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 of optimality for an objective function coefficient is determined by those coefficient
values that maintain Cj-Zj 0. To determine the range of optimality for variables which are in
solution, the values in the Cj-Zj row will be divided by the corresponding row values of the variable
in question. This will result in a series of ratios. The smallest positive ratio will indicate the amount
of allowable increase and the smallest negative ratio (i.e., the ratio closest to zero) will indicate the
amount of allowable decrease. The rules to determine the range of optimality for both
maximization and minimization problems are:

 Allowable increase: The smallest positive ratio of Cj-Zj value and the variable substitution
rates.
 Allowable decrease: The smallest negative ratio of Cj-Zj value and variable substitution rates.
Note: If there is no positive ratio, there is no upper limit on that variable’s objective function
coefficient.
Example: Determine the range of optimality for decision variables in the microcomputer problem.
The final tableau is given below:

Basis Cj 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 50 0 10 40/3 740
Cj-Zj 0 0 0 -10 -40/3

35

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Solution
For x1 we find:
Column x1 x2 s1 s2 s3
Cj  Zj 0/1=0 0/0=undefined 0/0=undefined -10/1=-10  40 / 3
40
x1value  1/ 3
The smallest positive ratio is +40. Therefore, the coefficient of x 1 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 Birr 60+Birr 40=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 Birr 60-Birr10=Birr 50. Therefore, the range of optimality for x 1 is Birr 50
to Birr 100.
For x2 we find:

Column x1 x2 s1 s2 s3
Cj  Zj 0/0=undefined 0/1=0 0/0=undefined -10/-1=10  40 / 3
 20
x 2 value 2/3
The smallest positive ratio is +10. Therefore, the coefficient of x 2 can be increased by Birr 10
without changing the optimal solution. The upper end of its range of optimality is this amount
added to its current value. Thus, its upper end is Birr 50+Birr 10=Birr 60. Also, the smallest
negative ratio is -20; therefore, the x 2 coefficient can be decreased by as much as Birr 20 from its
current value, making the lower end of the range equal to Birr 50-Birr20=Birr 30.
Therefore, the range of optimality for x1 is Birr 30 to Birr 60.
2.4.2. Duality
Every LP 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. As you will see, the dual is a “ mirror image”
of the primal because in both formulation and its solution.

The solution of the primal contains the solution to the dual, and vice versa. Consequently, once
either the primal or the dual problem has been solved, the solution to the other is also apparent.
Analysis of the dual can enable a manager to evaluate the potential impact of a new product and it
can be used to determine the marginal value of resources (i.e., constraints). Relative to a new
product, a manager would want to know what impact adding a new product would have on the
solution quantities and the profit. This can help the manager to decide which of the several
alternative uses of resources is most profitable.

Formulating the Dual


All of the problems formulated in the preceding sections can be classified as primal problems
because they were formulated directly from descriptions of the problem. The dual, on the other
hand, is an alternate formulation of the problem that requires the existence of the primal.

To formulate the dual, we can follow this sequence:


a) For the objective function,
 If the primal is maximization, the dual will be a minimization.
 The right hand side values for the constraints become the coefficients of the objective function of
the dual.

36

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

b) For the constraint


 There will be one dual constraint for each primal decision variable. Hence, because the primal
has two such variables, the dual will have two constraints.
 The right hand side values of the dual constraints will equal the primal’s objective function
constraints taken in order. That is, the right hand side value of the first dual constraint will equal
the first coefficient of the primal’s objective function coefficient, and the right hand side value of
the second dual constraint will equal the second objective coefficient of the primal.
 The constraint coefficients of the primal are constraint coefficients of the dual except that the
coefficients of 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; and so on. If there are n number of decision variables in the primal, there
would be n number of constraints in the dual and vice versa.
Example: Formulate the dual of the following problem
Minimize cost: 40x1 + 44x2 +48x3
Subject to:
x1 + 2x2 +3x3  20
4x1 + 4x2 +4x3  30
x1, x2, x3  0
To formulate the dual, we start with the objective function. Since the primal is a minimization
problem with all  constraints, the dual will be maximization with all  constraints. The RHS
values of the primal will become objective function coefficients of the dual. Therefore, the
objective function for the dual is
Maximize profit: 20y1 + 30y2
We can use y’s as variables to the dual. The reason is to differentiate it from variables of the primal.
The constraints of the dual are developed in the following way:
y1 +4y2  40
2y1 + 4y2 44
3y1 + 4y2 48
y1, y2  0
Exercise: Formulate the dual of the micro computer problem.
Maximize profit: 60x1 + 50x2
Subject to:
4x1 + 10x2 100
2x1 + x2 22
3x1 + 3x2  39
x1, x2 0
Solution
The dual to the above LP model is:
Minimize cost: 100y1 +22y2 +39y3
Subject to: 4y1 +2y2 + 3y3 60
10y1 + y2 +3y3 50
y1, y2, y3  0
The final simplex tableau for the above LP model is given below

37

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Final simplex tableau of the dual


Basis Cj 100 22 39 0 0 Quantity
y1 y2 y3 s1 s2
y3 60 16/3 0 1 1/3 -2/3 40/3
y2 50 -6 1 0 -1 1 10
Zj 76 22 39 -9 -4 740
Cj-Zj 24 0 0 9 4
As we have seen earlier, the final simplex tableau for primal of the above LP model is:
Final simplex tableau of the primal
Basis Cj 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 50 0 10 40/3 740
Cj-Zj 0 0 0 -10 -40/3
It can be summarized about the solutions of the dual and the primal as can be seen from the above
tableaus as follows:
 The solution quantities of the dual are equal to the shadow prices of the primal (i.e., 40/3 and 10).
 The solution quantities of the primal (i.e., 24, 9, and 4) can be found in the bottom of the dual. Now, in
the primal solution, s1 equals 24. In the dual, the 24 appears in the y1 column.
 If the primal problem has an optimum solution, the dual will also have an optimum solution and vice
versa.
 Given the final tableau of the dual, the optimal solutions for decision variables of the primal are given
by the Cj– Zj row values of slack variables in the dual.
 Given the final solution of the primal, the solution for the decision variables of the dual are determined
to be the Zj row values of slack variables (shadow prices) of the primal; and the solution for slack
variables of the dual are given by the Cj–Zj row values of decision variables of the primal.
This indicates the technical importance of formulating the dual. That is to say, if you encounter
problems in solving the primal problem, you can solve the dual and vice versa. Generally, we can
reduce our computing time by developing the two models and solving the easier.
Primal-dual relationship
Primal Dual
Objective is minimization Objective is maximization and vice
versa
> type constraints < type constraints

Number of columns Number of rows

Number of rows Number of columns

Number of decision variables Number of constraints

Number of constraints Number of decision variables

Coefficient of objective function Right hand side value

Right hand side value Coefficient of objective function

38

Downloaded by John Yohannes (johnkinfe20@gmail.com)


lOMoARcPSD|32088805

Take about 20 minutes.


Consider the following linear programming problem.
Maximize profit: 5x1 + 6x2+4x3
Subject to:
3x1 + 4x2+2x3  120
x1 + 2x2+x3  50
x1 + 2x2+3x3  30
x 1, x 2, x 3  0
a) Formulate the dual of this model.
b) Find the dual prices for the first, second and third constraints.
c) Find the range of optimality for the coefficient of the decision variables in the
optimal solution.
d) Suppose the right hand side of the first constraint is increased from 120 to 125.
Find the new optimal solution and its value.
e) Suppose the right hand side of the first constraint is decreased from 120 to 110.
Find the new optimal solution and its value.
f) Find the range of feasibility for the three constraints.

39

Downloaded by John Yohannes (johnkinfe20@gmail.com)

You might also like