Page Contents

## Simplex Method – Algorithm of Solving Linear Programming Problems

The simplex method is used in linear programming to optimize an objective function subject to a certain number of linear constraints. If you need a tabular representation of data when writing articles for EzineArticles, consider using ASCII art tables in the HTML Pre tag. I used them to illustrate iterations of the simplex algorithm. They could be a source of inspiration for you.

Now let’s see how to solve a linear programming model:

```Maximize: Z = 1x1 + 2x2subject to:
3x1 + 4x2 ≤ 5
6x1 + 7x2 ≥ 8
x1 ≥ 0, x2 ≥ 0********* (1) *********```

This model will be converted to canonical form (all constraints become equations). A “≤ 0” type constraint becomes an equation by adding a non-negative variable (deviation variable) and a “≥ 0” type constraint becomes an equation by subtracting one (surplus variable).

```Maximize: Z = 1x1 + 2x2 + 0x3 + 0x4subject to:
3x1 + 4x2 + 1x3 + 0x4 = 5
6x1 + 7x2 + 0x3 + -1x4 = 8x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0**************** (2)***************```

Note that maximum-7, -3, 0, +4, +6 = 6 = –min+7, +3, 0, -4, -6. that’s why maximum(Z(x)) = –min(-Z(x)). In other words, we get the maximum(Z(x)) by calculating the min(-Z(x)) and changing the sign at the end of the algorithm.

The two-phase method of building the initial basis needed for the first iteration of the simplex algorithm requires the addition of an artificial variable for each constraint. In the end, they must all be 0 for the pattern below to be equivalent to the pattern above. This trick allows to obtain the unit vectors of the vector space and starting iterations for an auxiliary minimum model (minimization of the sum of the artificial variables). The maximum model above leads us to the following minimum model:

```Minimize: Z = -1x1 + -2x2 + 0x3 + 0x4 + 0x5 + 0x6subject to:
3x1 + 4x2 + 1x3 + 0x4 + 1x5 + 0x6 = 5
6x1 + 7x2 + 0x3 + -1x4 + 0x5 + 1x6 = 8x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0, x6 ≥ 0********************** (3) **********************```

As we mentioned, after calculations, all artificial variables (“x5”, “x6”) must become 0. Since artificial variables also satisfy the non-negativity condition (“≥ 0”), we conclude that ‘they are all 0 if and only if their sum is the minimum value 0. Therefore, in the first phase, we minimize the sum of the artificial variables:

```Minimize: Z' = 0x1 + 0x2 + 0x3 + 0x4 + 1x5 + 1x6subject to:
3x1 + 4x2 + 1x3 + 0x4 + 1x5 + 0x6 = 5
6x1 + 7x2 + 0x3 + -1x4 + 0x5 + 1x6 = 8x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0, x5 ≥ 0, x6 ≥ 0********************** (4) **********************```

Now we start the first iteration of the simplex method.

```.----+----+----+----+---+----+---+---+---+----+---.
|CB *|B * |XB *|cj * 0 * 0 ** 0 * 0 * 1 * 1 * | * |
+----+----+----+----+---+----+---+---+---+----+---+
| ** | ** | ** | ** |a1 |a2↓ |a3 |a4 |a5 |a6 *|θi |
|1 * |a5 *|5 * | ** |3 *|4 * |1 *|0 *|1 *|0 * |5/4|
|1 * |a6← |8 * | ** |6 *|7 * |0 *|-1 |0 *|1 * |8/7|
+----+----+----+----+---+----+---+---+---+----+---+
|Z'1 = 13 **** |zj * 9 * 11 * 1 * -1* 1 * 1 * | * |
+--------------+----+---+----+---+---+---+----| * |
| ************ |Δj * 9 * 11 * 1 * -1* 0 * 0 * | * |
'--------------+----+---+----+---+---+---+----+---'******************** Tableau 1 ********************```

Legend:

```• cj: Objective function (Z') coefficients, j = 1...6• aj: Column vectors of the constraints, j = 1...6• B = a5, a6: Standard basis of R² vector space• XB = (5, 8): Column of the basic feasible solution(the elements of the solutionX = (x1, x2, x3, x4, x5, x6) = (0, 0, 0, 0, 5, 8)corresponding to vectors outside the basis B are all equal to 0)• CB: Coefficients of vectors from basis B of objective function (Z')• Z'1 = ((CB)^T)*(XB) = (1, 1) * ((5, 8)^T)
Z'1 = 1 * 5 + 1 * 8 = 13
(CB)^T: Transpose of column vector CB• zj = ((CB)^T)*(aj), j = 1...6• Δj = zj - cj, j = 1...6
Since not all Δj: 9, 11, 1, -1, 0, 0 elements are ≤ 0,
we have not yet achieved the minimum of the objective function Z'.
Δ2 = 11 = max9, 11, 1, -1, 0, 0
Δ2 ⇒ a2↓• θi = XBi / a2↓i, i ∈ 5, 6  and a2↓i > 0
θi = --, if a2↓i ≤ 0
θ6 = 8/7 = min5/4, 8/7
θ6 ⇒ a6←```

The new vector “a2↓” replaces in base B the old vector “a6←” which comes out of base B. The array element where the incoming vector (“a2↓”) and the outgoing vector (” a6←”) is called pivot element ( 7 ). We need to divide all elements of the pivot line 8, 6, 70, -1, 0, 1 by the pivot element to get a +1 in the position of the pivot element 8/7, 6/7, +1, 0, -1/7, 0, 1/7. The remaining items in the pivot column become 0s.

Now we need to eliminate all coefficients from the pivot column except for the pivot element. This is done by simple Gaussian operations. To remove the pivot column element in a “k” row for example, we do the following:

• (new row “k”) = (row “k”) – (pivot column coefficient in row “k”) * (pivot row)

• (3/7, -3/7, 0, 1, 4/7, 1, -4/7) = (5, 3, 4, 1, 0, 1, 0) – 4 * (8/7, 6/7, 1, 0, -1/7, 0, 1/7)

The second iteration starts.

```.----+----+----+----+------+---+----+------+---+------+---.
|CB *|B * |XB *|cj * 0 **** 0 * 0 ** 0 **** 1 * 1 *** | * |
+----+----+----+----+------+---+----+------+---+------+---+
| ** | ** | ** | ** |a1 ** |a2 |a3↓ |a4 ** |a5 |a6 ** |θi |
|1 * |a5← |3/7 | ** |-3/7 *|0 *|1 * |4/7 * |1 *|-4/7 *|3/7|
|0 * |a2 *|8/7 | ** |6/7 * |1 *|0 * |-1/7 *|0 *|1/7 * |-- |
+----+----+----+----+------+---+----+------+---+------+---+
|Z'2 = 3/7 *** |zj * -3/7 * 0 * 1 ** 4/7 ** 1 * -4/7 *| * |
+--------------+----+------+---+----+------+---+------| * |
| ************ |Δj * -3/7 * 0 * 1 ** 4/7 ** 0 * -11/7 | * |
'--------------+----+------+---+----+------+---+------+---'*********************** Tableau 2 ************************```

Since all the elements Δj: -3/7, 0, 1, 4/7, 0, -11/7 are not ≤ 0, we have not yet reached the minimum of the objective function Z’.

```.----+----+----+----+------+---+---+------+----+------+---.
|CB *|B * |XB *|cj * 0 **** 0 * 0 * 0 **** 1 ** 1 *** | * |
+----+----+----+----+------+---+---+------+----+------+---+
| ** | ** | ** | ** |a1 ** |a2 |a3 |a4 ** |a5 *|a6 ** |θi |
|0 * |a3 *|3/7 | ** |-3/7 *|0 *|1 *|4/7 * |1 * |-4/7 *| * |
|0 * |a2 *|8/7 | ** |6/7 * |1 *|0 *|-1/7 *|0 * |1/7 * | * |
+----+----+----+----+------+---+---+------+----+------+---+
|Z'3 = 0 ***** |zj * 0 **** 0 * 0 * 0 **** 0 ** 0 *** | * |
+--------------+----+------+---+---+------+----+------| * |
| ************ |Δj * 0 **** 0 * 0 * 0 **** -1 * -1 ** | * |
'--------------+----+------+---+---+------+----+------+---'************************ Tableau 3 ************************```

Since all the elements Δj: 0, 0, 0, 0, -1, -1 are ≤ 0, the minimum of the objective function Z’ is reached. In the last table result the minimum sum of the artificial variables is Z’3 = 0. Therefore the minimum model below has solutions.

```Minimize: Z = -1x1 + -2x2 + 0x3 + 0x4subject to:
3x1 + 4x2 + 1x3 + 0x4 = 5
6x1 + 7x2 + 0x3 + -1x4 = 8x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0***************** (5)****************```

It is useful to reuse data. In the second phase, we will complete the following table with the data from the “aj”, “XB”, “B” columns of the previous table and with the coefficients of the new “Z” objective function of the model above. We are going to rebuild the other calculations and then resume the iterations:

```.----+----+----+----+-------+----+---+------+----.
|CB *|B * |XB *|cj * -1 **** -2 * 0 * 0 *** | ** |
+----+----+----+----+-------+----+---+------+----+
| ** | ** | ** | ** |a1 *** |a2 *|a3 |a4↓ * |θi *|
|0 * |a3← |3/7 | ** |-3/7 * |0 * |1 *|4/7 * |3/4 |
|-2 *|a2 *|8/7 | ** |6/7 ** |1 * |0 *|-1/7 *| -- |
+----+----+----+----+-------+----+---+------+----+
|Z1 = -16/7 ** |zj * -12/7 * -2 * 0 * 2/7 * | ** |
+--------------+----+-------+----+---+------| ** |
| ************ |Δj * -5/7 ** 0 ** 0 * 2/7 * | ** |
.--------------+----+-------+----+---+------+----.******************** Tableau 4 ******************```

Since not all elements Δj: -5/7, 0, 0, 2/7 are ≤ 0, we have not yet reached the minimum of the objective function Z.

```.----+----+----+----+------+----+------+----+---.
|CB *|B * |XB *|cj * -1 ** -2 ** 0 **** 0 * | * |
+----+----+----+----+------+----+------+----+---+
| ** | ** | ** | ** |a1 ** |a2 *|a3 ** |a4 *|θi |
|0 * |a4 *|3/4 | ** |-3/4 *|0 * |7/4 * |1 * | * |
|-2 *|a2 *|5/4 | ** |3/4 * |1 * |1/4 * |0 * | * |
+----+----+----+----+------+----+------+----+---+
|Z2 = -5/2 *** |zj * -3/2 * -2 * -1/2 * 0 * | * |
+--------------+----+------+----+------+----| * |
| ************ |Δj * -1/2 * 0 ** -1/2 * 0 * | * |
.--------------+----+------+----+------+----+---.******************* Tableau 5 *******************```

Since all the elements Δj: -1/2, 0, -1/2, 0 are ≤ 0, the minimum (Z2 = -5/2) of the objective function Z has been reached. Therefore, the maximum of the initial model (1) is Z = -Z2 = -(0 * 3/4 ​​+ (-2) * 5/4) = 5/2. The optimal solution is (x1, x2) = (0.5/4).

If you have any questions about Math Words That Start With Z, please let us know, all your questions or suggestions will help us improve in the following articles!

The article Math Words That Start With Z was compiled by me and my team from many sources. If you find the article Math Words That Start With Z helpful to you, please support the team Like or Share!

Rate: 4-5 stars
Ratings: 6813
Views: 89372381

#Simplex #Method #Algorithm #Solving #Linear #Programming #Problems

Source: https://ezinearticles.com/?Simplex-Method—Algorithm-of-Solving-Linear-Programming-Problems&id=6231290

### Related Posts  ## Math App That Solves Any Problem latest 2023

You are searching about Math App That Solves Any Problem, today we will share with you article about Math App That Solves Any Problem was compiled and… ## How To Do Ratios In Math latest 2023

You are searching about How To Do Ratios In Math, today we will share with you article about How To Do Ratios In Math was compiled and… ## How To Do Percentages In Math latest 2023

You are searching about How To Do Percentages In Math, today we will share with you article about How To Do Percentages In Math was compiled and… ## How To Become A Math Teacher latest 2023

You are searching about How To Become A Math Teacher, today we will share with you article about How To Become A Math Teacher was compiled and… ## How Do You Find The Mode In Math latest 2023

You are searching about How Do You Find The Mode In Math, today we will share with you article about How Do You Find The Mode In…