- 140 Views
- Uploaded on
- Presentation posted in: General

MATS-30004

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

MATS-30004

Quantitative Methods

Dr Huw Owens

www.personalpages.manchester.ac.uk/staff/huw.owens

- What is Linear Programming?
- A way of calculating how to allocate limited resources like raw materials and labour to products and services to give the maximum possible profit or revenue.

- Why is it useful?
- Linear programming is probably the most-used type of quantitative business model.
- It can be applied to any environment where finite resources must be allocated to competing activities or processes for maximum benefit (e.g. an investment portfolio of stocks to maximise return or allocation of a fixed budget between competing departments).

- Objectives of these lectures:
- After these lectures you should be able to:
- Formulate a small linear programming problem and solve it using a graph.
- Understand the limitations of linear programming.

- The function of most organisations is to transform resources into products and services.
- In order to achieve this the organisation must decide how much of each type of product or service to supply whilst using limited resources.
- Linear programming has nothing to do with computer programming! In this context it just means planning.
- Linear programming has two main stages:
- The management-decision problem must be formulated as a linear programming model.
- The model must be solved mathematically.

- When there are only two competing activities the mathematical solution can be found by drawing a graph. (In more complex problems a computer is used)

- Linear programming is a problem solving approach that has been developed to help managers making decisions. It has the following major characteristics:
- It Minimises or maximises some quantities. In linear programming, the minimisation or maximisation of some quantity is the objective;
- In all linear programming problems, there are restrictions or constraints that limit the degree to which the objective can be pursued;
- Both the objective and constraint functions are linear.

- A small towel company makes two types of towels, standard and deluxe. Both types have to go through two processing departments, cutting and sewing. It takes 1 minute to cut a standard towel but 2 minutes to cut a deluxe towel. Similarly, it takes 3 minutes to sew a standard towel and 2 minutes to sew a deluxe towel. The machines are such that in every production run, the time available for cutting is 160 minutes and the time for sewing is 240 minutes. The contribution to income per standard towel is £1.00, and per deluxe towel is £1.50. How should the production be scheduled to maximise the contribution to income?

- Firstly, define the decision variables.
- A linear programming problem always has an expression to be maximised (or minimised) called the objective function and one or more constraints or restrictions. If we define the decision variables correctly then we should be able to express the whole problem in terms of them.

- This is a typical linear programming problem.
- The objective is obviously to maximise the contribution to income by properly scheduling the production of the standard and deluxe towels.
- As we are told, one standard towel contributes £1.00 to income, one deluxe contributes £1.50 to income. If the manufacturer was not limited by its production ability, an easy answer to the question would be to make as many deluxe towels as possible to maximise the contribution to income. However, as in most (if not all) of the cases, the manufacturer’s production ability is limited.

- The restrictions, or using the formal term “constraints”, are stated as follows:
- “It takes 1 minute to cut a standard towel but 2 minutes to cut a deluxe towel. Similarly, it takes 3 minutes to sew a standard towel and 2 minutes to sew a deluxe towel. The machines are such that in every production run, the time available for cutting is 160 minutes and the time for sewing is 240 minutes.”
- In short, the time available to each machine is limited, and different towel takes different amount of time for processing. These constraints will affect the answer to the question, as under such constraints it may no longer true that the more deluxe towels are made the more profitable. Linear programming is an approach to find the best answer in such circumstances.

- This maximising problem can be summarised into the following table.
- The objective and the constraints are formulated mathematically. If we assume that in the production schedule, there will be x1 standard towels and x2 deluxe towels to be made, then

- the total contribution to income, P, will be
- P = 1x1+ 1.5x2 = x1+ 1.5x2 (£)
- the constraints will be
- x1 + 2x2 160(min.)for cutting
- 3x1 + 2x2 240(min.)for sewing
- Also, the quantities of the 2 types of towels to be produced can not be negative numbers, so we can also add
- x1 0
- x2 0
- to the constraints list.

- Now, the maximisation problem can be expressed in a standard form in the following:
- The expression describing the objective is called the objective function, and the expressions that describe the constraints are known as the constraint functions.

- MaximiseP = x1+ 1.5x2
- Subject to
- x1 + 2x2 160
- 3x1 + 2x2 240
- x1 0
- x2 0

- The redwood Furniture Company manufactures tables and chairs as part of its line of patio furniture. For simplicity, we assume that only two resources are consumed in manufacturing the patio furniture: wood (300 board feet in inventory), and labour (110 hours available). The Table below shows the resources consumed and the unit profits for each product.

- The owner wishes to determine how many tables and chairs should be made to maximise the total profits from patio furniture.
- Note that 1 board foot = 1 ft2 1 inch (thickness)
- To formulate a linear programming problem, we will need to study the practical case very carefully in an attempt to understand the whole problem. On the basis of understanding, The following four steps are necessary for the formulation of a linear programming problem.

- The unknown quantities involved in a linear program are known as the variable. These variables are directly related to the objective function and the constraint functions. The quantities of them are the decision to be made by solving the problem. Once they are identified, the variables are defined, conventionally by x1, x2, …, xn, where n is the number of the variables.

- Before we solve the redwood problem, we don’t know how many tables and chairs will be produced.
- And, we realise that the quantities of the tables and chairs to be made are directly related to the profit and the resource consumption.
- It is clear that we need to determine the numbers of tables and chairs by solving the problem.
- So, in this case, the numbers of tables and chairs are the variables of the problem. We defined these two variables by using the following symbols:
- x1 - number of tables to be made
- x2 - number of chairs to be made

- In real-world problems, the use of any resources is limited to some extent. Any decision to be made must take such limitations into account. In the redwood example, it is assumed that only two types of resources will be consumed, i.e., wood (the raw material), and labour. This means the production of table and chairs is dependent on the two resources available.
- Let us consider wood resource first. According to the problem, there are 300 board feet of wood available for the production of tables and chairs. Then we know that the consumption of wood in the production is not possible to exceed the figure of 300 board feet. That is
- wood for tables + wood for chairs 300

- Because a single table consumes 30 board feet of wood and a single chair 20 board feet, we know that
- wood for tables = 30x1
- wood for chairs = 20x2
- Therefore, the limitation, or more professionally, the constraints on the use of wood can be expressed mathematically as
- 30x1 + 20x2 300
- Similarly, the constraint function on the use of labour is
- 5x1 + 10x2 110
- As we have seen in the graphical method, the constraints functions construct the feasible region of the linear programming problem. Any feasible solution can only be found within the feasible region.

- In programming problems, the objective function is the one to be optimised. For instance, if it is about profit, the solution must make the objective have its maximum value. If, on the other hand, the objective function is about cost, the solution must make it reach its minimum value. In linear programs, the objective function is actually the sum of profit or cost of all the individual items.
- In the Redwood example, we know that each table made will contribute £6, and each chair £8 to the profit. So, the objective function in this case is
- P = 6x1 + 8x2
- where P is the total profit.

- The objective function may involve other targets than profit or cost. A marketing manager may wish to maximise sales, an advertiser may desire to maximise exposure to potential buyers, and an investor would want to maximise rate of return. Similarly, a project manager may want to minimise time needed to finish, while a freight dispatcher might want to minimise delays.
- Generally, in relation to the objective functions, P is used for maximisation problems and C for minimisation problems.

- Incorporating all of these expressions forms our mathematical model, known as a linear program. The mathematical model for the Redwood problem is as follows:
- Letting
- x1 - number of tables to be made
- x2 - number of chairs to be made
- MaximiseP = 6x1 + 8x2(objective)
- Subject to30x1 + 20x2 300(wood)
- 5x1 + 10x2 110(labour)
- wherex1, x2 0(non-negativity)
- (The optimal solution of this problem is x1 = 4 tables and x2 = 9 chairs. The profit P = £96.)

- A linear programming problem involving only two variables can be solved using a graphical solution procedure. To find solution using the graphical method, we use the following procedure:
- Draw the 2D co-ordinate system with x1 being the horizontal axis and x2 being the vertical axis. Any pair of (x1, x2) corresponds to a point in the 2D space;
- Draw the constraints in the co-ordinate system to show the feasible region of the problem. A feasible region represents the space within which a feasible solution can be found under the given circumstance.
- Each constraint, due to linearity, will be represented by a straight line. Consider the first constraint in example 1.
- x1 + 2x2 160
- To draw the line, it is necessary to change it to
- x1 + 2x2 = 160
- A simple way of drawing a line is to use the “two-points” method. To obtain the two points, we let
- x1 = 0, x2 = 80, 1st point = (0, 80)
- x2 = 0, x1 = 160, 2nd point = (160, 0)

- Draw a straight line through points A(0, 80) and B(160, 0) as shown in Figure 1. Line AB adds the first constraint to the 2D space. Since the constraint is
- x1 + 2x2 160
- the region beyond line AB becomes non-feasible, and the region under line AB is the feasible region corresponding to the constraint.
- In the same way, other constraints can be represented in the 2D space. As a result, the final feasible region is within the polygon AEDO. In other word, solutions found only within this region is feasible to the problem.

3x1 + 2x2 = 240

C

A

E

x1 + 2x2 = 160

D

B

O

Figure 1

- Find the optimal solution that enables the objective function to have the optimal value. Let us assume that the P = £110. The objective function becomes
- 110 = x1+ 1.5x2
- Using the same method used for drawing the constraints, we can draw the profit line through points (110,0) and (0, 73), as shown in Figure 2.

x1 + 2x2 = 160

110 = x1+ 1.5x2

3x1 + 2x2 = 240

140 = x1+ 1.5x2

x1 + 2x2 = 160

110 = x1+ 1.5x2

3x1 + 2x2 = 240

- As illustrated in Figure 2, the profit line can still be moved further to the upper-right to increase the profit. Let us suppose this time that the profit will be £140. The profit line then goes through points (140, 0) and (0, 93), and it is shown in Figure 3.

140 = x1+ 1.5x2

x1 + 2x2 = 160

110 = x1+ 1.5x2

130 = x1+ 1.5x2

3x1 + 2x2 = 240

- Figure 3 indicates that the profit line is out of the feasible region. This means that profit value we used is too large. Let us now change the profit to £130, and record the new profit line into Figure 4.

4

E

- This time the profit line is in touch with vertex E, which is the far most in the direction of profit increase. Any shift of the profit line away from the origin will make the profit line out of the feasible region. Therefore, we can determine that the optimal solution has been found at vertex E which corresponds to x1 = 40, x2 = 60.
- The conclusion to the example problem is that under the given circumstance, the most profitable production schedule is to make 40 standard towels and 60 deluxe towels. The total contribution to income accordingly will be £130 per production run.

- Tips:
- The feasible region is formed by the straight lines that represent constraints. It is always a type of irregular polygon;
- The profit lines representing different profit levels are parallel to one another. Once one profit line is drawn, the optimal solution can be located by moving the profit line in parallel;
- The optimal solution to a linear programming problem is always at one of the vertices of the polygon representing the feasible region.

- Sensitivity analysis is the study of how changes in the coefficients of a linear program would affect the optimal solution. Using the sensitivity analysis, we can answer questions such as the following:
- How will a change in a coefficient of the objective function affect the optimal solution?
- How will a change in the right-hand-side value for a constraint affect the optimal solution?

- The primary reason that sensitivity analysis is important to decision-makers is that the real-world problems exist in a dynamic environment.
- prices of raw material change;
- demand fluctuates;
- companies purchase new machinery to replace old;
- global labour markets cause changes in production cost;
- and so on.

- If a linear programming model has been used in such an environment, we expect some of the coefficients to change over time.
- The manager will want to determine how such changes would affect the optimal solution to the original linear programming problem.
- Sensitivity analysis provides the information needed to respond to such changes without requiring the complete solution of a revised problem.
- Sensitivity analysis is performed on the objective function coefficients and the right-hand-side (RHS) values for the constraints.

- Consider our towel factory example again…
- MaximiseP = x1+ 1.5x2
- Subject to the constraints
- x1 + 2x2 160
- 3x1 + 2x2 240
- x1 0
- x2 0

E

Figure 5

- If we represent the objective function in the general form P = c1x1+ c2x2, then the tangent of the objective function is -c1/c2.
- For the optimal solution to remain at point E, the tangent of the objective function must be between the tangent values of the two constraints which meet at point E.
- In the example, the tangent of the first constraint is -1/2, and that of the second is -3/2. Therefore, the tangent of the objective function should be
- 1/2 c1/c2 3/2
- When one of the two coefficients is known, the range for the other will be known.

- As the constraints determine the feasible region of an optimisation problem, the change of the value of any constraint will affect the feasible region.
- If the feasible region is changed, the optimal solution can be changed accordingly.
- To illustrate this aspect of sensitivity analysis, let us consider what happens when the RHS value of the first constraint changes from 160 to 180. The revised problem becomes:
- MaximiseP = x1+ 1.5x2
- Subject to
- x1 + 2x2 180
- 3x1 + 2x2 240
- x1 0
- x2 0

- Because of the change in the RHS value of the first constraint, the feasible region of the our problem has changed, as shown in Figure 6, from OAED to OA’E’D.
- As the feasible region has changed, the optimal solution can be changed as well. In this case, the optimal solution is changed from (40, 60) to (30, 75).

A’

E’

A

E

D

O

Figure 6

- Accordingly, the new contribution value is
- P = 30 + 1.575 = £142.50
- Compared to the original contribution £130.00, an increase in contribution is
- £(142.50 -130.00) = £12.50
- Thus, the increased contribution occurs at a rate of £12.50/20 min. = £0.625/min. for cutting the towel.
- The improvement in the value of the objective function per unit change in the RHS of the constraint is called the dual price.

- Here, in our example, the dual price for increasing the total time for cutting towels from 160 minutes to 180 minutes is £0.625 per minute; in other word, if we increase the cutting by 1 minute, the value of the objective function will improve by 62.5 pence.
- Conversely, if we decrease the cutting time by 1 minute, the objective function will get worse by 62.5 pence.
- The dual price can generally be used to determine what will happen to the value of the objective function when we make a one-unit change in the RHS value of a constraint.
- We caution that the dual price may be applicable only for small changes in the RHS values. As more and more resources are obtained and the RHS value continues to increase, other constraints will become binding and limit the change in value of the objective function.

- In general, because the feasible region is a continuous area on the graph, the optimal solution of a linear programming problem can be fractional, which might not make sense.
- If you get a fractional solution the intuitive thing to do is to round the solution to the nearest integer (whole number).
- BUT this rounding may take your solution outside of the feasible region!!
- ALSO, even when the rounded values lie within the feasible region it can be shown that they do not necessarily give the optimal solution.
- When the decision variables take large values, the chances are that rounding will not make much of a difference and the rounded solution will be relatively close to the maximum.
- When the decision variables take small values, rounding can give a completely false solution that is nowhere near the maximum and a technique called integer programming should be used.

- An obvious constraint is that the objective function and constraints are all linear (this means that every decision variable is multiplied by some number)

- In a production context this means that the amount of resources used to produce a unit and the amount of profit generated by a unit remains the same, regardless of the number of units produced.
- So if production is doubled, the resources used will double and the profit will be doubled and so on.
- This may not be appropriate for a real situation. (e.g. Higher production levels may reduce the manpower required per unit or increase the profit per unit).

- In previous section, we discussed how the graphical method can be used to solve linear programming problems involving two decision variables.
- However, most linear programming problems are too big to be solved graphically, and an algebraic solution procedure must be employed.
- The simplex method is the most widely used algebraic procedure for solving linear programming problems.
- In this section, we will explain the simplex method through the following example.

- HighTech Industries assembles two models of personal computers, HT Deskpro and HT Portable, using imported electronic components.
- The Deskpro generates a profit contribution of £50 per unit, and the Portable £40. Each Deskpro unit requires 3 hours of assembly time, and Portable 5 hours. For a week’s production, a maximum of 150 hours of assembly time can be made available.
- For some reason, inventory only keeps 20 Portable display components per week. Finally, only 300 square feet of warehouse space can be made available for new production. Assemble each Deskpro requires 8 square feet of warehouse space, and each Portable requires 5 square feet. How should HighTech develop its production schedule for both products?

- Translating the above verbal description into mathematical form, let x1 be the number of the Deskpro assembled, and x2 the number of Portables assembled, we have the following model:
- Maximise:P = 50 x1 + 40x2
- Subject to:
- 3x1 + 5x2 150 Assembly time(1)
- x2 20Portable display(2)
- 8x1 + 4x2 300Warehouse capacity(3)
- x1, x2 0

- We notice that the constraints are in the form of inequality. In order to solve the problem using the simplex method, the first step is to get rid of the inequality signs by inserting slack variables, which are the correct amounts that enable the inequalities to be expressed as equality.
- We insert s1, s2, and s3 as slack variables into constraint (1), (2), and (3) respectively. Then we have
- 3x1 + 5x2 + s1 = 150(1’)
- x2 + s2 = 20(2’)
- 8x1 + 4x2 + s3 = 300(3’)
- To make equations (1’), (2’), and (3’) hold, understandably, s1 s2, and s3 must be greater than zero.

- Now, we can re-express the problem in the following format for the simplex method:
- Maximise:P = 50 x1 + 40x2 + 0s1+ 0s2+ 0s3
- Subject to:
- 3x1 + 5x2 + s1 = 150(1’)
- x2 + s2 = 20(2’)
- 8x1 + 4x2 + s3 = 300(3’)
- x1, x2, s1, s2, s3 0

- We need to set up a tableau in order to use the simplex method to solve the problem. This tableau is constructed using the coefficients of the objective function and the constraint functions. If we adopt the general notation
- = objective function coefficient for variable j
- = RHS value for constraint i
- = coefficient associated with variable j in constraint i
- we can show this portion of the initial simplex tableau as follows:

- Or, it can be simply remembered as
- where
- c row = row of the objective function coefficients
- b column = column of the RHS values of the constraint equations
- A matrix = m rows and n columns of coefficients of the variables in the constraint equations

- For our HighTech example, The initial simplex tableau appears as follows:
- To help us recall that each of the columns contains the coefficients of one variable, we will write the variable associated with each column directly above the column. Doing this, we obtain:

- The simplex method must be started with a basic feasible solution.
- When a linear programming problem with all less-than-or-equal-to is written in standard form, it is easy to find a basic feasible solution.
- We simply set the decision variables to zero and solve for the values of the slack variables.

- In the HighTech example, a basic feasible solution is
- x1 = 0
- x2 = 0
- s1 = 150
- s2 = 20
- s3 = 300

- . In the case of the HighTech problem, this results in the following initial simplex tableau:
- Note that in the tableau, sj = bj.
- To find out whether it is possible to improve the value of the objective function, we add two rows to the bottom of the tableau. The first row, labelled by Zj, represents the decrease in the value of the objective function when xj is increased by one. And,

- For example,
- Z1 = 0(3) + 0(0) + 0(8) = 0
- Z5 = 0(0) + 0(0) + 0(1) = 0

- The second row, labelled by Cj - Zj, represents the net change in the value of the objective function when xj is increased by one. We refer the row Cj - Zj as the net evaluation row.
- Adding these two rows to the simplex tableau, we obtain:

- The profit in the tableau is calculated as
- At the present situation, profit = 0(150) + 0(20) + 0(300) = 0.
- So far, we have constructed our simplex tableau.

- Using the simplex method to improve the solution, we need to bring the variables that have higher contribution to the value of the objective functions into the basis. The following rule is used for the purpose:
- Rule 1:
- Look at the net evaluation row (Cj - Zj), and select the variable to enter the basis that will cause the largest per-unit improvement in the value of the objective function. In the case of a tie, we follow the convention of selecting the variable to enter the basis that corresponds to the leftmost of the columns.

- In the case of the HighTech example, x1 is selected to enter the basis because in the net evaluation row, 50 is the higher value and an increase in x1 will result in the largest improvement in the value of the objective function. This column is then shaded in the simplex tableau below.
- Rule 2 deals with the removal of a variable from the current basis.

- Rule 2:
- Suppose the incoming basic variable corresponds to column j in the A portion of the simplex tableau. For each row i, compute the ratio bi/aij for each aij greater than zero. The basic variable that will be removed from the basis corresponds to the minimum of these ratios. In the case of a tie, we follow the convention of selecting the variable that corresponds to the uppermost of the tied rows.
- For these purpose, we add an extra column to the right of the tableau showing the bi/aij ratios.

- The smaller value of the two bi/aij is 37.5 which corresponds to s3. So, s3 should be removed from the basis to give way to x1. This row is shaded in the above tableau.
- The shaded column and row meet at element a31 = 8. This element is known as the pivot element.
- The column and row containing the pivot element are known as the pivot column and the pivot row. The variable corresponding to the pivot column is the one to enter the basis, and the basic variable corresponding to the pivot row is the one to leave the basis. Replacing s3 by x1 in the basis leads to

- The above is the new simplex tableau which needs work on. To make the newly entered variable x1 basic, we need to convert the first column of the A matrix from
- {3 0 8}-1 to {0 0 1}-1
- To do that, we are going to apply the following two rules of matrix operation:

- The result of a matrix will not change after the following two operations to a matrix:
- Multiply any row (equation) by a nonzero number;
- Replace any row (equation) by the result of adding or subtracting a multiple of another row (equation) to it.
- Operation for the third row (i.e. the third constraint equation):
- Dividing 8 to both sides 15/8001/875/2
- Operation for the first row (i.e. the first constraint equation):
- First row – 3*(third row) 025/810-3/875/2

- Substitute these results into the tableau, we have the following new tableau. Using the equations discussed before we can fill up the last two rows of the tableau.
- Then, we can use the procedure employed in the first iteration to determine which variables should enter and leave the basis.
- The net evaluation row shows that the second figure give the largest value. Thus, according to Rule 1 we select variable corresponding to the second column of the A matrix, i.e. x2, to enter the basis. The second column is marked for this reason.

- To decide which basic variable is to leave the basis, we calculate bi/aij and fill the last column of the tableau. The result indicates according to Rule 2 that s1 should be removed from the basis, because the fist row yields the smallest bi/aij value. The first row is then marked.
- As a result, x2 replaces s1 in the basis. The simplex tableau changes to the following:

- In order to make x2 a basic variable, the second column of the A matrix will need to be changed from {25/8, 1, 8}-1 to {1, 0, 0}-1.
- Operations:
- Row 1: multiply every element by 8/25 018/250-3/2512
- Row 2: Row 2 - new row 1 00-8/2513/258
- Row 3: row 3 - 5/8 (new row 1) 10-1/501/530

- Substituting the above into the tableau, we obtain:
- Now, we are again able to calculate the last two rows of the tableau. The results are shown in the tableau.
- Look at the net evaluation row of the tableau. The values are either zero or negative. What will happen? We new need to use Rule 3.

- Rule 3:
- The optimal solution to a linear programming problem has been reached when all of the entries in the net evaluation row are zero or negative. In such cases, the optimal solution is the current basic feasible solution.

- Hence, we have reached the optimal solution of the HighTech problem. The solution is:
- x1 = 30, x2 = 12, s1 = 0, s2 = 8, s3 = 0
- The solution suggests that HighTech should produce 30 units of Deskpro and 12 units of Portable for a week. Since s2 = 8, the management should note that there will be eight unused Portable display units. More over, since s1 = 0 and s3 = 0, there is no slack associated with the assembly time constraint and the warehouse capacity constraint; in other words, these constraints are both binding. Consequently, if it is possible to obtain additional assembly time and/or additional warehouse space, management should consider so.

- Step 1 Formulate a linear programming model of the problem
- Step 2 Add slack variables to each constraint to obtain standard form. This is also the tableau form necessary to identify an initial basic feasible solution for problems involving all less-than-equal-to constraints
- Step 3 Set up the initial simplex tableau
- Step 4 Choose the non-basic variable with the largest entry in the net evaluation row to bring into the basis. This identifies the pivot column: the column associated with the incoming variable

- Step 5 Choose the pivot row, which is the row with the smallest ratio of bi/aijfor aij>0, where j is the pivot column. This identifies the pivot row: the row of the variable leaving the basis when variable j enters
- Step 6 Perform the necessary elementary row operations to convert the column for the incoming variable to a unit column with a 1 in the pivot row
- Divide each element of the pivot row by the pivot element (the element in the pivot row and pivot column)
- Obtain zeroes in all other positions of the pivot column by adding or subtracting an appropriate multiple of the new pivot row
- Once the row operations have been completed, the value of the new basic feasible solution can be read from the b column of the tableau

- Step 7 Test for optimality. If Cj-Zj 0 for all columns, we have the optimal solution. If not, return to step 4.

- This algorithm is basically the same for problems with equality and greater-than-or-equal-to constraints except that setting up tableau form requires a little more work. The problems with equality and greater-than-or-equal-to constraints will be discussed later.

- When a linear program contains all less-than-or-equal-to constraints with nonnegative right-hand-side values, it is easy to set up the tableau form. In this case, we simply add a slack variable to each constraint. However, obtaining tableau form is somewhat more complex if the linear program contains greater-than-or-equal-to constraints, equal constraints, and/or negative RHS values. In this section, we will discuss for each of these situations
- how to develop tableau form; and
- how to solve linear programs.

- Let us consider still the HighTech Products problem. This time the management wants to ensure that the combined total production for both computer models would be at least 25 units, which means
- x1 + x2 25
- Adding this new constraint results in the following modified problem:
- Maximise:P = 50 x1 + 40x2
- Subject to:
- 3x1 + 5x2 150Assembly time
- x2 20Portable display
- 8x1+ 4x2 300Warehouse capacity
- x1 + x225Min. total production
- x1, x2 0

- We now, as usual, add slack variables to the problem to make the constraints equations.
- Maximise:P = 50 x1 + 40x2+ 0s1 + 0s2 + 0s3 + 0s4
- Subject to:
- 3x1 + 5x2 + s1= 150
- x2 + s2= 20
- 8x1+ 4x2 + s3 = 300
- x1 + x2- s4= 25
- x1, x2, s1, s2, s3, s4 0

- Note that in the 4th constraint, the slack variable has a negative sign due to the “” relation in the original expression.

- The next step would be to select a feasible solution as the starting point. However, as we can prove using the graphical method, (x1 = 0, x2 = 0) is no longer a feasible solution. To find a feasible starting point, we need to perform a mathematical “trick” by adding an artificial variable into the 4th constraint, denoted by a4. In order for this artificial variable to be eliminated before the optimal solution is reached, we assign a very large negative coefficient to the artificial variable in the objective function. After this manipulation, the linear programming problem becomes as follows:
- Maximise:P = 50 x1 + 40x2+ 0s1 + 0s2 + 0s3 + 0s4- Ma4
- Subject to:
- 3x1 + 5x2 + s1= 150
- x2 + s2= 20
- 8x1+ 4x2 + s3 = 300
- x1 + x2- s4+ a4 = 25
- x1, x2, s1, s2, s3, s4, a4 0

- We can now use s1, s2, s3, a4as our artificial starting point, which may not be a feasible solution in the real-world. Thus, we are able to proceed as if we are in the less-than-or-equal-to constraint situation. The initial simplex tableau is shown as follows:

- According to Rule 1 and Rule 2, we reach the following decision: x1 will enter the basis, and a4 will leave the basis. Aftera4 has been replaced by x1,the simplex tableau becomes:

- In order to improve the solution, the x1 column needs to be converted into a unit column, namely from
- {3, 0, 8, 1}-1 to {0, 0, 0, 1}-1
- The row operations needed to reach that are:
1) - 3(4)

2) - 8(4)

- The new tableau is as follows:
- The current solution is feasible since there are no artificial variables in the solution. So we can now drop the a4 column, leading to

- Now, element a3,6 = 8 becomes the pivot element, which indicates that s3 will leave the basis, and s4 is to enter the basis.
- Using the normal procedure established, the final tableau can be reached as follows:

- We notice that this revised HighTech problem reaches the same optimal solution as its original. As for the 4th constraints, we found that s4 = 17. That means the actual production will be 17 units more than minimum target 25. This can be proved by (x1 + x2) -25 = (30 + 12) - 25 = 17.

- When an equality constraint occurs in a linear programming, we need to add an artificial variable to the obtain tableau form and an initial basic feasible solution. For example, if the equality is
- 6x1 + 4x2 - 5x3 = 30
- we would simply add an artificial variable, say, a1, to create a basic feasible solution in the initial simplex tableau. With the artificial variable, the above equation becomes
- 6x1 + 4x2 - 5x3 + a1 = 30
- Now, a1 can be selected as the basic variable for this row, and its value is given by the RHS. Once we have created tableau form by adding an artificial variable to each equality constraint, the simplex method proceeds exactly as before.

- One of the properties of the tableau form of a linear program is that the values on the RHS of the constraints have to be non-negative. In the situation of a constraint having a negative RHS value, we can simply multiply (-1) to both sides of the inequality and then change “” to “”, or “” to “” depending on situation. The following show two examples:
- x2 - x1 -5x1 - x2 5
- 6x1 + 3x2 - 4x3 -20-6x1 - 3x2 + 4x3 20

- We have so far tackled maximisation problems. To solve minimisation problems using the simplex method, there are two ways.
- The first way is to alter Rule 1 and Rule 3 to its reverse. That is, when selecting the variable to enter the basis next, we choose the variable with the most negative value in the net evaluation row (Rule 1). Using this approach to solve the minimisation problem, we would stop when every value of the net evaluation row is zero or positive.
- The alternative way of solving a minimisation problem is to convert the minimisation problem into a maximisation problem by multiplying the objective function by -1.

- Infeasibility
- If the constraints of a linear programming problem cannot form a feasible region, the infeasibility problem occurs.
- This problem is easy to see when the graphical method is used. When the simplex method is used, infeasibility can be detected using the following:
- In terms of simplex method, we recognise infeasibility as the case when one or more of the artificial variables remains in the final solution at a positive value.

- When a linear problem is unbounded, the decision variables are allowed to be infinitely large. When employing the simplex method, an unbounded linear program can be recognised using the following:
- If, at some iteration, the simplex method tells us to introduce variable j into the solution and all the aij are less than or equal to zero in the jth column, the linear program has an unbounded solution.
- Example:

- It should be emphasised that the case of an unbounded solution will never occur in real-world cost minimisation or profit maximisation problems because it is not possible to reduce cost to minus infinity or to increase profits to plus infinity.
- Thus, if we encounter an unbounded solution to a linear programming problem, we should carefully re-examine the formulation of the problem to determine if the there has been a formulation error.

- A linear problem with two or more optimal solutions is said to have alternative optimal solution.
- When using the simplex method, we can recognise alternative solutions if (Cj-Zj) equals to zero for one or more of the non-basic variables in the final simplex tableau.
- Example: