The Simplex Method
The graphical method of solving linear programming problems is
useful only for problems involving two decision variables and
relatively few problem constraints.
What happens when we need more decision variables and more problem constraints?
We use an algebraic method called the simplex method, which
was developed by George B. DANTZIG (1914-2005) in 1947 while
on assignment with the U.S. Department of the air force.
    Standard Maximization Problems in
             Standard Form
A linear programming problem is said to be a standard maximization problem in
    standard form if its mathematical model is of the following form:
                          Maximize the objective function
                        Zmax  P  c1x1 c2x2 ... cnxn
                  Subject to problem constraints of the form
                        a1x1 a2x2 ... anxn  b      ,b  0
                        With non-negative constraints
                                  x1, x2,..., xn  0
               Slack Variables
“A mathematical representation of surplus
  resources.” In real life problems, it’s unlikely
  that all resources will be used completely, so
  there usually are unused resources.
Slack variables represent the unused resources
  between the left-hand side and right-hand
  side of each inequality.
      Basic and Nonbasic Variables
Basic variables are selected arbitrarily with the restriction that
  there be as many basic variables as there are equations. The
  remaining variables are non-basic variables.
                         x1  2x2  s1  32
                        3x1  4x2  s2  84
This system has two equations, we can select any two of the four
  variables as basic variables. The remaining two variables are
  then non-basic variables. A solution found by setting the two
  non-basic variables equal to 0 and solving for the two basic
  variables is a basic solution. If a basic solution has no negative
  values, it is a basic feasible solution.
                                SIMPLEX METHOD
      Step-1
                                                                             Step 4
     Write the                     Step 2                                  Are there               Step-5
     standard                    Are there                                any positive           Select the
   maximization                      any                  Step-3          elements in        Y      pivot
    problem in                    negative            Y    Select          the pivot              element
                                 indicators                 the             column                   and
 standard form,
                                   in the                  pivot           above the              perform
 introduce slack                                          column
                                  bottom                                    dashed               the pivot
variables to form
                                    row?                                     line?               operation
the initial system,
   and write the
  initial tableau.                     NO                                          NO
                                                                            STOP
                                  STOP                              The linear programming
                      The optimal solution has been                 problem has no optimal
                                 found.                                     solution
                       Simplex algorithm for standard maximization problems
To solve a linear programming problem in standard form, use the following steps.
1- Convert each inequality in the set of constraints to an equation by adding slack
    variables.
2- Create the initial simplex tableau.
3- Select the pivot column. ( The column with the “most negative value” element
    in the last row.)
4- Select the pivot row. (The row with the smallest non-negative result when the
    last element in the row is divided by the corresponding in the pivot column.)
5-Use elementary row operations calculate new values for the pivot row so that
    the pivot is 1 (Divide every number in the row by the pivot number.)
6- Use elementary row operations to make all numbers in the pivot column equal
    to 0 except for the pivot number. If all entries in the bottom row are zero or
    positive, this the final tableau. If not, go back to step 3.
7- If you obtain a final tableau, then the linear programming problem has a
    maximum solution, which is given by the entry in the lower-right corner of
    the tableau.
                     Pivot
Pivot Column: The column of the tableau
  representing the variable to be entered into
  the solution mix.
Pivot Row: The row of the tableau representing
  the variable to be replaced in the solution mix.
Pivot Number: The element in both the pivot
  column and the pivot row.
             Simplex Tableau
Most real-world problems are too complex to
 solve graphically. They have too many corners
 to evaluate, and the algebraic solutions are
 lengthy. A simplex tableau is a way to
 systematically evaluate variable mixes in order
 to find the best one.
        Initial Simplex Tableau
                  All variables   Solution
Basic variables   coefficients
                                     0
                   EXAMPLE
The Cannon Hill furniture Company produces tables
  and chairs. Each table takes four hours of labor
  from the carpentry department and two hours of
  labor from the finishing department. Each chair
  requires three hours of carpentry and one hour
  of finishing. During the current week, 240 hours
  of carpentry time are available and 100 hours of
  finishing time. Each table produced gives a profit
  of $70 and each chair a profit of $50. How many
  chairs and tables should be made?
                                   STEP 1
                        All information about example
       Resource         Table s ( x1 )    Chairs (x2 )   Constraints
       Carpentry (hr)          4                 3            240
       Finishing (hr)          2                 1            100
       Unit Profit            $70               $50
Objective Function              P  70x1 50x2
Carpentry Constraint               4x1 3x2  240
Finishing Constraint                2x1 1x2 100
Non-negativity conditions                x1, x2  0
The first step of the simplex method requires that each inequality
  be converted into an equation. ”less than or equal to”
  inequalities are converted to equations by including slack
  variables.
Suppose s1 carpentry hours and s2 finishing hours remain unused
  in a week. The constraints become;
         4x1 3x2  s1  240             4x1 3x2  s1  0s2  240
                                or
         2x1  x2  s2 100              2x1  x2  0s1  s2 100
As unused hours result in no profit, the slack variables can be
  included in the objective function with zero coefficients:
                      P  70x1 50x2  0s1  0s2
                      P 70x1 50x2 0s1 0s2  0
The problem can now be considered as solving a system of 3 linear
  equations involving the 5 variables x1, x2, s1, s2, P in such a way
  that P has the maximum value;
                    4x1  3x2  s1  0s2  240
                    2x1  x2  0s1  s2 100
                    P  70x1  50x2  0s1  0s2  0
Now, the system of linear equations can be written in matrix form
  or as a 3x6 augmented matrix. The initial tableau is;
                                    STEP 2
                                                                Right
        Basic
                       x1      x2       S1      S2       P      Hand
      Variables
                                                                Side
          S1           4        3        1      0        0       240
          S2           2        1        0      1        0       100
          P           -70      -50       0      0        1        0
The tableau represents the initial solution;
                        x1  0, x2  0, s1  240, s2 100, P  0
The slack variables S1 and S2 form the initial solution mix. The initial
solution assumes that all avaliable hours are unused. i.e. The slack variables
take the largest possible values.
Variables in the solution mix are called basic variables. Each basic
  variables has a column consisting of all 0’s except for a single 1.
  all variables not in the solution mix take the value 0.
The simplex process, a basic variable in the solution mix is
  replaced by another variable previously not in the solution
  mix. The value of the replaced variable is set to 0.
                                  STEP 3
Select the pivot column (determine which variable to enter into the
   solution mix). Choose the column with the “most negative”
   element in the objective function row.
                                                            Right
          Basic
                       x1        x2   S1      S2      P     hand
        Variables
                                                            side
            S1         4       3      1       0       0      240
            S2         2       1      0       1       0      100
            P         -70     -50     0       0       1       0
                  Pivot column
x1 should enter into the solution mix because each unit of x1 (a table)
   contributes a profit of $70 compared with only $50 for each unit of x1 (a
   chair)
                                     STEP 5
   Select the pivot row (determine which variable to replace in the solution mix).
      Divide the last element in each row by the corresponding element in the
      pivot column. The pivot row is the row with the smallest non-negative
      result.
                       Enter
                                                                 Right
          Basic
                         x1      x2      S1      S2       P      hand
        Variables
                                                                 side
             S1          4       3        1       0       0       240 240/4  60
Exit         S2          2       1        0       1       0       100 100/2 50
             P          -70      -50      0       0       1        0
                                                                          Pivot row
                         Pivot column
                  Pivot number
Should be replaced by x1 in the solution mix. 60 tables can be made with 240
   unused carpentry hours but only 50 tables can be made with 100 finishing
   hours. Therefore we decide to make 50 tables.
Now calculate new values for the pivot row. Divide every number in the row
   by the pivot number.
                                                            Right
       Basic
                    x1       x2      S1      S2      P      hand
     Variables
                                                            side
         S1          4       3       1       0       0       240
                                                                      R2
         x1          1      1/2      0      1/2      0        50      2
          P         -70     -50      0       0       1        0
Use row operations to make all numbers in the pivot column equal to 0 except
for the pivot number which remains as 1.
                                                          Right
   Basic
                 x1      x2      S1       S2       P      hand
 Variables
                                                          side
     S1          0       1        1       -2       0       40       4.R2  R1
     x1          1      1/2       0      1/2       0       50
     P           0      -15       0      35        1      3500      70.R2  R3
If 50 tables are made, then the unused carpentry hours are reduced by 200
hours (4 h/table multiplied by 50 tables); the value changes from 240 hours to 40
hours. Making 50 tables results in the profit being increased by $3500; the value
changes from $0 to $3500.
   In this case,  x1  50, x2  0, s1  40, s2  0, P  3500
   Now repeat the steps until there are no negative numbers in the last row.
   Select the new pivot column. x2 should enter into the solution mix.
   Select the new pivot row. S1 should be replaced by x2 in the solution mix.
                               Enter
                                                                  Right
          Basic
                        x1       x2      S1       S2       P      hand
        Variables
                                                                  side
Exit         S1          0       1        1       -2       0       40       40/1 40
             x1          1      1/2       0      1/2       0       50       50/0,5 100
             P           0      -15       0      35        1      3500
                                                                        New pivot row
                             New pivot
                              column
Calculate new values for the pivot row. As the pivot number is already 1,
there is no need to calculate new values for the pivot row.
Use row operations to make all numbers in the pivot column equal to
except for the pivot number.
                                                          Right
   Basic
                 x1      x2       S1      S2       P      hand
 Variables
                                                          side
      x2         0        1       1       -2       0       40
                                                                     1
      x1         1        0     -1/2     3/2       0       30        .R1  R2
                                                                     2
      P          0        0      15        5       1      4100      15.R1  R3
If 40 chairs are made, then the number of tables are reduced by
    20 tables (1/2 table/chair multiplied by 40 chairs); the value
    changes from 50 tables to 30 tables. The replacement of 20
    tables by 40 chairs results in the profit being increased by
    $600; the value changes from $3500 to $4100.
As the last row contains no negative numbers, this solution gives
   the maximum value of P.
                            Result
This simplex tableau represents the optimal
  solution to the LP problem and is interpreted
  as:
     x1  30,   x2  40,   s1  0,   s2  0
       and profit or P=$4100
The optimal solution (maximum profit to be
  made) is to company 30 tables and 40 chairs
  for a profit of $4100.
                   Example-2
A farmer owns a 100 acre farm and plans to plant at
  most three crops. The seed for crops A,B, and C costs
  $40, $20, and $30 per acre, respectively. A maximum
  of $3200 can be spent on seed. Crops A,B, and C
  require 1,2, and 1 workdays per acre, respectively,
  and there are maximum of 160 workdays available. If
  the farmer can make a profit of $100 per acre on
  crop A, $300 per acre on crop B, and $200 per acre
  on crop C, how many acres of each crop should be
  planted to maximize profit?