Library homepage

  • school Campus Bookshelves
  • menu_book Bookshelves
  • perm_media Learning Objects
  • login Login
  • how_to_reg Request Instructor Account
  • hub Instructor Commons
  • Download Page (PDF)
  • Download Full Book (PDF)
  • Periodic Table
  • Physics Constants
  • Scientific Calculator
  • Reference & Cite
  • Tools expand_more
  • Readability

selected template will load here

This action is not available.

Mathematics LibreTexts

4.3: Minimization By The Simplex Method

Learning Objectives

In this section, you will learn to solve linear programming minimization problems using the simplex method.

In this section, we will solve the standard linear programming minimization problems using the simplex method. Once again, we remind the reader that in the standard minimization problems all constraints are of the form \(ax + by ≥ c\).

The procedure to solve these problems was developed by Dr. John Von Neuman. It involves solving an associated problem called the dual problem . To every minimization problem there corresponds a dual problem. The solution of the dual problem is used to find the solution of the original problem. The dual problem is a maximization problem, which we learned to solve in the last section. We first solve the dual problem by the simplex method.

From the final simplex tableau, we then extract the solution to the original minimization problem.

Before we go any further, however, we first learn to convert a minimization problem into its corresponding maximization problem called its dual .

Example \(\PageIndex{1}\)

Convert the following minimization problem into its dual.

\[\begin{array}{ll} \textbf { Minimize } & \mathrm{Z}=12 \mathrm{x}_{1}+16 \mathrm{x}_{2} \\ \textbf { Subject to: } & \mathrm{x}_{1}+2 \mathrm{x}_{2} \geq 40 \\ & \mathrm{x}_{1}+\mathrm{x}_2 \geq 30 \\ & \mathrm{x}_{1} \geq 0 ; \mathrm{x}_{2} \geq 0 \end{array} \nonumber \]

To achieve our goal, we first express our problem as the following matrix.

\[\begin{array}{cc|c} 1 & 2 & 40 \\ 1 & 1 & 30 \\ \hline 12 & 16 & 0 \end{array} \nonumber \]

Observe that this table looks like an initial simplex tableau without the slack variables. Next, we write a matrix whose columns are the rows of this matrix, and the rows are the columns. Such a matrix is called a transpose of the original matrix. We get:

\[\begin{array}{cc|c} 1 & 1 & 12 \\ 2 & 1 & 16 \\ \hline 40 & 30 & 0 \end{array} \nonumber \]

The following maximization problem associated with the above matrix is called its dual.

\[\begin{array}{ll} \textbf { Maximize } & \mathrm{Z}=40 \mathrm{y}_{1}+30 \mathrm{y}_{2} \\ \textbf { Subject to: } & \mathrm{y}_{1}+\mathrm{y}_{2} \leq 12 \\ & 2 \mathrm{y}_1+\mathrm{y}_2 \leq 16 \\ & \mathrm{y}_{1} \geq 0 ; \mathrm{y}_{2} \geq 0 \end{array} \nonumber \]

Note that we have chosen the variables as y's, instead of x's, to distinguish the two problems.

Example \(\PageIndex{2}\)

Solve graphically both the minimization problem and its dual maximization problem.

Our minimization problem is as follows.

\[\begin{array}{ll} \textbf { Minimize } & \mathrm{Z}=12 \mathrm{x}_1+16 \mathrm{x}_2 \\ \textbf { Subject to: } & \mathrm{x}_{1}+2 \mathrm{x}_{2} \geq 40 \\ & \mathrm{x}_{1}+\mathrm{x}_{2} \geq 30 \\ & \mathrm{x}_{1} \geq 0 ; \mathrm{x}_{2} \geq 0 \end{array} \nonumber \]

We now graph the inequalities:

imageedit_3_7200556551.png

We have plotted the graph, shaded the feasibility region, and labeled the corner points. The corner point (20, 10) gives the lowest value for the objective function and that value is 400.

Now its dual is:

\[\begin{array}{ll} \textbf { Maximize } & \mathrm{Z}=40 \mathrm{y}_1+30 \mathrm{y}_{2} \\ \textbf { Subject to: } & \mathrm{y}_{1}+\mathrm{y}_{2} \leq 12 \\ & 2 \mathrm{y}_1+\mathrm{y} 2 \leq 16 \\ & \mathrm{y}_{1} \geq 0 ; \mathrm{y}_{2} \geq 0 \end{array}\nonumber \]

We graph the inequalities:

imageedit_6_8472935815.png

Again, we have plotted the graph, shaded the feasibility region, and labeled the corner points. The corner point (4, 8) gives the highest value for the objective function, with a value of 400.

The reader may recognize that Example \(\PageIndex{2}\) above is the same as Example 3.1.1, in section 3.1. It is also the same problem as Example 4.1.1 in section 4.1, where we solved it by the simplex method.

We observe that the minimum value of the minimization problem is the same as the maximum value of the maximization problem; in Example \(\PageIndex{2}\) the minimum and maximum are both 400. This is not a coincident. We state the duality principle.

The Duality Principle

The objective function of the minimization problem reaches its minimum if and only if the objective function of its dual reaches its maximum. And when they do, they are equal.

Our next goal is to extract the solution for our minimization problem from the corresponding dual. To do this, we solve the dual by the simplex method.

Example \(\PageIndex{3}\)

Find the solution to the minimization problem in Example \(\PageIndex{1}\) by solving its dual using the simplex method. We rewrite our problem.

\[\begin{array}{ll} \textbf { Minimize } & \mathrm{Z}=12 \mathrm{x}_{1}+16 \mathrm{x}_{2} \\ \textbf { Subject to: } & \mathrm{x}_{1}+2 \mathrm{x}_{2} \geq 40 \\ & \mathrm{x}_{1}+\mathrm{x}_{2} \geq 30 \\ & \mathrm{x}_{1} \geq 0 ; \mathrm{x}_{2} \geq 0 \end{array} \nonumber \]

\[\begin{array}{ll} \textbf { Maximize } & \mathrm{Z}=40 \mathrm{y}_{1}+30 \mathrm{y}_{2} \\ \textbf { Subject to: } & \mathrm{y}_{1}+\mathrm{y}_{2} \leq 12 \\ & 2 \mathrm{y}_{1}+\mathrm{y}_{2} \leq 16 \\ & \mathrm{y}_{1} \geq 0 ; \mathrm{y}_{2} \geq 0 \end{array} \nonumber \]

Recall that we solved the above problem by the simplex method in Example 4.1.1, section 4.1. Therefore, we only show the initial and final simplex tableau.

The initial simplex tableau is

\[\begin{array}{ccccc|c} \mathrm{y}_1 & \mathrm{y}_2 & \mathrm{x}_{1} & \mathrm{x}_{2} & \mathrm{Z} & \mathrm{C} \\ 1 & 1 & 1 & 0 & 0 & 12 \\ 2 & 1 & 0 & 1 & 0 & 16 \\ \hline-40 & -30 & 0 & 0 & 1 & 0 \end{array}\nonumber \]

Observe an important change. Here our main variables are \(\mathrm{y}_1\) and \(\mathrm{y}_2\) and the slack variables are \(\mathrm{x}_1 and \mathrm{x}_2\).

The final simplex tableau reads as follows:

\[\begin{array}{ccccc|c} \mathrm{y}_1 & \mathrm{y}_2 & \mathrm{x}_{1} & \mathrm{x}_{2} & \mathrm{Z} & \\ 0 & 1 & 2 & -1 & 0 & 8 \\ 1 & 0 & -1 & 1 & 0 & 4 \\ \hline 0 & 0 & 20 & 10 & 1 & 400 \end{array} \nonumber \]

A closer look at this table reveals that the \(\mathrm{x}_1\) and \(\mathrm{x}_2\) values along with the minimum value for the minimization problem can be obtained from the last row of the final tableau. We have highlighted these values by the arrows.

\[\begin{array}{ccccc|c} \mathrm{y}_1 & \mathrm{y}_2 & \mathrm{x}_{1} & \mathrm{x}_{2} & \mathrm{Z} & \\ 0 & 1 & 2 & -1 & 0 & 8 \\ 1 & 0 & -1 & 1 & 0 & 4 \\ \hline 0 & 0 & 20 & 10 & 1 & 400 \\ & & \uparrow & \uparrow & & \uparrow \end{array} \nonumber \]

We restate the solution as follows:

The minimization problem has a minimum value of 400 at the corner point (20, 10)

We now summarize our discussion.

Minimization by the Simplex Method

Analytics Vidhya

Analytics Vidhya

Swapnil Bandgar

May 28, 2021

Explanation of Simplex Method for Minimization.

Introduction.

The Simplex method is an approach to solving linear programming models by hand using slack variables, tableaus, and pivot variables as a means to finding the optimal solution of an optimization problem. A linear program is a method of achieving the best outcome given a maximum or minimum equation with linear constraints. Most linear programs can be solved using an online solver such as MatLab, but the Simplex method is a technique for solving linear programs by hand. To solve a linear programming model using the Simplex method the following steps are necessary:

● Standard form

● Introducing slack variables

● Creating the tableau

● Pivot variables

● Creating a new tableau

● Checking for optimality

● Identify optimal values

This document breaks down the Simplex method into the above steps and follows the example linear programming model shown below throughout the entire document to find the optimal solution.

Step 1: Standard Form

Standard form is the baseline format for all linear programs before solving for the optimal solution and has three requirements: (1) must be a maximization problem, (2) all linear constraints must be in a less-than-or-equal-to inequality, (3) all variables are non-negative. These requirements can always be satisfied by transforming any given linear program using basic algebra and substitution. A standard form is necessary because it creates an ideal starting point for solving the Simplex method as efficiently as possible as well as other methods of solving optimization problems.

To transform a minimization linear program model into a maximization linear program model, simply multiply both the left and the right sides of the objective function by -1.

Transforming linear constraints from a greater-than-or-equal-to inequality to a less-than-or-equal-to inequality can be done similarly as what was done to the objective function. By multiplying by -1 on both sides, the inequality can be changed to less-than-or-equal-to.

Once the model is in standard form, the slack variables can be added as shown in Step 2 of the Simplex method.

Step 2: Determine Slack Variables

Slack variables are additional variables that are introduced into the linear constraints of a linear program to transform them from inequality constraints to equality constraints. If the model is in standard form, the slack variables will always have a +1 coefficient. Slack variables are needed in the constraints to transform them into solvable equalities with one definite answer.

After the slack variables are introduced, the tableau can be set up to check for optimality as described in Step 3.

Step 3: Setting up the Tableau

A Simplex tableau is used to perform row operations on the linear programming model as well as to check a solution for optimality. The tableau consists of the coefficient corresponding to the linear constraint variables and the coefficients of the objective function. In the tableau below, the bolded top row of the tableau states what each column represents. The following two rows represent the linear constraint variable coefficients from the linear programming model, and the last row represents the objective function variable coefficients.

Once the tableau has been completed, the model can be checked for an optimal solution as shown in Step 4.

Step 4: Check Optimality

The optimal solution of a maximization linear programming model is the values assigned to the variables in the objective function to give the largest zeta value. The optimal solution would exist on the corner points of the graph of the entire model. To check optimality using the tableau, all values in the last row must contain values greater than or equal to zero. If a value is less than zero, it means that the variable has not reached its optimal value. As seen in the previous tableau, three negative values exist in the bottom row indicating that this solution is not optimal. If a tableau is not optimal, the next step is to identify the pivot variable to base a new tableau on, as described in Step 5.

Step 5: Identify Pivot Variable

The pivot variable is used in row operations to identify which variable will become the unit value and is a key factor in the conversion of the unit value. The pivot variable can be identified by looking at the bottom row of the tableau and the indicator. Assuming that the solution is not optimal, pick the smallest negative value in the bottom row. One of the values lying in the column of this value will be the pivot variable. To find the indicator, divide the beta values of the linear constraints by their corresponding values from the column containing the possible pivot variable. The intersection of the row with the smallest non-negative indicator and the smallest negative value in the bottom row will become the pivot variable.

In the example shown below, -10 is the smallest negative in the last row. This will designate the x2 column to contain the pivot variable. Solving for the indicator gives us a value of 10/3 for the first constraint and a value of 8/5 for the second constraint. Due to being the smallest non-negative indicator, the pivot value will be in the second row and have a value of 5.

Now that the new pivot variable has been identified, the new tableau can be created in Step 6 to optimize the variable and find the new possible optimal solution.

Step 6: Create the New Tableau

The new tableau will be used to identify a new possible optimal solution. Now that the pivot variable has been identified in Step 5, row operations can be performed to optimize the pivot variable while keeping the rest of the tableau equivalent.

I. To optimize the pivot variable, it will need to be transformed into a unit value (value of 1). To transform the value, multiply the row containing the pivot variable by the reciprocal of the pivot value. In the example below, the pivot variable is originally 5, so multiply the entire row by 1/5

II. After the unit value has been determined, the other values in the column containing the unit value will become zero. This is because the x2 in the second constraint is being optimized, which requires x2 in the other equations to be zero.

III. In order to keep the tableau equivalent, the other variables not contained in the pivot column or pivot row must be calculated by using the new pivot values. For each new value, multiply the negative of the value in the old pivot column by the value in the new pivot row that corresponds to the value being calculated. Then add this to the old value from the old tableau to produce the new value for the new tableau. This step can be condensed into the equation on the next page:

New tableau value = (Negative value in old tableau pivot column) x (value in new tableau pivot row) + (Old tableau value)

Old Tableau:

New Tableau:

Numerical examples are provided below to help explain this concept a little better.

Numerical examples:

I. To find the s2 value in row 1:

New tableau value = (Negative value in old tableau pivot column) * (value in new tableau pivot row) + (Old tableau value)

New tableau value = (-3) * (1/5) + 0 = — 3/5

II. To find the x1 variable in row 3:

New value = (10) * (1/5) + -8 = -6

Once the new tableau has been completed, the model can be checked for an optimal solution.

Step 7: Check Optimality

As explained in Step 4, the optimal solution of a maximization linear programming model are the values assigned to the variables in the objective function to give the largest zeta value. Optimality will need to be checked after each new tableau to see if a new pivot variable needs to be identified. A solution is considered optimal if all values in the bottom row are greater than or equal to zero. If all values are greater than or equal to zero, the solution is considered optimal, and Steps 8 through 11 can be ignored. If negative values exist, the solution is still not optimal and a new pivot point will need to be determined which is demonstrated in Step 8.

Step 8: Identify New Pivot Variable

If the solution has been identified as not optimal, a new pivot variable will need to be determined. The pivot variable was introduced in Step 5 and is used in row operations to identify which variable will become the unit value and is a key factor in the conversion of the unit value. The pivot variable can be identified by the intersection of the row with the smallest non-negative indicator and the smallest negative value in the bottom row.

With the new pivot variable identified, the new tableau can be created in Step 9.

Step 9: Create New Tableau

After the new pivot variable has been identified, a new tableau will need to be created. Introduced in Step 6, the tableau is used to optimize the pivot variable while keeping the rest of the tableau equivalent.

I. Make the pivot variable 1 by multiplying the row containing the pivot variable by the reciprocal of the pivot value. In the tableau below, the pivot value was 1/5, so everything is multiplied by 5.

II. Next, make the other values in the column of the pivot variable zero. This is done by taking the negative of the old value in the pivot column and multiplying it by the new value in the pivot row. That value is then added to the old value that is being replaced.

Step 10: Check Optimality

Using the new tableau, check for optimality. Explained in Step 4, an optimal solution appears when all values in the bottom row are greater than or equal to zero. If all values are greater than or equal to zero, skip to Step 12 because optimality has been reached. If negative values still exist, repeat steps 8 and 9 until an optimal solution is obtained.

Step 11: Identify Optimal Values

Once the tableau is proven optimal the optimal values can be identified. These can be found by distinguishing the basic and non-basic variables. A basic variable can be classified to have a single 1 value in its column and the rest be all zeros. If a variable does not meet this criteria, it is considered non-basic. If a variable is non-basic it means the optimal solution of that variable is zero. If a variable is basic, the row that contains the 1 value will correspond to the beta value. The beta value will represent the optimal solution for the given variable.

Basic variables: x1, s1, z

Non-basic variables: x2, x3, s2

For the variable x1, the 1 is found in the second row. This shows that the optimal x1 value is found in the second row of the beta values, which is 8.

Variable s1 has a 1 value in the first row, showing the optimal value to be 2 from the beta column. Due to s1 being a slack variable, it is not actually included in the optimal solution since the variable is not contained in the objective function.

The zeta variable has a 1 in the last row. This shows that the maximum objective value will be 64 from the beta column.

The final solution shows each of the variables having values of:

Let’s put this values in minimization equation :

The maximum optimal value is 64 and found at (8, 0, 0) of the objective function.

The Simplex method is an approach for determining the optimal value of a linear program by hand. The method produces an optimal solution to satisfy the given constraints and produce a maximum zeta value. To use the Simplex method, a given linear programming model needs to be in standard form, where slack variables can then be introduced. Using the tableau and pivot variables, an optimal solution can be reached. From the example worked throughout this document, it can be determined that the optimal objective value is 64 and can be found when x1=8, x2=0, and x3=0 .

Basic variables are variables that are non-negative in terms of the optimal solution.

Constraints are a series of equalities and inequalities that are a set of criteria necessary to satisfy when finding the optimal solution.

Inequality is an expression that does not have one definite solution and is distinguishable by its ‘greater than’ or ‘less than’ symbols in the place of a traditional equal sign.

Linear program is a model used to achieve the best outcome given a maximum or minimum equation with linear constraints.

Non-basic variables are variables that are zero in terms of the optimal solution.

Optimal solution of a maximization linear programming model are the values assigned to the variables in the objective function to give the largest zeta value. The optimal solution would exist on the corner points of the graph of the entire model.

Pivot variable is used in row operations to identify which variable will become the unit value and is a key factor in the conversion of the unit value.

Simplex method is an approach to solving linear programming models by hand using slack variables, tableaus, and pivot variables as a means to finding the optimal solution of an optimization problem.

Simplex tableau is used to perform row operations on the linear programming model as well as for checking optimality.

Slack variables are additional variables that are introduced into the linear constraints of a linear program to transform them from inequality constraints to equality constraints.

Standard form is the baseline format for all linear programs before solving for the optimal solution.

Reference: https://math.libretexts.org/ , Book: Blitzer, Thinking Mathematically | Pearson.

More from Analytics Vidhya

Analytics Vidhya is a community of Analytics and Data Science professionals. We are building the next-gen data science ecosystem https://www.analyticsvidhya.com

About Help Terms Privacy

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store

Swapnil Bandgar

Code is like humor. When you have to explain it, it’s bad. Connect with me on LinkedIn : https://www.linkedin.com/in/imswapnilb

Text to speech

Your Questions Answered

Section 4.4 Question 3

How do you apply the simplex method to a standard minimization problem.

Example 2 illustrates how to convert a standard minimization problem into a standard maximization problem. These problems are called the dual of each other. The solutions of the dual problems are related and can be exploited to solve both problems simultaneously.

Let’s look at the solution of each linear programming problem graphically. For each problem, let’s look at a graph of the feasible region and a table of corner points with corresponding objective function values. From the table, we see that the solutions share the same objective function value at their respective solutions.

Although the corner points yielding the maximum or minimum are not the same, the value of the objective function at the optimal corner point is the same, 100. In other words,

Another connection between the dual problems is evident if we apply the Simplex Method to the dual maximization problem

If we rearrange the objective function and add slack variables to the constraints, we get the system of equations

This system corresponds to the initial simplex tableau shown below. The pivot column is the second column and the quotients can be formed to yield

The pivot for this tableau is the 3 in the first row, second column. If we multiply the first row by 1 / 3 , the pivot becomes a 1  and results in the tableau

The first simplex iteration is completed by creating zeros in the rest of the pivot column. To change these entries, multiply the first row by -4 and add it to the second row. Then multiply the first row by 24 and add it to the third row.

Now that the pivot is a one and the rest of the pivot column are zeros, look at the indicator row to see if another Simplex Method iteration is needed. Since the entry in the first column of the indicator row, -8 , is negative, we make the first column the new pivot column.

The quotients for each row of the tableau are formed below:

The smallest ratio is in the second row. The pivot, 8 / 3 , must be changed to a 1  by multiplying the second row by ,

Once the pivot is a one, row operations are used to change the rest of the pivot column to zeros.

The entry in the first row of the pivot column is

changed to a zero by placing the sum – 1 / 3 of times the second row and the first row in the first row. The entry in the third row of the pivot column is changed to a zero by placing the sum of 8 times the second row and the third row in the third row,

Since the indicator row no longer contains any negative entries, we have reached the final tableau. If we examine the final simplex tableau carefully, we can see the solution to the standard maximization problem and the standard minimization problem:

The final simplex tableau gives the solution to the standard maximization problem and the solution to the corresponding dual standard minimization problem. This means that as long as we can solve the standard maximization problem with the Simplex Method, we get the solution to the dual standard minimization problem for free. This suggests a strategy for solving standard minimization problems.

Example 3    Find the Optimal Solution

In Section 4.2 , we solved the linear programming problem

using a graph. In Example 2 , we found the associated dual maximization problem,

Apply the Simplex Method to this dual problem to solve the minimization problem.

Solution In Example 1 and Example 2 we wrote this problem as a standard minimization problem and found the dual maximization problem. In this example, we’ll take the dual problem,

and apply the Simplex Method.

The initial simplex tableau is formed from the system of equations

Notice that the slack variables s 1 and s 2 are included in the equations corresponding to the constraints, and the objective function has been rearranged appropriately.

The initial tableau is

The most negative entry in the indicator row is -32 , so the second column is the pivot column. Now calculate the quotients to find the pivot row,

The smallest quotient corresponds to putting the pivot in the second row, second column. To change the entry in this position to a one, multiply the second row by 1 / 4 :

To put zeros in the rest of the pivot column, we utilize more row operations.

Since the indicator row is non-negative, this tableau corresponds to the optimal solution. The solution is found in the indicator row under the columns for the slack variables. The lowest value for w is 8 and occurs at ( y 1 , y 2 ) = (0, 8) .

IMAGES

  1. Introduction to Simplex Method Problem 1B

    simplex method solving minimization problems

  2. Business Math

    simplex method solving minimization problems

  3. Lec -7 Simplex Method Minimization Problem In Hindi || Solve an Example

    simplex method solving minimization problems

  4. 🎉 Solve the linear programming problem by the simplex method. Simplex Calculator. 2019-03-06

    simplex method solving minimization problems

  5. Simplex Solution of a Minimization Problem

    simplex method solving minimization problems

  6. Simplex method

    simplex method solving minimization problems

VIDEO

  1. SIMPLEX METHOD:EXAMPLE

  2. Simplex Method Optimal Solution

  3. #1 Simplex Method

  4. simplex Method MAXIMIZATION PROBLEM (Linear Programming)

  5. Lecture 5

  6. Introduction to Simplex Method

COMMENTS

  1. 4.3: Minimization By The Simplex Method

    The procedure to solve these problems was developed by Dr. John Von Neuman. It involves solving an associated problem called the dual problem.

  2. Explanation of Simplex Method for Minimization.

    Step 1: Standard Form · Step 2: Determine Slack Variables · Step 3: Setting up the Tableau · Step 4: Check Optimality · Step 5: Identify Pivot Variable · Step 6:

  3. The Simplex Method and the Dual : A Minimization Example

    ... https://www.patreon.com/patrickjmt In this video, I show how to use the Simplex Method to find the solution to a minimization problem.

  4. Simplex Method-Minimization Problem-Part 1

    Solving a standard minimization problem using the Simplex Method by create the dual problem. First half of the problem.

  5. LPP using SIMPLEX METHOD [MINIMIZATION with 3 VARIABLES]

    Here is the video about LPP using simplex method (Minimization) with three variables, in that we have discussed that how to solve the

  6. Solving a Standard Minimization Problem Using The Simplex

    Ex 1: Determine a Dual Problem Given a Standard Minimization Problem · Simplex method - Example 5 - Minimization · (New Version Available)

  7. minimization simplex method

    Linear Programming Problem MCQ | LPP MCQ | Operations Research MCQ | Part 1 · Minimization problem Simplex method (Artificial Variable in Simplex

  8. Simplex Method 2

    This video shows how to solve a minimization LP problem using the Big M method and the simplex tableau.00:00 Minimization to

  9. 9.4 THE SIMPLEX METHOD: MINIMIZATION

    The basic procedure used to solve such a problem is to convert it to a maximization problem in standard form, and then apply the simplex method as dis-.

  10. Section 4.4 Question 3

    1. Make sure the minimization problem is in standard form. · 2. Find the dual standard maximization problem. · 3. Apply the Simplex Method to solve the dual