l A TSO PRESENTATION OF A DECOMPOSITION TECHNIQUE 1/1 FOR SOLVING LARGE-SCALE MULTIDIVISIONAL LINEAR PROGRAMMING PROBLEMS By WILLIAM ARTHUR SENTERS ,, Bachelor of Science Oklahoma State University Stillwater, Oklahoma 1975 Submitted to the Faculty of the Graduate College of the Oklahoma State University in partial fulfillment of the requirements for the Degree of MASTER OF SCIENCE December, 1978
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
l
A TSO PRESENTATION OF A DECOMPOSITION TECHNIQUE 1/1
FOR SOLVING LARGE-SCALE MULTIDIVISIONAL
LINEAR PROGRAMMING PROBLEMS
By
WILLIAM ARTHUR SENTERS ,,
Bachelor of Science
Oklahoma State University
Stillwater, Oklahoma
1975
Submitted to the Faculty of the Graduate College of the Oklahoma State University
in partial fulfillment of the requirements for the Degree of MASTER OF SCIENCE
December, 1978
A TSO PRESENTATION OF A DECOMPOSITION TECHNIQUE
FOR SOLVING LARGE-SCALE MULTIDIVISIONAL
LINEAR PROGRAMMING PROBLEMS
Thesis Approved:
Thesis Advise~r
/;J.F ~~ I
Dean of Graduate College
:1019533
ii
PREFACE
This study was concerned with the development of an interactive
program designed to aid the student in learning the decomposition
technique. The primary objective is to give the student an opportunity
to learn the concepts of decomposition at his own rate and at the time
he chooses. The program allows the student to visualize how a computer
algorithm goes about solving such a problem.
I would like to express my appreciation to my advisors, Dr. George
Hedrick and Dr. Donald Grace for their assistance and encouragement
through the years, and to Dr. Billy Thornton for giving me a solid
start in the field of operations research. Appreciation is also ex
pressed to Dr. Scott Turner for giving his time and encouragement in
being a committee member. I express special gratitude to my wife,
Deborah, for her love and understanding and for being nearby when
needed.
iii
TABLE OF CONTENTS
Chapter Page
I. INTRODUCTION. 1
II. THE REVISED SIMPLEX METHOD. 4
III. THE DECOMPOSITION ALGORITHM 10
IV.
Angular Structure ... Formulation of the Model Development of Algorithm .
Step l - Determine the entering basic variable. Find Cs = min
element of C~ where s is the index for the entering variable.
Step 2 - Optimization test
If C >= 0 stop. s
If Cs < 0 compute the updated column P~ = B-1 • P and the s s
new simplex multipliers n = C • B- 1 and the new cost factors B
=
Step 3 - Determine the leaving basic variable.
find r as the
index for the variable being removed from the basis by
finding min b;/a: for a~ > 0. ~ ~s ~s
Step 4 - Update the basic solution. Derive new B-1 and set
X = B-1 • b. B
Return to Step 1.
In Step 4, B- 1 could be derived each time by using a standard
computer routine for inverting a matrix. However, since B and B- 1
change by only one vector from one iteration to the next, it is much
more efficient to derive the new B-1 (denote it by B~~w) from the B-1
at the preceding iteration (denote it by B;ld). To do this, let xk
be the entering basic variable, afk be the coefficient of xk (these
coefficients are determined in Step 2), and r be the index of the
column in the preceding basis that is being replaced. The new B- 1
can now be expressed in matrix notation as B~~w = E ·B;±d where the
matrix E is an elementary matrix, i.e., an identity matrix except that
its rth column is replaced by the vector
n =
nm
E can be written as
E =
1 0
0 1
0 0
0 0
where n. = ~
· -aik/a;k
-a2k/a;k
- afk ' if i # r ,
ark
1 if i = ' r a;k
0
0
0
1
8
Of course, in the actual coding of this method the entire E matrix does
not need to be physically built. Only the n vector need be computed,
which could save considerable storage.
If t is allowed to represent the tth iteration then in general the
inverse of the tth basis can b.e obtained from
B-1 -t -
Until now it was assumed that the matrix B contained no artifi-
cial variables or negative slack variables and was therefore equal to
the identity matrix at the beginning of the procedure.
If "=" and/or ">=" constraints are included in the model, artifi-
cial and negative slack variables must be added as in the regular
Simplex Method. The procedure has to begin with a basis consisting of
an identity matrix that corresponds to either real or artificial vee-
tors. A two-phase approach can 'then be used. If the procedure starts
with artificial vectors, a basic feasible solution must be determined
by Phase I, of which the computation is not included in this report.
Phase I can be interpreted as minimizing the sum of the artificial
variables over the feasible region. If a feasible solution is attain-
able, the artificial variables can be driven to zero.
Once an initial basic feasible solution is found Phase II solves
for optimality by the Revised Simplex Method. If the constraints are
all "<=" Phase I may be bypassed.
CHAPTER III
THE DECOMPOSITION ALGORITHM
Angular Structure
There has been a tremendous increase in the division of labor and
segmentation of management responsibilities in organizations recently.
There is also a tendency for the different divisions of an organization
to become independent of the organization as a whole with their own
goals and restrictions. This lends itself to a special class of prob-
lems called multidivisional, to which most large problems belong ..
Their special feature is that
the problem is almost decomposable into separate.problems, where each division is concerned only with optimizing its own operation. However, some overall coordination is required in order to best divide certain organizational resources among the divisions (4, p.l42).
Decomposition ideas and methods are as old as linear programming (6).
But the first workable decomposition algorithm was introduced by
Dantzig and Wolfe in 1959 (3). The basic algorithm that this report
will refer to is quite simple, at least for those familiar with the
mathematics of linear programming and the Revised Sim~lex Method.
The Decomposition Method can be thought of as having each division
solve its own subproblem and send its proposed solution to a central
coordinator who can coordinate the proposals from all the divisions,
impose the corporate viewpoint, and find the optimal solution for the
10
11
overall organization. This is accomplished, not by explicitly imposing
the corporate constraints on the divisions, but by "economic pressure"
in the form of adjustments to the divisions' profit or cost coeffi-
cients to reflect their use of corporate resources. Therefore, we can
reformulate the model in an angular st~cture as follows:
n Minimize r c •x
k=1 k k
subject to: A1 A2 . A n xo bo
B1 0 . . 0 x1 b1
0 B2 0 x2 b2 <=
. -0 0 • B
n X bn n
where the Aj , j = 1, 2, ... , n are matrices that r·epresent the corporate
(linking) constraints. These constraints link the divisions by making
them share the organizational resources available. And the
Bj' j = 1,2, ••. , n represent the divisional constraints of each divi
sion. (0 are null matrices).
Formulation of the Model
At this point let us assume that the set of feasible solutions for
each division is bounded. The solution space for each division is
bounded by the constraint equations on the divisional resources. These
equations define a "flat" geometrical shape (called a hyperplane) in
n-dimensional space analogous to the line in two-dimensional space
and the plane in three-dimensional space. The simultaneous solution of
two constraint equations defines an extreme point. And since we are
12
restricted to linear models the set of points Xk such that Xk >= 0
and Bk • X k = 1Jk constitute a convex set with a finite number of ex
treme points. Therefore, under the assumption that the set is bounded,
any point in the set can be represented as a convex combination of the
extreme points of the set.
Consider the solution space for kth division; call it Sk.
i.e. Sk = {Xk j-Bk • Xk <= bk and~ >= 0}. Any point in Sk can
be represented as a (convex combination) weighted average of the ex
treme points of Sk. (Let X~= jth e.p. of division k). Then
x* k
= Xj is any feasible point of the kth division, where k
* Therefore, this equation for Xk and the so-called
"normalizing" or "convexity" constraints on the /..~ provide a way of
representing the feasible solutions to division k without using any of
the original constraints. Hence, the overall problem can now be re-
formulated with far fewer constraints as
n n Maximize Z = Z Z
k=l j= l
n n (A ·Xj)
j }: z ·\ = bo
k=l j=l k k subject to:
n /..j z = 1
j=l k
and j
/..k >= 0, k = 1,2, ... ' n
This formulation is completely equivalent to the one given ea.rli-
er. However, since it has fewer constraints, it should be solvable
with much les3 computational effort. It also has as many columns as
13
the solution space S has extreme points, which may be thousands. This
fact does not matter much if the Revised Simplex Method is used, as the
columns to enter the basis are generated only as they are needed.
Development of Algorithm
Recall that with the Revised Simplex Method the vector of simplex
multipliers ~ = CB • B- 1 ) is used in computing the relative cost
coefficients. During decomposition ~ needs to be partitioned as
(;1,~ 0 ) with ;1 associated with the reformulated division constraints
and ~ 0 associated with the convexity constraints. Let m denote the
number of corporate (linking) constraints. Let (B- 1) 1 be the matrix ;m
consisting of the first m columns of B- 1, and let (B- 1 )j be the vector
consisting of the jth column of B-1. Then ~ 1 = C •(B- 1 ) a vector B 1 ;m
and ~ 0 = CB•(B- 1)m+j a scalar.
As in the regular Simplex Method, it must be determined whether or
not the current feasible solution can be improved by pricing out vector
Pj' a vector of A. Vector Pj is priced out as in the Revised Sim~lex
Method by ~ 1 ·Pj- cj.
The usual simplex criterion asks that we find
It should be noticed. that the above equation is independent of
the scalar ~ 0 •
Therefore, the first step at each iteration requires solving n
(number of divisions) linear programming problems of the type that
follows.
Minimize
subject to:
and
(;- •A - cj) X . 1 j j
B •x j j
=
>= 0
14
Step 1- Using the simplex multipliers ~ 1 solve tbe division sub-
problems as above obtaining solutions and optimal objective
values Z .. l
Step 2 - Compute the min Zi + ~o = f j
Stopping rule
If f. >= 0 the optimal solution can now be J
letting xj .th extreme point of division
k = J
calculated.
k and A~ the
weights on these extreme points the optimal solution can
By
be
calculated as ~ (A~·Xk) for every division k where the Xk's .1
are the extreme points of the solution space corresponding
to the A~ in the basis of the corporate problem. This cal-
culation results in a vector for each division, each vector
consisting of the number of elements as there are variables
for that division.
Stop.
Step 4 - If f. < ·0 form the column to enter the basis as J
p.. = j
II
where II is an n component vector with a. one in position
j and zeroes elsewhere and A. is the matrix of coefficients J
of the corporate constraints for division j.
Step 5 - For the Revised Simplex Method to determine the leaving
basic variable it is necessary to calc~late the current
coefficients and right hand side as B- 1·Pj and B- 1·b'.
bo b' being the vector of
1
vector of all l's.
Step 6 - Obtain a new basis inverse.
Obtain new simplex multipliers.
Go back to Step 1 and repeat.
where 1 is an n component
1~
CHAPTER IV
DISPLAY DEVICES
Time-Sharing Option Terminals
Any visual display device that can be used as a time-sharing
option (TSO) terminal can be used to execute this decomposition presen
tation. Most TSO terminals differ only in the way the data is entered
and displayed. Therefore, a basic understanding of the terminal being
used will be helpful, much like one should know how to operate a type
writer before he can learn to type.
Three common devices used with TSO are the IBM 3277, Decwriter,
and Decscope. General·and brief instructions for each are included in
this chapter. There are many models of each and detailed instructions
might differ among them.
IBM 3277
An IBM 3277 is a device that consists of a screen to display out~
put much like a television screen. Instead of displaying one line at a
time, it can display a number of lines at one time. This is referred
to as a pag~. The size of the page may differ with each model but the
most common page is 22 lines long. The user has some control over when
information is displayed. To enter information into the system, the
IBM 3277 utilizes a keyboard. Data entered through the keyboard is
16
17
also displayed on the screen. A cursor indicates where on the screen
information will be displayed. To enter a command or answer a ques
tion, the user types the command or answer on the keyboard and depres
ses the 'ENTER' key. To retype any portion of the line he depresses
the backspace (+) key. However, any mistakes must be corrected before
the 'ENTER' key is depressed.
The program has one peculiarity when 3277 units are used: at
times part of a page will be displayed at one time .and the rest of the
page on the next screen. In order to prevent this from happening, the
'CLEAR' key should be depressed before entering a command. The 'CLEAR'
key will clear the screen and bring the cursor to the top, then the
entire next page can be displayed.
Decscope
A Decscope is similar to an IBM 3277. It too has a keyboard and
screen with a cursor. To enter data into the system via a decscope
the user types the command on the keyboard and depresses the 'RETURN'
key. However instead of displaying a page at a time, the decscope
writes only one line at a time, then spaces it up. As the information
reaches the top of the screen, it is lost. Again, any pertinent infor
mation should be recorded for future reference as it is lost upon
leaving the screen. There is no possibility of only half a page
appearing on the screen at a time; therefore, to continue the session
it is not necessary to clear the screen before displaying the next
page.
18
Decwriter
The Decwriter is a simple typewriter-type terminal with a key
board for input and a. hard copy printer for output. There are various
models of Decwriters varying in the kind of printing mechanism, the
speed of printing, and a number of other aspects. The Decwriter is
similar to the Decscope in that only a line at ~ ~ime is printed. To
enter data the user depresses the carriage returfl after the data are
typed. To learn the details of operating a particular model one
should read the operations manual of that model.
Because the Decwriter uses a mechanical printing device rather
than an electronic display device it is slower than the IBM 3277.
However, it does allow the user to maintain a hard copy of the session
for future reference.
CHAPTER V
PROGRAM DESCRIPTION
The program written in connection with this study is designed to
convey basic ideas about decomposition. This chapter describes the
function of the program, its limitations and some of the problems
encountered. The program was developed to be used on a TSO(time shar
in~ system. Most TSO terminals have a typewriter-like keyboard to
enter data. The features of each keyboard vary from terminal to
terminal.
The program consists of three major TSO data sets working together
to accomplish the desired results. They are named DECOMP, PAGE, and
JESSE.
Data Set DECOMP
A command procedure is a TSO data set of prearranged executable
sequence of commands with a description qualifier of 'CLIST'. The data
set DECUMP is a command procedure or 'CLIST' created to control the
processing of the overall program.
DECOMP is divided into two parts, Part l and Part 2. Part l con
trols the display of the pages of the text. The text begins by giving
the background of decomposition. It follows with a description of the
technique and gradually leads the student through the theory of the
algorithm and an example.
19
20
The program is interactive in that the user can proceed, not only
at his own rate, but to whatever degree of detail he wishes. The pro
gram.is designed to take the student through a general approach to
decomposition. He may request further instruction on any topic, as
needed. The user must read the information and answer questions based
on what he has just learned. The program will immediately tell the
user if he has answered correctly or incorrectly, and either allow him
to proceed or to review the information and attempt to answer the
question again. There are several places where the user can stop and
start over at the beginning if he feels it is necessary or reread pre
vious pages.
At the conclusion of Part l the user has three choices. He can
go through Part l again, terminate the session at that point, or enter
Part 2.
Part 2 lets the user enter his own data to be run through a decom
position program named JESSE. Part 2 may be entered as often as needed
to run more than one-problem.
For greater detail on input and output, consult the User's Guide,
Appendix A.
Data Set PAGE
A 'DATA' type data set contains any unformatted upper case data
of any type. PAGE is a 'DATA' data set that contains all the pages of
the text for Part l of the program. The command procedure DECOMP de
termines when these pages will be displayed. Each p~ge explains ideas
and gives instructions to the user prompting his response to questions.
Briefly, DECOMP controls the interaction betw~en the responpes from
21
the user and the text in PAGE.
The pages begin by indicating the assumptions made about the stu
dent's background in L.P. and Revised Simplex and gives an introduction
to the operations of the program. It then continues with the back
ground of decomposition and a development of the technique.
It then concludes with a step-by-step procedure to solve a decom
position problem and gives an example of the procedure.
Data Set JESSE
JESSE is a data set containing a Fortran program that executes a
decomposition algorithm. It is used exclusively in Part 2 of the over
all program. It allows the student to input the necessary coefficients
to a decomposition problem. As it solves the problem, intermediate
results are printed to allow the student to follow the progress of the
algorithm.
For greater detail on input and output of Part 2, consult the
User's Guide, Appendix A.
Limitations of Part 1
The user has the option of reviewing certain information but the
information to be reviewed is not at the discretion of the user. The
reviewed pages are predefined by the control program. The information
contained in the program is the only information available to the user.
Unlike classroom instruction where some personalized instruction is
available and questions may be asked, programmed instruction limits the
amount of feedback from the student. When using a terminal other than
a Decwriter, the user should take notes to which he can refer later.
22
Limitations of Part 2
The actual program that performs the decomposition algorithm con
tains a few limitations on the type of problem that can be solved. The
problem must have no more than 20 subdivisions and no more than 20
constraints each. It must have no more than 20 corporate constraints
and all constraints must be "less than or equal to" inequalities.
Further Study
The possibilities of refinement of the presentation seem unlimit
ed. A more sophisticated interactive program could be written to
include more questions and examples and even keep a score to judge
the student's progress.
Further study could also be done to incorporate a graphical repre
sentation of the decomposition concepts, as done by Adams (1) for basic
Linear Programming.
Part 2 could be further developed to include problems with "great
er than or equal to" inequalities. Part 2 was written in Fortran which
limits its generality. A program which lent itself to variable dimen
sioning would require fewer limitations on the size of the problem.
CHAPTER VI
SUMMARY AND CONCLUSIONS
This report describes a method whereby the concepts of decomposi
tion can be presented interactively using a time-sharing option (TSO)
terminal. The first chapter is an introduction to the report. It
discusses linear programming and leads into the large scale linear pro
gramming problem. Chapter II reviews the Revised Simplex Method.
Chapter III describes a way of solving a large-scale problem. ·It
covers the decomposition method and the formulation of the decomposi
tion model. It then presents a six step decomposition algorithm.
Chapter IV discusses three common time-sharing terminals that can be
used to execute the program, along with their differences that may
cause some difficulty in operation. Chapter y d~scr~bes the function
and internal operation of the program, its limitations, and some of
the problems encountered. It is assumed that the user has some know
ledge of linear programming, especially of the Revised Simplex Method.
Appendix A is a User's Guide of detailed instructions on the oper
ations of the program. Appendix B gives instructions for storing and
changing the prognam, allowing for changes to the tutorial text. Ap
pendix C is an example of a short session that a user m:ight execute.
Appendix D contains the logic block diagrams of the control data set
and the decomposition program. And Appendixes E and F are listings of
the tutorial text and the control data set.
23
Any organization that has access to a TSO system has access to a
valuable educational tool. A training program can benefit greatly by
using the interactive capabilities of the system for pedagogical pur
poses. With a system of this kind the educational process is not
subject to the inconsistent performance of an instructor. More time
can be spent in preparing the sessions, which may be prepared by many
educators, therefore achieving a more ,efficient presentation. Many
times students contribute greatly to a particular subject during a
24
lab or seminar. These contributions which would otherwise be lost,
can be incorporated in the programmed instructions for the benefit of
future classes. In effect it eliminates the human error factor from
classroom instruction. However, it should be remembered that program
med instruction as discussed in this report is a tool of education
and is not meant to replace classroom instruction. Such a tool is
meant to give supplemental aid to the student, thus allowing the
teacher more time to give individual attention.
BIBLIOGRAPHY
(1) Adams, Marsha Lynn. 11Tutorial and Visual Display of the Basic Concepts of Two Dimensional Linear Programming." (Unpub. M.S. report, Oklahoma State University, 1975.)
(2) Dantzig, George B. Linear Programming and Extensions. Princeton, New Jersey: Princeton University Press, 1963.
(3) Dantzig, George B., and Wolfe, Philip. "Decomposition Principle for Linear Programs." Operations Research. Volume 8, Jan., 1960~
(4) Hillier, Frederick S., and Lieberman, Gerald J. Operations Research. 2nd Edition, Holden-Day Inc., 1974.
(5) Lasdon, Leon S. Optimization Theory for Large Systems. New York: The MacMillan Company, 1970.
(6) Orchard-Hays, William. Advanced Linear Programming Computing Techniques. McGraw-Hill Book Company, 1968.
(7) Wagner, G. R. Learning." 1972), pp.
"Conversational Linear Programming for Experiential Engineering Education. Volume 62, No. 7 (April, 824-826.
(8) Zacharov, B., Davies, B. W., and Chau, A. Y. C. "Island- An Interactive Graphics System for Mathematical Analysis." The Computer Journal. Volume 17, No. 2 (May, 1974), pp. 104-112.
25
APPENDIXES
26
APPENDIX A
USER'S GUIDE
27
DECOMP can be executed on any system containing the TSO time
sharing options. The user must first acquire a TSO user ID from his
computer center and find out the ID number under which the program is
stored. Once this is done he can log on and begin the session in the
following manner.
STEPS
1. To log on any TSO terminal, use the keyboard to key in the
command LOGON aaaaaaa. Where aaaaaaa is the TSO user ID number.
2. Depress the ENTER or RETURN key. (If the number is invalid,
the message INVALID 1PROJECT NUMBER will appear. If this happens, try
Step 1 again. If the situation persists, consult the computer center
about the ID number.
3. If the number is password protected, you will be asked for
the password. Key in the password.
28
4. Depress the ENTER or RETURN key. (If the password is invalid
the message INVALID PASSWORD FOR USER ID aaaaaaa will appear. If this
happens, go to Step 1 again. If it happens again consult the computer
center.)
5. To begin the session, the user should key in EXEC 'TSO.bbbbbbb
DECOMP.CLIST'. Where bbbbbbb is the TSO ID number the program is
stored under at the installation.
6. Depress the ENTER or RETURN key. The progr~ will now begin
executing.
Executing DECOMP
The first screen of information is general instructions on using
the program. Detailed instructions are given.at each step when a
29
response is required by the user.
1. After reading the instructions thoroughly, depress ENTER or
the carriage return. (If an IBM 3277 is used, the program generates a
message tu the user to clear the screen before each enter.)
2. The first page of the text will then appear. It explains that
the session is in two parts, the tutorial text and an executable pro
gram. A choice is given as to which part to execute, enter the appro
priate response. You will then be prompted for your name.
3. Assuming the student wishes to step through the text, the
second page will appear, outlining the main context of the text, along
with additional instructions.
4. Pages 3 and 4 give an introduction into multidivisional pro
blems and explain the angular structure of their constraints. Again
press ENTER or RETURN after each page.
5. Page 5 presents the first question of the session. The mes
sage ANS = will be printed allowing the answer to be entered immedi
ately following the message. Three chances will be given to answer the
question correctly. Upon request the program will return to Page 3 for
a review.
6. Page 6 explains the answer to Question #1.
7. A general description of decomposition is then presented
followed by Question #2. Again three chances are given to enter the
correct answer and an explanation of the answer is given.
8. Page 9 defines a multidivisional problem and the constraints
needed for reformulation. If the student wishes he can view Page 10
for an in depth study of the reformulation.
9. Otherwise he can continue to Page 11 and Question #3 on
30
reformulation. Again the message ANS = is printed to prompt a re
sponse. If all three chances are used he will be given the opportunity
to review Page 10.
10. Page 12 discusses why the simplex multipliers need to be
partitioned for decomposition. Here the student is given the opportun
ity to continue discussion at a more detailed level by requesting to
view Page 13.
11. Or the student can continue to Page 14 and be given Question
#4 on why the simplex multipliers are partitioned. The format for the
response is similar to-Question #2 and #3. And a chance is given to
request a review of Page 13.
12. At this point the student may choose to see the six step
simple algorithm or continue to Part 2. The steps are presented on two
pages and at the end of the second page the student may choose to see
an example of how the algorithm works.
Execution of the Example
The student is take-n through the entire execution of an actual
problem. Intermediate results are given at each step to help the stu
dent visualize the process taken at that point by the use of the inter
active capabilities of the program. Further explanation and actual
computations are available to the student at critical steps.
The first page of the example defines the problem to be solved.
For efficiency purposes a problem was chosen from .Hillier & Lieberman
(4). The problem consists of two divisions of no more than two con
straints each and two variables each. All matrices and vectors are
singled out for clarity. Unless the user is using a decwriter he
should copy this information down for future reference before depress
ing ENTER to continue.
Execution of Part 2
31
Part 2 is a Fortran program that uses the decomposition algorithm
mentioned in Part 1 to solve a problem who's data is entered through
the terminal. All the data to be entered will be asked for by appro
priate prompting messages.
The first bit of information to be entered is a title to the pro
blem. After the title is entered messages will be displayed asking for
the number of divisions and the number of corporate constraints. These
values should be entered as integer numbers without a decimal point.
The right hand side of the corporate constraints will be asked for
next. These will be read with a Fortran format of F5.2, which means
the first value should be entered with a length of no more than 5 di
gits with the decimal point typed and no more than 2 digits to the
right of the decimal point. Insignificant zeroes to the left or right
of the decimal point do not need to be entered. The enter key should
be depressed after each value is typed. This results in entering one
value per line until all values are entered. The rest of the data is
entered in four steps for each division as follows:
1. Prompting message - 'Type # constraints and # variables for
Division 1'
Response - Enter 2 integer values, one per line.
2. Proinpting message - 'Type x coefficients of the objective
function for Division 1'
Response - Enter x number of real values with the decimal
point as described above, one per line.
3. Prompting message - 'Type x coefficients of Division 1 con
straints'
Response- Again enter x number of real values, one per line.
4. Prompting message - 'Type x coefficients of the RHS of Divi
sion 1'
Response- again enter x number of real values, one per line.
32
The preceding steps will be repeated for each division. When all
data are entered a matrix representation of the program will be dis
played giving the user a chance to view the data and then the opportun
ity to reenter the data if necessary.
Once the data are entered correctly the prog·ram solves the problem
using the decomposition method mentioned in Part 1, giving intermediate
results at each iteration.
APPENDIX B
INSTRUCTIONS FOR STORING AND CEJu~GING PROG~ffi
33
34
The sequential data sets that make ~p this program are stored at
the Oklahoma State University TSO library under the 'l'SO user identifi-
cation number of Ul6300A. 'rheir full qualification is as follows:
To store the programs under a personal identification number, a
simple copy command on TSO of the form COPY 'TSO.Ul6300A.name.type'
'TSO.aaaaaaa.name.type' is all that is needed (where aaaaaaa is the
personal identification number of the user).
Once the user has stored the data sets a few changes must be made.
At p~esent DECOMP, which controls the flow of the program, lists the
tutorial text by its fully qualified name. The full qualification must
be changed to the user's ID as follows.
STEPS
It is assumed the user has logged on his own TSO ID and copied the
data sets.
1. With TSO in the READY mode, edit the CLIST by the command
E.DECOMP.CLIST.
2. Once in the EDIT mode, enter the following command:
C 10 50000 /Ul6300A/aaaaaaa/ALL (where aaaaaaa is the user's ID number).
This command changes all occurances of a fully qualified data set name
to the user's ID.
3. Get out of the edit mode by entering END S.
Before the programs can be executed, one other change must be
made. DECOMP calls an object module of the fortran program. Assuming
the user has acquired a copy of the fortran source program JESSE.FORT
he must now create an object module as follows.
With TSO in the READY mode, compile the fortran program by
entering the command FORT JESSE. This compile will create an object
module and the program will be ready to execute.
35
If any changes are made to either the CLIST DECOMP or the tutorial
text PAGE, caution must be exercised. There is a close relationship
between these two data sets and a similar relationship must be present
after any changes are made.
Changes may also be made to the source program JESSE, although
this program can be altered as you would any program written in a high
level programming language. Each time the program is altered, a new
object module must be created as above.
APPENDIX C
SAMPLE OF A SHORT SESSION
36
exec deco111p THIS PROGRAM IS DESIGNED TO OPERATE ON ANY TSO TERMINM.. IT IS INTERACTIVE, MEANING THE USER WILL BE PROMPTED FOR A RESPONSE. A DECWRITER IS PREFERRED SINCE YOU CAN MAINTAIN A HARDCOPY OF THE SESSION AND REFER TO IT AT ANY TIME. HOWEVER, DECSCOPES AND IBM 3277'S CAN ALSO BE USE~• THE OPERATION OF A DECSCOPE AND DECWRITER IS SLIGHTLY DIFFERENT THAN A 3277. IF YOU ARE USING A DECSCOPE 0~ DECWRITER, AFTER TYPING A RESPONSE PRESS THE RETURN KEY. HOWEVER, WITH THE 3277 YOU MUST CLEAR THE SCREEN FIRST THEN ENTER YOUR RESPONSE. THE INSTRUCTIONS DURING A SESSION ASSUME YOU ARE USING AN IBM 3277.
IF YOU ARE USING A 3277 OR SIMILAR TERMINAl ENTER CRT
PAGE.DATA A TSO PRESENTATION OF THE
DECOMPOSITION TECHNIQUE OF LINEAR PROGRAMMING
THIS PRESENTATION IS DESIGNED TO GIVE THE ADVANCED STUDENT A BETTER UNDERSTANDING OF DECOMPOSITION. IT IS DIVIDED INTO TWO PARTS.
yes
PART 1. A TUTORIAL TEXT THAT TAKES THE STUDENT THROUGH THE DEVELOPMENT OF DECOMPOSITION. IT IS ASSUMED THE STUDENT HAS A THOROUGH UNDERSTANDING OF LP AND REVISED SIMPLEX.
PART 2. AN EXECUTABLE PROGRAM THAT LETS YOU ENTER YOUR OWN DATA TO BE RUN AND GIVES YOU INTERMEDIATE RESULTS TO ALLOW YOU TO MONITOR ITS PROGRESS.
IF YOU WOULD LIKE TO STEP THROUGH PART 1 ENTE~YES.
IF YOU WANT TO RUN DATA ENTER NO.
TYPE IN YOUR NAME AND HIT ENTER. b i ll
PAGE.DATA DECOMPOSITION
THIS IS A DEVELOPMENT OF THE DECOMPOSITION TECHNIQUE OF LINEAR PROGRAMMING. IT IS ASSUMED THE STUDENT'S BACKGROUND INCLUDES A THOROUGH UNDERSTANDING OF LINEAR PROGRAMMING AND REVISED SIMPLEX. THE TEXT WILL COVER~ .
1. MULTIDIVISIONAL PROBLEMS 2. THEIR ANGULAR STRUCTURE 3. THE DECOMPOSITION APPROACH - THEORY 4. A DECOMPOSITION ALGORITHM 5. AN EXAMPLE
EVERY SO OFTEN A QUESTION WILL BE ASKED OF YOU. TYPE IN THE ANSWER AND PRESS ENTER. IF AT ANYTIME YOU WANT TO TERMINATE PART 1 AN~ GO TO PART 2 TYPE IN STOP AND PRESS ENTER. <PRESS CLEAR AND ENTER TO CONTINUE)
37
PAGE.DATA
DECOMPOSITION I! A TECHNIQUE USED FOR SOLVING PROBLEMS HAVING A SPECIAL STRUCTURE. THESE PROBLEMS ARE CALLED MULTIDIVISIONAL AND THEIR NAME HINTS AT THE TYPE OF STRUCTURE USED, MULTIDIVISIONAL. HENCE, THEY ARE PROBLEHS THAT ENCOMPASS SEVERAL DIVISIONS. THEREFORE, THE PROBLEMS ARE ALMOST DECOMPOSABLE INTO SEPARATE PROBLEHS, WHERE EACH DIVISION IS CONCERNED ONLY WITH OPTIMIZING IT'S OWN OPERATION. HOWEVER, SOHE OVERALL COORDINATION IS REQUIRED IN ORDER TO BEST DIVIDE CERTAIN ORGANIZATIONAL RESOURCES AMONG THE DIVISIONS.
IF YOU WERE TO LOOK AT A TABLE OF CONSTRAINT COEFFICIENTS FOR THIS TYPE OF PROBLEM YOU WOULD FIND THAT THE CONSTRAINTS FOR EACH DIVISION COULD BE GROUPED TOGETHER IN A BLOCK FORHING AN ANGULAR STRUCTURE.
THE NEXT PAGE EXPLAINS THE ANGULAR STRUCTURE OF MULTIDIVISIONAL PROBLEMS AND GIVES AN EXAMPLE. <PRESS CLEAR AND ENTER TO CONTINUE OR TYPE STOP TO TERMINATE>
PAGE.DATA TABLE OF CONSTRAINT COEFFICIENTS FOR MULTIDIVISIONAL PROBLEHS.
I I
~-----~--------1 I I l __ l
I I l __ l
I I I __ ,
CORPORATE CONSTRAINTS ON ORGANIZATIONAL RESOURCES
CONSTRAINTS ON RESOURCES AVAILABLE ONLY TO DIVISION 1
DIVISION 2
LAST DIVISION
EACH SMALLER BLOCK CONTAINS THE COEFFICIENTS OF THE CONSTRAINTS FOR ONE DIVISION. THE LONG BLOCK AT THE TOP CONTAINS THE COEFFICIENTS OF THE CORPORATE CONSTRAINTS FOR THE MASTER PROBLEM <THE PROBLEM OF COORDINATING THE ACTIVITIES OF THE DIVISIONS>.
38
PAGE.DATA
QUESTION ~1 WHAT TYPE OF SPECIAL PROBLEM WAS THE DECOMPOSITION
METHOD DEVELOPED FOR?
ANS =multidivision~l VERY GOOD BILL
PAGE.DATA
THE CORRECT ANSWER IS MULTIDIVISIONAL
THOSE PROBLEMS WHERE THE MAJORITY OF THE CONSTRAINTS CAN BE SEPARATED INTO GROUPS ACCORDING TO THE RESOURCES AVAILABLE.
TO LEARN HOW THE DECOMPOSITION METHOD SOLVES THESE SPECIAL STRUCTURED PROBLEMS PRESS ENTER TO GO TO THE NEXT PAGE.
<OR TYPE STOP TO TERMINATE>
PAGE.DATA
THE BASIC APPROACH IS TO REFORMULATE THE PROBLEM IN A WAY THAT GREATLY REDUCES THE NUMBER OF FUNCTIONAL CONSTRAINTS AND THEN TO APPLY THE REVISED SIMPLEX. THIS VERSION OF THE SIMPLEX METHOD CAN BE THOUGHT OF AS HAVING EACH DIVISION SOLVE ITS OWN SUBPROBLEM AND SENDING ITS PROPOSAL TO THE MASTER PROBLEM.
IF THESE PROPOSALS VIOLATE THE CORPORATE CONSTRAINTS THE DECOMPOSITION TECHNIQUE WILL EVALUATE THAT VIOLATION AND CALCULATE PENALTIES FOR EACH OF THE DIVISIONS IN ORDER TO FORCE THEIR SOLUTIONS TOWARD A CORPORATE OPTIMUM. IN THIS WAY WE CAN COORDINATE THE PROPOSALS FROM ALL THE DIVISIONS TO FIND THE OPTIMAL 'SOLUTION FOR THE OVERALL ORGANIZATION.
PRESS CLEAR AND ENTER FOR QUESTION ~2 OR STOP TO TERMINATE.
39
PAGE.DATA
QUESTION ~2:
YOU ARE IN CHARGE OF BUDGETING A LARGE CORPORATION AND EACH PLANT MANAGER SENDS YOU PROPOSED BUDGET REQUIREMENTS FOR HIS PLANT. BUT, AS IS USUALLY THE CASE, YOU CANNOT MEET ALL THE REQUIREMENTS. AS BUDGETING DIRECTOR YOUR NEXT STEP IS TO:
A. DETERMINE YOURSELF WHAT THE PLANT BUDGETS SHOULD BE. B. CALCULATE SOME KIND OF PENALTY FOR EACH PLANT TO
FORCE THEM TO COME UP WITH AN AGREEABLE PROPOSAL. C. TEAR UP THE PROPOSALS AND HAVE THEM START OVER. D. RUN THE CORPORATE BUDGET AS A WHOLE USING
REVISED SIMPLEX. THEN SEND EACH PLANT ITS BUDGET.
ANS =d SORRY BILL, D IS AN INCORRECT ANSWER. TRY AGAIN, YOU HAVE 2 MORE CHANCES. ANS =b VERY GOOD BILL THE CORRECT ANSWER IS B. YOU WOULD EVALUATE THE VIOLATIONS AND CALCULATE PENALTIES. BUT HOW? HIT ENTER.
PAGE.DATA LET'S DEFINE A PROBLEM WITH N DIVISIONS AS SUCH:
MAXIMIZE
SUBJECT TO:
N SUM <C<I>*X<I>> I=1
A< 1> A<2> ••. A<N> A<N+1)
A<N+2)
X<G> X< 1> X<2>
::r
B<G> B< 1> B<2>
A<2N> X(N) B<N> WHERE THE B,C,X'S ARE VECTORS AND A'S ARE MATRICES. CONSIDER THE SOLUTION SPACE FOR DIVISION K; CALL IT S(K). ANY POINT
IN S<K> CAN BE REPRESENTED AS A WEIGHTED AVG. OF THE EXTREME POINTS OF S<K>.
LET X(J,K> = EP(J) OF DIVISION K AND L(J,K> IT'S WEIGHT. I.E. ANY FEASIBLE POINT X<*,K> = SUM ON J OF <L<J,K>*X<J,K>> FOR
SOME COMBINATION OF THE L(J,K> SUCH THAT e <~ L<J,K) <= 1 AND THE SUM ON J OF ALL L(J,K> IS EQUAL TO 1.
IF YOU WOULD LIKE TO SEE THE PROBLEM REFORMULATED BY USING THESE CONSTRAINTS ENTER YES. yes
40
PAGE.DATA THIS EQUATION FOR X<*,K> AND THE CONSTRAINTS ON THE L<J,K> PROVIDE
A METHOD FOR REPRESENTING THE FEASIBLE SOLUTIONS TO DIVISION K WITHOUT USING ANY OF THE ORIGINAL CONSTRAINTS. HENCE THE OVERALL PROBLEM CAN NOW BE REFORMULATED WITH FAR FEWER CONSTRAINTS AS
N MAXIMIZE SUM SUM L<J,K><C<K>*X<J,K>>
K=1 J
SUBJECT TO: N
SUM SUM L<J,K><A<K>*X<J,K>> K=1 J
AND SUM L<J,K> = 1 J
STUDY THIS REFORMULATION OF THE MASTER PROBLEM FOR AWHILE. THE SYMBOLISM MIGHT BE CONFUSING. THE FIRST SUMMATION <ON K> REFERS TO THE DIVISIONS. THE SECOND SUMMATION <ON J) REFERS TO THE EXTREME
POINTS WITHIN EACH DIVISION.
PAGE.DATA QUESTION ~3 :
ANS =d VERY GOOD BILL
IN THE REFORMULATION OF THE MASTER PROBLEM WHAT DO THE L<J,K>'S STAND FOR?
A. CONSTRAINT COEFFICIENTS B. SIMPLEX MULTIPLIERS C. EXTREME POINTS IN THE SOLUTION D. RESPECTIVE WEIGHTS ON THE EXTREME POINTS
THE CORRECT ANSWER IS D PAGE.DATA
SINCE THIS REFORMULATION HAS FAR FEWER CONSTRAINTS IT SHOULD BE SOLVABLE WITH MUCH LESS COMPUTATIONAL EFFORT. AT FIRST GLANCE IT WOULD SEEM THAT ALL THE EXTREME POINTS <X<J,K>> NEED BE IDENTIFIED. A TEDIOUS TASK TO SAY THE LEAST. FORTUNATELY, IT IS NOT NECESSARY TO DO THIS WHEN USING THE REVISED SIMPLEX METHOD. ALL THAT IS REQUIRED IS THAT THE SIMPLEX MULTIPLIERS <PI> BE PARTITIONED SO THAT YOU CALCULATE ONLY WHAT IS NEEDED.
DO YOU WANT TO LEARN HOW THIS IS DONE IN MORE DETAIL?yes
41
PAGE.DATA RECALL THAT WITH REVISED SIMPLEX THE VECTOR OF SIMPLEX MULTIPLIERS
<PI = CB * BI> IS USED IN COMPUTING THE RELATIVE COST COEFFICIENTS <BI = B INVERSE>. DURING DECOMPOSITION PI NEEDS TO BE PARTITIONED AS <PI1,PIO>. LET NLC DENOTE THE NUMBER OF CORPORATE <LINKING> CONSTRAINTS. LET BI(1;NLC> BE THE MATRIX CONSISTING OF THE FIRST NLC COLUMNS OF BI, AND LET BI<J> BE THE VECTOR CONSI~TING OF THE JTH COLUMN OF BI. THEN PI1 3 CB * BI(f;NLC) AND PI&~ CB * BI<NLC + J).
THE USUAL SIMPLEX CRITERION ASKS THAT WE FIN~ MIN F<J> = <Pit * A<J> - C(J)) X<J> + PI&
THEREFORE, THE FIRST STEP AT EACH ITERATION REQUIRES SOLVING N <NUMBER OF DIVISIONS> LP PROBLEMS OF THE TYPE
MIN <PI1 * A<J> - CCJ>> X<J> +PIG
SUBJECT TO A<N+J) * XCJ> <= B<J>
X<J> )'2 G
PRESS ENTER TO CONTINUE OR TYPE STOP TO TERMINATE. PAGE. DATA
ANS =a
QUESTION ~4 : WHY ARE THE SIMPLEX MULTIPLIERS, PI,
PARTITIONED INTO Pit AND PI& ?
A. TO SAVE COMPUTATIONAL EFFORT B. TO DISTINGUISH BETWEEN THE SIMPLEX MULTIPLIE~S
OF EACH DIVISION. C. TO COMPUTE EACH RELATIVE COST COEFFICIENT D. SO THAT IT IS NOT NECESSARY TO IDENTIFY ALL EXTREME POINTS.
VERY GOOD BILL THE CORRECT ANSWER IS A. B IS AN M*M MATRIX, BUT TO CALCULATE PI1 AND PI& YOU NEED ONLY NLC+1 COLUMNS OF B. WOULD YOU LIKE TO SEE A SIMPLE ALGORITHM AND EXAMPLE?y•s
PAGE.DATA
STEP 1.
STEP 2.
STEP 3.
STEP BY STEP ALGORITHM
USING THE SIMPLEX MULTIPLIERS PI1 SOLVE THE DIVISION SUBPROBLEMS AS ABOVE OBTAINING SOLUTIONS X<I> AND OPTIMAL OBJECTIVE VALUES Z<I>.
COMPUTE MIN Z<I> + PIG = F(J)
STOPPING RULE IF F<J> >= 0 THE OPTIMAL SOLUTIOH IS SUM L<J>•X<J> WHERE THE X<J> 'S ARE THE EXTREME POINTS OF THE SOLUTION SPACE CORRESPONDING TO BASIC L<J>. REMEMBER, L<J>'S ARE THE RESPECTIVE WEIGHTS OH THESE POINTS AND ARE COMPUTED ONLY UPON TERMINATION OF THE PROBLEM BY THE FINAL B INVERSE TIMES THE ORIGINAL RHS.
STOP
<PRESS CLEAR AND ENTER TO CONTINUE)
42
PAGE.DATA STEP 4. IF F<J> < a FORM THE COLUMN TO ENTER THE BASI~ A~
I ACJ>•XCJ) I A' s 1-----------1
I I I
WHERE I IS AN N COMPONENT VECTOR WITH A ONE IN POSITION J AND ZEROES ELSEWHERE.
STEP 5.
STEP 6.
FOR THE REVISED SIMPLEX METHOD TO NOW DETERMINE THE LEAVING BASIC VARIABLE IT IS NECESSARY TO CALCULATE THE CURRENT COEFFICIENTS AND RHS AS BI*A' AND BI*B'. B' BEING THE VECTOR OF I B<0> I
1------1 I 1 I
WHERE 1 IS ANN COMPONENT VECTOR OF ALL 1'S. OBTAIN A NEW BASIS INVERSE. OBTAIN NEW SIMPLEX MULTIPLIERS. GO BACK TO STEP 1 AND REPEAT.
WOULD YOU LIKE TO SEE AN EXAMPLE OF THIS ALGORITHM?yvs F'AGE.DATA
FOR AN EXAMPLE, CONSIDER THIS PROBLEM WITH 2 DIVISIONS
AC1 >=I 3 A<2>=1 2 4 A<3>=1 1 1 I A<4>=1 I 2 3 I 6 4 I 1 2 I
c < 1 >=I 4 6 C<2>=1 8 5 B<0>=1 20 I 25
AND X= X<1>,X<2> ANDY Y<1>,Y<2>
COPY THE ABOVE DOWN FOR FUTURE REFERENCE PRESS ENTER.
F'AGE.DATA
8<1 >=I I
2& 25
5 8
12
4 3
5 8<2>=1 8
THE REFORMULATED MASTER PROBLEM REQUIRES ONLY 4 CONSTRAINTS 2 FOR THE CORPORATE CONSTRAINTS AND 1 CONSTRAINT FOR EACH DIVISION THAT REQUIRES THE SUM OF THE WEIGHTS ADD UP TO 1.
<ON A LARGE PROBLEM THIS WOULD BE A SIGNIFICANT SAVINGS>
FOR THE INITIAL BASIC FEASIBLE SOLUTION
1 0 0 0 2G B 0 1 0 0 BI B' = 25 CB ,. <0,e,e,e>
0 0 1 0 0 0 0 1
WHERE B' IS THE RHS OF THE REFORMULATED MASTER PROBLEM. HIT ENTER.
12
43
I
PAGE.DATA
STEP t. USING THE SIMPLEX MULTIPLIERS Pit SOLVE THE DIVISION PROBLEMS REMEMBER PI = CB * BI INITIALLY CB=(G,G,G,G> ~ BI=I=B, SO PI=<&,&,G,G> ~ PI1=<G,G> THE SOLUTIONS ARE : X(1 > = 2 , X<2> = 3 , AND Z(1) -26
Y(1) = 3, Y<2> = G, AND Z<2> = -24 DO YOU WANT TO SEE HOW THE SOLUTION IS COMPUTED?y~s
PAGE.DATA SOLVE DIVISION ~1 :
MIN Z<1> = <PI1 * A<1>- C<1>>X OR MIN <-4,-6>X S.T. S.T.
A(3)X <= B<1>
THE SOLUTION IS X<1>=2, X<2>=3 AND Z<1>=-26
SOLVE DIVISION ~2 :
1 2
X<1> <= 5 X<2> <= 8
MIN Z<2> = <PI1 * A(2) - C<2>>Y s. T.
OR MIN <-B,-S>Y s. T.
A<4>Y <= 8<2> I 4 3 I Y <= 12
THE SOLUTION IS Y<1>=3, Y<2>=G AND Z<2>=-24
F'AGE.DATA
STEP 2. FI~D THE MINIMUM OF Z<N> + PIG = F REMEMBER PI0 = CB * COLUMN<NLC + N> OF BI N BEING THE NUMBER OF THE DIVISION. THEREFORE PI0 DIFFERS ACCORDING TO THE DIVISION.
F = MIN = -26 THEREFORE THE WEIGHTS<PENALTY> ON E.P. <2,3> OF DIVISION 1 ENTERS THE BASIS
DO YOU NEED HELP?yes F'AGE.DATA
SOLVE: Z<1> + PI0 -26 + 0 -26
Z<2> + PI0 -24 + 0 = -24
PAGE.DATA
STEP 3. STOPPING RULE. IF F IS >~ 0 IT IS AN OPTIMAL SOLUTION. STOP.
F = -26 THEREFORE WE MUST CONTINUE. HIT ENTER.
F'AGE.DATA
STEP 4. GENERATE THE COLUMN TO ENTER THE BASIS AS : A'
IF YOU NEED HELP TO GENERATE PAGE.DATA
I A<1 >•E.P.I A' = 1----------1
I I I
HIT ENTER.
THE
3 2 3
COLUMN ENTER YES.y•s
I I 2 I 1 1 1•1 3 I 13 A' 1 1 0 0
I 1 1 I 11 31 I 1 I I 01
44
PAGE.DATA STEP 5. DETERMINE THE LEAVING BASIC VARIABLE. PROCEED IN THE USUAL
WAY TO CALCULATE THE CURRENT COEFFICIENTS AND THE RHS.
BI * A' 11 13
1 e
BI * B' "' 20 25
1 1
THE RATIOS ARE : 2&/11 '25/13' 1/1
THE MINIMUM RATIO IS 1 <THE THIRD ROW>. R = 3. THUS THE NEW VALUES OF CB ARE (0,0,26,0> THE EXTREME POINTS IN THE BASIS ARE : <_,_> (_,_) (2,3) (_,_)
HIT ENTER. F'AGE.DATA
STEP 6. OBTAIN A HEW BASIS INVERSE AND NEW SIMPLEX MULTIPLIERS. I 1 e I
PI1 = CB * BI<1 ;2> = <&,&,26,&> * I G 1 I = <&,<H = PH
THERE ARE MANY WOULD YOU LIKE
PAGE.DATA
1 e e 1 1 e e 1
WAYS TO FIND AN INVERSE. TO SEE AN EASY ONE?y@S
BI' = E * BI WHERE E IS AN IDENTITY MATRIX EXCEPT THAT IT'S KTH COLUMN IS REPLACED BY THE VECTOR H WHERE
-A'<I,K>/A'<R,K>,IF I~=R M = THEREFORE E =
1/A'<R,K>,IF I=R
so 1 0 -11 e BI' = 0 1 -13 e
0 0 1 0 0 0 0 1
HIT ENTER. F'AGE.DATA
*** ITERATION
STEP 1. RESOLVE THE DIVISION PROBLEMS. SOLUTION FOR DIVISION t1 : X(1) 2 X<2> 3 SOLUTION FOR DIVISION t2: Y<1> = 3 Y<2> = G
DO YOU NEED MORE INFORMATION?yes F'AGE.DATA
COMPUTE THE OBJ. COEFFICIENTS FOR DIVISION ( 0 0) * 11 31 - ( 41 6) = ( --4 -6)
PIO = <0,24,26,0) * 1-13/191 = 26/3 I 1 I I 13/191
Z<1> + 26/3 0 101
PIO = (0,24,26,0) * IOI 0 101 I 1 I
Z<2> + 0 0
F = 0
STEP 3. STOPPING RULE •
F IS >= 0 THIS IS AN OPTIMAL SOLUTION. HIT ENTER.
47
PAGE.DATA THE EXTREME POINTS IN THE BASIS ARE <_,_) (J,G) <2,3) (_,_}
THE WEIGHTS ON THESE POINTS ARE : 5 , 2/3 , t , t/3 COMPUTED BY B INVERSE * ORIGINAL RHS
X SUM L < J) * X< J > = 1 * < 2, 3) <2,3) = X<1>,X<2)
y SUM L< J> * Y( J> 2/3 * <3,0) = <2,0) = Y<1>,Y<2)
THUS, AN OPTIMAL SOLUTION FOR THIS PROBLEM I3 X<1> =2, X(2) =3 Y< 1 > 2 , Y<2> = &
HIT ENTER. IF YOU HAVE DATA YOU WANT TO RUN AS A PROGRAM ENTER YES. no TO END THE SESSION ENTER LOGOFF READY
48
APPENDIX D
LOGIC BLOCK DIAGFJ1.MS
DECOMP
WRITE EXECUTE INSTRUCTIONS
READ REPLY
WRITE INSTRUCTION
READ REPLY
WRITE PROMPT READ
USER'S NAME
WRITE INVALID ANSWER
OUTLINE TEXT
DESCRIBE THE DECOMPOSITION
TECHNI UE
NO
READ REPLY
50
EXPLAIN ANGULAR STRUCTURE OF
CONSTRAINTS
WRITE QUEST #l READ ANSWER
SET CNT=2
DISCUSS ANS. WRITE PROMPT
SUB l FROM CN READ ANSWER
SUB l FROM CNT READ ANSWER
51
WRITE QUEST #2 READ ANSWER
SET CNT=2
DISCUSS ANSWER WRITE PROMPT
READ REPLY
PRINT DEFINITION OF PROBLEM
WRI'rE PROMPT READ REPLY
#3
SET CNT=2
DISCUSS ANSWE WRITE PROMPT
READ REPLY
DETAIL THE REFORMULATION
WRITE MESSAG SUB l FROM CNT READ ANSWER
DETAIL THE REFORMULATION
DETAIL THE PARTITIONING
PARTITIONING OF SIMPLEX MULTIPLIERS
WRITE PROMPT READ REPLY
F
52
WRITE QUEST #4 READ ANSWER
SET CNT=2
ISCUSS ANSWER WRITE PROMPT
READ REPLY
PRINT EXAMPLE
REFORMULATE PROBLEM
WRITE MESSAGE SUB l FROM CNT
READ ANSWER
SHOW HOW TO SOLVE SUBDIV
PROBLEMS
SHOW HOW TO COMPUTE
MIN Z+PIO+F(J)
SHOW HOW TO GENERATE
COLUMN TO ENTER
PRINT STOPPING RULE
PRINT THE COLUMN TO
ENTER THE BASI
53
DETERMINE LEAVING BASIC
PRINT NEW
PRINT NEW SOLUTIONS TO SUBDIVISIONS
COMPUTE MIN Z+PIO+F(J)
SHOW HOW TO FIND INVERSE
SHOW HOW TO SOLVE SUBDIV
PROBLEMS
WRITE MESSAG FOR
WRONG ANSWER
WRITE MESSAGE UB 1 FROM CNT READ ANSWER
PRINT COLUMN TO ENTER THE BASIS
DETERMINE LEAVING
ASIC VARIABLE
COMPUTE NEW INVERSE AND SIMP. MULT.
SET CNT=2
54
DISCUSS ANSWER WRITE PROMPT
READ REPLY
COMPUTE MIN Z+PIO+F(J
DETERMINE THAT THIS IS OPTIMAL
OMPUTE ANSWER
STOP TO END SESSION ENTER LOGOFF
YES
YES
ENTER TITLE TO PROGRAM
55
FREE FILES LOCATE FILES
CALL JESSE A.i'IJD
R PROGRAM
TO END SESSION ENTER LOGOFF
APPENDIX E
LISTING OF THE TUTORIAL TEXT
56
PAGE 1
A TSC PkESENTATICN OF THE DE~vMPuSITiu• TtChNIQvE
CF LL\EAR PRCGRAMI'!It-IG
57
THIS P~ESE~TATION IS D~SIG~tJ TC ~IVE THE ADVANCED STUDENT A EETTER UNUEKSTA~CING 0F DECG~POSITiuN. IT IS CIVIDED INTO T•O PARTS.
PAKT l. A TUTUKIAL TEXT THAT TAKES THE STuDENT THROUGH THE DEVELLFME~T GF DECUMPOSITION. IT IS ASSUMED THE STUDENT HAS A THUKOUGH UNuEKSTANUINb GF LP AND ~EVISED SJMPLEX.
PArtT 2. AN EXECUTAolE PRC~RAM THAT LETS YLU ENTER YCUR u~N DATA TC dE ~UN AND GIVES YUU INTEMMEDIATE MESULTS TO ALLUW YLU TU MuNlTUk ITS PkUGRESS.
IF YwU WUULD LIKE TO STEP THMOUGH PA~T 1 ENTER YES.
IF YCU wANT TG RUN DATA ENTEK NO.
PAGE .::.
t...ELCMPLSITIJN
ThiS IS A CEVELGPMENT LF THE DECuMPCSITIUN TECiiNiQUE OF L&~EA~ PROGkAM~IhG. IT IS ASSUMED THE STUCENT 1 S ~ALKGRUUND INCLUDES A THLkuuGH UNDERSTANDING UF LlN~AR PRUGrtAMMING AND kEVISED SIMPLEX. ThE TEXT wiLL CGViR;
1. MULTIDIVISIC~Al PROtiLEMS L. THEIR ANGULAR STkUCTUkE 3. THE OECLJMPO SIT I c.~ APPkJAC.H - THEURY 4. A utCGI-\PCSI TICN Ali>LRI fh/~ ~. AN t.XAMPLE
EVtkY SO uFTtN A ~UcSTIGN WILL dE ASKED GF YCU. TYPE IN THE ANSWER A.\JC PKtSS ENTtR. If AT ~NYTlMc YL~ NANT Tu TERMINATt PART 1 A~~ ~0 TO PART 2 TYPE If'.; STwP 1-1ND PHESS ENTER. IP~ESS CLEAR AND :NrER TG CCNTINUE)
PAGE 3
DECOMPOSITION IS A TECHNl~E uSED FG~ SGLVlNG PROBLEMS HAVING A SPeCIAL STRUCTURE. THESE PRCdLt~S ARE CALLeD MlLTIOIVlSlONAl ANO THEIR NA~E HI~TS AT THE TYPE Jf ~TRUCTURE USEO, ~ULTlDIVlSiuNAL. HENCE, THEY ARE PROBLEMS THAT ENCLMPASS SeVERAl GIVISICNS. THEREfUR£, THE PKUULEMS ARE ALMOST DECOMPUSA8Lc INTO SEPARATE PROBLEMS, wHERE EACH J I VIS I ON IS CCo\~E RhELl CM. Y 1i ITH U H HH.l.lfliG I Jl S Clllii~ OPERAfi OH. hOWEVtR, SGME CVERALL CCCRDI~ATIUN IS REQUIRED IN ORDER TO oESI DIVIGE C2RTAI,.., ORGANIZATIONAL RE~GURCES AMONG THE DIVISIONS.
IF YOU wERE TO LOOK AT A TABLE OF CCNSTRAihT COEFFICIENTS FOR THIS TYPE OF PROolEM YOU WOULD FIND THAT THE C(;NSTRAlNTS FOR EACH DIVISION COULD BE 6ROUPED TCGEThER IN A JLOCK FCRMING AN ANGULAR STRUCTURE.
THE NEXT PAGE EXPLAINS THE ANGULAR STRUCTURE OF MULTIDIWISlUNAL PROoLL~S AND biVES AN EXAMPLE. (~RESS CLEAR AND ENTER TC CONTINUE OR TYPE STGP TO TERMINATE)
PAGE 4
TAjlf UF CLNST~AlNT COEFFICIENTS FOR MULTIOIVISIONAL PROBLEMS.
CONSTRAINTS lN RESCURCES AVAILABLE ONLY t.HV IS ION 1
DlVISIGN 2
LAST DIVISION
EACH SMALLER BLCCK CG~TAINS THE COEFFICIENTS OF THE CONSTRAINTS FOR Cl'.t: DIV-ISiuN. THE ll]lljG 2UlCK AT THE TOP CONTAINS TI-lE CUEffiClcNTS Uf THe CURPORATE CCt.STI'.dii.TS fU.{ THE KASTEl\ PRuBLEM lTHE PRGBLEM Of CClJKOINATlNG ThE ACTIVITIES Gf lHE tHVlSIONSJ.
PAGE 5
~UESTION •1 :
PA~E 6
wHAT TYPE uf SPECIAL PRCBLEH WAS THE UECGMPGSIT!UN METHOD DEVELOPED FOR?
THE CLRRECT A~SWER IS.MULTIDIVISIONAL
THUSE ?RLBLEMS ~HtRE THE MAJORITY uf THE CONSTRAINTS CAN BE SEPA~ATED INTO GROUPS ACCOKUING TO THE RESCUKC2S AVAILA~LE.
TO LEARN HCW THE DECCMPOSITIDN METHOD SOLVES THESE SPECIAL STRUCTUKED PRG6LtMS PRESS ENTER TO GO TO THE NEXT PAGE.
(OR TYPE STCP TO TERMINATE)
59
PAGE 7
THE 3AS1C APPRGACH IS TO nEFuRHULATE THE PRG6LEM IN A WAY THAT GREATLY KEDUCES THE iruMd~K U~ ~UNCTIONAL CCNSTRAINTS ANU THEN TO APPLY THE HEVISt:O SIMPLEX. THIS VERSIGN Uf THE SI/<IPLt:X METHOD CAN Lt THuU~HT Gf AS HAVI~G E~CH DIVISl~N SCLVt iTS CWH SUBPRL~LEH AND SENDING ITS PRUPGSAL TO THE MASTER PRUBLEH.
60
IF THESE PRUPLSALS VlulATE THE CORPCRATE CCNSTRAINTS ThE CS:COMPOSITIUN TECHiH.JUE nlLL eVALUATE TrlAT VIOLATION AND CALCULATE PtfMLTIES FGR EACH Of THE Dl'IISILINS IN GRuER TC Fllri.I.E ThEIR SOLUTIONS TL~AKO A CURPC~ATt GPTIMU~. IN THIS WAY WE CAN CCORDINAT~ THE PRUPLSALS FROM ~ll THE ClVISIU~S TO FIND THE JPTiMAL SOLUTION FOR THE CVEKALL QRGANIZAflUN.
YUU ARE IN CHAKG~ UF JUO~ETING A LARGE CCRPORATION AND c~CH PL~~T MANA~iR SENDS YOU PRUPUSED dUDGEf RE~0l~EMENTS FUK hiS PLA~T. BUT, AS IS USUALLY THt CASto Y0U CA~NUT AE~T All THE ~EQUIRE~tNTS. AS tlUll&ETI~~ ul~E~TuR YJUR NEXT STEP IS TO:
A. DET~q~INE YGU~SELF ~rlAT THE PLA~T BUDGETS SHOULU Sf. a. ~ALCULAfc 5UMc KINO JF PENALfY FOR EACH PLANT TC
fUkCE THEM TG COME UP WITH AN AGREfABLE PROPOSAL. C. TEAR UP THE P~OPOSALS AND HAVE THEM START OVER. O. ~UN THt CGR~GKATE ~UDGET AS A WHULE USING
R2Vl5tD SIMPLEX. THEN S2ND EACH PLANT ITS BUDGET.
PAGE o.;
LET 1 S DEFINE A PRQdlE~ wiTH N DIVISIONS AS SUCH:
MAXI Ml lE
SUtlJECT TO:
N SUM (C(li*Xlll) 1= 1
A(1) A(2) ••• A(N) A( N+ 11
A(N+21
X(O) XU) X(2)
=
8(0) BUJ IH 2)
. . A(2N) X(N) B(N)
WHeRE THE 8,C,X 1 S ARE VECTORS AND A'S ARE MATRICES.
61
CG~SIDER THE SOLuTION SPACE FOR DIVISIGN K; CALL IT S(K). ANY POINT IN SIKJ CAN 8E REPRESENTED AS A MtiGHTED AVG. Cf THE EXTRE~E POINTS Cf SlKJ.
LET X(J,KI = EP(JJ OF !JIVISIJN K AND UJ,KJ IT'S WEIGHT. I.E. ANY FEASlciLE POINT X(*,K) = SUM Oh J OF (L(J,Kl*X(J,KJJ FOR
s,JME ~lJMoiNATIOI\ CF THE LIJ,KJ SUCH TI-AT 0 <= LlJ,KJ <= 1 AND THE SUM GN J GF ALL L(J,KJ IS EQUAL TO 1.
t>AGE 10
THIS =~UATICN FCR X(* 1 KJ AND THE CCNSTRAINTS GN THE L(J,KJ PROVIDE A METrlUu FOR ktPRESENTING THE FEASIBLE SCLUTI(~S TO DIVl~ION K wiTHOUT USli~G Al\Y GF ThE ORIGINAL CUNSTRAINrS. hENCE THE OVERALL PRuBLEM LA~ N~W BE REFORMULATED WITH FAR FEWER CChSTRAINTS AS
N r1AX1 MIZE SUM SUM L(J,KJ(ClKI*X(J,KIJ
K=l J
SUi:iJEC T Tu: N
SUM SUM L(J,KJ(A(Kl*X(J,K)) K=l J
A:'-ll.l SUM LIJ ,K l :: 1 J
STUuY THIS ~EfuKMULATIGN OF rHE MASTER PRGBLE~ fOR AwHILE. THE ~YMBOLISM MIGhT oE CCII.FUSING. THE FIRST SUMMATIGN to/li Kl REFERS TO THE DIVISiuNS. THE SECONil SUMMATION (C." J) REHRS TO ThE EXTR~E PLINTS wiTH!~ EACH DIVISIGN.
PAGE ll
PAGE 12
~UESTIC~ t3 : IN THE REFCRMULATION Of THE MASTER PRGbLEM r~AT OG THE LCJ,A)'S STA~~ fGR 1
A. ~CNSTRAINT CGEFFICIENTS c. SIMPlEX MUlTIPliERS C. EXTREME POINTS IN THE SGLUTICN D. ~ESPECTIVE ~EIGHTS ON THE EXTREME PGINTS
SINCE THIS RtfJRMULATION HAS rAR FEWE~ CGNSTRAlNTS IT SHOUlD 8~ SuLVAbLE ftiTH MUCH LESS COMPUTATIO-Al EffGRT. AT FIRST GLANCE IT ~CUL~ SEEM THAT ALL THE tXTREHE POINTS CXCJ,K)) NEEO dE IDENTirltO. A TEDIOUS TASK TO SAY THE LEAST. fGKTUNATELY, IT 15 NUT NECESSARY TG DO THIS ~HEN USI~G THE REVISED siMPLEX
62
McTHuO. All THAT IS RE~lRED IS THAT THE SlMfLEX HUlTIPLIE~S CPI) ~E
PARTITIONED SO THAT YGU CALCULATE uNLY WHAT IS ~EEDEO.
PAGE ll
PAGE 12
~UESTIC~ t3 : IN THE REFCRMULATION Of THE MASTER PRGbLEM r~AT OG THE LCJ,A)'S STA~~ fGR 1
A. ~CNSTRAINT CGEFFICIENTS c. SIMPlEX MUlTIPliERS C. EXTREME POINTS IN THE SGLUTICN D. ~ESPECTIVE ~EIGHTS ON THE EXTREME PGINTS
SINCE THIS RtfJRMULATION HAS rAR FEWE~ CGNSTRAlNTS IT SHOUlD 8~ SuLVAbLE ftiTH MUCH LESS COMPUTATIO-Al EffGRT. AT FIRST GLANCE IT ~CUL~ SEEM THAT ALL THE tXTREHE POINTS CXCJ,K)) NEEO dE IDENTirltO. A TEDIOUS TASK TO SAY THE LEAST. fGKTUNATELY, IT 15 NUT NECESSARY TG DO THIS ~HEN USI~G THE REVISED siMPLEX
62
McTHuO. All THAT IS RE~lRED IS THAT THE SlMfLEX HUlTIPLIE~S CPI) ~E
PARTITIONED SO THAT YGU CALCULATE uNLY WHAT IS ~EEDEO.
PAGE ll
PAGE 12
~UESTIC~ t3 : IN THE REFCRMULATION Of THE MASTER PRGbLEM r~AT OG THE LCJ,A)'S STA~~ fGR 1
A. ~CNSTRAINT CGEFFICIENTS c. SIMPlEX MUlTIPliERS C. EXTREME POINTS IN THE SGLUTICN D. ~ESPECTIVE ~EIGHTS ON THE EXTREME PGINTS
SINCE THIS RtfJRMULATION HAS rAR FEWE~ CGNSTRAlNTS IT SHOUlD 8~ SuLVAbLE ftiTH MUCH LESS COMPUTATIO-Al EffGRT. AT FIRST GLANCE IT ~CUL~ SEEM THAT ALL THE tXTREHE POINTS CXCJ,K)) NEEO dE IDENTirltO. A TEDIOUS TASK TO SAY THE LEAST. fGKTUNATELY, IT 15 NUT NECESSARY TG DO THIS ~HEN USI~G THE REVISED siMPLEX
62
McTHuO. All THAT IS RE~lRED IS THAT THE SlMfLEX HUlTIPLIE~S CPI) ~E
PARTITIONED SO THAT YGU CALCULATE uNLY WHAT IS ~EEDEO.
65
PAGE 17
FOR AN EXA~PLE, CGNSIDER T~lS P~CBLEH WITH l DIVISIONS
A( U=l 1 3 At2l=l 2 4 Al3J=I l 1 I Al4l=l 4 3 I 2 3 I 6 4 I 1 2 I-
Ct ll=l 4 6 CC2l=l il 5 tHuJ=I 20 I E! Ill= I 5 IH2J= I I 25 I I il
ANU X= Xll),X(2) ANDY= Y(1),Y(2)
CJPY THE AbOVE ~L~h ~~R FUTURt REfERENCE
PA<.ic 18
FUR
tl
"HtRE
THE REFLJRMLLATEIJ MASTER PROBLEI'4 REQUII<ES CNL Y It CONSTRAINTS l FGK THE LCrtPuRATE CONSTRAINTS AND 1 CO~~TKAINT FGR EACH ulVISICN THAT ~EQUlRES THE SUM Of ThE WEIGhTS ADO UP TO 1.
t u,~ A LARGE Pi'!UBLEM THIS WUULD BE A SIG~lf I CANT .SAVINGS)
Trh: H .. ITIAL BASIC FEASIBLE SOLUTIG~
l 0 0 0 20 = 0 1 (j 0 = IH B' 25 CB .. co,o,o,oJ
0 0 1 0 l a 0 0 1 1
d' IS T tiE RHS Uf THE REFURMULAT ED HASTER PRGI::ILEM.
12 I
66
PAGE 19
STtP 1. USI~G The SIMPLEX MULTIPLIERS Pll SOLVE lHE DIVISION PROdl~HS ~cMEMBER PI = CB * dl l~lTIALLY Cd=(O,O,O,Ol & ~I=l=B, SO Pl=lO,O,OtOl & Pll=lO,OJ THE SOLUTIC~S Akc : Xlll = 2 , X(~) = 3 , ANU l(l) = -26
Y(l) = 3 , Yl2J = 0 , AND Z(ZJ = -24 SCLVE DIVISIGN Ml :
MIN lll) = lPil * All) - Cl1))X I UR MIN (-4,-b)X S. T. I s.T.
AI3)X <= Blll I 1 1 XllJ I. l 2 X(2J
THE SOLUTICN IS Xlll=2t X(2)=3 ANO ZUJ=-26
SOLVE OIVISIGN M2 : MIN liZ) IPll * A(2) - C(Z))Y OP. MIN (-8,-5JY S. T. s.r.
<= <=
A(4)Y (= 8(2) 1 4 3 I Y <= 12
THE SULUTICN IS Yll)=3, YI2J=O A~D l(2)=-24
t'AGE ZJ
STEP 2. FIND T~E MINIMUM Of llN) + Plu = F kEMEMBER PIO = CB * CuLUMNlNLC + N) Cf Bl N ~tlNG THE NU~BER Of THE DlVlSICN. THEMEF~RE PlO UIF~ERS ACCORDING TO T~E OlVlSlGN.
F = ,"'lN = -26 TrlEkEFORE THt wEI\iHTS(PENALTYJ ON t.P. 12,3) u~ UlvlSION 1 ENTERS ThE eASlS
SOLVE: llU + PIO -26 + () -2b
zc 21 + Piu -24 + I) = -24
!)
~
STEP 3. STOPPING RULE. IF F IS >= 0 IT IS AN GPTIMAL SOLUTION. STOP.
F -26 THEREFORE wE ~UST CONTINUE.
67
PAGE 21
1111 STEP 4. GENEf(ATE THE CCLUHN TO ENTER HiE dASlS AS : A' ::0: U31
I 11 I Ol
I A( U*f:.P. I 1 3 I I 2 I 11 A' = 1--------1 2 3 I* I 3 1 13 = A'
I 1 I 1 1 0 c
SHP 5. DETERMINE THE lEAVING dASIC ~ARlABLE •. PROCEED IN THE USUAL WAY TO ~AlCULATE THE CURHE~T COEfflCIE~TS AND ThE RHS.
B I * A' 11 13
1 0
IH * ~· 20 25
1 1
THE RATILS Ai<E : 2C/11 , 25/13 t 1/1
THE ·"'INIMUM RATIC IS 1 (THE THIRO I{UIIt). R = 3. THUS THE NEk VALLES CF CB ARt (0,0,26,01 THE EXH.tME PuiNTS 1.'1 THf: bASIS ARI: : l_,_) &_,_I (2,3) &_,_)
PAGE 22
STEP 6.. utiTAIN A r>E:W BASIS INVERSE AND NEW SIJIIPLEX MULTIPLIERS. I 1 o I
Pll =Co* ol(l;21 = (0,0,26,01 * I 0 1 I= (0,0) = Pl1 I o o I I o o I
Ul' = E * ai WHfKE E IS AN IDENTITY MATRIX EXCEPT JnAT 1T 1 S KTH CLLJ1'1N 1 S REPLAl.ELI oY THE VECTOR 14 kHERE
1 u -11 0 I -,..• (I oKI/A' lR,KJ ,IF J-,=R 0 1 -13 0 I
M = THEREFURE t: = 0 0 1 0 I 1/A'(R,K),IF I=R 0 0 0 1 I
C QHROL PRO,.T MAIN WRITE THIS PROGRAM IS DESIGNED TO OPERATE ON ANY TSO TERMINAL. WRITE IT IS INTEAACTIVE. MEANING THE USER WILL BE PROMPTED FOR A WRITE RESPONSE. A OECWRITER IS PREFERRED SINCE YOU CAN HAl~TAlN WRITE A HARDCOPY OF THE SESSION 4ND REFER TO IT AT ANY TIME. WRITE HOWEVER, DECSCOPES AND IBM 3277 1 5 CAN ALSO BE USEe. WRITE THE OPERATION OF A OECSCUPE AND DECWRITER IS SLIGHTLY WRITE DIFFERENT THAN A 3277. IF YOU ARE USING A CECSCOPE OR WRITE DECWRITER. AFTER TYPIN& A RESPONSE PRESS THE RETURN KEY. WRITE I'IJWEVER, WITH THE 32.71 YOU HUST CLEAR THE SCREEN fiRST WRITE THEN ENTER YOUR RESPONSE. THE INSTRUCTIONS DURIN- A WRITE SESSION ASSUME YOU ARE USING AN 18M 3277.
I* BEGINNING CF PROGRA.. *I
PARTU + WRITE IF YOU ARE USIN5 A 3277 OR ANYTHIN5 SIMILAR ENTER - CRT READ &TERM IF & TERM ~ CRT TMEN + DO
WRITENR PRESS CLEAR AND ENTER READ &REPLY
END L 1 TSO.Ul6300A.PAGE.DATA• 10 190 SHU .. READ &ANS DO WHILE U.ANS _. YES) AND lUNS ._ NO)
~RITE INVALID ANSWER &ANS - REENTER READ &ANS
EfoiD lf £.TERM a CRT THEN WRI TENR PRESS CLEAR THEN WRITE TYPE IN YOUR NAHE AND HIT ENTER.
I* READ STUDENT'S HAM£ •1
READ &NAME IF &ANS "' NO THEN GOTO PART2
I* INTRODUCTION *I
L 1 TSO.Ul6300A.PAGE.DATA• 250 430 SHUll READ UNS LBL3: + l 1 TSO.Ul6300A.PAGE.DATA 1 470 650 SHU .. READ &ANS IF l&ANS a STDPI THEN &OTO L8Ll
I* ANGULAA STRUCTURE *I
L 1 TSO.Ul6300A.PAGE.DATA• 690 880 SNU .. READ &ANS
I* PRINT QUESTION 11 *I
L 'TSO.Ul6300A.PAGf.DATA• 990 1050 ~ WRITENR ANS • READ UNS SET &CNT • 2 DO WHILE l&CHT > 01 AND ClAN$,_ MULTIDIVISJOMA4)
WRITE liRONGe TRY AGAIN &NAME. ~ITE AND WATCH FOR SPELLIN- OR TRY A SIMILAR WOAD WR I TEHR ANS • READ UNS SET "NT • 'CNT - 1
END
I* GI~! A CHANCE TO REREAD PREVIOUS PA'E
IF &ANS ~ "ULTIDIVISIONAL THEN WRITE VERY GOOD 'NAME IF &CNT • 0 THEN + DO
WRITE WOULD YOU LIKE TO REREAD THE PREVIOUS PAGE LNAME1 READ &ANS IF &ANS • YES THEN + 00
IF &TERK ,_ CRT THEN GOTO LBL3 WRITENR PRESS CLEAR AND ENTER. READ &REPLY GOTO L6L3
END END IF &TERM • CRT THEN + 00
kRITENR PRESS CLEAR AND HIJ ENTER. READ &REPLY
EhD
1• ANSWER TO QUESTION Jl *I
L 1 TSO.U16300A.PAGC.DATA' 1140 1320 SNU8 READ &ANS IF l&ANS a STOP) THEN GOTO LBL1
1• INTRODUCTION TO REFORMULATIOA *I
SET &CNT • 2 L 1 TSO.U16300A.PA&E.DATA• 131t0 1500 SHU8 READ &ANS If l'ANS • STOPl THEN GOTO LBLI
PRINT QUESTION J2
L 'TSO.U16300A.PA&E.DATA• 1580 1130 SHUa WRITEHR ANS a READ &ANS 00 WHILE l&ANS ,. BJ AND l&CNT > OJ
.,
WRITE SORRY &NAME. &ANS IS AN INCORRECT ANSWEa. WRITE TRY AGAIN. YOU HAVE &CNT MORE CWANCES. If &TERM a CRT THEN + 00
WRITENR PRESS CLEAR AND HIT ENTER. READ f'Jl.EPL Y L 1 TSO.Ul6300A.PAGE.OATA' 1580 1730 SNU"
END WRIT E!lll ANS a
SET &CNT • &CNT - 1 READ UNS
END
74
.,
75
0121 I* ANSWER TO QUESTION ta *I 0122 0123 IF &ANS • 8 THEN WRITE VERY GOOD &NAME. 012~ WRITE THE CORRECT ANSWER IS 8. 0125 WRITE YOU WOULD EVALUATE THE VIOLATIONS ' CALtuUTE PENALTIES.-0126 WRITE BUT HOW? 0127 IF &TERM • CRT THEN WRITENR PRESS CLEAR AND 0128 WRITENR HIT ENTER. 0129 READ UNS 0130 If l&ANS • SlOPa THEN GQTO LBLl 0131 0132 I* DEFINE A GENERAL PROBLEM *I 0133 0134 L 'TSO.U16300A.PAGE.DATA' 1170 1970 SHUM 0135 WRITE IF YOU ~OULD LIKE TO SEE THE PROBLEM REFORMULATED 0136 WRITE BY USING THESE CONSTRAINTS ENTER YES. 0137 READ &ANS 0138 IF &TERM a CRT THEM + 0139 DO Olo\0 WRITENR PRESS CLE.AA AND HIT ENTEA. 0141 READ &REPLY 0142 END 0143 Ollt4 I* REFORMUL.AT II:* 1M MOAE DETAIL *I 0145 0146 IF l&ANS :a YeSJ THEN + 0147 DO OH8 L 'TSO. U16300A. PAGE.DATA1 2000 2200 SIIIUM 0149 READ &ANS 0150 ENO 0151 IF l&ANS • STOP) THEN GOTO LBLl 0152 0153 I* PRINT QUESTION 13 *I 0154 0155 L 1 TSO.U16300A.PAGE.DATA' 2290 2400 SHUll 0156 WRITENR ANS • 0157 READ &ANS 0158 SET &CNT a 2 0159 DO WHILE ( &CNT > oa AND ( UNS ._ D) 0160 WRITE SORRY &NAME, &ANS IS AN INCORRECT ANSWE& 0161 WRITE TRY AGAIN, YOU HAVE &CNT MORE CHANCES. 0162 IF &TERM = CRT THEN + 0163 DO 0164 WRITENR PRESS CLEAR AND HIT ENTER. 0165 READ &REPLY 0166 L 1 TSO.Ul6300A.PAGE.OATA 1 2290 2400 SNUR 0167 END 0168 WRITENR ANS 3
0169 READ &ANS 0170 SET &CNT a &CNT - 1 Ol1I END Cl72 0173 I* ANSWER TO QUESTION 13 *I 0174 0175 IF &ANS • D THEN WRITE VERY GOOD &NAME 0176 WRITE THE CORRECT ANSWE& IS D Cl77 IF l'TERM z CRT) THEN+ 0178 DO 0179 WRITENR PRESS CLEAR AND HIT ENTEa. 0180 READ &REPLY
0181 END 0182 0183 I* GIVE A CHANCE TO REREAD TMI PREVIOUS PA&I *I 018~ 0185 IF l&CNT • 0) AND l&ANS ,. Dl THEN + 0186 DO 0187 WRITE ~OULD YOU LIKE TO REREAD THE PREVIOUS PA&E7 0188 READ &ANS 0189 IF &TERM • CRT THEN WRITENR PRESS CLEAR AND 0190 WRITENR HIT ENTER. 0191 READ &REPLY 0192 IF &ANS = YES THEN L 1 TSO.Ul6300A.PAGE.OATA 1 2000 2208 SHUA 0193 READ &REPLY 019~ END 0195 0196 I* PARTITIONIN& Of SIMPLEX MULTIPLIERS *I 0197 0198 L 1 TSO.U16300A.PAGE.DATA' 2~80 2660 SNUA 0199 WRITENR DO YOU WANT TO LEARN HOM THIS IS DONE I• MORE DETAIL7 0200 READ &ANS 0201 0202 I* PARTITIONING N MORE DETAIL *I 0203 020~ IF l&ANS • YESJ THEN + C205 DO 0206 L 1 TSO.U16300A.PAGE.DATA 1 2670 2860 SHUM 0207 WRITENR PRESS ENTER TO CONTINUE OR TYPE STOP TQ TERMINATE. 0208 READ &ANS 0209 END 0210 IF l&ANS s STOPI THEN GOTO LBLl 0211 0212 I* PRINT QUESTION I~ *I 0213 C214 L 1 TSO.Ul6300A.PAGE.DATA 1 2930 30~0 SNUA 0215 WRITENR ANS ~ 0216 READ &ANS 0217 SET &CNT z 2 0218 DO WHILE l&CNT > OJ AND CLANS ,. A) 0219 WRITE SORRY &NAME, &ANS IS AN INCORRE~T ANSWEI. 0220 WRITE TRY AGAIN, YOU HAVE &CHT MORE C~ANCES. 0221 IF &TERM • CRT THEN + 0222 DO 0223 WRITENR PRESS CLEAR AND ENTER. 022~ READ UEPL Y 0225 L 1 TSO.Ul6300A.PA6f.DATA 1 2930 3~0 SHUA 0226 END 0227 WRITENR ANS • 0228 READ &ANS C229 SET &CNT ~ &CNT - 1 0230 END 023J: 0232 I* ANSWER TO QUfST10N 14 •I 0233 023~ IF &AHS a A THEN WRITE VERY GOOD &NAME 0235 WRITE THE CORRECT ANSWER IS A. 0236 WRITE 8 IS AN ~*M MATRIX• 0231 ~RITE BUT TO CALCULATE Pil AND PIO YOU ME£D ONLW C238 WRITE NLC+1 COLI.JIINS OJ= B. 0239 0240 I* GIVE A CHANCE TO REREAD THE PREVIOUS PA5E *I
~RITE WOULD YOU LIKE TO REREAD THE PREVIOUS P&GE1 READ &AMS IF CUNS • YESI THEN + DO
IF &TERM a CRT THEN WRITENR PRESS CLEAR AND WRITENR HIT ENTER. READ &REPLY L 1 TSO.U16300A.PAGE.DATA• 2670 2870 SHUN READ &REPLY
END END WRITENR WOULD YQJ LIKE TQ SEE A SIMPLE ALGORITHM AND EXAI4PLf1 READ UNS IF &TERM z CRT THEN + DO
WRITENR PRESS ClEAR AND Hll ENTER. ~EAD &REPLY
END IF l&ANS ,. YESI THEN GOTD LBLl
I* BEGINNING OF A~GORITWM *I
L 1 TSO.Ul6300A.PAGE.OATA 1 3110 3300 SNUR READ &ANS L 1 TSO.Ul6300A.PAGE.OATA• 3330 3520 SNUM WRITENR WOULD YOU LIKE TO SEE AH EXAMPLE OF THIS AlGORITHM? READ &ANS IF &ANS ~ NO THEN GOTO l8Ll
,. PRINT THE EXAMPLE ., LBL2: + L 1 TSO.Ul6300A.PAGE.OATA• 3550 3740 SNUR WRITENR PRESS ENTER. READ &REPLY L 'TSO.U16300A.PAGE.DATA• 3810 3940 SNUB
INITIALIZE ., IF &TERM • CRT THEN WRITENR PRESS CLEAR AND WRlTENR HIT ENTER. READ &REPU
,. ,. ** ITEKA TION 0 STEP 1
L 1 TSO.Ul6300A.PAGf.OATA• 3990 4040 SNUR
., ., WRITE~ DO YOU WANT TO SEE HOW THE SOLUTION IS t0MPUTED7 RfAO &ANS IF &TERM a C~T THEN + DO
L 1 TSO.U16300A.PAGE.DATA• 4050 4170 SMUR READ &ANS
END
,. STEP 2 ., L 1 TSO.Ul6300A.PlGE.OATA• 4220 4280 SNU8 WRITENR 00 YOU NEED HELP2 READ UNS
1• STEP 2 IN MORE DETAIL *I
IF C&ANS • YES) THEN L 1 TSO.U1b300A.PAGE.DATA• 4290 4330 SNUM
1• STEP 3 */
L 'TSO.U16300A.PAGE.DATA' 4330 4360 St«JII If &TERM a CRT THEN WRITENR PRESS CLEA~ AND WRITENR HIT ENTE~. READ &REPLY
1• STEP 4 *I
L 1 TSO.U16300A.PAGE.OATA 1 4430 ~60 SNUA WRITENR IF YOU HEED HELP TO GENERATE THi COLUMN ENTER YES. READ &ANS
,. STEP 4 IN MORE DETAIL ., IF l&ANS z YESJ THEN L 1 TSO.Ul6300A.PAGE.OATA• 4470 4500 SNUM IF &TERM = CRT THEN WRlTENR PRESS CLEAR AND WRITENR HIT ENTER. READ &REPLY
,. STEP 5 ., L 1 TSO.U16300A.PAGE.DATA• 4520 4620 SNUa IF &TERM a CRT THEN WRlTENR PRESS CLEAR AND WRITENR HIT ENTER. READ GREPLY
STEP 6 ., L 'TSO.Ul6300A.PAGE.OATA• 4660 4700 St«JII WRITE THERE ARE ~ANY WAYS TO FINO AN INVERSE. WRITE~ WOULD YOU LIKE TO SEE AN EASY O~E1 READ UNS
I* EASY WAY TO FIND AN 1NYER5a *I
If l&ANS • YES) THEN L 1 TSO.Ul6300A.PA~E.DATA• 4110 4820 SHUM IF &TERM • CRT THEN WRITENR PRESS CLEAR AND WRITENR HIT ENTER. READ &REPLY
l 1 TSO.Ul6300A.PAGE.DATA• lt890 lt930 SNUa WRITE~ DO YOU NEED f'IORE INFORMATIOd READ &ANS
I* STEP 1 IN MORi DEJA~ *I
IF I&ANS • YESl THEN L 1 TSO.Ul6300A.PAGE.DATA1 lt950 5020 SNUM IF &TERM • CRT THEN WRITENR PRESS CLEAR AND WRITENR HIT ENTER. READ &REPLY
I* STEPS 2e3 *I
L 1 TSO.U16300A.PAGE.OATA 1 5090 5280 SHU. WRITENR DO WE STOP CR CONTINUEW READ &ANS IF C&ANS = STOP) THEN WRITE NO. -24 < O. WE MUST CONTINUE. IF &TERM = CRT THEN WRlTENR PRESS CLEAR AND WRITENR HIT ENTER. READ &REPLY
, .................... . P~RT21 + WRITE ENTER A TITLE TO YOUR PROSLEM READ UITLE FREE FILEIFT05FOOl,FT06FOOl) ALLOC DAl*) FllFT05FOOl) SHR Allot OAl*) FilFT06f001) SHR LCAOGO JESSE.OBJ FORTLIB WRITE &NAME, IS THERE ANOTHER PR06LEM YOU WANT TO RUN? READ &ANS FREE FILEifT05FOOl,FT06F001) IF I&ANS = YES) THEN GOTO PART2 WRITE DO YOU WANT TO GO THROUGH PAA.Tl AGAIN? READ &ANS If I&ANS = YES) THEN GOTO PARTl FIN: + WRITE TO END THE SESSION ENTER LOGOFF END
8I
VITA - ,2_.
William Arthur Senters
Candidate for the Degree of
Master of Science
Thesis: A TSO PRESENTATION OF A DECOMPOSITION TECHNIQUE FOR SOLVING LARGE-SCALE MULTIDIVISIONAL LINEAR PROGRAMMING PROBLEMS
Major Field: Computing and Information Sciences
Biographical:
Personal Data: Born in Midwest City, Oklahoma, July 8, 1948, the son of Mr. and Mrs. Charles D. Senters.
Education: Graduated from Collegia del Espiritu Santo, San Juan, Puerto Rico, in May, 1966; attended Eastern New Mexico University, Portales, New Mexico, from Sept., 1970 to May, 1972; attended Chapman College, Orange, California, from Jan., 1973 to Dec., 1973; received Bachelor of Science degree from Oklahoma State University at Stillwater, Oklahoma, in May, 1975, with a major in Business Administration; completed requirements for a Master of Science degree at Oklahoma State University in May, 1978.
Professional Experience: Member of the United States Air Force from Dec., 1969 to Dec., 1973; graduate teacher of 'Introduction to Data Processing' in the College of Business at Oklahoma State University, Stillw~ter, Oklahoma from Sept., 1976 to May, 1977. Applications programmer, Texaco, Inc., Houston, Texas, January, 1978 to the present.