0% found this document useful (0 votes)
60 views15 pages

Simplex Method: 4 Year - Report in Optimization Technique

This document summarizes a student report on the simplex method for optimization techniques. The simplex method is an algebraic procedure that uses repetitive operations to find the optimal solution to a linear programming problem. The report provides an overview of the simplex method, describes how to transform problems into standard form, explains the pivot operations used in the algorithm, and discusses applications of the simplex method. The objective of the report is to explain how the simplex method works to solve linear programming problems.

Uploaded by

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

Simplex Method: 4 Year - Report in Optimization Technique

This document summarizes a student report on the simplex method for optimization techniques. The simplex method is an algebraic procedure that uses repetitive operations to find the optimal solution to a linear programming problem. The report provides an overview of the simplex method, describes how to transform problems into standard form, explains the pivot operations used in the algorithm, and discusses applications of the simplex method. The objective of the report is to explain how the simplex method works to solve linear programming problems.

Uploaded by

Haider
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Republic of Iraq

Ministry of Higher Education


& Scientific Research
AL-Nahrain University
Information Engineering College
Systems Engineering Department

Simplex method
4th year - Report
in
Optimization technique

By
Haider Hashim Dkhikh

Supervised by
Dr. Asmaa Hameed

July 2020
Abstract

Simplex method is an algebraic procedure in which a series of repetitive

operations are used to reach at the optimal solution. Therefore, this procedure has a

number of steps to find out a solution of the problem. There may be any number of

variables and constraint in the problem, however, it is very tough to solve manually,

when there are more than 4 variables. It requires a computer for large number of

variables.

Haider Hashim 2|Page


List of contents
Abstract 2
List of Contents 3
List of Figures 3

Chapter 1: Introduction 4
1.1 Overview 4
1.2 Objective 6
1.3 History 6

Chapter 2: Algorithm and Applications 7


2.1 Standard form 7
2.2 Simplex tableau 8
2.3 Pivot operations 9
2.4 Algorithm 10
2.5 Application 11

Chapter 3: Discussion and Conclusions 13


3.1 Discussion 13
3.2 Summary and Conclusion 14
REFERENCES 15

List of Figures
Figure Title Page
No. No.
1-1 A system of linear inequalities defines a polytope as a feasible 5
region.
1-2 Polyhedron of simplex algorithm in 3D 5
2-1 Flowchart for finding the optimal solution by the simplex 10
algorithm

Haider Hashim 3|Page


Chapter 1
Introduction

1.1 Overview

In mathematical optimization, Dantzig's simplex algorithm (or simplex method)


is a popular algorithm for linear programming. [1]
The name of the algorithm is derived from the concept of a simplex and was suggested
by T. S. Motzkin. [2] Simplices are not actually used in the method, but one
interpretation of it is that it operates on simplicial cones, and these become proper
simplices with an additional constraint. [3] [4] [5] The simplicial cones in question are
the corners (i.e., the neighborhoods of the vertices) of a geometric object called a
polytope. The shape of this polytope is defined by the constraints applied to the
objective function. [6]
The simplex algorithm operates on linear programs in the canonical form
Maximize 𝐜𝐓𝐱
subject to 𝐴𝐱 ≤ 𝐛 and 𝐱 ≥ 0

with 𝐜 = (𝑐1 , … , 𝑐𝑛 ) the coefficients of the objective function, (⋅)T is the matrix
transpose, and 𝐱 = (𝑥1 , … , 𝑥𝑛 ) are the variables of the problem, (A) is a p×n matrix,
and 𝐛 = (𝑏1 , … , 𝑏𝑝 ) are nonnegative constants (∀𝑗, 𝑏𝑗 ≥ 0). There is a straightforward
process to convert any linear program into one in standard form, so using this form of
linear programs results in no loss of generality.
In geometric terms, the feasible region defined by all values of (X) such that 𝐴𝐱 ≤ 𝐛
and ∀𝑖, 𝑥𝑖 ≥ 0 is a (possibly unbounded) convex polytope. An extreme point or vertex
of this polytope is known as basic feasible solution (BFS).
It can be shown that for a linear program in standard form, if the objective function has
a maximum value on the feasible region, then it has this value on (at least) one of the
extreme points. [7] This in itself reduces the problem to a finite computation since there
is a finite number of extreme points, but the number of extreme points is unmanageably
large for all but the smallest linear programs. [8]

Haider Hashim 4|Page


It can also be shown that, if an extreme point is not a maximum point of the objective
function, then there is an edge containing the point so that the objective function is
strictly increasing on the edge moving away from the point. [9] If the edge is finite,
then the edge connects to another extreme point where the objective function has a
greater value, otherwise the objective function is unbounded above on the edge and the
linear program has no solution. The simplex algorithm applies this insight by walking
along edges of the polytope to extreme points with greater and greater objective values.
This continues until the maximum value is reached, or an unbounded edge is visited
(concluding that the problem has no solution). The algorithm always terminates
because the number of vertices in the polytope is finite; moreover, since we jump
between vertices always in the same direction (that of the objective function), we hope
that the number of vertices visited will be small. [9]

The solution of a linear program is accomplished in two steps. In the first step, known
as Phase I, a starting extreme point is found. Depending on the nature of the program
this may be trivial, but in general it can be solved by applying the simplex algorithm
to a modified version of the original program. The possible results of Phase I are either
that a basic feasible solution is found or that the feasible region is empty. [10] [11] [12]

Figure (1-1): A system of linear inequalities Figure (1-2): Polyhedron of simplex


defines a polytope as a feasible region. algorithm in 3D

Haider Hashim 5|Page


1.2 Objective
The simplex method is used to eradicate the issues in linear programming. It
examines the feasible set's adjacent vertices in sequence to ensure that, at every new
vertex, the objective function increases or is unaffected. In general, the simplex method
is extremely powerful, which usually takes 2m to 3m iterations at the most (here, m
denotes the range of equality constraints), and it converges in anticipated polynomial
time for specific distributions of random input.
The simplex method uses a systematic strategy to generate and test candidate vertex
solutions to a linear program. At every iteration, it chooses the variable that can make
the biggest modification toward the minimum solution. That variable then replaces one
of its coverable, which is most drastically limiting it, thereby shifting the simplex
method to another part of the solution set and toward the final solution.
Furthermore, the simplex method is able to evaluate whether no solution actually
exists. It can be observed that the algorithm is greedy as it opts for the best option at
every iteration, with no demand for information from earlier or forthcoming iterations.
Sometimes, the principal data structure applied by the simplex method is referred to as
a dictionary. Dictionaries include an illustration of the equations set that are properly
fine tuned to the existing basis. Dictionaries can be used to offer an intuitive
comprehension of why all variables enter and leave the basis.

1.3 History
George Dantzig worked on planning methods for the US Army Air Force during
World War II using a desk calculator. During 1946 his colleague challenged him to
mechanize the planning process to distract him from taking another job. Dantzig
formulated the problem as linear inequalities inspired by the work of Wassily Leontief,
however, at that time he didn't include an objective as part of his formulation. Without
an objective, a vast number of solutions can be feasible, and therefore to find the "best"
feasible solution, military-specified "ground rules" must be used that describe how
goals can be achieved as opposed to specifying a goal itself. Dantzig's core insight was
to realize that most such ground rules can be translated into a linear objective function
that needs to be maximized. [13] Development of the simplex method was evolutionary
and happened over a period of about a year. [13]

Haider Hashim 6|Page


Chapter 2

Algorithm and Applications

2.1 Standard form


The transformation of a linear program to one in standard form may be accomplished
as follows. [14] First, for each variable with a lower bound other than 0, a new variable
is introduced representing the difference between the variable and bound. The original
variable can then be eliminated by substitution. For example, given the constraint
𝑥1 ≥ 5
a new variable, (y1), is introduced with
𝑦1 = 𝑥1 − 5
𝑥1 = 𝑦1 + 5
The second equation may be used to eliminate (x1) from the linear program. In this
way, all lower bound constraints may be changed to non-negativity restrictions.
Second, for each remaining inequality constraint, a new variable, called a slack
variable, is introduced to change the constraint to an equality constraint. This variable
represents the difference between the two sides of the inequality and is assumed to be
non-negative. For example, the inequalities
𝑥2 + 2𝑥3 ≤ 3
−𝑥4 + 3𝑥5 ≥ 2
are replaced with
𝑥2 + 2𝑥3 + 𝑠1 =3
−𝑥4 + 3𝑥5 − 𝑠2 =2
𝑠1 , 𝑠2 ≥0
It is much easier to perform algebraic manipulation on inequalities in this form. In
inequalities where ≥ appears such as the second one, some authors refer to the variable
introduced as a surplus variable.

Third, each unrestricted variable is eliminated from the linear program. This can be
done in two ways, one is by solving for the variable in one of the equations in which it
appears and then eliminating the variable by substitution. The other is to replace the

Haider Hashim 7|Page


variable with the difference of two restricted variables. For example, if (z1) is
unrestricted then write
𝑧1 = 𝑧1+ − 𝑧1−
𝑧1+ , 𝑧1− ≥ 0
The equation may be used to eliminate (z1) from the linear program.
When this process is complete the feasible region will be in the form
𝐀𝐱 = 𝐛, ∀𝑖𝑥𝑖 ≥ 0
It is also useful to assume that the rank of (A) is the number of rows. This results in no
loss of generality since otherwise either the system (Ax=b) has redundant equations
which can be dropped, or the system is inconsistent and the linear program has no
solution. [12]

2.2 Simplex tableau


A linear program in standard form can be represented as a tableau of the form

The first row defines the objective function and the remaining rows specify the
constraints. The zero in the first column represents the zero vector of the same
dimension as vector b. (Different authors use different conventions as to the exact
layout.) If the columns of A can be rearranged so that it contains the identity matrix of
order p (the number of rows in A) then the tableau is said to be in canonical form. [14]
The variables corresponding to the columns of the identity matrix are called basic
variables while the remaining variables are called nonbasic or free variables. If the
values of the nonbasic variables are set to 0, then the values of the basic variables are
easily obtained as entries in b and this solution is a basic feasible solution. The
algebraic interpretation here is that the coefficients of the linear equation represented
by each row are either 0,1, or some other number. Each row will have 1 column with
value 1, p -1 columns with coefficients 0, and the remaining columns with some other
coefficients (these other variables represent our non-basic variables). By setting the
values of the non-basic variables to zero we ensure in each row that the value of the
variable represented by a 1 in its column is equal to the b value at that row.

Haider Hashim 8|Page


Conversely, given a basic feasible solution, the columns corresponding to the nonzero
variables can be expanded to a nonsingular matrix. If the corresponding tableau is
multiplied by the inverse of this matrix, then the result is a tableau in canonical form.
[19]
Let

be a tableau in canonical form. Additional row-addition transformations can be applied


to remove the coefficients 𝑐𝐵⊤ from the objective function. This process is called
pricing out and results in a canonical tableau

where 𝑧𝐵 is the value of the objective function at the corresponding basic feasible
solution. The updated coefficients, also known as relative cost coefficients, are the rates
of change of the objective function with respect to the nonbasic variables. [11]

2.3 Pivot operations


The geometrical operation of moving from a basic feasible solution to an
adjacent basic feasible solution is implemented as a pivot operation. First, a nonzero
pivot element is selected in a nonbasic column. The row containing this element is
multiplied by its reciprocal to change this element to 1, and then multiples of the row
are added to the other rows to change the other entries in the column to 0. The result is
that, if the pivot element is in row r, then the column becomes the r-th column of the
identity matrix. The variable for this column is now a basic variable, replacing the
variable which corresponded to the r-th column of the identity matrix before the
operation. In effect, the variable corresponding to the pivot column enters the set of
basic variables and is called the entering variable, and the variable being replaced
leaves the set of basic variables and is called the leaving variable. The tableau is still
in canonical form but with the set of basic variables changed by one element. [10] [11]

Haider Hashim 9|Page


2.4 Algorithm
Let a linear program be given by a canonical tableau. The simplex algorithm
proceeds by performing successive pivot operations each of which give an improved
basic feasible solution; the choice of pivot element at each step is largely determined
by the requirement that this pivot improves the solution.

Figure (2-1): Flowchart for finding the optimal solution by the simplex algorithm.

Haider Hashim 10 | P a g e
2.5 Application
Most applications of the simplex method are fairly straightforward, subject to
the availability of the data in the correct form. The restrictions on time, materials,
money and other resources can usually be written as equations or inequalities as
linear functions of the variables. The objective function is also often linear in these
variables. Occasionally the variable that is used must be changed: instead of the
amount of each product which is made being the variable it is necessary to use
another measure, e.g. the time a machine is used, or the quantity of raw material, or
the proportions that are mixed. This change of variable is sometimes difficult to see
and this chapter gives some unusual applications.
Example: Business Application: Maximum Profit

Solution:

Haider Hashim 11 | P a g e
This method is general and can be applied to any experimental work involving
optimization of an unknown function depending on several variables.

Haider Hashim 12 | P a g e
Chapter 3

Discussion, Conclusions and Result

3.1 Discussion
Summary of The simplex method demonstrated in the previous section consists
of the following steps:

Haider Hashim 13 | P a g e
3.2 Conclusions and Result

When there is more than one scarce input factor, linear programming can be used

to determine the production programming which maximize total contribution. This

information can be obtained by using Simplex method. The Simplex method has the

added advantage that it provides details of the opportunity costs and the marginal rates

of substitution for the scarce resources. Linear programming can be applied to a variety

of management accounting problems. In particular, the technique enables the relevant

costs of production inputs to be computed. This information can be used for decision-

making, standard costing variance analysis and the setting of transfer prices in

divisionalized companies. It can also be applied to capital budgeting in multi-period

capital rationing situations. Linear programming has a number of limitations when

applied to real world situations but some of these problems can be overcome by

establishing more complex models and using integer programming techniques.

Haider Hashim 14 | P a g e
References
[1]. Stone, Richard E.; Tovey, Craig A. (1991). "The simplex and projective
scaling algorithms as iteratively reweighted least squares methods". SIAM
Review. 33 (2): 220–237.
[2]. Murty, Katta G. Linear programming. John Wiley & Sons Inc.1, 2000.
[3]. G. B. Dantzig, Linear Programming and Extensions, Princeton University
Press, Princeton, NJ, 1963. 3.2 W. J. Adams, A. Gewirtz, and L. V. Quintas,
Elements of Linear Programming, Van Nostrand Reinhold, New York, 1969.
W.W. Garvin, Introduction to Linear Programming, McGraw-Hill, New York,
1960.
[4]. S. I. Gass, Linear Programming: Methods and Applications, 5th ed., McGraw-
Hill, NewYork, 1985. 3.5 G. Hadley, Linear Programming, Addison-Wesley,
Reading, MA, 1962.
[5]. Vajda, An Introduction to Linear Programming and the Theory of Games,
Wiley, NewYork, 1960.
[6]. W. Orchard-Hays, Advanced Linear Programming Computing Techniques,
McGraw-Hill,
[7]. New York, 1968. 3.8 S. I. Gass, An Illustrated Guide to Linear Programming,
McGraw-Hill, New York, 1970. 3.9 M. F. Rubinstein and J. Karagozian, building
design using linear programming,
[8]. Journal of the Structural Division, Proceedings of ASCE, Vol. 92, No. ST6,
pp. 223−245, Dec.1966. T. Au, Introduction to Systems Engineering:
Deterministic Models, Addison-Wesley, Reading, MA, 1969.
[9]. H. A. Taha, Operations Research: An Introduction, 5th ed., Macmillan, New
York, 1992. 3.12 W. F. Stoecker, Design of Thermal Systems, 3rd ed., McGraw-
Hill, New York, 1989.
[10]. W. L. Winston, Operations Research: Applications and Algorithms, 2nd ed.,
PWS-Kent, Boston, 1991.
[11]. R. M. Stark and R. L. Nicholls, Mathematical Foundations for Design: Civil
Engineering Systems, McGraw-Hill, New York, 1972.
[12]. N. Karmarkar, A new polynomial-time algorithm for linear programming,
Combinatorica, Vol. 4, No. 4, pp. 373−395, 1984.
[13]. A. Maass et al., Design of Water Resources Systems, Harvard University Press,
Cambridge, MA, 1962.
[14]. Pan P Q 2000 Primal perturbation simplex algorithms for linear programming
J. Comput. Math. 18 587–96

Haider Hashim 15 | P a g e

You might also like