

















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
We explain the principle of the Simplex method with the help of the two variable linear programming problem introduced in Unit 3, Section 2. Example I. Maximise ...
Typology: Study notes
1 / 25
This page cannot be seen from the preview
Don't miss anything!


















Programming Techniques – Linear Programming and
Objectives
After studying this unit, you should be able to :
discuss the simplex computation explain two phase and M-method of computation work out the sensitivity analysis formulate the dual linear programming problem and analyse the dual variables.
Structure
4.1 Introduction 4.2 Principle of Simplex Method 4.3 Computational aspect of Simplex Method 4.4 Simplex Method with several Decision Variables 4.5 Two Phase and M-method 4.6 Multiple Solution, Unbounded Solution and Infeasible Problem 4.7 Sensitivity Analysis 4.8 Dual Linear Programming Problem 4.9 Summary 4.10 Key Words 4.11 Self-assessment Exercises 4.12 Answers 4.13 Further Readings
Although the graphical method of solving linear programming problem is an invaluable aid to understand its basic structure, the method is of limited application in industrial problems as the number of variables occurring there is substantially large. A more general method known as Simplex Method is suitable for solving linear programming problems with a larger number of variables. The method through an iterative process progressively approaches and ultimately reaches to the maximum.or minimum value of the objective function. The method also helps the decision maker to identify the redundant constraints, an unbounded solution, multiple solution and an infeasible problem.
In industrial applications of linear programming, the coefficients of the objective function and the right hand side of the constraints are seldom known with complete certainty. In many problems the uncertainty is so great that the effect of inaccurate coefficients can be predominant. The effect of changes in the coefficients in the maximum.or minimum value of the objective function can be studied through a technique known as Sensitivity Analysis.
Every linear programming problem has a dual problem associated with it. The solution of this problem is readily obtained from the solution of the original problem if simplex method is used for this purpose. The variables of dual problem are known as dual variables or shadow price of the. various resources. The solution of the dual problem can be used by the decision maker for augmenting the resources.
The methodological aspects of the Simplex method is explained with a linear programming problem with two decision variables in the next section.
Linear Programming – Simplex Method
We explain the principle of the Simplex method with the help of the two variable linear programming problem introduced in Unit 3, Section 2.
Example I
Maximise 50x 1 + 60x 2
Solution
We introduce variables x 3 .>. 0, x 4 0, x5 r 0 So that the constraints become equations
The variables x 3 , x 4 , x 5 are known as slack variables corresponding to the three constraints. The system of equations has five variables (including the slack variables) and three equations.
Basic Solution
In the system of equations as presented above we may equate any two variables to zero. The system then consists of three equations with three variables. If this system of three equations with three variables is solvable such a solution is known as a basic solution.
In the example considered above suppose we take x, = 0, x 2 = O. The solution of the system with remaining three variables is x 3 = 300, x 4 = 509, x 5 = 812. This is a basic solution of the system. The variables x 3 , x 4 and x 5 are known as basic variables while the variables x 1 , x 2 are known as non basic variables (variables which are equated to zero).
Since there are three equations and five variables the two non basic variables can be chosen in 5c 2 , = 10 ways. Thus, the maximum number of basic solutions is 10, for in some cases the three variable three equation problem may not be solvable.
In the general case, if the number of constraints of the linear programming problem is m and the number of variables (including the slack variables) is n then there are at
most basic solutions.
Basic Feasible Solution
A basic solution of a linear programming problem is a basic feasible solution if it is feasible, i.e. all the variables are non negative. The solution x 3 = 300, x 4 = 509, x 5 = 812 is a basic feasible solution of the problem. Again, if the number of constraints is m and the number of variables (including the slack variables) is n, the maximum number of
basic feasible'^ solution is
The following result (Hadley, 1969) will help you to identify the extreme points of the convex set of feasible solutions analytically.
Every basic feasible solution of the problem is an extreme point of the convex set of feasible solutions and every extreme point is a basic feasible solution of the set of Constraints.
When several variables are present in a linear programming problem it is not possible to identify the extreme points geometrically. But we can identify them through the
Linear Programming – or x 2 which is currently non basic is included as a basic variable the profit will increase. Simplex Method Since the coefficient of x 2 is numerically higher we choose x 2 to be included as a basic variable in the next iteration. An equivalent criterion of choosing a new basic variable can be obtained from the last row of Table 1 (corresponding to z). Since the entry corresponding to x 2 is smaller between the two negative values x 2 will be included as a basic variable in the next iteration. However with three constraints there can only be three basic variables. Thus by making x 2 a basic variable one of the existing basic variables will become non basic. You may identify this variable using the following line of argument.
Referring back to Table 1, we obtain the elements of the next Table (Table 2) using the following rules :
In the z row we locate the quantities which are negative. If all the quantities are positive, the inclusion of any non basic variable will not increase the value of the objective function. Hence the present solution maximises the objective function. If there are more than one negative values we choose the variable as a basic variable corresponding to which the z value is least as this is likely to increase the profit most. Let xi be the incoming basic variable and the corresponding elements of the jth column be denoted by ylj, Y2j and Y3j. If the present values of basic variables are XB1, XB2 and xB3 respectively, then we compute
Programming Techniques – Linear Programming and Application
The element corresponding to x 5 is
In this way we obtain the elements of the first and the second row in Table 2. The numerical values of the basic variables in Table 2 can also be computed in a similar manner.
Programming Techniques – Linear Programming and Application
Table 1
Zl - C 1 = -12 is the smallest negative value. Hence x 1 should be made a basic variable in the next iteration.
The variable x 4 corresponding to which minimum occurs is made a non basic variable.
a)
b)
Table 2 is computed from Table 1 using the following rules The revised basic variables are x1i x 5 , x 6. Accordingly we make CB1 = 12, CB2 = 0, CB3 = 0 As x 1 is the incoming basic variable we make coefficient of x 1 one by dividing each element of row 1 by 10. Thus the numerial value of the element corresponding to x 2 is 2 10
, corresponding to x 3 is 1 10
and so on in Table 2.
c) The incoming basic variable should appear only in the first row. So we multiply the first row of Table 2 by 7 and subtract it from the second row of Table I element by element. Thus the element corresponding to x 1 in the second row of Table 2 is zero. The element corresponding to x 2 is
In this way we obtain the elements of the second and the third row in Table 2. The computation of the numerical values of basic variables in Table 2 is made in a similar manner.
Linear Programming – Simplex Method
−. Hence x 2 should be made a basic variable at the next iteration.
The simplex method illustrated in the last two sections was applied to linear programming problems with less than or equal to type constraints. As a result we could introduce slack variables which provided an initial basic feasible solution of the problem. Linear programming problems may also be characterised by the presence of both "less than or equal to" type or "greater than or equal to type" constraints. It may also contain some equations. Thus it is not always possible to obtain an initial basic feasible solution using slack variables.
Two methods are available to solve linear programming by simplex method in such cases. These methods will be explained with the help of numerical examples.
Linear Programming – x 5 200000. As the minimum value of the Phase I objective function is zero at the end of Simplex Method the Phase I computation both x, and x 7 become zero. Phase II The basic feasible solution at the end of Phase I computation is used as the initial basic feasible of the problem. The original objective function is introduced in Phase II computation and the usual simplex procedure is used to solve the problem. Phase I Computation Table 1
x2 becomes a basic variable and x 7 becomes a non basic variable in the l.ext iteration. It is no longer considered for re-entry. Table 2
x 1 becomes a basic variable and x 6 becomes a non basic variable in the next iteration. It is no longer considered for re-entry. Table 3
The Phase I computation is complete at this stage. Both the artificial variables have been removed from the basis. We have also found a basic feasible solution of the
Phase 11 Computation Table 1
Programming Techniques – Linear Programming and Application
The coefficients of the artificial variables in the objective function are large negative numbers. As the objective function is to 1 maximised in the optimum or optimal solution (where the objective function is maximised) the artificial variables will be zero. The basic variables of the optimal solution are therefore variables other than artificial variables and hence is a basic solution of the original problem. The successive simplex Tables are given below : Table 1
As M is a large positive number, the coefficient of M in the Z j Cj row would decide the incoming basic variable. As -76M < -41M, x 2 becomes a basic variab16 in the next iteration replacing x 7. The variable x 7 being an artificial variable it is not considered for re-entry as a basic variable. Table 2
Programming Techniques – Linear Programming and Application
Solution After introducing slack variables x 3 i 0, x 4 0 the inequalities can be converted into equations as follows
The successive tables of simplex computation are shown below :
Since (^) Zj - Cj ≥ 0 for all the variables, x 1 = 0, x 2 = 100/9 is an optimum solution of the problem. The maximum value of the objective function is 100000/3. However, the Z 3 - C 3 value corresponding to the non basic variable x 1 is also zero. This indicates that there is more than one optimum solution of the problem. In order to compute .the value 9f the alternative optimum solution we Introduce x 1 as a basic variable replacing x4. The subsequent computation is presented in the next Table.
Thus x 1 = 20/3, x 2 = 20/3 also maximise the objective function. The maximum value as in the previous solution is 100000/3. Example 5 Consider the linear programming problem
Solution After introducing slack variables x 3 0, x 4 0 the corresponding equations are
The successive simplex iterations are shown below :
Linear Programming – Simplex Method
Z 2 - C < 0 2 indicates x 2 should be introduced as a basic variable in the next iteration.
However, both. Thus it is not possible to proceed with the simplex computation any further as you cannot decide which variable will be non basic at the next iteration. This is the criterion for unbounded solution.
If in the course of simplex computation (^) Z - C < 0j j but (^) yij ≤ 0 for all i then the
problem has no finite solution.
Intuitively, you may observe that the variable x 2 in reality is unconstrained and can be increased arbitrarily. This is why the solution is unbounded.
Example 6
We consider the (^) .linear programming problem formulated in Unit 3, Section 6.
Solution
After converting the minimisation problem into a maximisation problem and introducing slack, surplus, artificial variables the problem can be presented as
The variables x 6 and x 7 are artificial variables. We use two phase method to solve this problem. In phase I, we use the objective function :
Maximise -x6 - x
along with the constraints given above. The successive simplex computations are given below
Linear Programming – comments. Simplex Method
After a linear programming problem has been solved, it is useful to study the effect of changes in the parameters of the problem on the current optimal solution. Some typical situations are the impact, of the changes in the profit or cost in the objective function in the current solution or an increase or decrease in the resource level in the present composition of the product mix. Such an investigation can be carried out from the final simplex Table and is known as sensitivity analysis or post optimality analysis. We shall illustrate this method with the help of an example
Example 7
We consider the linear programming problem introduced in Section 4.
Maximise 12x 1 + 3x 2 + x
The final simplex Table presenting the optimum solution '(x 4 , x 5 , x 6 being the slack variables) is presented below :
Table 1
Change in the Profit coefficient
i) Non Basic Variable
The variable x 3 non basic. If its profit level is increased to C 3 then the solution remained unchanged so long as
If C 3 > 1 16 then the present solution is no longer optimum; A new round of simplex computation is to be performed in which x 3 becomes a basic variable;
Programming Techniques – Linear Programming and Application
However, if C 3 < 1 16, the present solution remains optimum. ii) Basic Variable In this case, the changes can be both positive and negative, as in either case the current solution may become non-optimal. Let us consider the basic variable x 1. Let us define by ∆ 1 = C 1 − 12 as the change (both positive and negative) in the profit coefficient 12. We divide each Zj-Cj value of the non basic variable by the corresponding coefficient in the x 1 row which is denote by 1j
Zj-Cj y
. Then the basic variables remain
unchanged so long, as (Mustafi, 1988)
Thus the optimal solution is insensitive so long as the changed profit coefficient C 1 is between Rs. 7 and Rs. 15 although the present profit coefficient is Rs. 12. Of course, the value of the objective function has to be revised after introducing the change value C 1.
Activity 8 In the example considered in Section 4.7 find the range of the profit coefficient of x 2 within which the present solution remains optimum. ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………….
Every linear programming problem is associated with another linear programming problem known as its dual problem. The original problem in this context is known as the primal problem. The formulation of the dual linear programming problem (also sometimes referred to as the concept of duality) is substantially helpful to our
Programming Techniques – Linear Programming and Application
earned by the manufacturer per unit. Since these resources enable the manufacturer to earn the specified profit corresponding to the product he would not like to sell it for anything less assuming he is behaving rationally. This leads to inequalities.
We have, thus, a linear programming problem to ascertain the values of the variables w 1 , w 2 , w3. The variables are known as dual variables. The primal problem presented in this example (i) considers maximisation of the objective function (ii) has less than or equal to type constraints and (iii) has non-negativity constraints on the variables. Such a problem is known as a primal problem in the standard form. Formulation of a dual problem If the primal problem is in the standard form, the, dual problem can be formulated using the following 'rules.
If the primal problem is in the standard form the solution of the dual problem can be obtained from the Zi - Cl values of the slack variables in the final simplex Table. Example In the example discussed previously the variables x 4 , x 5 , x 6 are slack variables. Hence the solution of the dual problem is w 1 = z 4 c 4 = 15/16, w 2 = 3/8, w 3 = O. The maximum value of the objective function of the primal problem is the minimum value of the objective function of the dual problem. Example The maximum value of the objective of the primal problem is 981/8. The minimum value of the objective function of the dual problem is
The result has an important practical implication, If the problem is analysed by both the manufacturer and the investor then neither of the two can outmanoeuver the other. Shadow price The shadow price of a resource is the unit price that is equal to the increase in profit to be realised by one additional unit0 of the resource.
Linear Programming – Example Simplex Method The maximum value of the objective function can be expressed as
If the first type of resource is increased by one unit the maximum profit will increase by 15/16 which is the value of the first dual variable in the optimum solution. Thus the dual variable is also referred to as the shadow price or imputed price of a resource. This is the highest price the manufacturer would be willing to pay for the resource. The shadow price of the third resource is zero as there is already an unutilised amount; profit is not increased by more of it until the current supply is totally exhausted.
If the primal problem is in the non standard form, the stricture he dual problem remains unchanged. However, if a constraint is greater than equal to type, the corresponding dual variable is negative or zero. If a constraint in the primal problem is equal to type, the corresponding dual variable is unrestricted in sign (may be positive or negative).
Example 9
Consider the primal linear programming problem
Maximise 12x 1 + 15x 2 + 9x 3