The Simplex Algorithm and Goal Programming
The Simplex Algorithm and Goal Programming
to accompany
Operations Research: Applications and Algorithms
4th edition
by Wayne L. Winston
2
Example 1: Leather Limited
Leather Limited manufactures two types of
leather belts: the deluxe model and the regular
model.
Each type requires 1 square yard of leather.
A regular belt requires 1 hour of skilled labor and a
deluxe belt requires 2 hours of skilled labor.
Each week, 40 square yards of leather and 60 hours
of skilled labor are available.
Each regular belt contributes $3 profit and each
deluxe belt $4.
Write an LP to maximize profit.
3
Example 1: Solution
The decision variables are:
x1 = number of deluxe belts produced weekly
x2 = number of regular belts produced weekly
The appropriate LP is:
max z = 4x1 + 3x2
s.t. x1 + x2 ≤ 40 (leather constraint)
2x1 +x2 ≤ 60 (labor constraint)
x1 , x2 ≥ 0
4
To convert a ≤ constraint to an equality, define
for each constraint a slack variable si (si =
slack variable for the ith constraint). A slack
variable is the amount of the resource unused
in the ith constraint.
If a constraint i of an LP is a ≤ constraint,
convert it to an equality constraint by adding a
slack variable si to the ith constraint and
adding the sign restriction si ≥ 0.
5
To convert the ith ≥ constraint to an equality
constraint, define an excess variable
(sometimes called a surplus variable) ei (ei will
always be the excess variable for the ith ≥
constraint.
We define ei to be the amount by which ith constraint
is over satisfied.
Subtracting the excess variable ei from the ith
constraint and adding the sign restriction ei ≥ 0
will convert the constraint.
If an LP has both ≤ and ≥ constraints, apply
the previous procedures to the individual
constraints. 6
4.2 Preview of the Simplex
Algorithm
Consider a system Ax = b of m linear
equations in n variables (where n ≥ m).
A basic solution to Ax = b is obtained by
setting n – m variables equal to 0 and solving
for the remaining m variables.
This assumes that setting the n – m variables equal
to 0 yields a unique value for the remaining m
variables, or equivalently, the columns for the
remaining m variables are linearly independent.
Any basic solution in which all variables are
nonnegative is called a basic feasible
solution
(or bfs).
7
The following theorem explains why the
concept of a basic feasible solution is of great
importance in linear programming.
Theorem 1 The feasible region for any linear
programming problem is a convex set. Also, if an LP
has an optimal solution, there must be an extreme
point of the feasible region that is optimal.
8
4.3 Direction of Unboundedness
Consider an LP in standard form with feasible
region S and constraints Ax=b and x ≥ 0.
Assuming that our LP has n variables, 0
represents an n-dimensional column vector
consisting of all 0’s.
A non-zero vector d is a direction of
unboundedness if for all xS and any c≥0, x
+cdS
9
Theorem 2 Consider an LP in standard form,
having bfs b1, b2,…bk. Any point x in the LP’s
feasible region may be written in the form
x d i 1 i b i
ik
10
4.4 Why Does LP Have an Optimal
bfs?
Theorem 3 If an LP has an optimal solution,
then it has an optimal bfs.
For any LP with m constraints, two basic
feasible solutions are said to be adjacent if
their sets of basic variables have m – 1 basic
variables in common.
The set of points satisfying a linear inequality
in three (or any number of) dimensions is a
half-space.
The intersection of half-space is called a
polyhedron.
11
4.5 The Simplex Algorithm
The simplex algorithm can be used to solve LPs
in which the goal is to maximize the objective
function.
Step 1 Convert the LP to standard form
Step 2 Obtain a bfs (if possible) from the standard form
Step 3 Determine whether the current bfs is optimal
Step 4 If the current bfs is not optimal, determine
which nonbasic variable should become a basic
variable and which basic variable should become a
nonbasic variable to find a bfs with a better objective
function value.
Step 5 Use EROs to find a new bfs with a better
objective function value. Go back to Step 3.
12
Example 2: Dakota Furniture
Company
The Dakota Furniture company manufactures
desk, tables, and chairs.
The manufacture of each type of furniture requires
lumber and two types of skilled labor: finishing and
carpentry.
The amount of each resource needed to make each
type of furniture is given in the table below.
Resource Desk Table Chair
14
Example 2: Solution
Define:
x1 = number of desks produced
x2 = number of tables produced
x3 = number of chairs produced
The LP is:
max z = 60x1 + 30x2 + 20x3
s.t. 8x1 + 6x2 + x3 ≤ 48 (lumber constraint)
x1, x2, x3 ≥ 0
15
Ex. 2: Solution continued
Begin the simplex algorithm by converting the
constraints of the LP to the standard form.
Then convert the LP’s objective function to the
row 0 format.
To put the constraints in standard form, simply
add slack variables s1, s2, s3, s4, respectively to
the four constraints.
Label the constraints row 1, row 2, row 3, row
4, and add the sign restrictions si ≥ 0.
16
Ex. 2: Solution continued
Putting rows 1-4 together in row 0 and the sign
restrictions yields these equations and basic
variables.
Canonical Form 0 Basic
Variable
Row 4 x2 + s4 =5 s4 = 5
17
Ex. 2: Solution continued
To perform the simplex algorithm, we need a
basic (although not necessarily nonnegative)
variable for row 0.
Since z appears in row 0 with a coefficient of 1, and z
does not appear in any other row, we use z as the
basic variable.
With this convention, the basic feasible solution for our
initial canonical form has
BV = {z, s1, s2, s3, s4}
NBV = {x1, x2, x3}.
For this initial bfs, z=0, s1=48, s2= 20, s3=8, s4=5,
x1=x2=x3=0.
A slack variable can be used as a basic variable
if the rhs of the constraint is nonnegative. 18
Ex. 2: Solution continued
Once we have obtained a bfs, we need to
determine whether it is optimal.
To do this, we try to determine if there is any
way z can be increased by increasing some
nonbasic variable from its current value of zero
while holding all other nonbasic variables at their
current values of zero.
Solving for z in row 0 yields: Z = 60x1 + 30x2 + 20x3
19
Ex. 2: Solution continued
For each nonbasic variable, we can use this
equation to determine if increasing a nonbasic
variable will increase z.
Increasing any of the nonbasic variables will cause an
increase in z.
However increasing x1 causes the greatest rate of
increase in z. If x1 increases from its current value of
zero, it will have to become a basic variable.
For this reason, x1 is called the entering variable.
Observe x1 has the most negative coefficient in row
0.
20
Ex. 2: Solution continued
Next choose the entering variable to be the
nonbasic variable with the most negative
coefficient in row 0.
Goal is to make x1 as large as possible but as it
increases, the current basic variables will
change value. Thus, increasing x1 may cause a
basic variable to become negative.
This means to keep all the basic variables
nonnegative, the largest we can make x1 is min
{6, 5, 4} = 4.
21
Ex. 2: Solution continued
Rule for determining how large an entering
variable can be.
When entering a variable into the basis, compute the
ratio
Right hand side of row
Coefficient of entering variable in row
Row 1 - x 3 + s1 - 4s3 = 16 s1 = 16
Row 2 - x2 + 0.5 x3 + s2 - 2 s3 =4 s2 = 4
Row 3 x1 + 0.75x2 + 0.25x3 + 0.5s3 =4 x1 = 4
Row 4 x2 + s4 =5 s4 = 5
24
Ex. 2: Solution continued
Attempt to determine if the current bfs is
optimal.
Rearranging row 0 from Canonical Form 1, and
solving for z yields
z = 240 – 15x2 +5x3 -30s3
The current bfs is NOT optimal because
increasing x3 to 1 (while holding the other
nonbasic variable to zero) will increase the
value of z.
Making either x2 or s3 basic will cause the value
of z to decrease.
25
Ex. 2: Solution continued
Recall the rule for determining the entering
variable is the row 0 coefficient with the
greatest negative value.
Since x3 is the only variable with a negative
coefficient, x3 should be entered into the basis.
Performing the ratio test using x3 as the
entering variable yields the following results
(holding other NBVs to zero):
From row 1, s1 ≥ 0 for all values of x3 since s1 = 16
+ x3
From row 2, s2 ≥ 0 if x3 > 4 / 0.5 = 8
From row 3, x1 ≥ 0 if x3 >4 / 0.25 = 16
From row 4, s4 ≥ 0 for all values of x3 since s4 = 5
26
Ex. 2: Solution continued
This means to keep all the basic variables
nonnegative, the largest we can make x1 is min
{8,16} = 8. So, row 2 becomes the pivot row.
The result of using EROs, to make x3 a basic
variable in row 2.
Canonical Form 2 Basic
Variable
Row 0 z + 5x2 + 10s2 + 10s3 = 280 z = 280
Row 1 - 2x2 + s1 + 2s2 - 8s3 = 24 s1 = 24
Row 2 - 2x2 + x3 + 2s2 - 4s3 =8 x3 = 8
Row 3 x1 + 1.25x2 - 0.5 s2 + 1.5s3 =2 x1 = 2
Row 4 x2 + s4 =5 s4 = 5
27
Ex. 2: Solution continued
In Canonical Form 2
BV = {z, s1, x3, x1, s4}
NBV = {s3, s2, x2 }
Yielding the bfs z = 280, s1=24, x3=8, x1=2, s4=5,
s2=s3=x2=0
Solving for z in row 0 yields
z = 280 - 5x2 - 10s2 -10s3
We can see that increasing x2, s2, or s3 (while
holding the other NBVs to zero) will not cause
the value of z to increase.
28
Ex. 2: Solution continued
The solution at the end of iteration 2 is
therefore optimal. The following rule can be
applied to determine whether a canonical
form’s bfs is optimal.
A canonical form is optimal (for a max problem) if
each nonbasic variable has a nonnegative coefficient
in the canonical form’s row 0.
29
4.6 Using the Simplex Algorithm
to solve Minimization Problems
Two different ways the simplex method can be
used to solve minimization problems.
Method 1 - Consider this LP
min z = 2x1 – 3x2
s.t. x1 + x2 ≤ 4
x1 – x2 ≤ 6
x1, x2 ≥ 0
The optimal solution is the point (x1,x2) that
makes z = 2x1 – 3x2 the smallest.
Equivalently, this point makes max -z = - 2x1
+ 3x2 the largest.
30
This means we can find the optimal solution to
the LP by solving this modified LP.
max -z = -2x1 + 3x2
s.t. x1 + x2 ≤ 4
x1 – x2 ≤ 6
x1, x2 ≥ 0
31
Initial Tableau
Row -z x1 x2 s1 s2 rhs BVs
0 1 2 -3 0 0 0 -z=0
1 0 1 1 1 0 4 s1 =4
2 0 1 -1 0 1 6 s2 = 6
ero1 -z x1 x2 s1 s2 rhs
0 1 2 -3 0 0 0
1 0 1 1 1 0 4
2 0 2 0 1 1 10
ero 2 -z x1 x2 s1 s2 rhs BVs
0 1 5 0 3 0 12 - z = 12
1 0 1 1 1 0 4 x2 = 4
2 0 2 0 1 1 10 s2 = 10
33
Method 2 - A simple modification of the
simplex algorithm can be used to solve min
problems directly.
Modify step 3 of the simplex algorithm
If all nonbasic variables (NBV) in row 0 have
nonpositive coefficients, the current bfs is optimal.
If any nonbasic variable has a positive coefficient,
choose the variable with the “most positive”
coefficient in row 0 as the entering variable.
This modification of the simplex algorithm
works because increasing a nonbasic variable
(NBV) with a positive coefficient in row 0 will
decrease z.
34
4.7 Alternate Optimal Solutions
For some LPs, more than one extreme point is
optimal. If an LP has more than one optimal
solution, it has multiple optimal solutions or
alternative optimal solutions.
If there is no nonbasic variable (NBV) with a
zero coefficient in row 0 of the optimal tableau,
the LP has a unique optimal solution.
Even if there is a nonbasic variable with a zero
coefficient in row 0 of the optimal tableau, it is
possible that the LP may not have alternative
optimal solutions.
35
4.8 – Unbounded LPs
For some LPs, there exist points in the feasible
region for which z assumes arbitrarily large (in
max problems) or arbitrarily small (in min
problems) values. When this occurs, we say
the LP is unbounded.
An unbounded LP occurs in a max problem if
there is a nonbasic variable with a negative
coefficient in row 0 and there is no constraint
that limits how large we can make this NBV.
Specifically, an unbounded LP for a max
problem occurs when a variable with a negative
coefficient in row 0 has a non positive
coefficient in each constraint.
36
4.9 The LINDO Computer
Package
LINDO (Linear Interactive and Discrete
Optimizer) is a user friendly computer package
that can be used to solve linear, integer, and
quadratic programming problems.
LINDO assumes all variables are nonnegative,
so nonnegative constraints are not necessary.
To be consistent with LINDO, the objective function
row is labeled row 1 and constraints rows 2-5.
View the LINDO Help file for syntax questions
37
To enter this problem into LINDO make sure
the screen contains a blank window (work
area) with the word “untitled” at the top of the
work area.
If necessary, a new window can be opened by
selecting New from the file menu or by clicking on
the File button.
The first statement in a LINDO model is always
the objective function.
MAX or MIN directs LINDO to solve a maximization or
minimization problem.
38
Enter the constraints by typing SUBJECT TO (or
st) on the next line. Then enter the
constraints.
LINDO assumes the < symbol means ≤ and the >
symbol means ≥.
There is no need to insert the asterisk symbol
between coefficients and variables to indicate
multiplication.
39
To save the file for future use, select SAVE
from the File menu and when asked, replace
the * symbol with the name of your choice.
The file will be saved with the name you select with
the suffix .LTX. DO NOT type over the .LTX suffix.
Save using any path available.
To solve the model, select the SOLVE
command or click the red bulls eye button.
When asked if you want to do a range (sensitivity)
analysis, choose no.
When the solution is complete, a display showing the
status of the Solve command will be present. View
the displayed information and select CLOSE.
40
The data input window will now be overlaying
the Reports Window.
Click anywhere in the Reports Window to bring
it to the foreground.
41
The LINDO output shows:
LINDO found the optimum solution after 2 iterations
(pivots)
The optimal z-value = 280
VALUE gives the value of the variable in the optimal
LP solution. Thus the optimal solution calls for
production of 2 desks, 0 tables, and 8 chairs.
SLACK OR SURPLUS gives (by constraint row) the
value of slack or excess in the optimal solution.
REDUCED COST gives the coefficient in row 0 of the
optimal tableau (in a max problem). The reduced
cost of each basic variables must be 0.
42
4.10 Matrix Generators, LINGO and
Scaling LPs
Most actual applications of LP use a matrix
generator to simplify the inputting of the LP.
A matrix generator allows the user to input the
relevant parameters that determine the LPs
objective function and constraints; it then
generates the LP formulation from that
information.
The package LINGO is an example of a
sophisticated matrix generator.
LINGO is an optimization modeling language
that enables users to create many constraints
or objective function terms by typing one line.
43
An LP package may have trouble solving LPs in
which there are nonzero coefficients that are
either very small or very large in absolute
value.
In these cases, LINDO will respond with a
message that the LP is poorly scaled.
44
4.11 Degeneracy and the Convergence
of the Simplex Algorithm
Theoretically, the simplex algorithm can fail to
find an optimal solution to an LP.
However, LPs arising from actual applications
seldom exhibit this unpleasant behavior.
The following are facts:
If (value of entering variable in new bfs) > 0, then
(z-value for new bfs) > (z-value for current bfs).
If (value of entering variable in new bfs) = 0, then
(z-value for new bfs) = (z-value for current bfs).
Assume that in each of the LP’s basic feasible
solutions all basic variables are positive.
45
An LP with this property is a nondegenerate
LP.
An LP is degenerate if it has at least one bfs
in which a basic variable is equal to zero.
Any bfs that has at least one basic variable
equal to zero is a degenerate bfs.
When the same bfs is encountered twice it is
called cycling.
If cycling occurs, then we will loop, or cycle, forever
among a set of basic feasible solutions and never get
to an optimal solution.
46
Some degenerate LPs have a special structure
that enables us to solve them by methods
other than the simplex.
47
4.12 The Big M Method
The simplex method algorithm requires a
starting bfs.
Previous problems have found starting bfs by
using the slack variables as our basic variables.
If an LP have ≥ or = constraints, however, a starting
bfs may not be readily apparent.
In such a case, the Big M method may be used
to solve the problem.
48
Example 4: Bevco
Bevco manufactures an orange-flavored soft drink called
Oranj by combining orange soda and orange juice.
Each ounce of orange soda contains 0.5 oz of sugar and 1
mg of vitamin C.
Each ounce of orange juice contains 0.25 oz of sugar and 3
mg of vitamin C.
It costs Bevco 2¢ to produce an ounce of orange soda and
3¢ to produce an ounce of orange juice.
Bevco’s marketing department has decided that each 10-oz
bottle of Oranj must contain at least 20 mg of vitamin C
and at most 4 oz of sugar.
Use linear programming to determine how Bevco can
meet the marketing department’s requirements at
minimum cost.
49
Example 4: Solution
Letting x1 = number of ounces of orange soda
in a bottle of Oranj
x2 = number of ounces of orange juice in a
bottle of Oranj
The LP is:
min z = 2x1 + 3x2
st 0.5x1 + 0.25x2 ≤ 4 (sugar constraint)
x1 + 3x2 ≥ 20 (Vitamin C constraint)
x1 + x2 = 10 (10 oz in 1 bottle of Oranj)
x 1 , x 2, > 0
50
Ex. 4 – Solution continued
The LP in standard form has z and s1 which could be
used for BVs but row 2 would violate sign restrictions
and row 3 no readily apparent basic variable.
Row 0: z - 2x1 - 3x2 =0
Row 1: 0.5x1 + 0.25x2 + s1 = 4
Row 2: x1 + 3x2 - e2 = 20
Row 3: x1 + x2 = 10
In order to use the simplex method, a bfs is needed.
To remedy the predicament, artificial variables are
created.
The variables will be labeled according to the row in which
they are used.
51
Ex. 4 – Solution continued
Row 0: z - 2x1 - 3x2 =0
Row 1: 0.5x1 + 0.25x2 + s1 = 4
Row 2: x1 + 3x2 - e2 + a 2 = 20
Row 3: x1 + x2 + a3 = 10
53
Description of the Big M Method
1. Modify the constraints so that the rhs of each
constraint is nonnegative. Identify each constraint
that is now an = or ≥ constraint.
2. Convert each inequality constraint to standard form
(add a slack variable for ≤ constraints, add an excess
variable for ≥ constraints).
3. For each ≥ or = constraint, add artificial variables.
Add sign restriction ai ≥ 0.
4. Let M denote a very large positive number. Add (for
each artificial variable) Mai to min problem objective
functions or -Mai to max problem objective
functions.
54
5. Since each artificial variable will be in the starting
basis, all artificial variables must be eliminated from
row 0 before beginning the simplex. Remembering M
represents a very large number, solve the
transformed problem by the simplex.
If all artificial variables in the optimal solution
equal zero, the solution is optimal.
If any artificial variables are positive in the
optimal solution, the problem is infeasible.
55
Ex. 4 – Solution continued
The variable with the positive coefficient in row
0 should enter the basis since this is a min
problem.
The ratio test indicates that x2 should enter the
basis in row 2, which means the artificial
variable a2 will leave the basis.
Use EROs to eliminate x2 from row 1 and row 3.
The ratio test indicates that x1 should enter the
basis in the third row, which means then that
a3 will leave the basis.
56
Ex. 4 – Solution continued
The optimal solution for Bevco is z=25, x1=x2 =
5, s1=1/4, e2=0.
This means that Bevco can hold the cost of
producing a 10-oz. bottle of Oranj to $.25 by
mixing 5 oz of orange soda and 5 oz of orange
juice.
57
If any artificial variable is positive in the
optimal Big M tableau, then the original LP has
no feasible solution.
58
4.13 The Two-Phase Simplex Method
When a basic feasible solution is not readily
available, the two-phase simplex method may
be used as an alternative to the Big M method.
In this method, artificial variables are added to
the same constraints, then a bfs to the original
LP is found by solving Phase I LP.
In Phase I LP, the objective function is to
minimize the sum of all artificial variables.
At completion, reintroduce the original LP’s
objective function and determine the optimal
solution to the original LP.
59
Because each ai ≥ 0, solving the Phase I LP will
result in one of the following three cases:
The optimal value of w’ is greater than zero.
The optimal value of w’ is equal to zero, and no
artificial variables are in the optimal Phase I basis.
In this case, drop all columns in the optimal Phase I
tableau that correspond to the artificial variables.
Now combine the original objective function with the
constraints from the optimal Phase I tableau.
This yields the Phase II LP.
The optimal value of w’ is equal to zero and at least
one artificial variable is in the optimal Phase I basis.
60
4.14 Unrestricted-in-Sign Variables
If some variables are allowed to be unrestricted
in sign (urs), the ratio test and therefore the
simplex algorithm are no longer valid.
An LP with an unrestricted-in-sign variable can
be transformed into an LP in which all variables
are required to be non-negative.
For each urs variable, define two new variables x’i
and xni.
Then substitute x’i - xni for xi in each constraint and
in the objective function. Also add the sign
restrictions.
61
The effect of this substitution is to express xi as the
difference of the two nonnegative variables x’i and
xni.
No basic feasible solution can have both x’i ≥ 0 and
xni ≥ 0.
For any basic feasible solution, each urs
variable xi must fall into one of the following
three cases.
1. x’i > 0 and xni = 0
2. x’i = 0 and xni > 0
3. x’i = xni = 0
62
4.15 Karmarkar’s Method for Solving
LPs
Karmarkar’s method requires that the LP be
placed in the following form
min z = cx
s.t. Kx = 0
x1 + x2+ ∙∙∙ xn = 1
and that xi ≥ 0
The point x 0 1 1 1 be feasible for this LP.
n n n
The optimal z-value for the LP equals 0.
Karmarkar’s method has been shown to be a
polynomial time algorithm. This implies that
if an LP of size n is solved by Karmarkar’s
method, then there exist positive numbers a
and b such that for any n can be solved in a
time of at most anb. 63
4.16 Multiattribute Decision Making in the
Absence of Uncertainty: Goal Programming
64
Example 10: Burnit Goal
Programming
The Leon Burnit Adveritsing Agency is trying to
determine a TV advertising schedule for
Priceler Auto Company.
Priceler has three goals:
Its ads should be seen by at least 40 million high-
income men (HIM).
Its ads should be seen by at least 60 million low-
income people (LIP).
Its ads should be seen by at least 35 million high-
income women (HIW).
Leon Burnit can purchase two types of ads:
those shown during football games and those
shown during soap operas.
65
Ex. 10 - continued
At most, $600,000 can be spent on ads.
The advertising costs and potential audiences
of a one-minute ad of each type are shown.
Millions of Viewers
Ad HIM LIP HIW Cost (S)
Football 7 10 5 100,000
Soap Opera 3 5 4 60,000
min (or max) z=0x1 + 0x2 (or any other objective function)
s.t. 7x1 + 3x2 ≥ 40 (HIM constraint)
10x1 + 5x2 ≥ 60 (LIP constraint)
5x1 + 4x2 ≥ 35 (HIW constraint)
100x1 + 60x2 ≥ 600 (Budget constraint)
x1, x2 ≥ 0
From the graph it can be seen that no point satisfies the
budget constraint meets all threes of Priceler’s goals.
67
Ex. 10 – Solution continued
Since it is impossible to meet all of Priceler’s
goals, Burnit might ask Priceler to identify, for
each goal, a cost that is incurred for failing to
meet the goal.
Burnit can then formulate an LP that minimizes
the cost incurred in deviating from Priceler’s
three goals.
The trick is to transform each inequality
constraint that represents one of Priceler’s
goals into an equality constraint.
68
Ex. 10 – Solution continued
Since it is not known whether a given solution
will undersatisfy or oversatisfy a given goal, we
need to define the following variables.
si+ = amount by which we numerically exceed the ith
goal
si- = amount by which we are numerically under the
ith goal
The si+ and si- are referred to as deviational
variables.
Rewrite the first three constraints using the
deviational variables.
69
Ex. 10 – Solution continued
Burnit can minimize the penalty from Priceler’s
lost sales by solving the following LP.
-
min z=200s1 + 100s2- + 100s3- (or any other objective function)
-
s.t. 7x1 + 3x2 + s1 - s1+ = 40 (HIM constraint)
-
10x1 + 5x2 + s2 - s2+ = 60 (LIP constraint)
-
5x1 + 4x2 + s3 - s3+ = 35 (HIW constraint)
The optimal solution meets goal 1 and goal 2
100x1 + 60x2 ≤ 600 (Budget constraint)
All variables nonnegative
but fails to meet the least important goal.
70
Pre-emptive goal programming problems can
be solved by an extension of the simplex
known as the goal programming simplex.
The differences between the goal programming
simplex and the ordinary simplex are:
The ordinary simplex has a single row 0, whereas the
goal programming simplex requires n row 0’s (one
for each goal).
In the goal programming simplex, different method
is used to determine the entering variable.
When a pivot is performed, row 0 for each goal must
be updated.
71
A tableau will yield the optimal solution if all goals
are satisfied, or if each variable that can enter the
basis and reduce the value of zi’ for an unsatisfied
goal i’ will increase the deviation from some goal i
having a higher priority than goal i’.
If a computerized goal program is used the
decision maker can have a number of solutions
to choose from.
When a preemptive goal programming problem
involves only two decision variables, the
optimal solution can be found graphically.
LINDO can be used to solve preemptive goal
programming problems.
72
4.17 Using the Excel Solver to Solve
LPs
Excel has the capability to solve linear
programming problems.
The key to solving an LP on a spreadsheet is to
set up a spreadsheet that tracks everything of
interest.
Changing cells and target cells need to be
identified.
73