UNIT 4 LINEAR PROGRAMMING, Study notes of Linear Programming

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

2021/2022

Uploaded on 08/01/2022

hal_s95
hal_s95 🇵🇭

4.4

(655)

10K documents

1 / 25

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Programming Techniques
Linear Programming and
Application
UNIT 4 LINEAR PROGRAMMING -
SIMPLEX METHOD
Objectives
After studying this unit, you should be able to :
describe the principle of simplex method
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
4.1 INTRODUCTION
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.
30
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Partial preview of the text

Download UNIT 4 LINEAR PROGRAMMING and more Study notes Linear Programming in PDF only on Docsity!

Programming Techniques – Linear Programming and

Application UNIT 4 LINEAR PROGRAMMING -

SIMPLEX METHOD

Objectives

After studying this unit, you should be able to :

  • describe the principle of simplex method

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

4.1 INTRODUCTION

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

4.2 PRINCIPLE OF 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

  1. Table 2 is computed from Table 1 using the following rules.

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.

  1. Table 4 is computed from Table following the usual steps.

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.

  1. We compute minimum of the ratios

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

  1. Z 2 -C 2 =^3 5

−. Hence x 2 should be made a basic variable at the next iteration.

  1. We compute the minimum of the ratios

4.5 TWO PHASE AND M-METHOD

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

4.7 SENSITIVITY ANALYSIS

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. ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………….

4.8 DUAL LINEAR PROGRAMMING PROBLEM

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.

  1. The number of constraints in the primal problem is equal to the number of dual variables. The number of constraints in the dual problem is equal to the number of variables in the primal problem. The primal problem is a maximisation problem, the dual problem is a minimisation problem.
  2. The profit coefficients of the primal problem appear on the right hand side of the constraints of the dual problem.
  3. The primal problem has less than or equal to type constraints while the dual problem has greater than or equal to type constraints.
  4. The coefficients of the constraints of the primal problem which appear from left to right are placed from top to bottom in the constraints of the dual problem and. vice versa. It is easy to verify these rules with respect to the example discussed before. Properties of the dual problem (Mustafi, 1988)

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.

  1. Suppose the number of constraints and variables in the primal problem is m and n respectively. The number of constraints and variables in the dual problem is, therefore, n and m respectively. Suppose the slack variables in the primal are denoted by y 1 , y 2 , ….., yn and the surplus variables in the dual problem are denoted by z 1 , z 2 , ….., zn

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