ARTIFICIAL STARTING SOLUTION
As
demonstrated in Example 3.3-1, LPs in which all the constraints are (≤) with
non-negative right-hand sides offer a convenient all-slack starting basic
feasible solution. Models involving (=) and/or (≥) constraints do not.
The
procedure for starting "ill-behaved" LPs with (=) and (≥) constraints
is to use artificial variables that
play the role of slacks at the first iteration, and then dispose of them
legitimately at a later iteration. Two closely related methods are introduced
here: the M-method and the two-phase
method.
1. M-Method
The M-method starts
with the LP in equation form (Section 3.1). If equation
i does not
have a slack (or a variable that can play the role of a slack), an artificial
variable, Ri , is added
to form a starting solution similar to the convenient all-slack basic solution.
However, because the artificial variables are not part of the original LP
model, they are assigned a very high penalty in the objective function, thus
forcing them (eventually) to equal zero in the optimum solution. This will
always be the case if the problem has a feasible solution. The following rule
shows how the penalty is assigned in the cases of maximization and
minimization:
Penalty
Rule for Artificial Variables.
Given M, a
sufficiently large positive value (mathematically, M -> ¥ ), the
objec-tive coefficient of an artificial variable represents an appropriate
penalty if:
Example3.4-1
Using x3 as a
surplus in the second constraint and x4 as a slack in the third
constraint, the equation form of the problem is given as
The third
equation has its slack variable, x4, but the first and second
equations do not. Thus, we add the artificial variables R1 and R2 in the
first two equations and penalize them in the objective function with M R1 + M R2 (because we are minimizing). The resulting LP is
given as
The
associated starting basic solution is now given by (R1, R2, x4 )
= (3,6,4).
From the
standpoint of solving the problem on the computer, M must assume a numeric value.
Yet, in practically all textbooks, including the first seven editions of this
book, M is manipulated
algebraically in all the simplex tableaus. The result is an added, and
unnecessary, layer of difficulty which can be avoided simply by substituting an
appropriate numeric value for M (which is what we do anyway when
we use the computer). In this edition, we will break away from the long
tradition of manipulating M algebraically and use a
numerical substitution in-stead. The intent, of course, is to simplify the
presentation without losing substance.
What
value of M should we use? The answer
depends on the data of the original LP. Recall that M must be sufficiently large relative
to the original objective coefficients so it will act as a penalty that
forces the artificial variables to zero level in the optimal solution. At the
same time, since computers are the main tool for solving LPs, we do not want M to be
too large (even though mathematically it should tend to infinity) because
potential severe round-off error can result when very large values are
manipulated with much smaller values. In the present example, the objective
coefficients of xl and x2 are 4 and 1, respectively.
It thus ap-pears reasonable to set M = 100.
Using M = 100, the
starting simplex tableau is given as follows (for convenience, the z-column is eliminated because it does
not change in all the iterations):
Before
proceeding with the simplex method computations, we need to make the z-row
consistent with the rest of the tableau. Specifically, in the tableau, xl = x2 = x3 = 0, which yields the
starting basic solution R1 = 3, R2 = 6, and x4 = 4. This solution yields z = 100 X 3 + 100 X 6 = 900 (instead of 0, as
the right-hand side of the z-row currently shows). This inconsistency stems from
the fact that R1 and R2 have
nonzero coefficients (-100, -100) in the z-row (compare with the all-slack
starting solution in Example 3.3-1, where the z-row coefficients of the slacks
are zero).
We can
eliminate this inconsistency by substituting out R1 and R2
in the z-row using the appropriate constraint equations. In particular, notice
the highlighted elements (= 1) in the R1-row and the Rrrow. Multiplying each of R1-row and R2-row by 100 and adding the sum to the z-row will substitute out R1
and R 2 in the objective row-that is,
New z-row
= Old z-row + (100
X R1-row
+ 100 X R2-row)
The
modified tableau thus becomes (verify!)
Notice
that z = 900, which is consistent now
with the values of the starting basic feasible solu-tion: RI = 3, R2
= 6, and x4 = 4.
The last
tableau is ready for us to apply the simplex method using the simplex
optimality and the feasibility conditions, exactly as we did in Section 3.3.2.
Because we are minimizing the objective function, the variable Xl having the
most positive coefficient in the
z-row (= 696) en-ters the solution. The
minimum ratio of the feasibility condition specifies R 1 as the leaving vari-able (verify!).
Once the
entering and the leaving variables have been determined, the new tableau can be
computed by using the familiar Gauss-Jordan operations.
The last
tableau shows that x2 and R2 are the entering and leaving
variables, respectively.
Continuing
with the simplex computations, two more iterations are needed to reach the
optimum
Note that
the artificial variables R1 and R2
leave the basic solution in the
first and second iterations, a result that is consistent with the concept of
penalizing them in the objective function.
Remarks.
The use of the penalty M will not force an artificial
variable to zero level in the final simplex iteration if the LP does not have a
feasible solution (i.e., the constraints are not consistent). In this case, the
final simplex iteration will include at least one artificial variable at a
positive level. Section 3.5.4 explains this situation.
PROBLEM
SET 3.4A
1. Use
hand computations to complete the simplex iteration of Example 3.4-1 and obtain
the optimum solution.
2. TORA experiment. Generate the simplex iterations
of Example 3.4-1 using TORA's .iterations =>
M-fuethbd module (file toraEx3.4-l.txt). Compare the effect of using M = 1, M == 10, and M = 1000 on
the solution. What conclusion can be drawn from this experiment?
3. In
Example 3.4-1, identify the starting tableau for each of the following
(independent) cases, and develop the associated z-row after substituting out
all the artificial variables:
4. Consider
the following set of constraints:
For each
of the following problems, develop the z-row after substituting out the
artificial variables:
The
problem shows that x3 and x4 can play the role of slacks
for the two equations. They differ from slacks in that they have nonzero
coefficients in the objective function. We can use x3 and x4
as starting variable, but, as in the case of artificial variables, they must be
substituted out in the objective function before the simplex iterations are
carried out. Solve the problem with x3 and x4 as the
starting basic variables and without using any artificial variables.
7. Solve the
following problem using x3 and x4 as starting basic feasible
variables. As in Problem 6, do not use any artificial variables.
The
variable x3 plays the role of a slack. Thus, no artificial
variable is needed in the first constraint. However, in the second constraint,
an artificial variable is needed. Use this starting solution (i.e., x3 in the
first constraint and R2 in the second constraint) to
solve this problem.
9. Show
how the M-method will indicate that the following problem has no feasible
solution.
2. Two-Phase Method
In the
M-method, the use of the penalty M, which by definition must be
large relative . to the actual objective coefficients of the model, can result
in roundoff error that may impair the accuracy of the simplex calculations. The
two-phase method alleviates this difficulty by eliminating the constant M
altogether. As the name suggests, the method solves the LP in two phases: Phase
I attempts to find a starting basic feasible solution, and, if one is found,
Phase II is invoked to solve the original problem.
Summary of
the Two-Phase Method
Phase I. Put the problem in equation
form, and add the necessary artificial variables to the constraints (exactly as
in the M-method) to secure a starting basic solution. Next, find a
basic solution of the resulting equations that, regardless of whether the LP is
maximization or minimization, always
minimizes the sum of the artificial variables. If the minimum value of the sum is positive, the LP problem has no
feasible solution, which ends the process (recall that a positive artificial
variable signifies that an original constraint is not satisfied). Otherwise,
proceed to Phase II.
Phase II. Use the feasible solution from
Phase I as a starting basic feasible solu-tion for the original problem.
As in the
M-method, R1 and R2 are substituted out in the r-row
by using the following computations:
New r-row
= Old r-row + (1 X R,-row
+ 1 x R-row)
The new r-row is used
to solve Phase I of the problem, which yields the following optimum tableau
(verify with TORA's Iterations => Two-phase Method):
Essentially,
Phase I is a procedure that transforms the original constraint equations in a
manner that provides a starting basic feasible solution for the problem, if one
exists. The tableau associated with Phase II problem is thus given as
Again,
because the basic variables x1
and x2 have nonzero coefficients in the z-row, they must be
substituted out, using the following computations.
New z-row
= Old z-row + (4 X
x1-row + 1 X x2-row)
The
initial tableau of Phase II is thus given as
Because
we are minimizing, x3 must
enter the solution. Application of the simplex method will produce the optimum
in one iteration (verify with TORA).
Remarks. Practically all commercial
packages use the two-phase method to solve LP. The M-method with its
potential adverse roundoff error is probably never used in practice. Its inclusion in this
text is purely for historical reasons, because its development predates the
development of the two-phase method.
The
removal of the artificial variables and their columns at the end of Phase I can take place only when they
are all nonbasic (as Example 3.4-2
illustrates). If one or
more artificial variables are basic
(at zero level) at the end of Phase
I, then the following additional steps must be under-taken to remove them prior
to the start of Phase II.
Step 1. Select a zero artificial
variable to leave the basic solution and designate its row as the pivot row. The entering variable can be any nonbasic (nonartificiaI) variable
with a nonzero (positive or negative)
coefficient in the pivot row. Perform the associated simplex iteration.
Step 2. Remove the column of the
(just-leaving) artificial variable from the tableau. If all the zero artificial
variables have been removed, go to Phase II. Otherwise, go back to Step 1.
The logic
behind Step 1 is that
the feasibility of the remaining basic variables will not be affected when a
zero artificial variable is made nonbasic regardless of whether the pivot
element is positive or negative. Problems 5 and 6, Set 3Ab illustrate this
situation. Problem 7 provides an additional detail about Phase I calculations.
PROBLEM SET 3.4B
*1. In Phase I, if the LP is of the maximization
type, explain why we do not maximize the sum of the artificial variables in
Phase I.
2. For
each case in Problem 4, Set 3.4a, write the corresponding Phase I objective
function.
3. Solve
Problem 5, Set 3.4a, by the two-phase method.
4. Write
Phase I for the following problem, and then solve (with TORA for convenience)
to show that the problem has no feasible solution.
a. Show
that Phase I will
terminate with an artificial basic
variable at zero level (you may use TORA for convenience).
b. Remove
the zero artificial variable prior to the start of Phase II, then carry out
Phase II iterations.
6. Consider
the following problem:
a. Show
that Phase I terminates with two zero artificial variables in the basic
solution (useTORA for convenience).
b. Show
that when the procedure of Problem 5(b) is applied at the end of Phase I, only
one of the two zero artificial variables can be made nonbasic.
c. Show
that the original constraint associated with the zero artificial variable that
can-not be made nonbasic in (b) must be redundant-hence, its row and its column
can be dropped altogether at the start of Phase II.
*7. Consider
the following LP:
Explain
why the nonbasic variables x1, x3,
x4, and xs can never assume positive values
at the end of Phase II. Hence, conclude that their columns can dropped before
we start Phase II. In essence, the removal of these variables reduces the
constraint equations of the problem to x2 = 2. This means that it will not
be necessary to carry out Phase II at all, because the solution space is
reduced to one point only.
8. Consider
the LP model
Show how
the inequalities can be modified to a set of equations that requires the use of
a single artificial variable only (instead of two).
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.