Chapter Two
Chapter Two
Chapter Two
Chapter Two
LINEAR PROGRAMMING: Application and Model Formulation
INTRODUCTION
In 1947, George Danzig developed the use of algebra for determining solutions to problems that involved the
optimal allocation of scarce resources. In spite of numerous potential applications in business, response to
this new technique was low due to substantial computational burden, which is now removed with subsequent
advances in computer technology and related software during the last three decades.
The term linear implies that all the mathematical relations used in the problem are linear or straight-line
relations, while the term programming refers to the method of determining a particular program or plan of
action, i.e., the use of algorithms that is a well defined sequence of steps that will lead to an optimal solution.
Taken as a whole, the term linear programming refers to a family of mathematical techniques for determining
the optimum allocation of resources and obtaining a particular objective when there are alternative uses of
the limited or constrained resources.
The technique of linear programming is applicable to problems in which the total effectiveness can be
expressed as linear function of individual allocations and the limitations on resources give rise to linear
equation or inequalities of the individual allocations. The usefulness of this technique is enhanced by the
availability of several user-friendly software’s such as STORM, TORA, QSB +, LINDO, etc. However, there
is no general package for building an LP model. Model building is an art of practice.
2.1. LINEAR PROGRAMMING MODELS
Linear programming models are mathematical representations of LP problems. Linear programming models
have certain characteristics in common. Knowledge of these characteristics enables us to recognize problems
that are amenable to a solution using LP models, and to be able to correctly formulate an LP model. These
characteristics can be grouped as components and assumptions. The components relate to the structure of a
model, where as the assumptions reveal the conditions under which the model is valid.
2.1.1. COMPONENTS OF LP MODELS
There are four major components of LP models including: Objective function, decision variables, constraints
and parameters.
Decision variables
They represent unknown quantities to be solved for. The decision maker can control the value of the
objective, which is achieved through choices in the levels of decision variables. For example, how much
of each product should be produced in order to obtain the greatest profit?
1
Operation Research
Constraints
However, the ability of a decision maker to select values of the decision variables in an LP problem is
subject to certain restrictions or limits coming from a variety of sources. The restrictions may reflect
availabilities of resources (e.g., raw materials, labor time, etc.), legal or contractual requirements (e.g.,
product standards, work standards, etc.), technological requirements (e.g., necessary compressive
strength or tensile strength) or they may reflect other limits based on forecasts, customer orders, company
policies, and so on. In LP model, the restrictions are referred to as constraints. Only solutions that satisfy
all constraints in a model are acceptable and are referred to as feasible solutions. The optimal solution
will be the one that provides the best value for the objective function.
Parameters
The objective function and the constraints consist of symbols that represent the decision variables (e.g.,
X1, X2, etc.) and numerical values called parameters. The parameters are fixed values that specify the
impact that one unit of each decision variable will have on the objective and on any constraint it pertains
to as well as the numerical value of each constraint.
The following simple example illustrates the components of LP models:
2
Operation Research
Divisibility (Continuity)
The divisibility requirement pertains to potential values of decision variables. It is assumed that non-integer
values are acceptable. However, if the problem concerns, for example, the optimal number of houses to
construct, 3.5 do not appear to be acceptable. Instead, that type of problem would seem to require strictly
integer solutions. In such cases, integer-programming methods should be used. It should be noted, however,
that some obvious integer type situations could be handled under the assumption of divisibility. For instance,
suppose 3.5 to be the optimal number of television sets to produce per hour, which is unacceptable, but it
would result in 7 sets per two hours, which would then be acceptable.
Certainty
This requirement involves two aspects of LP models. One aspect relates to the model parameters, i.e., the
numerical values. It is assumed that these values are known and constant. In practice, production times and
other parameters may not be truly constant. Therefore, the model builder must make an assessment as to the
degree to which the certainty requirement is met. Large departures almost surely will have a significant effect
on the model. The other aspect is the assumption that all relevant constraints have been identified and
represented in the model.
3
Operation Research
Additivity
The value of the objective function and the total amount of each resource used (or supplied), must be equal to
the sum of the respective individual contributions (profit or cost) by decision variables. For example, the
total profit earned from the sale of two products A and B must be equal to the sum of the profits earned
separately from A and B. Similarly, the amount of a resource consumed for producing A and B must be equal
to the sum of resources used for A and B respectively.
Non-negativity
It assumes that negative values of variables are unrealistic and, therefore, will not be considered in any
potential solutions. Only positive values and zero will be allowed and the non-negativity assumption is
inherent in LP models.
4
Operation Research
In many cases, the decision variables are obvious; in others it might require brief discussion with the
appropriate manager. However, identifying the constraints and determining appropriate values for the
parameters can require considerable time and effort. Potential sources of information include historical
records, interviews with managers and staff, and data collection. Validating the model will involve a critical
review of the output, perhaps under a variety of inputs, in order to decide if the results are reasonable.
Product Mix
Organizations often produce similar services that use the same resources. For example, labor, material cost,
etc. because of limited resources available during any time period a decision must be made concerning how
much of each product to produce or make available. Linear programming answers what mix of output (or
service) will maximize profit given the availability of scarce resources
Diet problem
It usually involves the mixing of raw materials or other ingredients to obtain an end product that has certain
characteristics. For example, what mix of inputs will achieve the desired results in the output for the least
cost? Other applications that fall into this category include mixing feed for livestock, mixing pet foods,
mixing building materials (concrete, mortar, paint), and so on.
5
Operation Research
Blending problems
They are very similar to diet problems. Strictly speaking, however, blending problems have additional
requirement, i.e. to achieve a mix that have specific consistency. For example, how many quarts of the
different juices each with different sugar content proportion must be mixed together to achieve one gallon
that has a sugar content of 17 percent?
Portfolio selection
These problems generally involve allocating a fixed dollar amount among a variety of investments, such as
bonds, sockets, real states, etc. The goal usually is to maximize income or total return. The problems take on
an added dimension when certain other requirements are specified (for example, no more than 40 percent of
the portfolio can be invested in bonds).
By carefully studying each of these examples, the learner can become familiar with the process of
formulating linear programming models.
Product Mix
ABC private limited company is engaged in the production of power and traction transformers. Both of these
categories of transformers pass through three basic processes: core preparation, core to coil assembly, and
vapor phase drying. A power transformer yields a contribution of Birr 50,000 and traction transformer
contributes Birr 10,000. The time required in the production of these two products in terms of hours for each
of the processes is as follows.
Power transformer Traction Transformer
Core preparation 75 15
Core to Coil Assembly 160 30
Vapor Phase Drying 45 10
If the capacities available are 1000, 1500, and 750 machine hours in each processes respectively, formulate
the problem as LP?
Solution
Step1. Identify decision variables
Since the products to be produced are power and traction transformers using the available resource to attain
the objective set, we consider them as decision variables. This is because the organization’s problem here is
how many of each product to produce in order to attain the objective, which requires the management
decision.
LetX1 = the no of power transformers to be produced.
X2= the no of traction transformer to be produced
Step2. Determine Objective Function
From the problem above, we understand that the problem is maximization problem.
Hence,
Zmax=50,000X1+ 10,000X2
This is because, each unit of X1 contributes Birr 50,000 and X2 contributes Birr
10,000 to objective function.
6
Operation Research
1. An individual investor has Birr 70,000 to divide among several investments. The alternative investments
are municipal bonds with an 8.5% return, certificates of deposits with a 10% return, Treasury bill with a
6.5% return, and income bonds with a 13% return. The amount of time until maturity is the same for each
alternative. However, each investment alternative has a different perceived risk to the investor; thus it is
advisable to diversify. The investor wants to know how much to invest in each alternative in order to
maximize the return. The following guidelines have been established for diversifying the investment and
lessening the risk perceived by the investor.
7
Operation Research
The problem is maximization because from the word problem we know that the objective of the investor is to
maximization return from the investment in the four alternatives.
Therefore, the objective function is expressed as:
Zmax = 0.085 X1+ 0.1X2+ 0.065X3+0.13X4
Where,
Z = total return from all investment
0.085 X1=return from the investment in municipal bonds.
0. 100 X2=return from the investment in certificates in deposit
This problem contains all three types of constraints possible in LP problems: ¿, ¿ and =. As this problem
demonstrates there is no restriction on mixing these types of constraints.
X1 + X2+ X3 + X4 = 70,000,
X1+ X2+ X3+X4 ¿ 0
8
Operation Research
Marketing Application
2. Supermarket store chain has hired an advertising firm to determine the types and amount of advertising it
should have for its stores. The three types of advertising available are radio and television commercials, and
news papers advertisements. The retail chain desires to know the number of each type of advertisement it
should purchase in order to maximize exposure. It is estimated that each ad or commercial will reach the
following potential audience and cost the following amount.
Exposure
Type of Advertisement (people /ad or commercial) Cost
Television commercial 20,000 Birr 15,000
Radio commercial 12,000 6,000
News paper advertisement 9,000 4,000
The company must consider the following resource constraints.
1. The budget limit for advertising is Birr 100,000
2. The television station has time available for 4 commercials.
3. The radio station has time available for 10 commercials.
4. The news paper has space available for 7 ads.
5. The advertising agency has time and staff available for producing no more than a total of 15
commercials and/or ads.
Decision variables
Let X1 = number of television commercials
X2 = number of radio commercials
X3 = number of news paper ads
Objective function
It is not only profit which is to be maximized. In this problem the objective to be maximized is audience
exposure.
9
Operation Research
The complete linear programming model for this problem is summarized as:
Zmax = 20,000X1 + 12,000X2 + 9,000X3
Sub. to:
15,000X1 + 6,000X2 + 4,000X3 ¿ Birr 100,000
X1 ¿ 4
X2 ¿ 10
X3 ¿ 7
X1 + X2 + X3 ¿ 15
X1, X2 , X3 ¿ 0
Chemical mixture
A chemical corporation produces a chemical mixture for the customer in 1000- pound batches. The mixture
contains three ingredients- Zinc, mercury and potassium. The mixture must conform to formula
specifications (i.e., a recipe) supplied by a customer. The company wants to know the amount of each
ingredient to put in the mixture that will meet all the requirements of the mix and minimize total cost.
The customer has supplied the following formula specifications for each batch of mixture.
1. The mixture must contain at least 200 lb of mercury
2. The mixture must contain at least 300 lb of zinc
3. The mixture must contain at least 100 lb of potassium
The cost per pound of mixture is Mercury of Birr4, of zinc Birr 8 and of potassium Birr 9.
Required: Formulate LPM for the problem
Solution
Decision variables
The model of this problem consists of three decision variables representing the amount of each ingredient in
the mixture.
X1 = number of lb of mercury in a batch
X2 = number of lb of zinc in a batch
X3 = number of lb of potassium in a batch
Objective function
Zmin = 4x1 + 8x2 + 9x3
Constraints
X1 ¿ 200 lb… specification 1
X2 ¿ 300 lb… specification 2
X3 ¿ 100 lb… specification 3
Finally, the sum of all ingredients must equal 1000 pounds.
x1 + x2 + x3 = 1000 lb
x1 + x2 + x3 = 1000 lb
x1, x2 , x3 ¿ 0
2.3. Solving LP Models
Following the formulation of a mathematical model, the next stage in the application of LP to decision
making problem is to find the solution of the model. An optimal, as well as feasible solution to an LP
problem is obtained by choosing from several values of decision variables x 1,x2…xn , the one set of values
that satisfy the given set of constraints simultaneously and also provide the optimal ( maximum or minimum)
values of the given objective function. The most common solution approaches are to solve graphically and
algebraically the set of mathematical relationships that form the model, thus determining the values of
decision variables.
2.3.1. GRAPHICAL LINEAR PROGRAMMING METHODS
Graphical linear programming is a relatively straightforward for determining the optimal solution to certain
linear programming problems involving only two decision variables. Although graphic method is limited as a
solution approach, it is very useful in the presentation of LP, in that it gives a “picture” of how a solution is
derived thus a better understanding of the solution. Moreover, graphical methods provide a visual portrayal
of many important concepts.
In this method, the two decision variables are considered as ordered pairs (X 1, X2), which represent a point in
a plane, i.e, X1is represented on X-axis and X2on Y-axis.
Important Definitions
Solution The set of values of decision variables xj (j = 1,2,…, n) which satisfy the constraints of an LP
problem is said to constitute solution to that LP problem.
Feasible solution The set of values of decision variables xj (j = 1,2,…, n) which satisfy all the constraints
and non- negativity conditions of an LP problems simultaneously is said to constitute the Feasible solution to
that LP problem.
Infeasible solution The set of values of decision variables x j (j = 1,2,…, n) which do not satisfy all the
constraints and non- negativity conditions of an LP problems simultaneously is said to constitute the
infeasible solution to that LP problem.
Basic solution For a set of m simultaneous equations in n variables ( n>m), a solution obtained by setting
( n-m) variables equal to zero and solving for remaining m equations in m variables is called a basic solution.
The (n-m) variables whose value did not appear in this solution are called non-basic variables and the
remaining m variables are called basic variables.
Basic feasible solution A feasible solution to LP problem which is also the basic solution is called the basic
feasible solution. That is, all basic variables assume non-negative values. Basic feasible solutions are of two
types:
11
Operation Research
Degenerate A basic feasible solution is called degenerate if value of at least one basic variable is
zero.
Non-degenerate A basic feasible solution is called non-degenerate if value of all m basic variables
are non- zero and positive.
Optimal Basic feasible solution A basic feasible solution which optimizes the objective function value of
the given LP problem is called an optimal basic feasible solution.
Unbounded solution A solution which can increase or decrease the value of the LP problem indefinitely is
called an unbounded solution.
Example
In order to demonstrate the method, let us take a microcomputer problem in which a firm is about to start
production of two new microcomputers, X1 and X2. Each requires limited resources of assembly time,
inspection time, and storage space. The manager wants to determine how much of each computer to produce
in order to maximize the profit generated by selling them. Other relevant information is given below:
Type 1 Type 2
Profit per unit $60 $50
Assembly time per unit 4 hrs 10 hrs
Inspection time per unit 2 hrs 1 hrs
Storage space per unit 3 cubic feet 3 cubic feet
The step begins by plotting the non-negativity constraint, which restricts our graph only to the first quadrant.
We then can deal with the task of graphing the rest of the constraints in two parts. For example, let us take
the first constraint 4X1 + 10X2< 100 hrs. First we treat the constraint as equality: 4X 1 + 10X2 = 100. Then
identify the easiest two points where the line intersects each axis by alternatively equating each decision
variable to zero and solving for the other: when X 1=0, X2 becomes 10 and when X2=0, X1 will be 25. We can
now plot the straight line that is boundary of the feasible region as we have got two points (0, 10) and (25,0).
12
Operation Research
Once the constraints are plotted and feasible region is determined, we use either of the two graphic methods
of Graphic approach to find a solution for LP model consisting of only two decision variables:
i) The extreme point enumeration method
ii) The objective (Iso-profit or cost) function line approach
2.3.1.1. The Objective Function Approach
This approach involves plotting an objective function line on the graph and then using that line to determine
where in the feasible solution space the optimal point is. We use the same logic as plotting a constraint line
13
Operation Research
except that it is not an equation until we equate it to some right hand side quantity. Any quantity will do till
we find a line that would last touch the feasible solution space.
The optimal solution to an LP problem will always occur at a corner point because as the objective function
line is moved in the direction that will improve its value (e.g., away from the origin in our profit
maximization problem), it will last touch one of these intersections of constraints. Then we determine which
two constraints intersect there (in our case inspection and storage constraints) and solve the equations
simultaneously to obtain the mix of the two decision variables that gives the value of the objective function at
the optimum. Simultaneously solving inspection and storage equations, we find the quantity of type 1
microcomputer to be produced (X1) = 9 and that of type 2 (X 2) = 4 giving the maximum profit of 60(9) +
50(4) = Birr740
Note: The maximization problems the movement of the iso-lines is outward from the origin; while for
minimization the movement is inward to the origin.
2.3.1.2. The Extreme Point Approach
Corner or extreme point graphic method states that for problems that have optimal solutions, a solution will
occur at the corner point in the case of unique solution, while in the case of multiple solutions, at least one
will occur at a corner point as these multiple solutions will be combinations of those points between two
corner points. The necessary steps for this approach is after graphing the problem, we determine the values of
the decision variables at each corner point of the feasible region either by inspection or using simultaneous
equations. We then substitute the values at each corner point into the objective function to obtain its value at
each corner point and select the one with the highest value of the objective function (for a maximum
problem) or lowest value (for a minimum problem) as the optimal solution.
i) Extreme Method of Solving Maximization Problems with < constraint
Maximization of objective function involves finding the point where the combination of products results in
maximum value of objective function. The constraints are connected with < sign. The solution space lies
below the slant line and is bounded by the line segments. The origin and other points below the slant lines are
in the solution space (i.e., feasible region).
14
Operation Research
Using this method for our example, simultaneously solving for corner points a, b, c, and d, we find
corresponding profit values of 500, 700, 740, and 660, respectively giving us the same solution as the above
one at C. Therefore, the optimal solution is x1= 9 units and x2 = 4 units while the optimal value of objective
function is 740.
Interpretation:
For a firm to maximize its profit (740), it should produce 9 units of the Model I microcomputer and 4 units of
model II.
ii) Extreme Method of Solving Minimization Problems with >constraints
Solving minimization problems involve where the objective functions (like cost function) will be minimum.
The constraints are connected to RHS values with > sign. But, in real world problems, mixes of constraint is
also possible. The value of RHS involves the lowest value of the constraint.
The solution space lies above the slant lines and it is not enclosed. It extends indefinitely above the lines in
the first quadrant. This means simply that cost increases without limit as more and more units are produced.
The minimum cost will occur at a point along the inner boundary of the solution space. The origin and other
points below the lines are not in the solution space.
Example
Zmin= 0.1x+0.07y
Subject to:
6x+2y > 18
8x+10y > 40
y> 1
x,y > 0
Find the values of x and y which makes the objective function minimum?
Solution
Coordinates
Corner point x y Zmin=0.1x+0.07y
A n 0 9 0.63
C 15/4 1 0.445
15
Operation Research
Following the above listed steps of graphical solution method, we find the following graph for the above
model:
The shaded area represents the set of all feasible solutions and as can be seen from the graph, the solution is
unbounded.
16
Operation Research
iii) Infeasibility
In some cases after plotting all the constraints on the graph, feasible area (common region) that represents all
the constraint of the problem cannot be obtained. In other words, infeasibility is a condition that arises when
no value of the variables satisfy all the constraints simultaneously. Such a problem arises due to wrong
model formulation with conflicting constraints.
For example,
Max Z = 3X1+2X2
Subject to: 2X1+ X2<2
3X1 + 4X2> 12
X1, X2 > 0
Note: The constraint is said to be an active or binding or tight, if at optimality the left hand side equals
the right hand side. In other words, an equality constraint is always active. An inequality sign may or may
not be active.
17
Operation Research
For example
Max Z = 8X1+16X2
Subject to: X1 + X2< 200 ……. C1
3X1 + 6X2< 900 ……. C2
X2< 125 ……. C3
X1, X2>0
In the problem above, using extreme point method and solving for values of corner points simultaneously,
the objective function assumes its maximum value of 2,400 at two corner points B (50,125) and C (100,100).
Therefore, the optimal solution is found on the line segment connecting the two corner points. One benefit of
having multiple optimal solutions is that for other (perhaps qualitative) reasons, a manager may prefer one of
them to the others, even though each would achieve the same value of the objective function. In practical
terms, one of the two corner points is usually chosen because of ease in identifying its values.
Other corner points are computed by identifying the two corner points and keeping the value of the objective
function constant, where 50 ¿ X1 ¿ 100 and 100 ¿ X2 ¿ 125. By selecting one value for one of the decision
variables from the domain, we determine the value for another decision variable keeping the objective
function’s value. Let X1 = 80.
Then, Z = 8X1+16X2 2400 = 8(80) +16X2
16X2 = 1760
X2 = 110
2.3.1.4. Mix of constraints
It is only in some cases that the maximization problems consist of constraints connected to the RHS value
with only <. By the same token, constraints of minimization problems are not always connected to their RHS
with>. This is to mean that both maximization and minimization problems may consist of constraints
connected to RHS with a mix of algebraic signs (<,>, =).
Example
Z Min a) 1500x+2400y
Subjected to:
18
Operation Research
4x+Y>24 …I
2x+3y>42 …II
X+4y>36 …III
X<14 …IV
y<14 …V
x, y>0
1 2 3 4 5
Corner constraints Coordinates Objective functions
points intersected x y 1500x+2400y
A I&V 2.5 14 37,350
19
Operation Research
B IV&V 14 14 54,600
C III&IV 14 5.5 34,200
D II&III 12 6 32,400
E I&II 3 12 33,300
The minimum value of the objective function is 32,400. Therefore, the optimum solution is found at the
corner point D, where constraint II&III are intersected. Hence, optimal solution: x =12, y = 6.
The simplex method is an algebraic procedure that starts with a feasible solution that is not optimal and
systematically moves from one feasible solution to another until an optimal solution is found. Incase of the
graphical approach, optimal solution occurs at the extreme points where the constraints intersect. Solutions
where constraints intersect are called basic solutions, and those satisfying all of the constraints together with
non-negativity constraints are called basic feasible solutions.
Constraints are generally expressed using inequalities either in ‘less than’ or ‘greater than’ or in mixed form.
Thus, constraints are not in standard form, meaning they should be converted into equalities. To convert the
inequality constraint into equality, we introduce slack or surplus variables. In economic terminology, slack
variables represent unused capacity and surplus variables represent excess amount. The contribution (cost or
profit) associated with the slack and surplus variables are zero. An inequality of the ‘less than or equal to’
type is transformed into equality by introducing a non-negative slack variable, as follows: -
Example
Non Standard form Standard form
X1+2X2<= 6 X1+2X2+S1= 6
Where X1 and X2 are decision variables and S1 is a slack variable, added to the smaller side of the
inequality.
On the other hand, an inequality with ‘greater than or equal to’ type is changed into equality by subtracting
surplus variable as follows: -
Example
Non Standard form Standard form
X1+2X2<=6 X1+2X2+S1=6
, Where X1& X2 are decision variables and S1 is a slack variable, added to the smaller side of the inequality.
20
Operation Research
As stated above, since both the slack and surplus variables are insignificant with no contribution in the
objective function, they are represented with coefficient of zero in the objective function.
To find a unique solution, the number of variables should not exceed the number of equations. When the
number of variables is more than the number of equations, the number of solutions is unlimited. So as to get
a unique solution, we have to set at least (n-m) variables to zero, where n is the number of variables and m is
the number of equalities. Those variables that are set to zero are called non basic variables indicating they
are not in the solution. The variables that are in solution are called basic variable.
To demonstrate the simplex method, we will use the microcomputer problem with the following objective
function and constraints.
The Microcomputer Problem, which was discussed in graphic approach, can be standardized as:
Max. Z = 60X1+50X2+0S1+0S2+0S3
Subject to 4X1+10X2+S1 = 100
2X1+X2+S2 = 22
3X1+3X2+S3 = 39
, where X1& X2 are decision variables and S1, S2& S3 are slack variables.
Here, the number of variables (5) is greater than the number of equations (3). Therefore, the decision
variables are set to zero and we have
X1 = 0, X2 = 0, S1 = 100, S2 = 22, and S3 = 39.
This solution will serve as an initial feasible solution. An initial feasible solution is a first solution used to
generate other basic feasible solutions. The initial basic feasible solution is obtained by setting all the
decision variables to zero. As a result, the initial basic feasible solution is entirely composed of the slack
variables. X1& X2 are non basic variables since they are not in solution. S1, S2& S3 are basic variables since
they are in solution.
A tableau is a system of displaying the basic feasible solution, the constraints of the standard linear
programming problem as well as the objective function in a tabular form. A tableau is useful in summarizing
the result of each iteration, i.e. the process of moving from one solution/corner to another solution/corner in
order to select the optimal solution.
Note that the slack variables have been assigned zero coefficients in the objective function. The reason is that
these variables typically contribute nothing to the value of the objective function.
Step 3. Design the initial feasible solution. An initial basic feasible solution is obtained by setting
the decision variables to zero.
X1= X2 = ... = Xn = 0. Thus, we get S1 = b1, S2 = b2 ... Sm = bm.
Step 4. Set up the initial simplex tableau. For computational efficiency and simplicity, the initial basic
feasible solution, the constraints of the standard LPP as well as the objective function can be
displayed in a tabular form, called the simplex tableau as shown below:
Initial Simplex Tableau
Cj C1 C2 ... Cn,, 0 0 ... 0 Quantity Column Ratio
(Contribution Per Unit) XB/
amn
Basic variables CB X1, X2, ... Xn S1 S2 ... Sm b(=Xj)
S1 CB1 a11 a12 ... a1n 1 0 ... 0 b1=Xb1
S2 CB2 a21 a22 ... a2n 0 1 ... 0 b2=Xb2
Sm CBm am1 am2…amn 0 0 ... 1 bm=Xbm
Zj=∑CBiXj 0 0 ... 0 0 0 ... 0 ∑CBiXj
Cj-Zj C1-Z1 C2-Z2 ... Cn-Zn
(Net contribution per
unit)
The interpretation of the data in the above tableau is given as under. Other simplex tableau will have similar
interpretations.
In the first row labeled "Cj", we write the coefficients of the variables in the objective function. These
values will remain the same in subsequent tableaus.
The second row shows the major column headings.
In the first column of the second row, under the label "Basic variables" (also called Product mix
column), the basic variables are listed.
In the second column of the second row, under the label "CB", the coefficients of the current basic
variables in the objective function are listed. Thus the coefficients of S 1, S2... Sm, which are included
in the initial feasible solution, are written in the CB column.
The values listed under the non-basic variables (X1, X2… Xn) in the initial simplex tableau consists of
the coefficients of the decision variables in the constraint set. They can be interpreted as physical
rates of substitution.
The values listed under the basic variables (S 1, S2... Sm) in the initial simplex tableau represents the
coefficients of the slack variables in the constraints set.
In the next column (also called Quantity column), we write the solution values of the basic variables.
To find an entry in the Zj row under a column, we multiply the entries of that column by the
corresponding entries of ‘CB’ column and add the results, i.e., Z j= ∑CBiXj. The Zj row entries will all
22
Operation Research
be equal to zero in the initial simplex tableau. The other Z j entries represent the decrease in the value
of objective function that would result if one of the variables not included in the solution were
brought into the solution. The Zj entry under the “Quantity Column" gives the current value of the
objective function.
The last row labeled "Cj-Zj", called the index row or net evaluation row, is used to determine whether
or not the current solution is optimal or not. The calculation of C j-Zj row simply involves subtracting
each Zj value from the corresponding Cj value for that column, which is written at the top of that
column. We observe that Cj -Zj, values are meaningful for the non basic variables only. This is
because for a basic variable, Zj= 1 x
Cj = Cj so that Cj-Zj=Cj-Cj= 0.
Note: The entries in the C - Z , row represent the net contribution to the objective function that results by
j j
introducing one unit of each of the respective column variables. A plus value indicates that a greater
contribution can be made by bringing the variable for that column into the solution. A negative value
indicates the amount by which contribution would decrease if one unit of the variable for that column were
brought into the solution. Index row elements are also known as the shadow prices (or accounting prices)
Step 5. We test if the current solution is optimum or not. If all the elements or entries in the Cj- Zj row (i.e.,
index row) are negative or zero, then the current solution is optimum. If there exists some positive
number, the current solution can be further improved by removing one basic variable from the
basis and replacing it by some non-basic one. So start trying to improve the current solution in
line with the following steps.
Step 6. Further, iterate towards an optimum solution. To improve the current feasible solution, we replace
one current basic variable (called the departing variable) by a new non-basic variable (called the
entering variable).
We now determine the variable to enter into the solution mix, the entering variable. One way of
doing this is by identifying the column with the largest positive value in the C j - Zj row of the simplex
table. The column with the largest positive entry in the C j - Zj row is called the key or pivot column.
The non-basic variable at the top of the key column is the entering variable that will replace a basic
variable.
Next, we determine the departing variable to be replaced in the basis solution. This is accomplished
by dividing each number in the quantity column by the corresponding number in the key column
selected in identifying the entering variable. We compute the ratio b1/a1 j, b2/a2j... bm/amn. This is
called replacement ratio.
The row with the minimum ratio is the key row or pivot row. The corresponding variable in the key
row (the departing variable) will leave the basis.
We identify the key or pivot element. This is the number that lies at the intersection of the key column
and key row of a given simplex tableau.
Step 7. Evaluate the new solution by constructing a second simplex tableau. After identifying the entering
and departing variable, all that remains is to find the new basic feasible solution by constructing a
new simplex tableau from the current one.
23
Operation Research
Step 8. If any of the numbers in Cj - Zj row are positive, repeat the steps (6-7) again until an optimum
solution has been obtained.
Note: Rules for Ties. In choosing a key column and a key row, whenever there is a tie between two
numbers, the following rules may be followed:
The column farthest to the left may be selected if there is a tie between two numbers in the index row.
The nearest ratio to the top may be selected whenever there is a tie between two replacement ratios in
the ratio column.
Example (Maximization Case)
Finding the initial Feasible Solution
As discussed above, the initial feasible solution is found by setting the decision variables to zero.
Max Z = 60X1+50X2+0S1+0S2+0S3
Subject to 4X1+10X2+S1 = 100
2X1+ X2+S2 = 22
3X1+ 3X2+S3 = 39
X1, X2> = 0
To be noted first is that the values of each basic variable (variables that are in solution) is composed of a
single 1 and the rest 0’s. This is called a unit vector. Basic variables will have a unit vector. Moreover, ‘1’
24
Operation Research
will appear in the same row that the variable appears in. The unit vector concept will help us in developing
subsequent tableaus when we want to change the list of variables that are in solution.
The Zj row in the quantity column indicates that the value of the objective function is 0.
The values in the Cj-Zj row indicate the net contribution of the variables if one unit of each variable is added
into that solution. For example, the 60 in column X 1 indicates that bringing one unit of X 1 would increase the
value of the objective function by $60. The same is true for the X 2 column, i.e. bringing one unit of X2 would
increase the value of the objective function by $50. On the other hand, since the slack variables are at their
maximum, their values in the Cj-Zj row are all 0. According to what has been said before, we have the
following rule in order to identify an optimal solution.
A simplex solution in a maximization problem is optimal if the Cj-Zj row consists of entirely zeros and
negative numbers, i.e. there are no positive values in the row.
So for our case in the initial tableau, we have two positive values under the non-basic variables, which
indicate that further improvement of the solution is possible. As a result, we go for the optimal solution by
developing the second simplex tableau.
In answering the first question, the non-basic variable that should enter the solution should be the one with
the highest positive value in the C j-Zj row since bringing that non-basic variable into the solution would
make the highest contribution to the solution (objective function) and result inthe largest profit potential. As
a result, the variable with the highest value in the C j-Zj row of the initial simplex tableau is the X 1 column
with a value 60. Therefore, X1 should enter the basis or the solution mix. The X1 column is now called the
pivot column. The numbers in this column (4 2 3) indicate the amount of the basic variables needed to get
one unit of X1. For example, the number 4 indicates that 4 units of the first slack are needed to obtain one
unit of X1.
Since X1 has the highest profit potential, we need to make as much X 1 units as possible. The amount of X 1
that can be made depends on the values in the pivot column and the amount of slack available shown under
the quantity column. By dividing the values in the pivot column by their respective values in the quantity
column, we can identify the variable that is most limiting.
The values obtained by dividing will help us in determining the variable that should leave the solution.
Cj 60 50 0 0 0 Quantity
Basic V. X1 X2 S1 S2 S3
S1 0 4 10 1 0 0 100 100/4 = 25
S2 0 2 1 0 1 0 22 22/2 = 11
S3 0 3 3 0 0 1 39 39/3 = 13
25
Operation Research
Zj 0 0 0 0 0 0
Cj-Zj 60 50 0 0 0
Pivot Column
Pivot Row Pivot Element
In interpreting the ratios obtained by the division, I only the constraint was the first one, we could make 25
units of X1. But there are also other constraints. Therefore, the one with the smallest non-negative ratio is the
most restrictive since it determines the amount of X 1. In this particular case, there is only enough of the
second constraint to make 11 units of X1. In making the 11 units of X1, the second resource (S2) will be down
to zero indicating that S2 will leave out the solution mix. The row of the leaving variable is called the pivot
row. The intersection of the pivot row and the pivot column is called the pivot element. As a rule,
The leaving variable is the one with the smallest non-negative ratio.
If a zero is obtained in the results of division, none of the corresponding variable is needed to obtain one unit
of the entering variable. If a negative value is obtained in the division, bringing the entering variable into the
solution would increase the amount of the basic variable. These values will not limit the amount of the
entering variable. Therefore, there is no need to divide the quantity column by zero or negative.
Since we have determined the leaving and the entering variables and since the initial feasible solution can be
improved further, we need to develop the second tableau in order to find the optimal solution. In developing
the second tableau, we should compute for revised values of the constraint equations, the Z j row and the Cj-Zj
row and remember that the variables in solution will have a unit vector, with a value of 1 in the intersection
of the column and the row of the basis, i.e. the pivot element.
To obtain a unit vector in the basis column, we perform elementary row operations resulting in new row
values by either multiplying/dividing all the elements in a row by a constant or adding/subtracting the
multiple of a row to or from another row.
In computing for the new row values from our initial simplex tableau, we first multiply the second constraint
by ½ obtaining the values as follows:
1X1+1/2X2+0S1+1/2S2+0S3 = 11, which results in making the pivot element 1.
Next, we multiply the above new row values by 4 and subtract it from the first constraint obtaining the
following results:
0X1+8X2+1S1+2S2+0S3 = 56.
Then, we multiply the new row values in the pivot row by 3 and subtract it from the third constraint resulting
as follows:
0X1+3/2X2+0S1-3/2S2+1S3 = 6.
Having these new row values, we develop the second simplex tableau as shown below.
Second Simplex Tableau
Cj 60 50 0 0 0 Quantity
Basic V. X1 X2 S1 S2 S3
S1 0 0 8 1 -2 0 56
26
Operation Research
X2 60 1 1/2 0 1/2 0 11
S3 0 0 3/2 0 -3/2 1 6
Zj 60 30 0 30 0 660
Cj-Zj 0 20 0 -30 0
To determine the leaving the variable, we divide the values in the pivot column by their corresponding row
values in the quantity column. The result obtained, as shown in the table below indicates that S3 is the leaving
variable with the smallest non-negative ratio. This means that S3 is the most limiting resource for how much
units of X2 can be made.
Cj 60 50 0 0 0 Quantity
Basic V. X1 X2 S1 S2 S3
56/8 = 7
S1 0 0 8 1 -2 0 56
11/(1/2) = 22
X2 60 1 1/2 0 1/2 0 11
6/(3/2) = 4
S2 0 0 3/2 0 -3/2 1 6
Zj 60 30 0 30 0 660
Cj-Zj 0 20 0 -30 0
Pivot Row
Pivot Column Pivot Element
After identifying the entering and the leaving variables, we perform elementary row operations as follows.
To obtain a unit vector with 1 in the pivot element, we multiply the pivot row by 2/3 resulting as follows:
0X1+1X2+0S1+-1S2+2/3S3 = 4
Then, multiply the above new row values by 8 and subtract it from the first constraint (row) resulting as
follows:
0X1+0X2+1S1+6S2+-16/3S3 = 24.
For row 2, first multiply the new row values in the pivot row by ½ and subtract it from the second row
resulting as follows:
1X1+0X2+0S1+1S2+-1/3S3 = 9.
And the third tableau looks like the following.
Third Simplex Tableau
Cj 60 50 0 0 0 Quantity
27
Operation Research
Basic V. X1 X2 S1 S2 S3
S1 0 0 0 1 6 -16/3 56
X1 60 1 0 0 1 -1/3 11
X2 50 0 1 0 -1 2/3 6
Zj 0 0 10 40/3 0 740
Cj-Zj 0 0 -10 -40/3 0
Interpreting the Third Tableau
All the values in the Cj-Zj row are zero and negative indicating that there can no be additional improvement.
This makes the third tableau to contain the optimal solution with the following basic variables:
S1 = 24, X1 = 9, and X2 = 4 producing a maximum profit of $740.
This means that in order to achieve the maximum profit, the company should produce 9 units of X 1 and 4
units of X2 leaving 24 hours of unused resource of the second constraint.
In case of equality constraints, a slack variable is not acceptable since these constraints require a precise
amount. To overcome this problem, artificial variables are introduced which are added to = and >=
constraints. They have no physical representation for their purpose is to allow the use of simplex process. As
a result, they should not appear in the final optimal solution. Assignment of coefficients for artificial
variables depends on the type of the problem, whether it is a maximization or a minimization problem. In
case of maximization problem, a large negative contribution or coefficient in the objective function would
ensure the removal of artificial variables from the optimal solution, commonly represented by -M. For
minimization problems, introducing a large positive coefficient would ensure the non-existent of artificial
variables in the optimal solution, commonly represented by M.
In addition to this, a slack is not allowed in >= constraints since they can only happen an excess amount that
is more than the minimum amount of a constraint. This excess amount is represented by a surplus variable
and is subtracted from the constraint.
Example – Maximization Problems with Mixed Constraints
Assume the following maximization problem with mixed constraints.
Max. Z = 6X1+8X2
Subject to X2 ≤ 4
X1+X2 = 9
6X1+2X2 ≥24
In solving for this problem, introducing a slack variable is not acceptable in the 2 nd & 3rd constraints since
they represent unused capacity and there is no unused capacity in = and >= constraints. Therefore, for >=
constraints, we introduce a surplus variable and for both >= and = constraints we introduce artificial variables
resulting as follows.
Max Z = 6X1+8X2+0S1+0S3-MA2-MA3
Subject to X2+ S1 = 4
X1+X2+A2 = 9
6X1+2X2-S3+A3 = 24
X1, X2> = 0
Wouldn’t it be possible to set A2 as A1 and A3 as A2 in the above standardized LPM form?
Developing the Initial Simplex Tableau
In the initial tableau, we list the variable in the order of decision variable, slack/surplus variables and finally
artificial variables. And for constraints, use artificial variables, and/or slack variables and/or surplus variables
for the initial solution. Therefore the initial tableau for the problem is represented as follows.
Since this is a maximization problem, the entering variable is the one with the maximum C j-Zj value.
Therefore, the variable with the maximum Cj-Zj is X1, the decision variable. And the leaving variable is with
the minimum non-negative ratio which is A3, the artificial variable. Since this artificial variable is not needed
we remove it from the next tableau.
Developing the Second Simplex Tableau
After identifying the entering and the leaving variable, the usual elementary row operations are performed to
obtain a unit vector in the entering variable column. The end result after performing the row operations is as
follows which shows the second tableau.
Second Simplex Tableau
Cj 6 8 0 0 -M Quantity
Basic V. X1 X2 S1 S3 A2
S1 0 0 1 1 0 0 4
A2 -M 0 2/3 0 1/6 1 5
X1 6 1 1/3 0 -1/6 0 4
Zj 6 2-2/3M 0 -1-M/6 -M 24-5M
Cj-Zj 0 6+2/3M 0 1+M/6 0
Again here, we identify the leaving the entering variables, i.e. the pivot row and the pivot column
respectively. The entering variable with the highest C j-Zj row value is X2 and the leaving variable with the
smallest ratio is S1.
Developing the Third Simplex Tableau
Selecting the entering and leaving variables, we go for obtaining a unit vector in the pivot column by using
the elementary row operations. We get the following third tableau.
Third Simplex Tableau
Cj 6 8 0 0 -M Quantit
Basic V. X1 X2 S1 S3 A2 y
X2 8 0 1 1 0 0 4
A2 -M 0 0 -2/3 1/6 1 7/3
X1 6 1 0 -1/3 -1/6 0 8/3
Zj 6 8 6+2/3M -1-M/6 -M 48-7/3M
Cj-Zj 0 0 -6-2/3M 1+M/6 0
Similarly, we identify the entering and the leaving variables which are S 3 and A2 respectively representing the
maximum Cj-Zj value and the minimum ratio.
Developing the Fourth Simplex Tableau
Perform elementary row operations usual to have a unit vector in the entering variable column and you will
get the following fourth tableau.
Fourth Simplex Tableau
Cj 6 8 0 0 Quantity
30
Operation Research
Basic V. 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
This tableau represents the final tableau since we have only zeros and negative values in the C j-Zj row which
indicates that it is the optimal solution. So we have the following results for each of the variables and the
profit obtained.
X1 = 5, X2 = 4, S3 = 14, and Profit = 62
respectively in the objective function. M is considered a very large number so as to finally drive
out the artificial variables out of basic solution.
Step 2. Next, an initial solution is set up. Just to initiate the solution procedure, the initial basic feasible
solution is obtained by assigning zero value to decision variables. This solution is now
summarized in the initial simplex table. Complete the initial simplex table by adding two final
rows Z, and Cj - Zj. These two rows help us to know whether the current solution is optimum or
not.
Step 3. Now; we test for optimality of the solution. If all the entries of C j - Zj, row are positive, then the
solution is optimum. However, this situation may come after a number of iterations. But if at least
one of the Cj - Zj values is less than zero, the current solution can be further improved by
removing one basic variable from the basis and replacing it by some non-basic one.
Step 4. (i) Determine the variable to enter the basic solution. To do this, we identify the column with the
largest negative value in the Cj - Zj row of the table.
(ii) Next we determine the departing variable from the basic solution. If an artificial vapriable goes
out of solution, then we discard it totally and even this variable may not form part of further
iterations. Same procedure, as in maximization case, is employed to determine the departing
variable.
Step 5. We update the new solution now. We evaluate the entries for next simplex table in exactly the same
manner as was discussed earlier in the maximization case.
We introduce both surplus and artificial variables into both constraints as follows.
Min Z = 7X1+9X2+0S1+0S2+MA1+MA2
Subject to 3X1+6X2 –S1+A1 = 36
8X1+4X2-S2+A2 = 64
X1, X2> = 0
32
Operation Research
So the subsequent tableaus for this problem are shown below. To remind in these tableaus is in transforming
from one tableau to another, we perform elementary row operations to obtain the unit vector in the pivot
column for the entering variable into the solution.
Initial Simplex Tableau
Cj 7 9 0 0 M M Quant
Basic X1 X2 S1 S2 A1 A2 ity
V.
A M 3 6 -1 0 1 0 36
1
A M 1 4 0 -1 0 1 64
2
The third tableau represents a final tableau since it is the optimal solution with entirely zeros and non-
negative values in the Cj-Zj row.
Therefore, the optimal solution is: X1 = 20/3 and X2 = 8/3 and value of objective function is 212/3.
Summary
Coefficient of extra variables Presence of
Types of
in the objective function variables in
constrain Extra variables to be added
MaxZ MinZ the initial
t
solution mix
< Add only slack variable 0 0 Yes
In the simplex method, an infeasible solution is indicated by looking at the final tableau Whenever the
optimality criteria is satisfied but still there exist an artificial variable in the basis or solution mix, this is the
indication of infeasibility.
Example:
Minimization case
Cj 5 8 0 0 M
BV X1 X2 S1 S2 A2 Q
5 X1 1 0 -2 3 0 200
8 X2 0 1 1 2 0 100
M A2 0 0 0 -1 1 200
Zj 5 8 -2 31-M M 1,800+200M
C j - Zj 0 0 2 M-31 0
Even though all Cj - Zj are positive or 0(i.e. the criterion for an optimal solution in a minimization case), no
feasible solution is possible because an artificial variable (A2) remains in the solution mix.
Unbounded Solution
34
Operation Research
No finite solution may exist in problems that are not bounded. This means that a variable can be infinitely
large without violating a constraint. In the simplex method, the condition of unboundedness will be
discovered prior to reaching the final tableau. We will note the problem when trying to decide which variable
to remove from the solution mix.
The procedure in unbounded solution is to divide each quantity column number by the corresponding pivot
column number. The row with the smallest positive ratio is replaced. But if the entire ratios turn out to be
negative or undefined, it indicates that the problem is unbounded.
Note: A negative ratio means that increasing that variable would increase resources. A zero ratio means
that increasing the variable would not use any resources.
Example:
Maximization case:
Cj 6 9 0 0
SV X1 X2 S1 S2 Q
9 X2 -1 1 2 0 30
0 S2 -2 0 -1 1 10
Zj -9 9 18 0 270
Cj - Z j 15 0 -18 0
Pivot Column
The solution in the above case is not optimal because not all Cj - Zj entries are 0 or negative, as required in a
maximization problem. The next variable to enter the solution should be X1.To determine which variable will
leave the solution, we examine the ratios of the quantity column numbers to their corresponding numbers in
the X1or pivot column. Since both pivot column numbers are negative, an unbounded solution is indicated.
Example
Cj 5 8 2 0 0 0
Q RR
SV X1 X2 X3 S1 S2 S3
8 X2 1/4 1 1 2 0 0 10
10/1/4=40
0 S2 4 0 1/3 -1 1 0 20
0 S3 2 0 2 2/5 0 1 10 20/4= 5 Tie for the smallest ratio
Indicates degeneracy.
Zj 2 8 8 16 0 0 80 10/2= 5
Cj - Zj 3 0 -6 -16 0 0
Column
Row s2 s3
s2 ¼= ¼ 0/4=0
s3 0/2 =0 ½=1/2
Comparing the ratios from left to right column wise until they are not equal, the minimum ratio occurs for
the second row (0). Therefore,s3is selected to leave the basis.
36
Operation Research
Note: When there is a tie between a slack and artificial variable to leave the basis, the preference shall be
given to artificial variable to leave the basis and there is no need to apply the procedure for resolving such
cases.
Two incoming variables
/ Or Tie for entering variables/
In order to break this tie, the selection for the key column (entering variable) can be made arbitrary.
However; the number of solution can be minimized by adopting the following rules:
1. If there is a tie between two decision variables, then the selection can be made arbitrary.
2. If there is a tie between a decision variable and a slack (or surplus) variable, then select the decision
variable to enter into basis first.
3. If there is a tie between slack or surplus variable, then selection can be made arbitrary.
Example:
If the equation is max Z:
Cj
SV X1 X2 S1 S3 Q
Zj
Cj - Z j 5 2 5 0
Example:
Cj 3 2 0 0 Maximization problem
BV X1 X2 S1 S2 Q
2 X2 3/2 1 1 0 6
0 S2 1 0 1/2 1 3
Zj 3 2 2 0 37 12
Cj - Z j 0 0 -2 0
Operation Research
MaxZ=3X1+2X2
X1=0, X2=6, S2=3 and MaxZ=12 or: X1=3, X2=3/2 and MaxZ=12
The Cj - Zj value of the non-basic variable (X1) is 0. Thus, this shows the existence of alternative optimal
solution. Can you identify more alternative optimal solutions?
The term ‘dual’ in a general sense implies two or double. Every linear programming problem can have two
forms. The original formulation of a problem is referred to as its Primal form. The other form is referred to
as its dual LP problem or in short dual form. In general, however, it is immaterial which of the two problems
called primal or dual, since the dual of the dual is primal.
The dual involves setting up and solving an LP problem that is almost a ‘mirror image’ of an LP problem
that has been formulated. Both in its formulation and solution, the dual is the flip flop version of the primal.
In the context of LP, duality implies that each LP problem can be analyzed in two different ways, but having
equivalent solution. For example, consider the problem of production planning. By using the primal LP
problem, the production manager attempts to optimize resource allocation by determining quantities for each
product to be produced that will maximize profit. But through dual LP problem approach, he attempts to
achieve production plan that optimizes resource allocation so that each product is produced at that quantity
such that its marginal opportunity cost equals its marginal return. Thus, the main focus of dual is to find for
each resource its best marginal value or shadow price. This value reflects the scarcity of resources, i.e., the
maximum additional prices to be paid to obtain one additional unit of the resources to maximize profit under
the resource constraints. If resource is not completely used, i.e., there is slack, then its marginal value is zero.
The shadow price is also defined as the rate of change in the optimal objective function value with the
respect to the unit change in the availability of a resource. Precisely for any constraint, we have,
Shadow Price = change in the optimal objective function value
Unit change in the availability of a resource
Analysis of the dual can also enable a manager to evaluate the potential impact of a new product, and it can
be used to determine the marginal values of resources (i.e. constraints). Relative to a product, a manager
would want to know what impact adding a new product would have on the solution quantities and the profit;
relative to resources, a manager can refer to a dual solution to determine how much profit one unit of each
resource equivalent to. Whereas the primal gives solution results in terms of the amount of profit gained from
producing products, the dual provides information on the value of the constrained resources in achieving that
profit.
am1x1+am2x2+... + amnxn ¿ bm
x1,x2... xn ¿ 0
a1ny1+an2y2+... + amnym ¿ cn
y1,y2... ym ¿ 0
The above pair of LP problems can be expressed in the general LP model form as
Primal Dual
n m
∑ cjxj ∑ biyi
Max Zx = j=1 Min Zy = i=1
The following rules which guide the formulation of the dual problem will give you the summary of the
general relationship between primal and dual LP problems.
1. If the primal’ objective is to minimize, the dual’s will be to maximize; and the vice versa
2. The coefficient’s of the primal’s objective function become the RHS values for the dual’s constraints.
3. The primal’s RHS values become the coefficients of the dual’s objective function.
4. The coefficients of the first “row” of the primal’s constraints become the coefficients of the first
“column” of the dual’s constraint …..
5. The ≤ constraints become ≥ and the vice versa.
Consider this Primal problem:
39
Operation Research
The following table shows how the primal problem is transformed into its dual.
Primal Dual
Objective Minimize 40x1 + 44x2 + 48x3 Maximize 20y1 + 30y2
function and Subject to Subject to
right-hand 1 20 1 40
side values 2 30 2 44
3 48
Primal Dual
Constraint 1 1x1 + 2x2 + 3x3 1 1y1 + 4y2
coefficients 2 4x1 + 4x2 + 4x3 2 2y1 + 4y2
3 3y1 + 4y2
We can see from the table that the original objective was to minimize, whereas the objective of the dual is to
maximize. In addition, the coefficients of the primal’s objective function become the right-hand side values
for the dual’s constraints, whereas the primal’s right-hand side values become the coefficients of the dual’s
objective function.
Note that the primal has three decision variables and two constraints; whereas the dual has two decision
variables and three constraints.
The constraint coefficients of the primal are constraint coefficients of the dual, except that the coefficients of
the first “row” of the primal become the coefficients of the first “column” of the dual, and the coefficients of
the second “row” of the primal become the coefficients of the second “column” of the dual.
When the primal problem is a maximization problem with all < constraints, the dual is a minimization
problem with all > constraints.
3.1.2. Formulating the Dual when the Primal has Mixed Constraints
In order to transform a primal problem into its dual, it is easier if all constraints in a maximization problem
are of the < variety, and in a minimization problem, every constraint is of the > variety.
40
Operation Research
To change the direction of a constraint, multiply both sides of the constraints by -1. For example,
-1(2x1 + 3x2> 18) is -2x1-3x2< -18
If a constraint is an equality, it must be replaced with two constraints, one with a < sign and the other with a
> sign. For instance,
4x1 + 5x2 = 20
will be replaced by
4x1 + 5x2< 20
4x1 + 5x2> 20
Then one of these must be multiplied by -1, depending on whether the primal is maximization or a
minimization problem.
EXAMPLE:
Formulate the dual of this LP model.
Maximize z =
1¿¿
50x ¿ + 80x 2
Subject to:
¿¿
1
C¿
1¿¿
3x ¿ + 5x 2 ≤ 45
C2
¿1 ¿
4x ¿ + 2x 2 ≥16
C3
¿1 ¿
6x ¿ +6x 2 = 30
¿1 ¿
x ¿ ,x 2 ≥ 0
SOLUTION
Since the problem is a max problem, put all the constraints in to the ≤ form. Subsequently, C 2 and C3 will
be first adjusted in to ≤ constraints.
- C 2 will be multiplied by -1:
¿1 ¿
-1(4x ¿ + 2x 2 ≥16) becomes -4x ¿ - 2x 2 ≤ -16
¿1 ¿
- C3 is equality, and must be restated as two separate constraints. Thus, it becomes:
1 ¿¿ 1 ¿¿
6x ¿ +6x 2 ≤ 30 and 6x ¿ +6x 2 ≥30. Then the second of these must be multiplied by -1.
¿1 ¿
-1(6x ¿ +6x 2 ≥30) becomes -6x ¿ -6x 2 ≤ -30
¿1 ¿
After making the above adjustments, rewrite the LP model again.
Maximize z =
1
50x ¿ + 80x 2
¿¿
Subject to:
¿¿
1
C¿
1¿¿
3x ¿ + 5x 2 ≤ 45
C2
¿1 ¿
-4x ¿ - 2x 2 ≤ -16
41
Operation Research
C3
¿¿1
6x ¿ +6x 2 ≤ 30
C4
¿1 ¿
-6x ¿ -6x 2 ≥ -30
¿1 ¿
x ¿, x2 ≥
The dual of the above problem will be:
Minimize 45y1 - 16y2 + 30y3 – 30y4
Subject to
1 ¿¿
C ¿ 3y1 -4y2 + 6y3 – 6y4 ≥ 50
C 2 3y1 - 2y2 + 6y3 – 6y4 ≥ 80
y1, y2, y3, y4 ≥ 0
3.1.3. Comparison of the Primal and Dual Simplex Solutions
Cross -referencing the values in the primal and dual final simplex tableaus is shown as follows.
Example:
To show that the flip-flopping of values between the primal and the dual carries over to their final simplex
tableaus, let us look at the following tables. The first table contains the final tableau for the dual and the
second one contains the final tableau for the primal.
The manager of the firm would reason in the following way. For each unit of Model I that the firm sacrifices
to produce computers for the department store, it will gain 4 hours of assembly time, 2 hours of inspection
time, and 3 cubic feet of storage space, which can be applied to the store computers. However, it will also
give up a unit profit of $60. Therefore, in order for the firm to realistically consider the store’s offer, the
amounts of scarce resources that will be given up must produce a return to the firm that is at least equal to the
foregone profit. Hence, the value of 4 assembly hours + 2 inspection hours + 3 cubic feet of storage space >
$60. By similar reasoning, giving up one unit of Model II will require that the value received by giving up
43
Operation Research
10 assembly hours + 1 inspection hour + 3 cubic feet of storage must equal or exceed the Model II profit of
$50 per unit. These, then, become the constraints of the dual problem. Thus:
Hence the constraints of the dual refer to the value of capacity (i.e., the scarce resources). The formulation
indicates that in order to switch from making units of Models I and II to making computers for the
department store, the value received from that switch must be at least equal to the profit foregone on the
microcomputer models. The variables y1, y2 and y3 are the marginal values of scarce resources (assembly
time, inspection time, and storage space). Solving the dual will tell us the imputed values of the resources
given our optimal solution.
Naturally, the department store would want to minimize the use of the scarce resources, because the
computer firm almost certainly would base its charges on the amount of resources required. Consequently,
the objective function for the dual problem focuses on minimizing the use of the scarce resources. Thus:
Looking at the optimal solution to the dual of the microcomputer problem, we can see the marginal values of
y2 and y3 in the Quantity column, but not the value of y 1. This is because the optimal solution to the primal
did not completely use up all of the assembly capacity. Consequently, no amount of either x 1 or x2 would
need to be given up to obtain one free hour of assembly time. Thus, the marginal value of one hour of
assembly time is $0.
Finally, the optimal dual solution always yields the same value of the objective function as the primal
optimal. In this case, it is 740. The interpretation is that the imputed value of the resources that are required
for the optimal solution equals the amount of profit that the optimal solution would produce.
44
Operation Research
Conversely, if the dual constraint has not been satisfied, the new variable would have come into solution. In
this instance, the marginal value of scarce resources that would be required for the new model exceeds the
marginal contribution to profit that the new model would provide. That is, Birr106.67 > Birr70.
Note: The value of this approach is that it is not necessary to rework the entire problem in order to test the
potential impact that adding a new decision variable would have on the optimal solution.
Sensitivity analysis carries the LP analysis beyond the determination of the optimal solution and begins with
the final simplex tableau. Its purpose is to explore how changes in any of the parameters of a problem, such
45
Operation Research
as the coefficients of the constraints, coefficients of the objective function, or the right hand side values;
would affect the solution. For this, instead of resolving the entire problem as a new problem with new
parameters, we may consider the original optimal solution as an initial solution for the purpose of knowing
the ranges, both lower and upper, within which a parameter may assume a value.
For instance, a manager may want to consider obtaining an additional amount of scarce resource that might
be available, in which case the manager would want to know the answers to questions such as:
b. Will an increase in the right hand side of this constraint affect the objective function?
c. If so, how much of the resource can be used?
d. Given the answer to the preceding question, what will be the revised optimal solution?
Conversely, the decision maker might be facing a situation in which the amount of scarce resource available
is less than the original amount, in which case the issues would be:
a. Will the decreased level of the resource have an impact on the value of the objective function?
b. If yes, how much of an impact will it have, and what will be the revised optimal solution?
The process of studying the sensitivity of the optimal solution of an LP problem is also called post optimality
analysis because it is done after an optimal solution, assuming a given set of parameters, has been obtained
for the model.
The discussion here covers only two types of changes: changes in the right hand side levels of the
constraints, and changes in the coefficients of the objective function as change in the coefficient of
constraints is beyond the coverage of this material.
The most obvious way to ascertain the effect of a change in the parameter of the model is to make the change
in the original model, resolve the model, and compare the solution result with the original solution. However,
resolving a problem can be very time consuming and as it will be demonstrated below, it is unnecessary. In
most cases the effect of changes in the model can be determined directly from the final simplex tableau.
Cj 60 50 0 0 0 Quantity
Basis x1 x2 s1 s2 s3
s1 0 0 0 1 6 -16/3 24
46
Operation Research
x1 60 1 0 0 1 -1/3 9
x2 50 0 1 0 -1 2/3 4
Z 60 50 0 10 40/3 740
C-Z 0 0 0 -10 -40/3
Negatives of
shadow prices
A shadow price is a marginal value; it indicates the impact that a one-unit change in the amount of a
constraint would have on the values of the objective function. As we can see from the table, the shadow
prices are $0 for s1(Assembly time), $10 for s2 (Inspection time), and $40/3 for s3 (Storage space). These
tell us that an increase in the amount of assembly time would have no effect on profit; if inspection time is
increased by one hour, it will increase the profit by $10, and if storage space is increased by 1 cubic foot,
profit would increase by $40/3. The reverse also holds. If we decrease them by such respective amounts, the
decrease in profit will take the same figure.
What shadow prices do not tell us is the extents to which the level of a scarce resource can be changed and
still have the same impact per unit. The ability to use additional amounts of a resource will disappear at some
point because of the fixed amounts of the other constraints. Therefore, we need to determine the range over
which we can change the right hand side quantities and still have the same shadow price. This is called the
range of feasibility, or the right hand side range.
The key to computing the range of feasibility for the constraint lies in each slack column of the final simplex
tableau. To compute the range for each constraint, the entries in the associated slack column must be divided
into the values in the Quantity column. For example, for the storage column values, the resulting ratios are:
2494
=
-16/3-⅓⅔ -4.5 = -27 = +6
Here, the smallest positive ratio indicates how much the constraint level can be decreased before it reaches
the lower limit of its range of feasibility, and the smallest negative ratio (i.e. the negative ratio closest to 0)
indicates how much the storage constraint can be increased before it reaches its upper limit of feasibility. The
general rule applies when computing the upper and lower limits on the range of feasibility for maximization
problem is:
Alternative Method
Assume q1symbolically represent quantity in the original model, and stands for change.
Max. Z = 60X1+50X2
47
Operation Research
Subject to 4X1+10X2<100
2X1+X2< 22
3X1+3X2< 39
If we consider the same example as in the previous example, i.e., change in q 3 = 39. If q3 changes by some
amount, the new q’3 equals the original q3+ . The changes form a separate column identical to the s1
column in the final simplex tableau. Therefore, to determine the change, we need only observe the slack
(si) column corresponding to the model constraint quantity (qi) being changed.
Cj 60 50 0 0 0 Quantity
Basis x1 x2 s1 s2 s3
s1 0 0 0 1 6 -16/3 24-16/3
x1 60 1 0 0 1 -1/3 9-1/3
x2 50 0 1 0 -1 2/3 4 + 2/3
Z 60 50 0 10 40/3 740
C-Z 0 0 0 -10 -40/3
Recall that the requirement of simplex method is that the quantity values cannot be negative. If any q 1 value
becomes negative, the solution no longer be feasible. Thus the inequalities
24-16 /3> 0
9- /3> 0
4 + 2 /3 > 0
are solved for :
24-16 /3> 0 9- /3> 0 4 + 2 /3 > 0
72-16 > 0 27- > 0 12+2 > 0
3 3 3
72-16 > 0 27- >0 12+2 >0
48
Operation Research
Once we have computed these limits, we proceed to assess the impact that a contemplated change would
have on the optimal solution.
Example
The manager in the microcomputer problem is contemplating a change in the level of the storage constraint –
an increase of 3 cubic feet. Determine the revised optimal solution for the change.
Solution
First, note that an increase of 3 cubic feet is within the range. Then, the effect of an increase of three cubic
feet is computed in the following way:
x1 -⅓ 9 3(-⅓)= -1 8
x2 ⅔ 4 3(⅔)= +2 6
Z 40/3 740 3(40/3) = +40 780
For an increase in storage space of 8 cubic feet, we take the upper limit of 4.5 cubic feet for the computation.
The resulting revised figures, then, would be s 1= 0, x1=7.5, x2=7, and Profit =800.
Note, however, that
beyond the upper limit, s3 would come into solution, replacing S1, which would no longer be slack. The
amount of slack would be 8- 4.5=3.5 cubic feet. Consequently, the revised solution would be s 3=3.5, x1=7.5,
x2=7, and Profit = 800.
If a variable is not currently in the solution in a maximization problem, its objective function coefficient
would have to increase by an amount that exceeds the C-Z value for that variable in the final tableau in order
for it to end up as a basic variable in the optimal solution. The range over which a non-basic variable’s
objective function coefficient can change without causing that variable to enter the solution mix is called its
range of insignificance.
Range of Insignificance: the range over which a non-basic variable’s objective function coefficient can
change without causing that variable to enter the solution mix.
Maximize
¿1 ¿
3x ¿ + 2x 2 + 5x 3
Subject to:
C1
¿¿
1
x ¿ + 2x 2 + 2x 3 ≤ 18
C2
1 ¿¿
3x ¿ + 2x 2 + 6x 3 ≤ 12
C3
¿1 ¿
2x ¿ + 3x 2 + 4x 3 ≤ 12
49
Operation Research
1 ¿¿
x ¿ ,x 2 x 3 , ≥ 0
C 3 2 5 0 0 0
Basis
x¿
1¿¿ x2 x3 s1 s2 s3
Quantity
In the above tableau we see that x 3 is a non- basic variable. To determine the range over which the objective
function coefficient of x 3 would change without changing the optimal solution, recall how a variable in a
max problem enters the solution mix. Because x 3 is not in solution, its objective function coefficient would
need to increase in order for it to come in to solution (i.e., to make its c-z value positive). The amount of
increase must be greater than the absolute value of its c-z value, which is │-1│. Therefore, its objective
function coefficient must increase by more than 1. Hence, the range of insignificance for x 3 is 6 or less (i.e,
its Z value). In general the rule is: Range of insignificance for a non- basic variable is the Z value of the
variable. The allowable increase is the absolute value of its own C- Z value.
Range of Optimality: the range over which objective function coefficient of a variable that is in solution can
change without changing the optimal values of the decision variables. Note, however, that such a change
would change the optimal value of the objective function.
For variables that are in solution, the determination of the range of optimality (the range over which the
objective function coefficient of a variable that is in the solution can change without changing the optimal
values of the decision variables) requires a different approach. Divide the values in row C-Z by the
corresponding row values of the variable in question and follow the following rule for both maximization
and minimization problems.
Allowable increase: The smallest positive ratio of C-Z value and the
variable’s substitution rate.
Allowable decrease: the smallest negative ratio of C-Z value and the
variable’s substitution rate.
Note: If there is no positive ratio, it means that there is no upper limit on that variable’s objective
function coefficient.
Example
Determine the range of optimality for the decision variables in the microcomputer problem.
50
Operation Research
Solution
The final simplex tableau for that problem is repeated here for convenience.
Cj 60 50 0 0 0
Basis x1 x2 s1 s2 s3 Quantity
s1 0 0 0 1 6 -16/3 24
x1 60 1 0 0 1 -1/3 9
x2 50 0 1 0 -1 2/3 4
Z 60 50 0 10 40/3 740
C-Z 0 0 0 -10 -40/3
Hubbub uninviting
For x1 we find:
Column x1 x2 s1 s2 s3
C-Z value 0/1 = 0 0/0 = Undefined 0/0 = Undefined -10/1 = -10 -40/3 = +40
x1 row value-1/3
The smallest positive ration is +40. Therefore, the coefficient of X1 can be increased by Birr 40 without
changing the optimal solution. The upper end of its range of optimality is this amount added to its current
(original) value. Thus, its upper end is (Birr60 +Birr40) = Birr100. Also, the smallest negative ratio is -10;
therefore, the x1 coefficient can be decreased by as much as Birr10 from its current value, making the lower
end of the range equal to (Birr60 - Birr10 )= Birr 50.
For x2 we find:
Column x1 x2 s1 s2 s3
C-Z value 0/0 = Undefined 0/1= 0 0/0 = Undefined -10/-1 = +10 -40/3 = -20
x2row value ⅔
The smallest positive ration is +10. This tells us that the x 2 coefficient in the objective function could be
increased by Birr10 to (Birr50 + Birr10) = Birr 60. The smallest negative ratio is -20, which tells us that the
x2 coefficient could be decreased by Birr20 to (Birr50 - Birr20) = Birr30. Hence, the range of optimality for
the objective function coefficient of x2 is Birr30 to Birr 60.
This can also be done in the same way as change in the constraints by using the concept of change starting
from the final tableau. That is, the range of c j that will maintain the optimal solution can be determined
directly from the optimal simplex tableau.
Cj 60+ 50 0 0 0
Basis x1 x2 s1 s2 s3 Quantity
s1 0 0 0 1 6 -16/3 24
x1 60+ 1 0 0 1 -1/3 9
x2 50 0 1 0 -1 2/3 4
Z 60+ 50 0 +10 (40- )/3 740
C-Z 0 0 0 -10- (-40+ )/3
51
Operation Research
Consider a change for c1.This will change the c1value from c1=60 toc1=60+ . This new value is not only
included on the top cj row, but also in the left-hand cj column. Since 60+ is in left-hand column, it
becomes a multiple of the column values when the new Zj row values and the subsequent Cj – Zj row values.
The solution becomes optimal as long as the Cj –Zj row values remain negative. If Cj-Zj becomes positive,
the product mix will change, if it becomes zero, there will be an alternative solution. Thus, for the solution to
remain uniquely optimal,
-10- < 0
and
(-40+ )/3<0
Both of these inequalities must be solved for .
-10- < 0 and (-40+ )/3<0
- <10(-40+ )<0
> -10 <40
Now recall that c1=60+ ; therefore, =c1-60. Now substituting c1-60 for in the above inequalities, we get:
> -10 <40
C1-60 > -10 c1-60 <40
C1> 50 C1<100
Therefore, the range of values for C1 over which the solution basis remain optimal (although) the value of the
objective function may change) is:
50<C1<100
52