Linear Programming and Simplex Method
Linear Programming and Simplex Method
Simplex Method
Linear programming (LP), also known as linear optimization, represents a powerful
mathematical technique employed to determine the most favorable outcome, such as
maximizing profit or minimizing cost, within a mathematical model where the
relationships between requirements and objectives exhibit linearity.1 It stands as a
specific instance within the broader field of mathematical programming.2 This method
serves as a robust tool for addressing intricate, real-world business challenges by
harnessing the capabilities of mathematics to optimize operational efficiency and
extract the maximum value from finite resources.4 Its application spans over five
decades across a multitude of industries.4
The objective function in linear programming is a linear function designed with the
purpose of either maximization (e.g., profit, revenue) or minimization (e.g., cost, time).2
The specific goal of the problem dictates whether maximization or minimization is
sought.10 The term "linear" in this context implies that the relationship between the
variables within the function is of the first degree.3 Linear functions can be
constructed by combining sums and products of constant resource utilization 12, with
examples provided to illustrate this concept.12 The objective function must be defined
in a quantitative manner 8, and the objective function coefficients represent the
constant terms within this function.10 The ability to either maximize or minimize the
objective function 2 provides linear programming with broad applicability across
various problem types. The fundamental assumption of linearity 3 is essential for
ensuring the mathematical solvability of the problem.
Decision variables are the input variables that can be controlled and represent the
crucial choices that need to be made.3 They are typically denoted using symbols such
as (x_1, x_2, x_3), and so forth.10 In standard Linear Programming models, all variables
are permitted to take on real values, indicating they are continuous.3 However, in
Integer Linear Programming (ILP) models, all variables are constrained to be integers,
while Mixed Integer Linear Programming (MILP) models allow for a combination of
both real and integer variables.3 Decision variables represent the unknown quantities
upon which actions can be taken to identify different feasible solutions to the
problem.3 They ultimately determine the output or the final solution to the problem at
hand.13 The distinction between continuous and integer decision variables 3 is
significant as it influences the complexity of solving the problem and the types of
real-world scenarios that can be accurately modeled.
Constraints are mathematical relationships that describe the conditions that must be
met for a solution to be feasible.3 They serve to differentiate between solutions that
are acceptable and those that are not.3 Constraints can be categorized into three
types: upper limits, where the amount used is less than or equal to the available
resource; lower limits, where the amount used is greater than or equal to a specified
minimum; and equalities, where the amount used must exactly equal the amount of
the resource.9 These constraints are expressed in mathematical form, typically
relating to the resources available 8, and they generally restrict the possible values
that the decision variables can take.13 A fundamental constraint in many linear
programming problems is the non-negativity restriction, which stipulates that decision
variables should always have values greater than or equal to zero.8 The set of all
points that satisfy all the constraints simultaneously defines the feasible region.2
Graphically, this region is represented by the area of intersection of the constraint
lines or planes.9 The optimal solution to the linear programming problem will always be
located within or on the boundary of this feasible region.2 Constraints 3 establish the
boundaries of the problem, ensuring that any potential solution is realistic and
adheres to the given limitations. The feasible region 2 encompasses all valid solutions
to the problem.
Other fields also benefit from LP. In Agriculture, farmers use it for crop planning.8 In
the Energy sector, LP helps optimize electric power systems.8 And in Sports
Scheduling, LP is used to create optimal game schedules.2
The general steps involved in the simplex method are as follows 18:
1. Convert the linear program to standard form: This involves ensuring that the
problem is framed as a maximization problem (or converting it to one), all
constraints are expressed as less-than-or-equal-to inequalities (with the
exception of non-negativity constraints), and all right-hand-side values are
non-negative.18 Slack variables are introduced to transform the inequality
constraints into equality constraints.2
2. Construct the initial simplex tableau: This is a tabular representation of the
system of equations, including the coefficients of the variables in the constraints
and the objective function.18
3. Identify the pivot column: For maximization problems, this is typically the
column with the most negative entry in the bottom row, which represents the
objective function. This indicates the variable that has the greatest potential to
improve the objective function if its value is increased.18 For minimization
problems, the pivot column is usually the one with the most positive entry.66
4. Identify the pivot row: This is determined by calculating the ratios of the values
in the right-hand-side column to the corresponding positive entries in the pivot
column. The row with the smallest non-negative ratio is selected as the pivot
row.18 The element located at the intersection of the pivot row and the pivot
column is known as the pivot element.18
5. Perform pivot operations: Elementary row operations are used to transform the
tableau such that the pivot element becomes 1 and all other entries in the pivot
column become 0.18 This step effectively brings a non-basic variable into the
basis and removes a basic variable from the basis.
6. Check for optimality: After each pivot operation, the bottom row of the tableau
is examined. If all entries in the bottom row (excluding the constant column) are
non-negative for a maximization problem, or non-positive for a minimization
problem, then the current solution is optimal.18 If this condition is not met, the
process returns to step 3.
7. Read off the optimal solution: Once the optimality condition is satisfied, the
values of the basic variables can be directly read from the right-hand-side
column of the tableau. Non-basic variables have a value of zero.18 The optimal
value of the objective function is found in the bottom right corner of the tableau.18
Consider the furniture factory problem: Maximize (Z = 45x_1 + 80x_2) subject to (5x_1
+ 20x_2 \leq 400), (10x_1 + 15x_2 \leq 450), and (x_1, x_2 \geq 0).5 Converting to
standard form yields: Maximize (Z = 45x_1 + 80x_2 + 0h_1 + 0h_2) subject to (5x_1 +
20x_2 + h_1 = 400), (10x_1 + 15x_2 + h_2 = 450), and (x_1, x_2, h_1, h_2 \geq 0).58 The
initial tableau is:
(h_1) 5 20 1 0 0 400
(h_2) 10 15 0 1 0 450
Z -45 -80 0 0 1 0
Iteration 1: Pivot column is (x_2), pivot row is (h_1), pivot element is 20. After pivoting
58
:
Z -25 0 4 0 1 1600
Iteration 2: Pivot column is (x_1), pivot row is (h_2), pivot element is 25/4. After
pivoting 58:
Z 0 0 1 4 1 2200
The final tableau indicates the optimal solution: (x_1 = 24) chairs, (x_2 = 14) tables,
with a maximum revenue of $2200.58 The slack variables (h_1 = 1) and (h_2 = 4) show
unused mahogany and labor, respectively.
Defining the objective function requires determining the overall goal of the problem,
such as maximizing profit or minimizing cost.8 This goal should be expressed as a
linear function of the decision variables, identifying the contribution of each variable
to the objective.3 For example, if the profit per unit of product A is $6 and per unit of
product B is $5, the objective function to maximize profit would be (Z = 6x_A + 5x_B).13
Linear programming and the simplex method offer several advantages. They
guarantee finding the optimal solution if one exists 17 and are generally efficient for
linear problems.2 LP provides insights into complex business problems 17 and offers a
more objective approach to decision-making.17 It aids in optimizing resource use 6,
identifying bottlenecks 17, adapting to changing conditions 17, and performing
sensitivity analysis.9 However, limitations include the assumption of linearity 6,
difficulty with integer solutions 3, potential for degeneracy and cycling 9,
computational challenges with very large problems 22, and its static, single-objective
nature.17
Various software tools and online resources are available for linear programming.
Popular optimization software packages include Gurobi Optimizer 4 and others. These
solvers use efficient algorithms 5, with Gurobi noted for its performance.5
Programming libraries in Python like PuLP, CVXOPT, SciPy, and GEKKO can also be
used.25 Online simplex method calculators can aid learning and solve small problems.73
Advanced topics in linear programming include duality theory, which explores the
relationship between primal and dual problems and offers economic interpretations.2
Integer Linear Programming (ILP) and Mixed Integer Linear Programming (MILP)
handle problems with integer constraints.3 Other related optimization techniques
include interior-point methods for large-scale LP, nonlinear programming, and
constraint programming.2
Works cited