Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-09 - 43,50466/transp.rno
There are 2 other files named transp.rno in the archive. Click here to see a list.
.TITLE#####^^LIBRARY#PROGRAM#_#2.2.3\\
.LEFT MARGIN 5
.RIGHT MARGIN 70
.CENTER
^^WESTERN MICHIGAN UNIVERSITY\\
.CENTER
^^COMPUTER CENTER\\
.SKIP 2
^^LIBRARY#PROGRAM#_#2.2.3\\
.SKIP 2
^CALLING#^NAME\\:##^^TRANSP\\
.BREAK
^PREPARED#BY\\:##^BERENICE#^HOUCHARD
.BREAK
^ADAPTED#BY\\:##^BERENICE#^HOUCHARD
.BREAK
^APPROVED#BY\\:##^JACK#^R.#^MEAGHER
.BREAK
^DATE:##^MARCH#8,#1976#(VERSION 2)
.SKIP 2
.CENTER
^^LARGE SCALE TRANSPORTATION PROBLEM*\\
.FOOTNOTE 2
---------------
.BREAK
*^THIS PROGRAM IS ADAPTED FROM ^I^B^M PROGRAM 360^D-15.2.009.
!
.SKIP 2
1.0##^GENERAL#^DESCRIPTION
.SKIP 1
^THIS ^^TRANSPORTATION PROBLEM\\ ^PROGRAM SOLVES THE WAREHOUSE-DISTRIBUTOR TYPE
OF TRANSPORTATION PROBLEM BY THE METHOD AS DESCRIBED IN ^G. ^HADLEY'S ^LINEAR
^PROGRAMMING, PP. 273-312 (^ADDISON-^WESLEY ^PUBLISHING ^COMPANY), USING ROW
MINIMA TO GENERATE AN INITIAL FEASIBLE SOLUTION.  ^COLUMN OR ROW SLACK
NECESSITATED BY INEQUALITY OF AVAILABILITY AND REQUIREMENTS IS AUTOMATICALLY
GENERATED.
.SKIP 1
1.1##^^INPUT\\#^LIMITATIONS
.BREAK
1.  1#_<=#NUMBER OF ORIGINS#_<=#19
.BREAK
2.  1#_<=#NUMBER OF DESTINATIONS#_<=#199
.BREAK
3.  ^MAXIMUM OF 3 FORMAT LINES IF OBJECT TIME FORMAT IS USED.
.BREAK
4.  ^ONLY ^I-TYPE FORMAT IS ALLOWED.
.SKIP 1
1.2##^THREE#^AREAS#OF#^OUTPUT
.BREAK
1.  ^SHADOW COST FOR ORIGINS
.BREAK
2.  ^SHADOW COST FOR DESTINATIONS
.BREAK
3.  ^SOLUTION IN ORIGIN SEQUENCES
.SKIP 2
2.0##^ERROR#^MESSAGES
.SKIP 1
^ASIDE FROM THE USUAL CHECK ON USER'S RESPONSES, THERE ARE FOUR MAIN ERRORS
DETECTED BY THE PROGRAM.  ^NONE SHOULD OCCUR ON ANY PROBLEM.  ^IF ONE OF THEM
SHOULD OCCUR THE SHADOW COST OUTPUT IS MEANINGLESS, BUT THE SOLUTION IS THE
CURRENT BEST SOLUTION.
.SKIP 1
.LEFT MARGIN 20
.INDENT-10
      ^^ERROR\\ 1:  ^NO BASIS ELEMENT IN ROW WHICH CONTAINS ENTERING ELEMENT IN
      AN ITERATION
.BREAK
.INDENT-10
      ^^ERROR\\ 2:  ^THERE IS NO BASIS LOOP
.BREAK
.INDENT-10
      ^^ERROR\\ 3:  ^THE BASIS LOOP HAS MORE ELEMENTS THAN
      THERE ARE IN THE BASIS
.BREAK
.INDENT-10
      ^^ERROR\\ 4:  ^THERE IS NO ELEMENT IN THE BASIS LOOP LESS
      THAN ^K2=10^K1 WHERE ^K1 IS THE LARGEST ORIGIN
      AVAILABILITY OR DESTINATION REQUIREMENT.
.SKIP 2
.LEFT MARGIN 5
.TEST PAGE 4
.SKIP 2
.LEFT MARGIN 5
3.0##^PROGRAM#^CAPABILITIES#AND#^OPTIONS
.SKIP 1
^THE ^^TRANSPORTATION\\ ^PROGRAM CAN BE PROCESSED BY BATCH OR BY ^TERMINAL.
^THE PROGRAM IS IN CONVERSATIONAL MODE TO ALLOW INTERACTION WITH THE USER ON
^TERMINAL JOBS.
.SKIP 1
3.1##^PROGRAM#^OUTLINE
.BREAK
^THE QUESTIONS OR STATEMENTS LISTED BELOW WILL BE TYPED OUT BY THE PROGRAM.
^THE STATEMENTS ARE IN SEQUENTIAL ORDER IN WHICH A RESPONSE IS IMPERATIVE TO
EACH LINE.  ^ON A BATCH JOB, MAKE UP ONE CARD FOR EACH APPROPRIATE QUESTION OR
STATEMENT.
.SKIP 1
^^LINE#1##OUTPUT?\\
.SKIP 1
^^LINE#2##INPUT?\\
.SKIP 1
^LINES 1 AND 2 DEFINE WHERE THE USER INTENDS TO WRITE HIS OUTPUT FILE (^LINE 1)
AND FROM WHERE THE USER EXPECTS TO READ HIS INPUT DATA (^LINE 2).  ^SEE ^NOTE
(1) BELOW FOR OTHER INPUT OPTIONS.
.SKIP 1
^THE PROPER RESPONSE TO EACH OF THESE QUESTIONS CONSISTS OF THREE BASIC PARTS:
A DEVICE, A FILENAME, AND A PROJECT-PROGRAMMER NUMBER.
.SKIP 1
^THE GENERAL FORMAT FOR THESE THREE PARTS IS AS FOLLOWS:
.SKIP 1
.CENTER
^^DEV:FILE.EXT[PROJ,PROG]\\
.SKIP 1
1)#^D^E^V:  ^ANY OF THE FOLLOWING DEVICES ARE APPROPRIATE WHERE INDICATED:
.SKIP 1
.NOFIL
                 ^^DEVICE#LIST  DEFINITION       STATEMENT#USE\\
##
                   ^^TTY:\\       ^TERMINAL         ^INPUT OR ^OUTPUT
                   ^^DSK:\\       ^DISK             ^INPUT OR ^OUTPUT
                   ^^CDR:\\       ^CARD ^READER      ^INPUT ^ONLY
                   ^^LPT:\\       ^LINE ^PRINTER     ^OUTPUT ^ONLY
                   ^^DTA0:\\      ^DECTAPE 0        ^INPUT OR ^OUTPUT
                   ^^DTA1:\\      ^DECTAPE 1        ^INPUT OR ^OUTPUT
                   ^^DTA2:\\      ^DECTAPE 2        ^INPUT OR ^OUTPUT
                   ^^DTA3:\\      ^DECTAPE 3        ^INPUT OR ^OUTPUT
                   ^^DTA4:\\      ^DECTAPE 4        ^INPUT OR ^OUTPUT
                   ^^DTA5:\\      ^DECTAPE 5        ^INPUT OR ^OUTPUT
                   ^^DTA6:\\      ^DECTAPE 6        ^INPUT OR ^OUTPUT
                   ^^DTA7:\\      ^DECTAPE 7        ^INPUT OR ^OUTPUT
                   ^^MTA0:\\      ^MAGNETIC ^TAPE 0  ^INPUT OR ^OUTPUT
                   ^^MTA1:\\      ^MAGNETIC ^TAPE 1  ^INPUT OR ^OUTPUT
.FILL
.SKIP 1
^DEVICES MAY BE SPECIFIED BY LOGICAL OR PHYSICAL NAMES.  ^THE ^^DEVICE LIST\\
COLUMN HAS PHYSICAL NAMES.
.SKIP 1
^^INPUT MAY NOT BE DONE FROM THE LINE PRINTER NOR MAY OUTPUT GO TO THE CARD
READER.\\
.SKIP 1
2)#^^FILE.EXT\\ IS THE NAME AND EXTENSION OF THE FILE TO BE USED.  ^THIS PART OF
THE SPECIFICATION IS USED ONLY IF DISK OR DECTAPE IS USED.
.SKIP 1
3)##^^[PROJ,PROG]\\  ^IF A DISK IS USED AND THE USER WISHES TO READ A FILE IN
ANOTHER PERSON'S DIRECTORY, HE MAY DO SO BY SPECIFYING THE PROJECT-PROGRAMMER
NUMBER OF THE DIRECTORY FROM WHICH HE WISHES TO READ.  ^THE PROJECT NUMBER AND
THE PROGRAMMER NUMBER MUST BE SEPARATED BY A COMMA AND ENCLOSED IN BRACKETS.
^OUTPUT MUST GO TO YOUR OWN AREA.
.SKIP 1
^^EXAMPLE:\\
.BREAK
.NOFILL
         ^OUTPUT?  ^^LPT:/COPIES:2\\
.BREAK
         ^INPUT?  ^^DSK:DATA.DAT[71171,71026]\\
.FILL
.SKIP 1
^IN THE EXAMPLE, TWO COPIES OF THE OUTPUT ARE TO BE PRINTED BY THE LINE
PRINTER.  ^THE INPUT DATA IS A DISK FILE OF NAME ^^DATA.DAT\\ IN USER DIRECTORY
[71171,71026].
.SKIP 1
^^DEFAULTS:\\
.BREAK
1)#^IF NO DEVICE IS SPECIFIED BUT A FILENAME IS SPECIFIED, THE DEFAULT DEVICE
WILL BE ^D^S^K.
.SKIP 1
2)#^IF NO FILENAME IS SPECIFIED AND A DISK OR DECTAPE IS USED THE DEFAULT ON
INPUT WILL BE FROM ^^INPUT.DAT\\; ON OUTPUT IT WILL BE ^^OUTPUT.DAT\\.
.SKIP 1
3)#^IF THE PROGRAM IS RUN FROM THE ^TERMINAL AND NO SPECIFICATION IS GIVEN (JUST
A CARRIAGE RETURN) BOTH INPUT AND OUTPUT DEVICES WILL BE THE ^TERMINAL.
.SKIP 1
4)#^IF THE PROGRAM IS RUN THROUGH BATCH AND NO SPECIFICATION IS GIVEN, (A BLANK
CARD) THE INPUT DEVICE WILL BE ^C^D^R:  AND THE OUTPUT DEVICE WILL BE ^L^P^T:
.SKIP 1
5)#^IF NO PROJECT-PROGRAMMER NUMBER IS GIVEN, THE USER'S OWN NUMBER WILL BE
ASSUMED.
.SKIP 1
.LEFT MARGIN 15
.INDENT-10
^^NOTE\\:  (1)#^THE FOLLOWING RESPONSES TO ^^OUTPUT?\\ AND ^^INPUT?\\ ARE VALID
AFTER THEIR FIRST OCCURRENCE.
.SKIP 1
.INDENT-4
         (A)#^^SAME#OPTION\\
.SKIP 1
         ^UPON RETURNING FROM ^LINE 8 IN SECTION 3.1, IF THE SAME DATA FILE IS
         TO BE USED AGAIN, SIMPLY ENTER "SAME<^C^R>"; OTHERWISE, EITHER USE THE
         ^^FINISH\\ OPTION OR ENTER ANOTHER FILE NAME, ETC.
.SKIP 1
.INDENT-4
         (B)#^^CONTINUE#OPTION\\
.SKIP 1
         ^FOR MAGTAPES THIS MEANS DO NOT REREAD THE SAME PART OF TAPE AS BEFORE;
         RATHER, READ THE NEXT PART OF TAPE.  ^FOR DISK OR DECTAPE THE RESULT OF
         USING ^^CONTINUE\\ IS THE SAME AS USING THE ^^SAME\\ OPTION.
.SKIP 1
.INDENT-4
         (C)#^^FINISH#OPTION\\
.SKIP 1
         ^THE USER MUST ENTER EITHER ^^FINISH\\, ^^FINI\\, OR _^^Z TO BRANCH OUT
         OF THIS PROGRAM.  ^FAILURE TO DO SO MIGHT RESULT IN LOSING THE ENTIRE
         OUTPUT FILE.
.SKIP 1
.INDENT-4
         (D)#^^OUTPUT#OPTION\\
.SKIP 1
         ^IF ONE ENTERS THIS, THE NEXT PROMPTING WILL BE ^^OUTPUT?\\.  ^NOW ONE
         MAY SPECIFY AN OUTPUT DEVICE AND/OR FILE NAME DIFFERENT FROM THE ONE
         USED IN RESPONSE TO THE PREVIOUS ^^OUTPUT?\\.  ^UNLESS A "^^CONTINUE\\"
         IS SPECIFIED FOR THE "^^OUTPUT?\\" THE PREVIOUS OUTPUT FILE WILL BE
         CLOSED (AND PRINTED IF ^L^P^T).
.SKIP 1
.LEFT MARGIN 12
.INDENT-4
         (2)#^^(FOR HELP TYPE HELP)\\-- WILL ALSO BE PRINTED THE FIRST TIME
         ^^OUTPUT?\\ AND ^^INPUT?\\ ARE PRINTED.  ^AFTER THAT THIS MESSAGE WILL
         NOT BE PRINTED.
.LEFT MARGIN 5
.SKIP 1
^^LINE#3#FORMAT:##(I-TYPE#ONLY)\\
.SKIP 1
^THERE ARE 3 OPTIONS AVAILABLE FOR THE FORMAT, NAMELY:
.LEFT MARGIN 15
.SKIP 1
.INDENT-4
(A)##^^STANDARD#FORMAT#OPTION\\
.SKIP 1
^UNLESS OTHERWISE SPECIFIED, THE PROGRAM ASSUMES THE STANDARD OPTION.  IN
THIS OPTION, THE DATA ARE ARRANGED IN GROUPS OF 10 PER LINE, TWO VALUES
BEING SEPARATED BY A COMMA.
.SKIP 1
^TO USE THIS OPTION, SIMPLY TYPE IN "<^C^R>" ON ^TERMINAL JOBS OR USE A BLANK
CARD FOR BATCH JOBS.
.SKIP 1
.INDENT-4
(B)##^^OBJECT#TIME#FORMAT#OPTION\\
.SKIP 1
^IF THE DATA IS SUCH THAT A USER'S OWN FORMAT IS REQUIRED, SIMPLY ENTER A
LEFT PARENTHESIS FOLLOWED BY THE FIRST FORMAT SPECIFICATION, A COMMA AND
THE SECOND SPECIFICATION, ETC.  ^WHEN YOU FINISH ENTER A RIGHT PARENTHESIS,
AND THEN A CARRIAGE RETURN.  ^THERE CAN BE A MAXIMUM OF 3 LINES FOR THE
FORMAT, EACH LINE BEING 80 COLUMNS LONG.
.SKIP 2
^NOTE THAT THE FORMAT SPECIFICATION LIST MUST USE THE FIXED POINT (^I-^TYPE)
NOTATION AND MUST CONTAIN SPECIFICATION FOR EACH OF THE VARIABLES.  ^THE
SPECIFICATIONS FOR THE FORMAT ITSELF ARE THE SAME AS FOR THE ^^FORTRAN IV
FORMAT\\ STATEMENT.
.SKIP 1
.INDENT-4
^^(C)##SAME OPTION\\
.SKIP 1
^THE ^^SAME\\ OPTION IS APPLICABLE ONLY TO JOBS THAT USE MORE THAN ONE
DATA FILE.  ^IF AN OBJECT TIME FORMAT WAS USED ON A DATA SET AND THE SUCCEEDING
DATA SET UTILIZES THE SAME FORMAT, SIMPLY ENTER ^^"SAME<CR>".\\
.LEFT MARGIN 5
.SKIP 1
^^LINE#4##ENTER#HEADER\\
.SKIP 1
^ENTER A LINE OF UP TO 80 CHARACTERS TO BE PRINTED ABOVE YOUR OUTPUT.  ^IF YOU
WANT NO HEADING ENTER A "<^C^R>" ON ^TERMINAL JOBS OR A BLANK CARD ON BATCH JOBS.
.SKIP 1
^^LINE#5##\\
.NOFIL
######^^ENTER#NUMBER#OF#ORIGINS#AND#NUMBER#OF\\
                   ^^DESTINATIONS#SEPARATE#THEM#BY#COMMA--\\
.FILL
.SKIP 1
^ENTER THE NUMBER OF ORIGINS AND THE NUMBER OF DESTINATIONS TO BE CONSIDERED.
^REFER TO LIMITATIONS IN ^SECTION 1.1 (1) AND (2).
.SKIP 1
^^LINE#6##ENTER#THE#AVAILABILITIES#FOR#THE#ORGIN#POINTS
.SKIP 1
^ENTER THE "^N" AVAILABILITIES FOR THE ORIGIN POINTS ARE SPECIFIED IN ^LINE
5.  ^ENTER THE NUMBERS 10 TO A LINE SEPARATED BY COMMAS.
.SKIP 1
^^LINE#7##ENTER#REQUIREMENTS#FOR#THE#DESTINATION#POINTS
.SKIP 1
^ENTER THE "^M" REQUIREMENTS FOR THE DESTINATION POINTS AS SPECIFIED IN
^LINE 5.  ^AGAIN, ENTER THE NUMBERS 10 TO A LINE SEPARATED BY COMMAS.
.SKIP 1
^^LINE#8\\
.BREAK
^^(A)COST:ENTER#TRANSPORTATION#COST#PER#UNIT#SORTED#INTO#DESTINATION\\
.SKIP 1
^^(B)##PLEASE#WAIT,#YOUR#DATA#IS#BEING#PROCESSED\\
.SKIP 1
^THE COSTS MUST BE SORTED INTO DESTINATION WITHIN ORIGIN SEQUENCE.  ^THAT IS,
THE MAJOR BREAKDOWN IS ON ORIGIN POINTS FOLLOWED BY A BREAKDOWN ON DESTINATION
POINTS.  ^THE PROGRAM WILL TYPE OUT MESSAGE ^A IF IT IS A ^TERMINAL JOB AND
THE INPUT DATA IS TO BE ENTERED DURING EXECUTION TIME (I.E., WHILE RUNNING
THE PROGRAM).  ^OTHERWISE, MESSAGE ^B WILL BE TYPED OUT.
.SKIP 1
^^IMPORTANT:\\  ^YOU MUST ENTER THE DATA ACCORDING TO THE FORMAT YOU CHOSE.
^IF YOU HAVE SELECTED STANDARD DATA FORMAT, THE PROGRAM WILL TYPE OUT THE
ORIGIN NUMBER, E.G., ^^FOR ORIGIN 1,\\ SIMPLY ENTER COSTS FOR DESTINATION
1, 2, ETC. SEPARATED BY COMMAS.  ^IF YOU HAVE 10 OR LESS DESTINATION POINTS,
YOU SHOULD BE ABLE TO ENTER ALL THE COSTS FOR AN ORIGIN POINT ON ONE LINE.  ^IN
THIS CASE, ENTER A "<^C^R>" AT THE END OF THE LINE AND PROCEED TO THE NEXT ORIGIN
POINT.  ^IF YOU HAVE OVER 10 DESTINATION POINTS PER ORIGIN, YOU MUST ENTER
COSTS FOR THE FIRST 10 DESTINATION POINTS AND A "<^C^R>" ON THE FIRST LINE
AND COSTS FOR 10 DESTINATION POINTS AND "<^C^R>" ON EACH SUCCEEDING LINE UNTIL
YOU HAVE ENTERED ALL THE COSTS FOR THAT ORIGIN POINT.
.SKIP 1
^AFTER ANALYZING THE DATA, THE PROGRAM WILL BRANCH TO ^LINE 2, THE USER CAN
EITHER PROCESS ANOTHER DATA SET, IN THIS CASE REPEAT ^LINES 2 TO 8; OR EXIT
FROM THE PROGRAM, IN THIS CASE, ENTER ^^"FINISH<CR>".\\
.SKIP 2
4.0##^METHOD#OF#^USE
.BREAK
^PROCEDURE AND SET UP FOR ^TERMINAL AND BATCH JOBS DIFFER SLIGHTLY.
.SKIP 1
4.1##^TERNIMAL#^J^O^B
.BREAK
^FOLLOWING A SUCCESSFUL ^^LOGIN,\\ THE USER TYPES "^^R TRANSP<CR>".\\
^INTERACTION BETWEEN USER AND PROGRAM BEGINS AT THIS POINT.  ^THE PROGRAM WILL
TYPE OUT THE APPROPRIATE QUESTION OR STATEMENT AS OUTLINED IN ^SECTION 3.1.
.SKIP 1
^^EXAMPLE:\\
.BREAK
^THE FOLLOWING EXAMPLE IS TAKEN FROM "^OPERATIONS ^RESEARCH:  ^AN ^INTRODUCION"
BY ^HANDY ^A. ^TAHA (^THE ^MAC^MILLAN ^COMPANY, 1971) PAGES 113-122.
"_<<CR>" AND INFORMATION ON THE SAME LINE WITH _<<CR> ARE ENTERED
BY USER EXCEPT FOR <OUTPUT? AND <INPUT? AND THE 9-TH LINE.
^ONE DATA SET IS PROCESSED USING
THE STANDARD FORMAT OPTION.  ^THE COST VECTORS ARE ENTERED DURING EXECUTION
TIME.  ^INPUT AND OUTPUT DEVICES ARE ^T^T^Y:
.SKIP 1
.NOFIL
^^.R TRANSP<CR>
OUTPUT?TTY:<CR>
INPUT?TTY:<CR>
FORMAT:  (I-TYPE ONLY)
<CR>
ENTER HEADER
SAMPLE TERMINAL RUN<CR>
ENTER NUMBER OF ORIGINS AND NUMBER OF DESTINATIONS
SEPARATE THEM BY COMMA--3,4<CR>
ENTER THE AVAILABILITIES FOR THE ORIGIN POINTS
10 NUMBERS PER LINE, SEPARATED BY COMMAS
15,25,5<CR>
ENTER REQUIREMENTS FOR THE DESTINATION POINTS
10 NUMBERS PER LINE, SEPARATED BY COMMAS
5,15,15,10<CR>
COST:  ENTER TRANSPORTATION COST PER UNIT SORTED INTO DESTINATION
10 NUMBERS PER LINE, SEPARATED BY COMMAS\\
.SKIP 1
^^FOR ORIGIN  1
10,0,20,11<CR>
.SKIP 1
FOR ORIGIN 2
12,7,9,20<CR>
.SKIP 1
FOR ORIGIN 3
0,14,16,18<CR>
.SKIP 1
SAMPLE TERMINAL RUN\\
.SKIP 1
^^ORIGIN  SHADOW PRICE\\
     1             0
     2             7
     3            -5
.SKIP 1
^^DESTIN  SHADOW PRICE\\
     1             5
     2             0
     3             2
     4            11
.TEST PAGE 25
^^FINAL ALLOCATION SORTED BY SUPPLY POINTS\\
.SKIP 1
ORIGIN    DESTIN    QUANTITY    UNIT COST   COST
     1         2           5            0       0
     1         4          10           11     110
-------------------------------------------------
^^TOTAL                     15                  110
.SKIP 1
     2         1           0           12       0
     2         2          10            7      70
     2         3          15            9     135
-------------------------------------------------
^^TOTAL                     25                  205
.SKIP 1
     3         1           5            0       0
-------------------------------------------------
^^TOTAL                      5                    0\\
.SKIP 1
-------------------------------------------------
-------------------------------------------------
.SKIP 1
^^TOTAL COST =   315\\
.SKIP 1
^^INPUT? FINISH_<CR>\\
.SKIP 1
^^CPU TIME:  1.22 ELAPSED TIME:  3:41.37\\
^^NO EXECUTION ERRORS DETECTED\\
.SKIP 1
^^EXIT\\
.FILL
.SKIP 1
5.2##^BATCH#^JOB
.BREAK
^THE FOLLOWING IS A BATCH JOB SET UP:  (EACH LINE REPRESENTS ONE CARD, EACH
CARD STARTING IN COLUMN 1; DO NOT INCLUDE THE COMMENTS AT THE RIGHT).  ^IF
INPUT DATA ARE NOT IN CARDS, IGNORE $^D^A^T^A TO $^E^O^D INCLUSIVE.
.SKIP 1
.TAB STOP 30
.LEFT MARGIN 30
^^COMMENTS\\
.INDENT-25
$^J^O^B[_#,_#]	^J^O^B CARD; INSERT USER'S ^PROJ-^PROG NUMBER WITHIN THE BRACKET
.INDENT-25
^^$PASSWORD\\#_#_#_#_#_#_#	^IN PLACE OF THE 6_#'S PUT IN THE PASSWORD
.INDENT-25
^^$DATA\\	^SIGNIFY BEGINNING OF DATA DECK
.INDENT-20
(DATA CARDS)	INSERT THE DATA CARD DECK TO BE ANALYZED
.INDENT-25
^^$EOD\\	^SIGNIFY THE END OF DATA CARD DECK
.INDENT-25
^^.R TRANSP\\	^START THE EXECUTION
.INDENT-20
(^RESPONSES TO ^LINES 1-8
.INDENT-15
IN ^SECTION 3.1 REPEATED OR NOT)
.INDENT-25
(^E^O^F)	^AN END-OF-FILE-CARD
.LEFT MARGIN 5
.SKIP 1
.PAGE
^^EXAMPLE\\
.SKIP 1
^IN THE EXAMPLE BELOW, THE COSTS ARE IN CARDS, OUTPUT DEVICES IS ^L^P^T: AND
OBJECT TIME FORMAT IS USED.
.SKIP 1
.TAB STOP 30
.NOFIL
^^COMMENTS\\
^^$JOB [420,420]	^J^O^B CARD
^^$PASSWORD \\	^PASSWORD
^^$DATA\\	^BEGINNING OF DATA DECK
10002011
12070920	COST DECK
00141618
^^$EOD\\	^END OF DATA DECK
^^.R TRANSP\\	^START EXECUTION
^^LPT:\\	^OUTPUT DEVICE
^C^D^R:	^INPUT DEVICE
(4^I2)	^OBJECT TIME FORMAT
^SAMPLE ^BATCH ^RUN	^HEADER
3,4	^NUMBER OF ORIGINS AND DESTINATION POINTS
15,25,5	^AVAILABILITIES FOR ORIGIN POINTS
5,15,15,10	^REQUIREMENTS FOR DESTINATION POINTS
^^FINISH\\	^BRANCH OUT OF PROGRAM
(^E^O^F)	^AN END-OF-FILE CARD