Linear Programming (Theory, Computaions and Implementation With Python Programming Language)
Linear Programming (Theory, Computaions and Implementation With Python Programming Language)
OF LAGOS.
BY
October 2018
ABSTRACT
Linear Programming models is being used vastly over the world by students to solving relative
contemporary problems, managers in the industries to help in making vital decisions in production,
This paper reviewed the theory, solution methods of linear programming and its applications to real
life problem. These methods include the graphical method and the simplex method and
All the algorithms involved in the methods mentioned were systematically outlined. Explanations are
also given on the necessary procedural steps that was followed in the formulation of linear
programming models.
The report is provided with easy to understand and insightful logical review of the essentials building
It is worthy of note that in the cause of carrying out this research work, maximal efforts were put in
place to ensure errors are avoided while linear programming models are being formulated, when the
details of the theory of linear programming are being applied and the python code is being written and
compiled.
CHAPTER 1
INTRODUCTION
Linear programming was not known until 1947 despite its vast applicability in solving
everyday problems. Kantorovich of U.S.S.R in 1823, made proposals that were neglected
during the two decades that witnessed the discovery of linear programming and its firm
establishment elsewhere.
After World war II, the US Air Force consolidated the statistical control, programming and
budgeting functions under the staff of the Air Force Comptroller, General E W Rawlings who
was the president of Mills foundation. It became clear to members of this organizations that
efficiently coordinated the energies of whole nations in the event of total war would require
scientific programming techniques. Undoubtedly, this need had occurred many times in the
past, but this time, there were two concurrent developments that had a profound influence:
The latter is a method of describing inter-industry relation of an economy and was originated
by Leontief (1951). According to Dantzig (1963), intensive began in June 194, in a group that
later in October 1948 was given the official title of project SCOOP (Scientific Computation
of Optimum Program). Principals in this group were Marshall Wood and author and soon
The simplex computation method for choosing the optimal feasible program was developed
by the end of summer of 1947. Interest in linear programming began to spread rapidly. During
this period, the Air Force sponsored work at U.S Bureau of standards on electronic computers
and on mathematical techniques for solving such models. John Curtiss and Albert Cahn of the
Bureau played an active role in generating interest in the work among economics and
mathematicians.
Contact with Tjallng Koopmans of the Cowles Commission, then at the University of
Chicago and Robert Dorfman, then of the Air Force and the interest of such economics as
Paul Samuelson of the Massachusetts Institute of Technology, initiated an era of intense re-
examination of classical economic theory using results and ideas of linear programming
(Dantzig 1963).
Contact with John von Neumann at the Institute of Advanced Study gave fundamental insight
into the mathematical theory and sparked the interest of A.W Tucker of Princeton University
and a group of his student who attacked problems in linear problems in linear inequality
theory and game theory. Since that time, his group has been a focal point of work in these
related fields.
The Air Force Staff has been making more and more active use of mechanically computed
programs since 1948. The triangular models are in constant use for the computation of
detailed programs, while the general linear programming models have been applied in certain
(ii) Balanced air craft, crew training and wing employment procedures
(iv) Airlift routing problems (U.S.A. Air Force, 1954; Jacobs and Natrella, 1951).
The translation of linear programming into pure mathematical terms requires a method for
finding a solution of simultaneously linear equations and linear inequalities which minimizes
a linear form. This central mathematical of linear programming was not known to be
important one with many practical applications until the advent of linear programming in
1947.
The literature of mathematics contains thousands of papers concerned with techniques for
solving linear equation systems, with the theory of matrix algebra with linear approximation
methods, etc. on the other hand, the study of linear inequality systems excited virtually no
interest until the advent of game theory in 1944 and linear programming in 1947.
Fourier (1826), a famous mathematician, while not going into the subject deeply, appears to
have been the first to study linear inequalities systematically and to point out their
importance to mechanics and probability theory. He was interested in finding the least
maximum deviation fit to a system of linear equations, which he reduces to the problem of
descent to minimum, which is the principle behind the simplex method. Later, another
Good part of the early of the early mathematical literatures is concerned with finding
conditions under which a general homogeneous linear inequality can be solved. All the
results obtained express, in one form or the another, a relationship between the original
(primal) system and another system called the dual, which uses the columns of the original
matrix of coefficients to form a new linear equations or inequalities according certain rules.
Similar is the derived theorem of P Gordan (1873) showing that a solution with at least one
variable positive if the dual possesses no solution with strict inequalities. Siemke (1915)
added a theorem on the existence of a solution with all variables positive. These results are
dual systems by Tucker (1956). Specifically designed for the algebraic proof of the Minimax
theorem are the results of Ville (1938) and of (von Neumann and Morgenstern, 1944).
Essentially, these theorems stated that either the original (primal) possesses a nontrivial
solution or the dual system possesses a strict inequality solution. Because of the this “either-
or,” von Neumann and Morgenstern called their result the theorem of the Alternative for
Matrices.
The Russian Mathematician L. V Kantorovich had for number of years been interested in the
In his introduction Kantorovich states, “There are two ways of increasing efficiency of the
improvements in technology, that is, new attachments for individual machines, changes in
technological processes, and the discovery of new, better kinds of raw materials. The other
way, thus for much less used, is by improvement in the organization of planning and
production. Here are included such questions as the distribution of work among individual
machines of the enterprise, or among mechanisms, orders among enterprise, the correct
distribution of different kinds of raw materials, fuels and other factors” (Kantorovich, 1939).
Kantorovich should be credited with being the first to recognise that certain important broad
classes of production problems had well defined mathematical structures which he believed
In the first part of his work, Kantorovich is concerned with what he now calls the weighted
two index distribution problems. These were generalized first to include a single linear side
condition, then a class of problems with processes having several simultaneous outputs
approach based on having in hand, an initial feasible solution to the dual. For the particular
problems studied, the latter did not present any difficulty. Although, the dual variables were
not called “prices,” the general idea is that the assigned values of these resolving multipliers
for resources in short supply can be increased to a point where it pays to shift to resources
that are in surplus. Kantorovich showed on simple examples on how to make the shifts to
surplus resources.
However, in general, how to shift turns out to be a linear program in itself for which no
computational method was given. The report contains an outstanding collection of potential
applications. His 1942 paper on “On the Translation of masses” (Kantorovich, 1942) is the
forerunner of his joint paper with M.K Gavurin on “The Application of Mathematical
In 1959, twenty years after the publication of his first work, Kantorovich publicised a second
intended for economist (1959). If Kantorovich’s earlier efforts had been appreciated at the
time they were first presented, it possible that the linear programming would be more
advanced today. However, his early work in this field remained unknown both in the Soviet
Union and elsewhere for near two decades whole linear programing became a highly
developed art. According to the New Times, “The scholar, professor L.V Kantorovich, said
in a debate that, Soviet economists had been inspired by a fear of mathematics that left the
Soviet Union far behind the United States in applications of mathematics to economic
problems. It could have been a decade ahead” (New York Times, 1959).
The national of standards played an important role in the development of linear programming
theory. Not only did it arrange through John H Curtis and Albert Kahn the important initial
contact between workers in the field, but it provided for the testing of a number of
mathematical Tables Project in New York computed the optimal solution of Singler’s diet
problem Stigler (1945) in a test of the newly proposed simplex method. At the institute of
numerical Analysis, professor Theodore Motzkin, whose work on the theory of linear
programming has been mentioned earlier, proposed several computational schemes for
solving linear programming problems such the Relaxation Method (Motzkin et al., 1953).
Alex Orden of the Air Force worked actively with National (Bureau of Standards Eastern
Automatic Computer) for general simplex method and for transportation problem. Alan. J.
Hoffman, with a group at the NBS, was instrumental in having experiments run on a number
of alternative computational methods (Hoffman et al., 1953). He was also the first to
establish the cycling that can occur in simplex algorithm without special provisions for
In June 1951, the first symposium in linear programming was held in Washington under the
joint auspices of the Air Force and the NBS. By this time, interest in linear programming was
widespread in government academic circles. A Charness and W Cooper had just begun their
pioneering work on industrial applications. Aside from this work, they published numerous
contribution to the theory of linear programming. There lectures were published in “An
existence of proofs and those that have led to constructive solutions of practical problems,
then the period following the first decade marks the beginning of several important
transportation, equivalent network flow problem, is that their extreme point solutions are
integer valued when their constant terms are integers (Birkhoff, 1946; Dantzig, 1951). This
has been a key fact in an elegant theory linking certain combinational problems of topology
with the continuous processes of network theory. The field has many contributors. Of special
mention is the work of Kuhn (1955) using an approach of Egervary on the problem of
finding a permutation of ones in a matrix composed of zeros and the related work of Ford
Convex Programming: A natural extension of linear programming occurs when the linear
part of the inequality constraints and the objective are replaced by convex function. Early
work centred about a quadratic objective Dorfman (1951), Barankin and Dorfmann (1959),
(1959), Houthakker (1959), and Wolfe (1959) who showed how a minor variant of the
simplex procedure could be used to solve such problems. Also studied earlier was the case
where the convex objective could be separated to a nonnegative sum of terms, each convex
in a single variable (Dantzig, 1956; Charnes and Lemke, 1954). The general case has been
studied in fundamental by Kuhn and Tucker (1950) and Arrow et al. (1958)
problems can be shown to be formally reducible to a linear type of problem, some or all
whose variables must be integer valued. By the introduction of the concept of cutting planes,
linear programming methods were used to construct an optimal tour for a salesman visiting
Washington, D.C. and forty-eight state capitals of the United States (Dantzig, Fulkerson, and
Johnson, 1954). The theory was incomplete. The foundations for the rigorous theory were
Programming under Uncertainty: it has been pointed out by Madansky (1960) that the
area of programming under uncertainty cannot be usefully stated as a single problem. One
coefficients is assumed known, the values of the constant terms are uncertain, but joint
approach based on the decomposition principle was discussed by Dantzig and Madansky
(1960).
The history of first years of linear programming would be incomplete without a brief survey
of its use in business and industry. These applications began in 1951 but have had such a
remarkable growth in the years 1955-1960 that this use is now more important than its
military predecessor.
Linear programming has been serving industrial users in several ways. First, it has provided
a novel view of operations, second, it induced research in the mathematical analysis of the
structure of industrial systems, and thirdly, it has become an important tool for business and
industrial management for improving efficiency of their operations. Thus the application of
formulation of the problem and an implicit statement of the desired objectives. In many
instances such as rigorous thinking about business problems has clarified aspects of
management decision making which previously had remained hidden in a haze of verbal
arguments. As a partial consequence, some industrial firms have stated educational programs
for their managerial personnel in which the importance of the definition of objectives and
production traditionally has been, as in the military, based on intuitive and experience, a few
rules, and the use of visual aids. Linear Programming has indeed extensive research in
production. Of course many complicated systems have not as yet been quantified, but
the scheduling of job shop production, where M.E. Salveson (1953) initiated research work
The first and most fruitful industrial applications of linear programming have been to the
scheduling of petroleum refineries. Melon et al. started their pioneering work in this field in
1951 (Mollen et al., 1952). Two books have been written on the subject, one by Gifford
Symonds (Symonds, 1955) and another by Alan Manne (Manne, 1956). So intense has been
The food processing industry is perhaps the second most active user of linear programming.
In 1953 a major producer first used it to determine shipping of catch up from six plans to
seventy warehouses (Henderson and Schaefer, 1954)) and producer has considered applying
it to similar problem, except that case the number of warehouses is several hundred. A major
meat packer determines by means of linear programming the most economical mixture of
In the iron and steel industry, linear programming has been used for the evaluation of various
iron ores and of the palletisation of low grade ores (Fabian, 1955). Additions of coke ovens
and shop loading of rolling mills have provided additional applications Fabian (1955), a
linear programming model of an integrated steel mill is being developed (Fabian, 1958). It is
reported that the British industry has used linear programming to decide what products their
The optimal routing of messages in a communication network (Kalaba et al., 1956), contract
award problems Goldstein (1952), Gainen (1955), and the routing of the aircraft and ship
Dantzig and Fulkerson (1954), Ferguson and Dantzig (1954; 1956) are problems that have
been considered for application of linear programming methods by the military and are under
consideration by industry. In France the best program of investment in electric power has
Since 1957 the number of applications of linear programming has grown so rapidly that it is
Linear programming uses mathematical model to describe the problem of concern. The
adjective linear means that all the mathematical functions in this model are required to be
linear functions. The word programming does not refer here to a computer programming;
rather, it is essentially the synonyms for planning. Thus, linear programming involves the
planning of activities to obtain an optional result, that is a result that reaches the specific goal
Although allocating resources to activities is the most common type of application, linear
programming has numerous other important applications as well. In fact, any problem whose
mathematical model fits the very general format for the linear programming model is a linear
programming problem.
There are many available methods for solving linear programming problems. Some of these
problems by constructing a feasible solution at a vertex of the polytope and then walking
along a path on the edges of the polytope to vertices with non-decreasing values of the
2. Revised simplex method: it is a scheme for ordering the computations required for
3. Dual simplex method: it is based on duality theory. It can be thought of as the minor
image of the simplex method. It deals with a problem as if the simplex method were
4. Decomposition principle: it is used for solving problems of large size where the use of
simplex or the revised simplex method is not advisable. For such large problems, the
Students, managers and researchers have been using linear programming models without
understanding the details of the theory. This research will, therefore, provide easy to understand
and logical review of the essentials of linear programming and its application in businesses and
industries.
1.4. METHODOLOGY
Illustrative examples of linear programming will be used in this research. Linear programming
models will be formulated from illustrative real life problems. The Graphical method and Simplex
method will be used to solve the given real life problems. The solution method in this research
Students, researchers and company managers have been having been using linear programming
models for quite a long time without details of understanding the linear programming theory.
Some of the challenges being faced is the problem of explaining the solution of the models
developed.
This research contributes to the better understanding of the theory of linear programming and its
application to real world problems. It involves logical review of the theories of linear
programming and how they can be simply applied to solving problems effectively.
1.6. ORGANIZATION
This research contains five chapters. Chapter 2 provides literature review on the literature review
on the views that other people have on linear programming and the different methods of solving
linear programming problems. Chapter 3 contains the methodology. Here, we discuss the
algorithms that will be used to solve the linear programming models. It includes how to construct
mathematical models out of a real world problem. In chapter 4, mathematical models will be
constructed from linear programming problem given. Different methods of solving linear
programming problems will be used to solve the problem given. All computational procedures in
getting the required results will also be shown and explained. Data from Berger Paint and
Honeywell flour mill will be analysed. In chapter 5, conclusions and recommendations about this
research are made. Here, we find out whether the title of the research is adequate and whether the
objectives of this research are met. Other findings of the research would be discussed.
LTERATURE REVIEW
This chapter reviews the works other people have done on the theory of linear programming, methods
Linear problems have been intensively studied by a diverse group of researchers including
applied in variety of fields such as energy, transportation, telecommunication, planning etc. The
Dantzig (1963), cited that Kantorovich (1939), was the first to make proposals on linear programming
which were neglected during the two decades that witnessed the discovery of linear programming and
its first establishment elsewhere. The method was kept secret until Dantzig (1947) published the
simplex method that allowed problems with linear constraints and linear objective to be solved in
theory. The history of linear programming can be traced back to the 1930’s and 1940’s. McCloskey
(1987) described the earlier part of history while Gass and Assad (2005) provided the recent
authoritative account. After early precursors that mostly dealt with linear inequalities by Fourier
(1826), more closely related work on the subject began in the mid 1930’s.
Linear programming technique consists of three measurable mechanisms which include: the objective
function (profit maximization or cost minimization), set of constraints (restrictions) and the decision
variables (Chinneck, 2004). In generating the linear programming model, it is assumed that there is a
linear relationship between the decision variables that exist over the different alternatives in the
problem (Chinneck, 2004). The output of LP does not only offer optimal solution; it can as well bring
about sensitivity analysis. Sensitivity analysis deals with the changes that occur in the coefficients of
the objective function which have an effect on the LP model optimal solution. The sensitivity analysis
also determines the effect of the changes in the coefficient of the objective function as well as the
right hand value on the optimal solution (Anderson, Sweeney & Williams, 2000). LP technique is
used to estimate and optimize raw materials; capital, machinery, equipment, manpower and time
under some constraints in order to get the maximum value (Han, Huang & Maqsood, 2011). The LP
model assists managers in the efficient allocation of resources especially in circumstances where there
The linear inequality problem solving can be traced back to Fourier in which the Fourier-Motzkin
elimination method is named after. The first founders of the linear programming model are three
scholars who include: Leonid Kantorovich, who was a Russian mathematician that developed the
initial linear programming model in 1939, George Dantzig, the researcher who initiated the simplex
method in 1947, and John von Neumann, who was involved in the duality theory in the same year.
The first linear programming was advanced by Leonid Kantorovich, the Russian mathematician in
1939. This model was adopted in the World War II to organize income and expenditure so as to
minimize the army’s cost while increasing the enemy’s losses. Linear programming in management
and decision making was originated in the 1940s when a team of British scientists used it in making
decisions among the military on how best to use war materials (Taha, 2011).
The model of LP has developed over the years to optimize operations in an organization. This
operation includes the selection and scheduling logistic planning (Hassan, Kandeil & Elkhayat, 2011).
Linear programming could be used as an instrument to select a production stock facing resources,
marketing and preference constraints (Jansen & Wilton, 1984). Linear programming model has been
(Onyenweaku, 1980; Alam, 1994; Alam, Elias & Rahman, 1995; Schipper, Jansen & Stoorvogel,
Numerous researchers have find solution to numerous problems with the use of linear programming
technique, some of which are reviewed in this research. Isa (1990) adopted linear programming (LP)
as well as other mathematical techniques to appraise watershed and perpetuity constraints on forest
land use for certain setting in Terengganu, Peninsular Malaysia. The model showed series of feasible
solutions for decision making. Equations were generated for the model in order to demonstrate
interface of sedimentation because of the construction of road, harvesting of timber as well as other
forest management related activities. The study also adopted sensitivity analysis to test the model
behaviour, and it was discovered that there are constraining effects of sedimentation on revenues from
forest when sedimentation varied within the feasible region of the model.
Kuo, Schroeder, Mahaffey & Bollinger (2003) studied the data from the division of general surgery at
duke university medical centre from December 1, 2000 to July 31, 2002 on allocated OR time, case
mix as explained by CPT codes, total operation research time used and the normalized professional
charges and receipts. The linear programming routine in the Microsoft excel was adopted to ascertain
the best combination of surgical OR time allocation that will yield the maximum professional
receipts. Their findings indicated that the mathematical modelling techniques that are adopted in
maximize profit and minimize cost. The techniques could enhance distribution of scarce resources in
Matthews (2005) assessed and optimized nurse personnel utility at the internal medicine outpatient
clinic of wake forest university Baptist medical centre. The researcher used linear programming to
know the active combination of nurses that should be used to achieve the weekly clinic tasks in the
least possible cost to the department. The study performed a sensitivity analysis in order to ascertain
the stress of adding or removing a nurse from and to the payroll. The study adopted five certified
nurse assistants (CNA), three licensed practicing nurses (LPN), and five registered nurses (RN) as the
employee cost structure, and it was discovered in the linear programming solution that the clinic
should staff four certified nurse assistants, three licensed practicing nurses and four certified nurse
Gassenfert & Soares (2006) in their study obtained a practical proposition in applying linear
programming quantitative method so as to help plan and control customer circuit delivery activities in
telecommunications companies working with the corporative market. Relying on the data provided by
a telecom company base in Brazil, the study adopted the linear programming method so as to
determine the best combination of quantities to be produced for a set of five products of that company
which include: Private telephone network, Intranet network, Internet network, Low speed data
network, and High speed data network, while taking into cognizance the several limitations of the
resources to produce as well as looking to maximize the monthly revenue of the company. By
applying the available data in the primary model, it was discovered on what number of monthly
activations for each product that needs to be optimized so as to achieve the maximum revenue in the
company.
Nyikal & Adhiambo (2008) in which they seek to find the appropriate method to finance small holder
agriculture in Kenya, it was important for them to make documentation and analyses of the effective
demand for credit of small holders. Their particular interest was comparing the existing production
plans and the production plans which are under strict profit maximization. Linear programming model
was adopted to validate the observed plan as well as also determine the ones that are under profit
maximization. There was a comparison of the activities and the values of outputs under different
objectives. The study was carried out in identified zones of Muranga and Kisumu districts where the
sample farmers were met and were administered structured questionnaires that covered farm events
and physical resources of 1995 short rains and 1996 long rains. This served as the foundation for the
formulation of the farm plans, and it was discovered that the objectives of the small holders have not
changed as observed during the outreach program. The findings indicated the following;
(i) there were differences in the activities of the observed plans and those under strict profit
maximization,
(ii) the profit of the observed plans is significantly lower than the profit under profit
maximization, and
(iii) meeting constraints through credit can only be achieved when there is a profit
Naifer, Al–Rawahy and Zekri (2010) focused on how farmers can achieve and withstand an
economically and feasible agricultural production in salt affected areas in Oman. They separated a
sample size of 112 farmers to different groups on the salinity level of the soil; low salinity, medium
salinity and high salinity. They adopted linear programming technique to maximize the farm’s gross
margin underwater, land, and labour constraints. The financial losses that the farmers incurred were
calculated by relating the profit of the medium and high salinity farms to the gross margin of the low
salinity farm. It was discovered that an increase of salinity from low salinity to medium salinity level
resulted to a damage of US$ 1,604 ha-1, and an increase from medium salinity level to a high salinity
level resulted to a damage of US$ 2,748 ha-1. It was also shown that the introduction of salt-tolerant
crops in the cropping systems leads to a substantial improvement in the gross margin, consequently
making it attractive enough to farmers in the medium salinity category to adopt new crops as well as
Slowinski (1986) presented a method for solving a multi-criteria linear program where the coefficients
of the objective functions and the constraints are fuzzy numbers of the L-R type. He transformed the
original problem into a multi-criteria linear fractional problem by assuming the aspiration levels for
particular criteria to be fuzzy and based on comparison of fuzzy numbers, and then solving the
obtained problem by using an interactive technique involving a linear programming procedure in the
calculation phase.
solutions, if there are k objectives. Thus the decision maker has to determine a compromise solution
from the set of non-dominated solutions. For the larger problem, it is not easy to find the compromise
solution by using the algorithm developed by Ringuest and Rinks (1987) but, using the fuzzy
membership functions to solve the multi objective linear programming problem. Dhingra et al (1991)
defined some non-linear membership functions like exponential, quadratic and logarithmic, and
applied them to an optimal design problem. This procedure is useful in engineering and management
design situations where uncertainty or ambiguity arises about the preciseness of permissible
Verma et al (1997) proposed a special type of non-linear (hyperbolic and exponential) membership
functions to solve the multi objective transportation problem and compared the obtained result with
the
solution obtained by using a linear membership function and has shown that the results were found to
be nearly same. Hussien (1998) studied the complete set of possibly efficient solutions of multi-
Das et al (1999) focused on the solution procedure of the multi objective transportation problem
where the cost coefficients of the objective functions, and the source and destination parameters are
expressed as interval values by the decision maker. They transformed the problem into a classical
defined the order relations that represent the decision maker's preference between interval profits.
They converted the constraints with interval source and destination parameters into deterministic one.
Lau et al (2009) presented an algorithm called the fuzzy logic guided no dominated sorting genetic
algorithm to solve the multi-objective transportation problem that deals with the optimization of the
vehicle routing in which multiple depots, multiple customers, and multiple products are considered.
Since the total travelling time is not always restrictive as a time constraint, the objective considered
comprises not only the total travelling distance, but also the total travelling time.
KASMO Industry Limited, Oshogbo, Nigeria in 2010” to determine the product mix (combinations of
sales packages). Linear Programming Technique was adopted by the company for optimizing
packaging sizes of medicated soap which lead to optimal profit level. These four types of sales
packages include 1 soap tablet per pack, 3 tablets per pack, 12 tablets per pack and 120 tablets per
pack (sales in carton soap tablets). Five basic raw materials were used for the manufacturing KASMO
medicated soaps. These raw materials were caustic soda, palm kernel oil, colourant, perfume and
disinfectant. Required information’s were available in the records of the company. The data collected
from KASMO Industry Limited, Nigeria on her main product line –medicated soap. To determine the
best sales packages that would yield maximum profit, the company considered various sizes of
packaging considering the constraints of raw materials. This result helped to the management of KIL
in the formulation of production and marketing strategies for their soap product to maximize the
company profits. This technique helped in understanding the take right decision to maximize the
profit.
Linear programming is used in all fields, including agriculture. In agriculture, the farming structure of
farms can be highly diversified to reduce risk and uncertainty related to unsealing the products. This
paper mainly focused to determine the optimal structure of crops, taking into account the income and
expenditure of crops per hectare and the objective was to carry out optimal results in terms of
maximum production per hectare of land. Montazemi and wright (1982) applied mathematical
programming approach in agriculture, using some relevant resources like land resources, technical
facilities etc. During this economic activity, the research question raised was whether after applying
the econometric model the returns of the economic activity is higher or not. By changing the structure
of crops, the profit from cultivation improved substantially and the profit of the farm maximized. The
results showed that profit rose to 143% and costs reduced 81% according to the paper review.
Another case is taken from the paper titled” LP applied to nurses shifting Problems”, published at
IJRS by (B. Satheeshkumar, 2014). In hospital, the main aim is to ensure continuous and adequate
level ward care service with appropriate number of nurses with the right nursing skills to maintain the
internal policies. A multi –specialty hospital in Coimbatore has been effectively used linear
programming to solve the nurses scheduling problems and get optimal results. The scheduling is done
by considering the constraints of nurse preferences such as the number of nights shift and consecutive
rest days. Such Type of problem becomes the personal need of the nurses like vacation or work shift
preference and other factors. Some the nurses might be trained to manage certain medical field or
skilled, due to the varied trainings and specializations of nurses has to be staffed forwards requiring
those skills. Hospital must be staffed 24 hours a day by a limited number of nurses. Optimization
optimization in healthcare by utilized own appropriate resources. Now days, the ratio of the nurses
available to patients in healthcare is very less. To increase the efficiency of services provided through
nurses by using the optimization technique of LP with utilization of the minimum resources. This
technique helped in understanding the existing shifting problems in nursing as a whole and facilitated
in making the right decision about requirement of the nursing staff at the different shift also can be
extended to all the other field of work which relates to shift system. To the efficiently balance the
workload among people for satisfying personal preferences. The nutshell, to minimize changes to be
original schedule while minimizing costs, rebuilding the schedule with current staffs usually be cheap
option as there is no extra wage to pay, but altering the schedule will alter other nurse’s schedules as
well.
Also, there is a case taken from the research paper on “Optimal allocation of funds-CCML” by
(Gyakwa Augustine, 2013). A micro finance bank “Christian Community Microfinance Limited
“(CCML), Eastern zone, to allocate their funds to prospective loan seekers in order for them to
maximize their profits. Simplex method of LP was used to solve the CCML problem by considering
the constraints of different-different type loan, interest and limit of debts. In financial sector, due to
poor allocation of funds by most financial institutions are not able to maximize their profits. The
nutshell of the paper is about how Christian community microfinance limited has helped the
community to allocate loans in order to optimize the profit margin. Most of the financial institutions
in the country do not have used any scientific method for given out loans. Due to this, it is not able to
optimize their maximum profits, which intern affects their socio economic contributions in the areas
in which they operate. In a financial sector, many Nigeria financial institutions has been used
Another case is the realistic (Benedict I. Ezema and Amakom, 2012) use of linear programming in
production firms “Golden plastic industry limited” Enugu, Nigeria, to determine the product mix
(such sizes of PVC pipes produced). Linear programming technique was adopted by the company for
optimizing production of different size of PVC pipes which to lead optimal level. Todays, many
industries are continuously facing shortage of production inputs. Because of this there is a significant
impact on outputs. Firms output depends upon management decision either minimize the resources or
maximize the output. The optimal quantities of the different sized PVC pipes to be produced to get the
maximum profit through company various sizes of dimension considering the constraints of product.
In nutshell, optimization technique has helped to taken right decision and allocating scare resources in
such manner that will ensure profit maximization and cost minimization. The technique to solve
problems relating to allocation of limited resources and uncertainty to different types of products, and
it is better way to save cost and streamline the product mix. Most researchers such as Sargeaunt
(1985), Kurtz (1992), Lucey (2000) and Taha (2008) posit that the use of scientific methods,
particularly linear programming in the allocation of scarce resources is play vital role to the
manufacturing to boost the output. The firms should adapt this technique to take right decision and get
optimal result.
Lastly is the case of realistic (Gurhan Uysal, 2015, Simplex of HR) search for use of linear
programming in organization to the selection of best talents. This case is based on application of
simplex method used to choose the best talents an organization by human resources management.
HRM plays important role in any firms. Contemporary human resource management may be defined
with performance and talent management perspectives. Organization performance also depends on
HRM decision. So chosen best talents, it is a big deal for human resource management (HRM) of any
organization. As per paper review study was applied talent management in organizations to solve the
problem using simplex method. Because talents increase business department’s performance and
performance of business departments increases organizational performance. So we can say that talents
have an impact on company performance through individual performance and HRM are figure out
and find out best talents from internal or external staffing sources for company performance. For
example, HR finds production managers, stock managers, marketing managers and others. And HR
and talent management are related with strategic human resource management. Simplex consider
opposite alternatives to make management decision whereas opposite are internal source and external
sources in his problem. During this decision maker consider limits in simplex’s problem solving
method to choose best candidate for firms. Basically researcher helped to HR for finding best talents.
In nutshell, simplex method is also used in finding best candidates for organization performances.
And also some of practical application problems like Portfolio selection and investment problems are
based on financial management situation in which managers select specific investments form a variety
of alternatives investment for example: stock, bonds etc. The main objectives of problem are to get
There are numerous applications of linear programming in various fields of business as well as in
different sectors starting from Manufacturing, Automobiles, Service sector, Healthcare, or even in
Agriculture. Though Linear programming problem started in Military field, its vast application in
portfolio management, fund allocation, product mix, advertising mix or media mix, resource
allocations and many other areas made it one of the most popular decision making tool. Our study has
made an attempt to discuss few cases from existing literature. The above study has picked up different
cases on application of optimization technique in business from different parts of the world,
irrespective of its economic status, whether Nigeria or India or USA. It was observed that
overwhelming number of real world problems are solved through using of optimization technique.
Business whether small family business or large corporate should adopt optimization technique to
enhance the decision making and to enhance efficiency and effectiveness of firm’s performance and
finally better decision will lead towards the profit maximization by using optimal resources.
CHAPTER 3
METHODOLOGY
In this chapter, we review the theory of linear programming, some method of solution of linear
Before defining linear programming, we first explain a linear function. A linear function is a function
in which the unknown quantity in the function has an exponent of 1. The mathematical formulation to
optimize profit, loss, production etc., under given set of conditions is called mathematical
X ≥ 0,
Where X = (x1, x2, …, xn)T is the column vector in n-dimensional real linear space Rn.
2. The relations gi(X) ≥ bi, hi(x) = bi , and qi(x) ≤ bi , i = 1, 2, …, s are called constraints.
If the objective function f(X) and all the constraints g i(X) are linear in mathematical
Linear programming involves the planning of activities to obtain optimal results, that is a
result that reaches a specific goal best (according to the mathematical model) among all
Subject to
or
Optimize z = CTX
Subject to AX = B
X ≥ 0, B ≥ 0
The standard form of linear programming problem deals with nonnegative decision variables
and linear inequality constraints. Here we explain how to convert the linear programming
problem into the standard form in case any or both of these conditions are not available in the
A linear inequality can easily be converted into an equation by introducing slack and surplus
variables.
maximize (usually revenue or profit) or minimize (usually cost) some functions of the
function.
2. Decision variables: these are variables whose values are under our control and
3. Constraints: in most cases, only certain values of decision variables are possible. So,
4. Sign restriction: this is set aside restriction that hold for the values of the decision
variables.
5. Feasible region: this is the set of points that satisfies all the constraints and sign
restrictions.
6. Feasible solution: this is a solution for which all the constraints are satisfied.
7. Infeasible solution: this is a solution for which at least one constraint is violated.
8. Basic feasible point: this is a basic point that satisfies all constraints and sign
restrictions.
9. Basic feasible solution: this is a point in the feasible region which does not give the
10. Optimal solution: this is a point in the feasible region with the largest objective
function value.
11. Slack/Surplus variables: these are variables that represent the unused raw materials
including the various legitimate forms of the mathematical model for linear programming.
The key terms are resources and activities, where m denotes the denotes the number of
different kinds of resources that can be used and n denotes the number of activities being
considered. Some typical resources are money and particular kinds of machines, equipment,
advertising in a particular media and shipping goods from a particular source to a particular
destination. In any application of linear programming, all the activities maybe of one general
kind, and then the individual activity would be particular alternatives within this general
category.
The most common type of application of linear programming involves allocating resources to
activities. The amount available of each resources is limited, so, a careful allocation of
resources to activities must be made. Determining this allocation involves choosing the levels
of the activities that achieve the values of the overall measure of performance.
Certain symbols are commonly used to denote the various components of a linear
programming model. These symbols are listed below, along with their interpretation for the
cj = increase in Z that would result from each unit increase in level of activity j.
the models pose the problem in terms of making decisions about the levels of the activities,
The values of cj, bi, and aij are the input constants for the model called parameters of the
model. We formulate the mathematical model for the general problem of allocating resources
to activities as follows. In particular, this modle is to select the values x1, x2, …, xn so as to
⋮ ⋮. ⋮ ⋮ ⋮
Table 3.1 data needed for a linear programming model involving the allocation of resources
to activities.
Contribution
of Z per unit
of Activity c1 c2 … cn
All the assumptions of linear programming actually are implicit in the model formulation
given. However, it is good to highlight these assumptions so that we can more easily evaluate
Proportionality assumption
Proportionality is an assumption about both the objective function and functional constraints.
The contribution of each activity to the value of the objective function Z is proportional to the
level of activity xj as represented by cjxj term in the objective function. Similarly, the
contribution of each activity to the left hand side of each functional constraint is proportional
to the level of the activity xj as represented by the aijxj term in the constraint.
Division assumption
This assumption concerns the values allowed for the decision variables. Decision variables in
a linear programming model are allowed to have any values, including non-integer values
that satisfy the functional and nonnegative constraints. Thus, these variables are not restricted
to just integer values. Since each decision variable represents the level of some activity, it is
Certainty assumption
The certainty assumption concerns the parameters of the model, namely, the coefficients in
the objective function cj. the coefficients in the functional constraints a ij and the right hand
sides of the functional constraints bi. The value assigned to each parameter of a linear
There are so many methods that can be applied to solve linear programming problems.
- Improving the first trial solution by a set of rules and repeating the
The simplex method is a basis exchange algorithm that solves linear programming problem
by constructing a feasible solution vertex of a polytope and then walking along a path on the
edges of the polytope to vertices with non-decreasing values of the objectives function until
an optimum is reached.
To find the optimal solution by simplex method, one starts from convenient basic feasible
solution (vertex), and goes to another adjacent basic feasible solution(vertex) so that the value
Consider the linear programming problem in standard form as the basic feasible solution is
Maximize Z = CTX
Subject to AX = b
X≥0
x1, x2, … , xn ≥ 0, b ≥ 0.
Where A = (A1, A2, …, An) is m x n matrix and A1 , A2 and An are the first, second and nth
columns of A respectively.
Let m be the rank of A, and every set of m column vectors is linearly independent. The
number of equations in the variables and (n-m) non-basic variables. The total number of basic
n!
( n−m) ! m!
Suppose a basic feasible solution x1, x2, … , xm is available at our disposal. This implies
are left as non-basic variables. Thus, X B = (x1, x2, … , xm)T is a basic vector with basis matrix
given as
All column vectors of B are linearly independent (by assumption), and hence, B is a non-
singular matrix and all column vectors of B generate R m, an m-dimensional real linear space.
This ensures that each Aj, j = 1,2, …, n can uniquely be expressed as a linear combination of
⋮=
In matrix form,
Aj = (A1, A2, … , Am) αmj ⟹ Aj = Bαj, where αj = (α1j, α2j, … , αmj)T is the coordinate vector
⋮
αmj
of Aj. Thus we get the relation
αj = B-1Aj (3.9)
also, in view of (3.5) we have
f(XB) = c1x1 + c2x2 + … + cmxm = CBTXB = CBTB-1b is the value of objective function at XB,
where CBT = (c1, c2, … , cm) is the cost of basic vector XB.
0
⋮
zj = CBT αj = (c1, c2,…,cj,…,cm) 1 = cj
⋮
0
From above relation, zj- cj = 0.
Remark. Note that zj – cj may or may not be zero for non-basic variable.
In order to introduce the simplex method in algebraic terms, we introduce some notations
here. For a given basic feasible solution X*, we can always denote it by
X* = XB*
XN*
Where the elements of vector XB* represent the basic variables and the elements of vector X N*
represent non-basic variables. Needless to mention X B* ≥ 0 and XN* = 0 for the basic feasible
solution.
Also, for a given cost vector C (column vector) and the coefficient matrix A, we can always
denote these as
CB and A = B N
CN
Where B is a m x m non-singular matrix that is referred to as basis and N is referred to as
X ≥ 0. If, for any basic feasible solution X B* all zj - cj ≤ 0 then XB is the optimal solution of
the problem.
Proof. Once a basis is known, every feasible solution X ⊂ PF is arranged in order as
X= XB
XN
Both XB and XN are non-negative. Hence the linear programming becomes
XB, XN ≥ 0 (3.9c)
variable are set to be zero and the remaining n-m components correspond to non-basic
variables. Also, note that objective value z* at current basic feasible solution X* is C BT B-1b,
Consequently,
z* - z = rT XB for each X ϵ PF
XN
It is apparent that rT ≥ 0, i.e., every component of CBT B-1N - CNT is non-negative,
rj = zj – cj = CBTB-1Aj – cj ≥ 0,
where j runs over non-basic variables as zj - cj = 0 for all basic variables. This proves the
proposition.
Remark. For a minimizing problem all z j – cj ≤ 0 in the last iteration table is the desired
Proposition 3. Let B = ( X1,X2, …, Xn) is a basis of RT. for any vector X ϵ B, we have the
unique representation.
From (3.13), we conclude that (X 1, X2, …, Xi-1, X, Xi+1,…, Xn) is linearly dependent, and
hence, it is not a basis. Thus, we have established that the vector whose coefficient is zero in
Suppose we are considering maximization and the basic vector X B = (x1,x2, …, xn) is at our
disposal. With the help of proposition (2) we can check whether this basic feasible solution is
optimal or not. If not, our next step is to some other basic feasible solution (vertex) so that the
current value of the objective function improves(increases) or optimal basic feasible solution
To go to other vertex, one of the basic variables from x 1,x2, …, xn is supposed to leave and
other non-basic variables will occupy its position. This equivalent to saying that some of the
column vectors from B will leave the basis and a column vector from A m+1, Am+2, …, Am+n
Proposition 3 ensures that A1, A2, …, Am forms anew basis provided αrj ≠ 0. From the original
4.1 INTRODUCTION
In this chapter, illustrative examples will be used to illustrate the simplex method of solution
of linear programming.
ILLUSTRATIVE EXAMPLES
To illustrate the simplex method of solving linear programming problem, we consider the
Problem 1. For the purpose of accomplishing these objectives, data has been collected from a
renowned paint manufacturing company. For the purpose of secrecy, we will use “The
Company” instead of real name of that company. The company produces various types of
paints. The records of company show that the product named “Plastic Emulsion” is the main
product in terms of number of units to be sold and thus generating contribution. The product
is made in three sizes: Quarter (1 kg), Gallon (3.64 kg) and Drummy (14.56 kg). The data
used in the study is for the month of July 2016 obtained from company records and from
interviews from Manufacturing department personal and Accounts department personnel. The
purpose of this study is to know what number of each size of Plastic Emulsion to be
FORMULATION OF MODEL
Simplex method is used. Linear programming converts the data into objective function (in
terms of contribution per unit) and relevant constraints functions (in terms of material
Where the coefficients represent contribution per unit with respective products. The
constraints are form with material used to manufacture these products that are:
Where the coefficients are the quantities of material to be used to produce each product and
The first step in simplex method is the introduction of slack variables and converting
inequalities into equalities (fig. 1). In second step, initial simplex tableau is formed (Table 1).
The table shows the state of “do nothing”. The negative values in the last row under x 1,x2, and
x3 show the loss of contribution from each product if such product is not produced. From this
table, pivot element, pivot row and pivot column is chosen. The column under x 3 is the pivot
column as it has the largest positive value is i.e. (1380). Then, all constants are divided with
coefficients of pivot column. Since 16/0.168 provides the smallest ratio, its row becomes the
pivot row. Finally, coefficient at the intersection of pivot row and pivot column is termed as
pivot element i.e. (0.168). In third step, the pivoting process starts in which the pivot row is
divided by pivot element (Table 2). Having reduced to pivot element to 1, the next step is to
clear the pivot column (Table 3). The initial results in Table 3 show that by producing 95
units of .e. Drummy. But it is not optimal decision as the company is still losing from x 1
x3 i
and x2. Therefore, iterative process continues and from Table 3, again pivot column is
selected that is Column under that has maximum negative value. Then pivot row is selected
with the same process as previous with smallest ratio. Finally, the pivot element is selected
again that is now 0.214. Then, pivoting process will be undertaken again (Tables 4 and 5).
Then final results obtained in table 5 show that the optimal decision to maximize contribution
would be to produce 444 units of (Gallon). At this point the overall contribution is N 162,038
that is higher than the previous state of N 131,100. The values of slack can be read from the
R2 are required to make the two products. Each unit of A requires 1 unit of resource R1 and 3
units of resource R2. Each unit of B requires 1 unit of resource R1 and 2 units of resource R2.
The company has 5 units of resource R1 and 12 units of resource R2 available. The company
also makes a profit of N6 per unit A sold and N5 per unit of B. We want to determine how
many flour meals A and oat meals B should the company manufacture to ensure a maximum
profit?
available
The owners of the company would like to maximize profit as much as soft drinks A and B
Let Z = total profit per day for manufacturing these two soft drinks.
Thus x1 and x2 are the decision variables for the model. The objective is to choose the values
of x1 and x2 so as to maximize profit, subject to the restriction imposed on their values by the
Restrictions: x 1 + x2 ≤ 5
3x1 + 2x2 ≤ 12
x1, x2 ≥ 0,
where Z = 6x1 + 5x2, is the objective function. x1 + x2 ≤ 5 and 3x1 + 2x2 ≤ 12 are the
Z = 6x1 + 5x2
x1 + x2 = 5 … (4.1)
From 4.1, when x1 = 0, x2 = 5 and when x2 = 0, x1 = 5. This gives the points (0,5) and (5,0).
From 4.2, when x1 = 0, x2 = 6 and when x2 = 0, x1 = 4. This also gives the points (0,6) and
(4,0).
X1
3x1 + 2x2 = 12
x1 + x2 = 5
X2
The two lines 3x1 + 2x2 = 12 and x1 + x2 = 5 are meeting at the point (2,3)
The feasible region is the shaded portion on the graph. The points (0,0), (0,5), (4,0), and (2,3)
are the basic points while (5,0) and (0,6) are the non-basic points.
z = 6x1 + 5x2
20 and 25 while 27 is both the basic and objective value optimal solution and it occurred at
the solution x1 = 2 and x2 = 3. This means the company must manufacture 2 units of flour
As illustration of the simplex method, we consider the canonical form of problem p1.
Restrictions: x 1 + x2 ≤ 5
3x1 + 2x2 ≤ 12
x1, x2 ≥ 0.
We introduce slacks to convert the canonical form of example 4.1 to standard form. Let s 1
Restrictions: x 1 + x2 + s 1 = 5
3x1 + 2x2 + s1 = 12
cj 6 5 0 0
CB Bv x1 x2 s1 s2 RHS Ratio
0 s1 1 1 1 0 5 5
0 s2 (3) 2 0 1 12 4
zj 0 0 0 0 0
cj – zj 6 5 0 0
From table 4.2, the basic variables are s 1 and s2 while the non-basic variables are x1 and x1.
The most positive (cj – zj) value is 6. Therefore, the third column is the pivot column.
Dividing the elements in the right hand side by their respective elements in the pivot column
and comparing the ratios, it is observed that the smaller ratio is 4. Therefore, the row
containing the smaller ratios 4 is the pivot row and 3 is the pivot element.
This means x1 is entering basis. The pivot element (3) should be reduced to 1 and the element
above the pivot element should be reduced to zero. By performing Gauss Jordan elimination
row operations, i.e., dividing the fourth row by 3, the pivot element is reduced to 1. Also, by
multiplying the fourth row by -1 and adding the results to the row obtained after the pivot
row has been divided by the pivot element 3. Thus, the second simplex tableau is obtained
below;
Table 4.3
cj 6 5 0 0
CB Bv x1 x2 s1 s2 RHS Ratio
0 s1 0 (1/3) 1 -1/3 1 3
6 x1 1 2/3 0 1/3 4 6
zj 6 4 0 2 24
cj – zj 0 1 0 -2
From Table 4.3 the variables in basis are s1 and x1 while the non-basic variables are x2 and s2.
The most positive cj – zj is 1. Comparing the two ratios 3 and 4, it si observed that 3 is less
than 4. This means that x2 is entering basis while s1 is leaving basis. The pivot column is the
fourth column and the pivot row is the third row. The value at where the pivot column and
the pivot row are meeting is (1/3). Therefore, the pivot element is 1/3. The pivot element is
changed to one by multiplying the third row by 3. The values below and above the pivot
element are changed to zero by performing Gauss-Jordan row operations. We multiply the
elements in the fourth row by 3/2 and add the results to the new pivot row to change the value
below the pivot element to zero. Hence, the optimal table is obtained below.
cj 6 5 0 0
CB Bv x1 x2 s1 s2 RHS Ratio
5 x2 0 1 3 -1 3 3
6 x1 1 0 -2 1 2 2
zj 6 5 3 1 27
cj – zj 0 0 -3 -1
From Table 4.4, since all the cj – zj values are zeros and negatives, we stop. The values of x1
and x2 are 2 and 3 respectively and the maximum profit is 27. This means the company
should manufacture 4 units of soft drink A and 3 units of soft drink B to obtain a maximum
profit of N27.
CHAPTER 5
In this chapter, we find out whether the title of this paper has adequately been dealt with. We
also find out whether the objectives of this project have been achieved and other findings of
this project will be discussed. Recommendations based on the findings of this project will
also be made.
Chapter 3 of this project contains the important theories of linear programming. Simplex
code in python. All necessary algorithms, procedures and steps involved in applications of
simplex method have also been given in details in chapter 3. All necessary steps involved in
In chapter 4, illustrative examples have been given. The required linear programming models
needed in solving the given examples have also been formulated out of the given examples.
The examples have been used to illustrate graphical method and simplex method and simplex
method of solution of linear programming. All the necessary computations have been made to
clearly illustrate the methods used for better understanding. All tables involved in computing
the solutions of given examples that are used to illustrate these methods have also been given
It has been found out that linear programming is a very powerful mathematical tool which
can be applied to enable us maximize profit and minimize cost in our everyday activities.
And it can be applied in various field of study. It can be used most extensively in businesses
and economics. Linear programming can also be used for some engineering problems.
Industries such as energy, telecommunications and manufacturing companies can also use
linear programming models to solve problem to ensure the growth. Linear programming can
be useful in diver types of planning and designing. Linear programming can also help us to
think logically and that will enable us to solve many problems in our societies.
REFERENCES
Charles,Cooper & Henderson, 1963, “An Introduction to Linear Programming”, John Willy,
New York
Corrar, Teophilo L., Carlos Renato (2003): Pesquisa Operacional para Decisão em
Memorandum RM-1266
Dwivedi, D., 2008, “Managerial Economics”, VIKAS Publishing House PVT Limited, New
Delhi
Emory, W and P. Niland, 1998, “Making Management Decisions”, Oxford & IBH, New
Delhi
Gupta, P.K and D.S. Hira, 2009, “Operations Research”, S. Chand Company Limited, New
Delhi
Kareem,B and A. Aderoba, 2008, “Linear Programming based Effective Maintenance and
Manpower Planning Strategy”, International Journal of the Computer, the Internet and
Management, vol.16 pp.26-34
Murugan, N and S. Manivel, 2009, “Profit Planning of an NGO run Enterprises using Linear
23, 443-454
Taha, H., 2008, “Operations Research: An Introduction”, 110001 PHI Learning Private
Turban, J and T. Meredith, 1991, “Principles of Management Science”, Prentice Hall and