0% found this document useful (0 votes)
153 views137 pages

Understanding Operations Research Basics

Uploaded by

Salma Elnashar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
153 views137 pages

Understanding Operations Research Basics

Uploaded by

Salma Elnashar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Selected Notes

Prepared

Assoc. Prof. Ibrahim Sabry Dr Mohamed ElWakil


Chapter 1
Introduction
The roots of operations research (OR) can be traced back many decades,
when early attempts were made to use a scientific approach in the management of
organizations. However, the beginning of the activity called operations research has
generally been attributed to the military services early in World War II. Because of
the war effort, there was an urgent need to allocate scarce resources to the various
military operations and to the activities within each operation in an effective manner.
Therefore, the British and then the U.S. military management called upon a large
number of scientists to apply a scientific approach to dealing with this and other
strategic and tactical problems. In effect, they were asked to do research on
(military) operations.
When the war ended, the success of OR in the war effort spurred interest in
applying OR outside the military as well. As the industrial boom following the war
was running its course, the problems caused by the increasing complexity and
specialization in organizations were again coming to the forefront. It was becoming
apparent to a growing number of people, including business consultants who had
served on or with the OR teams during the war, that these were basically the same
problems that had been faced by the military but in a different context. By the early
1950s, these individuals had introduced the use of OR to a variety of organizations
in business, industry, and government. The rapid spread of OR soon followed.
The subject OR is a branch of mathematics - specially applied mathematics,
used to provide a scientific base for management to take timely and effective
decisions to their problems. It tries to avoid the dangers from taking decisions
merely by guessing or by using thumb rules.
Management is the multidimensional and dynamic concept. It is
multidimensional, because management problems and their solutions have
consequences in several dimensions, such as human, economic
social and political fields. As the manager operates his system in an environment,
which will never remain static, hence is dynamic in nature. Hence any manager,
while making decisions, considers all aspects in addition to economic aspect, so that
his solution should be useful in all aspects. The general approach is to analyse the
problem in economic terms and then implement the solution if it does
not aggressive or violent to other aspects like human, social and political constraints.

1
1. Definitions of Operation Research
In the academic interest some of the important definitions are discussed
below.
(a) Operations Research is the art of winning wars without actually fighting. –
Aurther Clarke.
(b) Operations Research is the art of giving bad answers to problems where
otherwise worse answers are given. - T.L. Satty.
(c) Operations Research is Research into Operations. - J. Steinhardt.
(d) Operations Research is defined as Scientific method for providing executive
departments a quantitative basis for decisions regarding the operations under
their control. - P.M. Morse and G.E. Kimball.
(e) Operations Research is the study of administrative system pursued in the same
scientific manner in which system in Physics, Chemistry and Biology are
studied in natural sciences.
(f) Operations Research is the application of scientific methods, techniques and
tools to operation of a system with optimum solution to the problem. -
Churchman, Ackoff and Arnoff.
(g) Operations Research is the application of the theories of Probability, Statistics,
Queuing, Games, Linear Programming etc., to the problems of War,
Government and Industry.
(h) Operations Research is the use of Scientific Methods to provide criteria or
decisions regarding man-machine systems involving repetitive operations.
(i) Operations Research is applied decision theory. It uses any scientific,
mathematical or logical means to attempt to cope with problems that confront
the executive, when he tries to achieve a thorough going rationally in dealing
with his decision problem. - D.W. Miller and M.K. Starr.
(j) Operations Research is the application of the methods of science to complex
problems arising in the direction and management of large systems of men,
materials and money in industry, business, Government and defense. The
distinctive approach is to develop a scientific model of the system,
incorporating measurements of factors such as chance and risk, with which to
predict and compare the outcome of alternative decisions, strategies or
controls. The purpose is to help management to determine its policy and
actions scientifically. - Operations Society of Great Britain.
In addition to the above there are hundreds of definitions available to explain
what Operations Research is? But many of them are not satisfactory because of the
following reasons.
(i) Operations Research is not a well-defined science like Physics, Chemistry
etc. All these sciences are having well defined theory about the subject matter,
whereas operations research does not claim to know or have theories about
operations. Moreover, Operations Research is not a scientific research into the
control of operations.

2
It is only the application of mathematical models or logical analysis to the
problem solving. Hence none of the definitions given above defines operations
research precisely.
(ii) The objective of operations research says that the decisions are made by
brainstorming of people from various walks of life. This indicates that operations
research approach is inter- disciplinary approach, which is an important character of
operations research. This aspect is not included in any of the definitions hence they
are not satisfactory.
(iii) The above-discussed definitions are given by various people at different
times and stages of development of operations research as such they have considered
the field in which they are involved hence each definition is concentrating on one or
two aspects. No definition is having universal approach.
But salient features of above said definitions are:
 Operations Research uses Scientific Methods for making decisions.
 It is interdisciplinary approach for solving problems and it uses the
knowledge and experience of experts in various fields.
 While analyzing the problems all aspects are considered and examined
and analysed scientifically for finding the optimal solution for the
problem on hand.
 As operations research has scientific approach, it improves the quality of
answers to the problems.
 Operations research provides scientific base for decision-making and
provide scientific substitute for judgement and intuition.

2. Phases in solving Operations Research problems


Any Operations Research analyst has to follow certain sequential steps to
solve the problem on hand. The steps he has to follow are discussed below:
First he has to study the situation and collect all information and formulate the
statement of the problem. Hence the first step is the Formulation of the problem. The
figure below shows the various steps to be followed.
Formulation of the Problem
The Operations Research analyst or team of experts first have to examine the
situation and clearly define what exactly happening there and identify the variables and
constraints. Similarly identify what is the objective and put them all in the form of
statement. The statement must include:
a) A precise description goals or objectives of the study
b) Identification of controllable and uncontrollable variables and
c) Restrictions of the problem.
The team should consult the personals at the spot and collect information, if
something is beyond their reach, they have to consult duty engineers available and
understand the facts and formulate the problem.

3
Phases of solving Operations Research problems

Variables
In linear programming language, variables are known as competing
candidates. Because they compete to use or consume available resources.
Objective of the Problem
To maximize the profit how much of products are to be manufactured? That
is maximization of the profit or maximization of the returns is the objective of a
problem. Or to minimize the cost, how many buses can be used to transport
passengers between different stations.
Resources and Constraints
Number of machines in a factory can be defined as resources. The capacity of
machines in terms of machine hours available is the available resources. The competing
variables have to use these available resources, which are limited in nature. The products
have to use these machine hours in required proportion. These machine hours given are the
available resources and they are limited in nature and hence they are constraints given in
the statement.

4
Chapter 2
Linear Programming
Simply, linear programming is transferring any realistic or simplified
problem into raw of equations that can be solved graphically or algebraically.
Method of solution has three main components:
1. Variables: amount or number of decision alternatives. They are tuned
according to the conditions of the problem. The aim of the problem is to get the
number or amount of these variables. Example: number of products to be produced
in a factory. It is symbolized by x1, x2 …
2. Objective function: the output gained or the reason for solving the
problem. What we get by tuning the variables number. Generally speaking, there are
two forms of the objective function. Maximum profit or minimum cost is the general
aims of solving problems. Objective function equation is written in terms of
variables constructed for the problems.
3. Constrains: Why we don’t produce as many as products we can! It is due
to limitations of our capital, machines, raw materials, available workers and time.
All these are considered constraints for the problem. So, constrains are the
boundaries for the variables that cannot be exceed.

Example 1
Factory manufactures two products A and B. The total number of A and
B that it can produce per day are 24. It takes one hour to make A and two
hours to make B. The factory can work for a maximum 16 hours per day. The
profit for product A is 300 and the profit for B is 100. Model this problem as a
linear programming to maximize the profit.
1- Let, x1 = number of product of A can be produced
x2 = number of product of B can be produced
2- Profit, Zmax = 300 x1 + 100 x2
3- x1+ x2 ≤ 24 : products number constraint
x1+ 2x2 ≤ 16 : production hours constraint

So, Zmax = 300 x1 + 100 x2


Subject to,
x1+ x2 ≤ 24
x1+ 2x2 ≤ 16

5
Example 2
A farmer is interested in feeding his cattle at minimum cost. Two feeds
are used A and B. Each cow must get at least 400 grams/day of protein, at
least 800 grams/day of carbohydrates, and not more than 100 grams/day of
fat. Given that A contains 10% protein, 80% carbohydrates and 10% fat while
B contains 40% protein, 60% carbohydrates and no fat. A costs 20$/kg, and
B costs 50$/kg. Formulate the problem to determine the optimum amount of
each feed to minimize cost.
1- Let, x1 = weight of feed A kg/day/animal
x2 = weight of feed B kg/day/animal
2- Profit, Zmax = 20 x1 + 50 x2
3- 0.1 x1+ 0.4 x2 ≥ 0.4 : protein
0.8 x1+ 0.6 x2 ≥ 0.8 : carbohydrates
0.1 x1 ≤ 0.1

So, Zmax = 20 x1 + 50 x2
Subject to,
0.1 x1+ 0.4 x2 ≥ 0.4
0.8 x1+ 0.6 x2 ≥ 0.8
0.1 x1 ≤ 0.1

Example 3
A factory manufactures a product each unit of which consists of 5 units
of part A and 4 units of part B. The two parts A and B require different raw
material of which 120 units and 240 units respectively are available. These parts
can be manufactured by three methods. Raw material requirements per
production run and the number of units for each part produced are given in
the table. Determine the number of production runs for each method so as to
maximize the total number of complete units of the final product.
Inputs per run (units) Output per run (units)
Method Raw mat. 1 Raw mat. 2 Part A Part B
1 7 5 6 4
2 4 7 5 8
3 2 9 7 3

6
1- Let, x1 = number of production runs for method 1
x2 = number of production runs for method 2
x3 = number of production runs for method 3

2- Number of production runs, Zmax = the smallest value of A' or B'


If only product A will be produced, it is required to determine the largest
number can be produced from A. Then, consider product B will be produced only.
And get the largest number of B can be produced. Finally the lower value of the two
largest values will be the solution of the problem.
Assume we can produce 5 product of A and 3 products of B … Then; the
solution is to produce only 3 of both A and B.
Zmax = the smallest value of A’ or B’
The product consists of two parts A’ and B’

6𝑥 + 5𝑥 + 7𝑥 4𝑥 + 8𝑥 + 3𝑥
𝐴’ = , 𝐵’ =
5 4
6𝑥 + 5𝑥 + 7𝑥 4𝑥 + 8𝑥 + 3𝑥
𝑍 = min { , }
5 4
6𝑥 + 5𝑥 + 7𝑥 4𝑥 + 8𝑥 + 3𝑥
So, let v = min { , }
5 4
It follows
6𝑥 + 5𝑥 + 7𝑥 4𝑥 + 8𝑥 + 3𝑥
≥v and ≥v
5 4
i.e, 6x1 + 5x2 + 7x3 – 5v = 0
4x1 + 8x2 + 3x3 – 4v = 0
3- 7x1 + 4x2 + 2x3 ≤ 120 : raw material 1 constraint
5x1 + 7x2 + 9x3 ≤ 240 : raw material 2 constraint

So, Zmax = v
Subject to, 6x1 + 5x2 + 7x3 – 5v = 0
4x1 + 8x2 + 3x3 – 4v = 0
7x1 + 4x2 + 2x3 ≤ 120
5x1 + 7x2 + 9x3 ≤ 240
Where, x1 ≥ 0, x2 ≥ 0 and x3 ≥ 0

7
Example 4
A company manufactures two products X and Y, by using the three machines
A, B, and C. Each unit of X takes 1 hour on machine A, 3 hours on machine B and 10
hours on machine C. Similarly, product Y takes one hour, 8 hours and 7 hours on
Machine A, B, and C respectively. In the coming planning period, 40 hours of
machine A, 240 hours of machine B and 350 hours of machine C is available for
production. Each unit of X brings a profit of 5$ and Y brings 7$ per unit. How much
of X and Y are to be manufactured by the company for maximizing the profit?
Let, x1 = number of product X
x2 = number of product Y

So, Zmax = 5x1 + 7x2


Subject to, 1x1 + 1x2 ≤ 40
3x1 + 8x2 ≤ 240
10x1 + 7x2 ≤ 350
Where, x1 ≥ 0 and x2 ≥ 0

Example 5
A company has 2 grades of inspectors 1&2. It is required that at least 1800
pieces be inspected per 8 hour day. Grade 1 inspectors can check pieces at the rate of
25 per hour with an accuracy of 98%. Grade 2 inspectors can check at the rate of 15
pieces per hour with an accuracy of 95%. Grade 1 costs 4 L.E/hour, grade 2 costs 3
L.E/hour. Each time an error is made by an inspector costs the company 2 L.E.
There are 8 grade 1 and 10 grade 2 inspectors available. The company wants to
determine the optimal assignment of inspectors which will minimize the total cost of
inspection/day.

Let, x1 = number of grade 1 inspectors/day.


x2 = number of grade 2 inspectors/day.

Cost of inspection = Cost of error + Inspector salary/day


Cost of grade 1/hour = 4 + (2 * 25 * 0.02) = 5 L.E
Cost of grade 2/hour = 3 + (2 * 15 * 0.05) = 4.5 L.E
Zmin = 8 (5x1 + 4.5x2) = 40x1 + 36x2

8
So, Zmin = 40x1 + 36x2
Subject to, x1 ≤8
x2 ≤ 10
200x1 + 120x2 ≤ 1800
Where, x1 ≥ 0 and x2 ≥ 0

Example 6
An iron ore from 4 mines will be blended. The analysis has shown that, in
order to obtain suitable tensile properties, minimum requirements must be met for
3 basic elements A, B, and C. Each of the 4 mines contains different amounts of the
3 elements (see the table). Formulate to find the least cost (Minimize) blend for one
ton of iron ore.
Minimum Composition from each mine Ib/ton
Basic
requirements
element 1 2 3 4
Ib/ton of
A 5 10 3 8 2
B 10 90 150 75 175
C 30 45 25 20 37
Cost/ton from each mine
800 400 600 500
L.E/ton of ore
Let, x1 = fraction of ton to be selected from mine number 1
x2 = Fraction of ton to be selected from mine number 2
x3 = Fraction of ton to be selected from mine number 3
x4 = Fraction of ton to be selected from mine number 4

So, Zmin = 800x1 + 400x2 + 600x3 + 500x4


Subject to, 10x1 + 3x2 + 8x3 + 2x4 ≥ 5
90x1 + 150x2 + 75x3 + 175x4 ≥ 10
45x1 + 25x2 + 20x3 + 37x4 ≥ 30
x1 + x2 + x3 + x4 ≥ 1
Where, x1 ≥ 0, x2 ≥ 0, x3 ≥ 0 and x4 ≥ 0

9
Example 7
A company produces paper rolls with a standard width of 20 feet. Each
special customer orders with different widths are produced by slitting the standard
rolls. Typical orders are summarized in the following tables.
Order Desired width Desired number of rolls
1 5 150
2 7 200
3 9 300

Possible knife settings


Knife settings Minimum
Required
number
width X1 X2 X3 X4 X5 X6 of rolls
5 0 2 2 4 1 0 150
7 1 1 0 0 2 0 200
9 1 0 1 0 0 2 300
Trim loss/roll 4 3 1 0 1 2
Formulate to minimize the trim loss and the number of rolls needed to satisfy
the order.

10
Let, Xj = Number of standard rolls to be cut according to setting j
j = 1, 2, 3, 4, 5, 6
Number of 5 feet rolls produced = 2 X2 + 2 X3 + 4 X4 + X5
Number of 7 feet rolls produced = X1 + X2+ 2 X5
Number of 9 feet rolls produced = X1 + X3+ 2 X6
Let, Y1, Y2, Y3 be the number of surplus rolls of the 5, 7, 9 feet rolls thus
Y1= 2 X2 + 2 X3 + 4 X4 + X5 - 150
Y2= X1 + X2+ 2 X5 - 200
Y3= X1 + X3+ 2 X6 - 300
The total trim losses = L (4X1 +3 X2+ X3 + X5 + 2 X6 + 5Y1+ 7Y2+ 9Y3)
Where, L is the length of the standard roll.
So, Zmin = L (4X1 +3 X2+ X3 + X5 + 2 X6 + 5Y1+ 7Y2+ 9Y3)
Subject to, 2X2+ 2 X3+ 4 X4+ X5 - Y1 = 150
X1+ X2 + 2X5 - Y2 = 200
X1+ X3 + 2 X6 - Y3 = 300
Where, X1, X2, X3, X4, X5, X6 ,Y1, Y2, Y3 ≥ 0

Example 7
A patient consults a doctor to check up his ill health. Doctor examines him and
advises him that he is having deficiency of two vitamins, vitamin A and vitamin D.
Doctor advises him to consume vitamin A and D regularly for a period of time so
that he can regain his health. Doctor prescribes tonic X and tonic Y, which are having
vitamin A, and D in certain proportion. Also advises the patient to consume at least
40 units of vitamin A and 50 units of vitamin daily. The cost of tonics X and Y and
the proportion of vitamin A and D that present in X and Y are given in the table
below. Formulate l.p.p. to minimize the cost of tonics.

11
12
Chapter 3
Graphical Method
It is the first method to solve the linear programming model. The graphical
method here is applicable only for a two decision variables problem. The graphical
procedure is a two dimensions graph to get an optimal solution for the problem.
The aim is to get the optimal values of variables. Optimal values mean that is
maximize (or minimize) the objective function value at best way. Also, the optimal
values subject to the constraints provided for the problem.
You may be used to having the term solution mean the final answer to a
problem, but the convention in linear programming (and its extensions) is quite
different. Here, any specification of values for the decision variables (x1, x2, … , xn)
is called a solution, regardless of whether it is a desirable or an allowable choice.
Different types of solutions are then identified by using an appropriate
adjective. A feasible solution is a solution for which all the constraints are satisfied.
An infeasible solution is a solution for which at least one constraint is violated
The feasible region is the collection of all feasible solutions.
An optimal solution is a feasible solution that has the most favourable value
of the objective function. The most favourable value is the largest value if the
objective function is to be maximized, whereas it is the smallest value if the
objective function is to be minimized
The method of solving by the graphical method is as follows:
 Draw two axes for x1 and x2 at the first quarter. x1 and x2 have always
positive values.
 Draw the lines representing the constraints.
 Determine the feasible region. The feasible region is the resulting
area from intersection of all lines drawn. Any point lies inside the
feasible region is a feasible solution.
 Getting the optimal solution by comparing all the corner points of the
feasible region with their objective function value.

Example 1
Find graphically the maximum value of Z = 3X1 + 5X2
Subject to X1 ≤4
2X2 ≤ 12
3X1 + 2X2 ≤ 18
and X1 ≥ 0, X2 ≥ 0

13
X1 ≤ 4

2X2 ≤ 12

14
3X1 + 2X2 ≤ 18

Z = 3X1 + 5X2
Z(A) = 0
Z(B) = 3×0 + 5×6 = 30
Z(C) = 3×2 + 5×6 = 36
Z(D) = 3×4 + 5×3 = 27
Z(E) = 3×4 + 5×0 = 12
Since the maximum value of Z is 36 occurs at point C (2, 6), the solution is:
x1 = 2, x2 = 6 , Zmax = 36

15
Example 2
Solve graphically the given linear programming problem.
Minimize Z = 3X1 + 5X2
Subject to –3X1 + 4X2 ≤ 12
2X1 – 1X2 ≥ -2
2X1 + 3X2 ≥ 12
1X1 ≥4
1X2 ≥ 2
and X1 ≥ 0, X2 ≥ 0

Solution

Isocost line is a line, the points on the line gives the same cost in Rupees. We
write Isocost line at a far off place, away from the origin by assuming very high cost
in objective function. Then we move line parallel towards the origin (in search of
least cost) until it passes through a single corner of the closed polygon, which is
nearer to the origin, (Unique Solution), or passes through more than one point,
which are nearer to the origin (more than one solution) or coincides with a line
nearer to the origin and the side of the polygon (innumerable solution).

The solution for the problem is the point P (3, 2) and the minimum cost is
Z = 3 × 3 + 2 × 5 = 19

16
Example 3
Formulate the linear programming model and solve the below given problem
graphically.
Old hens can be bought for 2$ each but young ones costs 5$ each. The old
hens lay 3 eggs per week and the young ones lay 5 eggs per week. Each egg is sold
by 0.3$. A hen costs 1$ per week to feed. If the financial constraint is to spend 80$
per week for hens and the capacity constraint is that total number of hens cannot
exceed 20 hens and the objective is to earn a profit more than 6$ per week, find the
optimal combination of hens.

Solution

Let, X1 is the number of old hens to be bought


X2 is the number of young hens to be bought
Profits of sale of eggs = 0.3 (3X1 + 5X2) = 0.9X1 + 1.5X2
Costs for feeding hens = 1 (X1 + X2) = X1 + X2
Hence the net income = Profits – Costs
= (0.9X1 + 1.5X2) – (X1 + X2) = – 0.1X1 + 0.5 X2
Maximize Z = – 0.1X1 + 0.5X2
Subject to, 2X1 + 5X2 ≤ 80
1X1 + 1X2 ≤ 20
and X1 ≥ 0, X2 ≥ 0

In the graph for the problem, the isoprofit line passes through the point C.
Hence Zc = Z (0, 16) = 8$. Hence, one has to buy 16 young hens and his weekly
profit will be 8$.

17
Special cases in the graphical method
This section considers four special cases that arise in the use of the graphical
method.
1. Degeneracy
2. Alternative optimal
3. Unbounded solutions
4. No existing (or infeasible) solutions
Our interest in studying these special cases is a twofold:
(1) To present a theoretical explanation of these situations
(2) To provide a practical interpretation of what these special results
could mean in a real-life problem.

1. Degeneracy
There is nothing alarming about a degenerate solution, with the exception of
a small theoretical inconvenience called cycling or circling, which we shall discuss
shortly. Form the practical standpoint, the condition reveals that the model has at
least one redundant solution. To provide more insight into the practical and
theoretical impacts of degeneracy, a numerical example is used.
Example 4
Solve graphically the given linear programming problem.
Maximize Z = 3X1 + 9X2
Subject to X1 + 4X2 ≤ 8
X1 + 2X2 ≤ 4
and X1 ≥ 0, X2 ≥ 0

Solution

18
Look at the graphical solution. Three lines pass through the optimum points
(X1 = 0, X2 = 2). Because this is a two-dimensional problem, the point is over
determined and one of the constrains is redundant. In practice, the mere knowledge
that some resources are superfluous can be valuable during the implementation of
the solution. The information may also lead to discovering irregularities in the
construction of the model. Unfortunately, there are no efficient computational
techniques for identifying the redundant constraints directly from the tableau.
From the practical point of view, degeneracy reveals that the model has at
least one redundant constraint. In practice, the mere knowledge that some resources
are superfluous can be valuable during the implementation of the solution. The
information may also lead to discovering irregularities in the construction of the
model. Unfortunately, there are no efficient computational techniques for identifying
the redundant constraints directly from the tableau.

2. Alternative Optima
When the objective function is parallel to a non-redundant binding constraint
(i.e. a constraint that is satisfied as an equation at the optimal solution), the objective
function can assume the same optimal value at more than one solution point, thus
giving rise to alternative optima.
Example 5
Solve graphically the given linear programming problem.
Maximize Z = 2X1 + 4X2
Subject to X1 + 2X2 ≤ 5
X1 + X2 ≤4
and X1 ≥ 0, X2 ≥ 0

Solution

19
Example 5 shows that there is an infinite number of optimal solutions (the
lines z = 2X1 + X2 and that corresponding to the constraint X1 + 2X2 ≤ 5 are
parallel); it also demonstrates the practical significance of encountering such
solutions.
In practice, alternative optima are useful because we can choose from many
solutions without experiencing deterioration in the objective value.

3. Unbounded solution
In some LP models, the values of the variables may be increased indefinitely
without violating any of the constraints – meaning that the solution space is
unbounded in at least one variable as a result, the objective value may increase
(maximization case) or decrease (minimization case) indefinitely. In this case, both
the solution space and the optimum objective value are unbounded.
Unboundedness points to the possibility that the model is poorly constructed.
The most likely irregularity in such models is that one or more non-redundant
constraints have not been accounted for, and the parameters (constants) of some
constraints may not have been estimated correctly.
Example 6
Solve graphically the given linear programming problem.
Maximize Z = 2X1 + X2
Subject to X1 - X2 ≤ 10
2X1 ≤ 40
and X1 ≥ 0, X2 ≥ 0

Solution

20
In the graphical solution of Example 6, the solution space is unbounded in
the direction of X2, and the value of Z can be increased indefinitely.
Example 7
The cost of materials A and B is 1$ per unit respectively. We have to
manufacture an alloy by mixing these to materials. The process of preparing the
alloy is carried out on three facilities X, Y and Z. Facilities X and Z are machines,
whose capacities are limited. Y is a furnace, where heat treatment takes place and
the material must use a minimum given time (even if it uses more than the required,
there is no harm). Material A requires 5 hours of machine X and it does not require
processing on machine Z. Material B requires 10 hours of machine X and 1 hour of
machine Z. Both A and B are to be heat treated at last one hour in furnace Y. The
available capacities of X, Y and Z are 50 hours, 1 hour and 4 hours respectively.
Find how much of A and B are mixed so as to minimize the cost graphically.

Solution

Let, X1 is the cost of material A


X2 is the cost of material B
Minimize Z = 1X1 + 1X2
Subject to 5X1 + 10X2 ≤ 50,
1X1 + 1X2 ≤1
1X2 ≤4
and X1 ≥ 0, X2 ≥ 0

Here Isocost line coincides with side of the polygon, i.e., the line MN. Hence
the problem has innumerable solutions. Any value on line (1, 1) will give same cost.
Optimal cost is 1$

21
4. Infeasible Solution
LP models with inconsistent constraints have no feasible solution. We notice
that this situation can never occur if all the constraints are of the type ≤ with
nonnegative right-hand sides because the slack variables provide a feasible solution.
For other types of constraints, we use artificial variables. Although the artificial
variables are penalized in the objective function to force them to zero at the
optimum, this can occur only if the model has a feasible space. Otherwise, at least
one artificial variable will be positive in the final (optimum) iteration. From the
practical point of view, an infeasible space points to the possibility that the model is
not correctly formulated. The graphical solution of Example 8 illustrates such a
situation.
Example 8
Solve graphically the given linear programming problem.
Maximize Z = 3X1 + 2X2
Subject to 2X1 + X2 ≤2
3X1 + 4X2 ≥ 12
and X1 ≥ 0, X2 ≥ 0

22
Chapter 4
The Simplex Method
As discussed earlier, there are many methods to solve the Linear
Programming Problem, such as Graphical Method, Trial and Error method, Vector
method and Simplex Method. Though we use graphical method for solution when
we have two problem variables, the other method can be used when there are more
than two decision variables in the problem. Among all the methods, SIMPLEX
METHOD is most powerful method. It deals with iterative process, which consists
of first designing a Basic Feasible Solution or a Programme and proceed towards the
OPTIMAL SOLUTION and testing each feasible solution for Optimality to know
whether the solution on hand is optimal or not. If not an optimal solution, redesign
the programme, and test for optimality until the test confirms OPTIMALITY. Hence
we can say that the Simplex Method depends on two concepts known as Feasibility
and optimality. The simplex method is based on the property that the optimal
solution to a linear programming problem, if it exists, can always be found in one of
the basic feasible solution. The simplex method is quite simple and mechanical in
nature. The iterative steps of the simplex method are repeated until a finite optimal
solution, if exists, is found. If no optimal solution, the method indicates that no finite
solution exists.
As stated earlier in the graphical method, the optimal solution of an LP is in
one of the corners of the feasible region. So, it seems that we have a very simple
algorithm for finding the optimum: Just check all the corners! And, indeed, this
naïve approach works well with such petty examples that we have in this course.
The problem with this naïve approach in practice is the so-called combinatorial
curse, a.k.a. the curse of dimensionality: An LP with n decision variables and m
constraints has n!/(n − m)! m! corners. Let us consider the curse of dimensionality
more closely: Consider an LP with 30 decision variables and 15 constraints. This LP
has 155,117,520 corners. Suppose you have a computer that checks 100 corners per
second. Then it would take almost three weeks for the computer to check all the
155,117,520 corners. You may think this is not a problem: Maybe three weeks is not
such a long time, and a problem with 30 decision variables is way bigger than
anything you would encounter in the real life anyway. Well, think again! Three
weeks is a long time if you need to update your optimal solution in a changing
environment, say, daily, and LPs with at 30 decision variables are actually rather
small. Indeed, let us be a bit more realistic now: Consider a shop owner who has 200
different products in her stock (a rather small shop). Suppose the shop owner has
100 constraints (not unreasonable) and a supercomputer that checks 100 million
corners per second. Then checking all the corners to optimize the stock would take
6.89 × 1044 years. The author doubts that even the universe can wait that long! The
bottom line is that checking all the corners will take too much time even with a fast
computer and a good programmer.

23
The Simplex Method Idea
The general idea of the Simplex method is that you do not check all the
corners. We call the steps Meta-Steps since they are in such a general level that they
are not immediately useful. In the same way the three step algorithm could be called
a Simplex method. We shall see later how the simplex method steps can be
implemented in practice.
Step 1 Start with some corner.
Step 2 Check if the corner is optimal. If so, you have found the optimum, and
the algorithm terminates. Otherwise go to the next Meta-Step.
Step 3 Move to an adjacent corner. Of all the adjacent corners choose the
best one. Go back to Step 2.
One hopes that in moving around the corners one hits the optimal corner
pretty soon so that one does not have to check all the corners. To use the simplex
method described described above we have to:
 identify the corners analytically
 know how to tell if a chosen corner is optimal
 know how to go to the best adjacent corner
Once the points raised above are solved we have a genuine algorithm. This
algorithm is given in the next section. Before that we have to discuss how to prepare
an LP before it can be used in the Simplex algorithm.
Here is an outline of what the simplex method does (from a geometric
viewpoint) to solve Example 1 at Chapter 3. At each step, first the conclusion is
stated and then the reason is given in parentheses.

24
Initialization: Choose (0, 0) as the initial CPF solution to examine. (This is a
convenient choice because no calculations required to identify this CPF solution.)
Optimality Test: Conclude that (0, 0) is not an optimal solution. (Adjacent
CPF solutions are better.)
Iteration 1: Move to a better adjacent CPF solution, (0, 6), by performing the
following three steps.

1. Considering the two edges of the feasible region that emanate from (0, 0), choose
to move along the edge that leads up the X2 axis. (With an objective function of
Z = 3X1 + 5X2, moving up the X2 axis increases Z at a faster rate than moving
along the X1 axis.)

2. Stop at the first new constraint boundary: 2X2 = 12. [Moving farther in the
direction selected in step 1 leaves the feasible region; e.g., moving to the second
new constraint boundary hit when moving in that direction gives (0, 9), which is a
corner-point infeasible solution.]

3. Solve for the intersection of the new set of constraint boundaries: (0, 6). (The
equations for these constraint boundaries, X1 = 0 and 2X2 = 12, immediately yield
this solution.) Optimality Test: Conclude that (0, 6) is not an optimal solution.
(An adjacent CPF solution is better.)

Iteration 2: Move to a better adjacent CPF solution, (2, 6), by performing the
following three steps.

1. Considering the two edges of the feasible region that emanate from (0, 6), choose
to move along the edge that leads to the right. (Moving along this edge increases
Z, whereas backtracking to move back down the X2 axis decreases Z.)

2. Stop at the first new constraint boundary encountered when moving in that
direction: 3X1 + 2X2 = 12. (Moving farther in the direction selected in step 1
leaves the feasible region.)

25
3. Solve for the intersection of the new set of constraint boundaries: (2, 6). (The
equations for these constraint boundaries, 3X1 + 2X2 = 18 and 2X2 = 12,
immediately yield this solution.)
Optimality Test: Conclude that (2, 6) is an optimal solution, so stop. (None
of the adjacent CPF solutions are better.)
This sequence of CPF solutions examined is shown in the previous figure,
where each circled number identifies which iteration obtained that solution.
Now let us look at the six key solution concepts of the simplex method that provide
the rationale behind the above steps.
Because the terms basic solution and basic feasible solution are very
important parts of the standard vocabulary of linear programming, we now need to
clarify their algebraic properties. For the augmented form of an example, if the
system of functional constraints has 5 variables and 3 equations, so
Number of variables - number of equations = 5 – 3 = 2.
This fact gives us 2 degrees of freedom in solving the system, since any two
variables can be chosen to be set equal to any arbitrary value in order to solve the
three equations in terms of the remaining three variables. The simplex method uses
zero for this arbitrary value. Thus, two of the variables (called the nonbasic
variables) are set equal to zero, and then the simultaneous solution of the three
equations for the other three variables (called the basic variables) is a basic solution.
These properties are described in the following general definitions.
A basic solution has the following properties:
1. Each variable is designated as either a nonbasic variable or a basic variable.
2. The number of basic variables equals the number of functional constraints (now
equations). Therefore, the number of nonbasic variables equals the total number
of variables minus the number of functional constraints.
3. The nonbasic variables are set equal to zero.
4. The values of the basic variables are obtained as the simultaneous solution of the
system of equations (functional constraints in augmented form). (The set of basic
variables is often referred to as the basis.)
5. If the basic variables satisfy the nonnegativity constraints, the basic solution is a
BF bsolution.

The Algebra of the Simplex Method


We continue to use the previous example for illustrative purposes. To start
connecting the geometric and algebraic concepts of the simplex method, we begin
by outlining side by side in the next table how the simplex method solves this
example from both a geometric and an algebraic viewpoint. The geometric
viewpoint (as discussed earlier) is based on the original form of the model (no slack
variables).

26
Method
Geometric Interpretation Algebraic Interpretation
Sequence

Choose X1 and X2 to be the nonbasic


Choose (0, 0) to be the
Initialization solution variables (= 0) for the initial
initial CPF
BF solution: (0, 0, 4, 12, 18).

Not optimal, because Not optimal, because increasing


Optimality
moving along either edge either nonbasic variable (X1 or X2)
test
from (0, 0) increases Z. increases Z.

Increase X2 while adjusting other


Iteration 1 Move up the edge lying on
variable values to satisfy the system
Step 1 the X2 axis.
of equations.

Stop when the first new


Stop when the first basic variable (X3,
Step 2 constraint boundary
X4, or X5) drops to zero (X4).
(2X2 = 12) is reached.
Find the intersection of the
With X1 now a basic variable and X5
new pair With X2 now a
now a nonbasic variable, solve the
Step 3 basic variable and X4 of
system of equations: (0, 6, 4, 0, 6) is
constraint boundaries: (0, 6)
the new BF solution.
is the new CPF solution.
Not optimal, as moving
Optimality Not optimal, because increasing one
along the edge from (0, 6) to
test nonbasic variable (X1) increases Z.
the right increases Z.

Increase X1 while adjusting other


Iteration 2 Move along this edge to the
variable values to satisfy the system
Step 1 right.
of equations.

Stop when reaching the first


Stop when the first basic variable (X2,
Step 2 new constraint boundary
X3, or X5) drops to zero (X5).
(3X1 + 2X2 = 18)
Find the intersection of the With x1 now a basic variable and X5
new pair of constraint now a nonbasic variable, solve the
Step 3
boundaries: (2, 6) is the new system of equations: (2, 6, 2, 0, 0) is
CPF solution. the new BF solution.
(2, 6) is optimal, because (2, 6, 2, 0, 0) is optimal, because
Optimality
moving along either edge increasing either nonbasic variable
test
from (2, 6) decreases Z. (X4 or X5) decreases Z.

27
Initialization
The choice of X1 and X2 to be the nonbasic variables (the variables set equal
to zero) for the initial BF solution is based on solution concept 3 in Sec. 4.1. This
choice eliminates the work required to solve for the basic variables (X3, X4, X5)
from the following system of equations (where the basic variables are shown in bold
type):

X1 = 0 and X2 = 0 so
(1) X1 + X3 =4 X3 = 4
(2) + 2X2 + X4 = 12 X4 = 12
(3) 3X1 + 2X2 + X5 = 18 X5 = 18
Thus, the initial BF solution is (0, 0, 4, 12, 18). Notice that this solution can
be read immediately because each equation has just one basic variable, which has a
coefficient of 1, and this basic variable does not appear in any other equation. You
will soon see that when the set of basic variables changes, the simplex method uses
an algebraic procedure (Gaussian elimination) to convert the equations to this same
convenient form for reading every subsequent BF solution as well. This form is
called proper form from Gaussian elimination.

Optimality Test
The objective function is Z = 3X1 + 5X2
So, Z = 0 for the initial BF solution. Because none of the basic variables (X3,
X4, X5) have a nonzero coefficient in this objective function, the coefficient of each
nonbasic variable (X1, X2) gives the rate of improvement in Z if that variable were to
be increased from zero (while the values of the basic variables are adjusted to
continue satisfying the system of equations). These rates of improvement (3 and 5)
are positive. So, we conclude that (0, 0, 4, 12, 18) is not optimal. For each BF
solution examined after subsequent iterations, at least one basic variable has a
nonzero coefficient in the objective function. Therefore, the optimality test then will
use the new Eq. (0) to rewrite the objective function in terms of just the nonbasic
variables, as you will see later.
Determining the Direction of Movement (Step 1 of an Iteration)
Increasing one nonbasic variable from zero (while adjusting the values of the
basic variables to continue satisfying the system of equations) corresponds to
moving along one edge emanating from the current CPF solution. The choice of
which nonbasic variable to increase is made as follows:
Z = 3X1 + 5X2
Increase X1? Rate of improvement in Z = 3.
Increase X2? Rate of improvement in Z = 5.
5 > 3, so choose x2 to increase.

28
As indicated next, we call X2 the entering basic variable for iteration 1. At
any iteration of the simplex method, the purpose of step 1 is to choose one nonbasic
variable to increase from zero (while the values of the basic variables are adjusted to
continue satisfying the system of equations). Increasing this nonbasic variable from
zero will convert it to a basic variable for the next BF solution. Therefore, this
variable is called the entering basic variable for the current iteration (because it is
entering the basis).
Determining Where to Stop (Step 2 of an Iteration)
Step 2 addresses the question of how far to increase the entering basic
variable X2 before stopping. Increasing X2 increases Z, so we want to go as far as
possible without leaving the feasible region. The requirement to satisfy the
functional constraints in augmented form (shown below) means that increasing x2
(while keeping the nonbasic variable X1 = 0) changes the values of some of the basic
variables as shown on the right.
X1 = 0, so
(1) X1 + X3 =4 X3 = 4
(2) + 2X2 + X4 = 12 X4 = 12 – X2
(3) 3X1 + 2X2 + X5 = 18 X5 = 18 – 2X2
The other requirement for feasibility is that all the variables be nonnegative.
The nonbasic variables (including the entering basic variable) are nonnegative, but
we need to check how far X2 can be increased without violating the nonnegativity
constraints for the basic variables.
X3 = 4 ≥ 0 ⇒ no upper bound on X2.
X4 = 12 – 2X2 ≥ 0 ⇒ X2 ≤ 12/2 = 6 ⇐ minimum.
X5 = 18 – 2X2 ≥ 0 ⇒ X2 ≤ 18/2 = 9
Thus, X2 can be increased just to 6, at which point X4 has dropped to 0.
Increasing X2 beyond 6 would cause X4 to become negative, which would violate
feasibility.
These calculations are referred to as the minimum ratio test. The objective
of this test is to determine which basic variable drops to zero first as the entering
basic variable is increased. We can immediately rule out the basic variable in any
equation where the coefficient of the entering basic variable is zero or negative,
since such a basic variable would not decrease as the entering basic variable is
increased. [This is what happened with X3 in Eq. (1) of the example.] However, for
each equation where the coefficient of the entering basic variable is strictly positive
(0), this test calculates the ratio of the right-hand side to the coefficient of the
entering basic variable. The basic variable in the equation with the minimum ratio is
the one that drops to zero first as the entering basic variable is increased.
At any iteration of the simplex method, step 2 uses the minimum ratio test to
determine which basic variable drops to zero first as the entering basic variable is
increased.

29
Decreasing this basic variable to zero will convert it to a nonbasic variable
for the next BF solution. Therefore, this variable is called the leaving basic variable
for the current iteration (because it is leaving the basis). Thus, X4 is the leaving basic
variable for iteration 1 of the example.
Solving for the New BF Solution (Step 3 of an Iteration)
Increasing X2 = 0 to X2 = 6 moves us from the initial BF solution on the left
to the new BF solution on the right.
Initial BF solution New BF solution
Nonbasic variables: X1 = 0, X2 = 0 X1 = 0, X4 = 0
Basic variables: X3 = 4, X4 = 12, X5 = 18 X3 = ?, X2 = 6, X5 = ?
The purpose of step 3 is to convert the system of equations to a more
convenient form (proper form from Gaussian elimination) for conducting the
optimality test and (if needed) the next iteration with this new BF solution. In the
process, this form also will identify the values of X3 and X5 for the new solution.
Here again is the complete original system of equations, where the new basic
variables are shown in bold type (with Z playing the role of the basic variable in the
objective function equation):
(0) Z -3X1 -5X2 =0
(1) X1 + X3 =4
(2) + 2X2 + X4 = 12
(3) 3X1 + 2X2 + X5 = 18
Thus, X2 has replaced X4 as the basic variable in Eq. (2). To solve this
system of equations for Z, X2, X3, and X5, we need to perform some elementary
algebraic operations to reproduce the current pattern of coefficients of X4 (0, 0, 1, 0)
as the new coefficients of x2.
We can use either of two types of elementary algebraic operations:
1. Multiply (or divide) an equation by a nonzero constant.
2. Add (or subtract) a multiple of one equation to (or from) another equation.
To prepare for performing these operations, note that the coefficients of X2 in
the above system of equations are 5, 0, 2, and 3, respectively, whereas we want these
coefficients to become 0, 0, 1, and 0, respectively. To turn the coefficient of 2 in
Eq. (2) into 1, we use the first type of elementary algebraic operation by dividing
Eq. (2) by 2 to obtain
(2) X2 + 0.5X4 = 6.
To turn the coefficients of 5 and 3 into zeros, we need to use the second type
of elementary algebraic operation. In particular, we add 5 times this new Eq. (2) to
Eq. (0), and subtract 2 times this new Eq. (2) from Eq. (3). The resulting complete
new system of equations is

30
(0) Z -3X1 + 2.5X4 = 30
(1) X1 + X3 =4
(2) + X2 + 0.5X4 =6
(3) 3X1 - X4 + X5 =6
Since X1 = 0 and X4 = 0, the equations in this form immediately yield the
new BF solution, (X1, X2, X3, X4, X5) = (0, 6, 4, 0, 6), which yields Z = 30.
This procedure for obtaining the simultaneous solution of a system of linear
equations is called the Gauss-Jordan method of elimination, or Gaussian elimination
for short. The key concept for this method is the use of elementary algebraic
operations to reduce the original system of equations to proper form from Gaussian
elimination, where each basic variable has been eliminated from all but one equation
(its equation) and has a coefficient of 1 in that equation.
Optimality Test for the New BF Solution
The current Eq. (0) gives the value of the objective function in terms of just
the current nonbasic variables
Z = 30 + 3X1 – 2.5X4
Increasing either of these nonbasic variables from zero (while adjusting the
values of the basic variables to continue satisfying the system of equations) would
result in moving toward one of the two adjacent BF solutions. Because x1 has a
positive coefficient, increasing X1 would lead to an adjacent BF solution that is
better than the current BF solution, so the current solution is not optimal.
Iteration 2 and the Resulting Optimal Solution
Since Z = 30 + 3X1 – 2.5X4, Z can be increased by increasing X1, but not X4.
Therefore, step 1 chooses X1 to be the entering basic variable.
For step 2, the current system of equations yields the following conclusions
about how far X1 can be increased (with X4 = 0):
X3 = 4 – X1 ≥ 0 ⇒ X1 ≤ 4/1 = 4.
X2 = 6 ≥ 0 ⇒ no upper bound on X1
X5 = 6 – 3X1 ≥ 0 ⇒ X1 ≤ 6/2 = 3 ⇐ minimum
So, the minimum ratio test indicates that X5 is the leaving basic variable.
For step 3, with X1 replacing X5 as a basic variable, we perform elementary
algebraic operations on the current system of equations to reproduce the current
pattern of coefficients of X5 (0, 0, 0, 1) as the new coefficients of X1. This yields the
following new system of equations:
(0) Z + 1.5X4 + X5 = 36
(1) + X3 + 1/3 X4 - 1/3 X5 = 2
(2) + X2 + 0.5X4 =6
(3) X1 - 1/3 X4 +1/3 X5 = 2

31
Therefore, the next BF solution is (X1, X2, X3, X4, X5) (2, 6, 2, 0, 0), yielding
Z = 36. To apply the optimality test to this new BF solution, we use the current
Eq. (0) to express Z in terms of just the current non-basic variables,
Z = 36 – 3/2 X4 – X5
Increasing either X4 or X5 would decrease Z, so neither adjacent BF solution
is as good as the current one. In terms of the original form of the problem (no slack
variables), the optimal solution is X1 = 2, X2 = 6, which yields Z = 3X1 + 5X2 = 36.

Computational details of the simplex algorithm


The steps of the simplex algorithm follow.
Step 0: Using the standard form, determine a starting basic feasible solution
by setting n – m appropriate (non-basic) variables at zero level.
Step 1: Select an entering variable from the current (zero) nonbasic variables
that, when increased above zero, can improve the value of the object function. If
none exists, stop; the current basic solution is optimal. Otherwise, go to step 2.
Step 2: Select a leaving variable from among the current basic variables that
must be set to zero (become non-basic) when the entering variable becomes basic.
Step 3: Determine the new basic solution by making the entering variable
basic and the leaving variable non-basic. Go to step 1.
(0) Z -3X1 - 5X2 (objective function)
(1) X1 + X3 =4
(constraint
(2) + 2X2 + X4 = 12
equations)
(3) 3X1 + 2X2 + X5 = 18
As mentioned above, the starting solution is determined from the constraints
equations by setting two (= 5 – 3) variables equal to zero, provided that the resulting
solution is unique and feasible. It is evident that by putting X1= X2 = 0, we
immediately get X3 = 4, X4 = 12 and X5 = 18. We can use this point as a starting
feasible solution. The corresponding value of Z is zero, since both X1 and X2 are
zero. As a result, by changing the objective equation so that its right side is equal to
zero, we can see that the right sides of the objective and constraint equations will
automatically yield the complete starting solution. This is always the case when the
starting solution consists of all slack variables.
Basic X1 X2 X3 X4 X5 Sol
Z -3 -5 0 0 0 0 Z – equation
X3 1 0 1 0 0 4 X3 equation
X4 0 2 0 1 0 12 X4 equation
X5 3 2 0 0 1 18 X5 equation

32
The information in the table reads as follows. The “basic “column gives the
current basic variables X3 and X4 and X5, whose values are given in the “solution”
column. This implicitly assumes that the non-basic variables X1 and X2 (those not
present in the “basic column” are at the zero level. The value of the objective
function is Z = 3 × 0 + 5 × 0 + 0 × 4 + 0 × 12 + 0 × 18 = 0, as shown in the solution
column.
How do we know if the current solution is the best (optimal solution)? By
inspecting the Z – equation, we notice the current zero variables X1 and X2 both
have the negative coefficients, which is equivalent to having positive coefficients in
the original objective function. Since we are maximizing, the value of Z can thus by
improved by increasing either X1 or X2 above zero level. However, we always select
the variable with the most negative objective coefficient because computational
experience has shown that such a selection is more likely to lead to the optimum
solution rapidly.
The above observation is the basis for what we call the optimally condition
of the simplex method. It states that, in the case of maximization, if all the non-basic
variables have non-negative coefficients in the Z – equation of the current tableau,
the current solution is optimal. Otherwise, the non-basic variable with the most
negative coefficient is selected as the entering variable.
Applying the optimally condition to the starting table, we select X2 as the
entering variable. At this point, the leaving variable must be one of the current basic
variable X3, X4 and X5. This is achieved by using the feasibility condition which
select the leaving variable as the current basic variable that will be first to reach zero
level when the entering variable X2 reach its maximum value at the adjacent extreme
point.

The Tabular of the Simplex Method


- Adding slack variables to the nonequality equations to be equality equation

(0) Z -3X1 - 5X2


(1) X1 + X3 =4
(2) + 2X2 + X4 = 12
(3) 3X1 + 2X2 + X5 = 18
- The set of equations will be at the following set
Basic X1 X2 X3 X4 X5 Sol
Z -3 -5 0 0 0 0
X3 1 0 1 0 0 4
X4 0 2 0 1 0 12
X5 3 2 0 0 1 18

33
- Find the largest negative number in the maximize Z equation (largest positive
number in the minimize Z), the corresponding column will be the pivot column
- Divide the values of the solution column on the pivot column. Then, select the
minimum result and the corresponding row will be the pivot row.
Basic X1 X2 X3 X4 X5 Sol
Z -3 -5 0 0 0 0
X3 1 0 1 0 0 4
X4 0 2 0 1 0 12 12/2 = 6
X5 3 2 0 0 1 18 18/2 = 9
- The cell results from the intersection of the pivot column and the pivot row is
called the pivot cell.
- Using multiplying and dividing operation for making the pivot element value
equal to 1 and the other pivot column values equal to 0.
- By multiplying the pivot row with 1/2.
- Then by multiplying the resulted pivot row with 5 and adding the values to the Z
row.
- Then by multiplying the resulted pivot row with -2 and adding the values to the
X5 row.
Basic X1 X2 X3 X4 X5 Sol
Z -3 0 0 -5/2 0 30
X3 1 0 1 0 0 4
X4 0 1 0 1/2 0 6
X5 3 0 0 -1 1 6
- Find the largest negative number in the maximize Z equation, the corresponding
column will be the pivot column
- Divide the values of the solution column on the pivot column. Then, select the
minimum result and the corresponding row will be the pivot row.
Basic X1 X2 X3 X4 X5 Sol
Z -3 0 0 -5/2 0 30
X3 1 0 1 0 0 4 4/1 = 4
X2 0 1 0 1/2 0 6
X5 3 0 0 -1 1 6 6/3 = 2

34
- The cell results from the intersection of the pivot column and the pivot row is
called the pivot cell.
- Using multiplying and dividing operation for making the pivot element value
equal to 1 and the other pivot column values equal to 0.
- By multiplying the pivot row with 1/3.
- Then by multiplying the resulted pivot row with 3 and adding it to the Z row.
- Then by multiplying the resulted pivot row with -1 and adding the values to the
X3 row.
Basic X1 X2 X3 X4 X5 Sol
Z 0 0 0 3/2 0 36
X3 0 0 1 1/3 -1/3 2
X2 0 1 0 1/2 0 6
X1 1 0 0 -1/3 1/3 2
- No negative number in the maximize Z equation, then we got the optimal
solution
- Then, Z = 36 @ X1 = 2 and X2 = 6
Basic X1 X2 X3 X4 X5 Sol
Z 0 0 0 3/2 0 36
X3 0 0 1 1/3 -1/3 2
X2 0 1 0 1/2 0 6
X1 1 0 0 -1/3 1/3 2
The simplex method is applied above to a maximization problem. In
considering a minimization problem, we need only change the optimally condition
so that the entering variable is selected as the variable having the most positive
coefficient in the Z-equation. The feasibility condition is the same for both
problems. We summarize the two conditions here for convenience.
Optimally condition: The entering variable in maximization (minimization)
is the non-basic variable with the most negative (positive) coefficient in the Z-
equation. A tie is broken arbitrarily. When all the non-basic coefficients in the Z-
equation are nonnegative (non-positive), the optimum is reached.
Feasibility condition: For both the maximization and minimization
problems, the leaving variable is the basic variable having the smallest ratio (with
positive denominator). A tie is broken arbitrarily.

35
Example
Maximize Z = 3X1 + 9X2
Subject to X1 + 4X2 ≤ 8
X1 + 2X2 ≤ 4
and X1 ≥ 0, X2 ≥ 0

Solution

Basic X1 X2 X3 X4 X5 Sol
Z -16 -15 0 0 0 0
X3 -1 1 1 0 0 1
X4 1 0 0 1 0 3
X5 1 0 0 0 1 3

Basic X1 X2 X3 X4 X5 Sol
Z 0 -15 0 16 0 48
X3 0 1 1 1 0 4
X1 1 0 0 1 0 3
X5 0 0 0 -1 1 0

Basic X1 X2 X3 X4 X5 Sol
Z 0 0 15 31 0 108
X2 0 1 1 1 0 4
X1 1 0 0 1 0 3
X5 0 0 0 -1 1 0

36
37
Chapter 5
Artificial Starting Solution
In our presentation of the simplex method we have used the slack variables
as the starting basic solutions. However, if the original constraint is an equation of
the type (≥), we no longer have a ready starting basic feasible solution.
We illustrate this point by the following example:
Minimize Z = 4X1 + X2
Subject to 3X1 + X2 =3
4X1 + 3X2 ≥6
X1 + 2X2 ≤4
and X1 ≥ 0, X2 ≥ 0
The standard form is obtained by augmenting a surplus X3 and adding a
slack X4 to the left sides of constraints 2 and 3. Thus we have:
Minimize Z = 4X1 + X2

Subject to 3X1 + X2 =3

4X1 + 3X2 – X3 =6

X1 + 2X2 + X4 =4

and X1, X2, X3, X4 ≥ 0


We have three equations and four unknowns, which means that one variable
must be non-basic at zero in any basic solution. Unlike the case where we have slack
variables in every equation, we cannot be sure that by setting one variable equal to
zero, the resulting basic variables will be nonnegative. Of course, we can use trial
and error by setting one variable at a time equal to zero. In addition to being time
consuming, trial and error is not suitable for automatic computations. We must thus
resort to more direct method for finding a starting basic feasible solution.
The idea of using artificial variables is quite simple. It calls for adding a
nonnegative variable to the left side of each equation that has no obvious starting
basic variables. The added variable will play the same role as that of a slack
variable, in providing a starting basic variable. However, since such artificial
variables have no physical meaning form the standpoint of the original problem
(hence the name “artificial”), the procedure will be valid only if we force these
variables to be zero when the optimum is reached. In other words, we use them only
to start the solution and must subsequently force them to be zero in the final
solution; otherwise, the resulting solution will be infeasible,

38
We accomplish this result by using information feedback, which, through the
optimization process, will ultimately force the artificial variables to be zero in the
final solution provided that a feasible solution exists. A logical way to do this is to
penalize the artificial variables in the objective function. Two (closely related)
methods based on the idea of using penalties are devised for this purpose:
(3) The M-technique or method of penalty
(4) The two phase technique
We shall illustrate each technique using the examples described above.

A. The M-Technique
Let us consider the previous example:
Minimize Z = 4X1 + X2

Subject to 3X1 + X2 =3
4X1 + 3X2 – X3 =6
X1 + 2X2 + X4 =4
X1, X2, X3, X4 ≥ 0

The first and second equations do not have variables that play the role of a
slack. Hence we augment the two artificial variables R1 and R2 in these two
equations as follows:

3X1 + X2 + R1 =3
4X1 + 3X2 – X3 + R2 =6

We can penalize R1 and R2 in the objective function by assigning them very


large positive coefficients in the objective function. Let M > 0 be a very large
constant; then the LP with its artificial variables becomes:
Minimize Z = 4X1 + X2 + MR1 + MR2

Subject to 3X1 + X2 + R1 =3
4X1 + 3X2 – X3 + R2 =6
X1 + 2X2 + X4 =4
X1, X2, X3, X4 ≥ 0

Notice the logic behind the use of the artificial variables. We have three
equations and six unknowns. Hence the starting basic solution must include
6 – 3 = 3 zero variables. If we put X1, X2 and X3 at zero level, we immediately
obtain the solution R1 = 3, R2 = 6 and X4 = 4, which is the required starting feasible
solution.

39
Now, observe how the “new” model automatically forces R1 and R2 to be
zero. Since we are minimizing, by assigning M to R1 and R2 in the objective
function, the optimization process that is seeking the minimum value of Z will
eventually assign zero value to R1 and R2 in the optimum solution. Notice that the
intermediate iterations preceding the optimum iteration are of no importance to us.
Consequently, it is immaterial whether or not they include artificial variables at
positive level.
How does the M-technique change if we are maximizing instead of
minimizing? Using the same logic of penalizing the artificial variable, we must
assign them the coefficient – M in the objective function (M > 0), thus making it
unattractive for the artificial variable to remain positive in the optimum solution.
Having constructed a starting feasible solution, we must “condition” the
problem so that when we put it in tabular form, the right side column will render the
starting solution directly. This is done by using the constraint equations to contribute
our R1 and R2 in the objective function. Thus
R1 = 3 – 3X1 – X2
R2 = 6 – 4X1 – 3X2 + X3
The objective function thus becomes
Z = 4X1 + X2 + M (3 – 3X1 – X2) + M (6 + X3 – 4X1 – 3X2)
Z = (4 – 7M) X1 + (1 – 4M) X2 + MX3 + 9M
and the Z-equation now appears in the tableau as
Z + (-4 + 7M) X1 + (-1 + 4M) X2 – M X3 = 9M
Now you can see that at the starting solution, given X1 = X2 = X3 = 0, the
value of Z is 9M, as it should be when R1 = 3 and R2 = 6.
The sequence of the tableaus leading to the optimum solution is shown as
follows. Observe that this is minimization problem so that the entering variable must
have the most positive coefficient in the Z-equation. The optimum is reached when
all the non-basic variables have non-positive Z-coefficients (Remember that M is a
very large positive constant).
The optimum solution is X1 = 2/5, X2 = 9/5 and Z = 17/5, since it contains no
artificial variables at positive level. The solution is feasible with respect to the
original problem before the artificial are added. (If the problem has no feasible
solution, at least one artificial variable will be positive in the optimum solution. This
case is treated in the next section).
We can use another approximation for solving this problem by putting the
value of M to a large value, let M = 100 and then solve as usual.
Z + 696X1 + 399X2 – 100X3 = 900

40
Basic X1 X2 X3 R1 R2 X4 Sol

Z -4+7M -1+4M -M 0 0 0 9M

R1 3 1 0 1 0 0 3 1

R2 4 3 -1 0 1 0 6 1.5

X4 1 2 0 0 0 1 4 4

Basic X1 X2 X3 R1 R2 X4 Sol

Z 0 (1+5M)/3 -M (4-7M)/3 0 0 4+2M

X1 1 1/3 0 1/3 0 0 1 3

R2 0 5/3 -1 -4/3 1 0 2 1.2

X4 0 5/3 0 -1/3 0 1 3 1.8

Basic X1 X2 X3 R1 R2 X4 Sol

Z 0 0 1/5 8/5 – M -1/5 – M 0 18/5

X1 1 0 1/5 3/5 -1/5 0 3/5 3

X2 0 1 -3/5 -4/5 3/5 0 6/5 2

X4 0 0 1 1 -1 1 1 1

Basic X1 X2 X3 R1 R2 X4 Sol

Z 0 0 0 7/5 – M –M -1/5 17/5

X1 1 0 0 2/5 0 -1/5 2/5

X2 0 1 0 -1/5 0 3/5 9/5

X3 0 0 1 1 -1 1 1

So, Zmin = 17/5 @ X1 = 2/5, X2 = 9/5

41
Basic X1 X2 X3 R1 R2 X4 Sol

Z 696 399 -100 0 0 0 900

R1 3 1 0 1 0 0 3 1

R2 4 3 -1 0 1 0 6 1.5

X4 1 2 0 0 0 1 4 4

Basic X1 X2 X3 R1 R2 X4 Sol

Z 0 167 -100 -232 0 0 204

X1 1 1/3 0 1/3 0 0 1 3

R2 0 5/3 -1 -4/3 1 0 2 1.2

X4 0 5/3 0 -1/3 0 1 3 1.8

Basic X1 X2 X3 R1 R2 X4 Sol

Z 0 0 1/5 -98.2 -100.2 0 18/5

X1 1 0 1/5 3/5 -1/5 0 3/5 3

X2 0 1 -3/5 -4/5 3/5 0 6/5 2

X4 0 0 1 1 -1 1 1 1

Basic X1 X2 X3 R1 R2 X4 Sol

Z 0 0 0 – 98.6 – 100 -1/5 17/5

X1 1 0 0 2/5 0 -1/5 2/5

X2 0 1 0 -1/5 0 3/5 9/5

X3 0 0 1 1 -1 1 1

So, Zmin = 17/5 @ X1 = 2/5, X2 = 9/5

42
Some Notes on artificial variables
The idea of using artificial variable calls for adding a non-negative variable
to the left side of each equation that has no obvious starting basic variable.
However, since such artificial variables have no physical meaning from the
standpoint of the original problem (hence the name ‘artificial’), the procedure will
be valid only if we force these variables to be zero when the optimum is reached.
Hence, in the optimal table (optimal table = all coefficients in the objective
function are non-negative), if the artificial variable remained in the ‘basis’ (basis =
the variables appearing in the BV column as Basic Variable) with a positive value, it
means there is no feasible solution to the problem.

B. The Two-Phase Technique


A drawback of the M-technique is the possible computational error that
could result from assigning a very large value to the constant M. to illustrate this
point, suppose that M = 100,000 in the M-technique example. Then, in the starting
tableau, the coefficients of X1 and X2 in the Z-equation become (-4 + 700,000) and
(-1 + 400,000). The effect of the original coefficients (4 and 1) is now too small
relative to the large numbers created by the multiplies of M. Because of round off
error, which is inherent in any digital computer, the computations may become
insensitive to the relative values of the original objective coefficients of X1 and X2.
The dangerous outcome is that X1 and X2 may be treated as having zero coefficients
in the objective function.
The two phase method is designed to alleviate this difficulty. Although the
artificial variables are added in the same manner as that employed in the
M-technique, the use of the constant M is eliminated by solving the problem in two
phases (hence the name “two phase” method). The two phases are outlined as
follows:
Phase 1: Augment the artificial variables as necessary to secure a starting
solution. Form a new objective function which seeks the minimization of the sum of
the artificial variables subject to the constraints of the original problem modified by
the artificial variables.
Phase II: Use the optimum basic solution of phase I as a starting solution for
the original problem.
We illustrate the procedure using the M-technique example as follows.
Phase I. Since we need artificial R1 and R2 in the first and second equations,
the phase I problem reads as:

43
Minimize Z = R1 + R2
Subject to 3X1 + X2 + R1 =3
4X1 + 3X2 – X3 + R2 =6
X1 + 2X2 + X4 =4
X1, X2, X3, X4 ≥ 0
Because R1 and R2 are in the starting solution, they must be substituted out in
the objective function (compare with the M-technique) as follows:
r = R1 + R2 = (3 – 3X1 – X2) + (6 – 4X1 – 3X2 + X3)
= -7X1 – 4X2 + X3 + 9
The starting tableau becomes:

Basic X1 X2 X3 R1 R2 X4 Sol

r 7 4 -1 0 0 0 9

R1 3 1 0 1 0 0 3 1

R2 4 3 -1 0 1 0 6 1.5

X4 1 2 0 0 0 1 4 4

Basic X1 X2 X3 R1 R2 X4 Sol

r 0 5/3 -1 7/3 0 0 2

X1 1 1/3 0 1/3 0 0 1 3

R2 0 5/3 -1 -4/3 1 0 2 1.1

X4 0 5/3 0 -1/3 0 1 3 1.8

Basic X1 X2 X3 R1 R2 X4 Sol

r 0 0 0 -1 -1 0 0

X1 1 0 1/5 3/5 -1/5 0 3/5

X2 0 1 -3/5 -4/5 3/5 0 6/5

X4 0 0 1 1 -1 1 1

44
The optimum tableau is obtained in two iterations and is given by:

Basic X1 X2 X3 R1 R2 X4 Sol

r 0 0 0 -1 -1 0 0

X1 1 0 1/5 3/5 -1/5 0 3/5

X2 0 1 -3/5 -4/5 3/5 0 6/5

X4 0 0 1 1 -1 1 1

Since the minimum r = 0, the problem has a feasible solution and we move to
phase II.
Phase II. The artificial variables have now served their purpose and must be
dispensed with in all subsequent computations. This means that the equations of the
optimum tableau in phase I can be written as

X1 + 1/5 X3 = 3/5
X2 -3/5 X3 = 6/5
X3 + X4 =1

These equations are exactly equivalent to those in the standard form of the
original problem (before artificial are added). Thus the original problem can be
written as:
Minimize Z = 4X1 + X2
Subject to X1 + 1/5 X3 = 3/5
X2 -3/5 X3 = 6/5
X3 + X4 =1
As you can see, the principal contribution of the phase I computations is to
provide a ready starting solution to the original problem. Since the problem has three
equations and four variables, by putting 4 – 3 = 1 variable, namely X3, equal to zero,
we immediately obtain the starting basic feasible solution X1 = 3/5, X2 = 6/5 and
X4 = 1.
To solve the problem, we need to substitute out the basic variables X1 and
X2 in the objective function as we did in the M-technique. This is accomplished by
using the constraint equations as follows:
Z = 4X1 + X2
= 4(3/5 – 1/5 X3) + (6/5 + 3/5 X3)
= -1/5 X3 + 18/5

45
Thus the staring tableau for phase II becomes:
Basic X1 X2 X3 X4 Sol
r 0 0 1/5 0 18/5
X1 1 0 1/5 0 3/5
X2 0 1 -3/5 0 6/5
X4 0 0 1 1 1
The tableau is not optimal, since X3 must enter the solution. If we carry out
the simplex computations, we shall obtain the optimum solution in one iteration.
It is interesting to note that the number of iterations in the M-technique and
the two-phase method are necessarily the same. In fact, there is a one-to-one
correspondence between the tableaus of both methods. The advantage of the two-
phase method rests in eliminating manipulation of the constant M.
It must be noted that in phase II, the artificial variables are removed only
when they are non-basic at t-he end of phase I (as in the example above). It is
possible; however, that an artificial variable remain basic at zero level at the end of
phase I. in this case, provisions must be made to ensure that the artificial variable
never becomes positive during phase II computations.
Special cases in the simplex method
This section considers four special cases arise in the simplex method.
1. Degeneracy
2. Alternative optimal
3. Unbounded solutions
4. No existing (or infeasible) solutions
Our interest in studying these special cases is a twofold:
(1) To present a theoretical explanation of these situations
(2) To provide a practical interpretation of what these special results
could mean in a real life problem.

1. Degeneracy
In the application of the feasibility condition of the simplex method, a tie for
the minimum ratio may occur and can be broken arbitrarily. When this happens, at
least one basic variable will be zero in the next iteration and the new solution is said
to be degenerate.
There is nothing alarming about a degenerate solution, with the exception of
a small theoretical inconvenience called cycling or circling, which we shall discuss
shortly. Form the practical standpoint, the condition reveals that the model has at
least one redundant solution. To provide more insight into the practical and
theoretical impacts of degeneracy, a numerical example is used.

46
Example
Maximize Z = 3X1 + 9X2
Subject to X1 + 4X2 ≤ 8
X1 + 2X2 ≤ 4
and X1 ≥ 0, X2 ≥ 0

Solution

Given the slack variables X3 and X4, the following tables provide the
simplex iterations of the problem.
Basic X1 X2 X3 X4 Sol
Z -3 -9 0 0 0
X3 1 4 1 0 8 8/4 = 2
X4 1 2 0 1 4 4/2 = 2

Basic X1 X2 X3 X4 Sol
Z -3/4 0 9/4 0 18
X2 1/4 1 1/4 0 2 2/(1/4) = 8
X4 1/2 0 -1/2 1 0 0/(1/2) = 0

Basic X1 X2 X3 X4 Sol
Z 0 0 3/2 3/2 18
X2 0 1 1/2 -1/2 2
X1 1 0 -1 2 0
In iteration 0, X3 and X4 tie for the leaving variable, leading to degeneracy in
the next iteration. Because the basic variable X4 assumes a zero value. The optimum
is reached in one additional iteration.
From the theoretical standpoint, degeneracy has two implications. The first is
the phenomenon of cycling or circling. Looking at simplex iterations 1st and 2nd, you
will notice that the objective value does not improve (Z = 18). It is thus possible for
the simplex method to enter a repetitive sequence of iterations, never improving the
objective value and never satisfying the optimally condition. Although there are
methods for eliminating cycling, these methods lead to drastic slowdown in
computations.

47
The second theoretical point arises in the examination of iterations 2nd and
rd
3 . Both iterations though differing in the basic-nonbasic categorization of the
variables, yield values for the all variables and objective value-namely.
X1 = 0, X2 = 2, X3 = 0, X4 = 0, Z = 18
It is possible then to stop the computations at iteration 1 (when degeneracy
first appears), even though it is not optimum? The answer is no, because the solution
may be temporarily degenerate.

2. Alternative Optima
The next example shows that there are an infinite number of such solutions.
It also demonstrates the practical significance of encountering such solutions
Example 5
Maximize Z = 2X1 + 4X2
Subject to X1 + 2X2 ≤ 5
X1 + X2 ≤4
and X1 ≥ 0, X2 ≥ 0

Solution

Basic X1 X2 X3 X4 Sol
Z -2 -4 0 0 0
X3 1 2 1 0 5 5/2 = 2.5
X4 1 1 0 1 4 4/1 = 4

Basic X1 X2 X3 X4 Sol
Z 0 0 2 0 10
X2 1/2 1 1/2 0 5/2 5/2/(1/2) = 5
X4 1/2 0 -1/2 1 3/2 3/2/(1/2) = 5

Basic X1 X2 X3 X4 Sol
Z 0 0 2 0 10
X2 0 1 1 -1 1
X1 1 0 -1 2 3

48
Iteration 1 give the optimum solution X1 = 0, X2 = 5/2 and Z = 10. How do
we know from this tableau that alternative optima exist? Look at the Z – equation
coefficients of the non-basic variables in iteration 1. The coefficient of non-basic X1
is zero, indicating that X1 can enter the basic solution without changing the value
of Z, but causing a change in the values of the variables. Iteration 2 does just that –
letting X1 enter the basic solution and forcing X4 to leave.
In practice, alternative optima are useful because we can choose from many
solutions without experiencing deterioration in the objective value.

3. Unbounded solution
In some LP models, the values of the variables may be increased indefinitely
without violating any of the constraints – meaning that the solution space is
unbounded in at least one variable as a result, the objective value may increase
(maximization case) or decrease (minimization case) indefinitely. In this case, both
the solution space and the optimum objective value are unbounded.
Unboundedness points to the possibility that the model is poorly constructed.
The most likely irregularity in such models is that one or more non-redundant
constraints have not been accounted for, and the parameters (constants) of some
constraints may not have been estimated correctly.
The following example shows how unboundedness, in both the solution
space and the objective value, can be recognized in the simplex tableau.
Example
Maximize Z = 2X1 + X2
Subject to X1 - X2 ≤ 10
2X1 ≤ 40
and X1 ≥ 0, X2 ≥ 0
Basic X1 X2 X3 X4 Sol
Z -2 -1 0 0 0
X3 1 -1 1 0 10
X4 2 0 0 1 40
In the starting tableau, both X1 and X2 have negative Z-equation coefficients. Hence
either one can improve the solution. Because X1 has the most negative coefficient, it
is normally selected as the entering variable. However, all the constraint coefficients
under X2 (i.e., the denominators of the ratios of the feasibility condition) are
negative or zero. This means that there is no leaving variable and that X2 can be
increased indefinitely without violating any of the constraints. Because each unit
increase in X2 will increase Z by 1, an infinite increase in X2 leads to an infinite
increase in Z. Thus, the problem has no bounded solution.

49
4. Infeasible Solution
LP models with inconsistent constraints have no feasible solution. We notice
that this situation can never occur if all the constraints are of the type ≤ with
nonnegative right-hand sides because the slack variables provide a feasible solution.
For other types of constraints we use artificial variables. Although the artificial
variables are penalized in the objective function to force them to zero at the
optimum, this can occur only if the model has a feasible space. Otherwise, at least
one artificial variable will be positive in the final (optimum) iteration. From the
practical point of view, an infeasible space points to the possibility that the model is
not correctly formulated.
Example
Maximize Z = 3X1 + 2X2
Subject to 2X1 + X2 ≤2
3X1 + 4X2 ≥ 12
and X1 ≥ 0, X2 ≥ 0
Using the penalty M = 100 for the artificial variable R, the following
tableaux provide the simplex iterations of the model.
Basic X1 X2 X4 X3 R Sol
Z -303 -402 100 0 0 -1200
X3 2 1 0 1 0 2
R 3 4 -1 0 1 12

Basic X1 X2 X4 X3 R Sol
Z 501 0 100 402 0 -396
X2 2 1 0 1 0 2
R -5 0 -1 -4 1 4
Optimum iteration 1 shows that the artificial variable R is positive (= 4),
which indicates that the problem is infeasible. By allowing the artificial variable to
be positive, the simplex method, in essence, has reversed the direction of the
inequality from 3X1 + 4X2 ≥ 12 to 3X1 + 4X2 ≤ 12. The result is what we may call a
pseudo-optimal solution.

50
51
Chapter 6
Sensitivity Analysis
The preceding chapter presented the details of the simplex method. You will
probably find to carry out simplex computations by hand at least once. This done,
you can expect the computer to relieve you forever of the burden of having to solve
a linear program by hand computations. The convenience of accessing a large
variety of LP codes that allow you to use batch processing or to interact with the
computer through terminals makes it unnecessary to solve linear program by hand
computations. If, as you become involved in solving real life LP models, you will
discover that most of your time is spent in formulating the model, gathering the data,
and preparing the input information to suit the LP code. Once you have done this,
computer will take over and provide you with the optimal solution to the problem.
We can now see that our attention must be directed to reading, interpreting
and analysing the computer results. It is erroneous, however, to assume that one can
interpret the computer printout without adequate knowledge of how and why the
simplex method works.
It will be disappointing to you to think that all we can get out of the optimum
simplex tableau is a list of variables and their optimum values. The fact is that the
simplex tableau is “loaded” with important information, the least of which are the
optimum values of the variables. The following list summarized the information that
can be obtained from the simplex tableau directly or with additional computations.
a) The optimum solution
b) The status of resources
c) The unit worth of each resource
d) The sensitivity of optimum solution to changes in availability of resources,
coefficients of the objective function and usage of resources by activities.
The first three items are readily available in the optimum simplex tableau.
The fourth item requires additional computations that are based on the information
in the optimum solution.
To demonstrate these items, we use the previous example, which we repeat it
here for convince.
Minimize Z = 3X1 + 2X2
Subject to X1 + 2X2 + X3 =6
2X1 + X2 + X4 =8
- X1 + X2 + X5 =1
X2 + X6 =2

52
The optimum tableau is given as:
Basic X1 X2 X3 X4 X5 X6 Sol
Z 0 0 1/3 4/3 0 0 12 2/3
X1 0 1 2/3 -1/3 0 0 1 1/3
X2 1 0 -1/3 2/3 0 0 3 1/3
X4 0 0 -1 1 1 0 3
X5 0 0 -2/3 1/3 0 1 2/3

Optimum Solution
From the stand point of implementing the LP solution, the mathematical
classification of the variables as basic and non-basic is of no importance and should
be totally ignored in reading the optimum solution. The variables not listed in the
"basic" column necessarily have zero values. The rest have their values in the
solution column. In terms of the optimum solution of our example, we are interested
primarily in the product mix of exterior and interior paint, that is, the decision
variables X1 and X2. From the optimum tableau we have the following summary:

Decision Optimum
Decision
variable value
X1 3 1/3 Produce 3 1/3 tons of exterior paint daily
X2 1 1/3 Produce 1 1/3 tons of interior paint daily
Z 12 2/3 Resulting profit is 12 2/3 thousand dollars

Status Resources
We had classified constraints as scarce and abundant, depending respectively
on whether or not the optimum solution "consumes" the entire available amount of
the associated resource. Our objective is to secure the information from the optimum
tableau. First we must clarify one point. Speaking of resources implies that there is a
maximum limit on its availability, which means that the constraint must originally
be of type (). Thus constraints of the type () cannot physically represent a
resource restriction; rather, they imply that the solution must meet certain
requirements, such as satisfying minimum demand or minimum specifications.
In our problem we have four constraints of the type (≤). The first two
(representing raw materials usage) are "authentic" resource restrictions. The third
and fourth constraints deal with demand limitations imposed by the market
conditions. We can think of these constraints as limited "resources", since increasing
demand limits is equivalent to expanding the company's share in the
market. Monetarily, this has the same effect as increasing availability of physical
resources (such as raw materials) through allocation of additional funds.

53
Following the discussion above, the status of resources (abundant or scarce)
in any LP model can be secured directly from the optimum tableau by observing the
values of the slack variables.
So for our problem, we have the following summary:

Resource Slack Status of resource

Raw Material A X3 = 0 Scarce


Raw Material B X4 = 0 Scarce
Limit on excess of interior over
X5 = 0 Abundant
exterior paint
Limit on demand for interior paint X6 = 0 Abundant

A positive slack means that the resource is not used completely, thus is
abundant; whereas a zero slack indicates that the entire amount of the resource is
consumed by the activities of the model. In the summary above we see that demand
limitations (resource 3 and 4) are “abundant”; hence any increase in their maximum
limit will simply make them “more” abundant without affecting the optimum
solution.
The resources that can be increased for the purpose of improving the solution
(increasing profit) are raw material A and B, since the optimum tableau shows they
are scarce. A logical question would naturally arise: which of the scarce resources
should be given priority in the allocation of additional funds in order to improve
profit most advantageously? We answer this question below when we consider the
per unit worth of the different resources.

Unit worth of a resource


A unit of a resource is the rate of improvement in the optimum value of Z as
a result of increasing the available amount of that resource. The graphical analysis
shows that the unit worth of resources 1, 2, 3 and 4 are
Y1 = 1/3 thousand dollars/additional ton of material A
Y2 = 4/3 thousand dollars/additional ton of material B
Y3 = 0
Y4 = 0
This information is readily available in the optimum simplex tableau. Look
at the coefficients in the Z-equation under the starting basic variables X3, X4, X5 and
X6, which we reproduce here for convenience.
Basic X1 X2 X3 X4 X5 X6 Sol
Z 0 0 1/3 4/3 0 0 12 2/3

54
These coefficients (1/3, 4/3, 0, 0) exactly equal to Y1, Y2, Y3 and Y4. The
theory of linear programming tells us that it is always possible to secure the unit
worth of a resource from coefficients of the starting basic variables in the optimum
Z-equation. There should be no confusion as to which coefficient applies to which
resource, since X3 is uniquely associated with resource i.
If we increase X3 from its current zero level to a positive level, the value of Z
will decrease at the rate 1/3 thousand dollar/ton. But an increase in X3 is actually
equivalent to reducing source 1 (raw material A), as could be seen from the first
constant,
X1 + 2X2 + X3 = 0
We thus conclude that a reduction in the first resource will reduce the
objective function at the rate 1/3 thousand dollar/ton. Since we are dealing with
linear functions, we can reciprocate the argument by concluding that an increase in
the first resource (equivalently X3 > 0), a surplus variable) will increase Z at the rate
1/3 thousand dollars/ton. A similar argument applies to resource 2.
Turing to resources 3 and 4, we find that their unit worth is zero
(Y3 = Y4 = 0). This should be expected, since the two resources are already
abundant. This will always be the case when the slack variables are positive.
In spite of the fact that we have associated dollar values with the unit worth
variables Y1, we should not think of them in the same terms as, for example, the real
price we may pay to buy the resource. Instead, they are economic measures that
quantify the unit worth of a resource form the viewpoint of the optimal objective
value. The value of these economic measures will vary as we change the constraints
even though we may be utilizing the same physical resources. For this reason,
economist prefer to use the apt terms shadow price, imputed price, or, more
technically, dual price to describe the unit worth of a resource.
Observe that the definition of shadow prices (unit worth of a resource) gives
us the rate of improvement in optimum Z. it does not specify the amount by which a
resource can be increased while maintaining the same rate of improvement.
Logically, in most situations we would expect an upper limit beyond which any
increase in the resource would make its constraint redundant, with the result that a
new basic solution, and hence new shadow prices, must be sought. The presentation
below addresses the point of determining the maximum change in the availability of
a resource before its constraint becomes redundant.

Maximum change in resource availability


We normally use the shadow prices to decide which resource should be
expanded. Our goal is to determine the range of variation in the availability of a
resource that will yield the unit worth (shadow price) encounter in the optimum
tableau. To achieve this, we need to perform additional computations. We shall first
demonstrate how the procedure works and then show how the same information can
be secured from the optimum tableau.

55
Suppose that we consider changing the first resource in the considered model
by the amount ∆1, meaning that available raw material A is 6 + ∆1 tons. If ∆1 is
positive, the resource increases; if it is negative, the resource decreases. Although
we normally shall be interested in the case (where the resource increases ∆1 > 0) we
shall present both cases for the sake of generalization.
How is the simplex tableau changed by affecting the change ∆1? The
simplest way to answer the question is to augment ∆1 to the right side of the first
constraint in the starting tableau and then apply the same arithmetic operations that
were used to develop the successive iterations. If we keep in mind that the right side
constants are never used as pivot elements, it is evident that the change ∆1 will affect
only the right side of each iteration. You should verify that the successive iterations
of the model will change as shown in table.

Right side elements in iteration


0 2
Equation 1
(starting) (optimum)
Z 0 12 12 2/3 + 1/3 ∆1

1 6 + ∆1 2 + ∆1 4/3 + 2/3∆1

2 8 4 10/3 – 1/3∆1

3 1 5 3 – 1∆1

4 2 2 2/3 – 2/3∆1

Actually, the changes in the right sides resulting from ∆1 can be obtained
directly from the successive tableaus. First, notice that in each iteration the elements
of the new right side consist of two components: (1) a constant and (2) a linear term
in ∆1. The constant components exactly equal the right side of iteration before ∆1 is
added. The coefficients of the linear term in ∆1 are essentially those under X3 in the
same iteration. For example, in the optimum iteration the constants (12 2/3, 4/3,
10/3, 3, 2/3) represent the right side of the optimum tableau before ∆1 is effected,
and (1/3, 2/3, -1/3, -1, -2/3) are the coefficients under X3 in the same tableau.
Why X3? Because it is uniquely associated with the first constraint. In other words,
for right side changes in the second, third and fourth constraints, we should use the
coefficients under X3, X4 and X5 respectively.
What does this information mean? Since we have concluded that the change
∆1 will affect only the right side of the tableau, it means that such a change can
affect only the feasibility of the solution. Thus ∆1 may not be changed in a manner
that will make any of the (basic) variables negative. This means that ∆1 must be
restricted to the range that will maintain the nonnegativity of the right side of the
constraint equations in the optimum tableau. That is

56
X1 = 4/3 + 2/3 ∆1 ≥0
X2 = 1/3 - 1/3 ∆1 ≥0
X5 = 3 - ∆1 ≥0
X6 = 2/3 - 2/3 ∆1 ≥0
To determine the admissible range for ∆1, we consider two cases.
Case 1: ∆1 > 0. Relation (1) is always satisfied for ∆1 > 0. Relations (2), (3)
and (4), on the other hand, produce the following respective limits: ∆1 ≤ 10, ∆1 ≤ 3,
and ∆1 ≤ 1. Thus all four relations are satisfied for ∆1 ≤ 1.
Case 2: ∆1 < 0. Relations (2), (3) and (4) are always satisfied for ∆1 < 0
whereas relation (1) yields the limit ∆1 ≥ -2.
By combining cases 1 and 2, we see that
-2 ≤ ∆1 ≤ 1
will always result in a feasible solution. Any change outside this range (i.e.,
decreasing raw material A by more than 2 tons or increasing it by more than 1 ton)
will lead to infeasibility and a new set of basic variables.

Maximum change in marginal profit/cost


Just as we did in studying the permissible ranges for changes in resources,
we are also interested in studying the permissible ranges for changes in marginal
profits (or costs). We have shown graphically that the objective function coefficients
can change within limits without affecting the optimum values of the variables (the
optimum value of Z will change, though). In this presentation, we show how this
information can be obtained from the optimum tableau.
In the present situation, as in the case of resource changes, the objective
equation is never used as a pivot equation. Thus, any changes in the coefficients of
the objective function will affect only the objective equation in the optimum tableau.
This means that such changes can have the effect of making the solution
non-optimal. Our goal is to determine the range of variation for the object
coefficients (one at a time) for which the current optimum remains unchanged.
To illustrate the computations, suppose that the marginal profit of X1 in the
considered model is changed from 3 to 3 + ∂1, where ∂1 represents either positive or
negative change. Thus the objective function reads as
Z = (3 + ∂1) X1 + 2X2
If we use this information in the starting tableau and carry out the same
arithmetic operations used to produce the optimum tableau, the optimum Z-equation
will appear as
Basic X1 X2 X3 X4 X5 X6 Sol
Z 0 0 1/3 – 1/6 ∂1 4/3 + 2/3 ∂1 0 0 12 2/3 + 10/3 ∂1

57
This equation is the same as the optimum Z-equation before the change ∂1 is
affected, modified by terms of ∂1. The coefficients of ∂1 are essentially those in the
X1 equation of the optimum tableau, which are given by
Basic X1 X2 X3 X4 X5 X6 Sol
Z 1 0 -1/3 2/3 0 0 10/3
We choose the X1 equation because X1 is the variable whose objective
coefficient is being change by ∂1.
The change ∂1 will not affect the optimality of the problem as long as all the
Z-equation coefficients of the non-basic variables remain non-negative
(maximization). That is
1/3 - ∂1/3 ≥0
4/3 + 2∂1/3 ≥0
Relation (1) shows that ∂1 ≤ 1, and relation (2) yields ∂1 ≥ -2. Both relations
limit c1 by -2 ≤ ∂1 ≤ 1. This means that the coefficients of X1 can be as small as
3 + (-2) = 1 or as large as 3 + 1 = 4 without causing any change in the optimal values
of the variables. The optimal value of Z, however will change according to the
expression 12 2/3 + 10/3 ∂1 where -2 ≤ ∂1 ≤ 1.
The foregoing discussion assumes that the variable whose coefficient is
being changed has an equation in the constraints. This is true only if the variable is
basic (such as X1 and X2 above). If it is non-basic, it will not appear in the basic
column.
The treatment of a non-basic variable is straightforward. Any change in the
objective coefficient of a non-basic variable will affect only that coefficient in the
optimal tableau. To illustrate this point, consider changing the coefficient of X3 (the
first slack variable) from 0 to 0 + ∂3. If you carry out the arithmetic operations
leading to the optimum tableau, the resulting Z-equation becomes
Basic X1 X2 X3 X4 X5 X6 Sol
Z 0 0 1/3 - ∂3 4/3 0 0 12 2/3
It shows that the only change occurs in the coefficients of X3, where it is
decreased by ∂3. As a general rule, then, all we have to do in the case of a non-basic
variable is to decrease the Z-coefficient of the non-basic variable by the amount by
which the original coefficient of the variable is increased.

58
59
Chapter 7
Sequencing
In the previous chapters we have dealt with problems where two or more
competing candidates are in race for using the same resources and how to decide
which candidate (product) is to be selected so as to maximize the returns (or
minimize the cost). Now let us look to a problem, where we have to determine the
order or sequence in which the jobs are to be processed through machines so as to
minimize the total processing time. Here the total effectiveness, which may be the
time or cost that is to be minimized is the function of the order of sequence. Such
type of problem is known as SEQUENCING PROBLEM.
In case there are three or four jobs are to be processed on two machines, it
may be done by trial and error method to decide the optimal sequence (i.e. by
method of enumeration). In the method of enumeration for each sequence, we
calculate the total time or cost and search for that sequence, which consumes the
minimum time and select that sequence. This is possible when we have small
number of jobs and machines. But if the number of jobs and machines increases,
then the problem becomes complicated. It cannot be done by method of
enumeration. Consider a problem, where we have ‘n‘ machines and ‘m’ jobs then we
have (n!)m theoretically possible sequences. For example, we take n = 5 and m = 5,
then we have (5!)5 sequences i.e. which works out to 25, 000,000,000 possible
sequences. It is time consuming to find all the sequences and select optima among
all the sequences. Hence we have to go for easier method of finding the optimal
sequence. Let us discuss the method that is used to find the optimal sequence.
Before we go for the method of solution, we shall define the sequencing problem
and types of sequencing problem. The student has to remember that the sequencing
problem is basically a minimization problem or minimization model.

The problem or the definition


A general sequencing problem may be defined as follows:
Let there be ‘n’ jobs (J1, J2, J3 …Jn) which are to be processed on ‘m’
machines (A, B, C, …), where the order of processing on machines i.e. for example,
ABC means first on machine A, second on machine B and third on machine C or
CBA means first on machine C, second on machine B and third on machine A etc.
and the processing time of jobs on machines (actual or expected) is known to us,
then our job is to find the optimal sequence of processing jobs that minimizes the
total processing time or cost. Hence our job is to find that sequence out of (n!)m
sequences, which minimizes the total elapsed time ( i.e.. time taken to process all the
jobs). The usual notations used in this problem are:
Ai = Time taken by ith job on machine A where i = 1, 2, 3…n. Similarly, we can
interpret for machine B and C i.e. Bi and Ci etc.

60
T = Total elapsed time which includes the idle time of machines if any and set up
time and transfer time.

Assumptions
Principal assumptions made for convenience in solving the sequencing
problems are as follows:
(a) The processing times Ai and Bi etc. are exactly known to us and they are
independent of order of processing the job on the machine. That is whether job
is done first on the machine, last on the machine, the time taken to process the
job will not vary it remains constant.
(b) The time taken by the job from one machine to other after processing on the
previous machine is negligible. (Or we assume that the processing time given
also includes the transfer time and setup time).
(c) Each job once started on the machine; we should not stop the processing in the
middle. It is to be processed completely before loading the next job.
(d) The job starts on the machine as soon as the job and the machine both become
idle (vacant). This is written as job is next to the machine and the machine is
next to the job. (This is exactly the meaning of transfer time is negligible).
(e) No machine may process more than one job simultaneously. (This means to say
that the job once started on a machine, it should be done until completion of the
processing on that machine).
(f) The cost of keeping the semi-finished job in inventory when next machine on
which the job is to be processed is busy is assumed to be same for all jobs or it
is assumed that it is too small and is negligible. That is in process inventory cost
is negligible.
(g) While processing, no job is given priority i.e. the order of completion of jobs
has no significance. The processing times are independent of sequence of jobs.
(h) There is only one machine of each type.

Applicability
The sequencing problem is very much common in Job workshops and Batch
production shops. There will be number of jobs which are to be processed on a
series of machine in a specified order depending on the physical changes required on
the job. We can find the same situation in computer center where number of
problems waiting for a solution. We can also see the same situation when number of
critical patients waiting for treatment in a clinic and in Xerox centers, where number
of jobs is in queue, which are to be processed on the Xerox machines. Like this we
may find number of situations in real world.

Types of Sequencing Problems


There are various types of sequencing problems arise in real world. All
sequencing problems cannot be solved. Though mathematicians and Operations

61
Research scholars are working hard on the problem satisfactory method of solving
problem is available for few cases only. The problems, which can be solved, are:
a) ‘n’ jobs are to be processed on two machines say machine A and machine B in
the order AB. This means that the job is to be processed first on machine A and
then on machine B.
b) ‘n’ jobs are to be processed on three machines A, B and C in the order ABC i.e.
first on machine A, second on machine B and third on machine C.
c) ‘n’ jobs are to be processed on ‘m’ machines in the given order
d) Two jobs are to be processed on ‘𝑚’ machines in the given order.

Solutions
Now let us take above mentioned types problems and discuss the solution
methods.
‘N’ Jobs and Two Machines
If the problem given has two machines and two or three jobs, then it can be
solved by using the Gantt chart. But if the numbers of jobs are more, then this
method becomes less practical. (For understanding about the Gantt chart, the
students are advised to refer to a book on Production and Operations Management
(chapter on Scheduling). Gantt chart consists of X -axis on which the time is noted
and Y-axis on which jobs or machines are shown. For each machine a horizontal bar
is drawn. On these bars the processing of jobs in given sequence is marked. Let us
take a small example and see how Gantt chart can be used to solve the same.
Example 1
There are two jobs job 1 and job 2. They are to be processed on two
machines, machine A and Machine B in the order AB. Job 1 takes 2 hours on
machine A and 3 hours on machine B. Job 2 takes 3 hours on machine A and 4 hours
on machine B. Find the optimal sequence which minimizes the total elapsed time by
using Gantt chart.
Solution
Jobs. Machines (Time in hours)
A B
1 2 3
2 3 4
a) Total elapsed time for sequence 1,2 i.e. first job 1 is processed on machine A and
then on second machine and so on
Draw X - axis and Y- axis, represent the time on X - axis and two machines
by two bars on Y axis. Then mark the times on the bars to show processing of each
job on that machine.

62
Sequence 1, 2
Total = elapsed time = 9 Hrs. (optimal sequence)

Both the sequences show the elapsed time = 9 hours.


The drawback of this method is for all the sequences, we have to write the
Gantt chart and find the total elapsed times and then identify the optimal solution.
This is laborious and time consuming. If we have more jobs and more machines,
then it is tedious work to draw the chart for all sequences. Hence, we have to go for
analytical methods to find the optimal solution without drawing charts.

Analytical Method
A method has been developed by Johnson and Bellman for simple problems
to determine a sequence of jobs, which minimizes the total elapsed time. The
method:

63
1. ‘n’ jobs are to be processed on two machines A and B in the order AB (i.e. each
job is to be processed first on A and then on B) and passing is not allowed. That
is whichever job is processed first on machine A is to be first processed on
machine B also, Whichever job is processed second on machine A is to be
processed second on machine B also and so on. That means each job will first go
to machine A get processed and then go to machine B and get processed. This
rule is known as no passing rule.
2. Johnson and Bellman method concentrates on minimizing the idle time of
machines. Johnson and Bellman have proved that optimal sequence of ‘n’ jobs
which are to be processed on two machines A and B in the order AB necessarily
involves the same ordering of jobs on each machine. This result also holds for
three machines but does not necessarily hold for more than three machines.
Thus, total elapsed time is minimum when the sequence of jobs is same for both
the machines.
3. Let the number of jobs be 1, 2, 3, …, n
The processing time of jobs on machine A be A1, A2, A3 …………. An
The processing time of jobs on machine B be B1, B2, B3 …………. Bn

Machining time in hours.


Jobs
Machine A Machine B (Order of processing is AB)
1 A1 B1
2 A2 B2
3 A3 B3
……… ……………… ……………...
I AI BI
……… ………………. ……………….
S AS BS
……… …………….. ……………..
……… …………….. ……………..
T AT BT
……… ……………… ………………
……… …………….. ……………..
N AN BN

64
4. Johnson and Bellman algorithm for optimal sequence states that identify the
smallest element in the given matrix. If the smallest element falls under column 1
i.e. under machine I then do that job first. As the job after processing on
machine 1 goes to machine 2, it reduces the idle time or waiting time of machine
2. If the smallest element falls under column 2 i.e. under machine 2 then do that
job last. This reduces the idle time of machine 1. i.e. if rth job is having smallest
element in first column, then do the rth job first. If sth job has the smallest
element, which falls under second column, then do the sth job last. Hence the
basis for Johnson and Bellman method is to keep the idle time of machines as
low as possible. Continue the above process until all the jobs are over.
1 2 3 … n–1 n
r s
5. If there are ‘n’ jobs, first write ‘n’ number of rectangles as shown. Whenever the
smallest elements falls in column 1 then enter the job number in first rectangle.
If it falls in second column, then write the job number in the last rectangle. Once
the job number is entered, the second rectangle will become first rectangle and
last but one rectangle will be the last rectangle.
6. Now calculate the total elapsed time as discussed. Write the table as shown. Let
us assume that the first job starts at Zero th time. Then add the processing time
of job (first in the optimal sequence) and write in out column under machine 1.
This is the time when the first job in the optimal sequence leaves machine 1 and
enters the machine 2. Now add processing time of job on machine 2. This is the
time by which the processing of the job on two machines over. Next consider the
job, which is in second place in optimal sequence. This job enters the machine 1
as soon the machine becomes vacant, i.e first job leaves to second machine.
Hence enter the time in out column for first job under machine 1 as the starting
time of job two on machine 1. Continue until all the jobs are over. Be careful to
see that whether the machines are vacant before loading. Total elapsed time may
be worked out by drawing Gantt chart for the optimal sequence.
7. If there is tie i.e we have smallest element of same value in both columns, then:
i. Minimum of all the processing times is Ar which is equal to Bs i.e.
Min (Ai, Bi) = Ar = Bs then do the rth job first and sth job last.
ii. If Min (Ai, Bi) = Ar and also Ar = Ak (say). Here tie occurs between the two
jobs having same minimum element in the same column i.e. first column we
can do either rth job or kth job first. There will be two solutions. When the ties
occur due to element in the same column, then the problem will have
alternate solution. If more number of jobs have the same minimum element
in the same column, then the problem will have many alternative solutions. If
we start writing all the solutions, it is a tedious job. Hence it is enough that
the students can mention that the problem has alternate solutions. The same
is true with Bi s also. If more number of jobs have same minimum
element in second column, the problem will have alternate solutions.

65
Example 2
There are five jobs, which are to be processed on two machines A and B in
the order AB. The processing times in hours for the jobs are given below. Find the
optimal sequence and total elapsed time. (Students have to remember in sequencing
problems if optimal sequence is asked, it is the duty of the student to find the total
elapsed time also).

Jobs: 1 2 3 4 5
Machine A (Time in hrs.) 2 6 4 8 10
Machine B (Time in hrs.) 3 1 5 9 7

The smallest element is 1 it falls under machine B hence do this job last i.e in
5th position. Cancel job 2 from the matrix. The next smallest element is 2, it falls
under machine A hence do this job first, i.e in the first position. Cancel the job two
from matrix. Then the next smallest element is 3 and it falls under machine B.
Hence do this job in fourth position. Cancel the job one from the matrix. Proceed
like this until all jobs are over.

1 3 4 5 2

Machine
Optimal Machine A Machine B Remarks
Idle Job
Sequence In Out In Out A B
1 0 0 2 5 2
3 2 6 6 11 1 As the Machine B
Finishes Work at 5th
hour will be Idle for 1
Hour.
4 6 14 14 23 3 -do- 3 hr.
5 14 24 24 31 1 -do- 1 hr.
1 hr as job finished
2 24 30 31 32 1 2
early 1 hr idle.
Total elapsed time = 32 hours. (This includes idle time of job and idle time
of machines).
The procedure: Let Job 1 is loaded on machine A first at zero th time. It
takes two hours to process on the machine. Job 1 leaves the machine A at two hours
and enters the machine 2 at 2nd hour. Up to the time i.e first two hours, the machine
B is idle. Then the job 1 is processed on machine B for 3 hours and it will be
unloaded. As soon as the machine A becomes idle, i.e. at 2nd hour then next job 3 is
loaded on machine A.

66
It takes 4 hours and the job leaves the machine at 6 th hour and enters the
machine B and is processed for 6 hours and the job is completed by 11th hour.
(Remember if the job is completed early and the Machine B is still busy, then the
job has to wait and the time is entered in job idle column. In case the machine B
completes the previous job earlier, and the machine A is still processing the next job,
the machine has to wait for the job. This will be shown as machine idle time for
machine B.). Job 4 enters the machine A at 6th hour and processed for 8 hours and
leaves the machine at 14th hour. As the machine B has finished the job 3 by 11th
hour, the machine has to wait for the next job (job 4) up to 14th hour. Hence 3 hours
is the idle time for the machine B. In this manner we have to calculate the total
elapsed time until all the jobs are over.

Example 3
There are 6 jobs to be processed on Machine A. The time required by each
job on machine A is given in hours. Find the optimal sequence and the total time
elapsed.
Job 1 2 3 4 5 6
Time in hours.
6 4 3 2 9 8
Machine A
Solution
Here there is only one machine. Hence the jobs can be processed on the
machine in any sequence depending on the convenience. The total time elapsed will
be total of the times given in the problem. As soon as one job is over the other
follows. The total time is 32 hours. The sequence may be any order. For example:
1,2,3,4,5,6 or 6,5,4,3,2,1, or 2, 4 6 1 3 5 and so on.

Example 4
A machine operator has to perform two operations, turning and threading, on
a number of different jobs. The time required to perform these operations in minutes
for each job is given. Determine the order in which the jobs should be processed in
order to minimize the total time required to turn out all the jobs.
Jobs: 1 2 3 4 5 6
Time for turning (in min.) 3 12 5 2 9 11
Time for threading (in min). 8 10 9 6 3 1
Solution
The smallest element is 1 in the given matrix and falls under second
operation. Hence do the 6th job last. Next smallest element is 2 for the job 4 and falls
under first operation hence do the fourth job first. Next smallest element is 3 for job
1 falls under first operation hence do the first job second. Like this go on proceed
until all jobs are over. The optimal sequence is:

67
4 1 3 2 5 6

Optimal Turning Threading Job


Machine idle.
sequence. operation operation idle
In out In out Turning Threading
4 0 2 2 8 ------ 2
1 2 5 8 16 3
3 5 10 16 25 6
2 10 22 25 35 3
5 22 31 35 38 4
6 31 42 42 43 -- 1 ----
Total elapsed time: 43minutes.
The Job idle time indicates that there must be enough space to store the in-
process inventory between two machines. This point is very important while
planning the layout of machine shops.

Example 5
There are seven jobs, each of which has to be processed on machine A and
then on Machine B (order of machining is AB). Processing time is given in hours.
Find the optimal sequence in which the jobs are to be processed so as to minimize
the total time elapsed.
Job 1 2 3 4 5 6 7
Machine A (time in hours) 3 12 15 6 10 11 9
Machine B (time in hours) 8 10 10 6 12 1 3
Solution
By Johnson and Bellman method the optimal sequence is:

1 4 5 3 2 7 6.

68
Optimal Job
Machine: A Machine: B Machine Idle
Sequence idle Remarks
Sequence In Out In out A B time
1 0 3 3 11 3 –
4 3 9 11 17 2 Job finished early

5 9 19 19 31 2 Machine A take more time.

3 19 34 34 44 3 Machine A takes more time.

2 34 46 46 56 2 - do-

7 46 55 56 59 1 Job finished early.


Machine A takes more
6 55 66 66 67 1 7 time. Last is finished
on machine A at 66th hour.
Total Elapsed time = 67 hrs.

Example 6
Find the optimal sequence that minimizes the total elapsed time required to
complete the following tasks on two machines I and II in the order first on
Machine I and then on Machine II.

Task: A B C D E F G H I
Machine I (time in hours). 2 5 4 9 6 8 7 5 4
Machine II (time in hours). 6 8 7 4 3 9 3 8 11

Solution
By Johnson and Bellman method we get two sequences (this is because both
machine B and H are having same processing times). The two sequences are:

A C I B H F D G E.
A C I H B F D G E

69
Sequence Machine I Machine II Machine idle Job idle Remarks.
In out In Out I II
A O 2 2 8 2
C 2 6 8 15 2
I 6 10 15 26 5 Do
B 10 15 26 34 11 Do
H 15 20 34 42 14 Do
F 20 28 42 51 14 Do
D 28 37 51 55 14 Do
G 37 44 55 58 11 Do
[Link]
machine I
E 44 50 58 61 11 8 finishes its
work at
50th hour.
Total Elapsed time : 61 hours.

Example 7
A manufacturing company processes 6 different jobs on two machines A and
B in the order AB. Number of units of each job and its processing times in minutes
on A and B are given below. Find the optimal sequence and total elapsed time and
idle time for each machine.
Job Number of units Machine A: Machine B:
Number of each job. time in minutes. time in minutes.
1 3 5 8
2 4 16 7
3 2 6 11
4 5 3 5
5 2 9 7.5
6 3 6 14
Solution
The optimal sequence by using Johnson and Bellman algorithm is

70
Sequence: 4 1 3 6 5 2
Number of units. 5 3 2 3 2 4

First do the 5 units of job 4, Second do the 3 units of job 1, third do the 2
units of job 3, fourth process 3 units of job 6, fifth process 2 units of job 5 and
finally process 4 units of job 2.
Number of unitsof

Time in mins.
Time in mins

.Idle time of
Machine A

Machine B

machines
Sequence

Job idle.
of jobs

job

Remarks

In out In out A B
st
1 0 3 3 8
2nd 3 6 8 13
4 3rd 6 9 13 18 -- 3 – –
4th 9 12 18 23
5th 12 15 23 28
1st 15 20 28 36 Machine B
8
1 2nd 20 25 36 44 Becomes Vacant
3rd 25 30 44 52 at 8th min.
1st 30 36 52 63
3 16 Do (52nd min.)
2nd 36 42 63 74
1st 42 48 74 88
26 Do (74th min.)
6 2nd 48 54 88 102
3rd 54 60 102 116
1st 60 69 116 123.5
5 47 Do (116th min.)
2nd 69 78 123.5 131
1st 78 94 131 138
37 Do (131th min.)
2nd 94 110 138 145
2
3rd 110 126 145 152
4th 126 142 152 159 17
Total Elapsed Time = 159 min
Total elapsed time = 159 mins. Idle time for Machine A = 17 mins. And that
for machine B is 3 mins.

71
Sequencing of “N” jobs on three machines
When there are ‘n’ jobs, which are to be processed on three machines say A,
B, and C in the order ABC i.e first on machine A, second on machine B and finally
on machine C. We know processing times in time units. As such there is no direct
method of sequencing of ‘n’ jobs on three machines. Before solving, a three-
machine problem is to be converted into a two-machine problem. The procedure
for converting a three-machine problem into two-machine problem is:
(a) Identify the smallest time element in first column, i.e. for machine 1 let it be Ar.
(b) Identify the smallest time element in third column, i.e. for machine 3, let it be Cs.
(c) Identify the highest time element in the second column, i.e. for the center
machine, say machine 2, and let it be Bi.
(d) Now minimum time on machine 1 i.e. Ar must be ≥ maximum time element on
machine 2, i.e. Bi
OR
Minimum time on third machine i.e. Cs must be ≥ maximum time element on
machine 2 i.e. Bi
OR
Both Ar and Cs must be ≥ Bi
(e) If the above condition satisfies, then we have to work out the time elements for
two hypothetical machines, namely machine G and machine H. The time
elements for machine G, Gi = Ai + Bi.
The time element for machine H, is Hi = Bi + Ci
(f) Now the three-machine problem is converted into two-machine problem. We can
find sequence by applying Johnson Bellman rule.
(g) All the assumption mentioned earlier will hold good in this case also.

Example 8
A machine operator has to perform three operations, namely plane turning,
step turning and taper turning on a number of different jobs. The time required to
perform these operations in minutes for each operating for each job is given in the
matrix given below. Find the optimal sequence, which minimizes the time required.
Job. Time for plane turning Time for step turning Time for taper turning.
1 3 8 13
2 12 6 14
3 5 4 9
4 2 6 12
5 9 3 8
6 11 1 13

72
Solution
Here Minimum Ai = 2, Maximum Bi = 8 and Minimum Ci = 8. As the
maximum Bi = 8 = Minimum Ci, we can solve the problem by converting into two
machine problem.
Now the problem is:
Machine G (Ai + Bi) Machine H (Bi + Hi)
Job
Minutes. Minutes.
1 11 21
2 18 20
3 9 13
4 8 18
5 12 11
6 12 14
By applying Johnson and Bellman method, the optimal sequence is:
4 3 1 6 5 2
Now we can work out the Total elapsed time as we worked in previous problems.
Taper turning
Plane turning

Time in Min.

Time in Min.

Time in Min.
Machine idle
Time in min.

Time in min.
Step turning
Sequence

Remarks.
Job Idle

StTu
Tap
Tu

Tu

In out In out In out

Until first Job


4 0 2 2 8 8 20 2 8 comes 2nd and 3rd
operations idle.
3 2 7 8 12 20 29 1+8
1 7 10 12 20 29 42 2+9
6 10 21 21 22 42 55 20 1
2 21 33 33 39 55 69 16 11
5 33 42 42 45 69 77 14 3
Total Elapsed Time: 77

73
Example 9
There are 5 jobs each of which is to be processed on three machines A, B,
and C in the order ACB. The time required to process in hours is given in the matrix
below. Find the optimal sequence.
Job: 1 2 3 4 5
Machine A: 3 8 7 5 4
Machine B: 7 9 5 6 10
Machine C: 4 5 1 2 3.
Solution
Here the given order is ACB. i.e. first on machine A, second on Machine C
and third on Machine B. Hence we have to rearrange the machines. Machine C will
become second machine. Moreover optimal sequence is asked. But after finding the
optimal sequence, we have to work out total elapsed time also. The procedure is first
rearrange the machines and convert the problem into two-machine problem if it
satisfies the required condition. Once it is converted, we can find the optimal
sequence by applying Johnson and Bellman rule. The problem is:
Job: 1 2 3 4 5
Machine A: 3 8 7 5 4
Machine C: 4 5 1 2 3
Machine B: 7 9 5 6 10
Max Ai = 8 Hrs., Max Bi (third machine) = 5 Hrs. and minimum Ci = Middle
machine = 5 Hrs. As Max Bi = Min Ci = 5, we can convert the problem into 2-
machine problem. Two-machine problem is:
Job: 1 2 3 4 5
Machine G: (A + C) 7 13 8 7 7
Machine H: (C + B) 11 14 6 8 13
By applying, Johnson and Bellman Rule, the optimal sequence is: We find
that there are alternate solutions, as the elements 7 and 8 are appearing more than
one time in the problem. The solutions are:
4 1 5 2 3
4 5 1 2 3
1 4 5 2 3
5 1 4 2 3
5 4 1 2 3

74
Let us work out the total time elapsed for any one of the above sequences.
Students may try for all the sequence and they find that the total elapsed time will be
same for all sequences.
Sequence

Machine A Machine C Machine B Machine


Job idle.
Time in Time in Time in Idle.
Time in Hrs
Hrs. Hrs. Hrs. Time in Hrs.
In out In Out In out A C B
4 0 5 5 7 7 13 5 7
1 5 8 8 12 13 20 1 1
5 8 12 12 15 20 30 5
2 12 20 20 25 30 39 5 5
3 20 27 27 28 39 44 11 17 2+16
Total Elapsed Time:44 Hrs.
Total elapsed time = 44 hours. Idle time for Machine A is 17 hours.
For machine C = 29 hrs and that for machine B is 7 hours.

Example 10
A ready-made dress company is manufacturing its 7 products through two
stages i.e. cutting and Sewing. The time taken by the products in the cutting and
sewing process in hours is given below:
Products: 1 2 3 4 5 6 7
Cutting: 5 7 3 4 6 7 12
Sewing: 2 6 7 5 9 5 8
a) Find the optimal sequence that minimizes the total elapsed time.
b) Suppose a third stage of production is added, namely Pressing and Packing,
with processing time for these items as given below:

Product: 1 2 3 4 5 6 7
Pressing and Packing:
10 12 11 13 12 10 11
(Time in hrs)
Find the optimal sequence that minimizes the total elapsed time considering
all the three stages.
Solution
a) Let us workout optimal sequence and total elapsed time for first two stages:
By Johnson and Bellman rule, the optimal sequence is:
3 4 5 7 2 6 1

75
Total Elapsed time:

Sequence

Remarks.
Machine
Job idle
Time in

Time in

Time in

Time in
Cutting

Sewing
Dept.

dept.
Hrs.

Hrs.

Hrs.

idle.

Hrs.
In out In out Cutting Sewing.
Sewing starts
3 0 3 3 10 3
after cutting.
4 3 7 10 15 3
5 7 13 15 24 2
7 13 25 25 33 1
2 25 32 33 39 1
6 32 39 39 44
1 39 44 44 46 2
Total Elapsed Time in Hrs. = 46 Hrs.
Total elapsed time is 46 Hrs. Idle time for cutting is 2 Hrs, and that for
Sewing is 4 Hrs.
b) When the Pressing and Packing department is added to Cutting and Sewing,
the problem becomes ‘n’ jobs and 3-machine problem. We must check
whether we can convert the problem into 2- machine problem.
The problem is
Products: 1 2 3 4 5 6 7
Cutting dept. (Hrs) 5 7 3 4 6 7 12
Sewing dept (Hrs) 2 6 7 5 9 5 8
Pressing and Packing dept. (Hrs.) 10 12 11 13 12 10 11
Minimum time element for first department is 3 Hrs. and that for third
department is 10 Hrs. And maximum time element for second department i.e sewing
department is 9 Hrs. As the minimum time element of third department is greater
than that of minimum of second department, we can convert the problem into 2-
machine problem. Now 7 jobs and 2- machine problem is:
Product: 1 2 3 4 5 6 7
Department G (= Cutting + Sewing): 7 13 10 9 15 12 20
Department H (= Sewing + Packing): 12 18 18 18 21 15 19
By Johnson and Bellman rule the optimal sequence is:
1 4 3 6 2 5 7

76
Job
Cutting Sewing Packing
idle Dept. Idle
Sequence Dept. Dept. Dept.
time in Time in Hrs.
Time in Hrs. Time in Hrs. Time in Hrs.
hrs.
In out In out In out Cut Sew Pack
1 0 5 5 7 7 17 5 7
4 5 9 9 14 17 30 3 2
3 9 12 14 21 30 41 2+9
6 12 19 21 26 41 51 2 + 15
2 19 26 26 32 51 63 19
5 26 32 32 41 63 75 22
7 32 44 44 52 75 86 42 3+34
Total Elapsed Time = 86 Hrs.
Total elapsed time = 86 Hrs. Idle time for Cutting dept. is 42 Hrs. Idle time
for sewing dept, is 44 Hrs. and for packing dept. it is 7 hrs.
(Point to note: The Job idle time shows that enough place is to be provided
for in process inventory and the machine or department idle time gives an indication
to production planner that he can load the machine or department with any job work
needs the service of the machine or department. Depending on the quantum of idle
time he can schedule the job works to the machine or department).

Processing of ‘N’ Jobs on ‘M’ Machines: (Generalization of ‘n’ Jobs and 3 -


machine problem)
Though we may not get accurate solution by generalizing the procedure of
‘n’ jobs and 3- machine problem to ‘n’ jobs and ‘m‘ machine problem, we may get a
solution, which is nearer to the optimal solution. In many practical cases, it will
work out. The procedure is:
A general sequencing problem of processing of ‘n’ jobs through ‘m’
machines M1, M2, M3 … Mn-1, Mn in the order M1, M2, M3 … Mn-1, Mn can be solved
by applying the following rules. If aij where I = 1, 2, 3… n and j = 1, 2, 3… m is the
processing time of ith job on jth machine, then find Minimum ai1 and Min. aim (i.e.
minimum time element in the first machine and minimum time element in last
Machine) and find Maximum aij of intermediate machines i.e 2nd machine to m–1
machine.
The problem can be solved by converting it into a two-machine problem if
the following conditions are satisfied.
(a) Min ai1 ≥ Max. aij for all j = 1,2, 3… m-1
(b) Min aim ≥ Max aij for all j = 1, 2, 3 … m-1

77
At least one of the above must be satisfied. Or both may be satisfied. If
satisfied, then the problem can be converted into 2-machine problem where Machine
G = ai1 + ai2 + ai3 +… + ai m-1 and
Machine G = ai2 + ai3 +… + aim. Where i = 1, 2, 3, … n.
Once the problem is a 2- machine problem, then by applying Johnson
Bellman algorithm we can find optimal sequence and then workout total elapsed
time as usual.
(Point to remember: Suppose ai2 + ai3 +…..ai m-1 = a constant number for
all ‘i’, we can consider two extreme machines i.e. machine 1 and machine -m as two
machines and workout optimal sequence).

Example 11
There are 4 jobs A, B, C and D, which is to be, processed on machines M1,
M2, M3 and M4 in the order M1 M2 M3 M4 .The processing time in hours is given
below. Find the optimal sequence.

Job Machine (Processing time in hours)


M1 M2 M3 M4
ai1 ai2 ai3 ai4
A 15 5 4 14
B 12 2 10 12
C 13 3 6 15
D 16 0 3 19
Solution
From the data given, Min ai1 is 12 and Min ai4 is 12. Max ai2 = 5 and
Max ai3 = 10. As Min ai1 is > than both Min ai2 and Min ai3, the problem can be
converted into 2 – machine problem as discussed above. Two-machine problem is:

Jobs. Machines (Time in hours)


G H
A 15+5+4 = 29 5+4+14 = 23
B 12+2+10 = 24 2+10+12 = 24
C 13+3+6 = 22 3+6+15 = 24
D 16+0+3 = 19 0+3+19 = 22

Applying Johnson and Bellman rule, the optimal sequence is:

D C B A

78
Total elapsed time:

Machine idle
Machine M 3

Machine M 4
Machine M1

Machine M2

Time in hrs.
Time in hrs

Time in hrs

Time in hrs
Sequence

Time in
hours.
In out In out in out In out M1 M2 M3 M4
D 0 16 16 16 16 19 19 38 16 19
C 19 29 29 32 32 38 38 53 29 13
B 29 41 41 43 43 53 53 65 9 5
A 41 56 56 61 61 65 65 79 23 18 14
Total Elapsed Time = 79 hrs

Total Elapsed time = 79 hours.

Example 12
In a maintenance shop mechanics has to reassemble the machine parts after
yearly maintenance in the order PQRST on four machines A, B, C and D. The time
required to assemble in hours is given in the matrix below. Find the optimal
sequence.

Machine. Parts (Time in hours to assemble)

P Q R S T

A 7 5 2 3 9

B 6 6 4 5 10

C 5 4 5 6 8

D 8 3 3 2 6

Solution
Minimum assembling time for component P = 5 hours. Minimum assembling
time for component T = 6 hours. And Maximum assembling time for components Q,
R, S are 6 hrs, 5 hrs and 6 hours respectively. This satisfies the condition required
for converting the problem into 2 - machine problem. The two-machine problem is:

79
Component G Component H Condition:
Minimum Pi > Maximum Qi, Ri, and Si.
Machine (Time in hours) OR
(P+Q+R+S) (Q+R+S+T) Minimum Ti > Maximum Qi, Ri, and Si.

A 17 19
B 21 25
C 20 23
D 16 14
The optimal sequence by applying Johnson and Bellman rule is:
A C B D
Total Elapsed Time:
Component

Component

Component

Component

Component

P Q,R,S,T
Sequence

Men idle

Job idle
Q
P

T
S

In out In out In out In out In out



A 0 7 7 12 12 14 14 17 17 26 7, 12, 14,
17
-
C 7 12 12 16 16 21 21 27 27 35
2, 4, 1
-
B 12 18 18 24 24 28 28 33 35 45 2
2, 3, 1,
25, 1, 1,
D 18 26 26 29 29 32 33 35 45 51
2 10
Total Elapsed Time = 51 hours.

Total elapsed time is 51 hours.


Idle time for various workmen is:
P: 51 – 26 = 25 hrs.
Q: 7 + (18-16) + (26 - 24) + (51 - 29) = 33 hrs.
R: 12 + (16 – 14) + (24 – 21) + (29 – 28) + (51 – 32) = 37 hrs.
S: 14 + (21 – 17) + (28 – 27) + 51 – 35) = 35 hrs.
T: 17 + 27 – 26) = 18 hrs.

80
The waiting time for machines is:
A: No waiting time. The machine will finish it work by 26th hour.
B: 12 + 35 – 33) = 14 hrs. The assembling will over by 45th hour.
C: 7 hours. The assembling will over by 35th hour.
D: 18 + 33 – 32) + (45 – 35) = 29 hrs. The assembling will over by 51st hour.

Example 13
Solve the sequencing problem given below to give an optimal solution, when
passing is not allowed.
Machines (Processing time in hours)
Jobs P Q R S
A 11 4 6 15
B 13 3 7 8
C 9 5 5 13
D 16 2 8 9
E 17 6 4 11
Solution
Minimum time element under machine P and S are 9 hours and 8 hours
respectively. Maximum time element under machines Q and R are 6 hours and 8
hours respectively. As minimum time elements in first and last machines are > than
the maximum time element in the intermediate machines, the problem can be
converted into two machine, n jobs problem. See that sum of the time elements in
intermediate machines (i.e. machines Q and R is equals to 10, hence we can take
first and last machines as two machines and by application of Johnson and Bellman
principle, we can get the optimal solution. The optimal sequence is: Two-machine
problem is:

Job: A B C D E
Machine G (Hrs) 11 13 9 16 17
Machine H (Hrs) 15 8 13 9 11

Optimal sequence:

C A E D B

Total elapsed time:

81
Sequence

Machine

Machine

Machine

Machine

Machine
Job idle

idle.
Q
P

S
In out In out In out In out P Q R S
C 0 9 9 14 14 19 19 32 - 9 14 19
A 9 20 20 24 24 30 32 45 2 6 5
E 20 37 37 43 43 47 47 58 13+2 13
D 37 52 52 54 54 62 62 66 9 7 4
B 52 65 65 68 68 75 75 83 18 9+21 8+9 -
Total Elapsed Time in Hrs. = 83 hrs.

Processing of 2-jobs on “M” machines


There are two methods of solving the problem. (a) By enumerative method
and (b) Graphical method.
Graphical method is most widely used. Let us discuss the graphical method
by taking an example.
Graphical Method
This method is applicable to solve the problems involving 2 jobs to be
processed on ‘m‘ machines in the given order of machining for each job. In this
method the procedure is:
a) Represent Job 1 on X- axis and Job 2 on Y-axis. We have to layout the jobs
in the order of machining showing the processing times.
b) The horizontal line on the graph shows the processing time of Job 1 and idle
time of Job 2. Similarly, a vertical line on the graph shows processing time
of job 2 and idle time of job 1. Any inclined line shows the processing of two
jobs simultaneously.
c) Draw horizontal and vertical lines from points on X- axis and Y- axis to
construct the blocks and hatch the blocks. (Pairing of same machines).
d) Our job is to find the minimum time required to finish both the jobs in the
given order of machining. Hence we have to follow inclined path, preferably
a line inclined at 45 degrees (in a square the line joining the opposite
coroners will be at 45 degrees).
e) While drawing the inclined line, care must be taken to see that it will not
pass through the region indicating the machining of other job. That is the
inclined line should not pass through blocks constructed in step (c).
f) After drawing the line, the total time taken is equals to Time required for
processing + idle time for the job.
The sum of processing time + idle time for both jobs must be same.

82
Example 14
Use graphical method to minimize the time needed to process the following
jobs on the machines as shown. For each machine find which job is to be loaded
first. Calculate the total time required to process the jobs. The time given is in hours.
The machining order for job 1 is ABCDE and takes 3, 4, 2, 6, 2 hours respectively
on the machines. The order of machining for job 2 is BCADE and takes 5, 4, 3, 2, 6
hours respectively for processing.
Solution
The given problem is:
Sequence:
A B C D E
Job 1
Time in Hrs. 3 4 2 6 2
Sequence:
B C A D E
Job 2
Time in Hrs. 5 4 3 2 6
To find the sequence of jobs, i.e. which job is to be loaded on which machine
first and then which job is to be loaded second, we have to follow the inclined line
starting from the origin to the opposite corner. First let us start from origin. As Job 2
is first on machine B and Job 1 is first on machine A, job 1 is to be processed first on
machine A and job 2 is to be processed on machine B first. If we proceed further, we
see that job 2 is to be processed on machine C first, and then comes job 2 first on D
and job 2 first on machine E. Hence the optimal sequence is: (Refer figure)

Job 1 before 2 on machine A,


Job 2 before 1 on machine B,
Job 2 before 1 on machine C,
Job 2 before 1 on machine D,
Job 2 before 1 on machine E.

The processing time for Job 1 = 17 hours processing + 5 hours idle time
(Vertical distance) = 22 hours.
The processing time for Job 2 = 20 hours processing time + 2 hours idle time
(horizontal distance) = 22 hours.
Both the times are same. Hence total Minimum processing time for two jobs
is 22 hours.

83
Example 15
Two jobs are to be processed on four machines A, B, C and D. The
technological order for these two jobs is: Job 1 in the order ABCD and Job 2 in the
order DBAC. The time taken for processing the jobs on machine is:

Machine: A B C D
Job 1: 4 6 7 3
Job 2: 5 7 8 4

Solution
Processing time for jobs is: Job 1 = 4 + 6 + 7 + 3 = 20 hours.
Job 2 = 5 + 7 + 8 + 4 = 24 hours.
The graph is shown in figure. The line at 45 degrees is drawn from origin to
opposite corner.

The total elapsed time for job 1 =


Processing time + idle time (horizontal travel) = 20 + 10 = 30 hours.
The same for job 2 =
Processing time + Idle time (vertical travel) = 24 + 6 = 30 hours.
Both are same hence the solution. To find the sequence, let us follow
inclined line.
Job 1 first on A and job 2 second on A, Job 1 first on B and job 2 second on
Job C first on C and job 2 second on C, Job 2 first on D and job 1 second on D.

84
Example 16
Find the optimal sequence of two jobs on 4 machines with the data given:

Order of machining: Order of machining:


A B C D D C B A
Job 1 Job 2

Time in hours: 2 3 3 4 Time in hours: 4 3 3 2

Solution
Job 1 is scaled on X - axis and Job 2 is scaled on Y - axis. 45° line is drawn.
The total elapsed time for two jobs is:
Job 1: Processing time + idle time = 12 + 2 = 14 hours.
Job 2: Processing time + idle time = 12 + 2 = 14 hours.
Both are same and hence the solution;
Job 1 first on machine A and B and job 2 second on A and B. Job 2 first on C
and job 1 second on C. Job 2 first on D and job 1 second on D.

Example 17
Find the sequence of job 1 and 2 on four machines for the given
technological order.

Technological order Technological order


A B C D D C B A
Job 1 Job 2

Time in hours: 2 3 3 4 Time in hours: 4 3 3 2

Solution

From the graph figure the


total elapsed time for job 1 = 12 +
4 = 16 hours. Elapsed time for Job
2 = 12 + 4 = 16 hours.
The sequence is Job 1 first
on A, B, C, and D and then the job
2 is second on A, B, C and D. OR
we can also do Job 2 first on A, B,
C, D and job 1 second on A, B, C,
D. When technological order is
same this is how jobs are to be
processed.

85
Example 18
Find the optimal sequence for the given two jobs, which are to be processed
on four machines in the given technological order.
Technological order
A B C D
Job 1.
Time in hours. 2 3 3 4
Technological order
D C B A
Job2.
Time in hours. 2 3 3 4
Solution

Technological order:
A B C D
Job 1:
Time in hours: 2 2 2 2
Technological order:
A B C D
Job 2:
Time in hours: 2 2 2 2
AND
Technological order:
A B C D
Job 1:
Time in hours: 2 2 2 2
Technological order:
D C B A
Job 2:
Time in hours: 2 2 2 2

86
Traveling salesman problem (Related Problem)
Just consider how a postman delivers the post to the addressee. He arranges
all the letters in an order and starts from the post office and goes from addressee to
addressee and finally back to his post office. If he does not arrange the posts in an
order he may have to travel a long distance to clear all the posts. Similarly, a
traveling sales man has to plan his visits. Let us say, he starts from his head office
and go round the branch offices and come back to his head office. While traveling
he will not visit the branch already visited and he will not come back until he visits
all the branches.
There are different types of traveling salesman‘s problems. One is cyclic
problem. In this problem, he starts from his headquarters and after visiting all the
branches, he will be back to his headquarters. The second one is acyclic problem. In
this case, the traveling salesman leaves his headquarters and after visiting the
intermediate branches, finally reaches the last branch and stays there.
The first type of the problem is solved by Hungarian method or Assignment
technique. The second one is solved by Dynamic programming method.
Point to Note: The traveling salesman‘s problem, where we sequence the
cities or branches he has to visit is a SEQUENCING PROBLEM. But the solution is
got by Assignment technique.
Hence basically, the traveling salesman problem is a SEQUENCING
PROBLEM; the objective is to minimize the total distance travelled.
The mathematical statement of the problem is: Decide variable xij = 1 or 0
for all values of i and j so as to:

𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑒 𝑍 = 𝐶 𝑓𝑜𝑟 𝑎𝑙𝑙 𝑖 𝑎𝑛𝑑 𝑗 = 1, 2 … 𝑛 Subject to

Depart from
𝑥 = 1 𝑓𝑜𝑟 𝑖 = 1,2 … 𝑛
a city once only

Arrive at
𝑥 = 1 𝑓𝑜𝑟 𝑖 = 1,2 … 𝑛
a city once only

And all xij ≥ 0 for all i and j


This is indeed a statement of assignment problem, which may give two or
more disconnected cycles in optimum solution. This is not permitted. That is
salesman is not permitted to return to the origin of his tour before visiting all other
cities in his itinerary. The mathematical formulation above does not take care of this
point.

87
A restriction like Xab + Xbc + Xca ≤ 2 will prevent sub-cycles of cities A, B, C
and back to A. It is sufficient to state at this stage that all sub - cycles can be ruled
out by particular specifications of linear constraints. This part, it is easy to see that a
variable xij = 1, has no meaning. To exclude this from solution, we attribute very
large cost to it i.e infinity or big M, which is very larger than all the elements in the
matrix. In our solutions big M is used.

Example 17
A salesman stationed at city A has to decide his tour plan to visit cities B, C,
D, E and back to city A in the order of his choice so that total distance traveled is
minimum. No sub touring is permitted. He cannot travel from city A to city A itself.
The distance between cities in Kilometers is given below:
Cities A B C D E
A M 16 18 13 20
B 21 M 16 27 14
C 12 14 M 15 21
D 11 18 19 M 21
E 16 14 17 12 M
Instead of big M we can use infinity also. Or any element, which is
sufficiently larger than all the elements in the matrix, can be used.
Solution
COCM:
Cities A B C D E
A M 3 5 0 7
B 7 M 2 13 0
C 0 2 M 3 9
D 0 7 8 M 10
E 4 2 5 0 M
TOCM:
Cities A B C D E
A M 1 3 0 7
B 7 M 0 13 0
C 0 0 M 3 9
D 0 5 6 M 10
E 4 0 3 0 M

88
We can make only 4 assignments. Hence modify the matrix. Smallest
element in the uncovered cells is 3, deduct this from all other uncovered cells and
add this to the elements at the crossed cells. Do not alter the elements in cells
covered by the line.
TOCM
Cities A B C D E
A M 1 3 0 7
B 7 M 0 13 0
C 0 0 M 3 9
D 0 5 6 M 10
E 4 0 3 0 M
We can make only 4 assignments. Hence once again modify the matrix.
Sequencing: A to C, C to B, B to E, E to D, and D to A. As there is a tie
TOCM:
Cities A B C D E
A M 1 0 0 4
B 10 M 0x 16 0
C 0x 0 M 3 6
D 0 5 3 M 7
E 4 0x 0 0 M
Sequencing: A to C, C to B, B to E, E to D and D to A. as there is a tie
between the zero cells, the problem has alternate solution. The total distance
travelled by the salesman is: 18 + 14 + 14 + 11 + 12 = 69 Km. A to C to B to E to D
to A, the distance travelled is 69 Km. Note: See that twice sales man visits no city.

Example 18.
Given the set up costs below, show how to sequence the production so as to
minimize the total setup cost per cycle.
Jobs A B C D E
A M 2 5 7 1
B 6 M 3 8 2
C 8 7 M 4 7
D 12 4 6 M 5
E 1 3 2 8 M
Solution

89
COCM:
Jobs A B C D E
A M 1 4 6 0
B 4 M 1 6 0
C 4 3 M 0 3
D 8 0 2 M 1
E 0 2 1 7 M
TOCM:
Jobs A B C D E
A M 1 3 6 0
B 4 M 0 6 0x
C 4 3 M 0 3
D 8 0 1 M 1
E 0 2 0x 7 M
We can draw five lines and make assignment. The assignment is: From A to
E and From E to A cycling starts, which is not allowed in salesman problem. Hence
what we have to do is select the next higher element than zero and make assignment
with those elements. After assignment of next higher element is over, then come to
zero for assignment. If we cannot finish the assignment with that higher element,
then select next highest element and finish assigning those elements and come to
next lower element and then to zero. Like this we have to finish all assignments. In
this problem, the next highest element to zero is 1. Hence first assign all ones and
then consider zero for assignment. Now we shall first assign all ones and then come
to zero.
TOCM:
Jobs A B C D E
A M 1 3 6 0x
B 4 M 0 6 0x
C 4 3 M 0 3
D 8 0x 1x M 1
E 0 2 0x 7 M
The assignment is A to B, B to C, C to D and D to E and E to A. (If we start
with the element DC then cycling starts.
Now the total distance is 5 + 3 + 4 + 5 + 1 = 18 + 1 + 1 = 20 Km. The ones
we have assigned are to be added as penalty for violating the assignment rule of
assignment algorithm.

90
Example 19
Solve the traveling salesman problem by using the data given below:
C12 = 20, C13 = 4, C14 = 10, C23 = 5, C34 = 6, C25 = 10, C35 = 6, C45 = 20 and Cij = Cji.
And there is no route between cities ‘i’ and ‘j’ if a value for Cij is not given in the
statement of the problem. (i and j are = 1,2,..5)
Solution
Cities 1 2 3 4 5
1 M 20 4 10 M
2 20 M 5 M 10
3 4 5 M 6 6
4 10 M 6 M 20
5 M 10 6 20 M
Now let us work out COCM/ROCM and TOCM, and then make the
assignment.
TOCM:
Cities 1 2 3 4 5
1 M 12 0 0x M
2 11 M 0x M 0
3 0x 1 M 0 1
4 0 M 0x M 9
5 M 0 0x 8 M
The sequencing is: 1 to 3, 3 to 4, 4 to 1 and 1 to 3 etc., Cycling starts. Hence
we shall start assigning with 1 the next highest element and then assign zeros. Here
also we will not get the sequencing. Next we have to take the highest element 8 then
assign 1 and then come to zeros.
TOCM:
Cities 1 2 3 4 5
1 M 12 0 0 M
2 11 M 0 M 0
3 0 1 M 0 1
4 0 M 0 M 9
5 M 0 0 8 M
Sequencing is: 1 to 3, 3 to 2, 2 to 5, 5 to 4 and 4 to 1.
The optimal distance is: 4 + 10 + 5 + 10 + 20 = 49 + 1 + 8 = 58 Km.

91
Example 18
A tourist organization is planning to arrange a tour to 5 historical places.
Starting from the head office at A then going round B, C, D and E and then come
back to A. Their objective is to minimize the total distance covered. Help them in
sequencing the cities. A, B, C, D and E as shown in figure. The numbers on the
arrows show the distances in Km.

Solution
The distance matrix is as given belows:
Places A B C D E
A M 20 M 10 10
B 20 M 30 M 35
C M 30 M 15 20
D 10 M 15 M 20
E 10 35 20 20 M
COCM
Places A B C D E
A M 10 M 0 0
B 0 M 10 M 15
C M 15 M 0 5
D 0 M 5 M 10
E 0 25 10 10 M
TOCM:
Places A B C D E
A M 0 M 0 0
B 0 M 5 M 15
C M 5 M 0 5
D 0 M 0 M 10
E 0 15 5 10 M

92
TOCM:
Places A B C D E
A M 0 M 5 0
B 0 M 5 M 10
C M 0 M 0 0
D 0 M 0 M 5
E 0 10 5 10 M
TOCM:
Places A B C D E
A M 0 M 5 0
B 0 M 5 M 5
C M 0 M 0 0
D 0 M 0 M 0
E 0 5 5 5 M

Places A B C D E
A M 0 M 5 0x
B 0x M 0 M 0x
C M 0x M 0 0x
D 5 M 0x M 0
E 0 0x 0x 0x M
The sequencing is: A to B, B to C, C to D, D to E and E to A.
The total distance is: 20 +30 +15 + 20 + 10 = 95 Km.

93
94
Chapter 6
The Transportation Model
In the previous chapter the general nature of the linear programming problem
and its solution by the graphical, simplex and other methods was discussed. It
was stated that the simplex algorithm could be used to solve any linear
programming problem for which the solution exists. However, as the number of
variables and constraints increase, the computation by this method becomes
more and more laborious. Therefore, where-ever possible, we try to simplify the
calculations. One such model requiring simplified calculations is the distribution
model or the transportation model It deals with the transportation of a product
available at several sources to a number of different destinations. The name
"transportation model" is, however, misleading. 'this model can be used for a
value variety of situations such as scheduling, production, investment, plant
location, inventory control, employment scheduling, personnel assignment,
product mix problems and many others, so that the model is really not confined
to transportation or distribution only.
The origin of transportation models dates back to 1941 when F.L. Hitchcock
presented a study entitled `The Distribution of a Product from Several Sources
to Numerous Localities.' The presentation is regarded as the first important
contribution to the solution of transportation problems. In 1947, T.C. Koopmans
presented a study called `Optimum Utilization of the Transportation System'.
These two contributions are mainly responsible for the development of
transportation models which involve a number of shipping sources and A.
number of destinations. Each shipping source has a certain capacity and each
destination has a certain requirement associated with a certain c9st of shipping
from the sources to the destinations. The objective is to minimize the cost of
transportation while meeting the requirements at the destinations.
Transportation problems may also involve movement of a product from
plants towarehouses, warehouses to wholesalers, wholesalers to retailers and
retailers to customers.

Assumptions
1. Total quantity of the item available at different sources is equal to the total
requirement at different destinations.
2. Item can be transported conveniently from all sources to destinations.
3. The unit transportation cost of the item from all sources to destinations is
certainly and precisely known.
4. The transportation cost on a given route is directly proportional to the number of
units shipped on that route.

95
5. The objective is to minimize the total transportation cost for the organisation
as a whole and not for individual supply and distribution centres.
Terminology
Transportation models deal with problems concerning as to what happens to
the effectiveness function when we associate each of a number of origins
(sources) with each of a possibly different number of destinations (jobs). The
total movement from each origin and the total movement to each destination is
given and it is desired to find how the associations be made subject to the
limitations on totals. In such problems, sources can be divided among the jobs
or jobs may be done with a combination of sources. The distinct feature of
transportation problems is that sources and jobs must be expressed in terms of
only one kind of unit.
Suppose that there are m sources and n destinations. Let a; be the number of
supply units available at source i (i = l, 2, 3, ..., m) and let bj be the number of
demand units required at destination j(i = 1, 2, 3, ..., n). Let cij represent the unit
transportation cost for transporting the units from source i to destination j. The
objective is to determine the number of units to be transported from source i to
destination j so that the total transportation cost is minimum.
In addition, the supply limits at the sources and the demand requirements at
the destinations must be satisfied exactly. If i*j (Xij > 0) is the number of units
shipped from source i to destination j, then the equivalent linear programming
model will be
Find Xij (i = 1, 2, 3, …, m: j = 1, 2, 3, …, n) in order to
Minimize Z = ∑ ∑ 𝑐 𝑥
Subject to ∑ 𝑥 =𝑎 , 𝑖 = 1, 2, 3, … , 𝑚
Subject to ∑ 𝑥 =𝑏 , 𝑗 = 1, 2, 3, … , 𝑛
Where, 𝑥 ≥ 0
The two sets of constraints will be consistent i.e.; the system will be in
balance if ∑ 𝑎 = ∑ 𝑏
This restriction causes one of the constraints to be redundant (and hence it
can be deleted) so that the problem will have (m + n – 1) constraints and (m × n)
unknowns.
A few terms used in transportation models are defined below.
1. Feasible Solution. A feasible solution to a transportation problem is a set of
nonnegative allocations, Xij that satisfies the rim (row and column) restrictions.
2. Basic Feasible Solution. A feasible solution to a transportation problem is
said to be a basic feasible solution if it contains no more than m + n – 1

96
nonnegative allocations, where m is the number of rows and n is the number of
columns of the transportation problem.
3. Optimal Solution. A feasible solution (not necessarily basic) that minimizes
(maximizes) the transportation cost (profit) is called an optimal solution.
There are several methods for finding an initial basic feasible solution, out of
which three described here.

North-West Corner Method (NWCM)


This method consists of the following steps:
1. Start in the north-west (upper left) corner of the requirements table i.e., the
transportation matrix. Compare the supply of source 1 (S1) with the demand of
destination 1 (D1).
a) If S1 > D1, i.e., if the amount required at D1 is less than the number of
units available at S1. Set X11 equal to D1, find the balance supply and
demand and proceed to cell (l, 2) (i.e., proceed horizontally).
b) If D1 = S1, set X11 equal to D1, compute the balance supply and demand
and proceed to cell (2, 2) (i.e., proceed diagonally). Also make a zero
allocation to the least cost cell in S1/D1.
c) If S1 < D1, set X11 equal to S1, compute the balance supply and demand
and proceed to cell (2, 1) (i.e., proceed vertically).
2. Continue in this manner, step by step, away from the north-west corner until,
finally, a value is reached in the south-east corner.

Least-Cost Method or Matrix Minima Method


This method consists in allocating as much as possible in the lowest cost
cell/cells and then further allocation is done in the cell/cells with second lowest
cost and so on. In case of tie among the cost, select the cell where allocation of more
number of units can be made.

Vogel's Approximation Method (VAM) or Penalty Method


Vogel's approximation method is a heuristic method and is preferred to the
methods described above. In the transportation matrix if an allocation is
made in the second lowest cost cell instead of the lowest, then this allocation will
have associated with it a penalty corresponding to the difference of these two costs
due to `loss of advantage'.
That is to say, if we compute the difference between the two lowest costs for
each row and column, we find the opportunity cost relevant to each row and column.
It would be most economical to make allocation against the row or column with the
highest opportunity cost. For a given row or column, the allocation should obviously
be made in the least cost cell of that row or column.

97
Vogel's approximation method, therefore, makes effective use of the cost
information and yields a better initial solution than obtained by the other methods.
This method consists of the following steps:
i) Enter the difference between the smallest and second smallest element in
each column below the corresponding column and the difference between
the smallest and second smallest element in each row to the right of 'he row. Put
these numbers in brackets as shown. A row or column "difference" can be thought of
a penalty for making allocation in second smallest cost cell instead of smallest cost
cell. In other words this difference indicates the unit penalty incurred by failing to
make an allocation to the smallest cost cell in that row or column. In case the
smallest and second smallest elements in a row/column are equal, the penalty should
be taken as zero.
ii) Select the row or column with the greatest difference and allocate
as much as possible within the restrictions of the rim conditions to the lowest cost
cell in the row or column selected. In case of tie among the highest penalties, select
the row or column having minimum cost. In case of tie in the minimum cost also,
select the cell which can have maximum allocation. If there is tie among maximum
allocation cells also, select the cell arbitrarily for allocation. Following these rules
yields the best possible initial basic feasible solution and reduces the number of
iterations required to reach the optimal solution.
iii) Reduce the supply/demand units by the amount assigned to the cell and
cross out of the row or column completely satisfied by the allocation
just made.
iv) Write down the reduced transportation table omitting rows or columns
crossed out in step (iii). Repeat steps (i) to (iii) until all assignments have been
made.

Example 1
A dairy firm has three plants located throughout a state. Daily milk
production at each plant is as follows:
Plant 1 ... 6 million litres,
Plant 2 ... I million litres, and
Plant 3 ... 10 million litres.
Each day the firm must fulfil the needs of its four distribution centres.
Milk requirement at each centre is as follows:
Distribution centre 1 ... 7 million litres,
Distribution centre 2 ... 5 million litres,
Distribution centre 3 ... 3 million litres, and
Distribution centre 4 ... 2 million litres.

98
Cost of shipping one million litres of milk from each plant to each
distribution centre is given in the following table in dollars:

Distribution Canters
1 2 3 4
Plants 1 2 3 11 7
2 1 0 6 1
3 5 8 15 9

Formulate the problem as a linear programming problem and find its initial
feasible solution by
1. North west corner rule
2. Least cost method
3. Vogel’s approximation method if the object is to minimize the
transportation cost.
Formulation as L.P problem
Key decision to be made is to find how much quantity of milk from which
plant to which distribution centre is shipped so as to satisfy the constraints and
minimize the cost. Thus the variables in the situation are: X11, X12, X13, X14, X21,
X22, X23, X24, X31, X32, X33, and X34. These variables represent the quantities of milk
to be shipped from different plants to different distribution centres and can be
represented in the form of a matrix shown below:

Distribution Canters
1 2 3 4
Plants 1 X11 X12 X13 X14
2 X21 X22 X23 X24
3 X31 X32 X33 X34

In general, we can say that the key decision to be made is to find the quantity
of units to be transported from each origin to each destination. Thus, if there are m
origins and n destinations, then Xij are the decision variables (quantities to be
found), where
i = 1, 2, 3, …, m, and j = 1, 2, 3, ..., n.
Feasible alternatives are sets of values of Xij, where Xij > 0.

99
Objective is to minimize the cost of transportation.
i.e, minimize 2X11 + 3X12 + 11X13 + 7X14
+ X21 + 0X22 + 6X23 + X24
+ 5X31 + 8X32 + 15X33 + 9X34
In general, we can say that if cij is the unit cost of shipping from ith source
to jth destination, the objective is
Constraints are:
(i) Because of availability or supply:
X11 + X12 + X13 + X14 = 6 (for milk plant 1)
X21 + X22 + X23 + X24 = 1 (for milk plant 2)
X31 + X32 + X33 + X34 = 10 (for milk plant 3)
Thus, in all, there are 3 constraints (equal to the number of plants).
In general, there will be m constraints if number of origins is m, which can
be expressed as
∑ 𝑋 =𝑆 i = 1, 2, 3, …, m
(ii) Because of requirement or demand
X11 + X21 + X31 = 7 (for distribution centre 1)
X12 + X22 + X32 = 5 (for distribution centre 2)
X13 + X23 + X33 = 3 (for distribution centre 3)
X14 + X24 + X34 = 2 (for distribution centre 4)
In general, there are n constraints if the number of destinations is n, which
can be expressed as
∑ 𝑋 =𝐷 j = 1, 2, 3, …, n
Thus we find that the given situation involves (3 × 4 = 12) variables and
(3 + 4 = 7) constraints. In general, such a situation will involve (m × n) variables and
(m + n) constraints. However, because the transportation model is always
balanced, one of these constraints must be redundant. Thus, the starting basic
feasible solution consists of m + n - l basic variables.
It can be easily seen that in this model the objective function as well as the
constraints are linear functions of the variables and, therefore, the model can be
solved by simplex method. However, as a large number of variables are involved,
computations required will be much more. The following points may be noted in a
transportation model:
1. All supply as well as demand constraints are of equality type.
2. They are expressed in terms of only one kind of unit.
3. Each variable occurs only once in the supply constraints and only once in
the demand constraints.
4. Each variable in the constraints has unit coefficient only.

100
Therefore, the transportation model is a special case of general L.R model
where in the above four conditions hold good and can be solved by a special
technique called the transportation technique which is easier and shorter than
the simples technique.
Initial basic feasible solution by North West Corner rule
Following the N-W corner method as explained earlier, one proceeds as
follows:

Distribution Canters

1 2 3 4 Supply

1 2 3 11 7 6 / 10
Plants (6)

2 1 0 6 1 1/0
(1)

3 5 8 15 9 10 / 5 / 2 / 0
(5) (3) (2)

Requirement 7/1/0 5/0 3/0 2/0

1. Set X11 equal to 6, namely, the smaller of the amounts avaiblable at S1 (6) and
that needed at D1 (7)
2. Proceed to cell (2, 1) (rule c). Compare the number of units available at S2
(namely 1) with the amount required at D1 (1) and accordingly set X21 = 1. Also
set X22 = 0 as per rule (b) above.
3. Proceed to cell (3, 2) (rule b). Now supply from plant S3 is 10 units while the
demand for D2 is 5 units; accordingly set X32 equal to 5.
4. Proceed to cell (3, 3) (rule a) and allocate 3 there.
5. Proceed to cell (3, 4) (rule a) and allocate 2 there.
It can be easily seen that the proposed solution is a feasible solution since all
supply and demand constraints are fully satisfied. In this method, allocations have
been made to various cells without any consideration of the cost of transportations
associated with them. Hence, the solution obtained may not be the most economical.
The transportation cost associated with this solution is
Z = [2 × 6 + 1 × 1 + 8 × 5 + 15 × 3 + 9 × 2] × 100 = 11,600$
Note that the quantities allocated are put in parenthesis and they represent the
values of the corresponding decision variables. These cells are called basic or
allocated or occupied or loaded cells. Cells without allocations are called non-basic
or vacant or empty or unoccupied or unloaded cells. Values of the corresponding
variables are all zero in these cells.

101
Initial basic feasible solution by Least-Cost Method
This method consists in allocating as much as possible in the lowest cost
cell/cells and then further allocation is done in the cell/cells with second lowest cost
and so on. In case of tie among the cost, select the cell where allocation of more
number of units can be made. Consider the matrix for the problem under study.

Distribution Canters

1 2 3 4 Supply

1 2 3 11 7 6 / 10
Plants (6)

2 1 0 6 1 1/0

3 5 8 15 9 10 / 9 / 5 / 2 / 0
(1) (5) (3) (2)

Requirement 7/1/0 5/4/0 3/0 2/0

Here, the lowest cost cell is (2, 2) and maximum possible allocation (meeting
supply and requirement positions) is made here. Evidently, maximum feasible
allocation in cell (2, 2) is (1). This meets the supply position of plant 2.
Therefore, row 2 is crossed out, indicating that no allocations are to be made
in cells (2, 1), (2, 3) and (2, 4).
The next lowest cost cell (excluding the cells in row 2) is (1, 1); maximum
possible allocation of (6) is made here and row I is crossed out. Next lowest cost cell
in row 3 is (3, 1) and allocation of (1) is done here. Likewise, allocations of (4), (2)
and (3) are done in cells (3, 2), (3, 4) and (3, 3) respectively. The transportation cost
associated with this solution is
Z = [2 × 6 + 0 × 1 + 5 × 1 + 8 × 4 + 15 × 3 + 9 × 2] × 100
Z = [12 + 0 + 5 + 32 + 45 + 18] × 100
Z = 11,200
which is less than the cost associated with the solution obtained by N-W corner
method.
Initial basic solution by Vogel's Approximation Method (VAM)
As already discussed earlier, this method consists of the following sub-steps
as follows:
Sub step 1: Write down the cost matrix as shown below.

102
Distribution Canters

1 2 3 4 Supply

1 2 3 11 7 6 [1]
Plants

2 1 0 6 1 1/0 [1]
(1)

3 5 8 15 9 10 [3]

Requirement 7 5 3 2/1

[1] [3] [5] [6]

Enter the difference between the smallest and second smallest element in
each column below the corresponding column and the difference between the
smallest and second smallest element in each row to the right of 'he row.
Put these numbers in brackets as shown. For example, in column 1, the two lowest
elements are 1 and 2 and their difference is 1 which is entered as [1] below column l.
Similarly, the two smallest elements in row 2 are 0 and 1 and their difference 1 is
entered as [1] to the right of row 2. A row or column "difference" can be thought of
a penalty for making allocation in second smallest cost cell instead of smallest cost
cell. In other words this difference indicates the unit penalty incurred by failing to
make an allocation to the smallest cost cell in that row or column. In case the
smallest and second smallest elements in a row/column are equal, the penalty should
be taken as zero.
Substep 2: Select the row or column with the greatest difference and allocate
as much as possible within the restrictions of the rim conditions to the lowest
cost cell in the row or column selected.
In case of tie among the highest penalties, select the row or column having
minimum cost. In case of tie in the minimum cost also, select the cell which can
have maximum allocation. If there is tie among maximum allocation cells also,
select the cell arbitrarily for allocation. Following these rules yields the best possible
initial basic feasible solution and reduces the number of iterations required to reach
the optimal solution. Thus since [6] is the greatest number in brackets, we choose
column 4 and allocate as much as possible to the cell (2, 4) as it has the lowest cost 1
in column 4. Since supply is 1 while the requirement is 2, maximum possible
allocation is (1).
Substep 3: Cross out of the row or column completely satisfied by the
allocation just made. For the assignment just made at (2, 4), supply of plant 2 is
completely satisfied. So, row 2 is crossed out and the shrunken matrix is written
below.

103
Distribution Canters

1 2 3 4 Supply
Plants 2 3 11 7 6/1
1 (5)

3 5 8 15 9 10 [3]

Requirement 7 5 3 2/1

[3] [5] [4] [2]

This matrix consists of the rows and columns where allocations have not yet
been made, including revised row and column totals which take the already made
allocation into account.
Substep 4: Repeat steps 1 to 3 until all assignments have been made.
a) Column 2 exhibits the greatest difference of [5]. Therefore, we allocate
(5) units to cell (1, 2), since it has the smallest transportation cost in
column 2. Since requirements of column 2 are completely satisfied, this
column is crossed out and the reduced matrix is written again.

Distribution Canters

1 3 4 Supply
Plants 2 11 7 1/0 [5]
1 (1)

3 5 15 9 10 [4]

Requirement 7/6 3 1

[3] [4] [2]

b) Differences are recalculated. The maximum difference is [5]. Therefore,


we allocate (1) to the cell (1, I) since it has the lowest cost in row 1.
Since requirements of row 1 are fully satisfied, it is crossed out and the
reduced matrix is written below.
c) As cell (3, 1) has the lowest cost 5, maximum possible allocation of (6) is
made here. Likewise, next allocation of (1) is made in cell (3, 4) and (3)
in cell (3, 3) as shown.

104
Distribution Canters

Plants 1 3 4 Supply

3 5 15 9 10 / 0
(6) (3) (1)

Requirement 6/0 3/0 1/0

All allocations made during the above procedure are shown below in the
allocation matrix.

Distribution Canters

1 2 3 4 Supply

1 2 3 11 7 6
Plants (1) (5)

2 1 0 6 1 1
(1)

3 5 8 15 9 10
(6) (3) (1)

Requirement 7 5 3 2

The above repetitions can be made in a single matrix as shown.

Distribution Canters

1 2 3 4 Supply

1 2 3 11 7 6/1/0 [1] [1] [5]


Plants

(1) (5)

2 1 0 6 1 1/0 [1]
(1)

3 5 8 15 9 10/4/3/0 [3] [3] [4]


(6) (3) (1)

7/6/0 5/0 3/0 2/1/0

[1] [3] [5] [6]

[3] [5] [4] [2]

[3] [4] [2]

105
The cost of transportation associated with the above solution is
Z = [2 × 1 + 3 × 5 + 1 × 1 + 5 × 6 + 15 × 3 + 9 × 1) × 100 = 10, 200
which is evidently the least of all the values of transportation cost found by different
methods. Since Vogel's approximation method results in the most economical initial
feasible solution, we shall use this method for finding such a solution for all
transportation problems henceforth.

Example 2
Solve Example 1 by the transportation technique.
Solution
The transportation technique involved representing the problem in the form
of a matrix, finding initial basic feasible solution, testing the solution for optimality
and, if required, making iterations to arrive at an optimal solution.

Step I. Set up the transportation matrix


This consists in expressing supply from origins, requirements at destinations
and cost of shipping from origins to destinations in the form of matrix shown below.
A check is made to balance the supply and requirements. If they are equal, the
problem is said to be balanced or self-contained. If not, a dummy origin or
destination (as the case may be) is added to balance the supply and demand. The
following table represents the transportation table for the given problem.

Distribution Canters

1 2 3 4 Supply

1 2 3 11 7 6
Plants
(Origins)
2 1 0 6 1 1

3 5 8 15 9 10

17
Requirements 7 5 3 2
(Total)

Step II. Find an initial basic feasible solution


It can be found by any of the three methods discussed in example 1. Vogel’s
approximation method yields the best solution. It is reproduced in the following
table.

106
Distribution Canters

1 2 3 4 Supply

1 2 3 11 7 6
Plants (1) (5)
(Origins)
2 1 0 6 1 1
(1)

3 5 8 15 9 10
(6) (1)

Requirements 7 5 3 2

The associated transportation cost is 10,200.

Step III: Perform Optimality Test


Make an optimality test to find whether the obtained feasible solution is
optimal or not. An optimality test can, of course, be performed only on that feasible
'solution in which
a) Number of allocations is m + n – 1, where m is the number of rows and n
is the number of columns. [n, the given situation, m = 3 and n = 4 and
number of allocations is 6 which is equal to (m + n - 1) (3 + 4 - 1 = 6).
Hence optimality test can be performed.
b) These (m + n – 1) allocations should be in independent positions.
A look at the feasible solution of the problem under consideration indicates
that all the allocations are in independent positions as it is impossible to increase or
decrease any allocation without either changing the position of the allocations or
violating the row and column restrictions. For example, if the allocation in cell (l, 1)
is changed from (1) to (3), the allocation in cell (1, 2) must be changed from (5) to
(3) in order to satisfy the row restriction. Similarly, the allocation in cell (3, 1) must
be changed from (6) to (4) in order to meet the column restriction. This will, in turn,
require changes in the allocations of cell (3, 3) and/or cell (3, 4).
A simple rule for allocations to be in independent positions is that it is
impossible to travel from any allocation, back to itself by a series of horizontal
and vertical jumps from -o&' occupied cell to another, without a direct reversal of
route. For instance, the occupied cells in table are not in independent positions
because the cells (2, 2), (2, 3), (3, 3) and (3, 2) from a closed loop.
Now test procedure for optimality involves examination of each vacant cell
to find whether or not making an allocation in it reduces the total transportation cost.
The u – v method or the modified distribution (MODI) method or unit cost penalty
used for performing test consists of the following sub steps:

107
In the modified distribution method, cell evaluations of all the unoccupied
cells are calculated simultaneously and only one closed path for the most negative
cell is traced. Thus it provides considerable time saving over the stepping-stone
method. This method consists of the following sub steps:
Substep 1: Set-up a cost matrix containing the unit costs associated with the
cells for which allocations have been made. This matrix for the present example is

2 3
Cost matrix for
1
allocated cell
5 15 9

Substep 2: Introduce dual variables corresponding to the supply and demand


constraints. If there are m origins and n destinations, there will be m + n dual
variables. Let ui (i = 1, 2, ..., m) and vj (j = 1, 2, ..., n) be the dual variables
corresponding to supply and demand constraints. Variables ui and vj are such that
ui + vj = cij for all occupied cells.
Therefore, enter a set of numbers ui (i = 1, 2, 3) along the left of the matrix
and vj (j = 1, 2, 3, 4) across the top of the matrix so that their sums equal the costs
entered in substep 1. Thus,
u1 + v1 = 2 ul + v2 = 3,
u2 + v4 = 1, u3 + v1 = 5,
u3 + v3 = 15, and u3 + v4 = 9.
Since number of dual variables are m + n (3 + 4 = 7 in the present problem)
and number of allocations (in a non-degenerate solution) are m + n – 1 (3 + 4 – 1 = 6
in the present problem), one variable is assumed arbitrarily.
Let vi = 0. Therefore, from the above equations
u1=2, v2= 1, u3=5, v3=10, v4 = 4, u2 = -3
Therefore, the matrix may be written as
vj
0 1 10 4
ui
2 2 3

-3 ui and vj matrix
1
for allocated cells
5 5 15 9

Substep 3: Fill the vacant cells with the sums of ui and vj.

108
vj
0 1 10 4
ui
2 12 6

-3 ui and vj matrix
-3 -2 7
for vacant cells
5 6

Substep 4: Subtract the cell values of the matrix of substep 3 from the
original cost matrix.

11 – 12 7–6 -1 1

1+3 0+2 6–7 → 4 2 -1

8–6 2

The resulting matrix is called cell evaluation matrix.


Substep 5: Signs of the values in the cell evaluation matrix indicate whether
optimal solution has been obtained or not. The signs have the following
significance:
a) A negative value in an unoccupied cell indicates that a better solution can
be obtained by allocating units to this cell.
b) A positive value in an unoccupied cell indicates that a poorer solution
will result by allocating units to the cell.
c) A zero value in an unoccupied cell indicates that another solution of the
same total value can be obtained by allocating units to this cell. In the
present example since two cell evaluations are negative. It is possible to
obtain a better solution by making these cells as basic cells.

Step IV: Iterate Towards an Optimal Solution


This involves the following substeps:
Substep 1: From the cell evaluation matrix, identify the cell with the most
negative cell evaluation. In the present problem both the tied cells will have the
same maximum allocation of 1 unit. Hence cell (1, 3) is selected arbitrarily. This is
the rate by which total transportation cost can be reduced if one unit is allocated this
cell; in case more units are allocated, the cost will come down proportionately.
Therefore,-as many units as possible (keeping in mind the rim conditions) will be
allocated to this cell to bring down the cost by maximum amount.
Substep 2: Write down again the initial basic feasible solution that is to be
improved.

109
– +
6
(1) (5) √

(1) 1

(6) (3)
(1) 10
+ –

7 5 3 2

Check mark (√) the empty cell for which the cell evaluation is most negative. This is
the cell chosen in substep 1 and is called identified cell.
Substep 3: trace a path in the matrix consisting of a series of alternative
horizontal and vertical lines. The path begins and terminates in the identified cell.
All corners of the path lie in the cells for which allocations have been made. The
path may skip over any number of occupied or unoccupied cells.
Substep 4: Mark the indetified cell as positive and each occupied cell at the
corners of the path alternately –ve, +ve, -ve and so on.
Substep 5: Make a new allocation in the identified cell by entering the
smallest allocation on the path that has been assigned a-ve sign. Add and subtract
this new allocation from the cells at the corners of the path, maintaining the row and
column requirements. This causes one basic cell to become zero and other cells
remain non-negative. The basic cell, whose allocation has been made zero, leaves
the solution.

1–1 5 +1 6 5 1 6

1 1 → 1 1

6+1 3–1 1 10 7 2 1 10

7 5 3 2 7 5 3 2

The total cost of transportation for this 2nd feasible solution is


= (3 × 5 + 11 × l + l × 1 + 7 × 5 + 2 × 15+1 × 9) × 100
= (15 + 11 + 1 + 35 + 30 + 9) × 100
This is less than for the first (starting feasible solution)

110
Step V: Check for Optimality
Let us check whether the solution obtained above is optimal or not. This
shall be checked by repeating the steps under `check for optimality' already made. In
the above feasible solution, (a) number of allocations is (m + n – 1) i.e., 6,
(b) these (m + n – 1) allocations are in independent positions.
Above conditions being satisfied, an optimality test can be performed as
follows:
Substep l: Set up the cost matrix containing the costs associated with the
cells for which allocations have been made.
Substep 2: Enter a set of numbers vj along the top of the matrix and a set of
number: ui at the left side so that their sum is equal to costs entered in matrix of
substep 1, shown below:-
vj
0 2 10 4
ui
1 3 11

-3 ui and vj matrix
1
for occupied cells
5 5 15 9

u1 + v2 = 3 u3 + v1 = 5,
u1 + v3 = 11, u3 + v3 = 15,
u2 + v4 = 1, and u3 + v4 = 9.
Let vi = 0. Therefore, from the above equations
u3 = 5, u2 = -3, v3 = 10, u1 = 1, v4 = 4, v2 = 2
Substep 3: Fill the vacant cells with the sums of ui and vj.
vj
0 2 10 4
ui
1 1

-3 ui and vj matrix
-3 -1 7
for vacant cells
5 7

Substep 4: Subtract the cell values of this matrix from the original cost
matrix.
The resulting matrix is called the cell evaluation matrix (right)

111
2–1 7–5 1 2

1+3 0+1 6–7 → 4 1 -1

8–7 1

Substep 5: Since one cell value is -ve, the 2nd feasible solution is not optimal.

Step VI: Iterate Towards an Optimal Solution


This involves the following substeps:
Substep 1: In the cell evaluation matrix, identify the cell with the most
negative entry. It is the cell (2, 3).
Substep 2: Write down again the feasible solution in question.

5 1

+ –

√ 1

2 1

– +

Mark the empty cell (√) for which the evaluation is negative is called identified cell.
Substep 3: Trace the path shown in the matrix.
Substep 4: Mark the identified cell as +ve and others alternately -ve and +ve.
Substep 5: Make the new allocation in the identified cell by entering the
smallest allocation on the path which has been assigned negative sign. Subtract and
add this amount from other cells.

5 1 5 1

+1 1–1 → 1

7 2–1 1+1 7 1 2

For this allocation matrix the transportation cost is


Z = (5 × 3 + 1 × 11 + 1 × 6 + 1 × 15 + 2 × 9 + 7 × 5) ×100 = 10,000.
Thus it is a better solution. Let us see if it is an optimal solution

112
Step VII: Test for Optimality
In the above feasible solution
(a) Number of allocations is m + n – 1 i.e., 6.
(b) These m + n – 1 allocations are in independent positions. Hence repeat
the following substeps:
Substep 1: Set-up the cost matrix containing costs associated with cells for
which allocations have been made.
vj
0 2 10 4
ui
1 3 11

-4 Initial cost matrix


6
for occupied cells
5 5 15 9

Substep 2: Enter a set of numbers vj and ui such that:


u1 + v2 = 3 u3 + v1 = 5,
u1 + v3 = 11, u3 + v3 = 15,
u2 + v3 = 6, and u3 + v4 = 9.
Let v1 = 0. Therefore, from the above equations
u3 = 5, u2 = -4, v3 = 10, u1 = 1, v4 = 4, v2 = 2
vj
0 2 10 4
ui
1 1 5

-4 Initial cost matrix


-4 -2 0
for vacant cells
5 7

Substep 3: Fill up the vacant cells also as shown above.


Substep 4: Subtract the cell values of the above matrix from the original cost
matrix.

2–1 7–5 1 2

1+4 0+2 1–0 → 5 2 1

8–7 1

113
Substep 5: Since the cell values are positive, the third feasible solution given
is the optimal solution.

Distribution Canters

1 2 3 4 Supply

1 2 3 11 7 6
Plants (5) (1)
(Origins)
2 1 0 6 1 1
(1)

3 5 8 15 9 10
(7) (1) (2)

Requirements 7 5 3 2

Therefore the optimal solution is:


Distribution No. of units Transportation Total transportation
centre transported Cost/unit cost
2 5 300 1,500
3 1 1,100 1,100
3 1 600 600
1 7 ;00 3,500
3 1 1,500 1,500
4 2 900 1,800
10,000

114
115
Chapter 7
The Assignment Model
An assignment problem concerns as to what happens to the effectiveness
function when we associate each of a number of `origins' with each of the same
number of `destinations'. Each resource or facility (origin) is to be associated with
one and only one job (destination) and associations are to be made in such a way so
as to maximize (or minimize) the total effectiveness. Resources are not divisible
among jobs, nor are jobs divisible among resources.
The assignment problem may be defined as follows:
Given n facilities and n jobs and given the effectiveness of each facility for
each job, the problem is to assign each facility to one and only one job so as
to optimize the given measure of effectiveness.
The following table represents the assignment of n facilities (machines) to
n jobs cij is cost of assigning ith facility to jth job and cij represents the assignment of
ith facility to jth job. If ith facility can be assigned to jth job, xij = 1 otherwise zero. The
objective is to make assignments that minimize the total assignment cost or
maximize the total associated gain.

Jobs
1 2 … n ai Supply
1 C11 C12 … C1n 1
Facilities
2 C21 C22 … C2n 1
: : : : : :
m Cm1 Cm2 … C3n 1
Demand bj 1 1 … 1

Thus, an assignment problem can be represented by n × n matrix which


constitutes n: possible ways of making assignments. One obvious way to find the
optimal solution is to write all the n! possible arrangements, evaluate the cost of
each and select the one involving the minimum cost. However, this enumeration
method is extremely slow and time consuming even for small values of n.
For example, for n = 10, a common situation, the number of possible
arrangements is 10! = 3,628,800. Evaluation of so large a number of arrangements
will take a prohibitively large time. This confirms the need for an efficient
computational technique for solving such problems.

116
Mathematical Representation of Assignment Model
Mathematically, assignment model can be expressed as follows:
Let

0, if the ith facility is not assigned to jth job,


xij =
0, if the ith facility is assigned to jth job,

Then the model is given by

𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑒 𝑍 = 𝐶 𝑥 = 𝐶 𝑥 ,

Subject to constraints ∑ 𝑥 = 1, i = 1, 2, 3 … n
∑ 𝑥 = 1, i = 1, 2, 3 … n
And xij = 0 or 1

COMPARISON WITH THE TRANSPORTATION MODEL


An assignment model may be regarded as a special case of the transportation
model. Here, facilities represent the 'sources' and jobs represent the `destinations'.
Number of sources is equal to the number of destinations, supply at each source is
unity (a; = 1 for all a) and demand at each destination is also unity (b, = 1, for all j).
The cost of `transporting' (assigning) facility i to job j is cij and the number of
units allocated to a cell can be either one or zero, i.e. they are non-negative
quantities. However, the transportation algorithm is not very useful to solve this
model because of degeneracy. In this model, when an assignment is made, the row
as well as column requirements are satisfied simultaneously (rim conditions being
always unity), resulting in degeneracy. Thus, the assignment problem is a
completely degenerate form of the transportation problem.
In n × n problem, there will be n assignments instead of n + n – 1 or 2n – 1
and we will have to fill in 2n – 1 – n = n – 1 epsilons which will make the
computations quite cumbersome. However, the special structure of the assignment
model allows a more convenient and simple method of solution.

The Assignment Algorithm


Hungarian method or reduced matrix method or Flood’s technique is used
for solving assignment problem. It involves a rapid reduction of the original matrix
and finding a set of n independent zeroes, one in each row and column, which
results in an optimal solution. The method consists of the following steps:

117
1. Prepare a square matrix. This step will not be required for n × n assignment
problems. For m × n (m ≠ n) problems, a dummy column, or a dummy row is added
to make the matrix square.
2. Reduce the matrix. Subtract the smallest element of each row from all the
elements of the row. Examine if there is at least one zero in each row and in each
column. If not, subtract the minimum element of the column(s) not containing zero
from all the elements of that column(s).
3. Cheek whether an optimal assignment can be made in the reduced matrix or
not. For this
a) Examine rows successively until a row with exactly one unmarked zero is
obtained. Make an assignment to this single zero by making square ()
around it. Cross (×) all other zeros in the same column as they will not be
considered for making any more assignment S in that column. Proceed in this
way until all rows have been examined.
b) Now examine columns successively until a column with exactly one
unmarked zero is found. Make an assignment there by making a square ()
around it and cross (×) any other zeros in the same row.
In case there is no row or column containing single unmarked zero (they
contain more than one unmarked zero), mark square () around any unmarked zero
arbitrarily and cross (×) all other zeros in its row and column Proceed in this manner
till there is no unmarked zero left in the cost matrix.
Repeat sub-steps (a) and (b) till one of the following two things occur:
(i) There is one assignment in each row and in each column. In this case
the optimal assignment can be made in the current solution, i.e. the
current feasible solution is an optimal solution. The minimum number
of lines crossing all zeros is n, the order of the matrix.
(ii) There is some row and/or column without assignment. In this case
optimal assignment cannot be made in the current solution. The
minimum number of lines crossing all zeros must be obtained in this
case by following step 4.
4. Find the minimum number of lines crossing all zeros. This consists of the
following sub steps:
a) Mark (√) the rows that do not have assignments.
b) Mark (√) the columns (not already marked) that have zeros in marked rows.
c) Mark (√) the rows (not already marked) that have assignments in marked
columns.
d) Repeat sub-steps (b) and (c) till no more rows or columns can be marked.
e) Draw straight lines through all unmarked rows and marked columns. This
gives the minimum number of lines crossing all zeros. If this number is
equal to the order of the matrix, then it is an optimal solution, otherwise go
to step 5.

118
5. Iterate towards the optimal solution. Examine the uncovered elements.
Select the smallest element and subtract it from all the uncovered elements. Add this
smallest element to every element that lies at the intersection of two lines. Leave the
remaining elements of the matrix as such. This yields second basic feasible solution.
6. Repeat steps 3 through 5 successively until the number of lines crossing all
zeros becomes equal to the order of the matrix. In such a case every row and column
will have one assignment. This indicates that an optimal solution has been obtained.
The total cost associated with this solution is obtained by adding the original costs in
the assigned cells.

Example 1
A machine tool company decides to make four subassemblies through four
contractors. Each contractor is to receive only one subassembly. The cost of each
subassembly is determined by the bids submitted by each contractor and is shown in
the following table.
Contractors
1 2 3 4
1 15 13 14 17
Subassemblies
2 11 12 15 13
3 13 12 10 11
4 15 17 14 16

i) Formulate the mathematical model for the problem.


ii) Show that the assignment model is a special case of the transportation model.
iii) Assign the different subassemblies to contractors to minimize the total cost.

Solution
Formulation of the Model
Step I
Key decision is what to whom i.e., which subassembly is assigned to which
contractor or what are the `n' optimum assignments on 1–1 basis.
Step II
Feasible alternatives are n! possible arrangements for n × n assignment
situation. In the given situation there are 4! different arrangements.
Step II
Objective is to minimize the total cost involved,
i.e. 𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑒 𝑍 = ∑ ∑ 𝐶 𝑥

119
In the given situation the objective is
𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑒 𝑍 = ∑ ∑ 𝐶 𝑥
Step IV
Constraints: (a) Constraints on subassemblies are
x11 + x12 + x13 + x14 = 1,
x21 + x22 + x23 + x24 = 1,
x31 + x32 + x33 + x34 = 1,
x41 + x42 + x43 + x44 = 1,

(b) Constraints on subassemblies are


x11 + x21 + x31 + x41 = 1,
x12 + x22 + x32 + x42 = 1,
x13 + x23 + x33 + x34 = 1,
x14 + x24 + x34 + x44 = 1,

Comparing this model with the transportation model


We find that ai = 1 and bi = 1. Thus, the assignment model can be
represented as in the following table. Therefore, the assignment model is a special
case of the transportation model in which
1. All right-hand side constants in the constraints are unity i.e., ai = l, bi = l.
Contractors
1 2 3 4 Supply ai
Subassemblies
(jobs, tasks, 1 15 13 14 17 1
or 2 11 12 15 13 1
requirements)
3 13 12 10 11 1
4 15 17 14 16 1
Demand bj 1 1 1 1
2. All coefficients of xij in the constraints are unity.
3. m = n.

Solution of the Model


Step I
Prepare a Square Matrix: Since the situation involves a square matrix, this
step is not necessary.
Step II
Reduce the Matrix: This involves the following substeps:

120
Substep 1: In the effectiveness matrix, subtract the minimum element of each
row from all the elements of that row. The resulting reduced matrix will have at
least one zero element in each row. Check if there is at least one zero element in
each column also. If so, stop here. If not, proceed to substep 2.
Substep 2: Mark the columns that do not have zero element. Now subtract
the minimum element of each such column from all the elements of that column.
In the given situation, the minimum element in first row is 13. So, we
subtract 13 from all the elements of the first row. Similarly we subtract 11, 10 and
14 from all the elements of row 2, 3 and 4 respectively. This gives at least one zero
in each row as shown in the following table.
Contractors
1 2 3 4
1 2 0 1 4
Subassemblies
2 0 1 4 2
3 3 2 0 1
4 1 3 0 2
Since column 4 has no zero element. We go to substep 2 and subtract the
minimum element 1 from all its elements. The following table represents the
resulting reduced matrix that contains at least one zero element in each row and in
each column.
Contractors
1 2 3 4
1 2 0 1 4
Subassemblies
2 0 1 4 1
3 3 2 0 0
4 1 3 0 1
Initial basic feasible solution
Step III
Check if Optimal Assignment can be made in the Current Solution or not
Basis for making this check is that if the minimum number of lines crossing
all zeros is less than n (in our example n = 4), then an optimal assignment cannot
be made in the current solution. If it is equal to n (= 4), then optimal assignment
can be made in the current solution.
Approach for obtaining minimum number of lines crossing all zeros consists
of the following substeps:

121
Substep 1: Examine rows successively until a row with exactly one
unmarked zero is found. Make a square () around this zero, indicating that an
assignment will be made there. Mark (×) all other zeros in the same column showing
that they cannot be used for making other assignments. Proceed in this manner until
all rows have been examined.
In the given problem, row 1 has a single unmarked zero in column 2. Make
an assignment there by enclosing this zero by a square (). It means subassembly 1
is assigned to contractor 2. Since contractor 2 has been assigned sub assembly 1 and
as a contractor can be assigned only one subassembly, any other zero in column 2 is
crossed. Since there is no other zero in this column, crossing is not required. Next,
row 2 has a single unmarked zero in column 1, make an assignment. Row 4 has a
single unmarked zero in column 3, make an assignment and cross the 2nd zero in
column 3. Now, row 3 has a single unmarked zero in column 4, make an assignment
here. This is shown in the matrix below.
Contractors
1 2 3 4
1 2 0 1 4
Subassemblies
2 0 1 4 1
3 3 2 0 0
4 1 3 0 1
Substep 2: Next examine columns for single unmarked zeros, making them
() and also marking (×) any other zeros in their rows. In case there is no row or
column containing single unmarked zero (there are more than one unmarked zeros),
mark (0) one of the unmarked zeros arbitrarily and (×) all other zeros in its row and
column. Repeat the process till no unmarked zero is left in the cost matrix.
Substep 3: Repeat substeps 1 and 2 till one of the two things occurs:
a) There may be no row and no column without assignment i.e., there is
one assignment in each row and in each column. In such a case the optimal
assignment can be made in the current solution i.e., the current feasible solution is
an optimal solution. The minimum number of lines crossing all zeros will be equal
to `n'.
b) There may be some row and/or column without assignment. Hence
optimal assignment cannot be made in the current solution. The minimum number of
lines crossing all zeros must be obtained in this case.
In the present example, substeps 2 and 3 are not necessary since there is no
column left unmarked. Since there is one assignment in each row and in each
column, the optimal assignment can be made in the current solution. Thus, minimum
total cost is = (13 × I + 11 × 1 + 11 × 1 + 14 × 1) × 100 = 4,900 and the optimal
assignment policy is

122
Subassembly 1 Contractor 2
Subassembly 2 Contractor 1
Subassembly 3 Contractor 4
Subassembly 4 Contractor 3

The minimal cost of 4,900 can also be determined by summing up all the
elements that were subtracted during the solution procedure i.e. = [(13 + 11 + 10 +
14) + 1] × 100 = 4,900.

Example 2
Four different jobs can be done on four different machines. The set up and
take down time costs are assumed to be prohibitively high for change overs. The
matrix below gives the costs of producing a job i on machine j.
Machines
M1 M2 M3 M4
J1 5 7 11 6
Jobs
J2 8 5 9 6
J3 4 7 10 7
J4 10 4 8 3
How should the jobs be assigned to the various machines so that the total
cost is minimized? Represent the problem as an L.P. problem.

Solution
Formulation of the Model
Step I
Key decision is what to whom i.e., which subassembly is assigned to which
contractor or what are the `n' optimum assignments on 1–1 basis.
Step II
Feasible alternatives are n! possible arrangements for n × n assignment
situation. In the given situation there are 4! different arrangements.
Step II
Objective is to minimize the total cost involved,
i.e. 𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑒 𝑍 = ∑ ∑ 𝐶 𝑥 , In the given situation the objective is
𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑒 𝑍 = ∑ ∑ 𝐶 𝑥

123
Step IV
Constraints: (a) Constraints due to jobs are
x11 + x12 + x13 + x14 = 1, x21 + x22 + x23 + x24 = 1,
x31 + x32 + x33 + x34 = 1, x41 + x42 + x43 + x44 = 1,
(b) Constraints due to machines are
x11 + x21 + x31 + x41 = 1, x12 + x22 + x32 + x42 = 1,
x13 + x23 + x33 + x34 = 1, x14 + x24 + x34 + x44 = 1,

Solution of the Model


Step I
Prepare a Square Matrix: Since it involves a square matrix, it isn’t necessary.
Step II
Reduce the Matrix: we get the following tables:
M1 M2 M3 M4 M1 M2 M3 M4
J1 0 2 6 1 J1 0 2 2 1
J2 3 0 4 1 J2 3 0 0 1

J3 0 3 6 3 J3 0 3 2 3
J4 7 1 5 0 J4 7 1 1 0
Matrix after step 1 First feasible solution
(contains no zero in col 3) (Matrix after step 2)
Step III
Check if Optimal Assignment can be made in the Current Solution or not
In the present example, after following substeps 1 and 2, we find that their
repetition is unnecessary and row 3 and column 3 are without any assignments (as
shown in the following matrix). Hence, we proceed as follows to find the minimum
number of lines crossing all zeros:
M1 M2 M3 M4
J1 0 2 2 1
J2 3 0 0 1
J3 0 3 2 3
J4 7 1 1 0
Substep 1: Mark (√) the rows for which assignment has not been made. In
our problem it is the third row.

124
Substep 2: Mark (√) columns (not already marked) which have zeros in
marked rows. Thus column 1 is marked (√).
Substep 3: Mark (√) rows (not already marked) which have assignments in
marked columns. Thus row 1 is marked (√).
Substep 4: Repeat steps 2 and 3 until no more marking is possible. In the
present case this repetition is not necessary.
Substep 5: Draw lines through all unmarked rows and through all marked
columns. This gives the minimum number of lines crossing all zeros. If the
procedure is correct, there will be as many lines as the number of assignments. In
this example, number of such lines is 3 which is less than n (n = 4). Hence optimal
assignment is not possible in the current solution.
M1 M2 M3 M4
J1 0 2 2 1
J2 3 0 0 1
J3 0 3 2 3
J4 7 1 1 0

Step IV
Iterate Towards Optimally
Examine the elements that do not have a line though them. Select the
smallest of these elements and subtract if from all the elements that do not have a
line through them. Add this smallest element to every element that lies at the
intersection of two lines. Leave the remaining elements of the matrix unchanged.
Proceeding in this manner we got the following matrix:
M1 M2 M3 M4
J1 0 2 2 1
J2 3 0 0 1
J3 0 3 2 3
J4 7 1 1 0
Step V
Check if Optimal Assignment can be made in the Current Feasible Solution
or not
Repeating step III i.e., substeps 1 through 5 we get

125
M1 M2 M3 M4
J1 0 1 1 0
J2 4 0 0 1
J3 0 2 1 2
J4 8 1 1 0

Since the number of lines passing though all zeros is 3 (<4), optimal
assignments cannot be made in the current solution.
Step VI
Iterate Towards Optimally
M1 M2 M3 M4
J1 0 0 0 0
J2 5 0 0 2
J3 0 1 0 2
J4 8 0 0 0
Step VII
Check if Optimal Assignment can be made in the Current Feasible Solution
or not
Repeating step III i.e., substeps 1 through 5 therein. Since there is no row
with exactly one unmarked zero, we start considering the columns directly.
Make assignment in cell (J1, M1) and delete remaining zeros in row 1 and
column 1. Make assignment in cell (J3, M3) and delete the other zeros in column 3.
Make assignment in cell (J2, M2) and delete other zero in column 2. Make
assignment in cell (J4, M4).
As there is assignment in each row and in each column, optimal assignment
can be made in the current solution. Hence optimal assignment policy is
Job J1 should be assigned to Machine M1.
Job J2 should be assigned to Machine M2.
Job J3 should be assigned to Machine M3.
Job J4 should be assigned to Machine M4.
And optimum cost = 5 + 5 + 10 + 3 = 23.

126
Example 3
Solve the following assignment problem:
I II III IV V
1 11 17 8 16 20
2 9 7 12 6 15
3 13 16 15 12 16
4 21 24 17 28 26
5 14 10 12 11 13

Solution
Step I. Reduce the Matrix
Subtract the minimum element of each row from all elements of the row.
Then subtract the minimum element of each column from all the elements of the
column. Thus we got the following table.
I II III IV V I II III IV V
1 11 17 8 16 20 1 2 9 0 8 9
2 9 7 12 6 15 2 2 1 6 0 6

3 13 16 15 12 16 3 0 4 3 0 1
4 21 24 17 28 26 4 3 7 0 11 6
5 14 10 12 11 13 5 3 0 2 1 0
Matrix containing zero in every row
Matrix containing zero in every row
as well as column
Step II. Check if Optimal Assignment can be made in the Current Solution or not
As the number of assignments reached is less than n (= 5), the order of the
matrix, optimal assignment is not possible in the current solution. We now draw the
minimum number of lines crossing all zeros. Proceeding as in example 2, it is found
that the minimum number of lines crossing all zeros is 4.
Step III. Iterate Towards Optimally
In the last matrix, the minimum element that does not have a line through it
is 2. Subtract it from all the elements which do not have a line though them. Add it
to all the elements that lie at the intersection of two lines and leave the remaining
elements of the matrix unchanged. We get the following table, which is the second
basic feasible solution.

127
I II III IV V
1 0 7 0 6 7
2 2 1 8 0 6
3 0 4 5 0 1
4 1 5 0 9 4
5 3 0 4 1 0
Step IV. Check if Optimal Assignment can be made in the Current Feasible Solution
or not
I II III IV V
1 0 7 0 6 7
2 2 1 8 0 6
3 0 4 5 0 1
4 1 5 0 9 4
5 3 0 4 1 0
As the number of assignments here is 4, which is less than n (=5), the order
of the matrix, optimal assignment is not possible here. Proceeding as in example 2, it
is found that the minimum number of lines crossing all zeros is 4.
Step V. Iterate Towards Optimality
In the previous table, the minimum element that does not have a line through
it is 1. Adding it to elements that lie at the intersection of two lines, subtracting it
from elements that do not have a line through them and keeping the remaining
elements of the matrix unchanged, we get the following table.
I II III IV V
1 0 6 0 6 6
2 2 0 8 0 5
3 0 3 5 0 0
4 1 4 0 9 3
5 4 0 5 2 0
Step VI. Check if Optimal Assignment can be made in the Current Feasible Solution
or not
As the number of assignments is 5 which is also the order of the matrix, the
last table gives optimal feasible solution. The associated minimum cost is = 60.

128
Example 4
Five wagons are available at stations 1, 2, 3, 4 and 5. These are required at
five stations I, II, III, IV and V. The mileages between various stations are given by
the table below. How should be wagons be transported so as to minimize the total
mileage covered?
I II III IV V
1 10 5 9 18 11
2 13 9 6 12 14
3 3 2 4 4 5
4 18 9 12 17 15
5 11 6 14 19 10

Solution
Step I. Reduce the Matrix
I II III IV V I II III IV V
1 5 0 4 13 6 1 4 0 4 11 3
2 7 3 0 6 8 2 6 3 0 4 5

3 1 0 2 2 3 3 0 0 2 0 0
4 9 0 3 8 6 4 8 0 3 6 3
5 5 0 8 13 4 5 4 0 8 11 1
Matrix containing zero in every row
Matrix containing zero in every row
as well as column
Step II. Check if Optimal Assignment can be made in the Current Solution or not
Proceeding as in example 1 and 2, the minimum number of lines crossing all
zeros as given by the last table got is 3. Hence optimal assignment is not possible in
the current solution.
Step III. Iterate Towards Optimally
Proceeding as in example 2, we get the following table.
I II III IV V
1 3 0 3 10 2
2 6 4 0 4 5
3 0 1 2 0 0
4 7 0 2 5 2
5 3 0 7 10 0

129
Step IV. Check if Optimal Assignment can be made in the Current Feasible Solution
or not
Proceeding as in example 2, the minimum number of lines crossing all zeros
as given by the following table is 4. Hence optimal assignment is not possible in the
current solution
I II III IV V
1 3 0 3 10 2
2 6 4 0 4 5
3 0 1 2 0 0
4 7 0 2 5 2
5 3 0 7 10 0
Step V. Iterate Towards Optimality
Proceeding as in example 2, we get the following table
I II III IV V
1 1 0 1 8 0
2 6 6 0 4 5
3 0 3 2 0 0
4 5 0 0 3 0
5 3 2 7 10 0
Step VI. Check if Optimal Assignment can be made in the Current Feasible Solution
or not
Proceeding as in example 2, the minimum number of lines crossing all zero
as given in the following table is 4. Hence optimal assignment is not possible in the
current solution.
I II III IV V
1 3 0 1 8 0
2 6 6 0 4 5
3 0 3 2 0 0
4 5 0 0 3 0
5 3 2 7 10 0
Step VII. Iterate Towards Optimality
Proceeding as in example 2, we got the following table.

130
I II III IV V
1 0 0 1 7 0
2 5 6 0 3 5
3 0 4 3 0 1
4 4 0 0 2 0
5 2 2 7 9 0
Step VIII. Check if Optimal Assignment can be made in the Current Feasible
Solution or not
I II III IV V
1 0 0 1 7 0
2 5 6 0 3 5
3 0 4 3 0 1
4 4 0 0 2 0
5 2 2 7 9 0
Proceeding as in example 2, we find that there is an assignment in every row
and column hence the following table give optimal assignment policy. The
minimum mileage associated with this solution is = 10 + 6 + 4 + 9 + 10 = 39

Variations of the Assignment Problem


1. Non-square matrix (Unbalanced assignment problem): Since Hungarian
method of solution requires a square matrix, fictitious facilities or jobs are
added and zero costs are assigned to the corresponding cells of the matrix.
These cells are treated the same way as the real cells during the solution
procedure.
2. Maximization problem: It has to be reduced to an equivalent minimization
problem before Hungarian method can be applied. This transformation may
be done in either of the following two ways:
a) By subtracting all the elements from the highest element of the matrix
b) By multiplying the matrix elements by -1.
3. Restrictions on assignments: Cells in which assignments are not allowed are
assigned a very heavy cost (e.g., inifinte cost). Such cells are then
automatically excluded from further consideration (making assignments).
4. Alternate optimal solutions: They offere a great flexibility to the
management since it can select the one which is most suitable to its
requirement.

131
Exercises
1. Consider the problem of assigning five operators to five machines. The
assignment costs are given below.
I II III IV V
A 10 5 13 15 16
B 3 9 18 3 6
C 10 7 2 2 2
D 5 11 9 7 12
E 7 9 10 4 12

2. A national car rental service has a surplus of one car in each of the cities 1, 2, 3,
4, 5, 6 and a deficit of one car in each of the cities 7, 8, 9, 10, 11, 12. The
distances in miles between cities with a surplus and cities with a deficit are
displayed in the following matrix. How should the cars be despatched so as to
minimize the total mileage travelled?
7 8 9 10 11 12
1 41 72 39 52 25 51
2 22 29 49 65 81 50
3 27 39 60 51 32 32
4 45 50 48 52 37 43
5 29 40 39 26 30 33
6 82 40 40 60 51 30

3. Four different jobs are to be done on four different machines. The setup and
production times are prohibitively high for change over. The matrix below
indicates the cost of producing job i on machine j.
1 2 3 4
1 5 7 11 6
2 8 5 9 6
3 4 7 10 7
4 10 4 8 3
Assign jobs to different machines so that the total cost is minimized.

132
4. A company is faced with the problem of assigning six different machines to five
different jobs. The costs estimated are given in table below. Solve the problem
when the objective is to minimize the total cost.
1 2 3 4 5
M1 2.5 5 1 6 2
M2 2 5 1.5 7 3
M3 3 6.5 2 8 3
M4 3.5 7 2 9 4.5
M5 4 7 3 9 6
M6 6 9 5 10 6

5. Find the optimal assignment for the assignment problem with the following cost
matrix:
I II III IV
A 5 3 1 8
B 7 9 2 6
C 6 4 5 7
D 5 7 7 6

6. A department has four subordinates and four tasks to be performed. The


subordinates differ in efficiency and tasks differ in their intrinsic difficulty. The
estimates of the profit each man would earn is given in the effectiveness matrix.
How should be the tasks be allocated, one to each man, so as to maximize the
total earnings.
Tasks
I II III IV
subordinates 1 11 17 8 16
2 9 7 12 6
3 13 16 15 12
4 21 24 17 28

133
7. Solve the following assignment problem
I II III IV V
1 11 17 8 16 20
2 9 7 12 6 15
3 13 16 15 12 16
4 21 24 17 28 26
5 14 10 12 11 15

8. Four new machines M1, M2, M3 and M4 are to be installed in a machine shop.
There are five vacant places A, B, C, D and E available. Because of limited
space, machine M2 cannot be placed at C and M3 cannot be placed at A. The
assignment cost of machine i to place j is shown below.
A B C D E
M1 4 6 15 5 6
M2 7 4 - 5 4
M3 - 6 9 6 2
M4 9 3 7 2 3

9. A company has a team of four salesmen and there are four districts where the
company wants to start its business. After taking into account the capabilities of
salesmen and the nature of districts, the company estimates that the profit per
day for each salesman in each district is as below.
1 2 3 4
A 16 10 14 11
B 14 11 15 15
C 15 15 13 12
D 13 12 14 15

10. A company has four territories open and four salesmen available for assignment.
The territories are not equally rich in their sales potential; it is estimated that a
typical salesman operating in each territory would bring in the following annual
sales:

134
Territory Annual sales ($)
I 60,000
II 50,000
III 40,000
IV 30,000
The four salesmen are also considered to differ in ability; it is estimated that
working under the same condition, their yearly sales will be proportionately as
follows:
Salesman Proportion
A 7
B 5
C 5
D 4
If the criterion is maximum expected total sales, the intuitive answer is to assign
the best salesman to the richest territory, the next best salesman to the second
richest, and so on. Verify this answer by the assignment technique.

11. A company has one surplus truck in each of the cities A, B, C, D and E and one
deficit truck in each of the cities 1, 2, 3, 4, 5 and 6. The distance between the
cities in kilometers is shown in the matrix below. Find the assignment of truck
form cities in surplus to cities in deficit so that the total distance covered by the
vehicles is minimum.
1 2 3 4 5 6
A 12 10 15 22 18 8
B 10 18 25 15 16 12
C 11 10 3 8 5 9
D 6 14 10 13 13 12
E 8 12 11 7 13 10

135
References
1. An Introduction to Operations Research. Hamdy Taha.

2. Introduction to Operations Reasech. Hillier Fredrick and Gerald Lieberman.

3. Operations Research. P. Rama Murthy.

4. Handbook for Process Plant Project Engineers. Peter Watermeyer.

5. The Operations Research Problem Solver. M. Fogiel (ed).

6. Operations Research Calculations Handbook. Dennis Blumenfeld.

7. Factory Planning Manual Situation-Driven Production Facility Planning.

Michael Schenk, Siegfried Wirth and Egon Muller.

8. Process Planning and Cost Estimation. R. Kesavan, C. Elanchezhian and

B. Ramnath

9. Production and Operation Management. S. Kumar and N. Suresh.

10. Project Management. Harold Kerzner.

11. Principles of Operations Research. Harvey M. Wagner,

12. Nonlinear and Dynamic Programming. G. Hadley

13. Operations Research. R. Panneerselvam.

14. Operations Research: Principles and Practice. Ravindran, Phillips and Solberg

15. Operations Research. S. Kalavathy

16. Operations Research. Tiwari N.K.

17. Operations Research. K. Swarup.

18. Operations Research: Theory and Application. S. Sharma

136

You might also like