Вы находитесь на странице: 1из 188

COLLEGE OF DEFENCE MANAGEMENT

HDMC - 5

OPERATIONS RESEARCH VOL I

INDEX

Sl Subject Ref No Page


No Nos

1 OR Introduction CDM/OR/Intro 1
2 Problem Formulation CDM/OR/PF 11
3 Linear Programming CDM/OR/LP 17
4 LP-Model Building and Graphical CDM/OR/MBGM 21
Method
5 Sensitivity Analysis CDM/OR/SA 33
6 Goal Programming CDM/OR/GP 43
7 Transportation Model Concept and CDM/OR/TN 59
Finding a Basic Feasible Solution
8 Transportation Problems Finding an CDM/OR/Modi 75
Optimal Solution MODI method.
9 Degeneracy CDM/OR/Degen 97
10 Transhipment Model CDM/OR/Tn Model 101
11 Assignment Model CDM/OR/AM 109
12 Travelling Salesman Model CDM/OR/TSM 123
13 Network Model CDM/NWM 131
14 QM for Windows CDM/OR/QM 153

Additional Reading Material

15 LP Simplex Method CDM/OR/LPS 159


16 Integer Programming CDM/OR/IP 171
17 The Least Time Transportation Model CDM/OR/LTT 177
18 Dynamic Programming CDM/OR/DP 181
1
CDM/OR/Intro

OPERATIONS RESEARCH - INTRODUCTION

General

1. The foundation of Operations Research (OR) was laid during the


Second World War when scientists were attached to the military staff in UK
and USA to help in finding solutions to tactical problems by collecting and
scientifically analysing military data. These scientists made use of the
knowledge available to the scientific world in various disciplines, and where
ready means were not available, went ahead and developed new methods
or techniques or modified existing ones.

2. So far, major applications of OR have been employed in the fields of


military and business. Warfare and business/industry may seem to be
strange bedfellows at first sight. However, a closer look at the background,
history and their basic characteristics reveals many similarities. Both are
concerned with analysis of systems; both involve the allocation of resources
(Men, Materials, Machines, Money, Minutes and Meters); both are
concerned with strategy - the basic disposition of resources and tactics - the
manner of utilising the resources once these have been committed. Finally,
both are concerned with competition/conflict.

Definition

3. An apt definition of OR in the domain of Armed Forces is:-

Employment of scientific methods of analysis to provide commanders


with quantitative basis for making decisions regarding operations
under their control.

Historical Perspective

4. During the Second World War, the British and American forces
realised that military knowledge by itself was not adequate to analyse
military systems for finding the best or optimum solutions to their tactical
problems. Mathematicians and scientists from various disciplines were
attached to the military staff in these two countries. Some examples of type
of work done by these scientists are at Appendix. The usefulness of their
work was acknowledged, and towards the end of the Second World War this
new discipline came to be known as Operational Research or Operational
Analysis.
2
CDM/OR/Intro

Environmental Changes After Second World War

5. After the war, majority of these scientists went back to


business/industry thereby taking the newly acquired knowledge along with
them. This discipline got ready acceptance in industry due to increased
profitability by its use.

6. On the other hand, military activity took a back seat with the major
concern being to de-mobilise rather than equipping and preparing for the
next war. OR activity in the defence services went into the background for
the next two decades.

7. The few OR research workers who stayed on with the defence


services, however, applied themselves to refining old techniques or
developing new ones to meet the changed requirements and environment of
defence forces during the ensuing peace time. Some of these changes
which these OR specialists came across were: -

(a) Change in emphasis from tactical problems to planning


problems.

(b) During war, problems normally relate to effective use of


existing resources. During peace, however, the important problem is
choice and design of future weapon systems, efficient use of
resources, etc.

(c) Arriving at the basis of planning for acquisition of future


weapon systems, and testing their effectiveness under different
conditions by theoretical models/calculations, as at the time of
decision making neither weapons nor war are in existence.

Planning Problems

8. To get a basis for planning the acquisition of future weapon systems


the effectiveness of the systems in different combat situations has to be
estimated by theoretical calculations. During peacetime the military analyst
hardly works with statistical analysis of operational data but instead with
experiments and theoretical calculations of a type, which might differ
considerably between different problems. A typical feature of these
calculations is that they often have to be based on very uncertain data.
Therefore, different methods for planning under uncertainty like sensitivity
analysis, war gaming and simulation techniques have been developed.

Systems

9. The rapid growth in science and technology, and consequently


systems, has led to segmentation of knowledge, increased options, greater
complexity and, hence greater decision problems. This in turn has made it
essential for groups of people (teams) from different but relevant disciplines
3
CDM/OR/Intro

rather than individuals, to be brought together to analyse these complex


systems and work out feasible alternatives for decision makers to choose
from.

10. A system may be defined as a Number of elements interacting with


each other with an aim to achieve given or laid down objectives. Any
system is a part of a bigger system and, is itself composed of a number of
sub-systems. For example, certain weapons may be part of a unit which in
turn forms part of a formation, which itself is a part of another higher system.

Models

11. A model is a simplification of real life. There are broadly three types
of models; physical or iconic models, analogue models and mathematical
models. Physical models look like what they represent, e.g. aircraft and tank
models. In analogue models, certain characteristics are represented by
convenient substitutions like colours and symbols, e.g. map which is an
analogue model of terrain. Mathematical models are a set of equations used
to represent the system of inquiry e.g. if X is the number of personnel
required to operate a weapon system and there are N such weapon
systems, then the total number of personnel required to operate it would be
XN. This is a linear function and may be represented by the equation for a
straight line.

12. Initially, improvements were thought of, tried and tested by a trial and
error method in real life situations. But today in the atomic age, actual trials
would be catastrophic in many cases. Therefore, trials today are carried out
on models on the basis of which predictions about real life are made.
Mathematical models are extensively used in the field of OR.

Characteristics of OR

13. Systems Approach. OR is broad in scope, i.e. it is concerned with an


organisation as a whole rather than with sub-organisation units, e.g.
problems of road move are inter-related with problems of defiles, bottle-
necks, trafficability, speed, road capacity etc. OR attempts to define these
inter-relationships and find a solution which is optimal for the organisation as
a whole.

14. Analytical Approach. OR emphasises development of an


analytical model or technique for solving individual problems. It suggests
development of a model to meet the needs of the problem rather than
modifying the problem to fit a model. It is, however , clarified that it may not
be necessary to develop a new model for every problem as a single model
can represent a number of different systems with similar basic
characteristics.

15. Inter-Disciplinary. It may be possible for an individual to solve


simple/minor problems on his own. However, any problem of magnitude and
4
CDM/OR/Intro

complexity can be best handled by a team with varying background,


experience and disciplinary expertise. It therefore calls for greater team
effort.

16. Deals with Real World. OR is concerned with practical management.


A scientist carrying out pure research may draw his conclusions in scientific
terms or even theoretical concepts. An OR worker handles real life
problems only. He finds a scientific solution, translates it into the language
of real life, draws definite conclusions and makes recommendations to the
decision maker.

OR Methodology

17. Identification of the Problem / Symptoms by the Commander or the


Organisation. This is the start point of any study or analysis of a problem. It
is the symptom of malfunctioning which should be projected to the OR
worker and not the diagnosis of the problem. It is also important that the
Commander at the highest level, who has full control over implementation of
the decision, sponsor the study.

18. Formulation of the Problem. After symptoms or the problems have


been projected to the OR worker, he should be given sufficient time to carry
out a preliminary survey of problem areas. The staff and OR worker should
formulate problems jointly at this stage. Needless to say, a wrong problem
formulation may give us a good answer, but to the wrong question.

19. Data Collection. This is normally a demanding area for any study. A
mass of information is available but it may not be the right kind of information
needed. In any case, it will seldom be in the form in which it is needed by
the study team. The OR worker, must, therefore, be prepared to go out to
the field and collect data, or if required, carry out trials and generate data.
The organisation must also realise and accept the additional burden of
sifting the data and giving the information in the form in which it is required
and also to provide any assistance for trials in generation of data, if needed.
The quality of the results can only be as good as the reliability of the data
provided.

20. Model Building. A model cannot represent all aspects of a real life
system but can be made to represent certain characteristics being tested. A
model, as such, is a simplification of a real life system and a real life system
may require a number of models. A model must behave like the real life
system in the characteristics being tested, and thus the need and importance
of validation of models.

21. To enable the OR worker to get a better insight into the real life
system, very close and constant liaison with the staff is essential. A
knowledgeable person from the organisation or system under study, forming
a full-time member of the study, goes a long way in successful completion
and implementation of a study.
5
CDM/OR/Intro

22. Pay Off Matrix. At this stage the basic approach is to list
alternatives among which a choice (decision) has to be made, and associate
a value with each alternative that measures what the organisation is really
trying to achieve. There may be several values for each alternative
depending upon the state(s) of Nature (factors not under the control of the
decision-maker e.g. enemys courses of action) under which the system is
operating. The alternative giving the maximum value to the organisation is
chosen. In short, the OR analyst presents the alternatives in a quantified
manner to the decision-maker. See table below.

States of Nature
Own Alternatives
S1 S2 S3
A1 V 11 V 12 V 13
A2 V 21 V 22 V 23
A3 V 31 V 32 V 33

A Typical Decision Situation

23. Validation and Implementation. This is perhaps the most important


aspect considering the fact that all the work done so far will have no
meaning unless the chosen alternative is implemented. At this stage, the
commander must consider all aspects related to resistance to change,
management of change etc. talked of at length in the realm of behavioral
sciences. The solution offered by model is validated. Sensitivity analysis is
carried out to ascertain that the model and the solution are relevant to the
situation. This also highlights the importance of choosing the right sponsor,
mentioned earlier in this paper.

24. Monitoring. It is essential from two points of view. Firstly, to check


that the real life system is actually behaving as anticipated and carry out any
marginal changes which may be considered necessary. Secondly, solutions
derived from models remain optimal so long as there is no significant
change. As most real life systems are dynamic and are undergoing change,
monitoring will help us to know when significant changes occur so that a new
optimal solution may be found if so desired.

Techniques of OR

25. Decision situations may be classified into three categories i.e.


Deterministic, Risk and Uncertainty. To cope with the varying degrees of
uncertainty in problem solving, OR workers have progressively used and
developed various categories of techniques. Each of these categories has
a number of techniques or models to solve specific type of problems. Some
of the more commonly used models and their uses are given in the
succeeding paragraphs.
6
CDM/OR/Intro

26. Linear Programming (LP). This is the most commonly used technique
and it deals with allocation of scarce resources in an optimal manner so as
to maximise effectiveness or minimise cost e.g. best mix of weapons, units,
obstacles etc., to achieve a specified objective. An LP model can handle
any number of variables and their constraints simultaneously. Special
models, as variations of LP, have been developed to solve certain specific
types of problems. These are: -

(a) Transportation Model. Matching of sources of supply to


destinations on basis of cost, distance or time e.g. movement of
stores from depots to forward areas; selection of firms for supply of
stores based on availability or cost; or re-deployment of artillery in
least time etc.

(b) Assignment Model. To assign a number of origins to the


same number of destinations at a minimum total cost e.g. assigning
men/machines/units to the same number of jobs/tasks. Cost may be
in terms of time, distance, satisfaction levels or payoffs etc.

27. Dynamic Programming. Deals with finding optimal solution to multi-


stage problems by splitting a major problem into smaller components and
finding a solution by progressively combining two elements at a time till all
variables and their constraints have been taken into account e.g. selection of
best mix of weapons given a number of weapons, with different costs and
effectiveness to choose from; equipment replacement decisions etc.

28. Queuing Models. To determine the amount of servicing facilities to be


provided to reduce delays to acceptable levels, considering random pattern
of arrivals and servicing time; and optimal utilisation of resources, e.g.
number of doctors/beds to be provided in a hospital, operators in a signal
center, berths in a harbour, air strips, refueling of ships at sea, vehicles
crossing a defile, planning loading/unloading facilities, repair facilities etc.

29. Simulation Models. Quantifying risk/probability of occurrence of


phenomenon based on probabilistic estimates. Simulation of behavior
pattern of queues, weapons / weapon systems, outcome of engagements in
battle, breakdown of equipment, repair facilities etc. It is like an
experimental laboratory available to an OR worker and is one of the most
powerful techniques for analysing existing and future systems.

30. Lanchesters Equations. A mathematical technique for analysing


attrition of forces and weapons in battle.

31. Search Theory. To evolve a strategy for carrying out optimal


allocation of resources to maximize chances of success in search of a lost
object, lost aircraft, submarines/ships, making contact with enemy
columns/patrols, etc.

32. Inventory/Replacement Models. These deal with analysing material


and equipment management problems; when to buy, how much to buy, how
much to stock, when to replace an equipment and so on.
7
CDM/OR/Intro

33. Decision Matrix (Expected Value Models). Simultaneously


assessment of feasible and alternative courses of action in the face of a
number of different environments (states of nature) with assessed
probabilities of occurrence e.g. selection of own best course of action from
various alternatives considering different courses of action open to the
enemy.

34. Decision Tree. Basic approach is similar to the decision matrix.


Whereas, decision matrix deals with single point decision problems, the
decision tree analyses sequential problems e.g. multiphase attack/advance
operation.

35. Forced Decision Matrix. To carryout a fair and objective selection of


personnel or equipment/weapons from amongst a number of closely
competing choices against a laid down criteria/or of desired attributes. e.g.
selecting a tank for the Army.

36. Analytic Hierarchy Process (AHP). To carryout a fair and objective


selection of personnel or equipment / weapons against laid down criteria /
desired attributes even if choices are not closely competing. The technique
follows a procedure similar to FDM but allows a wider range of values in
comparison of alternatives.

37. Decision Rules. These deal with the risk taking profile of a
commander, based on which he takes a decision under situations of
uncertainty. A number of rules have been developed to cater for different
risk taking profiles.

38. Game Theory. This technique can be used effectively to analyse


conflict situations (like war), under conditions of uncertainty. The opposing
commander is taken as an intelligent and rational individual. It also takes into
account situations where it is not feasible to make probabilistic estimates
about adoption of various courses of action by the enemy but the payoffs
can be estimated/worked out.

39. Some of the techniques given above have been well developed
whereas others are still in various stages of their development. The list of
techniques discussed above is not exhaustive; there are a number of other
techniques as well.

Military Uses of OR

40. Some of the military uses of OR have been given as examples in the
preceding paragraphs. Major uses to which OR can be put, in the
operational areas of Defence Services, are: -

(a) Weapon assessment/weapon selection.


8
CDM/OR/Intro

(b) To decide whether to make or buy a weapon system and to


carryout an objective selection from amongst closely competing
alternatives.

(c) Development of new weapon systems and equipment


replacement decisions.

(d) Deciding on an optimal mix of weapon systems/forces to


achieve a given objective.

(e) Optimal mix of forces, deployment and tactics to meet a


number of given/assessed enemy courses of action.

(f) Planning for operations and training of commanders and staff;


testing plans, etc.

(g) All situations where optimal utilisation of resources is desirable.

Conclusion

41. OR is a fairly new discipline, which has been used to great advantage
both in the military as well as in business by advanced countries and in the
developing countries in the recent past. It has large potential for application
both in the Defence Services and civil. It should not, however, be treated as
a panacea for all problems and its potential and limitations must be properly
understood. It has broad-based applications in decision making at all levels,
but it can only deal with elements which are quantifiable. It is a growing
discipline. Personality of commanders, which could not be brought into the
analysis till recently, is now being included in some areas being analysed
through war gaming, which employs real life commanders for decision
making.
9
CDM/OR/Intro

Appendix
(Refers to Para 9)

EXAMPLES OF OR IN WORLD WAR II

Coastal Command

1. The British Coastal Command, in their air attacks against German


submarines had changed from ordinary bombs that exploded on the surface
of the water, to depth charges. A depth of about 100 feet was originally
chosen, as the submarines could detect aircraft about 2 minutes before the
attack and during this time could submerge about 100 feet. There was,
however, a considerable uncertainty about this choice. The Coastal
Command at this time had an OR Group attached to it. This Group started
to collect statistical data and to analyse the chain of events during the attack.
It was found that in cases when the submarine had time to dive to a depth of
100 feet or more, the submarine could not be seen at the instant of attack.
The accuracy of the attack, and accordingly the probability of success was
low even when the depth-setting was correct. It was thus important , when
determining the depth-setting, to take into account both the frequency of
different depth levels and the decrease in accuracy with increasing depth.

2. Numerical calculations showed that a change of the depth setting to


25 feet should increase the chances of success of the average attack by a
factor of two or more. The OR Group succeeded in convincing the decision-
making authorities and the depth setting was changed. Within a few months
of the change, the effectiveness of air attacks against submarines showed
considerable increase as calculated.

Convoy Tactics

3. The studies of convoy tactics are among the best known OR works
from World War II. The work was initiated in connection with the presence of
an operational analyst at a meeting at No 10 Downing Street during the
autumn in 1942. On this occasion, the problem considered was the ideal
size of a convoy and the escort ships. Consequent to this analysis a
decision was to be taken for best utilization of the limited shipyard capacity
to build load carrying/escort vessels. For a quantitative comparison between
the advantages of building one or the other type of vessel, it was necessary
to work out an optimum mix for a convoy.

4. Detailed statistical analysis of the losses of vessels during the


previous two years showed that a convoy with 9 escort vessels suffered on
an average 25 % fewer losses than a convoy with 6 escorts. It was also
calculated that every additional escort vessel would save two or three
merchant vessels in a year. This led to the conclusion that more escort
vessels should be built at the expense of merchant vessels.
10
CDM/OR/Intro

5. Further analysis also showed that increased convoy speed, increased


air escort protection and increased convoy size could decrease the losses
significantly. The first result was of no practical importance as a long time
was required before any considerable number of new and faster vessels
could be in general use. The possibilities of increased air escort protection
depended on the alternative uses of the aircraft under consideration.
Comparison with other uses showed that the aircraft were of greatest value
for convoy escort. As the aircraft forced the submarines to submerge, the
latter had less chance of reaching the convoys in time to attack because of
their slow underwater speed.

6. The third result, i.e. the decrease in losses for large convoys, turned
out to be very important. The statistical data indicated that the size of the
convoy, i.e. the average number of vessels sunk from large convoys was
similar to that of vessels sunk from the small convoys. This was contrary to
the general opinion according to which small convoys were considered
comparatively safer. In order to investigate the correctness of the result
further-it might have been accidental or due to statistical fluctuations - the
OR group analysed the different factors influencing the outcome of
submarine attacks against convoys, such as submarine attack tactics and
the means for submarines to penetrate the convoy screen. On the basis of
these studies, theoretical model was worked out which expressed the
relation between convoy size, number of escort units and risk of sinking of
the merchant vessels. This model verified and explained the result. The
admiralty was convinced by this analysis, and new tactical rules prescribing
increased convoy size were issued.

The Dam Busters

7. UK decided to attack and destroy the dams in Germany, as it would


not only inundate large areas and cause destruction but would deliver a blow
to the German economy. The scientists set out to find out a way of attack
which would give a very high probability of destruction, if a mission was
successful. First problem resolved was the depth and distance at which the
bomb should explode. Second, it was found that due to heavy anti-aircraft
defenses on dams the aircraft could not safely fly to the point of delivery. It
was then analysed and suggested that if the bomb was delivered at a
specified distance, height and speed, it will ricochet on hitting the water
surface, and ultimately sink to the desired point and depth before exploding.
Third, it posed additional problems for the pilot to determine the specific
point and height where the aircraft was expected to release the bomb. This
was overcome by fixing two converging lights on the wing tips. If the lights
converged at the water surface the aircraft would be at the specified height.
Similarly a simple gadget was designed to align with the defence structures
on the ends of the dam when the aircraft was at the correct distance away
from the dam. Thus, this scientific interdisciplinary approach provided some
very simple answers in a fairly complex situation.
11
CDM/OR/PF

PROBLEM FORMULATION

Introduction

1. Modern leaders probably face fewer life and death decisions than
their prehistoric counterparts, but the pace and complexity of today's
decision-making are surely greater. Information, requests and orders are
transmitted swiftly anywhere on our planet. Informed groups are ready to
line up on both sides of any issue under consideration. Laws, traditions and
political pressures influence the selection of options available. Advances in
technology offer an ever expanding choice of resources and methods to
accomplish objectives. These and many other factors challenge decision
makers at every level.

2. The challenge for better decision making has led to the development
of concepts and techniques which have improved problem solving at all
levels through:-

(a) Disciplined Thinking. Concentration on what is realistic and


feasible.

(b) Objective Thinking. An unbiased evaluation of data.

(c) Systematic Thinking. A step by step analysis of the entire


problem.

(d) Action Oriented Thinking. A thorough search for the solution


that can be implemented most economically.

Scientific Approach

3. A scientific approach implies the use of a systematic methodology to


problem solving. Although there is no clear definition of what this
methodology should encompass, it is usually understood that scientific
experimentation of a sort must be included. In the case of an OR/ MS
(Operations Research/ Managerial Science) study, this means that a
mathematical or logical model of the problem must be created and various
hypothesis must be tested against such a model. Since the model is an
abstraction of a system, it also defines the system. It is modeling by
depicting its most salient features. It must emphasise the objectives and
controls necessary to solve a problem. The model must be simple enough
to permit the study and be yet accurate enough to reflect the system it is
portraying. The steps that generally characterise a scientific approach to
problem solving are: -
12
CDM/OR/PF

(a) Step 1 : Problem Identification

Need Analysis We must know not only that


the problem exists, but also
that it is worth our efforts to
solve it.
We must identify all the
Cause-and-effect
control (causes) and their
Analysis
effects.
We must identify which control
Pareto Analysis
and effects are worth
modeling.

(b) Step 2 : Model Construction


A model is only as good as
Data Collection
the data used to build it.
We must assume most
Model Design
parameters to be constant;
for example, all interactions
between the system and the
environment must be
considered as satisfying
constraints, and only a few
can be incorporated into
optimizing the objective
function.
The model should be tested to
Model Verification
see if it is a reasonable replica
of the system under study.

(c) Step 3 : Experimentation


Hypotheses are tested on
Feasibility Analysis
the model to see if they are
possible and do not violate
any constraint (i.e., satisfying
all constraints)
Decision variables are studied
Optimality Analysis
to find a set of values that
gives the best performance.
Sensitivity of the proposed
Adaptivity Analysis
solution to changes in
environment, learning effects,
and other dynamic behaviours
are checked.
13
CDM/OR/PF

(d) Step 4 : Implementation


An official sanction is needed
Approval
to obtain full cooperation in
implementation.

Test Operation Wherever possible, the


proposed system must be run
in parallel with the existing
one to verify its functioning,
fine tune it, and to apply
necessary corrections and to
stabilize it. Such an
arrangement would also
induce confidence to it and
provide the means for a
smooth change over.
Full Implementation This phase implies complete
changeover to the new system
and shutting down of the
legacy system. This would
happen only after the
functioning of the new system
has been completely verified
for functionality. Continuance
of monitoring and control and
reporting mechanisms would
be required even at this stage
to ensure that the system
performs at the required level.
Control Mechanism A system is incomplete if it
does not have a control
mechanism built into it, to
either take corrective action or
cause an alert when its
operation falls below a
standard of performance.

(e) Step 5 : Evaluation


The system should be fully
Documentation
documented to enable others
to learn it easily.
Performance Auditing A periodic check should be
conducted, especially to test
the operation of the control
and reporting mechanisms.
No news is not necessarily
good news.
14
CDM/OR/PF

When new techniques,


System Updating
technologies and equipment
become available, the system
should be checked to see if it
could benefit from up dating.
If the need for a system
ceases to exist, it should be
discontinued.

An Example

4. Problem. An OR/ MS study team consists of five members having


different occupations and they are brought together to work on a difficult
problem. They are temporarily housed in a row of five rooms, each with a
different coloured door. Each team member is an expert in a different OR /
MS technique and each has a unique mannerism. The following facts are
known about the team members and where they dwell:-

(a) The economist has a room with a red door.

(b) The businessman likes to doodle.

(c) Queuing theory is the specialty of the person in the room with
the green door.

(d) The engineer scratches his head when he is thinking.

(e) The room with the green door is next to and on the right of the
ivory-door room.

(f) The mathematician in the room with a yellow door fidgets while
she is sitting.

(g) The economist has a room between the engineer and the
businessman.

(h) The administrator's primary speciality is neither game theory,


linear programming, nor statistics.

(j) The person who specializes in decision theory twitches.

(k) The room with a blue door is not next to the room where the
nose-puller lives.

Who is the nose-puller?


15
CDM/OR/PF

Problem Identification

5. OR/ MS studies are typically directed at solving a recognised


problem, but frequently the toughest part of a project is to get started. Inertia
is not only a physical law but also seems to have a mental counterpart.
Once mental activity gets underway, things happen, but it is difficult to ignite
that first spurt of activity.

6. The psychological aspects of being a self starter are outside the


perview of OR/MS studies but some assistance in the form of cause and
effect diagrams is available. Diagramming aids in the initial investigation of a
problem by providing a format which encourages the problem solver to
organise thoughts, determine what is known and what is missing, collect
data and quickly see what yet needs to be done.

Model Construction

7. Value of Resources. An old adage in industrial engineering says:-


To manage, we must control
To control, we must measure
To measure, we must define
In defining, we must quantify.
8. Operations Research and Management Science become meaningful
only if they can provide models that are useful in the management of
resources. A practical model in OR/ MS must clearly indicate the
relationships, which exist between resources and activities.

9. Data Collection. The identification of the major resources and


activities must precede any model-design effort. Only resources that are
scarce and, therefore, constitute a restriction on the solution space need be
considered. Similarly, we are interested only in activities that affect the
scarcity of such resources. If the data analysis has been conducted
properly, there should be little left to do except to sort out the data and
quantify them. Quantified data must be obtained for each factor and activity
in order to build a mathematical model. Garbage-in-garbage-out (GIGO,
pronounced guy-go) is a common saying in any data processing task and is
especially appropriate in OR/ MS model building. Only objective, timely,
pertinent, and accurate data are useful.

10. Model Design. To find solutions to a problem, an individual should


make the problem known to all concerned. Unless the same image of the
problem is seen by all, there cannot be a solution that satisfies everyone.
Minor personal differences must be resolved in order to create a common
image of a problem before a solution procedure can be sought and applied.
Thus, one of the major reasons for using a model in an OR/ MS study is to
clearly identify and communicate a problem. Then, when a solution has
finally been found, the team has an objective way of evaluating its merits.
16
CDM/OR/PF

11. Frequently, one model must be created from another to serve a


particular need. In general, we can distinguish two types of models :
descriptive models, which are used in describing or communicating either a
problem or its solution and normative models, which are used in solving a
problem.

12. The use of descriptive models, such as Pareto diagrams, can bridge
the communication gap between the users (commanders and staff) and OR/
MS analysts. The use of a mathematical model facilitates internal
communication among OR/ MS team members, and the use of a computer
model facilitates communication with a computer in a manner that is
meaningful to both humans and the machine. The information
communicated by a model makes it useful also as a documentation record
and a subject for OR/ MS experimentation.

Model Evaluation

13. A model should be evaluated in terms of its effectiveness as a


documentation, communication, and experimentation tool. We might ask the
following questions: -

(a) Is the model truly representative of the problem as it appears


to people who need the problem solved?

(b) Is the model simple and clear enough for people to understand
and use?

(c) Will the model lead to a solution that will be acceptable,


feasible, optimal, and also adaptive to expected changes without
undue effort or delay?

Conclusion

14. A clear formulation of the problem and its correct modeling leads to
solutions that satisfy the system analysts' favoured acronym TAPE which
stands for:-

T - Technically feasible.
A - Administratively convenient.
P - Politically expedient.
E - Economically viable.
17
CDM/OR/LP

LINEAR PROGRAMMING

Introduction

1. Linear Programming (LP) deals with problems involving decision


making in deterministic situations. More specifically, it tries to find out an
optimal solution to resource allocation problems.

2. Linear Programming as a Management Tool. The real test of the


utility of a management tool lies in its ability to solve complicated real life
problems and specially to find better solutions than can be obtained by
traditional methods. Linear Programming is now beyond this test. This has
been substantiated by literature and people who have used this technique
successfully resulting in considerable increase in profits or reduction in
costs. However, it is also a fact, that to a large extent the success of linear
programming is due to the advent of electronic computers, which made it
possible to deal with problems of otherwise prohibitive dimensions.

Definition

3. Linear Programming is one of the methods of OR and refers to a


class of optimisation techniques involving the inter-relationships among a
number of variables subject to certain constraints of quality, quantity and
time.

Variables

4. A variable as applied to LP is an element of the system under


examination, which can assume different values. For example, the task
given to an Air Force unit may be to attack an enemy FOL dump. The
variables in this case may be aircraft, crew, FOL, bombs and so on.

Constraints

5. These are the restrictions or limitations within which the variables can
assume different values. e.g. in the above case, say the number of aircraft
available is 10, then this variable can assume values only from 0 to 10.

Assumptions

6. Before proceeding with the formulation of the LP model and its


solution, it is important both for the analyst and the decision-maker to
understand the assumptions and limitations under which the model operates.

7. As the name suggests LP can only handle linear functions, or first-


degree equations. In real life the assumptions of linearity may not truly hold
good in a number of situations. But it has been found that in a large number
of such cases these assumptions can be applied, within certain limits,
without bringing in any significant distortions. The assumptions of linearity
are:-

(a) Additivity. It assumes that there is no interaction between


the decision variables, and that the total utility or resources required
18
CDM/OR/LP

(or available) is the sum of the utility or resources contributed or


required by each decision variable. This implies that the synergy
effect that may occur as a combined effect of certain decision
variables, is not considered.

(b) Proportionality. If a relationship (ratio) exists between


resources and the results, the same relationship exists at different
levels of activity. For example if the cost of one unit of a resource is
C, then LP assumes that the cost of 100 units of the resource is
100C; implying thereby that in LP economy of scale is not considered.
On the other hand if it is found that in real life, the relationship does in
fact change beyond a certain point; then the problem will have to be
handled separately for values below and above this point.

(c) Divisibility. Divisibility implies that the results obtained from a


linear programming model may be in fractions. In real life it may
appear absurd to allocate or construct or produce a fraction of an
item, structure or component or use a fraction of a resource. For
example the number of aircraft allotted for a mission, the number of
field defences to be constructed or the number of maintenance crew
etc. In LP the solution permits the use of fractions. However, after
the final solution has been found, rounding off can done. It should be
ensured that while rounding off, the solution does not become
infeasible. This point will become clear once the graphical method
has been explained. On the other hand if it is intended to use
integers only throughout the model building and its manipulation then
we resort to the use of Integer Programming.

(d) Deterministic. Contribution of each unit of the variable is


assumed to be deterministic or certain and is assumed to remain
constant. In practice, however, this may often either not be known for
a variable and/or it may not remain constant.

General Approach

8. One of the ways of looking at a problem is to treat it as an Input-


Output system.

INPUT OUTPUT

PROCESS

9. Inputs may be men, materials, machines, money and facilities.


Outputs usually are either physical commodities like tanks, guns, aircraft
etc.; or services like water supply, treatment facilities in a hospital,
operational capability, standard of gunnery training and so on.
19
CDM/OR/LP

10. The problem faced by a commander is the allocation of resources in a


manner that will optimise the desired results. The alternatives may be so
many that it becomes difficult for the human mind to analyse each possible
alternative and then pick out the best. As an example let us consider a very
simple case in that there are 10 dozers which have to be allocated to 10
different jobs. Theoretically there are 36,28,800 different ways of employing
them. In a complex case if all possible alternatives are to be examined even
a computer may take considerable time. Neither the delays nor the cost of
such an analysis would be acceptable.

11. In practice many problems are solved by common-sense methods


ranging from inspired guess work to systematic trial and error process. No
proof of this can be given, but there is a general feeling that they lead to
fairly acceptable results, based on practical experience and intuition.
However, it is also true that many problems of planning in large
organisations cannot adequately be solved by common-sense methods and
there is need for more scientific methods of analysis.

12. Linear Programming meets the above requirements by adopting a


scientific, systematic and selective search for the optimal solution out of the
various feasible alternatives. It tries to do so by progressively eliminating
non-feasible regions where the optimal solution could not lie by considering
the constraints in the problem. In its search for the optimal solution it moves
from one feasible solution to a better solution in each step ignoring all
possible alternatives lying in the intermediate range. Thereby, enabling the
optimal solution to be reached in a minimum possible number of steps.

13. We will be able to illustrate the point further by evolving a method of


representing the alternative solutions graphically where two variables (X and
Y) are involved, let us say that the possible solution could lie anywhere in the
area depicted by the four quadrants shown. There are an infinite number of
possible points to choose from. If now, by considering a constraint we learn
that the possible solution could lie only in the first quadrant, the problem is
reduced to one fourth of its original dimension. Next by further
considerations if it is seen that the solution could lie only at Four Corners of
the rectangle shown, then the problem has been reduced to a dimension,
which practically any one could handle. Linear programming does just this.
20
CDM/OR/LP

Y Y
Solution
II I Space

0 X

III IV 0 X

Number of Variables and Constraints which can be Handled by LP

14. LP can handle only one objective at a time and find the optimal
solution for it .There may be occasions when a problem involves more than
one objective, for example, the objective may be simultaneously to achieve
maximum effectiveness in minimum time. Such problems can be solved
using linear programming by modelling the problem separately for each
objective. Subsequently trade-offs may be done to determine the most
suitable solution. It has, however, been found that these limitations and
assumptions do not pose any major difficulty and that the technique lends
itself to handling of a large number of problems.

15. There is absolutely no limit to the number of variables and constraints,


which can be handled simultaneously by an LP model. Herein lies the
strength of this technique.

16. However, the graphical method of solution of an LP model can


conveniently handle only two variables due to its two dimensional limitation.
Upto three variables may be tackled on a three dimensional graph/model but
these are not easy to comprehend. Simplex technique is used to solve the
problems with any number of variables. Simple computer packages are
readily available to solve all LP problems.

Conclusion

17. LP has been found to be a very useful tool for analysing resource
allocation problems. Some of the limitations of LP restrict its application to
real world problems that are encountered in various fields including defence
and industry. Identification of the main features of problems is essential to
judge the applicability of the LP model. Once applied, LP will follow a
scientific process of systematic selection and evaluation of alternatives
which finally lead to the most optimal solution to the problem.
21
CDM/OR/MBGM

MBGMLINEAR PROGRAMMING

MODEL BUILDING AND GRAPHICAL METHOD

Introduction

1. The most important aspect of LP is formulation of the problem and


construction of the mathematical model. In this paper we will consider a few
general points about model building, steps involved in LP model building,
and finally, finding a solution by the graphical method.

MODEL BUILDING

General

2. In model building the following two aspects have to be kept in view:-

(a) Closeness to Reality. A mathematical model should be able to


represent the real life system as closely as possible.

(b) Tractability. The model should be easy to manage /


manipulate.

3. A model, to be of real value, should simultaneously meet the above


seemingly divergent requirements. Therefore, there is a need to strike a
balance between them, because a complex model which is not easy to
operate / manipulate may not give any worthwhile answer even though it
may be able to represent the real system comprehensively. On the other
hand a model which is easy to operate but is far removed from reality would
be totally useless.

4. It is the purpose of this paper to present a fairly well structured


method for constructing linear models. If the procedure given here is
followed, the formulation of the model becomes less of an art and more of a
science. This presentation will be made through an example. This is done
to keep the development of the principles at a level that can be easily
followed. Once the fundamentals of the procedure become apparent, it will
be found that the models for large and complicated problems can be
constructed easily.

Example

5. The Indian Navy is considering two types of attack aircraft for its
carrier - a supersonic type and a transonic type. The combat effectiveness
of any aircraft on the carrier is determined by the relative expected military
value of targets that the aircraft can kill during a military engagement of a
certain length. These have been estimated to be as follows for the two types
mentioned above: -
22
CDM/OR/MBGM

Type Expected Value of Targets Killed


(a) Supersonic 3.0
(b) Transonic 2.5

6. If the entire deck space available for the attack aircraft is allocated to
one specific type, the following numbers of aircraft could be accommodated:-

Type Number to Fill Deck Space


(a) Supersonic 40
(b) Transonic 60

7. Personnel requirements and costs are as follows: -

Type Pers per Aircraft Cost per Aircraft


(a) Supersonic 6 Rs. 10 Crores
(b) Transonic 9 Rs. 10 Crores

8. Considering that a carrier has facilities for 360 attack aircraft


personnel and that the Navys planned expenditure for purchase of attack
aircraft is Rs 450 crores, determine how many of each of the types of aircraft
should be purchased for the carrier in order to maximise the value of its
attack capability.

Step 1

9. The first step is to restate the information in mathematical form. The


problem basically involves a choice between two aircraft which may be
represented by X and Y (or any other symbol except Z which is by
convention used only for the objective function). These are called Decision
Variables, as their values figure in our decision making process. The
benefit or utility or contribution of each aircraft to the overall utility can be
expressed as a mathematical function called 'Objective Function'. LP aims
at optimisation of the Objective Function. The above problem may be
restated as under: -
Requirement per
Supersonic Transonic Total Availability(or
Aircraft(X) Aircraft (Y) Requirement per
Aircraft)
(a) Deck Space 1/40 1/60 1
(b) Crew 6 9 360
(c) Cost 10 10 450
(d) Combat 3.0 2.5 Maximise
Effectiveness
10. The problem may be expressed in terms of mathematical equalities /
inequalities as: -
23
CDM/OR/MBGM

1/40 X + 1/60 Y 1 (1) Deck space constraint


6X + 9Y 360 (2) Personnel constraint
10X + 10Y 450 (3) Cost constraint
Maximise Z = 3.0X + 2.5 Y (4) Objective function
11. Equations 1, 2 and 3 are called structural constraints as these impose
restrictions on the solution of the problem. Equation 4 is called the objective
function.

12. It is logical to suggest that values of X and Y cannot be negative as


that would imply a trade off of the utility or benefit to obtain resources. This
may be expressed in terms of non-negativity constraints and expressed as :-
X 0
Y 0

Step 2

13. Plot the problem constraints on a graph, with Supersonic aircraft


along the X axis and Transonic aircraft along the Y axis. The non-negativity
constraints restrict the solution to the first quadrant. The inequalities can be
plotted on the graph by first locating its two terminal points and joining these
points by a straight line. The terminal points, or intercepts can be found by
allocating all available resource to each variable in turn. Fig 1 shows the first
constraint of deck space plotted on the graph. (In equation 1, if X = 0 then Y
= 60 and if Y = 0, X = 40. These two points give the intercepts on Y and X
axes for the deck space constraint). This line limits the solution to the
enclosed space AOB. Values of X and Y must lie within this space to satisfy
the deck space constraint.
24
CDM/OR/MBGM

Figure - 1

60 A

50
Y
40

30

20

10

B
O (0,0) 10 20 30 40 50 60
X

14. Similarly the other structural constraints are plotted as shown in Fig 2.
Line CD represents the constraint of manpower and line EF represents the
constraint of available funds. The solution must be in the space O C I J B,
which is called the feasible solution space/feasible region.

Figure - 2

60 A
Deck Space
50 Cost
45 E
40
C

30 I
20 Personnel

J
10
B F D
O(0.0) 10 20 30 40 45 50 60
25
CDM/OR/MBGM

Step 3

15. The optimal solution to the problem must lie at one of the corners of
the feasible solution space. The objective function value at the corners is
given by:
Z max = 3 X + 2.5 Y

(a) At Pt O (0, 0) Z max = 0


(b) At Pt C (0, 40) Z max = 3 x 0 + 2.5 x 40 = 100
(c) At Pt I (15, 30) Z max = 15 x 3 + 30 x 2.5 = 120
(d) At Pt J (30, 15) Z max = 30 x 3 + 15 x 2.5 = 127.5
(e) At Pt B (4 0, 0) Z max = 40 x 3 + 2.5 x 0 = 120
16. The solution, therefore, lies at Pt J that gives the maximum
effectiveness; which can be obtained by a combination of 30 supersonic
aircraft and 15 transonic aircraft.

17. Another way of determining the optimal point is by assigning a


suitable value to Z and plotting the objective function line Z = 3X + 2.5Y so
that the line lies within the feasible solution space. All points along this line
yield the same objective function value, in this case the kill utility. As the
objective is to maximise the value of Z, the objective function line is moved
away from the origin till it reaches a point where it just leaves the feasible
solution space. Since any further movement of this line would result in the
line moving to the region of infeasibility, this point would be the point of
optimality. The same is illustrated below: -

Figure - 3

60

50

40 C
I
30 (15,30)

20 J (30,15)

10

0
10 20 30 40 50 60
B
26
CDM/OR/MBGM

Summary of Steps
18. To summarise the steps involved in solving an LP model graphically
are given below:-

(a) Step 1. Transform the given technical specifications of the


problem into inequalities and make a precise statement of the
objective function.

(b) Step 2. Graph each inequality in its limiting case and obtain
a region of possible solution space.

(c) Step 3. Choose a convenient value for Z (objective function)


and plot an objective function line so that it falls within the solution
space. Move the line parallel to itself until an optimal solution is
determined. Alternatively, calculate the value of Z for all the
extremities of the solution polygon and select the optimal solution.

Comments on the Graphical Method

19. The graphical method of solving LP problem is limited to cases


involving less than three decision variables. If there are three variables, we
move into a three dimensional solution space containing all feasible
solutions and hence visualisation of the problem difficult. A two variable
problem can easily be solved by the graphical technique. The number of
structural constraints does not matter as any number can be plotted on the
graph.

20. But what about problems involving r or more variables? Most


problems in practice do fall in this category. Such problems can be solved by
the "Simplex Method" which is the most general and powerful technique. All
computer software use this technique as the basic solution algorithm.
However, an understanding of the graphical technique is essential for
grasping the mechanics and rationale of the LP model. The graphical
method also gives an intuitive insight into the fact that linear programming
problems usually have an infinite number of solutions. Of these the particular
solution which optimises the objective function is chosen.

Use of Solver to Solve LP Problems

21. MS Excel can be used to solve Linear Programming problems. This


is explained with an example in succeeding paragraphs.
22. Let following be the problem to be solved by LP method:-
Zmax = 40 P + 30 V
subject to:
Steel Required : 0.4 P + 0.3 V 250
Lathe Time : 1P + .75 V 480
Grinder Time : .75 P + .5 V 720
Non-Negativity : P, V 0
27
CDM/OR/MBGM

23. Feed the problem in a normal Excel sheet as shown below:-

24. While being in cell E6, from function (fx) in menu bar, select
SUMPRODUCT function (from Math & Trig functions) and click OK.

Function icon

25. For Array 1 select cells C4:D4 (You may either assign any arbitrary
value to Decision Variables P & V in cells C4 & D4 or leave them blank (in
which case they assume zero values automatically)) and for Array 2 select
C6:D6 and click OK.
28
CDM/OR/MBGM

26. In formula bar, add $ sign before C,4,D & 4 i.e. $C$4$:D$4$ and click
sign in formula bar (this step ensures that C4:D4 cells remain constant
for all array multiplications).

27. Now drag the right bottom corner portion of this cell (E6) down upto
cell E9 to get SUMPRODUCT for all constraints equations.

28. While being in cell E6 or outside any cell in which data is filled, Click
on TOOLS in Menu bar and select Solver.
29
CDM/OR/MBGM

29. In Solver
for : Set Target Cell - Select cell E6 (where you want Objective
function value to come)

Equal to -Click on suitable radio button i.e. Max


this case.

By Changing Cells - Select cells C4:D4 (where you want


Decision Variable values to come).

Subject to Constraints - First click on Add radio button.


Then Select cells E7:E9 under Cell
reference (if constraints are of mixed
type i.e. combination of = > and < =,
then add constraints one by one;
Select suitable <= / = / => sign ;
Under Constraints select F7:F9 (where
availability of resources are listed);
-Then click on Add button (if more
constraints are yet to be added or click
OK button (if all constraints have been
added).
Following is the filled screen:-
30
CDM/OR/MBGM

30. Click on Option button. Click on Assume Linear Model and Assume
Non Negative and then on OK.
31
CDM/OR/MBGM

31. Click on SOLVE button. The problem is solved and is shown as


follows:-

32. Select Answer, Sensitivity and Limits in Reports window and then
click OK. These reports will get added to Excel sheet.
32
CDM/OR/MBGM
33
CDM/OR/SA

SENSITIVITY ANALYSIS

(A Graphical Approach)

Introduction

1. Sensitivity Analysis is a procedure that is carried out after the normal


solution is obtained. It determines how sensitive the optimal solution is to
changes in the original model. Sensitivity analysis is always considered an
integral part of solving linear programming models and infact any operations
research model. It gives the model a dynamic characteristic that allows
analysis of any change in the optimal solution obtained, that might result
from possible changes in the data of the model.

2. In this Chapter, the graphical method has been utilised to develop an


understanding of sensitivity analysis in the following situations: -

(a) Changes in the availability of resources, i.e., changes in the


right hand side value of the constraints.

(b) To assess the relative importance of limiting (binding)


resources.

(c) Changes in the contribution of decision variables to the


objective function.

3. It is obvious that graphical method would not be practicable for


sensitivity analysis of problems involving more than two variables. For such
cases rigorous treatment for sensitivity analysis is possible by using the
simplex method or any suitable computer software package which includes
sensitivity analysis.

Case 1 : Increase or Decrease in Resources (i.e. Right hand side value)

4. The constraints can be classified as binding and non-binding.


Logically if a constraint is binding, the resource it represents is a scarce
resource since it has been used entirely. A binding constraint line must pass
through the optimum solution point. If it does not, it is non-binding. In the
Bombardkar problem only fuel and maintenance crew constraints were
binding. Thus for right hand side value sensitivity analysis, it is of interest to
know the amount by which these resources can be increased to improve the
solution. Similarly it can be determined as to how much the abundant
resources (represented by non-binding constraints) can be decreased
without effecting the current optimum. The latter information will be
especially useful since surplus resources can be diverted for use elsewhere.

5. After determining the optimal solution, it is logical to study the


changes in the solution that might result from changes in the level of
resources used in the constraints. In particular the following are of interest:
34
CDM/OR/SA

(a) By how much can the binding resource be increased or


decreased to improve or degrade the optimal value of the objective
function Z without change in status of current binding resources to
non binding one.

(b) By how much can the non binding resource be decreased


without changing the current optimal solution.

6. For example, in the Bombardkar problem, fuel and maintenance crew


constraints represent the scarce resources. (See Fig 1). Consider
availability of fuel first. Fig 1 shows that as the level of fuel increases the line
BD moves away from the origin, thus enlarging the solution space. When the
line touches point C, the constraints relating to maintenance crew (line CD),
and availability of aircraft type B (line BC) become binding with optimum
solution occurring at C. The solution space is now defined by ACEF. After
C, the fuel constraint becomes redundant since any further increase in the
availability of fuel will have no effect on the solution space or optimal
solution. The optimal solution can either be read off the graph or by
algebraically solving the equations representing the scarce resources.

40

35
Crew
Aircraft Type B

30
Avl of Type A ac
25

20
C(15,15)
15 A B Avl of Type B ac
10 D

5
E
0 F Fuel
15 5 2010 25 30 35 40
Aircraft Type A
Fig. 1 Effect of Increase of Available Quantity of Fuel

7. Fig 2 represents the case when the availability of maintenance crew is


increased (indicated by the dotted line). Point J is the maximum that the
maintenance crew constraint line can be extended away from the origin
without violating any other constraint and therefore represents the optimal
point or the solution. This new optimal point is the intersection of the lines
representing the constraint on availability of aircraft type A and the fuel
constraint. The solution is, A = 26 & B = 7. Thus, maintenance crew can be
35
CDM/OR/SA

increased to a maximum of A+ B or 33. Any further increase will render the


constraint redundant is it will not have any effect on the optimal solution.

40

35

30 Maint Crew
Aircraft Type B

Avl of Type A ac
25

20
C
15 A B Avl of Type B ac
10 D
(26,7)
5
E
0 F Fuel
5 10 15 20 25 30 35 40
Aircraft Type A

Fig. 2 Effect of Increase of Maintenance Crew

8. Next consider a decrease in the right hand side value of the non-basic
constraints. Constraint A = 26 represents the maximum number of sorties of
Type A ac available for the task. Fig 3 shows that the line representing this
constraint can be moved towards the origin till it meets the optimal point D
(shown by dotted line). Any further movement would result in a change in
the optimal solution. Since at point D the value of A = 20, the maximum limit
to which availability of sorties of type A ac can be reduced is 20 without
changing the optimal solution at D. Similarly the right hand side value of
constraint B = 15, representing the availability of sorties of Type B ac, can be
reduced to a minimum of 10, which would make the line representing this
constraint pass through point D (shown by dashes dots) without affecting the
optimal solution.
36
CDM/OR/SA

40

35

Aircraft Type B
30

M
ai
nt
A=20 A=26(Avl of Type A ac)

Cr
25

ew
Fu
20 el
C B=15(Avl of
15 A B Type B ac)
10 D B=10

5
E
0 F
5 10 15 20 25 30 35 40
Aircraft Type A

Fig 3 : Permissible Decrease in Abundant Resources of Availability of


Aircraft

9. These results can be summarised in the following tabular form: -

Resource Type Maximum Change in Corresponding


Level of Resource Change in Value of
Objective Function

Fuel Scarce 450000 - 400000= 50000 75 - 70 = 5 tonnes

Maintenance Scarce 33 - 30 = 3 73 70 = 3 tonnes


Crew

Availability of Abundant 20 - 26 = -6 70 - 70 = 0
sorties of
Type A ac

Availability of Abundant 10 - 15 = -5 70 - 70 = 0
sorties of
Type B ac
37
CDM/OR/SA

Case 2 : To Decide Which Resource To Increase

10. In Case 1 the effect of increase in scarce resources (binding


constraints) was analysed. It would also be of interest to know as to which
resource(s) should receive higher priority for additional allotment, the aim
being to maximise the objective function at least cost. Sensitivity analysis
can be used to determine the worth (in terms of value of objective function)
of each additional unit of the scarce resource. The shadow price can be
determined directly from the summary of the right hand side value sensitivity
analysis carried out in Case 1.

11. Shadow Price. The increase or decrease in objective function value


with an increase or decrease of one unit of resource is termed shadow price.
Let Yi be the objective function value per unit, i.e. shadow price, of resource
i. Yi can be determined from the formula:

Yi = (Maximum change in Optimal Z) (Maximum allowable

Increase in resource)

For example the shadow price for the fuel constraint is :

Y (fuel) = 75 - 70 450000 - 400000

= 1 10000 tons of bombs per litre

12. The worth per unit (shadow price) of all the resources can be
summarised as under:-

Resource Type Value of Yi (Shadow Price)

Fuel Scarce Yi ( fuel) = 1/10000 ie., 1 Ton


per 10 KL of fuel.

Maintenance Crew Scarce Yi (crew) = 1 i.e 1ton per


maint crew

Availability of Abundant Y (A) = 0


sorties of Type A
ac

Availability of Abundant Y (B) = 0


sorties of Type B
ac
38
CDM/OR/SA

13. This information above shows that maintenance crew should receive
the first priority followed by fuel availability.(Costs of these additional
resources could also be taken into account to refine the decision.) Abundant
resources, as in this case availability of aircraft sorties, should obviously not
be increased.

14. Similar analysis can also be done for decrease in scarce resources. It
would be found that the shadow price will be same as obtained for increase
in resources. The limiting right hand side values give the range within which
shadow price remains constant.

Case 3 : Changes in Objective Function Coefficients

15. Changes in the objective function coefficients can affect the slope of
the straight line representing it. It has been seen in the graphical solution
methodology that the optimal corner point selected depends primarily on the
slope of the objective function line. This means that changes in the objective
function coefficients can change the set of binding constraints and hence the
status, scarce or abundant, of a given resource. Sensitivity analysis of
objective function coefficients can thus help us answer the following:-

(a) By how much can a coefficient be changed (increased or


decreased) without causing any change in the optimal corner point?

(b) By how much must a coefficient be changed to reverse the


status of a given resource from abundant to scarce or vice-versa?

16. This can be demonstrated by using the Bombardkar problem model.


The coefficients of A and B in the objective function represent the bomb
carrying capacities of aircraft Type A and B per sortie and can be
represented by Ca and Cb respectively for analysis. Thus the objective
function may be represented as:-

Z = (Ca * A) + (Cb * B)

Or

B = [ Z (Ca * A)] Cb

= [ - Ca / Cb * A] + [ Z / Cb ]
39
CDM/OR/SA

30 Crew
Aircraft Type B
Increase in Ca or
25 Decrease in Cb

20
C
15 A B
10 D Decrease in Ca or
Increase in Cb
5
E
0 Fuel
5 10 15 20 25 30 35 40
Aircraft Type A

Fig. 4 Effect of change in Objective Function Coefficients

17. Fig 4 shows that as Ca increases or Cb decreases the objective


function Z will rotate in a clockwise direction (pivoting at D). On the other
hand a decrease in Ca or an increase in Cb causes Z to rotate in a counter
clockwise direction. Thus the point D will remain optimum as long as the
slope of Z varies between the slopes of fuel and maintenance crew
constraints. When the slope of Z coincides with that of maintenance crew
constraint, any point on the maintenance constraint line between D and E
would represent the optimal solution. This is referred to as alternative
optima. (Alternative optima implies that the objective function value Z
remains the same even though the value of variables may change).
Alternative optima would also occur if the objective function line coincides
with slope of the line representing the fuel constraint; any point on the line
between B and D would then represent the optimal solution. Any small
change outside the range just defined for Ca will result in a new solution at E
or at B.

18. Let us illustrate the procedure by determining the allowable range of


Ca that will maintain the optimum solution at D. The value of Cb will be fixed
at 3, its current value. Figure 4 shows that Ca can be increased until Z
coincides with maintenance crew constraint or decreased until Z coincides
with fuel constraint. Thus the minimum and maximum value of Ca can be
determined by equating slope of the Z line to the slopes of the fuel and
maintenance crew constraint lines respectively. Since the slope of the Z line
is -Ca/3 while those of the fuel and maintenance constraint lines are -
10000/20000 (i.e. -1/2) and -1/1 respectively, it follows that minimum value
of Ca as determined from this relationship is as under:-

- Ca / 3 = -1/2 or minimum Ca = 1.5 (fuel constraint line slope).


40
CDM/OR/SA

Similarly maximum Ca is as under:-

-Ca / 3 = -1 or maximum Ca = 3 (maintenance crew constraint line


slope).

19. Thus the range of Ca for which point D remains the unique optimum is
1.5 to 3 .

20. When Ca = 1.5 the optimum corner point occurs either at B or D. If Ca


is decreased just below 1.5, the optimum point shifts to B. A similar
interpretation can be developed if Ca is equal to 3 or increased beyond 3.

21. It can now be appreciated that if Ca is just below 1.5, maintenance


crew becomes an abundant resource and availability of sorties of aircraft
Type B becomes scarce. In other words it means that if the bomb carrying
capacity of air craft type A drops below 1.5 tons, it is more appropriate to use
all the available sorties of type B aircraft despite the fact that it consumes
more fuel than aircraft A. In this case the use of maintenance crew will drop
to 15 + 10 = 25 thus making the maintenance crew abundant. Similar
conclusions can be drawn if Ca is increased just above 3.

22. A similar exercise can also be done by fixing the value of Ca = 2, (i.e.
at its current value) and determining the minimum and maximum allowable
variation in the value of Cb.

23. It should be remembered that the objective function coefficient


sensitivity analysis is carried out by changing only one coefficient at a time
while other coefficients are kept constant at their current values. As
objective function coefficient changes, the optimal objective function value
and the shadow price will change even though the values of optimal decision
variables dont change.

24. The summary of steps involved in carrying out sensitivity analysis is


given at Appendix.
41
CDM/OR/SA

Appendix
(Refers to Para 24)

STEPS FOR CARRYING OUT

SENSITIVITY ANALYSIS - GRAPHICAL

1. Plot all constraints and find the co-ordinates of all corner points of the
feasible solution space.

2. Draw the objective function line to identify the optimal solution.

3. Identify the binding constraints.

4. Move one binding constraint line at a time parallel to itself such that
the other binding constraint (binding the feasible solution space) just
becomes redundant. The point where this happens will always be a corner
point.

5. Read the co-ordinates of this corner point. Substitute the values in the
constraint for which the analysis is being done (i.e. the one that is moved)
and calculate the right hand side value. This is one of the limits of the range.

6. Substitute the co-ordinates of the new corner point in objective


function and find the new value of Z.

Revised value of - Original value of


objective function objective
7. Shadow price = ----------------------------------------------------
Revised right - Original right
hand side value hand side value

8. Repeat the process by moving the constraint line parallel to itself in


the opposite direction till the constraint being moved itself becomes
redundant and determine the value of the opposite limit of the range.

9. Recalculate the shadow price to confirm that it is the same as that


calculated at Step 7.

10. Repeat Steps 4 to 9 for other binding constraints.

11. The range of coefficients of the objective function gives the extreme
values within which the coefficient values can change without affecting the
optimal solution.

12. To determine the range of objective function coefficients, equate the


slope of the objective function to that of the binding constraints taking one
constraint at a time. For calculation of the range (of coefficients of the
objective function) keep one decision variable coefficient constant and
determine the limits of the other decision variable coefficient.

13. Repeat procedure for the other variable.


42
CDM/OR/SA

(Blank Page)
43
CDM/OR/GP

GOAL PROGRAMMING

Introduction

1. The Linear Programming techniques covered so far determine values


of decision variables which optimise a single quantifiable objective function.
However, a decision situation may not always be characterised by a single
objective (or goal). More often than not, the decision maker may seek many
goals and sub-goals, some of which may be complementary while others
may be conflicting with each other.

2. In the Linear Programming model, if multiple objectives exist in any


given problem, one may single out the most important one as the objective
function and the remaining may be transformed as structural constraints.
The problem can then be solved by finding out the feasible space and the
corner points. The optimal solution lies at one of the corner points which
fully satisfies the constraints and optimizes the value of the objective
function. The implication of incorporating certain objectives as structural
constraints in the LP model is that these objectives are of equal importance
and have absolute priority over the selected objective function. This may not
be a desirable situation and can be addressed by the Goal Programming
technique.

Goal Programming - General

3. The Concept of a Goal. The dictionary defines a goal as an object of


ambition or effort, or an aim or desired result. These ambitions reflect the
desire of the decision maker as encumbered by the constraints obtaining in
the prevailing situation. The ambition harboured by the decision maker may
entail definition of a number of objectives. Each of these objectives of the
decision maker constitutes a goal in Goal Programming.

4. What is Goal Programming ? Goal Programming is a special form of


Linear Programming which allows consideration of a single goal or multiple
goals by the decision maker. If multiple goals exist their prioritisation can be
specified. Alternatively these may be given weights . more on weights &
priorities later. The goals may or may not be of the same dimension or unit of
measurement. In addition, goal programming allows for consideration of
conflicting goals.

5. Special Features of Goal Programming.

(a) Goal Programming is particularly useful when goals are


conflicting and hence cannot be fully achieved. In Linear
Programming, there would be no feasible solution to such problems.
There will be no infeasibility in Goal Programming as violation of one /
multiple/ all goals is permitted as long as the deviations from the laid
down goals are minimised.

(b) Original ranking of different goals is done without requirement


of a common yardstick. Careful consideration must be given while
44
CDM/OR/GP

indicating the relative importance of goals, as in the solution lower


priority goals are considered only after higher priority goals have been
satisfied to the extent possible.

(c) Goal Programming is useful to a decision-maker who is a


satisficer rather than an optimiser.

6. Types of Goal Programming. Before attempting formulation of a


Goal Programming problem we need to look at the types of Goal
Programming. We mentioned weights and priorities above, these determine
the basic two types given below:-

(a) Pre-emptive Goal Programming. The decision maker assigns


priorities to goals and higher priority goals are satisfied before lower
priority goals are tackled.

(b) Non Pre-emptive Goal Programming. In this type the goals


are assigned weights by the decision maker. These reflect in the
objective function and the solution.

Formulation Procedure for Pre-emptive Goal Programming

7. The Bombardkar LP Problem. The underlying assumptions and


formulation of a Goal Programming model are similar to those of Linear
Programming Model. Let us look at the mathematical model of the original
Bombardkar LP Problem: -

Objective Function

Z max = 2A + 3B (Tons)

Subject To

Fuel Constraint - 10 A + 20 B 400 (KL)

Maintenance Crew
Constraint - A+B 30 (Nos)
Availability of
'A' Type Bomber - A 26 (Nos)
Availability of
B Type Bomber - B 15 (Nos)
Non Negativity Constraint - A, B 0

8. Bombardkars New Directions. Let us assume that Air Commodore


Bombardkar had a rethink on the task assigned by the Command HQ. He
has decided that instead of the singular objective of maximizing bomb
tonnage on the target he would prefer certain changes in the objectives and
45
CDM/OR/GP

constraints for the problem at hand. He has stated his requirement and
priorities to his COO and sqn cdrs as follows:-

Requirement Priority

(a) Bomb Tonnage below 69 tons be avoided 1

(b) Avoid expenditure of fuel more than 400 KL 2

(c) Avoid employing more than 22 maintenance crews 3

9. Implications of Bombardkars New Goals. In the above case each


of the multiple objectives of Air Cmde Bombardkar becomes a goal. The
following need to be noted :-

(a) The decision maker ideally wants all the above goals to be
met.

(b) The decision maker is however not very rigid about the
requirements e.g. in the Bomb Tonnage goal he wants 69 tons of
bombs to be delivered on target, but is ready to accept variations on
either side of 69 tons. He has only specified that any variation below
69 tons is to be avoided, but even that will be acceptable if
inescapable. Three situations can occur firstly exactly 69 tons of
bombs are delivered on target, secondly more than 69 tons of bombs
are delivered on target and thirdly less than 69 tons of bombs are
delivered on target. The first situation implies that the decision
makers goal is exactly met. The second situation results in certain
overachievement of the laid down goal, albeit positive and is not a
cause of concern to the decision maker. In the third situation there is
an underachievement of the goal, which will cause some
dissatisfaction to Bombardkar. This overachievement or
underachievement on either side of the decision makers goal is
known as deviation. The deviation which results in some
dissatisfaction to the decision maker is called the undesirable
deviation. Thus in the case of the Bomb Tonnage goal it is
underachievement which is the undesirable deviation. But in the case
of the Priority 2 (Fuel) and Priority 3 (Crew) goals overachievement
will be the undesirable deviation.

(c) The decision maker also implies that in case any goal cannot
be met, the undesirable deviation should be kept to the minimum.
This is what we will attempt to do while formulating the goal
programming mathematical model.

10. Critical to the formulation of a goal programming mathematical model,


is the specification of a goal structure by the decision-maker. There will be
two types of variables namely decision variables and deviational
variables and two classes of constraints viz resource constraints and goal
constraints in any Goal Programming mathematical model. These terms
46
CDM/OR/GP

and the Objective Function for formulating a Goal Programming model are
dealt with in detail below :-

(a) Decision Variables. These are the same as in the case of LP


mathematical models. Each decision variable denotes an element
under examination which can assume different values and the
decision maker has control over it.

(b) Deviational Variables. These are the variables which denote


the value by which the solution deviates from the goal. The symbols
used are U and O representing the amount by which the goal is under
achieved or overachieved respectively. For example two non-negative
variables U bt and O bt may represent the amount by which Bomb
Tonnage goal is under-achieved (U bt ) or over-achieved (O bt ). Linear
dependency between the deviational variables ensures that only one
of the two can assume a positive value (that is, it is impossible to
have both under-achievement and over-achievement of goal). If the
goal is achieved exactly, then both deviational variables will be
zero. These deviational variables are included in the objective
function and also incorporated in the goal constraints.

(c) Objective Function. As discussed above if a goal cannot be


achieved, goal programming will attempt to achieve it as closely as
possible by minimising the undesirable deviation. This is what reflects
in the objective function. Thus the objective function is always a
minimisation case and comprises of the deviational variables for the
undesirable deviations for all the goals. When you want to achieve a
goal exactly, both deviational variables of that goal are included
in the objective function.

(d) Goal Constraints. The constraints which may be violated, if


necessary, by underachieving or overachieving a goal. These are also
known as soft constraints.

(e) Resource Constraints. Or system constraints are those


constraints which cannot be violated (e.g. in the present case the
Availability of Type A and Type B aircrafts can not be violated). These
are also known as hard constraints.

11. In the modified problem as defined above the symbols of various


deviational variables are :-

U bt = Amount by which the total Bomb Tonnage falls short of 69 tons.


O bt = Amount by which the total Bomb Tonnage exceeds 69 tons.
U f = Amount by which expenditure of fuel falls short of 400 KL.
O f = Amount by which expenditure of fuel exceeds 400 KL.
U c = Amount by which maintenance crew utilisation falls short of 30.
O c = Amount by which maintenance crew utilisation exceeds 30.
47
CDM/OR/GP

12. The Goal Programming Math Model. The objective function and
constraints for this version of the Bombardkar Problem in terms of Goal
Programming are :-

Objective Function

Z min = P 1 U bt + P 2 O f + P 3 O c

Subject to

A 26 Availability Type A ac. Resource

B 15 Availability Type B ac. Constraints

2A + 3B + U bt - O bt = 69 Bomb Tonnage (P1 Goal).

10A + 20B + U f - O f = 400 Fuel (P2 Goal). Goal

A + B + Uc - Oc = 22 Crew (P3 Goal). Constraints

A, B, U bt , O bt , U f , O f , U c , O c 0. Non-Negativity
Constraint

Goal Programming - Graphical Solution

13. The procedure is very similar to the one used in Linear Programming
and restrictions of two decision variables are still valid. The following five
conditions need to be satisfied for graphical analysis:-

(a) Make certain that all constraints include real variables.

(b) Graph all resource constraints and identify the area of feasible
solution (area OSTU in Figure 1 below).

(c) Starting with the highest priority goal, one by one, graph the
straight lines corresponding to the goal constraints. Leave aside the
deviation variables.

(d) Within the area of feasible solutions identified in step (b),


determine the point or points, which satisfy the highest priority goal.

(e) Sequentially consider the remaining goals and the points,


which satisfy them to the greatest extent possible. Make certain that a
lower priority goal is not achieved by reducing the degree of
achievement of higher priority goals.
48
CDM/OR/GP

30

BOMB TONNAGE P1 GOAL


A <= 26

20

T
S B <= 15

R(18,11)
B Type ac

10

P(26,07)
FUEL P2 GOAL
CREW P3 GOAL Q(26,06)

0
O U
0 10 20 30 40
A Type ac

Figure 1

14. With the addition of goal constraints the area of feasible solution has
been modified to exclude the area representing under-achievement of Bomb
Tonnage of 69 Tons. This is the goal of extreme importance. The set of
points which satisfies the resource constraints and represents fulfillment of
Goals 1 and 2 are enclosed by area PQR. The Bomb tonnage exceeds 69
tons at P and Q and the Fuel spent is within 400 KL, however Crew
utilization exceeds availability at all the three corner points. Thus, if we
attempt to meet the Priority 3 goal (Maitenance Crew) we will be violating the
Priority 1 and 2 goals. Hence the aim is to minimize the undesirable
deviation (O c ) from the Priority 3 goal, without degrading the degree of
achievement of higher priority goals and the solution occurs at R where 69
tons of bombs are dropped, fuel consumption is 400 KL and crew goal
overachievement is minimum at 07 (29 22). (The Crew goal
overachievement at Point P is 11 and at Point Q is 10).

15. Excel Solution. The method of finding the solution to a pre-emptive


goal programming problem using MS Excel is given at Appendix.

Comparison of Goal Programming vis a vis Linear Programming

16. Whereas Linear Programming identifies the point which optimises a


single objective, goal programming identifies the point which best satisfies
either the single goal or a set of goals in the problem. Given a number of
goals, the priority specified by the decision maker and the inevitable
competition among goals, the best solution is one which satisfies the goals
according to the priorities given. Goal Programming is thus a version of
49
CDM/OR/GP

Linear Programming adopted to find a satisfactory solution in light of many


objectives which will suffice(satisfycing), rather than the optimal solution in
view of a single objective only. With multiple goals, all goals usually cannot
be realized implying there will be deviations from one / multiple / all goals.
Goal Programming attempts to minimise the deviations from the laid down
goals with consideration given to the hierarchy of stated priorities.

17. The major differences between Linear Programming and Goal


Programming are:-

(a) In Linear Programming we want an optimal solution for a single


objective while in Goal Programming we are content with a
satisficing solution when we want to achieve a number of given
targets or objectives or goals.

(b) In Linear Programming there is only one goal in the objective


function and some goals may be stated individually as constraints. In
Goal Programming, all goals are incorporated into one objective
function and may include some goals that are in conflict with one
another.

(c) In Goal Programming, priorities for goals can be set and the
goals may be in different dimensions/units of measurement.

(d) In Goal Programming, resources and goal constraints may be


in conflict with each other. In linear programming such a situation will
lead to an infeasible solution.

Non Pre-emptive Goal Programming

18. In the Non Pre-emptive Goal Programming each goal is assigned a


weight by the decision maker, instead of priorities. These weights become
the coefficients of undesirable deviational variables in the objective function.
The problems are solved exactly like LP problems instead of the iterative
method adopted in Pre-emptive Goal Programming.

Conclusion

19. Goal Programming is a mathematical programming technique which


exhibits great potential for handling decision problems involving multiple but
prioritised goals. The technique is still in its infancy, though plenty of areas
have been identified where it could be used to great advantage.
50
CDM/OR/GP

Appendix
(Refers to Para 15 of
CDM/H/OR/GP)

GOAL PROGRAMMING USING MS EXCEL

1. Till now we have used Excel and its Solver add-in to find solutions to
LP problems. The same can be used with certain modifications to find
solutions to Goal Programming problems. The solution to a pre-emptive
method of Goal Programming will be demonstrated in this paper.

2. The Problem. The modified Bombardkar problem discussed in the


course paper CDM/H/OR/GP will be used to illustrate the use of Excel to
solve a Goal Programming problem. The mathematical model for the
problem is reproduced below :-
Objective Function
Z min = P 1 U bt + P 2 O f + P 3 O c

Subject to

A 26 Availability Type A ac. Resource

B 15 Availability Type B ac. Constraints

2A + 3B + U bt - O bt = 69 Bomb Tonnage (P1 Goal).

10A + 20B + U f - O f = 400 Fuel (P2 Goal). Goal

A + B + Uc - Oc = 22 Crew (P3 Goal). Constraints

A, B, U bt , O bt , U f , O f , U c , O c 0. Non-Negativity
Constraint

3. The Method. The solution to the above problem is found by solving


the problem in three iterations satisfying goals from the higher to the lower
priority. Each time only goal(s) of a single priority are considered in the
objective function and at each successive iteration it is ensured that the
solution obtained in the previous step(s) is not violated.

4. The Excel Workbook. Since this problem has three goals, the
method is demonstrated by three worksheets named Step 1, Step 2 and
Step 3. Each worksheet corresponds to the solution obtained by satisfying
Priority 1, Priority 2 and Priority 3 goals respectively.

Step 1

5. This Step endeavours to satisfy the Priority 1 goal to the maximum


extent possible. The worksheet is as per snapshot at Fig 1 below.
51
CDM/OR/GP

Fig 1 : Step 1- Satisfying the Priority 1 Goal(s)

6. The data is entered into the worksheet as follows :-

(a) Enter the math model exactly like a LP problem, as shown in


Fig 1.

(b) The objective function will contain only the Priority 1 goals
undesirable deviational variable. (If more than one Priority 1 goal
exists, appropriate deviational variables for all such Priority 1 goals
should be included in the objective function).

(c) The Solver will contain only the resource constraints and the
Priority 1 goal constraint.

(d) The Priority 2 and Priority 3 goals do not form part of the
solution at this stage. [Note that in Fig 1 the goal constraints for Fuel
(Priority 2) and Maintenance Crew (Priority 3) have not been included
in the Constraints box of Solver Parameters dialog box].

(e) Ensure settings for Options in the Solver exactly like in LP


problems.

(f) Solve the problem. The solution will appear as in Fig 2 below.
Note the Z value obtained for use in subsequent steps.
52
CDM/OR/GP

Fig 2 : Solution for Step 1- Satisfying the Priority 1 Goal(s)

7. The solution indicates the following :-

(a) There is no under achievement of the Priority 1 goal. This is


indicated by zero value of the deviational variable U bt (Cell D4).

(b) Since goal programming attempts to minimize the undesirable


deviation from the given goal, the zero Z value only indicates nil
deviation for the goal being satisfied in this iteration. Note this value
for use in subsequent steps.

(c) 12 Type A ac and 15 Type B ac are being used (Cells B4 &


C4).

(d) The desired Bomb Tonnage of 69 tons is delivered on target


(Cell J9).

(e) There is an excess expenditure of Fuel and Maintenance Crew


(Cells J10 & J11) which needs to be minimized to the maximum
extent possible (Priority 2 and 3 goals). This will be tackled in Steps 2
and 3 respectively.

Step 2

8. Step 2 will endeavour to satisfy the Priority 2 goal to the maximum


extent possible, without degrading the achievement of Priority 1 goal(s)
obtained in Step 1. The worksheet is as per snapshot at Fig 3.
53
CDM/OR/GP

Fig 3 : Step 2- Satisfying the Priority 2 Goal(s)

9. New Constraint. While solving the problem for Priority 2 goal(s), it


must be ensured that the Priority 1 goals undesirable deviation in Step 1
(U bt in the present case) does not change and the related Z value obtained
in Step 1 is not degraded. We achieve this by adding a new constraint to
signify the same. This is nothing but the Objective Function of Step 1, along
with its final value obtained after solving the model. Hence the new
constraint will be U bt = 0 as shown in Row 15 of Fig 3 above.

10. Enter the data into the worksheet as shown in Fig 3 :-

(a) The math model remains the same as in previous Step except
that a new constraint is added as explained above.

(b) The objective function should be changed to contain only the


Priority 2 goals undesirable deviational variable(s). The coefficient(s)
of Priority 1 goals deviational variable(s) must be deleted from the
objective function.

(c) Include only the resource constraints, the Priority 1 goal


constraint, Priority 2 goal constraint and the newly added constraint,
as discussed in Para 9.
54
CDM/OR/GP

(d) The Priority 3 goal does not form part of the solution at this
stage.

(e) Ensure settings for Options in the Solver exactly like in LP


problems.

11. Solve the problem. The solution will appear as in Fig 4. Note the Z
value obtained for use in Step 3.

Fig 4 : Solution for Step 2- Satisfying the Priority 2 Goal(s)

12. The solution indicates the following :-

(a) There is no over achievement of the Priority 2 goal. This is


indicated by zero value of the deviational variable O f (Cell G4).

(b) The Z value is zero indicating no deviation from the laid down
Priority 2 goal. Thus both Priorty 1 and 2 goals have been exactly
met. Note this value for use in Step 3.

(c) 18 Type A ac and 11 Type B ac are being used for the


operation (Cells B4 & C4). This is different from the solution obtained
in Step1.

(d) 69 tons of bombs are delivered on target (Cell J9) and the fuel
used is 400 KL (Cell J10), i.e. no over-expenditure, as opposed to
Step 1, where there was an over-expenditure of 20 KL.

(e) To satisfy the Priority 1 & 2 goals, there is an excess use of 07


Maintenance Crew (Cell J12). This needs to be minimized to the
maximum extent possible (Priority 3 goals) and will be tackled in
solution at Step 3.
55
CDM/OR/GP

Step 3

13. Step 3 will endeavour to satisfy the Priority 3 goal(s) to the maximum
extent possible without degrading the achievement of Priority 1 and 2 goals.
The worksheet is as per snapshot at Fig 5.

Fig 5 : Step 3 - Satisfying the Priority 3 Goal(s)

14. New Constraint. While solving the problem for Priority 3 goal(s) it
must be ensured that the undesirable deviations in Step 1 & 2 (U bt & O f in
the present case) do not change and the related Z value obtained in Step 2
is not degraded. Once again we achieve this by adding another new
constraint to signify the same. Like previously, this is nothing but the
Objective Function of the preceding iteration (Step 2), along with its final
value obtained after solving the model. Hence the new constraint will be O f =
0. See Row 17 of Fig 5 for details of adding the new constraint.

15. Enter the data into the worksheet as shown in Fig 5 :-

(a) The math model remains the same as in previous Step except
that a new constraint is added as explained above.

(b) The objective function should be changed to contain only the


Priority 3 goals deviational variable(s). The coefficient(s) of Priority 2
56
CDM/OR/GP

goals deviational variable(s) must be deleted from the objective


function.

(c) Since this is the final step, the Solver will contain all the
resource constraints, all the goal constraints and the two newly added
constraints from Steps 1 & 2.

(d) Ensure settings for Options in the Solver exactly like in LP


problems.

(e) With the values of Priority 1 & 2 deviational variables fixed, we


will attempt to minimize the undesirable deviation of Priority 3 goal.

16. Solve the problem. The solution will appear as in Fig 6 below. Check
the deviation for Priority 3 goal and change in Z value, if any.

Fig 6 : Solution for Step 3 - Satisfying the Priority 3 Goal(s)

17. The solution obtained at the end of the last step indicates the
following :-

(a) There is non-achievement in the Priority 3 goal. This is


indicated by 07 in the changing cell (Cell I4) below the deviational
variable O c .

(b) The Z value is 07 indicating a deviation from the Priority 3 goal.


It shows the satisfycing nature of a Goal Programming solution
wherein the Priority 1 and 2 goals have been fully met, while in case
of the Priority 3 goal 07 additional Crew have to be employed to meet
higher priority goals.

(c) The decision variables (Cells B4 & C4) show that 18 Type A ac
and 11 Type B ac are being used. This is the same as the solution
obtained in Step 2.
57
CDM/OR/GP

(d) The goal constraints show that 69 Tons (Cell J9) of bombs are
delivered at the target (no under-achievement) and the fuel used (Cell
J10) is 400 KL, (i.e. no over-expenditure).

(e) The Maintenance Crew goal constraint (in Row 11 of the Excel
Sheet at Fig 6) shows only 22 Crews being utilised. Is it actually so? If
yes, then where is the over-achievement of this goal? When a goal is
part of the objective function, due to the nature of the goal constraint
equation (i.e. LHS = RHS), any over or under-achievement of goals
will never reflect in the goal constraint, but only in the deviational
variables of the objective function. The actual usage of the resource
will only be clear after considering both the Nos / quantities reflected
in the goal constraint equation and the deviational variable in the
objective function (Cells J11 & I 4 in the present case). Thus in the
present example the No of Maintenance Crew actually used works out
to be 22 + 07 = 29.

18. Compare the solution to the solution obtained by the graphical


method. Note that the solution is the same as obtained by the graphical
method i.e. Point R (18,11), with the same achievements of goals & use of
resources.

Solution Overview

19. What should we advise Air Cmde Bombardkar? It is clear that while
his goals of avoid bomb tonnage below 69 tons and avoid fuel expenditure
more than 400 KL can be met, there is no possibility of restricting the No of
crew used to 22. However he can still have the following options :-

(a) Ensure both Bomb Tonnage and Fuel goals are met but accept
29 instead of 22 Maintenance Crew are utilised.

(b) Accept only the Bomb Tonnage goal is met. This will involve an
additional expenditure of 20 KL of Fuel (i.e. 420 KL instead of 400 KL)
and 27 instead of 22 Maintenance Crew will be used (see solution to
Step 1 in Figure 2).

Conclusion

20. To recapitulate the process of using Excel to solve Pre-emptive Goal


Programming problems, we solve the problem sequentially satisfying higher
priority to lower priority goals. We also ensure that at any stage the
achievements of higher priority goal are not degraded, to satisfy a lower
priority goal. As is the satisfycing characteristic of the Goal Programming
technique all goals may or may not be satisfied and suitable deductions
need to be drawn from the solutions obtained.

21. It should be noted that Non Pre-emptive Goal Programming problems


are solved exactly like LP problems in one step only. The weights assigned
by the decision maker become the coefficients of the undesirable deviational
variables in the objective function.
58
CDM/OR/GP

(Blank Page)
59
CDM/OR/Tn

TRANSPORTATION MODEL

CONCEPT AND FINDING A BASIC FEASIBLE SOLUTION

Introduction

1. The Transportation Model deals with a special class of linear


programming problems in which the objective is to transport a single
commodity from various origins to different destinations at minimum total
cost. The total supply available and the total requirement are given; these
are non-variable in the statement of the problem. Further, each allocation
has a known origin and a known destination. Also, all relationships are
assumed to be linear.

2. Transportation problem being a sub-set of general LP problems can


be solved by the simplex method. However, the transportation algorithm
provides a much more efficient method of handling such a problem.

3. Before the transportation model can be applied, the following


assumptions/ conditions must be understood: -

(a) Like the general LP model, we solve the problem for a single
objective e.g. minimising cost or distance or time and so on.

(b) All relationships are assumed to be linear. The implications of


the assumptions of linearity have already been discussed in the paper
on the LP Model.

(c) It deals with only one (single) commodity, which is required to


be moved from different origins/sources where it is available, to
various destinations where it is required.

(d) A limiting factor is that the total demands at destinations must


equal the total availability at various origins. This however, does not
pose any problem as the two can be equalised by a simple method
which will be described later in Para 10.

4. The basic transportation model deals with a minimisation case. In


order to handle a maximisation case (say the objective is to maximise
effectiveness) the approach has to be slightly modified which will be
described later in this paper (Paras 26 to 28 refer).

Stages for Solution of Transportation Problems

5. The broad stages involved in solution of transportation problems are


as under:-

(a) Making the Initial Transportation Table.


60
CDM/OR/Tn

(b) Balancing demand and availability.

(c) Finding a "Basic Feasible Solution".

(d) Testing the solution for optimality.

(e) If the basic feasible solution is not optimal, carrying out


iterations to find an optimal solution.

6. In this paper we shall deal with the first three stages.

Making Initial Transportation Table

7. The transportation table is a pictorial representation of the


transportation problem. The transportation table is a matrix with rows
(representing sources of supply) and columns (representing destinations to
satisfy demands). Therefore, each cell in the matrix represents a unique
routing for shipments from a source to a destination. The cost of shipping
one unit along a route is entered in the top right corner of the cell. The
figures on the right and bottom sides of the matrix show, respectively, the
amounts of supplies available at each source and the amounts required at
each destination. The objective of the problem is to identify the routes and
the amount of supplies to be shipped, from each source to each destination
such that the transportation cost is minimised.

8. Let us now examine the method with the help of an example. 21 tanks
are available at 3 depots and are required by 5 formations as under. The
cost of transportation from each origin to each destination is known (the cost
may be in terms of time, distances etc).

Origins Availability Destinations Demand.

O1 9 D1 3
O2 4 D2 5
O3 8 D3 4
D4 6
D5 3
Total 21 Total Demand 21
Availability

9. Transportation Table. The first step would be to construct the initial


transportation table with costs represented in thousands of rupees.
61
CDM/OR/Tn

Destinations D1 D2 D3 D4 D5 Availability

Origins
O1 10 20 5 9 10 9

O2 2 10 8 30 6 4

O3 1 20 7 10 4 8

Demand 3 5 4 6 3 21
21

Balancing Demand and Availability

10. In the above example, the demand and availability are equal, so the
table prepared in Para 9 above is ready for further operation. However, in
real life such situations would rarely occur. The procedure adopted for
balancing the demand and availability which is called Rim Condition is as
under:-

(a) Demand Exceeds Supply. For purposes of solution of the


problem, we create a fictitious source or origin where the supply
available is just sufficient to meet the excess of the demand over the
actual supply. This source of supply is called a dummy supply origin.
Transportation cost from a dummy supply to any destination is
naturally zero because no actual transfer takes place. Also, if in the
solution a given destination receives a supply of D units from the
dummy and S units from an actual supply, it has been, in reality,
short-supplied to the extent of D units. This is illustrated in the
following example:-

Destinations D1 D2 D3 Availability

Origins
O1 10 6 4 200

O2 4 5 9 400

Demand 300 200 150 600


650
62
CDM/OR/Tn

Destinations D1 D2 D3 Availability

Origins
O1 10 6 4 200

O2 4 5 9 400

Dummy 0 0 0 50

Demand 300 200 150 650


650

(b) Supply Exceeds Demand. Similarly a fictitious consumption


point or destination is created for balancing the transportation table
when the supply exceeds demand. The requirement at the dummy
destination is exactly equal to the difference between actual supply
and demand. Once again, the cost of this fictitious transfer is zero. If
a source is deemed to have transferred D units to the dummy it is
interpreted that the source has a left-over stock of D units. This is
explained in the following example, where the matrix can be balanced
by adding a dummy destination having a demand equal to the
difference of column total and row total i.e. (600-500) = 100.

Unbalanced Matrix

Destinations D1 D2 D3 Availability

Origins
O1 5 6 4 200

O2 7 9 2 400

Demand 200 150 150 600


500
63
CDM/OR/Tn

Balanced Matrix

Destinations D1 D2 D3 Dummy Availability

Origins
O1 5 6 4 0 200

O2 7 9 2 0 400

Demand 200 150 150 100 600


600

Basic Feasible Solution

11. Before starting the search for an optimal solution it is necessary to


arrive at a Basic Feasible Solution. This implies that the solution is:-

(a) Feasible.

(b) Has independent allocations.(This requirement is explained in


a subsequent paper).

12. Also if there are 'm' origins and 'n' destinations there can be only ( m
+ n -1) allocations.

13. Methods. There are many methods (algorithms) of finding a basic


feasible solution. Three common methods amongst these are:-

(a) Inspection Method.

(b) North West Corner Rule (NW Corner Rule).

(c) Vogel's Approximation Method (VAM).

Inspection Method

14. By inspection, allocations to the extent possible may be made in the


cheapest cell in the matrix and progressively higher cost cells utilised, till the
requirements have been met.

15. It is a trial and error method and does not follow a systematic
approach to find a basic feasible solution and is, therefore, not normally
adopted.
64
CDM/OR/Tn

North West Corner Rule

16. NW Corner Rule is one of the simplest methods for obtaining an initial
basic feasible solution. The procedure is as follows:-

(a) Start with the cell in the upper left hand corner (NW corner of
the matrix).

(b) Allocate the maximum feasible amount i.e., such that either the
availability in the first row is exhausted or the requirement in the first
column is satisfied (If both are satisfied at the same time,
'degeneracy is said to have occurred. The solution in such cases is
discussed in a separate paper).

(c) If the availability of Row 1 is exhausted, move down the first


column and make further feasible allocations till requirement in the
column is met.

(d) If the requirement in Column 1 is met first, move to the next


cell in Row 1 and make further feasible allocations till the row capacity
is exhausted.

(e) In this manner, starting from the top left hand corner of the
matrix, satisfying the individual destination requirements and
exhausting origin capacities, one at a time, move towards the bottom
right hand corner until all requirements are satisfied.

17. Applying the above procedure to our problem in Paragraph 8 we


obtain the following allocations: -

Destinations D1 D2 D3 D4 D5 Availability

Origins
O1 3 5 1 9

O2 3 1 4

O3 5 3 8

Demand 3 5 4 6 3 21
21

18. The solution meets the requirement of number of allocations i.e. (m +


n - 1) = (3 + 5 - 1) = 7. In this case 7 allocations have been made in the
basic feasible solution.
65
CDM/OR/Tn

19. The cost of the allocations can be worked out by multiplying the
quantities allocated in a cell with the unit cost associated with that cell and
totalling all costs. Cost of transportation in this case works out to (Refer to
table given at Para 9):-

(3 x 10) + (5 x 20) + (1 x 5) + (3 x 8) + (1 x 30) + (5 x 10)

+ (3 x 4) = 30 + 100 + 5 + 24 + 30 + 50 + 12 = 251 (in Rs thousands)


20. Salient Features.

(a) This is a simple, logical and automatic procedure, which has


obvious applications in computer programming where a set routine is
required for the solution process.

(b) Quickly gives a basic feasible solution.

(c) Solution is normally not optimal.

(d) Does not take cost of transportation into account while making
allocations.

Vogel's Approximation Method (VAM)

21. As stated earlier there is no reason to expect the basic feasible


solution provided by the North West Corner Rule to be particularly close to
the optimal solution. Therefore, it may be worthwhile to make a little more
effort in obtaining a promising initial basic feasible solution in order to reduce
the number of iterations required to reach the optimal solution. One
procedure, which is designed to do this, is Vogel's Approximation Method.

22. Vogel's Approximation Method is based on the use of the difference


in unit cost (as contained in each cell) associated with each row and column
in the transportation table. A row or column difference is defined here as
the arithmetic difference between the smallest and the next higher cost of
the cells in that row or column. This quantity indicates the minimum unit
penalty incurred by failing to make an allocation to the smallest cost cell in
that row or column. Thus, it provides a measure of the priority for making
allocations to the respective rows and columns. The principle of this
procedure involves making the maximum feasible allocation in the smallest
cost cell of the row or column with the largest difference, so that the penalty
is minimised. It never changes an allocation previously made, so the
procedure stops as soon as the total demand and supply are exhausted.
The detailed steps involved in Vogel's Approximation Method are
summarised below:-

(a) Step 1. Construct the transportation table as per Paras 9 and


10.
66
CDM/OR/Tn

(b) Step 2. For each row, calculate the difference in cost between
the lowest and next higher cost cell. (If the two lowest cost cells are
tied, the difference is zero).

(c) Step 3. For each column, calculate the difference between the
lowest and next higher cost cell. (If the two lowest cost elements are
tied, the difference is zero).

(d) Step 4. Select the row or column that has the largest
difference. In the event of a tie, select any one.

(e) Step 5. In the row or column identified in Step 4, select the cell
that has the lowest cost and assign the maximum feasible quantity to
it. This would exhaust the corresponding row or column which must
be struck off.

(f) Step 6. Repeat steps 2 to 5.

23. Example. The above method is applied to the problem in Para 8.


The iterations are shown below:-

Destinations D1 D2 D3 D4 D5 Availa- Row Difference/


Origins bility Iteration No
1 2 3 4 5 6
10 20 5 9 10 9 4 4 4 -
O1
4 11
5
- - 4 5 - 0
2 10 8 30 6 4 4 - - - - -
O2
- 4 - - - 0
1 20 7 10 4 5 3 3 3 3 10 10
O3 8 2
3 1 - 1 3 1
3 5 4 6 3 21
Demand 1 1
0 0 0 0 0 21

Column Iterations
difference No
1 1 10 2 1 2
2 9 0 2 1 6
3 - 0 2 1 6
4 - 0 2 1 -
5 - 0 - 1 -
6 - - - - -

Note:- In case of a tie between row or column differences, select any


arbitrarily.
(a) Iteration 1

(i) Selection of Row/Column. Calculate the difference in


cost between the lowest and next higher cost cell for each row
and column. Select the row/column that has the highest
difference i.e., 10 under Column D 2 in this case.
67
CDM/OR/Tn

(ii) Selection of Cell for Allotment. Identify the lowest cost


cell in selected Column D 2 i.e., Cell (O 2 D 2 ).

(iii) Allocation to the Selected Cell. The availability in Row 2


being 4, only 4 units can be allotted to Cell O 2 D 2 . Since the
capacity of O 2 is exhausted, zeros are assigned to the other
cells in this row. The demand in column D 2 , is also amended
to 1, since 4 units have been allotted. Row O 2 is now
eliminated from further consideration, in the subsequent steps
by marking a dash (-) in all other cells in Row O 2 and iterations
to follow.

(b) Iteration 2.

(i) Recalculate row and column differences disregarding


Row O 2 as availability at origin O 2 is totally exhausted.

(ii) Against maximum column difference 9 in Column D 1


maximum feasible quantity 3 is allotted to Cell O 3 D 1 and
balance demand is zero. Since demand is met in full, Column
D 1 is eliminated from further consideration by placing a dash in
all other cells in Column D 1 . The availability in Row 3 is
amended to 5, three having been allotted in Cell O 3 D 1 .

(c) Iteration 3. Repeat steps of iteration 2 by disregarding


Column D 1 , and Row O 2 . Column D 5 has the maximum difference of
6. Column D 5 , being satisfied by allocating 3 units in Cell O 3 D 5 , is
eliminated from further consideration by marking a dash in remaining
cells of the column.

(d) Iteration 4. Row O 1 has maximum difference of 4. Allot 4


units in Cell O 1 D 3 , being the lowest cost cell . Column D 3 is now
satisfied. Eliminate column D 3 by marking a dash in Cell O 3 D 3 .

(e) Iteration 5. Row O1 has maximum difference of 11. Allot


balance available 5 units to the least cost Cell O 1 D 4 . Since
availability at origin O 1 is exhausted, eliminate Row O 1 by marking a
dash in remaining cells of the row.

(f) Iteration 6. Since only one Row O 3 remains for consideration,


allot the balance 1 each in Cells O 3 D 2 and O 3 D 4 so that the
unsatisfied demands of one unit each in Columns D 2 and D 4 are met.

(g) The final matrix appears as follows :-


68
CDM/OR/Tn

Destinations D1 D2 D3 D4 D5 Availability

Origins
O1 10 20 5 9 10 9
4 5
O2 2 10 8 30 6 4
4

O3 1 20 7 10 4 8
3 1 1 3

Demand 3 5 4 6 3 21
21

Note:- (a) For ease of identification allocations made are circled.


(b) The number of allocations is 7 which meets the
requirement m + n - 1. The total cost of transportation works
out to 150 as against 251 by the NW Corner Rule. (Values in
Rs thousands).
24. It is seen that this method takes us much closer to the optimum
solution than the NW Corner Rule and as such less iterations would be
needed to reach the optimum solution, thereby saving effort and time. It
might appear that the procedure is tedious but after a little practice, one
could probably execute this entire procedure on the transportation table.
One would merely need to cross out rows and columns as they are
completed and revise the supplies/ demands.

25. Salient Features

(a) Takes cost of transportation into account.

(b) Gives a basic feasible solution and independent allocations.

(c) Follows the principle of Opportunity Costs i.e., it examines the


cheapest route from each origin to each destination.

(d) Compares Opportunity Cost or Penalty of not following the


cheapest route.

(e) Makes maximum allocation to route, which has the highest


penalty.

(f) Gives a solution, which is optimal or very close to it and is


therefore preferred, when subsequent iterations are to be done
manually.

(g) Procedure is tedious but not difficult.

(h) Being repetitive in nature lends itself to easy handling by


computers.
69
CDM/OR/Tn

Maximisation Case

26. Though the transportation model basically caters to minimisation


problems, occasionally a problem is stated in terms of maximising expected
pay offs or profits rather than minimisation of costs. Such situations can be
handled in the transportation model by treating profits as negative losses
and then solving the problem as a normal minimisation case.

27. A convenient method for converting a maximisation case is to subtract


all stated profits (or payoffs) from the highest profit. The resulting numbers
are relative costs and are treated as regular costs in solving the problem.
For example, if the largest gain in any cell is Rs. 100 (or utils), all gains in the
transportation table would be subtracted from 100. This policy gives 100 -
100 = 0 as the relative cost for the most profitable route, which of course,
makes it the most attractive route for cost minimisation. Similarly after all
source to destination transfer charges or relative costs are calculated, the
method described for a minimisation case is used to determine the solution.
From the preferred routes indicated in the solution, the total pay off or gain
can be calculated by using the original pay off figures.

28. An example is given at Appendix.

Transportation Model : General Remarks

29. (a) Deals with a single commodity.

(b) Availability and demand in the transportation table must be


equal.

(c) No of allocations are (m + n - 1).

(d) All relationships are assumed to be linear.

(e) When using VAM, if the highest penalty is the same for more
than one route, choose any of them.

(f) If a destination cannot be linked with a certain source,


associate so large a cost with this route that no allocations will
appear.

(g) If the figures of cost are large, these can be proportionately


reduced. Remember to rectify them after solution.

(h) If different costs are associated with different modes of


transport treat them as independent origins.
70
CDM/OR/Tn

Conclusion

30. Transportation model is a special class of linear programming


problems. In this paper, only some of the methods of finding an initial basic
feasible solution have been discussed. The optimal solution has to be found
from the basic feasible solution by using the Stepping Stone Method or the
Modified Distribution (MODI) Method. In these methods the iterations
involved are generally tedious and lengthy. These iterations are repetitive
and hence lend themselves for easy handling by computers. Use of a
computer based software package QM for Windows for directly finding
optimum solutions for transportation problems is given in lesson
CDM/OR/QM in this prcis.
71
CDM/OR/Tn

Appendix
(Refers to Para 28)

TRANSPORTATION MODEL
MAXIMISATION CASE : AN EXAMPLE

Problem

1. A bombing operation has to be undertaken. Aircraft are available at


four bases A, B, C and D. Each base is to mount 150 sorties.

2. Three enemy targets X,Y and Z are to be attacked. Each target is to


be attacked by 200 sorties.

3. Due to different types of aircraft, altitude of flight and distances


involved, the tonnage of bombs which each aircraft can carry between
different bases and targets is shown in the table given below :-

Targets X Y Z
Bases
A 8 6 5
B 6 6 6
C 9 8 5
D 8 5 4

4. Find allocation of targets to bomber sorties from each base which


maximises the total weight of bombs delivered?

Basic Feasible Solution by NW Corner Rule

5. The Solution Matrix as per NW Corner Rule is given on next page.


72
CDM/OR/Tn

Targets X Y Z Sorties Available


Bases

A 8 6 5 150
150

B 6 6 6 150
60 100

C 9 8 5 150
100 50

D 8 5 4 150
150

Sorties 200 200 200 600


Required 600

6. As the requirement of sorties equals their availability, allocations can


be made without bringing in a dummy.

7. Allocations have been made as per the NW Corner Rule discussed


earlier in the course paper.

8. NW Corner Rule does not take costs into account. Relative costs
have not been worked out at this stage even though it is a maximisation
case because this Rule does not take costs into account.

9. No of allocations required (m + n - 1 ) = 6
No of allocations made = 6
Therefore, condition has been satisfied.
10. Bomb tonnage delivered by this solution (150 x 8) + (50 x 6) + (100 x
6) + (100 x 8) + (50 x 5) + (150 x 4) = 3750 tons.

Basic Feasible Solution by VAM

11. Initial Matrix. Initial Matrix to be set up for solving the problem using
VAM is as follows:-
73
CDM/OR/Tn

Target X Y Z Availability
Bases
A 8 6 5 150

B 6 6 6 150

C 9 8 5 150

D 8 5 4 150

Required 200 200 200 600


600

12. Relative Cost Matrix. Highest payoff (bomb load being carried) is 9 in
cell CX. To convert it into a minimisation problem and therefore to prepare
the relative cost matrix, reduce figures in each cell from 9 to get the new
relative cost matrix.

Target X Y Z Availability
Bases
A 1 3 4 150

B 3 3 3 150

C 0 1 4 150

D 1 4 5 150

Required 200 200 200 600


600
74
CDM/OR/Tn

Relative Cost Matrix

13. Solution. Proceed as per minimisation case now. Allocations


work out as under:-

Target X Y Z Availability
Bases
A 8 6 5 150
50 50 50
B 6 6 6 150
150
C 9 8 5 150
150
D 8 5 4 150
150

Required 200 200 200 600


600

Note :- Readers are advised to work out the intermediate steps.

14. Bomb Tonnage Delivered. To work out the tonnage delivered use the
actual load being carried per sortie for respective cells as per the initial table
and NOT the relative cost matrix values. It works out to :-

(a) (50 x 8) + (150 x 8) + (50 x 6) + (150 x 8) + (50 x 5) + (150 x 6)


= 400 + 1200 + 300 + 1200 + 250 + 900 = 4250 tons of bombs.

(b) Number of allocations are 6 which satisfies the requirement of


(m + n - 1) allocations.

15. Another Approach to Maximisation Case. Instead of working out the


relative cost matrix, the initial table may be used. As the requirement is to
find the maximum bomb load to be carried, the opportunity cost/penalty for
not using the route which can carry maximum load has to be worked out. So
instead of finding the difference between the lowest and next higher values
for each row and column find the difference between highest and next lower
values and choose the one giving the highest penalty.

16. Allocations work out to be the same as in the case of Paragraph 13.
Interested readers may carry out the necessary iterations.
75
CDM/OR/Modi

TRANSPORTATION MODEL

FINDING AN OPTIMAL SOLUTION


MODIFIED DISTRIBUTION (MODI) METHOD

Introduction

1. The method of finding an optimal solution to a transportation problem


involves the following basic steps :-

(a) Making an initial allocation/assignment to obtain a basic


feasible solution. This has been discussed at length in the previous
course paper.

(b) Checking for condition of Independent Allocations. This aspect


will be discussed in this paper.

(c) Checking for optimality of the allocations made in the


programme. If allocations are optimal, the final solution has been
arrived at.

(d) If not, modifing the basic feasible solution through a process of


iterations till an optimal solution is reached.

2. There are two methods of testing for optimality and carrying out
iterations to obtain the optimal solution. These are :-

(a) Stepping Stone Method.

(b) Modified Distribution (MODI) Method.

3. Only the Modified Distribution (MODI) Method will be discussed in


this paper. It applies the concept of - 'Implied Costs'. Before proceeding
with this method, some points on Independent Allocations, Opportunity Cost
and Implied Cost will be discussed.

Conditions of Independent Allocations

4. One condition for an initial basic feasible solution as mentioned in the


earlier course paper is that there should be (m + n - 1) allocations. Another
condition which is to be satisfied before proceeding to iterate is that the
allocations should be in independent positions. Independent allocations are
obtained when starting from an occupied cell, it is not possible to come back
to the starting cell by a series of horizontal or vertical moves from one
occupied cell to another. Unoccupied cells are to be skipped over and one
can, if required turn in any direction at an occupied cell only. For example
the allocated cells as shown in Table 1 and Table 2 below are in
independent positions :-
76
CDM/OR/Modi

Table 1
Independent Allocations-Example 1
D1 D2 D3 D4 D5

O1 5 7 3 15

O2 4 3 7

O3 4 4 8

5 7 7 7 4 30
30

Table 2
Independent Allocations-Example 2
D1 D2 D3 D4 D5

O1 5 3 5 13

O2 7 7

O3 2 4 4 10

2 12 7 5 4 30
30

5. If, however, the allocation is as given in the following matrix (Table 3),
the allocations will not be independent as four cells (O 1 D 2 ), (O 1 D 3 ), (O 3
D 2 ) and (O 3 , D 3 ) form a closed loop as shown by arrows. This problem
occurs only when allocation in a particular cell is not made to match the
demand or availability, which ever is less.
77
CDM/OR/Modi

Table 3
Example of Allocation not being Independent
D1 D2 D3 D4

O1 4 8 13

O2 3 6
7

O3 2 3 2 10

5 7 10 6 30
30

Opportunity Cost

6. Opportunity cost is the overall effect on transportation cost of


occupying an empty cell by shifting one allocation from a filled cell. To find
an opportunity cost of an empty cell proceed as under:-

(a) Form a closed loop with one corner in the empty cell and other
corners of the loop being in occupied cells. For example in Table 4
below, there is a closed loop with empty cell O 2 D 1 .

Table 4 : Closed Loop

D2 D2 Availability

O1 5 4 4 5 9

O2 1 3 7
7
Requirement 5 11 16
16

(b) Shift one unit of the commodity to be transported to the empty


cell from one of the occupied cells and carry out adjustments in other
cells to comply with the requirements of Rim Conditions i.e. the
availability and demands are balanced. e.g. in Table 5 below.
78
CDM/OR/Modi

To fill empty cell O 2 D 1


Take out one unit from O 2 D 2 = -1
Add one unit to O 2 D 1 = +1

To balance demands of D 1 and D 2


Take out one unit from O 1 D 1 = -1
Add one unit to O 1 D 2 = +1

Table 5

D2 D2 Availability

O1 -1 4 +1 5 9
5 4
O2 +1 1 -1 3 7
7
Requirement 5 11 16
16

(c) Work out the effect on the cost after making this shift of one
element to the unoccupied cell. In this case the cost of including cell
O 2 D 1 in the programme involves: a saving of Rs 3 by reducing
allocation by 1 unit in cell O 2 D 2 , an expenditure of Rs 1 by adding 1
unit in cell O 2 D 1 , a saving of Rs 4 by reducing allocation of 1 unit
from cell O 1 D 1 and an expenditure of Rs 5 by increasing 1 unit in cell
O 1 D 2 i.e., 3 - 1 + 4 - 5 = Rs 1.

(d) Thus, the total effect of occupation of the empty cell, (or the
opportunity cost in that cell) is that the overall cost of the programme
goes down by Rs 1.

7. An empty cell will have a positive opportunity cost in case of savings


in overall transportation model (like Para 6 above), a negative opportunity
cost in case of increased transportation cost and zero opportunity cost in
case of no change to the transportation cost (i.e. alternative optima).

Implied Cost

8. The implied cost of an empty cell sets up an upper limit (in view of the
existing programme) beyond which the inclusion of this cell in the new
programme is not an advantageous proposition. Let us explain this with the
help of an example:-
79
CDM/OR/Modi

Destinations D2 D2 Availability
Origins
O1 - 4 + 5 1000
900 100
O2 + 1 - 3 600
600

Requirement 900 700 1600


1600

9. The implied cost of a given empty cell can change from one problem
to another since the implied cost is indicative of the relative advantage or
disadvantage of not using a given cell in a particular problem.

10. In this case Cell O 2 D 1 is the only empty cell. One way to find its
implied cost is by drawing a closed loop and determining the net cost effect
(opportunity cost) of shifting one unit of goods into the empty cell O 2 D 1 .
Ignoring, for the time being, the actual shipping cost via O 2 D 1 the effect of
shifting one unit of goods into O 2 D 1 (net cost change) would be:-

= -O 2 D 1 + O 1 D 1 - O 1 D 2 + O 2 D 2 [ +ve sign indicates


saving and -ve sign
indicates expenditure]

= - O2D1 + 4 - 5 + 3

= - O2D1 + 2 (1)
11. The opportunity cost of occupying cell O 2 D 1 , would be positive only
when expression in equation (1) is positive. In other words, it is worthwhile
to occupy cell O 2 D 1 only so long as (-O 2 D 1 + 2) in this case is positive.
And it would be positive so long as the actual cost of transportation via this
cell is less than 2. The calculated upper limit for the actual cost of empty cell
(in the existing programme) beyond which the inclusion of this cell in the new
programme is not an advantageous proposition is called the Implied Cost of
that cell. In the example under consideration it is Rs 2 for cell O 2 D 1 .

12. Let us try and establish a relationship between Opportunity Cost,


Implied Cost and Actual Cost of an empty cell.
Opportunity cost = Implied cost - Actual cost.
(for an empty
empty cell)
80
CDM/OR/Modi

Here 2 is the implied cost and 1 the actual cost of the empty cell
O2 D1.

MODI Method Concept

13. So far, the implied cost has been worked out by drawing a closed
loop. As the drawing of closed loops for all empty cells in each iteration is a
tedious process, it would be desirable to find a simpler method for
determining the implied and opportunity costs of empty cells. This is
precisely what the MODI Method does.

14. The opportunity cost of an 'occupied cell' is always zero. This is


easily understood, as interchanging of one unit of goods between two
occupied cells will not change the cost of the programme. Or, it may be said
that in case of occupied cells: -
Implied cost = Actual cost.
15. Now if we break the actual cost of an occupied cell into two
components; row component (Ui ) and column component (Vj ); the cost of
an occupied cell can be expressed as:
Actual cost = Ui + Vj .
16. But as seen earlier, in the case of occupied cells actual cost also
equals implied cost. Therefore, it may be stated that for occupied cells.
Implied cost = Row Component (Ui ) + Column Component (Vj ).
17. Example. The following table shows the occupied cells. Values
entered are the unit cost values (Cij ). Row and column components have
been allotted (for method of allotting these values see Para 22), to ensure
that Row components + Column component equals the actual cost of each
occupied cell. The column and row component would then indicate the
implied cost of each column and row respectively.

D1 D2 D3 D4 D5 U1

O1 10 20 5 0
4 6 8
O2 8 30 3
3 6
O3 10 4 -17
5 4
V1 10 20 5 27 21

18. Once Ui and Vj values have been worked out for a table then the
same logic is applied for empty cells and implied costs are worked out by
81
CDM/OR/Modi

adding the corresponding Column and Row components. Implied costs for
the empty cells of table in Para 17 would be shown below: -
Error! Not a valid link.

19. Having found out the implied cost of each empty cell, the opportunity
cost can be determined by: -
Opportunity Cost = Implied Cost - Actual Cost

20. Interpretation for Inclusion of Cells in New Programme. If the implied


cost of an empty cell is higher than the actual cost then there is a positive
opportunity cost. This is explained with the help of the following
relationships:-

(a) Implied cost > Actual cost Better allocation can be designed by
including this cell.
(b) Implied cost = Actual Indifferent; as no change in cost of
cost programme will occur.
(c) Implied cost < Actual Cell to be left out of allocations
cost

21. Optimal Programme. The programme will be optimal when the


Opportunity Cost (i.e, Implied cost - actual cost) for all empty cells is
negative or zero. In other words, when opportunity cost of all empty cells is
negative, an optimal solution has been reached. For cells where opportunity
cost for an empty cell is zero, an alternative optimal solution can be obtained
by utilising such cells for making an allocation.

22. Method of Assigning Column and Row Component. To determine


Column and Row component values, find a set of numbers (m and n), such
that for each occupied cell actual cost = m + n. It is convenient to start by
allotting zero to a row with maximum allocations. From this the Column
components for the occupied cells in that row can be computed. Thereafter,
the Row or Column component of each occupied cell is computed iteratively
till all Row and Column components have been found. The Table given in
Para 17 is reproduced below to illustrate the point:-
82
CDM/OR/Modi

D1 D2 D3 D4 D5 Ui

O1 10 20 5 0
4 6 8
O2 8 30 3
3 6
O3 10 4 -17
5 4
Vj 10 20 5 27 21

Initially, by assigning Row component = 0 to row O 1 , we get Column


component values of 10, 20 and 5 for first three columns. Using Column
component (5) for column D3 and the cost 8 of cell O 2 D 3 we get Row
component = 3 for row O 2 , and so on.

Solution Steps : Minimisation Case

23. Step 1 : Obtain a Basic Feasible Solution. Use NW Corner Rule, or


Vogel's Approximation Method or Inspection Method. Check for number of
allocations (m + n -1) and independent allocations.

24. Step 2 - Test for Optimality.

(a) Prepare a matrix with unit cost shown for occupied cells.

(b) Work out U i and V j values for the matrix.

(c) Prepare a matrix showing Implied (U 1 + V j ) costs of


unoccupied cells.

(d) Determine the opportunity cost of empty cells. In case all cells
have -ve opportunity cost, an optimal solution has been reached. If
not, proceed to next step.

25. Step 3 - Design New Programme. Select the empty cell with the
highest opportunity cost. In case of a tie among a number of cells having the
same highest opportunity cost, any one of these cells in chosen arbitrarily.
Determine a closed loop with the empty cell at one corner and other corners
as occupied cells. Carry out maximum possible allocations into the empty
cell, balancing the allocations in other cells, such that rim requirements as
explained in the previous course paper are met.

26. Step 4. Repeat Steps 2 and 3 till the optimal solution is reached.

27. Example. The solution of transportation of tanks problem is at


Appendix A.
83
CDM/OR/Modi

28. The transportation problems can also be solved using MS Excel. An


example is given at Appendix B.

Solution : Maximisation Case

29. For solving maximisation cases, prepare a relative cost matrix by


reducing the profit/payoff in each cell from the value of the highest
profit/payoff cell in the matrix as explained in the previous chapter.
Thereafter, proceed as for a minimisation case. Having found the optimal
allocation, reassign the actual profits or payoffs in all cells to work out the
cost of the programme.

Conclusion

30. MODI is a simple and iterative method which lends itself to easy
handling by computers.
84
CDM/OR/Modi

Appendix A
(Refers to Para 27)
TRANSPORTATION PROBLEM

EXAMPLE : SOLUTION BY MODI METHOD

Problem

1. Three depots hold stocks of a particular tank. Demands have been


received from five formations. The availability, requirement and cost of
transportation are as under:-

Formations D1 D2 D3 D4 D5 Availability
Depots
O1 10 20 5 9 10 9

O2 2 10 8 30 6 4

03 1 20 7 10 4 8

Requirement 3 5 4 6 3 21
21

2. Find the optimum allocations to minimise cost of transportation. Cost


is in thousands of rupees.

Solution

3. Allocation by NW Corner (Basic Feasible Solution) :-

D1 D2 D3 D4 D5 Availability

O1 9
3 5 1

O2 4
3 1
03 8
5 3

Requirement 3 5 4 6 3

Cost of transportation = 3 x 10 + 5 x 20 + 1 x 5 + 3 x 8 + 1 x 30 + 5 x 10 +
3 x 4 = 251 thousand.
85
CDM/OR/Modi

4. Based on the actual cost of occupied cells work out row and column
component values for the implied cost (since actual cost = implied cost for
occupied cells).

D1 D2 D3 D4 D5 Ui

O1 10 20 5 9 10 0
3 5 1

O2 2 10 8 30 6 3
3 1

O3 1 20 7 10 4 -17
5 3

Vj 10 20 5 27 21

5. Determine the implied cost of un-occupied cells by adding the


corresponding row and column component of implied cost as worked out
from the occupied cells.
D1 D2 D3 D4 D5 Ui
O1 10 20 5 9 10 0
3 5 1 27 21
O2 2 10 8 30 6 3
3 1
13 23 24
O3 1 20 7 10 4 -17
5 3
-7 3 -12
Vj 10 20 5 27 21

6. Opportunity Cost Matrix

Opportunity cost = Implied Cost Actual Cost

D1 D2 D3 D4 D5
O1 10 20 5 9 10
3 5 1 18 11
O2 2 10 8 30 6
11 13 3 1 18
O3 1 20 7 10 4
-8 -17 -19 5 3
3 5 4 6 3

As there are a number of cells with positive opportunity cost, select one with
highest opportunity cost for inclusion in the next programme. In case of a tie
between a number of cells with the same highest opportunity cost, select any
one of them arbitrarily. Cell O 1 D 4 is chosen in this case.
86
CDM/OR/Modi

7. Iteration No 1

(a) Make a closed loop with selected empty cell and three or more
occupied cells. (close loop is O 1 D 4 - O 2 D 4 - O 2 D 3 - O 1 D 3 )
and mark these cells with +. -. +, and signs to indicate addition and
subtraction of allotment in various cells.

(b) Since cells marked ve can give a maximum of 1 unit.


Maximum allocation of only quantity one to empty cell is possible.
New feasible solution is as under :-

2nd Programme

D1 D2 D3 D4 D5
O1 10 20 5 9 10
3 5 1
O2 2 10 8 30 6
4
O3 1 20 7 10 4
5 3

Note :- On occupation of cell O 1 D 4 , two cells O 1 D 3 and O 2 D 4


have become empty. Number of allocations falls below ( m + n - 1).
Solution is degenerate since by using the occupied cells, row and
column component values for all rows and columns cannot be worked
out. To overcome this a fictitious quantity (epsilon), which for all
practical purpose is equal to zero, is left in one of the cells being
emptied in the iteration. Let us assume a quantity is allotted in cell
O1 D3.

(c) Cost of this solution works out to Rs.233 thousand.

8. Test for Optimality (2nd Solution).

(a) Determine row and column component values of implied cost.

D1 D2 D3 D4 D5 U1

O1 10 20 5 9 10 0
3 5 1
O2 2 10 8 30 6 3
4
O3 1 20 7 10 4 1
5 3

Vj 10 20 5 9
87
CDM/OR/Modi

(b) Determine implied cost of Empty Cells.

D1 D2 D3 D4 D5 Ui

O1 10 20 5 9 10 0
3 5 1
O2 2 10 8 30 6 3
13 23 4 12 6
O3 1 20 7 10 4 1
5 3
11 21 6
Vj 10 20 5 9 3

(c) Opportunity Cost Matrix for Empty Cells.

D1 D2 D3 D4 D5 Availability

O1 10 - 20 + 5 9 10 9
3 5 1 -7
O2 2 10 8 30 6 4
11 13 4 - 18 0
+
O3 1 20 7 10 4 8
10 1 -1 5 3
Dem- 3 5 4 6 3 21
and 21

Cell with highest opportunity cost is ( O 2 D 2 )

9. Iteration No 2. Form close loop of cells O 1 D 3 - O 2 D 3 - O 2 D 2 -


O 1 D 2 - O 1 D 3 . Examining cells with negative signs i.e. cells ( O 1 D 2 ) and
(O 2 D 3 ) it is seen that maximum of quantity 4 can be shifted to zero occupied
cell ( O 1 D 3 ).

10. 3rd Feasible Solution. On shifting quantity 4 between cells in a close


loop keeping the demand and availability in view resultant matrix is as
under:-

D1 D2 D3 D4 D5 Availability

O1 9
1 4 1
3
O2 4
4

O3 8
5 3

Dem- 3 5 4 6 3 21
and 21
88
CDM/OR/Modi

11. Test for Optimality.

(a) Cost ( Cij ) Matrix for Occupied cells.

D1 D2 D3 D4 D5 Ui

O1 10 20 5 9 10 0
3 1 4 1
O2 2 10 8 30 6 -10
4
O3 1 20 7 10 4 1
5 3

Vj 10 20 5 9 3

(b) Implied Cost Matrix Empty Cells.


D1 D2 D3 D4 D5 Ui

O1 10 20 5 9 10 0
3 1 4 1

O2 2 10 8 30 6 -10
0 4 -5 -1 -7
O3 1 20 7 10 4 1
5 3
11 21 6
Vj 10 20 5 9 3

(c) Matrix (Opportunity Cost) Empty Cells.


D1 D2 D3 D4 D5 Ui

O1 - 10 20 5 + 9 10 0
3 1 4 1 -7
O2 2 10 8 30 6 -10
-2 4 -13 - 31 -13
O3 + 1 20 7 - 10 4 1
10 1 -1 5 3
Vj 10 20 5 9 3

Solution is not optimal as opportunity costs of certain cells are + ve.


Highest +ve opportunity cost is for cells O 3 D 1 which is to be occupied in
next iteration.
89
CDM/OR/Modi

4th Programme

12. The closed loop selected to fill O 3 D 1 is O 3 D 1 - O 1 D 1 - O 1 D 4 -


O 3 D 4 - O 3 D 1 and a maximum of quantity 3 can be shifted.

13. 4th Feasible Solution.

D1 D2 D3 D4 D5 Availability

O1 10 20 5 9 10 9
1 4 4
O2 2 10 8 30 6 4
4
O3 1 20 7 10 4 8
3 2 3

Dem- 3 5 4 6 3
and

14. Test for Optimality.

(a) Determine Ui and Vj for each row column based on occupied


cells.

D1 D2 D3 D4 D5 Ui

O1 10 20 5 9 10 0
1 4 4
O2 1 2 10 8 30 6 -10
4
O3 1 20 7 10 4 1
3 2 3
Vj 0 20 5 9 3

(b) Implied Cost Matrix : Empty Cells.

D1 D2 D3 D4 D5 Ui

O1 10 20 5 9 10 0
0 1 4 4 3
O2 2 10 8 30 6 -10
-10 4 -5 -1 -7
O3 1 20 7 10 4 1
3 21 6 2 3
Vj 0 20 5 9 3
90
CDM/OR/Modi

(c) Opportunity Cost Matrix : Empty Cells.

D1 D2 D3 D4 D5 Ui

O1 10 - 20 5 + 9 10 0
-10 1 4 4 -7
O2 2 10 8 30 6 -10
-12 4 -13 -31 -13
O3 1 20 7 10 4 +1
3 1 -1 2 3
Vj 0 20 5 9 3

Solution is not optimal + ve opportunity exists in cell O 3 D 2 .

5th Programme

15. Iteration No 4. The close loop connecting O 3 D 2 is O 3 D 2 O 1


D2 O 1 D4 O 3 D4 O 3 D2 and maximum quantity that can be shifted
is 1 being min in occupied cells with - ve sign.

16. 5th Feasible Solution.

D1 D2 D3 D4 D5 Availability

O1 10 20 5 9 10 9
4 5
O2 2 10 8 30 6 4
4
O3 1 20 7 10 4 8
3 1 1 3
De- 3 5 4 6 3
mand

17. Test for Optimality.

(a) Cij determine Ui and Vj based on actual cost of occupied cells.


D1 D2 D3 D4 D5 Ui

O1 10 20 5 9 10 -1
4 5
O2 2 10 8 30 6 -10
4
O3 1 20 7 10 4 0
3 1 1 3
Vj 1 20 6 10 4
91
CDM/OR/Modi

(b) Implied Cost Matrix : Empty Cells.

D1 D2 D3 D4 D5 Ui

O1 10 20 5 9 10 -1
0 19 4 5 3
O2 2 10 8 30 6 -10
-9 4 -4 0 -6
O3 1 20 7 10 4 0
3 1 6 1 3
Vj 1 20 6 10 4

(c) Opportunity Cost Matrix : Empty Cells.

D1 D2 D3 D4 D5 Availability

O1 10 20 5 9 10 9
-10 -1 4 5 -7
O2 2 10 8 30 6 4
-11 4 -12 -30 -12
O3 1 20 7 10 4 8
3 1 -1 1 3
De- 3 5 4 6 3
mand

18. As all values (opportunity cost) are negative, solution is optimal.

19. Cost of Programme (see 5th Feasible Solution at Para 16)

( 1 x 3 ) + ( 10 x 4 ) + ( 20 x 1 ) + ( 5 x 4 ) + ( 9 x 5 ) + ( 10 x 1 ) + ( 4 x 3 )

= 3 + 40 + 20 + 20 + 45 + 10 + 12

= Rs. 150 thousand.


92
CDM/OR/Modi

Appendix B
(Refers to Para 28)

INSTRUCTIONS FOR USING SOLVER FOR SOLVING


TRANSPORTATION PROBLEMS

1. Make two tables in a new worksheet as shown in Fig. 1 below.

Fig. 1. Initial Table for Solving Transportation Problems Using Solver.

2. Enter the formulae in various cells as shown in the Fig. 2.

3. Click on Tools, Solver and the Solver Window as shown in Fig. 3


would open.

4. In the Solver Window do the following:-


(a) Enter the cell references against Set Target Cell and By
Changing Cells like any formula window in Excel as shown in Fig 3.
(b) Select the Min radio button as we want to minimise the total
cost.
(c) Add the Constraints using Add button. In the Add
Constraint window (Fig 4) designate the cell containing value for
LHS of the constraint in Cell Reference box. In the Constraint box
enter a number, a formula or a cell reference containing the RHS of
93
CDM/OR/Modi

the constraint. Choose the appropriate direction of sign for the


constraint. Click Add to add next constraint. When all constraints are
entered click OK.

Fig. 2. Formulae entry in various cell of worksheet.

Minimise Total Cost


Shipments

Demands
are met

Supplies
are not
exceeded

Fig. 3 Solver Window


94
CDM/OR/Modi

Fig. 4 Add Constraint Window

5. Click on Options button in Solver window. Solver Option window will


open as shown below in Fig 5. Check the Assume Linear model and
Assume Non-Negative check boxes as shown. Click OK.

6. Click Solve button in Solver window. Results will be displayed as


shown in Fig 6.

Fig. 5 Solver Option Window.

7. Select the type of reports required to be seen and click OK. The
Solver will generate the required reports as separate sheets in the same
workbook. Answer Report has been shown in Fig 7 as an example.
95
CDM/OR/Modi

Fig. 6 Solution For Transportation Problem

Fig. 7 Answer Report for Transportation Problem.


96
CDM/OR/Modi

(Blank Page)
97
CDM/OR/Degen

TRANSPORTATION PROBLEMS

DEGENERACY

Introduction

1. It was established in an earlier paper that the number of occupied


cells in a Basic Feasible Solution should be (m + n - 1). Whenever the
number of occupied cells becomes less than (m + n - 1), the transportation
problem is said to be degenerate. In case the number of occupied cells is
more than (m+n-1), then it indicates that there has been some mistake in
making allocations and it should be redone. This paper deals with solution
of degenerate problems.

2. Degeneracy in transportation problems can occur at two stages :-

(a) At the start while making initial allocations for finding a basic
feasible solution.

(b) During the solution stage.

Degeneracy at Initial Stage

3. While determining the basic feasible solution, if at any point an


allocation satisfies both the demand and availability simultaneously, the
problem would become degenerate. In the tank example in the previous
paper, say if demands and availability were as under, the problem would
become degenerate: -

Depots Availability Formations Demands


O1 9 D1 3
O2 4 D2 5
O3 8 D3 5
D4 6
D5 2

4. Allocation by NW Corner Rule.


O1 3 5 1 9

O2 4 4

O3 6 2 8

3 5 5 6 2 21

Number of actual allocations = 6


m+n1 = 7
98
CDM/OR/Degen

5. In this case it will be seen than row and column component values
cannot be allotted to solve the problem by MODI METHOD.

6. Use of Epsilon . To solve such problems we make use of a Greek


letter pronounced epsilon. It has certain mathematical properties, and can
be described as a very small quantity which tends to be Zero. When it is
added or subtracted from a figure, the figure does not change in value e.g. 2
+ = 2 and 3 - = 3. However, additions and subtractions between
epsilons are done in the normal manner e.g. + = 2 and 3 - = 2 .
A cell having an in it is treated as an occupied cell.

7. Solution : Degeneracy at Initial Stage. To solve problems when


degeneracy occurs, allot / assign '' to one or more empty cells such that
the number of occupied cells becomes m + n - 1. While doing so it should be
ensured that '' is allotted to empty cells in a manner that it ensures that
row and column components (Ui and Vj ) can be assigned for solving the
problem by the MODI Method. Normally in minimisation case problems,
is assigned to cell (s) with lowest cost.

Degeneracy : During Solution Stage

8. This situation can occur when making allotments to empty cells with a
positive opportunity cost. In the process if more than one occupied cell falls
empty simultaneously, thereby reducing the number of occupied cells to
below (m + n - 1), degeneracy would have occurred.

9. An Example. An example of degeneracy is contained in the problem


solved by MODI Method, (Iteration No 1 at Para 7(b) of Appx A to
L/OR/MODI.) Another case of degeneracy during the solution stage is
given in the next example.

(a) The Problem with Initial Allocations.

D1 D2 Availability

2 2
O1 -ve 5 15 +ve 20

1 4
O2 +ve 5 -ve 5

Demand 5 20

(b) Opportunity cost of empty cell O 2 D 1 is +ve. Interested readers


may work it out for themselves.

(c) Maximum quantity of goods that can be shifted into the empty
cell is 5. Therefore, revised programme will be as under :-
99
CDM/OR/Degen

20
5

(d) Number of occupied cells in the new programme is two as


against required number (m+n-1) of three. The problem has become
degenerate.

10. Solution : Degeneracy During Solution Stage. An epsilon is


assigned to one of the recently vacated cells. The cell selected is the one
which has the lower cost of the two cells vacated. In the example taken, the
cells vacated O 1 D 1 and O 2 D 2 have costs 2 and 4 respectively associated
with them. Therefore will be allocated to cell O 1 D 1 .

General Remarks

11. During subsequent iterations the epsilon may disappear on these


cells getting occupied. In such cases would have served its purpose of
helping in the algorithm solution.

12. In case in the final solution an epsilon remains in one or more cells,
these cells are considered as unoccupied.

Conclusion

13. In solving real life transportation problems one may frequently come
across degeneracy either at the initial stage or during the solution stage.
However, these do not pose any difficulty as degenerate problems can also
be solved through an easy step of allocation of epsilons to the required
number of cells, as explained.
100
CDM/OR/Degen

(Blank Page)
101
CDM/OR/Tn Model

TRANSHIPMENT MODEL

Introduction

1. In the Transportation Model the objective was to transport a single


commodity from various origins / sources to various destinations at minimum
cost, when the cost of moving the commodity from different sources to
different destinations was known.
2. But the Transportation Model does not consider certain aspects of the
problem at hand. The possibility of moving the commodity between different
sources or amongst different destinations is not factored into the model. The
cost of such shipping is neither known nor considered. However some times
there may be situations when it may not be economical to transport directly
from sources to destinations.

What is Transhipment?

3. Let us consider a Source A and two Destinations B & C. The diagram


at Fig 1 below shows the transportation cost amongst various points. It is
evident that it is more economical to transport the requirements of
Destination C through Destination B rather than directly from Origin A.

3
500 A B 200

7
3

C 300

Figure 1

4. Similarly there may exist other cases when the commodity may be
transported to one or more intermediate centers before eventually reaching
its final destination. For instance, a main depot may have a number of sub-
depots or establishments that distribute stores received from the main depot
to other sub depots / establishments / units. A problem of this type is
referred to as a Transhipment Problem.

Characteristics of the Transhipment Model

5. The Concept. The Transshipment Model recognises that it may be


cheaper to ship through intermediate or transient nodes before reaching the
final destination. This concept is more general than that of the regular
102
CDM/OR/Tn Model

Transportation Model, where direct shipments are only allowed between a


source and a destination.
6. Types of Nodes. A Transhipment Model has the following types of
nodes / points :-
(a) Sources these are conventional supply points from where
dispatches originate.
(b) Destinations these are receiving nodes.
(c) Transhipment points these can both receive and send the
commodity. These Transhipment nodes may be :-
(i) Independent intermediate nodes with no supply /
demand or
(ii) Source / destination points themselves.
7. Use of Buffer. Transhipment problems can be converted to (and
solved as) a regular transportation model using the idea of a buffer. The
buffer is a sufficiently large amount to allow the entire original supply (or
demand) units to pass through any of the transhipment nodes. In case the
supply and demand are unequal the higher of the total demand or total
supply will be the buffer. Let b be the desired buffer amount, then
b = Total supply or Total demand [which ever is greater]
8. Transhipment Model is explained with the help of an example in
succeeding paragraphs.

Example

9. A depot has two sources of supply 1 and 2 and wishes to forward its
stores to two destinations A and B. The numbers of items available at
Sources 1 and 2 are 05 and 25 respectively. The demand at A and B is 20
and 10 items respectively. The depot instead of shipping directly from
sources to destinations, decides to investigate the possibility of
transhipment. Fig 2 below shows the transportation costs per unit of the
product between various points.
6
05 1 A 20
4 3
1
2 DEPOT 1
3

2 B 10
25
5

Figure 2
103
CDM/OR/Tn Model

10. Let us examine the nodes in the above network.


(a) Node 1 has a holding of 05 items and dispatches can originate
from here. It does not receive any supplies from any other node in the
network. This is known as a Pure Supply Node / Point.
(b) Node 2 has a holding of 25 items and dispatches can originate
from here also. It however can receive supplies from Source 1 in the
network and dispatch it ahead. This type of point is known as a
Supply cum Transhipment Node / Point.
(c) The Depot neither has holding of its own, nor any demand of
the items being transported. It can however receive supplies from
Sources 1 & 2, as also dispatch them onwards to Destinations A or B.
This is a Pure Transhipment Node.
(d) Node A can only receive the items as per its requirement, but
can not forward it to any other node in the network. It is a Pure
Demand Node.
(e) Node B can receive its requirement, while at the same time can
forward items to Node A, if required. Such nodes are known as
Demand cum Transhipment Nodes.

11. In Transhipment problem when setting up the problem like a


transportation model, various types of nodes appear under sources or
destinations as follows:
(a) Pure supply node: under sources only.
(b) Supply cum transhipment node: under both sources as well as
destinations.
(c) Pure transhipment node: under both sources as well as
destinations.
(d) Pure demand node: under destinations only.
(e) Demand cum transhipment node: under both destinations as
well as sources.

12. Since all the demand or all the supply may concentrate at any one
point, a fictitious quantity b may be assumed to act as buffer stock. The
buffer stock must be equal to the total supply or demand in the original
problem. Here b = 30. The buffer is added to the supply or demand of the
transhipment points. At a Pure Transhipment Node the demand or supply is
zero and here the buffer only forms the supply / demand.

13. Now we need to set up the problem and solve it in a manner similar to
the Transportation model. A standard transportation tableau can be set up
as given in Tables 1 & 2 below. Table 1 shows the use of buffer as per the
104
CDM/OR/Tn Model

type of node and Table 2 shows the actual quantities to be entered in the
demand and supply columns:-

2 Depot B A Available
2 4 M 6
1 05

0 3 5 M
2 25+b

M 0 1 3
Depot b

M M 0 1
B b

Demand b b 10+b 20
Table 1

To
From 2 Depot B A Available
2 4 M 6
1 05

0 3 5 M
2 55

M 0 1 3
Depot 30

M M 0 1
B 30
120
Demand 30 30 40 20 120

Table 2
105
CDM/OR/Tn Model

14. Solution. Make two tables in an Excel worksheet and enter


formulae as given in Figure 3 below:-

Figure 3
15. Click on Tools, Solver to get the Solver window and fill the data as
given in Figure 4 below:-

Figure 4
106
CDM/OR/Tn Model

16. After adding constraints through Add Constraint window in Solver,


click on Options button. Click on Assume Linear Model and Assume Non-
Negative check boxes and then click OK. See Figure 5 below:-

Figure 5

17. After filling in all the data, click on Solve in Solver window to get the
following screen. If Answer, Sensitivity and Limits are selected, and OK is
clicked, these reports get added to the worksheet. See Figure 6 below:-

Figure 6
107
CDM/OR/Tn Model

18. The final solution will appear as in Figure 7 below :-

Figure 7
19. The cells with a zero cost value can be ignored as it means no
movement is taking place through these routes. Encircled values to be
ignored in the lower table are actually the buffers, indicating whether
transhipment is taking place through these nodes or not. Therefore, we
should adopt the following transportation plan:-
(a) From Source 1 to Destination A - 05 items.
(b) From Source 2 to Depot - 25 items.
(c) From Depot to Destination B - 25 items.
(d) From Destination B to Destination A- 15 Units.
(e) Total cost of transportation - Rs145.
(f) This is less than the cost of direct transportation, i.e. Rs170.

Conclusion

20. There may be many situations, where direct transportation of stores


or commodities between the sources and destinations may not provide the
most economical solutions. The Transhipment Model can be suitably used
to cater for such situations.
108
CDM/OR/Tn Model

(Blank Page)
109
CDM/OR/AM

ASSIGNMENT MODEL

Introduction

1. The assignment model is a special case of the general linear


programming model. As a matter of fact, the assignment model is a special
case of the transportation model, which in turn is a special case of the
general linear programming model. It can thus be solved by the simplex
method, which, however, will be quite complex, even for small assignment
problems. Even the transportation method may require much iteration (for a
fair-sized assignment problem) before an optimal solution is reached.
Because of the magnitude of the calculations involved, different approaches
have been developed for problems which lend themselves to analysis by the
assignment model.

Characteristics

2. Assignment model deals with those special types of transportation


problems in which the number of origins or facilities equals the number of
destinations or jobs. The allocations are to be made on one-to-one basis;
ie one source to one destination or one facility to one job. The cost (or
payoff) of assigning each job to each facility is different. The basic
assignment model, like the transportation model is a minimisation model.
The objective is to assign the facilities to jobs in a manner so as to
minimise the overall cost.

3. In other words, in an assignment model :-

(a) There are a set of jobs/tasks/destinations. Say, these are n in


number.

(b) There are also a set of facilities/origins, which are also 'n' in
number.

(c) Therefore, it may be stated that an assignment matrix is a


square matrix. If Cij. represents the cost of assigning job 'i' to facility
'j', then there would be n number of such possible ways.

(d) The optimal solution (or any solution within the given
constraints) for the problem is such that there can be one and only
one assignment in a given row or column of the given payoff matrix.

(e) Payoff measures for each assignment are assumed to be


known and independent of each other.

4. Such problems arise in many different areas. Some application


areas are given at Appendix 'A' .
110
CDM/OR/AM

Solution by Enumeration

5. Consider an assignment problem having three facilities to be allotted


to three jobs. The costs of all possible assignments are as under :-

Jobs (Destinations)
J1 J2 J3
(D1) (D2) (D3)
F1 5 4 6
Facilities (01)
(Origins) F2 9 3 7
(02)
F3 3 2 1
(03)

6. The simplest approach to the problem is to list and evaluate all


possible solutions and then select the one having the lowest cost. This is
done in the table below:-

Assignment
of Jobs to Total Cost
Costs
Facilities
F1 F2 F3
J1 J2 J3 5 3 1 9 (Optimum)
J2 J1 J3 4 9 1 14
J3 J1 J2 6 9 2 17
J1 J3 J2 5 7 2 17
J2 J3 J1 4 7 3 14
J3 J2 J1 6 3 3 12

7. One major advantage of this method is that it also shows the next
best solution and how close or otherwise is the next solution. This brute
force method, however, has a major disadvantage: the number of possible
solutions being n !, these can be very large and, therefore, not practicable
even for a medium sized problem.

Properties of the Assignment Problem

8. The efficient method of solution of such problems is based upon the


two properties discussed in succeeding paragraphs.

9. Property 1. If a constant quantity is subtracted from all elements in


any row or column of the cost matrix, the costs of all the n possible solutions
are reduced by that same constant quantity:-

(a) Reasons Why this Property is True. Every possible


assignment utilises exactly one element in every row and one element
111
CDM/OR/AM

in every column. Thus every solution utilises the modified row(with all
costs reduced by a constant amount) or column exactly once. Since
the total cost of a solution is the sum of individual assignment costs,
the sum will be reduced by the constant quantity subtracted.

(b) Use of this Property. This property shows how it is possible to


modify the original problem in a way that leaves the solution modified
in a known manner. Reducing the costs of all solutions by the same
quantity leaves their ranking unchanged. The best solution to the
original problem is also the best solution to the modified problem.
Thus it is possible to modify the problem repeatedly until the table is
so laid out that it is easy to solve the problem.

10. Property 2. For an assignment problem having all non-negative costs,


a solution having zero total cost is an optimal solution.

(a) Reasons why this Property is True. Sums of non-negative


numbers are non-negative numbers. The cost of a solution is the sum
of individual assignment costs. Therefore a solution having zero total
cost may not be the only optimum solution, but it cannot be inferior to
any other solution and is, therefore, optimal.

(b) Use of this Property. This property is used to recognise the


optimality of a solution. A modified problem having a solution wherein
all assignments have zero cost is indeed an easy problem to solve.

Methodology - An Approach

11. The method of solving assignment problems is known as Floods


Technique or Hungarian Method of Assignment. This efficient method of
solving assignment problems can be stated as an algorithm (or series of
repeated steps). Some explanatory comments are included for guidance but
they are not meant to be a derivation or proof of the algorithm. The method
begins with an n x n square matrix of non-negative numbers. Each step
generates a new matrix and at each step only the current matrix is used.
The steps involved are :-

(a) Derivation of a total opportunity cost matrix from the given


pay-off matrix of the problem. This itself is derived in two steps :-

(i) Derivation of column or row-opportunity-cost-matrix.

(ii) Derivation of total-opportunity cost-matrix.

(b) Test for optimality of allocations, or determine whether an


optimal assignment has been made. If an optimal assignment is not
reached, proceed to the next step.

(c) Revise the current total-opportunity-cost matrix.


112
CDM/OR/AM

(d) Steps at (b) and (c) are repeated till an optimal solution having
zero-opportunity cost is achieved.

Solution Procedure

12. To explain the procedure let us consider the matrix for which a
solution was earlier found by enumeration.

5 4 6
9 3 7 (M1 )
3 2 1

13. In an assignment problem a match between an origin and a


destination (or a facility and a task) gives rise to two types of opportunity
costs. One is the opportunity cost with respect to the lowest pay-off
measure in the row to which the assigned cell belongs. The other is the
opportunity cost with respect to the lowest pay-off measure in the column to
which the assigned cell belongs. To find the total-opportunity cost matrix,
proceed as under:-

14. Step 1 - Derive the Row-Opportunity-Cost-Matrix. For each row


select the smallest number in that row and then subtract it from every
element in that row. Repeat this step for all rows, entering the result in a
new matrix. The resulting new matrix is :-
1 0 2
6 0 4 (M2 )
2 1 0

15. Step 2 - Derive the Total-Opportunity-Cost Matrix. For each column


in M2 matrix select the smallest number in that column and subtract it from
every element in that column. Repeat for all columns entering the results in
a new matrix, as under:-
0 0 2
5 0 4 (M3 )
1 1 0

Note :- Step 1 and 2 could have been inter-changed in order. The


results may not be the same but both are equally acceptable. In this
example the reverse order of row and column operations would have
resulted in the following matrix :-

0 0 3
5 0 5 (M3 )*
0 0 0
113
CDM/OR/AM

16. Step 3 : Method of Making Allocations

(a) Start examining the matrix row wise, starting with first row and
locate a cell which has a single zero in the row.

(b) Make allocation by drawing a box or a circle around the zero


and cross out all other zeroes appearing in the column corresponding
to the cell where an allocation has been made.

(c) Repeat this procedure till the last row is reached.

(d) Now start examining the matrix column wise, starting with the
first column. Locate a single zero cell in the column that is not
already crossed.

(e) Make an allocation in the column by drawing a box or a circle


around the zero cell and cross out all other zero cells appearing in the
row corresponding to the cell where the allocation has been made.

(f) Repeat this procedure till the last column is reached.

(g) Repeat (a) to (f) till no more allocations are feasible, either
because there are no more zeroes appearing which have not been
crossed, or if the row or column has more than one uncrossed zero
appearing in it.

(h) In case no column or row has a single uncrossed zero,


arbitrarily make an allotment in one of the zero cells and cross out the
zeroes in the corresponding rows and columns to overcome this
problem. Repeat (a) to (f) till no uncrossed zeroes are left.

17. Step 4 : Test for Optimality. In case the number of allocations made
are less than the total number of rows or columns, the solution is not optimal.
Then proceed as follows:-

(a) Draw a line in a row or column having the maximum number of


zeroes by pivoting on a cell where an allotment has been made.

(b) Keep drawing lines similarly across rows or columns till all
zeroes are covered by lines. It should be noted that the maximum
number of lines drawn to cross all zeroes should not exceed the
number of allotments made.

18. It is easy to find a zero cost assignment in matrix M3 (or M4). The
solution is marked by circles around the elements used in the assignment.
114
CDM/OR/AM

0 0 2 0 0 2

5 0 4 5 0 4

1 1 0 1 1 0

M3 M4

19. This is an optimal solution. A search for other zero-cost solutions


indicates that it is a unique optimal, as was already known from the solution
obtained by enumeration.

20. The real total cost of this solution can now be obtained from the
original cost matrix i.e., 5 + 3 + 1 = 9.

21. Let us take another example :-

Jobs
3 5 7 1
Facilities 9 8 12 10
13 8 14 2
5 7 10 6

22. After doing the first two steps, the total opportunity cost matrix is as
under :-

1 2 3 4
1 2 4 2 0

2 1 0 0 2

3 11 6 8 0

4 0 2 1 1
115
CDM/OR/AM

23. Proceed as follows to make allotments :-

(a) Row one has only one zero in cell (1,4) hence an allotment is
made in this cell and the zero appearing in column 4 in cell (3,4) is
crossed.

(b) Row 2 has two zeros hence skipped. Row 3 does not have a
zero. Row 4 has one zero in cell (4,1) hence an allotment is made,
and the corresponding column 1 has no zero hence no zero has been
crossed.

(c) Starting with column 1, it has no uncrossed or unmarked zero,


hence skipped. Column 2 has one zero in cell (2,2) hence an
allocation is made and the zero in the corresponding row 2 appearing
in cell (2,3) is crossed.

(d) Column 3 and 4 do not have any uncrossed or unmarked zero.

(e) Since no more zeroes are available the allocation procedure


stops.

24. Test for Optimality. Since the number of allocations made are 3
which is less than number of rows/columns (i.e., 4) the allocation is not
complete. To cover all zeroes proceed as follows:-

(a) Pivot on the zero in cell (1,4) and draw a line in column 4 to
cover zeros in cell (1,4) and (3,4).

(b) Pivot on zero in cell (2,2) and draw a line in row 2 to cover
zeroes in cells (2,2) and (2,3).

(c) Pivot on zero in cell (4,1) a line can be drawn either in column
1 or row 4 as in both the cases the line would cover only one zero. In
this case a line has been drawn in row 4.
Note : The number of lines drawn to cover all zeroes are exactly equal
to the number of allocations made.
25. Step 5 : Revising the Current Total Opportunity Cost Matrix. In case
an optimal solution is not found in step 4 then the current matrix has to be
revised. For this proceed as follows :-

(a) Select the smallest uncovered element.

(b) Subtract it from all uncovered elements.

(c) Add it to all twice covered elements.

(d) Do not change elements covered once.

(e) Return to Steps 3 and 4.


Note : This step is equivalent to a series of row and column
subtractions and additions whose purpose is to create zero-cost cells
116
CDM/OR/AM

in new places. It is important to realise that step 5 may have to be


repeated many times before subsequent steps 3 and 4 show an
optimal solution.
26. Returning to the example under consideration, the smallest
uncovered element in this matrix is 2. Step 5 yields following matrix :-

0 2 0 0
1 0 0 4
9 4 6 0
0 2 1 3

27. The example under consideration yields the following results (Can
apply in step 3). Since the number of allocations is equal to the number of
rows the optimal solution has been obtained :-

0 2 0 0

1 0 0 4

9 4 6 0

0 2 1 3

The cost of this assignment is 5 + 8 + 7 + 2 = 22.

Variations of the Assignment Problem

28. Maximisation Problems. Given a matrix containing pay off or some


other measure which needs to be maximised, a relative cost matrix is
determined (similar to the one prepared in the transportation model for
maximation cases) as under :-

(a) Select the largest element in the profit matrix.

(b) Prepare a relative cost matrix by subtracting each element


from this largest element.

(c) Solve the problem as for a minimisation case.

(d) To work out the pay off of optimal assignments, use the original
pay off matrix.
117
CDM/OR/AM

29. Unbalanced Problems. If the number of units is not equal to the


number of facilities, the problem is said to be unbalanced. This condition is
addressed by adding dummy units or facilities, whichever was deficient, so
that the numbers are equal. The costs or profits to be entered in the new
rows or columns are determined from the context of the problem.

30. Impossible Assignments. If some assignments are infeasible; for


example if Task 1 cannot be performed by Unit 3; then such assignments
can be effectively avoided by entering a large cost in that cell. This high cost
prevents that assignment from appearing in the optimal solution.

31. Negative Costs. If the cost matrix has mostly positive or zero cells
but has a few negative cost cells also, it is necessary to add to the rows or
columns a quantity sufficient to make- all cells non-negative. Property 1
shows that the modified problem will have the same ranking of solutions as
the original problem.

Use of Solver to Solve Assignment Problems

32. Assignment problems can also be solved in the same manner as


Transportation problem. Following changes are required to Transportation
problem to make it suitable for solving Assignment problem.

33. Change sources to Facilities/Candidates.

34. Change destinations to jobs.

35. Availability of each Facility/Candidate is 1.

36. Similarly, demand of each job is 1.

37. Make sure that the number of Facilities is equal to the number of jobs.

38. Equality signs are used in constraints. See Fig 7.


118
CDM/OR/AM

Equality Sign in
constraints

Fig. 7 : Solver Window Assignment Problem.

A Military Example

39. An example is at Appendix B.


119
CDM/OR/AM

Appendix A
(Refer to Para 4)

AREAS OF APPLICATION

Sl Job Criterion Facility


No

1 Tasks/Targets No of fire units Units/Task


Time Forces
Human Resources

2 Classes/Courses Teaching Performance Instructors

3 New Products Profit or Time Production


Plants
4 Machines/Weapons (a) Performance Crew/Operators.
Tanks/Aircraft Gradation
(b) Time

5 Scheduled Trains (a) No of Bogies Locomotives

6 Command/Staff Performance Gradation Officers/Pers


Appointments

7 Unit Extra curricular -do- NCOs/Officers


Qualified Appointments

8 Sig Centre, Exch, -do- Radio Operators


Radio Sets in a Signal Unit

9 Typing Load Typing Speed Clerks


120
CDM/OR/AM

Appendix B
(Refers to Para 39)

ASSIGNMENT MODEL : A MILITARY EXAMPLE

Problem

1. In a field formation, three units (A, B, C) are holding one surplus


vehicle each. There are three other units (D. E, F) who are deficient of these
vehicles. These units are located away from each other and their distances
are shown in the table given below. The GSO 2 (SD) wishes to make
allotments in a fashion that overall distance covered by the vehicles during
the inter-unit transfer is minimised.

D (D1) E (D2) F (D3)


A (O1) 20 KM 27 30
B (O2) 10 18 16
C (O3) 14 16 12

Solution

2. Column - Opportunity Cost Matrix.

D E F
A 10 11 18
B 0 2 4
C 4 0 0

3. Total - Opportunity Cost Matrix.

D E F

A 0 1 8

B 0 2 4

C 4 0 0 Covering
Line 2
Covering Line 1
121
CDM/OR/AM

4. Assignment

(a) 1st Assignment

D E F
A 0 0 7
B 0 1 3
C 5 0 0

(b) 2nd Assignment

D E F
A 0 0 7
B 0 1 3
C 5 0 0

(c) 3rd Assignment

D E F
A 0 0 7
B 0 1 3
C 5 0 0

(d) Cost of Assignment

Total cost of this programme i.e, Distance = 27 + 10 + 12 = 49 KM


covered by the three vehicles.
122
CDM/OR/AM

(Blank Page)
123
CDM/H//TSM

TRAVELLING SALESMAN MODEL

Introduction

1. A military leader has to reconnoitre a number of areas before deciding


on his plan for deployment of units and other resources. Also, many a times
he has to visit a number of formation/unit locations to interact with troops or
on various other assignments. His problem is of starting from one point and
returning to the same point after touching a number of intermediate points.
There could be numerous routes and possibilities. A travelling salesman is
the typical example of such problem where in he has to sequence the order
of visiting clients in such a way so that his travelling cost/time/distance is
minimised. A school bus moving from the school to take up children at
various pickup points and returning to school also entails the same problem.
2. The Travelling Salesman model is a technique to address this class of
problems. There is no general algorithm available for finding optimal solution
for such situations. However, there are a large number of solving methods
and one of them called branch and bound procedure is explained in this
paper. The branch and bound procedure is basically a modification of the
assignment model and is explained with the help of an example in
succeeding paragraphs.

An Example Commanders Recce Plan

3. A commander has to visit six areas before finally selecting a suitable


area for deployment of his formation/units. He is presently located at point A.
The distances between various areas are given in the following table.
Suggest a suitable reconnaissance plan for the commander so as to
minimise the overall distance to be travelled.

To Areas
From
A B C D E F

A - 38 31 48 63 52

B 34 - 41 29 43 26

C 35 41 - 27 29 33

D 48 25 27 - 25 25

E 63 43 29 25 - 21

F 52 28 33 25 20 -
Table 1
124
CDM/H//TSM

4. The matrix of the distances between different areas may not be a


symmetrical one. For instance, distance from point A to B is not the same as
the distance from point B to A. Such situations may develop because of
several reasons like one way traffic system etc.
5. This problem may have a finite number of solutions and the aim is to
find the optimum one. By applying some rules, the solutions are divided into
two parts, one that most probably contains the optimal solution and,
therefore, should be examined further; and the second part that would not
contain the optimal solution, and thus be left out of further consideration.
6. Upper Bound. To begin with, pick up any feasible solution - say, the
commander travels to the areas in the alphabetical order listed and make his
tour as A-B-C-D-E-F-A. This would entail total travelling of
38+41+27+25+21+52 = 204 kms. Since this tour is a feasible solution to the
problem, the value of 204 kms is the upper bound on the value of the
solution to this problem and the final solution should not be greater than 204
kms.
7. Lower Bound. Also set a lower bound on the solution value. Solving
it as a usual assignment problem of the minimisation type does this. The
value of the solution obtained would be the lower bound because no other
assignment will yield a value smaller than this. If the pattern of assignments
is such that it constitutes a tour, then the solution would be the optimal one.
If the pattern of assignments does not constitute a tour, then the solution is
to be found as explained below.
8. Make two tables in an Excel worksheet as shown below taking
availability and demand at each source/destination as 1. Note that diagonal
cells in the upper table have relatively high values to preclude the possibility
of assignment of a node to itself. The remaining cells in the table contain the
distances between various nodes. Fill in various formulae in the cells as
shown below in Figure 1.
125
CDM/H//TSM

Figure 1
9. Click on Tools, Solver and fill up the data as shown in the window
below (Figure 2):-

Figure 2

10. Note that equality sign is used in constraints. Click on Options and
check on Assume Linear Model and Assume Non- Negative and then click
OK (Figure 3).

Figure 3
126
CDM/H//TSM

11. Click Solve button in Solver window. Results are displayed as shown
in Figure 4:-

Figure 4
12. The result gives following assignments: A-C; B-A; C-D; D-B; E-F and
F-E with a total distance of 158 Km. This distance is a lower bound on the
solution because no assignment pattern would involve a distance of less
than 158 Kms. However, this solution is not a feasible one as it does not
provide for one reconnaissance tour. In fact, it involves two sub-tours A-C-
D-B-A and E-F-E (Node 1 in Figure 5 below).

1
Z = 158
UB = 204
(A-C-D-B-A) (E-F-E) LB = 158

E-F Unacceptable F-E Unacceptable

Figure 5
13. So far, the upper bound is fixed at 204 Kms and the lower bound is
158 Kms. Now the aim is to reduce the gap between the upper and the
lower bounds and the end is reached where no more gap reduction is
possible. The gap reduction is done by continuous downward revision of the
upper bound. The lower bound remains fixed and acts as a check against
possibility of arriving at an incorrect solution. For the purpose of shortening
the gap between the upper and lower bounds, break the smallest of the sub-
tours i.e. E-F-E into two branches, one making the route E-F and the other
making F-E as unacceptable as shown in Figure 5. (There would be as
many branches in a given situation as the number of routes involved in the
sub-tour being broken).
127
CDM/H//TSM

14. First, start with the optimal solution obtained earlier at Para 11, insert
M (i.e. a very large relative value say 1000 in this case) in the cell
corresponding to the route E-F in the table, making the route impossible.
Now, solve it as an assignment problem as shown below (Figure 6):-

Figure 6
15. As we observe, the optimal solution to this problem leads to two sub-
tours A-C-A and B-F-E-D-B, with a total distance value of 162 Kms (Node 2
in Figure 8).
16. Next again start with the optimal solution of the problem obtained
earlier at Para 11 and put an M (1000) in the cell corresponding to the route
F-E (remember to restore original value for EF). This makes this route
unacceptable. Solve this problem also as an assignment problem. This is
shown below (Figure 7):-

Figure 7
17. The optimal pattern of assignments in solution above results in a
complete tour A-C-E-F-D-B-A of distance 165 Kms (Node 3 in Figure 8).
128
CDM/H//TSM

18. Considering the results of both the branches, we reduce the upper
bound to 165 Kms (because movement along the branch making F-E an
unacceptable route results in a feasible solution to the problem). We can
show the modified branch and bound tree as in Figure 8 below:-

Z = 158 UB = 204
(A-C-D-B-A) (E-F-E) LB = 158

E-F Unacceptable F-E Unacceptable

2 3

Z = 162 Z = 165
(B-F-E-D-B) (A-C-A) (A-C-E-F-D-B-A)

(Revised UB = 165)

Figure 8
19. Although a full tour has been obtained, since the Z value at Node 2 is
162 there still may be a possibility of obtaining either a better solution (a full
tour may be possible with Z value of 162 to 164 i.e. less than 165) or an
alternate optimal solution (a full tour of 165 kms). Therefore, Node 2 needs
to be fathomed further. For this again, break the smallest of the sub-tours
found at Para 15 above i.e. sub-tour A-C-A into two branches: one that
makes the route A-C unacceptable and the other that makes the route C-A
unacceptable. For this purpose, start with the optimal solution given at Para
14 and put M (1000) in the cell indicating the route A-C. The problem is then
solved in the manner of an assignment problem, as shown below (Figure 9):-

Figure 9
20. Making the route A-C unacceptable results in a tour A-B-F-E-D-C-A
with a total distance of 171 Kms (Node 4 in Figure 11).
129
CDM/H//TSM

21. The result of making the route C-A unacceptable (Figure 10 below) is
a tour A-C-F-E-D-B-A involving a total distance of 168 Kms (Node 5 in
Figure 11).

Figure 10
22. Clearly, then, the movement along both the branches of this node
results in feasible solutions, but each one of them involves a plan that would
make the Commander travel longer than what he would if he accepts the
plan already at hand. To conclude, therefore, the upper bound cannot be
reduced any further and the optimal solution to the problem is the tour in the
order A-C-E-F-D-B-A with a total distance of 165 Kms.
23. The final branch and bound tree to this problem is shown below:-
1

Z = 158 UB = 165
(A-C-D-B-A) (E-F-E) LB = 158

E-F Unacceptable F-E Unacceptable

2 3

Z = 162 Z = 165
(B-F-E-D-B) (A-C-A) (A-C-E-F-D-B-A)
(Revised UB = 165)

A-C Unacceptable C-A Unacceptable

4 5

Z = 171 Z = 168
(A-B-F-E-D-C-A) (A-C-E-F-D-B-A)

(> Revised UB; Rejected) (> Revised UB; Rejected)


Figure 11
130
CDM/H//TSM

(Blank Page)
131
CDM/OR/NWM

NETWORK MODELS

Introduction

1. Many real world problems have a network structure or can be modelled in


network form. A network consists of a set of points called nodes, and a set
of curves, called branches or arcs or links that connect certain pairs of
nodes. Some examples of application areas are physical distribution
systems, communication networks, pipeline systems, scheduling problems,
inventory problems, and even financial applications, including cash
management.

2. Network models are at the problem solving frontiers in terms of problem


size and solution speed. Network decision models having as many as 62.5
million variables have been tackled by network models. They can also be
solved in reasonable amounts of computer time where other approaches are
impractical. These properties have led some researchers to advocate a
network concept whose philosophy is to extract network structure from a
problem whenever possible. PERT/CPM are applications of networks which
shall be covered separately.

Terminology

3. Fig. 1 is a network consisting of five nodes labelled A through E and six


branches defined by the curves AB, AC, AD, BC, CD and DE.

A C

D E

Figure - 1

4. A branch is oriented if it has a direction associated with it. Schematically,


arrows indicate directions. The arrow on branch AB signifies that this branch
132
CDM/OR/NWM

is directed from A to B. Any movement along this branch must originate at A


and terminate at B, movement from B to A is not permitted.

5. Two branches are connected if they have a common node. Branches AB


and AC are connected but branches AB and CD are not connected. A path
is a sequence of connected branches such that no node is repeated. A
network is connected if for each pair of nodes in the network there exists
atleast one path joining the pair. If the path is unique for each pair of nodes,
the connected network is called a tree. Equivalently, a tree is a connected
network having one more node than the number of branch.

Minimum Spanning Tree Problem

6. The minimum span problem involves the selection of a set of arcs that
will span (connect) all nodes of a network and also minimise the sum of the
arc lengths. The problem has applications in several areas. It is particularly
useful in designing transportation systems in which nodes of the network are
terminals and the arcs represent operational tracks, highways, pipelines,
airways and so on.

7. Let us examine the technique of solving such a problem with the help of
an example. The layout of inner circuits in an ordnance depot is being
planned. The depot has five main functional areas. Inter-se distances
between them (in kms) are listed in the table below. The service wants to
minimise the length of roadway required to provide desired accessibility. All
roads are two way roads.

A B C D E

A - 7.1 19.5 19.1 25.7

B 7.1 - 8.3 16.2 13.2

C 19.5 8.3 - 18.1 5.2

D 19.1 16.2 18.1 - 17.2

E 25.7 13.2 5.2 17.2 -

8. The procedure for solving the problem is straightforward and the


minimum spanning tree algorithm is a type of 'greedy' algorithm, because at
each step being greedy, that is, selecting the minimal length arc, will lead to
an optimal solution. To start the procedure, simply begin at any node and
select the shortest arc leading to another node. This forms a connected
segment of two nodes and an unconnected segment of the remaining nodes.
133
CDM/OR/NWM

Next, select the shortest segment to a node in the unconnected segment.


Repeat this process until all nodes are connected. The general form of the
greedy algorithm procedure can be summarised as follows:-

(a) Step 1. Construct a table of distances between nodes. If


some nodes can not be connected to others, show this by entering
the letter M in the Table. M is a very large number.

(b) Step 2 . Select any node to begin the algorithm; indicate that
this node is connected by a X mark and delete the column headed by
this node.

(c) Step 3. Find the smallest number in all the rows marked with
a X and circle it. The column containing this circled number indicates
the new connected node.

(d) Step 4. Mark the newly connected node with an X and delete
the column headed by this node.

(e) Step 5. Repeat steps 3 and 4 until all nodes have been
connected.

9. Let us apply the algorithm to the problem.

Step 1, 2, 3

A B C D E

(a) Select Node A X A - 7.1 19.5 19.1 25.7

(b) Delete Column A B - 8.3 16.2 13.2

(c) Select smallest C 8.2 -- 18.1 5.2


number in row A D 16.2 18.1 -- 17.2
E 13.2 5.2 17.2 --
134
CDM/OR/NWM

Step 4 & 3

A B C D E

(a) Mark B with X X A 7.1 19.5 19.1 25.7

(b) Delete Column B X B 8.3 16.2 13.2

(c) Select smallest C -- 18.1 5.2


unmarked D 18.1 -- 17.2
number in row A E 5.2 17.2 --
&B

Step 4 & 3 (Iterative Process)

A B C D E

(a) Mark C with X X A 7.1 19.1 25.7

(b) Delete Column C X B 8.3 16.2 13.2

(c) Select smallest X C 18.1 5.2


unmarked D -- 17.2
number in row A, E 17.2 --
B&C

Step 4 & 3

A B C D E

(a) Mark E with X X A 7.1 19.1

(b) Delete Column E X B 8.3 16.2

(c) Select smallest X C 18.1 5.2


unmarked D --
number in row A, X E 17.2
B, C & E

10. All nodes are now connected. The minimum path is A-B, B-C, C-E and
B-D.
135
CDM/OR/NWM

B B 16
B .2
16
.2

1
7.
D

7.1

8 .3
A

8.3
DD

19.1

18.1
AA
C

.2
13.2

17

2
5.
7
25.

C
C E

5 .2
E
E

11. The above technique can be applied for planning of roads,


communication networks, electrical circuits and so on.

Shortest Route Problem

12. In this problem the objective is to find the shortest route along arcs from
one node to one or more than one nodes in the network. The arcs may
represent distance, timings or cost. Problems or sub-problems can often be
modelled as shortest route problems. Transportation problems can often be
modelled as shortest route problems. Other problems such as equipment
replacement policy and so on can also be modelled as shortest route
problems.

13. The technique of solving such a problem is illustrated with the following
example.

14. A division's current location is at A. The division has to move to F for


operations. The network of roads leading to F is shown below:-
136
CDM/OR/NWM

B
B
12

18 DC
28
AA

17

32
32

DE 4 C
E
Source
11
17
Sink
F

15. While it may be possible to solve a small network as shown above by


inspection, the general method applicable to all networks is iterative in
nature and is given as an algorithm below:-

(a) Step 1. Construct a master list by tabulating under each


node, in ascending order of value, the branches incident on it. Each
branch under a given node is written with that node as its first node.
Omit from the list any branch having the source as its second node or
the sink as its first node.

(b) Step 2. Star the source and assign it the value 0. Locate the
cheapest branch on the source and circle it. Star the second node of
this branch and assign this node a value equal to the cost of the
branch. Delete from the master list all other branches that have the
newly starred node as second node.

(c) Step 3. If the newly starred node is the sink, go, to Step
5. If not, go to Step 4.

(d) Step 4. Consider all starred nodes having uncircled branches


under them in the current master list. For each one, add the value
assigned to the node, to the cost of the cheapest uncircled under it.
Denote the smallest of these sums as M, and circle that branch
whose cost contributed to M. Star the second node of this branch and
assign it the value M. Delete from the master list all other branches
having this newly starred node as second node. Go to Step 3.

(e) Step 5. A minimum cost path is obtained recursively,


beginning with the sink, by including in the path each circled branch
whose second node belongs to the path.
137
CDM/OR/NWM

16. Let us apply the algorithm to the network in Para 14.

Step 1 and 2

* * C D E F
A (0) B (18)
AB 18 BC 12 CB 12 DE 4 ED 4

AD 32 BD 28 CD 17 DF 17 EF 11
CF 32 DC 17
DB 28

Step 3

* * * D E F
A (0) B (18) C (30)
AB 18 BC 12 CB 12 DE 4 ED 4

AD 32 BD 28 CD 17 DF 17 EF 11
CF 32 DC 17 DC 17
DB 28

Step 4

* * * * E F
A (0) B (18) C (30) D (32)
AB 18 BC 12 CB 12 DE 4 ED 4

AD 32 BD 28 CD 17 DF 17 EF 11
CF 32 DC 17
DB 28
138
CDM/OR/NWM

Step 5

* * * * * *
A (0) B (18) C (30) D (32) E (36) F (47)
AB 18 BC 12 CB 12 DE 4 ED 4

AD 32 BD 28 CD 17 DF 17 EF 11
CF 32 DC 17
DB 28

Shortest path is F - E - D - A or A - D - E - F which is 47 kms.

Using Excel to Solve Shortest Route Problems

17. Let us consider the following network shown in Fig 1 where the source is
node A and destination is node F.

A
18 B
12

C
28
32 17 32

4 E
D
11
F
17
Fig. 1 Network for Shortest Route

18. In the above example all arcs are directional. In case some arcs are
undirected, create two directed arcs in opposite directions, between the
same two nodes.
139
CDM/OR/NWM

19. Following points need to be understood while solving Shortest Route


problems using Excel.

(a) For source node: no of routes taken out from it minus no of


routes taken into it will be 1 i.e. only one of the route out from it will be
used for travelling.

(b) For destination node: no of routes taken out from it minus no of


routes taken into it will be -1 i.e. only one of the route into it will be
used for travelling.

(c) For all other intermediate nodes: no of routes taken out from it
minus no of routes taken into it will be 0 i.e. only one of the route into
it and one of the route out from it will be used for travelling.

20. Set up the Excel sheet as shown in Fig. 2. In Col M(under Net Supply)
ensure that 1 is filled in the row which has the source node in Col A.
Similarly, enter 1 in Col M against destination node. For all other nodes
enter 0 in Col M.

Fig. 2 Excel Sheet Entries for Shortest Route Problems

21. Click on Tools, Solver and Solver window will appear. Make entries
in Solver window as shown in Fig 3.
140
CDM/OR/NWM

Fig. 3 Solver Window Entries for Shortest Route Problems

22. Click on the options button and the Solver Options window appears.
In the Solver Options window check the Assign Linear Model and Assume
Non-Negative Check boxes as shown in Fig 4 and click on OK.

Fig. 4 Solver Options Window

23. In the Solver window click on Solve. The results will appear as shown
in Fig 5. Click on OK in Solver results window. Solver results and sensitivity
analysis can be viewed in the same manner as for LP or Transportation
problems.
141
CDM/OR/NWM

Fig. 5 Solution for Shortest Route Problem

Alternate Method

24. Set up Excel worksheet as shown in Fig 6. Two identical tables


should be created with all nodes of the network appearing in rows as well as
columns. The cells in the table represent various possible routes among
various nodes of the network. Fill the distances between various nodes in
the upper table. For example, distance of 32 from node A to node D will be
entered in the cell F6. Cells corresponding to the routes that do not exist will
have a very high value, say 1000. For example, no route exists between
node A and node C. Accordingly, cell E6 will have a high value of 1000.

Fig 6. Excel Sheet Entries For Shortest Route Problems (Alternate


Method)
142
CDM/OR/NWM

25. Fill in the formulae in various cells as shown in Fig 6 above. Make
entries in Solver window as shown in Fig 7. In Col L, under the heading
Reqmt enter 1 against the source node (Cell L15) and 1 against the
destination node (Cell L20). For all other nodes enter 0.

26. Repeat the step as in para 6. Click on Solve in Solver window and the
result will be displayed as in Fig 8. A value of 1 appears in the cells
corresponding to the arcs that are selected as a part of shortest route from
source to destination node. In present example, arcs AD, DE and EF are
selected as indicated by a 1 in cells D15, E18 and F19.

Fig. 7 Solver Window Entries for Shortest Route Problems (Alternate


Method)

Fig. 8 Solution for Shortest Route Problem (Alternate Method)


143
CDM/OR/NWM

27. Participants are encouraged to ascertain the advantages and


disadvantages of each method.

Maximal Flow Problems

28. In the maximal flow problem the objective is to determine the


maximum amount of flow (that is fluids, power, traffic, information etc.) that
can be transmitted through the nodes and arcs of a network. A single input
node called the source and a single output node called the sink are
assumed. The problem has applications in such areas as the study of traffic
flow, pipeline design, communication network design and distribution
systems. It is particularly helpful in capacity planning of such systems.

29. The maximum flow problem is characterised by the arcs of the


network having finite capacities, which limit the amount of flow that can pass
through the arc in given time. The problem is to determine the amount of
flow across each arc (subject to capacity restrictions) that will permit the
maximum total flow from source to sink.

30. Arc capacities are shown by a number beside each arc as indicated
below:-
3 1 1
A B

The 3 by node A indicates that 3 units can flow along arc AB from A to
B and the 1 by node B indicates that 1 unit can flow from B to A.
31. Though there are many possible ways to send various flow quantities
along the paths from source to sink, the rule of conservation of flow must be
borne in mind. This implies that whatever flows into a node must flow out.
Solving the Maximal flow problem is almost as simple as repeatedly finding
paths from source to sink with available capacity. For this procedure to work
there are two other guiding lines that be followed.

32. The first guideline is that the maximum amount that can flow from
source to sink along a given path is equal to the minimum available capacity
on any arc in the path. (This is similar to the weakest link in the chain
analogy). Second, we need a way of changing flows along paths to achieve
a better flow assignment. Arbitrary assignment of flows along paths does
not guarantee that an optimal solution will be achieved. Optimal flow is
eventually achieved by the following procedure. When assigning a flow to
an arc

(a) Reduce the capacity in the direction of the flow by the amount
of the flow.

(b) Increase the capacity in the opposite direction of the flow by


the amount of the flow.
144
CDM/OR/NWM

Step (b) may appear strange, but it allows us to 'undo' a flow that is
not optimal.
33. Maximal Flow Algorithm

(a) Step 1. Find a path from source node to sink node with a
positive flow capacity. If no paths with positive flow capacity exist,
STOP. The current flows are optimal.

(b) Step 2. Determine the arc in the path with minimum flow
capacity, Cmin . increment the flow along the path by Cmin .

(c) Step 3. Decrease the capacities in the direction of flow by


Cmin for all arcs in the path. Increase the capacities by Cmin in the
opposite direction, for all arcs in the path. Go to step 1.

34. Let us illustrate this with an example. A division is located at A and


has to move to its operational area at G. The various routes and capacities
of the routes in terms of vehicles per day are given below. The division has
1400 vehs. Determine the best routing so that the move can completed in
the shortest time. All capacities are shown in hundreds.

B 4 0 E
0 7
2 0
2

7 1 0
14 A 4 0 C
5 3 G
0

1
2 4 7
D 3 0 F
0

35. Solution. The move will be completed fastest if a maximum flow of


vehs per day can be maintained between A and G.

(a) Consider path ABEG. It has a minimum positive flow of 4 units


i.e. Cmin = 4 between B and E. Decrease capacities in direction of
flow by 4 and increase capacities in the opposite direction by 4.
Cross-out branch BE whose forward capacity is reduced to zero. The
revised network is :-
145
CDM/OR/NWM

B 0 4 E
2
4 2 3
0

3 1 4
A 4 0 C
5 3 G
0

2 4 1 7
D 3 0 F
0

(b) Consider ADFG. C min is 3, Cross out branch DF, whose


forward capacity is reduced to zero. Revised network is :-

0 4
B 2 E
4 2 3
0

3 1 4
4 0
A C G
2 3
3

2 4 1 4

D 0 3 F
3

(c) Consider ACDEG. C min is 3. Cross out branch EG as


capacity is reduced to zero. Revised network is -
146
CDM/OR/NWM

4 0 4
B E 0
2 3
2

3 1 7
1 3
A C G
2 0
3

1
5 1 4
D 0 3 F
3

(d) Consider ABFG. C min is 2. Cross out branch BF as capacity


is reduced to zero. Revised network is:-
0 4
6 B 3 E 0
2 0

1 1 7
A 1 3 C
2 G
0 5

3
5 1 2
D 0 3 F
3

36. There being no other path with positive flow an optimal solution has
been reached. As can be seen a maximum flow of 1200 vehicles/day .can
be maintained by the following routings:-
ABEG - 400 vehs
ABFG - 200 vehs
ADFG - 300 vehs
ACDEG - 300 vehs
37. Alternative routes can be found but the maximum flow through the
network cannot exceed 1200 vehicles per day.
147
CDM/OR/NWM

Use of Excel to Solve Maxi Flow Problems

38. Let us consider the network as shown in Fig 1 below. It is required to


find the maximum flow possible from source (node A) to sink (node G).

8
10
D 7
B 3
6
1
10
2
A 4 F G
10 1 2

C
2
8

E
12

Fig. 1 Network for finding Maxiflow

39. The maxiflow network problem is solved using Solver add-in of Excel.
Following points need to be understood before we proceed to solve the
maxiflow problem.

(a) Objective is to maximise the flow out of source node.

(b) For all intermediate nodes (i.e. nodes B to E)- flow into the
node is equal to flow out of the node.

(c) Flow on any given arc cannot exceed the arc capacity.

40. Set up the Excel sheet as shown in Fig 2. Following points need to be
kept in mind.

(a) In col B, under Node Name, first enter the source node name
and then below it the sink node name.

(b) In col C, under Node No, assign no 1 to the source node and
highest node no to the sink (7 in the present example).
148
CDM/OR/NWM

Fig. 2 Excel sheet for Maxiflow problems

41. The formula in cell K1 corresponds to the objective function of total


flow out from source node i.e. node no 1.

42. Click on Tools, Solver. The Solver window will appear. Fill the
information in Solver window as shown in Fig 3.

Fig. 3 Solver Window Entries for Maxiflow Problems

43. Click on the options button and the Solver Options window appears.
In the Solver Options window check the Assign Linear Model and Assume
Non-Negative Check boxes as shown in Fig 4 and click on OK.
149
CDM/OR/NWM

Fig. 4 Solver Options Window

44. In the Solver window click on Solve. The results will appear as shown
in Fig 5. Click on OK in Solver results window. Solver results and sensitivity
analysis can be viewed in the same manner as for LP or Transportation
problems.

Fig. 5 Maxiflow Solution

Alternate Method

45. Set up Excel worksheet as shown in Fig 6. Two identical tables


should be created with all nodes of the network appearing in rows as well as
columns. The cells in the table represent various possible arcs among
150
CDM/OR/NWM

various nodes of the network. Fill the arc capacities between various nodes
in the upper table. For example, from node A to node B arc capacity of 10
will be entered in the cell D3. Cells corresponding to the arcs that do not
exist should be left blank. For example, no arc exists between node A and
node D. Accordingly, cell F3 should be left blank.

Fig 6. Excel Sheet Entries For Maximal Flow Problems (Alternate


Method)

46. Fill in the formulae in various cells as shown in Fig 6 above. The cells
in the lower table (C12:I18) act as variables to determine the actual flow in
various arcs. Make entries in Solver window as shown in Fig 7. Note that net
flow in all intermediate nodes (i.e. values in cell L13 to L17) is equal to 0 and
outflow from source node is maximised. The other set of constraints ensures
that actual flows do not exceed the capacities.

47. Repeat the step as in para 6. Click on Solve in Solver window and the
result will be displayed as in Fig 8. The values indicated in the lower table
(C12:I18) indicate actual flows in various arcs in order to achieve maximum
flow through the network. For example, actual flow of 9 units takes place
from A to B against actual capacity of 10 units. Total outflow from source and
hence the entire network is 17 units.
151
CDM/OR/NWM

Fig. 7 Solver Window Entries for Maximal Flow Problems (Alternate Method)

Fig. 8 Solution for Maximal Flow Problem (Alternate Method)

Exercise Equipment Replacement Strategy.

48. The following data in respect of charging sets has been collected: -
152
CDM/OR/NWM

Age in Years
4-5
0-1 1-2 2-3 3-4
Maintenance 10,000
7,500 8,300 10,900 8,500
Cost
Year end
14,000 6,000 9,000 3,500 2,500
salvage value

49. No charging set is kept more than 5 years. The new charging set
costs Rs 21,000 and only new charging sets are purchased as
replacements. (High maintenance cost in third year and better salvage value
at end of third year is because of a major overhaul of the equipment). It is
proposed to discard the current type of charging set after 9 years due to
anticipated change in technology.

50. Determine a replacement policy for the current stock of charging sets
2 years old, that will minimise, the total cost over the, next 9 years.
153
CDM/OR/QM

QM FOR WINDOWS

Introduction

1. QM for Windows is a PC based software package intended to function


as a decision making tool. It is a user-friendly software available for the field
of quantitative analysis/quantitative methods (QA/QM). In addition to solving
the problems of Operations Research, it also has the modules to solve the
problems related to statistics and logistics planning.

Aim

2. The aim of this handout is to introduce participants to QM for


Windows package to enable them to use this software to solve problems
related to Operations Research techniques.

Characteristics

3. The software follows standard spreadsheet / word processor in


Windows format and is therefore, easy to use. It has 18 modules and 40
sub-modules which cover almost all the major techniques of Operations
Research. The screens for every module are consistent, so that once you
are accustomed to using one module, you will find it easy to use other
modules. It is easy to change from one solution method to another to
compare methods and answers.
4. The spreadsheet-type data editor allows full screen editing. Files are
opened and saved in the usual Windows fashion, and in addition, files are
named by module, which makes it easy to find files saved previously. The
Graphs are easily displayed and printed.

Use of Package

5. To use the QM for Windows program, double-click on the shortcut on


the desktop or use Start, Programs, QM for Windows 2, QM for Windows.
The basic screen for the software is displayed as follows:-
154
CDM/OR/QM

Main Menu
Tool
Bar
Format
Bar
Instruction

Toolbar

Data
Area

Status
Bar
Utility
Bar

6. The main menu bar has seven menu options of File, Edit, View,
Module, Format, Tools, and Window. Initially only four options are enabled
i.e. File, View, Module and Tools. The other options will become enabled as
a module is chosen or as a problem is started. All options are explained in
the succeeding paragraphs.
7. File. File contains the usual options that one finds in Windows 98.
(a) New. This is chosen to begin a new problem/file.
(b) Open. This is used to open/load a previously saved file. File
selection is the standard Windows common dialog type. Notice that
the extension for files in the QM for Windows system is given by the
first three letters of the module name. For example, all linear
programming files have the extension *.lin.
155
CDM/OR/QM

(c) Save. Save will replace the file without asking you if you care
about overwriting the previous version of this file.
(d) Save As. Save as will prompt you for a file name before
saving. You can also specify the drive, such as C: or A:. This option is
very similar to the option to load a data file.
(e) Save as Excel File. Save as Excel File saves a file as an
Excel file with both the data and appropriate formulae for the solutions
and is available for some but not all of the modules.
(f) Save as HTML. Save as HTML saves the table as an HTML
formatted file that can immediately be placed on the Internet.
(g) Print. Print will display a print menu screen with four tabs.
(i) The Information tab allows you to select which of the
output tables should be printed.
(ii) The Page Header tab allows you to control the
information displayed at the top of the page.
(iii) The Layout tab controls the printing style. Information
may be printed as plain ASCII text or as a table (grid)
resembling the table on the screen.
(iv) The Printer tab allows certain print settings to be
changed.
(h) Exit. The last option on the File menu is Exit. This will exit the
programme if you are on the data screen or exit the solution screen
and return to the data screen if you are on the solution screen. This
can also be achieved by pressing the Edit command button on the
solution screen.
8. Edit. The commands under Edit have three purposes. The first four
commands are used to insert or delete rows or columns. The next command
is used to copy an entry from one cell to all cells below it in the column. The
last two entries can be used to copy the data table to other Windows
programs.
9. View. View has several options that enable you to customize the
appearance of the screen. The toolbar can be displayed or not. The
Instruction bar can be displayed at its default location above the data or
below the data, as a floating window, or not at all. The Status bar can be
displayed or not. Colours can be set to monochrome (black and white) or
from this state to their original colours.
10. Module. The Module selection contains a list of following
programmes listed in alphabetical order:-
(a) Assignment.
(b) Breakeven/Cost-Volume Analysis.
(c) Decision Analysis.
(d) Forecasting.
(e) Game Theory.
156
CDM/OR/QM

(f) Goal Programming.


(g) Integer Programming.
(h) Inventory.
(i) Linear Programming.
(j) Markov Analysis.
(k) Material Requirements Planning.
(l) Mixed Integer Programming.
(m) Networks.
(n) Project Management (PERT/CPM).
(o) Quality Control.
(p) Simulation.
(q) Transportation.
(r) Waiting Lines.
11. Format. Format also has several options for the display. The colour
for the entire screen can be set, and the font type and size for the table can
be set. Zeros can be set to display as blanks rather than zeros. The problem
title that is displayed in the data table and was created at the creation screen
can be changed. The table can be squeezed or expanded i.e. the column
widths can be decreased or increased.
12. Tools. The Tools menu option is an area available to annotate
problems. If you want to write a note to yourself about the problem select
annotation; the note will be saved with the file if you save the file. A
calculator is available for simple calculations, including square root. There is
a normal distribution calculator that can be used for finding confidence
intervals and the like.
13. Window. The Window menu option is enabled only at the solution
screen to indicate that more solution information is available. Use this to
view the other solution Windows.
14. Help. The first help option, module help, will give a small description
of the module, the data required for input, the output results, and the options
available in the module.

Solving a Problem

15. Use of the software is explained in succeeding paragraphs through


solution of a LP problem.
16. Under the Module, select Linear Programming programme.
17. Under File option, either choose New or Open to create a new data
set or to load a previously saved data set.
18. The top line of the creation screen contains a text box in which the
Title of the problem can be entered.
157
CDM/OR/QM

19. Enter the Number of constraints in the problem. Constraints are


listed in the rows and can be chosen with either the scroll bar or the text box.
Maximum number of rows/constraints in any problem is 90.
20. Similarly enter the Number of variables which are listed in the
columns and their maximum number can be 90.
21. Under the Objective, choose minimize or maximize as applicable to
the problem.
22. After making your choices, click on the [OK] button or press
[Return/Enter] key. At this point a blank data screen will be displayed.
Screens will differ module by module.
23. After a new data set has been created or an existing data set has
been loaded, the data can be edited.
24. Every entry is in a row and column position. You navigate through the
spreadsheet using the cursor movement keys. These keys function in a
regular way.
25. The instruction bar on the screen will contain a brief instruction
describing what is to be done.
26. There are essentially three types of cells in the data table:-
(a) One type is a regular data cell into which you enter either a
name or a number e.g. here you can enter the coefficients of
constraints /constraints names.
(b) A second type is a cell that cannot be changed e.g. maximize
or RHS.
(c) A third type is a cell that contains a drop-down box e.g. > or <
or = signs used in a linear programming constraint, are chosen from
this type of box. To see all of the options, press the box with the
arrow.
27. After having entered all the data, you can press the [Solve] button to
begin the solution process. A new solution screen will be displayed.
28. An important thing to notice is that there is more solution information
available. You will notice that the Window option in the main menu is now
enabled. It is always enabled at solution time. The Window option allows you
to view the other solution windows.
29. The problem and the solution can be saved under the File option for
subsequent printing/usage.

Conclusion

30. This handout contains an overview of the QM for Windows package.


The software can be used to either solve problems or check answers that
have been derived by hand. Once the participants are familiar with one
programme, they can easily use the package for solution of problems using
other techniques.
158
CDM/OR/QM

(Blank Page)
159
CDM/OR/LPS

LINEAR PROGRAMMING : THE SIMPLEX METHOD

Introduction

1. A graphical solution of LP models with more than two variables is not


possible. The algebraic solution method called the simplex algorithm can be
applied to solve any linear programming problem. The simplex method
solves LP problems in iterations where the same computational steps are
repeated a number of times before the optimal solution is reached. The
information that can be secured from the simplex method goes beyond
determining the optimum values of the decision variables. It provides
important economic interpretation of the problem.

Standard Form of the LP Model

2. In graphical method of solution of two variable LP problems the


models include constraints of the type , = and and the variables are
generally stated to be non negative. To develop a general solution method,
the LP problem must be put in a common format, which can be called the
standard form. The properties of the standard LP form are:-

(a) All constraints are inequalities usually with non-negative values


on the right hand side to reflect real life situations. In case right hand
side is negative, the equation is multiplied by 1 to make right hand
side positive. The direction of inequality sign is also changed in doing
so.

(b) All variables are non-negative; and

(c) The requirement may be to either maximize or minimize the


objective function.

3. In order to solve an LP using Simplex, the inequalities of the


constraints are converted into equations by adding slack variable to the left
side of the inequality of the type and by subtracting a surplus variable
from the left hand side of the inequality of the type .

Illustrative Example

4. Two types of aircrafts A and B are to be assigned for a bombing


mission of a target. While type A aircraft can carry 2 tonnes of bomb load,
type B can carry 3 tonnes of bomb load. The fuel consumption per sortie of
aircraft A is 10,000 litres and that of aircraft B is 20,000 litres. Each aircraft
requires one ground crew to prepare the aircraft for the mission. The base
has a total of 26 aircraft of type A and 15 of type B. It is possible to launch
only one sortie per aircraft within the time available for mission. Further only
4,00,000 litres of fuel is available and the ground crew availability is
160
CDM/OR/LPS

restricted to 30. The requirement is to find the best mix of aircraft sorties of
the two types of aircraft to deliver maximum bomb load on the target.

5. If A and B are the No of sorties of aircraft of type A and B


respectively, the problem can be expressed mathematically as follows:-

Max Z = 2A + 3B
Subject to

10000 A + 20000 B 400000 (Fuel)


A + B 30 (Maint crew)
A 26
B 15 (Availability)
A, B 0

6. The problem can be expressed in standard LP form as under:-


Max Z = 2A + 3B

Subject to

10000 A + 20000 B + S1 = 400000 (Fuel)


A + B + S2 = 30 (Maint crew)
A + S3 = 26
B + S4 = 15 (Availability)
A, B, S1, S2, S3, S4 > = 0

Where S1, S2, S3 and S4 are the slack variables used to convert the
inequalities in Para 5 into equations.

7. The problem can now be expressed in terms of all variables as


follows:-
Max Z = 2A + 3B + 0S1 + 0S2 + 0S3 + 0S4
Subject to
10000 A + 20000 B + 1S1 + 0S2 + 0S3 + 0S4 = 400000
(Fuel)
A + B + 0S1 + 1S2 + 0S3 + 0S4 = 30 (Maint crew)
A+ 0B + 0S1 + 0S2 + 1S3 + 0S4 = 26
OA + 1B + 0S1 + 0S2 + 0S3 + 1S4 = 15 Availability
A, B, S1, S2, S3, S4 > =0

The Simplex Method

8. In the graphical solution, it was seen that optimal solution is always


associated with a corner point of the solution space. The simplex method is
fundamentally based on similar idea. The simplex method employs an
iterative process that starts at a feasible corner point, normally the origin,
and systematically moves from one feasible extreme point to another until
161
CDM/OR/LPS

the optimal point is reached. There are two rules that govern the selection of
next corner point in the simplex method.

(a) The next corner point must be adjacent to the current one.

(b) The solution can never go back to the previously considered


extreme point.

9. The example above consists of four equations involving six unknowns


i.e., A, B, S1, S2, S3 & S4 that completely define all the points in the solution
space as explained in graphical solution for two variable problem. In general
a standard LP model will include m equations (constraints) and n
unknowns where m < n. In this case m is four and n is six. The corner
points of the solution space are identified by setting n m (i.e., 6-4) variables
equal to zero and then solving four unknowns to have a unique solution.
Such unique solution is referred to as basic solution. If basic solution
satisfies non-negativity constraint, it is called basic feasible solution. The
variables set equal to zero are called non-basic variables. The remaining
ones are called basic variables. In each iteration of simplex, some basic
variables are replaced by some non-basic variables. This is to reach the
adjoining corner point of solution space. The basic - non-basic swap gives
rise to two suggestive names. The entering variable is the current non-basic
variable that will enter the set of basic variables at the next iteration. The
leaving variable is the current basic variable that will leave the current basic
solution in the next iteration.

Computational Details of Simplex Algorithm

10. The steps of the simplex algorithm follow:-

(a) Step 0. Using the standard form, determine a starting basic


feasible solution by setting (n-m) appropriate (non-basic) variables to
zero level. Invariably decision variable relevant to the problem are set
equal to zero.

(b) Step 1. Select an entering variable from among the current


(zero) non- basic variables which, when increased above zero, can
improve the value of the objective function. If none exists stop. The
current basic solution is optimal; otherwise go to step 2.

(c) Step 2. Select a leaving variable from amongst the current


basic variable that must be set to zero (becomes non-basic) when
entering variable becomes basic.

(d) Step 3. Determine the new basic solution by making


entering variable basic and leaving variable non-basic. Go to step 1.

11. The above procedure will now be illustrated by means of the example
given at Para 4 above. The constraint equation and the objective function
can be summarized in Tableau as follows:-
162
CDM/OR/LPS

Tableau 1

Obj Fn Cj 2 3 0 0 0 0
Coeff
Basic Qty A B S1 S2 S3 S4
Cj (2) (4)
Variables
(1) (3)
S1 0 400000 10000 20000 1 0 0 0
S2 0 30 1 1 0 1 0 0
S3 0 26 1 0 0 0 1 0
S4 0 15 0 1 0 0 0 1
Net Evaluation Row (5) 2 3 0 0 0 0

(a) S1, S2, S3, S4, are the basic variables when A and B have
been set equal to zero in equation in Para 7. This yields the basic
feasible solution which evaluates to zero and has values for all the
slack variables (S1, S2, S3, S4) (Refer Column (1))

(b) The values of the variables S1, S2, S3, S4 as obtained from
constraints equations (after putting A, B = 0 is expressed in this
column. (Refer Column (2)).

(c) The entries in Cj column represent the contribution of unit


quantity of the basic variable to the objective function. (Refer Column
(3)).

(d) The entries in the body of the table are the structural
coefficients. For example introduction of one unit of variable A into
basic solution would replace 10000 units of S1, one unit of S2 and
one unit of S3.

(e) The coefficient of the Net Evaluation Row (NER) for a


particular column is the difference between Cj value associated with
column variable and Zj. Zj represents the loss associated with
introduction of one unit of the variable in column heading and is the
sum of the product of Cj value of the variables in the basic solution
and corresponding quantity in the particular column. The coefficient
in the net evaluation row, under each column of the body, thus,
represents the opportunity cost of not having a unit of the respective
column variables in the solution. In other words these numbers
represent the potential improvement in the objective function which
would result by introducing, into the basic solution one unit of the
respective column variables.
163
CDM/OR/LPS

Note:-

For a maximising problem the optimal solution is reached when all


entries in the NER row are either zero or negative and in case of minimising
all NER entries should either be zero or positive.

Key Column

Key Column

Basic Cj Cj Qty A B S1 S2 S3 S4 Replacement


Variables Ratio (RR)

S1 0 400,000 10000 200000 1 0 0 0 400,000/2000


0 = 20
S2 0 30 1 1 0 1 0 0 30/1 = 30

S3 0 26 1 0 0 0 1 0 26/0 = --

S4 0 15 0 1 0 0 0 1 15/1 = 15

NER (Cj Zj) 2 3 0 0 0 0

Key Number
Least RR
Key Row

RR Value
Entering Variable : B
Leaving Variables : S4

Step 1 - Selecting an Entering Variable

12. Since both A and B variables have positive value in NER, it indicates
that there is an opportunity available to improve the current basic solution.
Since variable B has the highest opportunity cost, it is selected as the
entering variable and column headed by B declared as key column.

Step 2 - Selecting a Leaving Variable

13. At this point the leaving variable must be one of the current basic
variables S1, S2, S3 and S4. This is achieved by using the feasibility
condition that selects the leaving variable as the current basic variable
whose value will reach zero level when entering variable B reaches its
maximum value at the adjacent corner point. Since the replacement ratio of
B to S1 is 20,000, it means 400000/20,000 = 20 units of B can replace S1
from the basic solution. Likewise 30/1 = 30 units of B can replace S2 and
15/1 = 15 units of S4. Since none of the variables can assume negative
values, at most 15 units of B can be introduced i.e., the least of the
replacement ratio. Hence S4 is designated as the leaving variable. Row S4
164
CDM/OR/LPS

is called the Key Row. The coefficient at the intersection of Key Column and
Key Row is called the Key Number.

Step 3 New Basic Solution

14. After determining the entering and leaving variables (by applying
optimality and feasibility conditions), the next iteration (new basic solution) is
determined by using two types of computations:-

(a) Type I (Key Row Equation):-


New key row equation = Old key row equation key number
(b) Type 2 (All Other Equations, including NER):-
New equation = Old equation (its key column coefficient X
new key row equation)
15. Type 1 computations make key number equal to 1 in the new key row
equation where as type 2 computations create zero coefficients everywhere
else in the key column. This is essentially equivalent to solving for the new
basic solution by substituting the entering variable in all but the key row
equation.

16. For applying type 1 computation to the starting tableau, divide the S4
equation by the key number i.e., 1 since B takes the place of S4 in the basic
column. Type 1 computation will lead to the following changes in the starting
tableau:-

Cj 2 3 0 0 0 0
Basic Cj Qty A B S1 S2 S3 S4
S1
S2
S3

B 3 15 0 1 0 0 0 1

17. To complete the tableau, following type 2 computations are carried


out.

(a) S1 Equation
Old S1 equation (400000 10000 20000 1 0 0 0 )
- (20000) x new key row - 300000 0 -20000 0 0 0 -20000
= new S1 equation (100000 10000 0 1 0 0 -20000
165
CDM/OR/LPS

(b) S2 Equation
Old S2 equation (30 1 1 0 1 0 0)
-(1) X new key row (-15 0 -1 0 0 0 -1)
= new S2 equation (15 1 0 0 1 0 -1)

(c) S3 Equation
Old S3 equation (26 1 0 0 0 1 0)

-(0) X new key row (0 0 0 0 0 0 0)

=new S3 equation (26 1 0 0 0 1 0)

(d) NER
Old NER equation (2 3 0 0 0 0)
-(3) X new key row (0 3 0 0 0 -3)
= new NER (2 0 0 0 0 -3)

18. The complete new tableau thus looks as follows :-

Basic Cj Cj 2 3 0 0 0 0 Replacement
Variables Qty A B S1 S2 S3 S4 Ratio
S1 0 100,000/10000 =
100,000 10000 0 1 0 0 -20000
10
S2 0 15 1 0 0 1 0 -1 15/1 = 15
S3 0 26 1 0 0 0 1 0 26/1 = 26
B 3 15 0 1 0 0 0 1 15/0 = -
NER 2 0 0 0 0 -3 -

Entering variable : A
Leaving variable : S1
19. Since NER still has a positive entry steps 1 to 3 are repeated.
Entering variables is A. S1 having least Replacement Ratio, is identified as
leaving variable and row S1 is the key row. Key number is 10000.

20. Type 1 computation results in following new key row.


New key row (10 1 0 1 0 0 -2 )
10000

21. Type 2 computation for other than key row results in the following: -

(a) S2 equation
Old S2 equation (15 1 0 0 1 0 -1)
- (1) X new key row (-10 -1 0 -1 0 0 +2)
10,000
= new S2 equation (5 0 0 -1 1 0 1)
10000
166
CDM/OR/LPS

(b) S3 equation
Old S3 equation (26 1 0 0 0 1 0)
-(1) X new key row (-10 -1 0 1 0 0 +2)
10000

= new S3 equation (16 0 0 -1 0 1 2)


10000

(c) B equation
Old B equation (15 0 1 0 0 0 1)
-(0) X new key row (0 0 0 0 0 0 0)
= new B equation (15 0 1 0 0 0 1)

(d) NER (2 0 0 0 0 -3)


-(2) X new key row (-2 0 -2 0 0 4)
10000
= new NER (0 0 -2 0 0 1)
10000

22. Hence Tableau 3 is as follows: -

Tableau 3

Basic Cj Cj 2 3 0 0 0 0 Replacement
Variables Qty A B S1 S2 S3 S4 Ratio
A 2 10 1 0 1 0 0 -2 -5
10000
S2 0 5 0 0 -1 1 0 1 5/1 = 5
10000
S3 0 16 0 0 -1 0 1 2 16/2 = 8
10000
B 3 15 0 1 0 0 0 1 15/1 = 15
NER 0 0 -2 0 0 1
10000

Entering variable : S4
Leaving variable : S2

NER value for S4 is positive. Hence S4 is the entering variable and S2 is


the leaving variable.

23. Repeating steps 1 to 3 yield the results as given in Tableau 4.


167
CDM/OR/LPS

Tableau 4

Basic Cj Cj 2 3 0 0 0 0
Variables Qty A B S1 S2 S3 S4

A 2 20 1 0 1 2 0 0
10000
S4 0 5 0 0 1 1 0 1
10000
S3 0 6 0 0 1 -2 1 0
10000
B 3 10 0 1 1 -1 0 0
10000
1
NER 0 0 -1 0 0
10000

24. Since all entries in NER are either zero or negative, optimal solution
has been reached. The value of the objective function is Z = 2(20) + 3(10) =
70 tonnes.

25. The simplex algorithm has been explained by applying to a


maximization problem. For a minimization problem, optimality condition for
the entering variable is changed. The variable having the most negative
value in the NER in the maximization problem is selected as the entering
variable. The feasibility condition remains the same for minimization
problem. The two conditions are summarized below for convenience:-

(a) Optimality Condition. The entering variable in maximization


(minimization) is the non-basic variable with the most positive
(negative) coefficient in the NER. A tie is broken arbitrarily. When all
the non-basic variable coefficients in NER are negative or zero in
case of maximization problem or positive or zero in minimization
problem, the optimality is reached.

(b) Feasibility Condition. For both maximization and minimization


problem the leaving variable is the basic variable having the smallest
replacement ratio (with positive denominator). A tie is broken
arbitrarily.

Variation in Basic LP Model

26. In illustrative example all constraints were of less than equal to type
and the slack variables associated with the constraints were used as starting
basic feasible solution. However if the original constraint is an equation of
the greater than or equal to type we no longer have a ready basic feasible
solution. This is resolved by using artificial variables in inequality constraints.
168
CDM/OR/LPS

In greater than or equal to constraints artificial variables will be used along


with surplus variables. The artificial variables will have positive coefficients
while surplus variables will always have negative coefficients. This helps in
full-filling the non-negative constraint. The added artificial variable plays the
same role as slack variable, in providing the starting basic variables.
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 these variables are forced to be zero when the optimal
solution is reached. In other words we use them only to start the solution and
must subsequently force them to be zero in final solution otherwise the
resulting solution will be infeasible.

27. It should be remembered that when the problem is of minimization,


the artificial variables are assigned very high cost (M) in the objective
function. When the problem is of maximization type a high negative pay off
(M) is assigned to the artificial variable in the objective function.

Special Cases

28. Degeneracy. Whenever there is a tie between the leaving variables


(i.e., when replacement ratio for two basic variables is equal), one or more
basic variables will necessarily become zero in the next iteration. The
solution is said to have degenerated. However, degeneracy reveals that
atleast one of the constraints is redundant. In simplex, degeneracy may give
rise to cycling, meaning thereby that after few iterations a solution reappears
and during the process objective function value does not improve with
iterations. The degeneracy indicates that problem was not formulated
correctly.

29. Alternative Optima. When objective function is parallel to binding


constraint, the objective function will assume same optimal value at more
than one solution point. For this reason they are called alternative optima. In
practice the knowledge of alternative optima is useful because it gives the
decision maker the opportunity to choose the solution that best suits the
decision situation without any deterioration in the objective value. In the final
tableau when any non-basic variable has zero in NER row, it indicates that
alternative optima exists.

30. Unbounded Solution. In some LP models, the value of the variables


may be increased indefinitely without violating any constraints meaning that
the solution space is unbounded in atleast one direction. Unbounded-ness
results because of poor LP modeling and can result due to following
irregularities and is indicated when all entries in a key column are either
negative or zero.

(a) One or more constraints essential for the problem have been
omitted.

(b) The parameters of the constraints have not been estimated


correctly.
169
CDM/OR/LPS

31. Infeasible Solution. If the constraints cannot be satisfied


simultaneously, the model is said to have no feasible solution. This situation
can never occur if all the constraints are of less than equal to type (assuming
non negative right hand side constraints) since the slack variables always
provide the basic feasible solution. However, whenever a problem involves
mixed types of constraints the solution may become infeasible. In simplex
method infeasibility becomes evident when artificial variables cannot be
removed from basic solution. The infeasibility results from incorrectly
modeled formulation since the constraints are in conflict. It is also possible
that the constraints are not meant to be satisfied simultaneously and may
require completely different model structure.
170
CDM/OR/LPS

(Blank Page)
171
CDM/OR/IP

INTEGER PROGRAMMING

Introduction

1. In the general types of linear programming problems treated so far,


both the decision variables and the slack variables are allowed to take on
non-negative fractional values, as well as integer values (whole numbers) in
the optimal solution. It is entirely appropriate and possible to have fractional
answers in many defence problems. For example, it is quite possible to use
0.26 machine hours, 3.4 hours of time, and 3.2 litres of brake fluid to repair a
damaged tank, and so on. However, there are certain other situations where
fractional values in the optimal solution are neither practical nor very
meaningful, such as half an aero plane or two-thirds of a tank.

2. In many practical problems, the decision variables make sense only if


they have integer values. For example, it is often necessary to assign men,
machines, weapon system and vehicles to activities in integer quantities.
This restriction is a difficult one to handle mathematically. However, solution
procedures have been developed for linear programming problems
subjected to this additional restriction.

3. In practice, the usual approach to integer linear programming


problems has been to use the computer LP solution or the simplex method
(thereby ignoring the integer restriction) and then rounding off the non-
integers in the resulting solution. Although this is often adequate, there are
pitfalls in this approach. One is, that the optimal non-integer solution is not
necessarily feasible after it is rounded off. Often it is difficult to see in which
way the rounding off should be done in order to retain feasibility. It may
even be necessary to change the value of some variables by one or more
units after rounding off. To illustrate, suppose some of the constraints are: -

X1 - X2 3 1/2
X1 + X2 16 1/2

and that the simplex method has identified the optimal non-integer solution
as X1 = 10, X2 = 6 1/2. Notice that it is impossible to round of X2 to 6 or 7
(or any other integer) and retain feasibility. This can only be done by
changing the integer value of X1 . It is easy to imagine how such difficulties
can be compounded when there are numerous constraints and variables.

4. Even if the optimal non-integer solution is rounded off successfully,


there remains another pitfall. There is no guarantee that this rounded-off
solution will be the optimal integer solution. In fact, it may even be far from
optimal in terms of the value of the objective function. This is illustrated by
the following problem :-
172
CDM/OR/IP

Maximise - - Z = X1 + 5 X2
Subject to the restrictions,
- X1 + l0 X2 20
- X1 2
and X 1 and X 2 are non-negative integers. Either the graphical or the
simplex method may be used to find that the optimal non-integer solution is
X 1 = 2, X 2 = 9 / 5, with Z = 11. If a graphical solution were not available
(which it would not be with more than three decision variables), then the
variable with the non-integer value, X 2 = 9 / 5, would normally be rounded off
in the feasible direction to X 2 = 1. The resulting integer solution is X 1 = 2,
X 2 = 1, which yields Z = 7. Notice that this is far from the optimal solution,
(X 1 , X 2 ) = (0, 2) where Z 10.

5. For these reasons, it would be useful to have an efficient solution


procedure for obtaining an optimal solution to integer linear programming
problems. Some progress has been made in recent years, in developing
solution procedures for this purpose. Unfortunately these algorithms have
proved to be rather inefficient for most problems. In fact, they some times
require a prohibitive amount of iteration time even to solve small problems
involving only a few constraints and a few variables, The development of
efficient integer programming algorithms appears to be inherently difficult.
However, research continues and more progress is being made, largely by
applying new combinatorial methods. Efficient sub-optimal algorithms for
finding at least a nearly optimal solution also are beginning to be developed.
The algorithm used here requires that all new variables (such as slack
variable and artificial variables) must also be integers. Therefore, any
constraint requiring such a variable must have only integers for its
coefficients. (Otherwise, introducing this integer-valued variable will change
the constraint). If only rational numbers are involved, this can always be
achieved by multiplying both sides of the original constrains by a constant.

An Integer Linear Programming Algorithm

6. How does one find the optimal solution of a linear programming


problem where all of the variables are required to be integers? Since the
simplex method and its variants could be used except for the integer
restriction, one approach is to attempt to modify the problem so that these
efficient solution procedures can still be used. Consider any new linear
programming problem of interest, it will be the best feasible solution to this
linear programming problem. Therefore, what is required is to find such a
linear programming problem whose optimal solution is an integer solution. A
method for doing this is given in the succeeding paragraph.

7. Begin with the original linear programming problem without the integer
restriction. Find the optimal solution by the simplex method. If all of the
variables have integer values, it is the optimal solution to the corresponding
integer programming problem. If not, then modify the original linear
173
CDM/OR/IP

programming problem by adding a new constraint that eliminates some non-


integer solutions (including the previously optimal one), but which does not
eliminate any feasible integer solutions. The determination of this new
constraint is the key step in the algorithm; it is discussed in detail
subsequently. Find the optimal solution to the modified problem. Since the
new constraint has made the previous optimal solution infeasible, the dual
simplex method can be applied to the last set of equations to obtain the new
optimal solution efficiently. If this solution is an integer solution, it solves the
integer linear programming problem. Otherwise add another new constraint
to the linear programming problem and repeat the procedure. The optimal
integer solution will be reached eventually after enough new constraints
have been added to eliminate all of the superior non-integer solutions.

8. It is necessary now to elaborate on how to select the new constraint


at each iteration. To illustrate how this is done, suppose that C = 7/5 and T
= 17 / 5 are the values of non-integer variables in the Optimal Simplex
Tableau for the current form of the linear programming problem.

9. Integer Programming Problem

Maximise 3T + 5C
Sub to 1T + 4C 9
2T + 3C 11 T, C 0

10. Initial Simplex Tableau

Contribution 3 5 0 0
Programme Qty
per Unit T C S1 S2
S1 0 9 1 4 1 0
S2 0 11 2 3 0 1

11. Optimal Non-Integer Solution

Contribution 3 5 0 0
Programme Qty
per Unit T C S1 S2
C 5 7/5 0 1 2/5 - 1/5
T 3 17/5 1 0 -3/5 4/5
NER 0 0 -1/5 -7/5

Now we see that both C and T have non-integer values in the solution
while C and T refers to an item which must be a definite integer :-

C = 7/5 i.e. rounded off to 1


T = 17/5 i.e. rounded off to 3
Z max. = 3 x 3 + 5 x 1 = 14. This may not be the optimum value.
174
CDM/OR/IP

12. To proceed further, choose one of the non-integer variables in the


optimal solution. Let us choose C. Now look at the row in the final tableau
corresponding to C. We must rewrite this row with any non-integer value in it,
expressed as the sum of an integer and a non-negative fraction less than 1.
Look at these examples of numbers similarly written down.

4/3 = 1+ 1/3
5/4 = 1+ 1/4
2/3 = 0+ 2/3
-2/3 = -1 + 1/3

The C Row is

Programme Contribution Qty T C S1 S2


per Unit
C 5 7/5 0 1 2/5 -1/5

Converting these values as the sum of an integer and a non-negative


fraction less than 1:-

0 x T + (1 + 0) C + ( 0 + 2/5 ) S1 + ( -1 + 4/5 ) S2 = 1 + 2/5


or 2/5 S1 + 4/5 S2 = 2/5 + ( 1 - 1C + 1 S2 )

Now think of the equation in a slightly different form -

2/5 S1 + 4/5 S2 = 2/5 + Some Integer

If the left side is equal to 2/5 plus some integer (0, 1, 2 etc.), then left side
by itself is greater than or equal to 2/5, so we write :-

2/5 S1 + 4/5 S2 2/5

Now if we multiply by -1, we avoid having to deal with subtracted slack


variable (which require an artificial variable)

- 2/5 S1 - 4/5 S2 - 2/5

Adding a slack variable

- 2/5 S1 - 4/5 S2 + S3 = -2/5

13. This is new row added to the optimal Simplex Tableau: -

Contribution 3 5 0 0 0
Programme Qty
per Unit T C S1 S2 S3
C 5 7/5 0 1 2/5 -1/5 0
T 3 17/5 1 -0 -3/5 4/5 0
S3 0 -2/5 0 0 -2/5 -4/5 1
NER 0 0 -1/5 -7/5 0
175
CDM/OR/IP

14. Now we have a problem in trying to determine which variable to bring


into this solution. Just to get the solution, divide by negative values of S3
row the corresponding values in NER and bring in that variable which has
the smallest ratio:-

S1 Column -1/5 / -2 /5 = 1/2 - Smallest


S2 Column -7/5 / -4/5 = 7/4

S1 variable comes in and S3 goes out. From this point onwards, the
procedure is same as in the simplex, in this particular problem we find the
optimal integer solution after this iteration as shown below. There are no
more positive values in the NER, so we know the optimal solution has been
reached.

Contribution 3 5 0 0 0
Programme Qty
per Unit T C S1 S2 S3
C 5 1 0 1 0 -1 1
T 3 4 1 0 0 2 -3/2
S1 0 1 0 0 1 2 -5/2
NER 0 0 0 -1 -1/2

Z max. = 4 x 3 + 1 x 5 = 17
Although this simple example was solved in a single iteration and we got
integer solution, larger problems may require much iteration.

Steps of Procedure

15. (a) Step 1. Solve the original problem with the Simplex Algorithm.

(b) Step 2. If the solution has all integer values, it is optimal for the
integer programme. If not, look at the row having non-integer value of
the variable.

(c) Step 3. Transform this row into integer and fraction values and
introduce the new positive slack variable in this row.

(d) Step 4. Select the in-coming variable by finding the smallest


ratio of negative values of S3 and the corresponding values in the
NER.

(e) Step 5. Introduce new slack variable in the optimal simplex


tableau.

(f) Step 6. Solve the simplex tableau and apply test of integer
values. If not, go back to Step 2.
176
CDM/OR/IP

Conclusion

16. The major 'hang up' with integer programming problem is not their
formulation but their efficient solution. Therefore, there are other solutions
methods also available in case the problem could not be solved by one
solution method. Each method has its own advantages and disadvantages.
What works well for one problem may fail with a very similar problem.
However, ultimately one will reach a solution.
177
CDM/OR/LTT

THE LEAST-TIME TRANSPORTATION MODEL

1. There are certain transportation problems where the objective is to


minimise the overall completion time, rather than the transportation costs. A
typical example would be the transportation of military supplies when the
speed of delivery is more important than the transportation costs.

2. The structure of this type of problem is the same as in the regular


transportation problem except that for each route the cost per unit is
replaced by the total time required to effect a complete shipment. (Notice
that the transportation time is assumed to be independent of the size of
shipment). Thus, if tij is the time required to ship the quantity xij from source
i to destination j (i = 1, 2,..., m; j = 1, 2 ...., n) the corresponding
transportation table is given as in Table 1:-

Table 1
----------------------------------------------------------------------------------------------------
To j
From 1 2 ... n ai
----------------------------------------------------------------------------------------------------
t 11 t 12 t 1n
1 a1
----------------------------------------------------------------------------------------------------
t 21 t 22 t 2n
i 2 a2
----------------------------------------------------------------------------------------------------
. .
. .
----------------------------------------------------------------------------------------------------
t m1 t m2 t mn
m am
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
bj b1 b2 ... bn m n
a1= bj
i=1j=1
----------------------------------------------------------------------------------------------------

3. It may be noted that the transportation is completed only when the


shipment with the largest time is complete. Let Tk be the largest time
associated with the kth feasible transportation plan, the objective then is to
select the plan, which yields.
min [ Tk ] for all k

This is achieved using the following iterative procedure:-


178
CDM/OR/LTT

Step 1 : Construct a starting basic feasible solution using the same


methods of the transportation model discussed earlier .

Step 2 : Find Tk corres-ponding to the current solution and


cross out all the empty cells having time Tk .

Step 3 : Construct a closed path (as in the regular transportation


technique) of occupied cells pivoting on the cell containing Tk such
that when the values at the corner cells are shifted around, this cell is
driven toward zero and no variable becomes negative. If no such
closed path can be constructed, the process ends; otherwise, go to
Step 2.
4. To illustrate this procedure, consider the problem in Table 2 .
Table - 2
----------------------------------------------------------------------------------------------------
To j
From 1 2 3 4 ai
----------------------------------------------------------------------------------------------------
10 5 20 11
1 12 3 15
----------------------------------------------------------------------------------------------------
1 7 9 20
i 2 5 15 5 25
----------------------------------------------------------------------------------------------------
12 14 16 18
3 5 5
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
bj 12 8 15 10
----------------------------------------------------------------------------------------------------

Table 2 represents a starting feasible plan. This plan is obtained by


using the North-West corner rule and is given by x11 = 12, x12 = 3, x22
= 5, x23 = 15, x24 = 5, and x34 = 5 with all other cells equal to zero.
The corresponding shipping times are t11 = 10, t12 = 5, t22 = 7, t23 =
9, t24 = 20 and t34 = 18. Consequently all the shipments for this plan
are completed after

T1 = max [t11 t12 t22 t23 t24 t34 ] = t24 = 20

time units. Thus, cell (1, 3) is eliminated since it has t13 > = 20. The
closed path for x24 is as shown in Table 3.

5. This indicates that x24 can be decreased by a maximum of three


units, since otherwise, x12 would become negative. The cell x14 thus will
enter the solution . This yields the solution given in Table 4.
179
CDM/OR/LTT

Table - 3

----------------------------------------------------------------------------------------------------
To j
From 1 2 3 4 ai
----------------------------------------------------------------------------------------------------
1 10 5 20 + 11
12 3 - 15

----------------------------------------------------------------------------------------------------
1 + 7 9 - 20
i 2 5 15 5 25
----------------------------------------------------------------------------------------------------
12 14 16 18
3 5
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
bij 12 8 15 10
----------------------------------------------------------------------------------------------------

Table - 4

----------------------------------------------------------------------------------------------------
To j
From 1 2 3 4 ai
----------------------------------------------------------------------------------------------------
1 12 10 5 20 3 11 15
- +
----------------------------------------------------------------------------------------------------
i 2 1 8 7 15 9 2 20 25
+ -
----------------------------------------------------------------------------------------------------
12 14 16 18
3 5 5
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
bj 12 8 15 10
----------------------------------------------------------------------------------------------------

6. Table 4 shows that T2 equals 20, which still corresponds to x24


Using the closed path (2, 4), (1, 4), (1, 1), and (2, 1), the variable x24 is
dropped from the solution as shown in Table 5.

7. The solution in Table 5 has T3 = t34 = 18 corresponding to x34 .


Hence x24 is eliminated (t24 = 20 > 18). The closed path for x34 is given by
(3, 4), (1, 4) (1, 1), and (3, 1). Thus, T4 = 12 and the new solution is
shown in Table 6.
180
CDM/OR/LTT

Table 5
----------------------------------------------------------------------------------------------------
To j
From 1 2 3 4 ai
----------------------------------------------------------------------------------------------------
1 10 10 5 20 5 11 15
- +
----------------------------------------------------------------------------------------------------
i 2 2 1 8 7 15 9 20
25
----------------------------------------------------------------------------------------------------
12 14 16 5 18 5
3 + -
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
bij 12 8 15 10
----------------------------------------------------------------------------------------------------
Table -6
----------------------------------------------------------------------------------------------------
To j
From 1 2 3 4 ai
----------------------------------------------------------------------------------------------------
10 5 11
1 5 10 15
----------------------------------------------------------------------------------------------------
1 7 9 20 25
i 2 2 8 15
----------------------------------------------------------------------------------------------------
12 14 16 18
3 5 5
---------------------------------------------------------------------------------------------------
bj 12 8 15 10
----------------------------------------------------------------------------------------------------
8. From the solution in Table 6, it follows that no closed path can be
constructed for x31 without increasing the present minimum time. The
above plan is thus optimal and the total shipment time is 12. Details of the
plan are:-
X11 = 5 with t11 = 10,
X14 = 10 with t14 = 11,
X21 = 2 with t21 = 1,
X22 = 8 with t22 = 7,
X23 = 15 with t23 = 9,
X31 = 5 with t31 = 12.
181
CDM/OR/DP

DYNAMIC PROGRAMMING

Introduction

1. The linear programming method is concerned primarily with single


period or static decision problems. By contrast, dynamic programming is
best suited for multi-period or multi-stage decision problems in which the
problem parameters change over time. Dynamic programming is also very
flexible and is applicable to stochastic problems in which some parameters
are probabilistic. Dynamic programming has been evolved as a tool to solve
problems requiring a sequential decision process.

2. Dynamic programming would perhaps be better named serial or


recursive optimisation. It proceeds by breaking the problem into smaller sub-
problems called stages, and developing optimal policies or decisions for
each stage. The stages are tied together through recursive relationships, so
that when the last stage is calculated, the solution to the overall problem is
determined. Let us get an insight to the nature of the technique through an
example: -

.96
B E

.98 .93
Fwd
.95
Tps
A .97 G
Fmn C .97 .95
HQ
.98

F
.94
D

Figure 1 : Reliability of a Telecommunication Network

A Telecommunication Network Problem

3. Consider the telecommunication network problem as shown in Figure


1. The numbers on each arc of the network represent probabilities that the
line will not have a failure or incur random noise during data transmission
from one point to another. The objective is to determine the most reliable
path of lines from node A to node G. The probability of a successful
transmission from A to G along path A-B-E-G is .98 x .96 x .93 = .8749.
182
CDM/OR/DP

4. Dynamic programming can be applied to the problem by breaking it


into sub-problems or stages. Figure 2 illustrates how the problem naturally
breaks into three stages. The dynamic programming approach proceeds
sequentially from one stage to another. It begins at stage 1 and determines
the most reliable path from each node to node G. It then moves to stage 2
and uses the information from stage 1 to determine the most reliable path
from each node in stage 2 to node G. Finally, in stage 3 it uses the
information from stage 2 to determine the optimal path from node A to node
G. Working backward from stage to stage is the typical dynamic
programming serial approach. It may seem like complete enumeration, but it
is not, since at each stage it uses only the output or information from the
immediately preceding stage.

5. Let us look more closely at the dynamic programming calculations by


solving the problem in detail. First we consider stage 1. If you are at node E
or node F, you really have no choice but to go to node G.
Stage 3-all nodes Stage 2-all node Stage 1-all nodes
three arcs from two arcs from G one arc from G

.96
B E

.98 .93

Fwd
.95

Tps
A .97 G
Fmn C .97 .95
HQ
.98
F

.94
D
Figure 2 : Telecommunication Network Problem Broken into
Three Stages

The reliabilities of the paths E-G and F-G are obtained directly from
Figure 2 as .93 and .95, respectively. Thus, given that we are at node E or
F, the optimal decision is clear (Table 1 refers).

Table 1 - Decision at Stage 1

Node Optimal path from Given Node Reliability Factor

E E-G .93
F F-G .95
183
CDM/OR/DP

6. The optimal decisions for stage 2 are summarised in Table 2. These


decisions depend on the optimal decisions from stage 1.

7. For each node in stage 2, a decision must be made as to the


successor node in stage 1. For nodes B and D we have no choice; therefore,
let us focus on node C. From node C, we can choose to establish a line
from C to either E or F. From the stage 1 calculations we know the optimal
path and associated reliability from nodes E and F to the final destination.
Thus, the optimal decision at node C is based on the best choice of :-
Reliability from C to E X Reliability from E to G.
or
Reliability from C to F X Reliability from F to G

We can write this as :-

Maximum reliability from C = max (.95 x .93; .97 x .95)


= .97 x .95
= .9215
8. The-decisions at stage 2 are summarised in Table 2 below :-
Table 2 - Decisions at Stage

Node Optimal path from Given Node Reliability Factor

B B-E-G 96 x .93 = .8928


C C-F-G .97 x .95 = .9215
D D-F-G .94 x .95 = .8930

9. In stage 3 we have only node A. We use the optimal reliability


decision from stage 2 calculate the optimal path from A to G. (Table - 3
refers).
The calculations can be summarised as

A to B A to C A to D

Maximum reliability from A = max (.98 x .8928; .97 x .9215 ;


.98 x .893)
= .97 x .9215
= .8939

Table 3 - Decision at Stage 3

Node Optimal path from Given Node Reliability Factor

A A-C-F-G .97 x .9215 = .8939


184
CDM/OR/DP

10. Even-though at stage 3 we only consider information from stage 2,


the saving of the optimal decision at each stage provides the overall
optimum to the problem once stage 3 is completed. Thus, in making the
previous calculations from A to B, C and D respectively, we were implicitly
evaluating the following complete paths (Table 4 refers).
Table 4: Complete Paths

Choice Complete Path to Node Reliability


from Node G
A
A-B A-B-E-G .8749
A-C A-C-F-G .8939 (Optimal
Choice)
A-D A-D-F-G .8751

11. The previous calculations may seem like complete enumeration and
for very small examples such as this one, dynamic programming can
approach complete enumeration. However, for larger problems, many
computations are avoided by using dynamic programming and it is more
efficient than complete enumeration.

Fundamental Concepts of Dynamic Programming

12. The foregoing example illustrates the basic ideas in dynamic


programming, but it would be helpful to formalise the procedures. In
particular, let us look at the terminology, underlying structure, and
fundamental principles of dynamic programming. In every dynamic
programming formulation, we have the following concepts :-
(a) Stage. Each problem is broken into sub-problems or stages. A
stage corresponds to a point in time or a situation where a decision
must be made.
(b) State. States are associated with each stage and represent
the various possible conditions of the system. Usually, state variables
are used to describe the status of the system.
(c) Policy. A decision rule which, at any stage, determines the
decision for each possible state. The effect of the policy decision at
each stage is to transform the current stage into a state associated
with the next stage.
(d) Optimal Policy. A policy that optimises some criterion or
objective. Usually, the optimal policy optimises a return function
which measures the quality of the possible decisions at each stage.

Principle of Optimality

13. An optimal policy has the property that whatever the initial state and
initial decision are, the remaining decisions must constitute an optimal policy
with regard to the state resulting from the first decision.
185
CDM/OR/DP

14. The relationships among stage, state, and policy is illustrated by the
serial diagram in Figure 3.

Policy Decision Policy Decision Policy Decision for


Stage n for Stage 2 for Stage 1

Staten-1 State S1 State S0

Stage n .... Stage 2 Stage 1

fn ( Sn, Xn ) f2 ( S2, X2 ) f1 ( S1, X1 )

Figure 3 Relationships Among Stages, State and Policy

15. We can further exemplify the meaning of stages, states, policy, and
the principle of optimality by describing each of them in terms of the example
of Figure 2. The stages of the problem consisted of groups of nodes that had
the common property of being a specific number of arcs away from the
destination. Within each stage, a state simply consists of a particular node.
For each possible state (node) we had to determine the, optimal policy,
which consisted of the choice of the best arc leading to the next stage.

Criterion or Return Function

16. The criterion consisted of a measure of reliability leading to the final


node G. Given the current state, the principle of optimality says that an
optimal policy for the remaining stages is independent of the policy adopted
in previous stages. Knowledge of the current state of the system conveys all
the information for determining an optimal policy. Thus, at node C in Figure
2 we only need to know the reliability measures at nodes E and F, not at
proceeding node A.

Advantages and Disadvantages of Dynamic Programming

17. In the example above we have focussed on problems having discrete


variables. Dynamic programming is also applicable to continuous-variable
decision problems. In fact, dynamic programming is one of the more
powerful mathematical modelling techniques, in that it can be applied to a
wide range of problems. However, what it gains in breadth it sometimes
sacrifices in efficiency. We turn now to the major advantages and
disadvantages of the technique.
18. Advantages.
186
CDM/OR/DP

(a) For some problems in such areas as inventory management


control theory, or chemical engineering design, dynamic programming
is the only technique that can solve the problems.

(b) It is particularly well suited for multistage, multiperiod, or


sequential decision process.

(c) Dynamic programming is very broad in scope and is applicable


to linear or non-linear problems, discrete or continuous variables, and
deterministic or stochastic problems.

(d) It is readily adapted to the computer and can provide some


degree of sensitivity analysis.

19. Disadvantages.

(a) No general formulation of the dynamic programming problem


exists and each problem must be modelled uniquely. This requires
ingenuity, experience, and insight.

(b) The curse of dimensionality requires that the number of state


variables be kept relatively low to prevent excessive computational
requirements.

(c) In general, the dynamic programming approach is not


particularly efficient when compared to other mathematical
programming. algorithms, such as the simplex method.

Conclusion

20. Many problems can be modelled and solved as mathematical


programming models that are not pure LP models. Dynamic programming is
especially appropriate for multi-stage or sequential decision problems.
Unlike LP, it can be more easily applied to probabilistic and non-linear
problems. However, it requires a unique formulation for each different type
of decision problem and is not always efficient. In spite of its inefficiency,
dynamic programming is sometimes the only viable optimisation approach to
a problem.
BIBLIOGRAPHY

1. Lapin, Lawrence L. et el, Quantitative Decision Making with Spread


Sheet Applications, 7th Edition, 2002, Duxbury Thomson Learning, USA.
(ISBN 0 534 38024 7),

2. Taha, Hamdy A. Operations Research-An Introduction, 7th Edition,


2002, Prentice Hall of India Pvt Ltd, New Delhi. (ISBN 81 203 2235
5).

3. Levin, Richard I. et el. Qualitative Approaches to Management, 8th


Edition, 1992, McGraw Hill Inc, New Delhi. (ISBN 0 07 832454 8).

4. Sharma, JK. Qualitative Technique for Managerial Decisions. 1st


Edition, 2001, Macmillan India Ltd, New Delhi. (ISBN 0333 93503 9).

5. Render, Barry & Stair, Ralph M Jr. Quantitative Analysis for


Management, 7th Edition, 2002, Prentice Hall of India Pvt Ltd, New Delhi.
(ISBN 81 203 2124 3 ).

6. Vohra, ND. Quantitative Techniques in Management, 1st Edition,


1990, Tata McGraw Hill Publishing Company Ltd, New Delhi.

7. Hillier Frederick S & Lieberman, Gerald J. Operations Reearch, 2nd


Edition, 1987, CBS Publishers and Distributors, Delhi.

8. Ravindran, A. et el, Operations Research-Principles and Practice.


nd
2 Edition, 1987, John Wiley and Sons, New York. (ISBN 0 471
08608).

**********

Вам также может понравиться