0% found this document useful (0 votes)
113 views

Linear Programming (Theory, Computaions and Implementation With Python Programming Language)

This document is a project report submitted to the University of Lagos in partial fulfillment of the requirements for a Bachelor of Science degree in Industrial Mathematics. The report discusses linear programming, including its theory, computational methods like the graphical method and simplex method, and implementation with Python programming language. It provides an overview of the history and origins of linear programming and its applications in fields like production, management, and research.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
113 views

Linear Programming (Theory, Computaions and Implementation With Python Programming Language)

This document is a project report submitted to the University of Lagos in partial fulfillment of the requirements for a Bachelor of Science degree in Industrial Mathematics. The report discusses linear programming, including its theory, computational methods like the graphical method and simplex method, and implementation with Python programming language. It provides an overview of the history and origins of linear programming and its applications in fields like production, management, and research.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 55

LINEAR PROGRAMMING

(THEORY, COMPUTAIONS AND IMPLEMENTATION WITH

PYTHON PROGRAMMING LANGUAGE)

A PROJECT PRESENTED TO THE DEPARTMENT OF MATHEMATICS, UNIVERSITY

OF LAGOS.

IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF

BACHELOR IN SCINCE INDUSTRIAL MATHEMATICS

BY

BABATUNDE HABEEB OLATUNDE (140806017)

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,

and researchers to explore further findings and uses.

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

implementation with python programming language.

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

blocks of linear programming theory with practical illustrations.

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

1.1. BACKGROUND OF THE STUDY

1.1.1. THE ORIGIN OF LINEAR PROGRAMMING

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:

(i) the development of large scale electronic computers and

(ii) the development inter-industry model.

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

thereafter John Norton and Murray Geisler.

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

areas such as:

(i) Contact binding

(ii) Balanced air craft, crew training and wing employment procedures

(iii) Scheduling of maintenance overhaul cycles and

(iv) Airlift routing problems (U.S.A. Air Force, 1954; Jacobs and Natrella, 1951).

Mathematical Origins and Developments

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.

Mathematicians were unaware of the importance of the problem of seeking a solution to an

inequality system that also minimized a linear form.

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

finding the lowest point of polyhedral set. He suggested a solution by a vertex-to-vertex

descent to minimum, which is the principle behind the simplex method. Later, another

famous mathematician, de la ValleePoussin (1911), considered the same problem and

proposed a similar solution.

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

expressed in a sharper form in Motskin’s Transportation theorem (1936) and theorems on

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 work of Kantorovich

The Russian Mathematician L. V Kantorovich had for number of years been interested in the

application of mathematics to programming problems. He published an extensive monograph

in 1939 titled “Mathematical Methods in Organization and Planning of Production”.

In his introduction Kantorovich states, “There are two ways of increasing efficiency of the

work of a shop, an enterprise, or a whole branch of industry. One way is by various

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

were amendable to practical numerical evaluation and could be numerically solved.

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

(mathematically, the latter is equivalent to general linear problem). He outlined a solution

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

Methods to Problems of Freight Flow Analysis” (Kantorovich and Gavurin, 1948).

In 1959, twenty years after the publication of his first work, Kantorovich publicised a second

titled “Economic Computation of the Optimal Utilization of resources”, a book primarily

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

computational proposal in their laboratories. In the fall of 1947, Lederman of the

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

avoiding degeneracy (Hoffman, 1953).

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

Introduction to Linear Programming” (Charness et all., !953).

Extension of Linear programming

If we distinguish between those types of generalizations on mathematics that have led to

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

constructive generalizations of linear programming concepts to allied field. These are;

Network Theory: A remarkable property of a special class of linear programs, the

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

and Fulkerson (1954) for network flows.

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),

Markowitz (1956) and culminated in an elegant procedure developed independently by Beale

(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)

Integer Programming: Important classes of nonlinear, nonconvex, discrete, combinational

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

first developed by Gomory (1958).

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

important class concerned is a multistage where the technological matrix of input-output

coefficients is assumed known, the values of the constant terms are uncertain, but joint

probability distribution of their possible values is assumed to be known. A promising

approach based on the decomposition principle was discussed by Dantzig and Madansky

(1960).

Industrial Application of Linear Programming

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

linear programming to a business or industrial problem has required the mathematical

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

constraints on business policies is being emphasized. Moreover, scheduling industrial

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

developing quantitative models of industrial systems for the purpose of scheduling

production. Of course many complicated systems have not as yet been quantified, but

sketches of conceptual models have stimulated widespread interest. An example of this is in

the scheduling of job shop production, where M.E. Salveson (1953) initiated research work

with a linear programming-type tentative model.

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 development that a survey by Garvin, Crandall, John, and Spellman.

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

animals feeds (Fisher and Schruben, 1953).

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

rolling mills should make in order to make profit.

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

been investigated by linear programming methods (Masse and Gibrat, 1957).

Since 1957 the number of applications of linear programming has grown so rapidly that it is

not possible to give an adequate treatment.

1.1.2. THE DEVELOPMENT OF LINEAR PROGRAMMING UP TILL NOW

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

best (according mathematical model) among all feasible alternatives.

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.

1.1.3. METHOD OF SOLUTION OF LINEAR PROGRAMMING

There are many available methods for solving linear programming problems. Some of these

methods are described below.

1. The simplex method: it is a basis-exchange algorithm that solves linear programming

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

objective function until an optimum is reached.

2. Revised simplex method: it is a scheme for ordering the computations required for

simplex algorithm so that unnecessary calculations are avoided.

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

being applied simultaneously to its dual problem.

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

decomposition principle is the appropriate method to use.

1.2. STATEMENT OF PROBLEM

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.3. OBJECTIVES OF THE STUDY

The specific objectives of this research are:

i. To review the theory of linear programming and solution method.


ii. To illustrate solution methods with examples and solve real life problems.

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

will be by hand calculations and python code solver.

1.5. JUSTIFICATION OF THE STUDY

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.

Recommendations would be made based on these findings.


CHAPTER 2

LTERATURE REVIEW

This chapter reviews the works other people have done on the theory of linear programming, methods

of computation and relevant industrial applications.

Linear problems have been intensively studied by a diverse group of researchers including

mathematicians, statisticians, economics, engineers and computer scientists. Linear programming is

applied in variety of fields such as energy, transportation, telecommunication, planning etc. The

programming problems can be solved using different methods.

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

are significant constraints on the resources.

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

used in numerous countries to optimally allocate resources as well as resource necessities

(Onyenweaku, 1980; Alam, 1994; Alam, Elias & Rahman, 1995; Schipper, Jansen & Stoorvogel,

1995; Sama, 1997).

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

operations research and management science could judiciously enhance OR allocation so at to

maximize profit and minimize cost. The techniques could enhance distribution of scarce resources in

the context of the goals specific to individual academic departments of surgery.

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

assistants with 95% confidence of covering nurse demand on the floor.

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

maximization objective. Small holder agriculture which are described by survival


production, do not show effective need for credit, thus financing it needs other ways apart

from the competitive market.

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

to moderate the effect of water salinity.

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.

Ringuest et al (1987) proposed interactive algorithms to find k non-dominated and dominated

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

programming method, one can easily find a compromise solution.


Sakawa et al (1987) proposed an interactive fuzzy decision making model using linear and non-linear

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

parameters, degree of credibility, and correctness of statements and judgements.

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-

objective transportation problem with possibility coefficients of the objective functions.

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

multi-objective transportation problem so as to minimize as the interval objective function. They

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.

Finally, they solved equivalent transformed problem by fuzzy programming technique.

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.

LINEAR PROGRAMMING APPLICATIONS


The first case is about the pragmatic use of optimization technique by manufacturing company

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

technique by means of linear programming is an efficient tool to solve problems related to

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

operation technique in their allocation of funds to lead optimal profit level.

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

expected return and minimize the risk by using operation technique.

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

programming, duality of linear programming and sensitivity analysis of linear programming.

3.1. THE LINEAR PROGRAMMING CONCEPT

3.1.1. DEFINITION OF LINEAR PROGRAMMING

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

programming problem. The mathematical programming problem is written as

Optimize f(X) (3.1a)


Subject gi(X) ≥ bi i = 1, 2, …, m (3.1b)

hi(x) = bi = m+1, …, p (3.1c)

qi(x) ≤ bi = p+1, …, s (3.1d)

X ≥ 0,

Where X = (x1, x2, …, xn)T is the column vector in n-dimensional real linear space Rn.

Thus, XT = (x1, x2, …, xn) is the row vector.

Now, from the mathematical formulation above;

1. The function f(X) to be optimized is termed as objective function.

2. The relations gi(X) ≥ bi, hi(x) = bi , and qi(x) ≤ bi , i = 1, 2, …, s are called constraints.

3. The conditions X ≥ 0 are non-negativity restrictions.

4. The variables x1, x2, . . .xn are decision variables.

5. The terminology (optimize) stands for minimization or maximization.

If the objective function f(X) and all the constraints g i(X) are linear in mathematical

programming problem, we call the programming a linear programming problem.

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

feasible alternatives. Linear programming is a mathematical method for determining a way to


achieve the best outcome (such as maximum profit or lowest cost) in a given mathematical

model for some list of requirements represented as linear relationships.

Any linear programming has the general form:

Optimize z = c1x1 + c2x2 + . . . + cnxn (3.2a)

Subject to ai1x1 + ai2x2 + . . . + ainxn ≥ bi, i = 1, 2, . . ., m.(3.2b)

Where ck, k = 1, 2,…,n and bi, i = 1,2,…,m are real numbers.

Standard form of linear programming.

The standard form of linear programming is written as

Optimize z = c1x1 + c2x2 + … + cnxn (3.3a)

Subject to

ai1x1 + ai2x2 + . . . + ainxn = bi i = 1, 2, . . ., m (3.3b)

x1, x2, …, xn ≥ 0, b1, b2, …, bm ≥ 0

or

a11x1 + a12x2 + … + a1nxn = b1

a21x1 + a22x2 + … + a2nxn = b2


⋮ ⋮ ⋮ ⋮ ⋮

am1x1 + am2x2 + … + amnxn = bm

x1, x2, …, xn ≥ 0, b1, b2, …, bm ≥ 0

or, in the matrix form

Optimize z = CTX

Subject to AX = B

X ≥ 0, B ≥ 0

Where C = (c1, c2, … , cn )T (Cost vector)

X = (x1, x2, …, xn) (Decision variables)

A = (aij) (Coefficient matrix of order (mxn))

B = (b1, b2, …, bm )T (Right hand of functional constraints).

Converting to the standard form

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

linear programming problem.

A linear inequality can easily be converted into an equation by introducing slack and surplus

variables.

If the ith constraint has the form

ai1x1 + ai2x2 + . . . + ainxn ≤ bi,

We can add a nonnegative variable si ≥ 0 to have


ai1x1 + ai2x2 + . . . + ainxn + si = bi. (3.4)

Here, the variable si is called the slack variable.

Similarly, if ith constraint has the form

ai1x1 + ai2x2 + . . . + ainxn ≥ bi,

A nonnegative variable si ≥ 0 is subtracted to have

ai1x1 + ai2x2 + . . . + ainxn - si = bi. (3.5)

Here, the variable si is called the surplus variable.

Terminologies of linear programming

1. Objective function.: in any programming problem, the decision maker wants to

maximize (usually revenue or profit) or minimize (usually cost) some functions of the

decision variables. The function to be maximized or minimized is the objective

function.

2. Decision variables: these are variables whose values are under our control and

influence the performance of the system.

3. Constraints: in most cases, only certain values of decision variables are possible. So,

constraints are restrictions on the values of decision variables.

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

largest objective function value.

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

that do not contribute to the objective function.

3.1.2 FORMULATION OF LINEAR PROGRAMMING MODEL

In this section, we discuss the general characteristics of linear programming problems,

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,

vehicles, and personnel. Examples of activities include investing in particular projects,

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

general problem of allocating resources to activities.

Z = value of overall measure of performance.

xj = level of activity j (for j = 1, 2, …,n).

cj = increase in Z that would result from each unit increase in level of activity j.

bi = amount of resource i that is available for allocation to activities (for i = 1,2,…,m).

aij = amount of resource i consumed by each unit of activity j.

the models pose the problem in terms of making decisions about the levels of the activities,

so, x1, x2, …, xn are called the decision variables.

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

maximize z = c1x1 + c2x2 + … + cnxn


subject to the restrictions

a11x1 + a12x2 + … + a1nxn ≤ b1


a21x1 + a22x2 + … + a2nxn ≤ b2

⋮ ⋮. ⋮ ⋮ ⋮

am1x1 + am2x2 + … + amnxn ≤ bm

x1, x2, …, xn ≥ 0, b1, b2, …, bm ≥ 0

Table 3.1 data needed for a linear programming model involving the allocation of resources

to activities.

Resources Usage per Unit of Activity


Activity
Resources 1 2 … n Amount of Resources available
1 a11 a12 an1 b1
2 a21 a22 an2 b2
: … … … … :
M am1 am2 … amn bm

Contribution

of Z per unit

of Activity c1 c2 … cn

3.1.3 ASSUMPTION OF LINEAR PROGRAMMING

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

how well linear programming applies to any given problem.

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

being assumed that the activities can be run at fractional levels.

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

programming model is assumed to be known constant.

3.2.THE METHODS OF SOLUTION OF LINEAR PROGRAMMING

There are so many methods that can be applied to solve linear programming problems.

3.2.1 THE SIMPLEX ALGORITHM

Simplex method is developed by G. Dantzig in 1947. It provides an algorithm (a rule of

procedure) which is based on the fundamental theorem of linear programming.


The simplex algorithm is an iterative procedure for solving linear programming

problems in a finite number of steps.

It consists - Having trials basic feasible solution to constraint equation.

- Testing whether an optimal solution.

- Improving the first trial solution by a set of rules and repeating the

processes until an optimal solution is obtained.

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

of the objective function value is improved.

Consider the linear programming problem in standard form as the basic feasible solution is

calculated in after writing the problem in this format

Maximize Z = CTX

Subject to AX = b

X≥0

Where C = (c1, c2, … , cn)

X = (x1, x2, … , xn)T

A = (aij) m x n, the constraint matrix of order m x n and b = (b1, b2, … , bm)


The above linear programming problem can also be written in the form

Maximize Z = c1x1 + c2x2 + … + cnxn (3.6a)

Subject to x1A1 + x2A2 + … + xnAn = b (3.6b)

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

feasible solutions of linear programing problem cannot exceed

n!
( n−m) ! m!

Suppose a basic feasible solution x1, x2, … , xm is available at our disposal. This implies

xm+1 = xm+2 = … = xn = 0 (3.7)

are left as non-basic variables. Thus, X B = (x1, x2, … , xm)T is a basic vector with basis matrix

given as

a11 a12 … a1m


B= a21 a22 … a2m
⋮ ⋮… ⋮
am1 am2 … amm

Using (3.3) in (3.4), we have x1A1 + x2A2 + … + xmAm = b

Since (A1, A2, … ,Am) = B, this has the compact form


BXB = b ⟹ XB = B-1b (3.8)

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

the elements of ordered basis { A1, A2,…, An}

Am+1 = α1m+1 A1 + α2m+1 A2 + … + αmm+1 Am

Am+2 = α1m+2 A1 + α2m+2 A2 + … + αmm+2 Am

⋮=

An = α1n A1 + α2n A2 + … + αmn Am

The compact form of the above system is

Aj = α1j A1 + α2j A2 + … + αmj Am where j = m+1, m+2, … , n

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.

Proposition 1: if zj = CBT αj, j = 1,2,…n, then zj – cj = 0 for all basic variables.


Proof. Since A1,A2, … , Am, is an ordered basis, the coordinate vector αj of Aj, j =1,2,…,m is

(0,0,..,1,…,0), where 1 is at the jth place. Hence,

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

non-basis with dimensionality m x (n-m).

Proposition 2. Let the linear programming problem be to maximize C TX subject to AX = b,

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

Maximize z = CBT XB – CNT XN (3.9a)

Subject to BXB + NXN = b (3.9b)

XB, XN ≥ 0 (3.9c)

Equation (3.9b) implies that

XB = B-1b – B-1NXN (3.10)

Substituting (3.10) into (3.9a) results in

z = CBT ( B-1b – B-1NXN) – CNT XN

= CBT B-1b + (CNT - CBT B-1N) XN

= CBT B-1b - rT XB (3.11)


XN
Where r= 0
(B-1N)T CB – CNT

It is observed that r is an n – dimensional vector. Its m components, corresponding to basic

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,

since XB* = B-1b and XN* = 0.

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,

then z* - z ≥ 0 for each feasible solution X ϵ PF. Hence z* is optimal solution.

Equivalently, for optimal solution to exist, we write

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

condition for any basic feasible solution XB* to be optimal.

Proposition 3. Let B = ( X1,X2, …, Xn) is a basis of RT. for any vector X ϵ B, we have the

unique representation.

X = α1X1 + α2X2 + … + αnXn. (3.12)

If αi = 0, then (3.12) becomes

α1X1 + α2X2 + … + αi-1Xi-1 + (-1)X + αi+1Xi+1+ …+ αnXn

By using commutativity and associativity repeatedly in the above, we have

X = α1X1 + α2X2 + … + αi-1Xi-1 + αi+1Xi+1+ …+ αnXn = 0 (3.13)

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

linear representation for X can be by X to form a new basis.

Rules for entering and leaving variables

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

is obtained. The basic matrix associated with XB is

B = (A1, A2, …, Am)

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

occupies its place to form a new basis as shown in figure below.

B = (A1, A2 ,…, Ar, …, Am) A = (A1, A2,…, Am,…, Aj, …, An)

Aj = α1j A1 + α2j A2 + …+ αrj Ar +…+ αmj Am (3.14)

Proposition 3 ensures that A1, A2, …, Am forms anew basis provided αrj ≠ 0. From the original

basic feasible solution, we have

x1A1 + x2A2 + … + xmAm = b


x1 – xr α1j A1 + x2 – xr α2j A2 +…+ xr Aj + … + xm – xr αmj Am = b
αrj αrj αrj αrj
The position of Ar has been occupied by Am and

x1 – xr α1j , x2 – xr α2j ,…, xr , xm – xr αmj (3.15)


αrj αrj αrj αrj
4.5.1 IMPLEMENTATION OF SIMPLEX ALGORITHM
4.5.2IMPLEMENTING THE SIMPLEX ALGORITHM WITH PYTHON
CHAPTER 4

NUMERICAL EXAMPLES AND RESULTS

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

following practical problems.

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

manufactured and sold to earn maximum contribution.

FORMULATION OF MODEL

In order to apprehend optimal combination from various categories of Plastic Emulsion,

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

quantity per unit) which are as follows:


Let x1 be plastic emulsion with size Quarter.

Let x2 be plastic emulsion with size Gallon.

Let x3 be plastic emulsion with size Drummy.

We want to maximize z = 98x1+ 365x2 + 1380x3

Where the coefficients represent contribution per unit with respective products. The

constraints are form with material used to manufacture these products that are:

0.02x1 + 0.06x2 + 0.28x3 ≤ 19 for polyene

0.05x1 + 0.15x2 + 0.7x3 ≤ 68 for Tylose

0.014x1 + 0.042x2 + 0.182x3 ≤ 18 for Ammonia

0.034x1 + 0.039x2 + 0.182x3 ≤ 46 for Polyrone

0.012x1 + 0.036x2 + 0.168x3 ≤ 19 for n Margal

0.14x1 + 0.42x2 + 1.96x3 ≤ 189 for GP

0.01x1 + 0.03x2 + 0.14x3 ≤ 14 for Foam

0.7x1 + 2.1x2 + 7.8x3 ≤ 945 for Tio

Where the coefficients are the quantities of material to be used to produce each product and

constant represents the maximum quantity available of each type of material.

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

table 4 and 5 that can be used in other products of the company.


Problem 4.2: A company manufactures flour meal A and oat meal B. Two resources R1 and

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?

Types of products Resources Profit per unit


R1 R2
Flour meal A(x1) 1 3 N6
Oat meal B(x2) 1 2 N5
Amount of resources 5 12

available

The owners of the company would like to maximize profit as much as soft drinks A and B

can be but they are restricted by the availability of resources.

Let x1 = number of unit of flour meal A produced.

Let x2 = number of units of oat meal B produced.

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

limited production capacity of the two resources R1 and R2.

Profit function z = 6x1 + 5x2,

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

constraints and x1, x2 are the decision variables.

4.2: ILLUSTRATION OF THE GRAPHICAL METHOD


Replacing the inequalities in the constraints of problem P1 by equality, we have

Z = 6x1 + 5x2

x1 + x2 = 5 … (4.1)

3x1 + 2x2 = 12 ….(4.2)

Solving for points in feasible set

When x1 = x2 = 0, we have the point (0,0)

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).

Solving of convex feasible region

Plotting the above points on the graph, we have

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

For (0,0) z = 6(0) + 5(0)


z=0
For (4,0) z = 6(4) + 5(0)
z = 20
For (0,5) z = 6(0) + 5(0)
z = 25
For (2,3) z = 6(2) + 5(3)
z =27
Therefore, the feasible objective values are 0, 20, 25, and 27. The basic feasible values are 0,

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

meal A and 3 units of oat meal B in order to get a profit of N27.

4.2: ILLUSTRATION OF THE SIMPLEX METHOD

As illustration of the simplex method, we consider the canonical form of problem p1.

Maximize z = 6x1 + 5x2,

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

and s2 be the slacks. The model thus becomes;

Maximize z = 6x1 + 5x2 + 0s1 + 0s2

Restrictions: x 1 + x2 + s 1 = 5

3x1 + 2x2 + s1 = 12

x1, x2, s1,s2 ≥ 0,

Tables 4.2: the initial simplex tableau

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

CONCLUSSION AND RECOMMENDATIONS

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

method of solution of linear programming was treated in chapter 3 with an implementation

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

formulation of linear programming models have also been given in chapter 3.

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

and systematically explained.

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

Andrade, E. L. (1990): Introdução à Pesquisa Operacional. LTC, Rio deJaneiro.

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

Contabilidade e Administração. Editora Atlas, Rio de Janeiro.

Dantzig, G.,1993, “Computational Algorithm of the Revised Simplex Methods”, RAND

Memorandum RM-1266

Dowing, E.T., 1992, “Theory and Problems of Introduction to Mathematical Economics”,

Schaum’s Outline Series, McGraw-Hall Inc., New York

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

Henderson, J and R. Quandt, 2003, “Microeconomic Theory: A Mathematical Approach”,

McGraw-Hill Book Co., Tata, New Delhi

Hillier, F and G. Lieberman, 2001, Introduction to Operations Research”, McGraw-Hill Book

Co., New York

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

Koutsoyiannis, A.,1987, “Modern Microeconomics”, English Language Book Society,

Macmillan Press Ltd.

Kurtz, D et al, 1992, “Principles of Management”, McGraw-Hill Inc., USA

Lucey, T., 2002, “Quantitative Techniques”, Bookpower, London

Murugan, N and S. Manivel, 2009, “Profit Planning of an NGO run Enterprises using Linear

Programming Approach”, International Research Journal of Finance and Economics, Issue

23, 443-454

Sargeaunt, M, 1965, “Operation Research – An introduction”, Macmillan New York

Taha, H., 2008, “Operations Research: An Introduction”, 110001 PHI Learning Private

Limited, New Delhi

Turban, J and T. Meredith, 1991, “Principles of Management Science”, Prentice Hall and

India Private Ltd.

Wagner, H., 2007, “Principles of Operations Research with Application to Managerial

Decision, Prince-Hall of India Private Limited, New Delhi

You might also like