Professional Documents
Culture Documents
a11x1 + a12 x2 + ..... + a1n xn b1 a21x1 + a22 x2 + ..... + a2n xn b2 . Subjected to . . am1x1 + am 2 x2 + ..... + amn xn bm x1, x2 ,...xn 0 or un restricted and bm 0
Subjected to
a x
j =1 ij
Where c j is termed Cost Coefficients, bi is termed as Resources/Solution Values of Basic variables, aij is termed as Technological/Input-Output coefficients, n is number of variables, m is number of constraint equations. Step 2: Verifying the suitability of applying Simplex method Check whether the RHS/resources (i.e. all bi ) of constraint equations are positive or not. If not, change their sign by multiplying throughout by -1. Thereafter check whether all the constraint equations has less than or equal to ( ) in-equality or not. If not, Simplex method can not be adopted. Step 3: Adding Slack variables Add slack variables to convert all in-equality equations in to equality equations. I.e. When the constraint equation has less than or equal to ( ) in-equality add a positive slack variable ( Si ) to the LHS, which represent left-over or unused capacity. Thereby the in-equality symbol of the constraint equations converts to equal (=) type symbol between LHS and RHS of the constraint equation. Hence, the modified objective function and constraint equations will be written as;
Maximize / Minimize Z = c1x1 + c2 x2 + .... + 0 * S1 + 0 * S2 + .... + 0 * Sm
a11x1 + a12 x2 + ... + a1n xn + S1 = b1 a21x1 + a22 x2 + ... + a2 n xn + S2 = b2 . . . am1x1 + am 2 x2 + ... + amn xn + Sm = bm x1, x2 ,...xn , S1, S2 ,...., Sm 0 and bm 0
n m j =1 i =1
Subjected to
So, General/Standard form of LPP can be written as, Max / Min Z = c j x j + 0 * Si Subjected to
(a x ) + S
n j =1 ij j
Step 4: Simplex problem Tabulation for finding the Initial Basic Feasible Solution Generate a tableau with (4+n+m) columns and (m+1) rows for conducting the simplex algorithm, as shown below. The (4+m+n) columns, firstly contains a column for Basic variables (B.V), wherein the slack variables are treated to be of basic in nature for initial iteration. Basic variables are those whose values are positive (i.e. the variables that contributes in obtaining the objective), whereas Non-Basic variables are those whose values are zero (i.e. the variables whose contribution in achieving the objective is nil), Secondly, column for cB -Cost coefficient of each of the current basic variable, then next column will be
xB termed as Resources/Solution Values of Basic variables, then next comes n columns for
decision variables and m columns for slack variables. And in the last, a column for min positive ratio of
xB xk
, as shown below:
c j c1
XB
cB
x1
c3
Min ratio
xB
xk
Non-Basic variables
x1 = x2 = x3 = 0
z = cB x B
x1
x2
x3
s1
s 2
s 3
The (m+1) rows has m rows for entering coefficient of m constraint equation and last row is for objectivity and optimality check. At the initial iteration (i.e. Iteration 0), we assume that the slack variables ( s1, s2 ,... ) as basic variables and decision variables ( x1, x2 ,... ) as non-basic variables, so that the initial basic feasible solution of the objective function will be equal to zero. Step 6: Entering the values in the Tableau In the first row, enter the cB -Cost coefficient of the current basic variable. Then enter the coefficients (i.e. technological co-efficient) of decision variables and slack variables forming Body Matrix and Identity Matrix, respectively. After that, enter the resource (i.e. RHS) of the constraint equation. Repeat the same for the remaining rows. The last row is for calculating objective function value and the optimality check values. Step 7: Optimality check Use the Delta relation, where j = ( cB x j c j ) and determine it for all the variables (i.e. both decision variables and slack variables). Check any of the delta values are negative or not. If all the delta values are positive, then the table will be optimal table and contains the basic optimal feasible solution. The objective function value calculated using formula z = cB x B will be the optimal objective function value and the elements in column xB will be Solution Values of Basic variables and stop. But, if any one or more of the delta values are negative, then the table is not optimal table and so proceed for next step (i.e. Step 8). Step 8: Entering Column, Leaving Row and Key Element If the current basic feasible solution is not optimal then identify which non-basic variable should become basic variable and which basic variable should become non-basic variable, to generate a basic feasible solution with a better objective function value. To do it, among all the negative delta value columns in the table, take the most negative delta value column as the Entering column (or Key column) which replaces a basic variable (let us assume the x2 column, as shown below in table). Then calculate the ratio xB x for all the rows, where values of k xk are the corresponding element of X B in the key column and consider only the positive ratios. Take
x x the row having min positive ratio (i.e. min +ve ratio ;... as the Leaving Row (or B x ; B x row 2 k k row 1 Key Row) which becomes non-basic variable (let us assume the second row like s2 , as shown below in table). The intersection of the key column and key row is termed as Key Element.
c j c1
XB
c2 x1 x2
c3 x3
c4 s1
1
c5
s2
0
c6
Min ratio
cB
s3
0
xB
xk
s1
c4 s2
b1 b2 b3
xk 1
xk 2
Key element
b1 xk 1 b2 xk 2 (minimum value)
Key Row
c5 c6
s3
Non-Basic variables
xk 3
x 2 = 5
b3 xk 3
x1 = x2 = 0 x3 = 0
z = cB x B
Key
column
s1 = 2
s 2 = 1 s 3 = 0
Step 9: Interchange the key column variable as the key row variable and do the row transformations such that the key element x k 2 must be made equal to 1 (i.e. xk 2 = 1 ) and remaining elements in the key column equal to zeros (i.e. xk 1 = xk 3 = 0 ), as shown in below tableau.
(Cost Co-efficient)
c j c1
XB
c2 x2
0
c3
x3
c4 s1
c5
s2
c6
s3
Min ratio
Row Transformation
(B.V)
cB
x1
xB x k
s1 x2
s3
( R )new
c5
b2 / xk 2
a21 / xk 2
a23 / xk 2
0 / xk 2
1/ xk 2
0 / xk 2
x1 = s2 = x3 = 0
z = cB x B
x1
x2
x3
s1
s 2
s 3
Note: 1. While doing the row transformations, firstly the row that has to be replaced with new variable is the row containing the key element xk 2 , Like
(R
key row
new
( Rkey
row
old
key element
2. While doing the other row transformations, the row under consideration must be generated with the help of its previous row values and the newly generated key row values, like
( R )new
( R )old C * ( Rkey
row
new