<<

AN ABSTRACT OF THE THESIS OF

Gifford L. Martin, Jr. for the degree of Master of Science in Industrial Engineering presented on August 17, 1981.

A Containership Load Planning Heuristic for a Transtainer BasedCon- tainer Redacted for Privacy Abstract Approved: Edward D. MeDdv:/ell

A heuristic is developed to plan loads for containerized cargo ships. It is designed to serve a port which uses gantry cranes(trans- tainers) and trucks to handle containers. The model recognizes con-

straints on ship stability, placing containers in a bay withthe

proper length, placing refrigerated cargo nearelectrical outlets,

limits on stack height in under deck bays, limits onstack weight in on deck bays, and the need for support under a container. Provisions are made for the operator to handle overstowage of cargo fordifferent , placement of hazardous cargo, and placementof oversize cargo.

The model uses minimization of transtainer movement time andminimiza-

tion of rehandles in the yard as an objective. The heuristic uses

strategies for container placement similar to those usedin manual

load planning. A test of two ships and four voyages at the Port of

Portland produced feasible load plans for each voyage. Transtainer

movement and rehandling time varied for the four voyages,but on aver-

age the heuristic reduced a composite materialhandling measure by 4.8',L Time required for load planning should be substantiallyreduced using the heuristic. A Containership Load Planning Heuristic for a Transtainer Based Container Port

by

Gifford L. Martin, Jr.

A THESIS

submitted to

Oregon State University

in partial fulfillment of the requirements for the degree of

Master of Science

Completed August 17, 1981

Commencement June 1982 APPROVED: Redacted for Privacy Professor of Industrial and General Engineering in Charge of Major Redacted for Privacy

Head of Department,-Indust?Tal and Geral Engineering

Redacted for Privacy

Dean of Graduate

Date thesis presented August 17, 1981

Typed by Mary Ann (Sadie) Airth for Gifford L. Martin, Jr. ACKNOWLEDGEMENTS

I would like to express my thanks and deep appreciation to my major professor, Dr. Edward McDowell, for his support and encourage- ment during the writing of this thesis, and during my entire stay at

Oregon State. I would also like to thank Dr. Tom West for ideas and suggestions included in this work, and Dr. Doug Cho for his explana- tions of some aspects of the load planning process.

Nancy Young is deserving of my profound gratitude for her moral support over the last several months and for her aid to an author of little artistic talent in producing figures for this thesis. My sister, Janet Martin, also deserves credit for her assistance with the figures. My gratitude is also given to my typist, Sadie Airth, for translating my writing into presentable form and for helping me through the labyrinth of university rules on thesis formats.

Finally,I would like to give my thanks to my parents, whose sup- port and confidence have been invaluable during my time in school. Table of Contents

Page,

I. INTRODUCTION 1

Background 1 Container Operations 5 Transtainer Yards 12 Terminal Six 15 Load Planning 17

II. PROBLEM ANALYSIS 20

Literature Review 20 Problem Formulation 24 Load Planning at Port of Portland 24 Statement of Objectives 29 Constraints in Load Planning 31 Simplified Model 35

III. ASSUMPTIONS AND GENERAL APPROACH 38

Assumptions 38 Alternatives for Solving 39 Heuristic Used 43 Guiding Principles 43 Cell Selection 43 Container Search 44 Checking Stability 53 Summary 55

IV. DATA STRUCTURES 57

Data Requirements 57 Ship Data 60 Cell Arrays 60 Bay List 64 Under Deck Bay List 66 On Deck Bay List 66 Stability Information 67 Container Data 71 Instructions from the Load Planner 82 Files 88 Pointers and Other Variables 90 Summary 92 Page

V. PROGRAM EXPLANATION 95

Program Structure 95 Basic Structure 95 Subroutine Structure 99 Programming Language 102 Initialization of Variables (Block Data) 103 Input Subroutines 106 Bay and Port Selection (LOAD) 107 Cell Selection and Loading (FILLBAY) 110 Regular Container Search (REGLOAD,MOVED) 117 Strategy 117 Review of Yard Data 118 Overview 119 Preparation for Container Search 119 Search of Current Row 120 Search for the Correct Set 127 Search of a Section 130 Changing Sections (CHGSEC,INITSEC) 134

Special Weight Container Search (CRTWGT,LEVELS) . 133 Adjusting the Computer Load Plan (EXCHNG) 143 Calculating Stability (STABLE) 146 Results (OUTPUT, function subprograms) 148

VI. RESULTS 150

Introduction 150 Testing Procedure 150 Stability Results 153 Material Handling Results 157 Load Planner Productivity 169 Comments on Individual Voyages 171

VII. CONCLUSIONS 176

General Conclusions 176 Evaluation of Strategies Used 177 Suggestions for Further Research 181

BIBLIOGRAPHY 183

APPENDICES

A. Flow Charts 185

B. Variable Definitions 210

C. Major Lists Used to Organize Data 220

D. File Structures 221 Page

APPENDICES

E. Program Listing ?24

F. Sample Run 300

G. Variables Initialized in BLOCK DATA 332 LIST OF FIGURES

Figure Paae

1-1 Terminology of container locations aboard ship. . 7

1-2 Top view of ship stack and cell guides 8

1-3 Material handling equipment 9

1-4 Top view of yard layout for straddle carriers . . 10

1-5 Top view of yard 11

1-6 Terminology of container positions in a yard section 14

1-7 Layout of Terminal 6 16

2-1 General plan of Alaska Maru with cells assigned to ports 26

2-2 Work sequence sheet for one crane 27

2-3 One page of the stowage plan for the Alaska Maru's Voyage 89 28

2-4 Under deck bay with too many high cubes in one stack 33

3-1 Loading sequences and weight targets for cells

with different destinations in the same bay . . 45

3-2 Order of preference for containers within a row based on position alone 49

3-3 Order of row selection during container search for regular and critical weight search procedures 50

4-1 Typical on deck and under deck ship bays 62

4-2 Bay list entries for a hypothetical containership . 65

4-3 Relationship between set and row lists 75

4-4 Relationship between set, row, and container lists. 76 Figure Page

4-5 Set and row list entries for a row with containers for two ports 79

4-6 Order of container list entries for a row with containers for a single port 80

4-7 Sample tier list entries for a bay-port with a single block of cells 84

4-8 Sample tier list entries for a bay-port with two blocks of cells 84

5-1 Basic program functions 96

5-2 Basic ship loading activities 97

5-3 Feedback loop for load plan modification 98

5-4 Subroutines used to read data 99

5-5 Subroutine structure for load planning 100

5-6 Subroutine structure for modifications, stability, calculations and results 102

5-7 Relation between bay and cell array before loading. 105

5-8 Flow of activities in LOAD 109

5-9 Flow of activities in FILLBAY 111

5-10 Selection of container search subroutine 113

5-11 Flow of activities in REGLOAD 121

5-12 Order of search of containers in hypothetical row . 123

5-13 Variety of ports in yard stacks 124

5-14 Set list and pointer 135

5-15 Flow of activities for CHGSEC 137

5-16 Flow of activities for CRTWGT 141

5-17 Menu printed by EXCHNG 145

5-18 Explanation of format used to print cell data . . 149 Figure Page

6-1 Adjacent vs. non-adjacent section changes 158

6-2 Plot of distance vs. time for observations taken at PoP 159

6-3 Histogram of total times for voyages 165

6-4 Histogram of total times for the material handling factors 168

6-5 Container locations for Japan Apollo V10 172

6-6 Container locations for a single port-length . . 173 LIST OF TABLES

Table Page

IV-1 Data Structures Needed for Load Planning 58

IV-2 Components of Ship Stability 68

IV-3 Complete Bay Lists 72

IV-4 Current Status Variables 91

IV-5 Variables for Maximum Size and Number of Entries in Lists 92

IV-6 Statistical Variables 93

V-1 Basic Weight Ranges for Container Lengths and Weight Classes 106

V-2 Values Entered by Load Planner in STABLE 147

VI-1 General Stability Ranges 153

VI-2 Stability Results for Test Voyages 154

VI-3 Parameters Used in Test Voyages 155

VI-4 Row and Container Ranges for Japan Apollo V10 156

VI-5 Number of Containers in Each Weight Class for Four Voyages 156

VI-6 Times Used for Material Handling Factors 159

VI-7 Material Handling Results by Voyage 164

VI-8 Material Handling Results by Material Handling Factors 167 A CONTAINERSHIP LOAD PLANNING HEURISTIC FOR A TRANSTAINER BASED CONTAINER PORT

CHAPTER I.

INTRODUCTION

Background

Throughout history shipping has been a key element in interna- tional trade. Raw materials must be transferred from areas where they are plentiful to areas where they can beprocessed. Finished goods must be delivered to areas where they will be used.Where water routes are available, ships have often been the cheapest means of transportation. This is as true today as it was in ancient times when the Phoenicians plied the Mediterranean. Today shipping is a vital part of the international economy. In 1980 shipping accounted for 79.5% by,dollars and 99.8% by tonnage of U.S. overseas trade

(Highlights of U.S. Export and Import Trade, 1981). An efficient shipping industry is therefore important to this country's economic well-being.

The economics of shipping usually favor large, fast vessels over their smaller or slower counterparts. This fact, coupled with tech- nological advances, has caused a rapid increase in both the size and speed of vessels built since World War II. These increases, in turn, have caused changes in other aspects of maritime transport. Among these are the methods used to load and unload ships. 2

Until the twentieth century, cargo was stowed and dischargedfrom

ships by means of muscle power aided by block and tackle. The intro-

duction of mechanized cranes speeded theprocess somewhat, but cargo

was still stowed and secured within the vessel by hand. These tradi-

tional methods require both a large labor force andmuch time to

service a vessel in port. Nearly 6,000 man hours are required simply

to discharge cargo from a 10,000-ton Victory class ship. (Van Dan Burg,

1975). Time in port for such vessels is frequentlymore than a week.

McKinsey and Company, Inc. (1967) estimated thata modern break-bulk freighter will spend 50-75% of its life in port, dependingon the length of its trade route. Such figures have provided terrificpres- sure to develop new cargo handling methods.

One response to the need for more efficientcargo handling has been the specialization of ships.Tankers and bulk cargo ships have allowed the use of pumps, conveyor belts, and other materialhandling equipment which can speed the transfer of homogeneouscargoes. While perhaps 80% of U.S. cargoes can beso handled (Waterborne Commerce of the United States, 1979), this providesno solution for cargoes which are not suitable for bulk handling. These general cargoes can include small amounts of bulk items, finished goods, agriculturalproducts, refrigerated cargo, and practically anything else. They are hetero- geneous in the extreme. It is the wide diversity of generalcargoes that make them difficult to deal with.

The huge increases in production of the industrialage have come primarily from substituting mechanical power for humanor animal power. Man-machine systems do tasks which require strength and preci-

sion, faster and more reliably than men alone can do. A prerequisite

for these advantages, however, is standardization. A task must be

repeated many times for the investment in machinery to pay off. The

variety of forms general cargo may take prevented the development of

handling equipment that could accommodate all forms.

More than one solution has been found to increase the efficiency

of general cargo handling. All of them derive from the fact that

a sea port is usually a transhipment point between steamships and

inland transportation. Whether the cargo comes to a seaport by truck,

rail, or inland waterway, it is packed when it arrives. New systems

for handling general cargo allow the cargo to be loaded aboard ship in

the form in which it arrives.

Three major systems have been developed for handling general cargo since World War II. They are roll on/roll off, LASH, and con- tainers. Roll on/roll off (ROJRO) allows truck trailers to be driven aboard the ship and transported to the port of discharge. It requires

ships constructed for the purpose, but almost any road trailer can then be transported. No expensive material handling equipment is required to load or unload ships. The disadvantage is that much

space in the vessel is wasted. This is the space between the truck van and the deck, and the space taken by the decks themselves.

LASH, which stands for , loads specially built barges directly onto a steamship. This is done by a shipboard crane at the stern of the ship. The advantage is that the ship can 4

be unloaded and loaded very quickly. The disadvantages are that the

barges must still be unloaded and loaded by more conventional means,

and that maintenance costs are high for the large shipboard crane

continually exposed to conditions at sea.

The third system, containers, packs cargo in special containers

the size of highway truck vans. The containers arrive by flatbed

truck or rail car, or by barge. They are then loaded by shoreside

cranes into containerships. The advantages are that a minimum of

capital (the containers) is tied up while the ship is at sea, and

that there is little wasted space on the ship. The disadvantages are

the large amounts of capital required to handle the containers in the

containerports.

Of the three systems, containers are the most prevalent. Roll on/

roll off ships are being used successfully on some trade routes,

especially those serving developing countries which cannot afford

expensive port equipment. LASH ships are also in service in some

places, but it is the newest of the three and has not been widely

accepted yet. Containerships have gained an increasing share of

the general cargo market in the last 1.5 years. Between 1972 and

1979, the increase in U.S. cargoes shipped by containers was 135%

by weight. In 1979, U.S. ports handled over 31 million tons of con-

tainerized cargo. Because of the growing reliance on container trans-

port, and the high capital cost of containerports, efficient operation of container cargo systems is highly desirable. 5

Container Operations

A standard container closely resembles the van ofa truck trail-

er. They are 8 feet wide and usually 8 or 31 feet high. The

International Standardization Organization (ISO) has recommendedfour

lengths of containers. These are very close to 10, 20, 30, and 40

feet in length. The 20 and 40 foot lengths are the mostcommon.

Some other lengths are used by steamship lines which entered the

field before the ISO recommendations were made. The containers have

specially built fittings on all corners which allow the containerto

be picked up either from the side or from the top. The usual prac-

tice is to use material handling equipment which picksup the container

from the top with a bar. The spreader bar is a frame that comes down on top of the container and secures it by means of the four

top corner fittings. Spreader bars rapidly telescope to different lengths.

Besides the standard container, a variety of specialpurpose containers have been developed. These include refrigerated, open top, bulk, and liquid containers.All have at least a frame of stand- ard size and standard corner fittings. Containers can be stacked on top of one another while loaded with no additional support,as long as they are of the same length and width.

Large shipments are loaded into containers at the customer's facility. Smaller shipments are consolidated into container sized loads at facilities called container freight stations. They are then transported by any combination of truck chassis, railroad ,or 6 barge to a containerport. Because the containers are weatherproof, they are stored in the open at the port. When the ship arrives, the containers are loaded onboard by a shoreside crane. Containers are loaded both below and above deck. Typically the ship will spend less than two days in port. When the ship arrives at the port of destination, the containers are unloaded by shoreside crane and again stored in the open. They are then transported by a combination of truck, rail, or barge to the customer's facility or the container freight station to be unloaded.

Containerships are constructed to carry containers both above and below deck. Figure 1-1 shows the terminology that will be used to describe container positions within a vessel. A bay is a position along the longitudinal axis of the ship. Bays can be either on deck or under deck. Within a bay, the location for an individual contain- er is a cell. A vertical group of cells is a stack or column. A horizontal group of cells is a tier. Each cellis a unique combina- tion of bay, tier, and stack.

Under deck stacks are held in position by cell guides. Cell guides are vertical supports which angle around the end edges of the container (see Figure 1-2). The cell guides flare out at the top to make it easier to lower the container into place. In effect the flared tops act to funnel the container into position. Once in the guides, the container is lowered till it rests on the ship struc- ture or another container. The container's weight. and the cell guides hold it firmly in position. 7 L

,1111.110,

1111111I

Amor* 411.

AA/ av DEC. BAY

4N uNDER OECI< BAP

(a) Side view of ship

SMCI( cx coLcutiN

TIER

CELL

(b) End view of under deck bay

Figure 1-1. Terminology of container locations aboard ship 8

Cell Cell Guides Guides

Figure 1-2. Top view of ship stack and cell guides

In on deck stacks, only the bottom container is held by the ship's structure. A wide variety of lashing methods are used to secure the remaining containers in the stack.

The organization of a containerport depends on the material handling equipment used. Nearly every containerport has a container storage area - the yard, an apron next to the ship berth - the dock, and the ship berths themselves. It is within the yard that the most variety occurs. This is because the yard layout and material handling equipment are very closely related.

There are at least five different material handling systems for container yards. Each of them requires ship cranes on the dock to actually unload and load the ship (Figure 1-3d). These cranes travel back and forth on rails along the ship's length. The remaining equip- ment varies. The first system is simply to leave the containers on truck chassis while in the yard.The only handling equipment needed are the truck tractors to move the chassis to wherever they are needed. Containers can be randomly accessed with no rehandling of containers. The disadvantages to the method are the space required for storage and the fact that chassis are tied up while the container is in the yard. 9

(a) (b) Gantry crane

(c) Modified fork lift (d) Ship crane

Figure 1-3. Material handling equipment 10

The second system uses a straddle carrier to move containers

(Figure 1 -3a). This is a wheeled vehicle that can drive over the container from the end with the wheels on either side. A spreader bar comes down and lifts the container. The straddle carrier (strad) can then transport the container to the desired location. Straddle car- riers can drive over a truck chassis from the back to pick up or deposit containers. They cannot load railcars. Most strads are capable of stacking containers two or.three high in the yard. This means a bottom container cannot be accessed without moving the con- tainers on top of it, but less space is needed for the yard. If containers are stacked in the yard, the loading of a ship should be planned so that top containers are loaded first. Straddle carriers are an efficient way to handle containers, but maintenance costs are high.

Figure 1-4. Top view of yard layout for straddle carriers 11

The third yard system uses gantry cranes and yard trucks. The gantry cranes span several stacks of containers and can pick up a container with a spreader bar. They deposit containers on a yard truck which then carriesthe container to the desired location.

The gantry crane can move between rows of containers by means of tracks or rubber tires. It can stack containers four high or more.

Like a strad yard, not all containers are immediately available.

Utilization of space is very good. The yard trucks used are similar to road trucks, but with pockets for the bottom corners of the con- tainer. These pockets hold the container in place without securing the container to the chassis. Transtainer yards are an efficient con- tainer handling system but require a large initial investment.

J

TRACK LRAIE

TRitINSTR/NER

TRLICK -4

Figure 1-5. Top view of Gantry Crane Yard 12

A variety of automated material handling systems comprise the fourth yard system. Most of these are variations on Automatic Storage and Retrieval Systems (AS/RS) used in warehousing. Containers are stored in racks and handled by automatic lifts. Conveyors or other methods are used to transport the container to a ship crane. The aim

is usually to reduce problems caused by labor trouble. Because of the enormous initial cost, very few of these systems have actually been tried.

The fifth system is to convert more conventional material hand- ling equipment for containers. Large fork lift trucks and side loaders can be equipped with spreader bars for container handling (Figure 1-3c).

They can stack containers two or three high. This system is not as efficient as the others because of slow container handling and a need for wide aisles. It is used primarily by ports which handle small num- bers of containers, because capital cost is relatively low.

Of the five systems described here, straddle carriers and gantry cranes are probably the most common. This research is concerned with yards using gantry cranes with rubber tires. This type of operation will therefore be described in more detail.

Transtainer Yards

The rubber wheeled gantry crane used for container handling is called a transtainer. It is large enough to span seven containers sitting side by side, and to stack containers four high. Usual pro- cedure is to place six stacks of containers side by side and use the remaining space as a truck lane (Figure 1-3b). A container can 13 be transferred from a stack to the truck without moving the transtainer structure. The transtainer structure can move at five mph to other stacks of containers. If it is necessary to move it to another part of the yard, the transtainer's wheels can be rotated 90° and it can travel perpendicular to its normal direction of travel.

Containers in a transtainer yard are stored in large blocks called sections. A section is six containers wide, up to four containers high, and can be of indefinite length. Figure 1-6 shows the terminolo- gy used to define container positions in a section. A stack is a group of containers on top of each other. A row is a group of six stacks side by side. A tier is a layer of containers side by side.

A space for one container is a position if empty and a container if full. Normal practice is to stack containers no more than three high so containers from inside stacks can be lifted over other stacks to the truck lane.

When a container arrives at the yard by road truck, the container is assigned a yard position and the truck drives to the correct section and row. A transtainer lifts the container from the chassis and deposits it in the proper place. Containers arriving by rail are transferred from rail car to yard truck by one transtainer, and from the truck to the yard section by a second transtainer. Containers arriving by barge are placed on yard trucks by a ship crane, and transferred to the yard by transtainer. All containers in a row are of the same length. In addition, most ports try to seggregate con- tainers by destination and by weight, but this is not always possible. 14

Ort... .--

/

4p,.

R04/

Figure 1-6. Terminology of container positions in a yard section

When a containership arrives, the first step is planning. Areas of the yard are assigned for cargo being discharged, and ship crane and transtainer movements are scheduled. The process is then reversed and the stowage of outbound cargo is planned. Stowage planning is the 15

subject of this research. Using these plans, ship cranes unload import containers onto trucks, and transtainersplace the containers in their assigned yard positions. Export containers are then loaded on trucks

by the transtainers, and stowed on theship by the ship cranes. During

discharge and stowage, one transtainer workswith each ship crane.

Three or four yard trucks are assigned toeach transtainer-ship crane

pair working the ship. When road trucks, rail cars or barges arrive

for import cargo, the containers are removedfrom the yard by the same

equipment combinations used to receive export cargo.

Special consideration is required for somecontainers. The most

common of these are refrigeratedcontainers or "reefers". They must

have access to an electrical outlet both in theyard and on the ship.

Some extra high loads are shipped in opentop containers. These must

be placed on the top of a stack both in theyard and on the ship.

Finally, it is advisable on shore, and mandatoryaboard ship, to

separate containers loaded with certainhazardous materials.

Terminal Six

This study focuses on one particulartranstainer port - the

Port of Portland's (PoP) Terminal 6 on theColumbia River. It is a

medium size containerport which offersservice to several different

steamship lines. It receives containers by road, barge, or rail,and

is designed primarily for 20 and 40 footcontainers.

Terminal 6 has 11 transtainer sections, eachcapable of storing

34 rows of 20 foot containers or 17 rowsof 40 foot containers.

Figure 1-7 shows the layout of the Terminal 6 yard. Each section is MI1111111111111' Iiiif flilliiIi TRacit im/t L /NE ENTRANCE

7 CENTER PIPIPTY CoNTAlA/E STORAGE 53-

5-4 L__ 411

43 53 _J I

5-2 1 1 42

>73

DOCK SW/P CRANE TRACA'S - 4- 4- 4- 4. - .4. 8.ERT 1/ i BERTH 2

Figure 1-7. Layout of Terminal 6 17 numbered from 1 to 73. These numbers are used to specify row locations within the section. Sections which are side by side, such as Sections

43 and 53, are termed adjacent sections. Sections not side by side, such as 43 and 54, are non-adjacent. Transtainers can move between adjacent sections without turning their wheels. Only Sections 44 and

54 are provided with electrical plugs for reefer containers. Empty containers are stored in a separate area and handled by small modified fork lift trucks. Terminal 6 currently has four transtrainers and three ship cranes. The facility is currently being expanded. When the expansion is finished, the yard will have 18 transtainer sections,

6 transtainers, and 5 ship cranes.

Load Planning

When a ship comes into port, the object is to unload and load the ship as quickly as possible. This allows the ship's owners to get the most for their investment and frees the port's handling equipment to service other vessels. The period spent in port is called turnaround time. Careful planning is needed to turn a ship around rapidly.

Discharge planning is relatively straightforward. The primary consideration is to plan for enough space between the ship cranes, if more than one crane is used. Containers can be stored in any conven- ient area of the yard, in the order in which they come from the ship.

Load planning is not so easy. The ideal approach, from the load planner's point of view, would be to start at one end of the yard and load each container in order. Unfortunately, a number of factors pre- vents this. First, under deck bays, which have fixed cell guides, are 18 built to accept only one length of container, 20 foot or 40 foot.

Second, it is desirable to have cargo for a single port consolidated in a single place within a bay. Cargo for one port should not, how- ever, be concentrated at either end of theship because this would make it difficult to use two cranes at that port. Cargo for different ports should also be loaded with the ship's route in mind. If the next port is Tokyo, it would not do to place Tokyo containers underneath those bound for Shanghai. Such a configuration is called overstow, and causes rehandles in later ports. Another important factor is the effect of loading on the ship's stability. If too much weight is placed high on deck, the ship.may capsize if it rolls in heavy seas.

If too much weight is forward, the propeller may periodically be above water. Some ships have a limit on how much weight can be placed on deck without causing the deck to suffer structural damage. Ships may also have height limits in under deck bays. Twenty foot containers come in two standard heights 8 ft. and 81 ft. In some ships the hatch cover will not fit if too many 81 ft. containers are placed in an under deck bay. Finally, containers with special requirements - including reefers, over-height containers, and containers with hazard- ous cargoes - must be placed according to their special requirements.

All of these factors make load planning a great deal less than straight- forward.

. Despite these constraints, a rapid turnaround time is still the objective. The load plannermust prevent collisions between ship cranes and between transtainers by planning for proper spacing. Inas- much as it is possible, the movement of transtainers between rows and 19 between sections should be minimized. Wherever possible, containers

stored in stacks should be loaded beginning with the containers at the top of the stack to minimize rehandles.

Planning the loading of a ship is a lengthy process. Information for the loading must first be organized. The detailed loading must then be planned. In some cases, such as when the calculated stability of a load is not acceptable, alternate solutions must be tried before a suitable plan is developed. The planning for 200 to 300 containers, a normal load at the Port of Portland, can take close to a full working day. For ports which load more. containers on a ship, planning times of two to three days have been reported (Cojeen and Van Dyke, 1976).

Any methods for simplifying the load planning process or reducing the management time required would be very welcome to the container

industry. Since the task is one of taking data and organizing it according to various rules and constraints, it was proposed that a computer aided planning system might be useful. Load planning is basically a materials handling problem, and computer models have been successfully applied in this area for some time. Such a computer aided process should reduce the time needed for load planning and perhaps lead to improved load plans. It was decided to try to develop computer aids for load planning at the Port of Portland's Terminal 6 to test this idea. This was done by a group of professors and students from

Oregon State University's Industrial Engineering Department under a grant from the OSU Sea Grant Foundation. This research is a part of that project. 20

CHAPTER II

PROBLEM ANALYSIS

Literature Review

A literature search revealed no computer assisted loading systems designed with a transtainer yard in mind. Some efforts have been made to develop load planning algorithms for yards which allow random ac- cess to containers and for straddle carrier yards. These were useful chiefly in illustrating the difficulty of the task and in confirming the problems associated with using some of the traditional mathematical solution techniques.

Beliech (1974), of the Naval Postgraduate School, did a study of pre-load planning with military applications in mind. His model as- sumed a single container length and random access to containers in the yard. Random access is reasonable if containers are stored on chassis or stored without stacking. This requires a large storage yard.

Beliech considered the use of integer programming for load planning but dismissed the idea because of problems formulating the problem and expected solution time. The solution method he proposed was a heuristic.

Beliech's heuristic attempted to minimize overstows, place hazard- ous cargo according to U.S. Coast Guard regulations, and preserve ship stability. No other constraints were recognized. Limits on the height or weight of containers in certain bays, and on placement of refrige- rated (reefer) units were omitted. Avoiding crane interference was 21

not considered either. The emphasis on hazardous cargoes in Beliech's

research may be due to the frequency of munitions in military shipments.

No attempt was made to actually code Beliech's heuristic, so no

test results are available. Even if it works as designed, Beliech's

heuristic should be of limited usefulness. This is due to the assump-

tions of a single container length and random access in the yard, and

to the ommission of vessel constraints such as deck strength and loca-

tion of reefer plugs.

Hydronautics, Inc. has come out with the most complete computer

assisted load planning system to date (Cojeen and Van Dyke, 1976).

The system was first developed for batch runs in the late 1960's. It

has since been converted to an interactive program. The program avoids

overstow of cargo, can handle containers of different length, and has

a system to achieve stable loads. It also recognizes reefers are re-

stricted to cells with electrical plugs. There are contradictory

reports as to whether it considers deck strength with Hydronautics, claiming it does (Cojeen and Van Dyke, 1976), and an evaluation team from Matson Terminals, Inc. stating it does not (Thoolen, Meade, and

Scott, 1978). Special containers such as hazardous cargoes are not placed by the program, but their locations can be specified by the load planner. The program can handle cargo when it is stacked in the yard, but does not consider travel distance for material handling equip- ment. These assumptions are appropriate for a straddle carrier yard.

The objective of the program is to minimize ballast needed and to pre- vent crane interference. 22

A test of the system by Matson Terminals, Inc. was financed by the

Maritime Administration (MARAD) of the United States (Thoolen, Meade, and Scott, 1978). Matson reported that while the user interfaces of the system were excellent, erroneous assumptions about the distribu- tion of container weights could cause stability problems. The hydro- nautics model assumed a uniform distribution of container weights.

Matson cargoes tend to have a bimodal distribution. One mode is very light and represents empty containers. The other mode is heavy and may be due to customers maximizing container use. The hydronautics model used nearly the opposite of the optimal strategy in this situa- tion, placing heavy containers on top, and light containers on the bottom. The resulting lack of stability was considered unsafe.

Since the evaluation of the Hydronautics model, Matson, Inc. has continued to work on computer assisted load planning. In the report for MARAD, they formulated a constrained assignment model (Thoolen,

Meade, and Scott, 1978). The constraints included were for stability, hazardous cargo, deck strength, lashing strength, racking strength, reefers, overheights, container support and stacking in the yard. Lash- ing strength is the ability of lashings to hold on deck cargo firmly, and is thus similar to deck strength. Racking strength is the ability of containers to support other containers. Some specialized Matson containers have low racking strength. Container support refers to insuring each container rests either on the ship structure or another container. The objective function was to maximize profit. This was done by maximizing the number of containers loaded and crane 23

utilization, and minimizing overstowage and interference between strad-

dle carriers. No attempt was made to solve the constrained assignment

problem.

Matson researchers later concluded the constrained assignment problem was insoluble with present computers because of the large num- ber of variables (Scott and Chen, 1978). They then proposed a simpli- fied model using integer programming. The model recognized all constraints listed for the constrained assignment model except stabi- lity and stacking in the yard. Avoiding overstowage of cargo was also made a constraint. The model uses stability as the objective function, with the intent of minimizing ballast required for a voyage. Cargo with difficult constraints is placed first. Regular containers are first sorted by port, then by general weight using a clustering algo- rithm. Integer programming is then used to assign containers from the port-weight groups to bays in the ship. If problems occur with stability, containers within the ship are exchanged by a heuristic until acceptable stability is achieved. This model has not been tested.

The Matson model will likely result in feasible load plans, but currently ignores crane interference and prohibits stacking of contain- ers in the yard. Matson proposes additions to the model which would minimize ship crane interference, and a study of the yard to see if stacking policies could be devised which would be compatible with the model. Even if these studies are successful, the model will be more appropriate to straddle carrier yards than to transtainer yards, be- cause travel time of equipment is not considered. 23a

The project at PoP's Terminal 6, of which this research is a part, included another approach to load planning. This was a heur- istic based on dynamic programming (Cho, 1981). It too seeks to solve the load planning problem for transtainer yards. A comparison of Cho's algorithm and the one developed in this research will be published later this year by OSU's Sea Grant Foundation. 24

Problem Formulation

Load Planning at Port of Portland

Load planning at the PoP is a shared task. Although the greater portion of the work is done by PoP managers, some important preliminary work is done by employees of the steamship company. In general, the shipping line does the work which involves business de- cisions or requires knowledge of cargo which will be loaded at other ports. The PoP handles the rest.

The first decision that must be made is which containers to load.

This is primarily a business decision and is made by the steamship company. If there are more containers available than there is space in the vessel, consideration is usually given to the company's best customers. The next part of the planning process is deciding which areas of the ship cargo for different ports should be assigned to.

There are four considerations here. The first is that refrigerated units must be assigned to areas with electrical plugs. The second is to place containers in areas of the ship designed for that length.

The third is to avoid overstowing - stowing cargo for a later port on top of cargo for an earlier port. The fourth is to spread the cargo for each port throughout the ship. This is done to allow the use of two cranes at each port. Crowding cargo for a port in one area of the ship can lead to problems with crane interference.

Spacing the cargo for each port requires knowledge not only of what is being loaded in Portland, but also of what has been loaded in 25

previous ports and what is going to be loaded in succeeding ports.

Since PoP does not have information on what will be loaded after the

vessel leaves Portland, a steamship company representative decides

which areas of the ship will be reserved for which ports. The repre-

sentative prepares a map of the ship, similar to the one in Figure 2-1,

with color codes to indicate which cells are for each port.

Once the steamship company has decided which containers will be

loaded, and which areas of the ship are reserved for them, the PoP

load planner can enter the process. Using the map provided, and his

knowledge of where the containers are in the yard, the planner first

decides on the sequence for loading the bays. Major consideration is

given here to preventing collisions between the ship cranes. An attempt

is also made to keep the cranes from loading containers with the same

port and length at the same time. This makes it easier to prevent

collisions between transtainers during loading. The results of this

part of the planning operation use Ship Work Sequence sheets (Figure

2-2). There is one work sequence sheet for each crane.

Once the sequence of bays has been determined, the planner selects

specific containers for individual cells. The objective here is to

keep the transtainers from getting too close together, while keeping loading time as short as possible. The result of this step is a map of the load for each bay in the ship called a Stowage Plan. One page of a stowage plan is shown in Figure 2-3. Each rectangle in the plan describes the container in that position in the bay.

After the load has been planned, stability of the vessel must be checked. This requires information on the load plan from the PoP MitsulOSILLines (/-41-to 04.5.ALASKA MAMA to (5..)e40(0(21,0 0)10(i))6-.) )°!)(;i) '1') tO to ict to 10 io GENERAL PLAN 10 to 10., to 10:ici I to . to 10 to to to '10 10 ;_1411 JO 10HO 3 ..40tgq:Y!!!1!(11±_ all 6-"--(10)1 -(-0) 10 i(4) 10 ' II JO HO J P JAPAN US: USA 3 i / (7.) Li s 1K : 30000 IP.141 LA LOS ANGELES IGI I 2 Y71: YOKOHMAA OL OAKLAND UNA I SIA:sntutzu SE SEATTLE (i4 s 7 1 ) NO NAGOYA HICRANmlPL PORTLAND (7) s (;) -- I OS: OSAKA VC : VANCOUVER 2 if El: KOBE ImigIBlotal 11111111i6V- 1 4 . REEIESI U. MAIL H- HAZARDOUS SAS 1111 20 4ce120 00" M.*10110 zolo 38133137 33 1341 33 3l E: EMPTY 01124127 23104123 711201 1s 111401 of 13 112111 03 1001 07 03 1041 03 oi sumo 0 OVER SIZE Os 03C13. 0132 044131 50 30 30 20 Illt 30-5-030TIO 30 130 30 I30 30 30 30 I_ Ss I i 1 0 4 - SECS 0 DAMAGED IN N O L O3031 3 003113 1301 3 1 3441 t 4 Is 34 30 - Si az 32 32 40 3 so E IS I I 1 o soym143tio1)17 Iszi103 lit133 6") ED 4172TC1 6.))(:i- @.0)-700 ,C0) 120'3334 40513110141 40.300 4. 201101 1

Gi) 0 n 6 it Q'1)

Figure 2-1.General plan of Alaska Maru with cells assigned to ports P° Port of Portland 27 SHIP WORK SEQUENCE Alaska Maru 89 SHIP: VOY GANG: Thurs. DaySide CRANE: 373 CKR SAVE AFT BAY ACTION 20' 40'

12 E 20 0 D Disch. UncoVer port & starboard 34 21 U/D -"- 23 E 24 0/0 Disch. Uncover port & starboard 18 E 24 U/D Disch

16 -" - -"-

8, 9 R/H 28 0/D Disch.

1 R/H -"- Disch.

.10 RFR - "- Load Mach Fwd

-"- 7

1 R/H -"-

1 R/H 33 0/0 -

-"- Disch. 2 P/H

35 0/0 Disch. 4 R/H

8 RFR 34 0/0 Load Mach Aft

31 0/0 -"- Mach Fwd 3 RFR

-"- - - 2

35 0/D -"- 1

33 0/D -

34 0/D Load 6

24 U/D Load Cover Stb & Port 17

:4 RFR 24 0/0 -"- Mach Fwd

-- -"- 7

-"- -"- 3 R/H

21 U/0 Load 32

19 U/0 -"- 28

-"- Cover Stb & Port 6 R/H

20 0/0 Load Mach Aft 9 RFR

. 12

Figure 2-2.Work sequence sheet for one crane PAGE I1 I To DAY NO.07 M.S.At ASKA MAKI UNDER DECK

WEIGHT K 0 V- MOMENT 1K V v v v 12 '0..1, 1.111.11/1/1 1,01,1 XVI--..-XF*-60,4111-. --- 4 4 /4-- tm . ea A1114 XII N. MI, .1712 /6°,6 1/4.26 sm.., tt./oo AI A111.6!..791, is 1.- 9(( Ill_ 011.011Y k !INV s Er 14.0 44.11 .1 /1. Nit: SLI.NY API. fik t , ,-,20?,,y-,,19,6___4 NI II N J. - -4',11.1.- 7.1-01 1IV. .19,',4',49A1.19.4 !'n'i.12ftt. .1 DII 67 04 it 01 . 0? r & Y --la T 00 IT 15.14 1. yy 7111.0731 10 X 111A0A0 I '1114 xr i se 410,041.1 iCS1f14412191- Y1t1 I Se 510.1117615.10 411'11715..04.4 YS K. Wel-119k 1.1.4 ?..!;,"-?."4..'f... 1,""" 4 1)414 1" .f.'' 'AI C/P -.11.1. SG KY OF I &I. ito .o 1ii4 fis at4*4 3,_l_i2n1 1r It'1'1"i .""a 4."11- 1..--gii441!",, 1 1VC.IF '--,Li ...- 6.-1,., 4nyi, Or Oi 10 134 IQ OT 0 00 PL42-12- a _DLit/ ,.I/L-91-1 L.-21-0 -__ 4 or a. SI 1 -11.114 Ilt "4 .4n nay tl NYA Ithy 4, S 4-4'n- r4 20.1 420.11 I 427.11-L 4072 ClOiOK 01 00 or 01 01 OS -,----- K .. fr.1i 4ST .11E1 1r4#"` 010 1914M .4 44 'v .Y- .4 i.. M 211 A'AISVa*41-7 5 IC or 00 07 01 2 = rj.4 11.1- f"" 11

3.t3_ _ 741t -1-4,. _x7ft__

66

rpAY 06> 011 0

Figure 2-3. One page of the stowage plan for the Alaska Maru's Voyage 89 29

planner and information on the vessel's current tank and cargo condi- tions from the ship's officers. The calculations are done either by

PoP personnel or ship's officers, depending on the preference of the steamship company.

It was intended from the first that this project produce a pro- gram that could aid PoP load planners. The project thus concentrated on the portions of the planning operations actually done by PoP per- sonnel. The first task done by PoP planners- deciding the sequence for loading bays - is a relatively short part of the planning process.

It often requires consultation with shipping company representatives on how many crews of longshoremen to hire for each work shift. It was therefore decided to keep that as a task done by the load planner.

The project concentrated on assigning containers to actual locations in the ship and on calculating stability of the vessel.

Statement of Objectives

The objective of the load planning process is to minimize the time in port. When assigning areas of the ship for different ports, the steamship company representative tries to make the use of two ship cranes possible at other ports, and to minimize overstows. He does this to minimize time spent at the later ports. While doing this, he does not consider conditions at the current port. It thus falls to the PoP planner to minimize loading time in Portland, while following instructions from the steamship company.

Time to load a vessel depends on the speed of the ship crane or the speed of the transtainer. Enough yard trucks are used to prevent 30 them from slowing the operation down. The load planner develops the work sequence sheet for the ship cranes in a way that minimizes ship crane movement and crane interference. Once this is done, the fastest possible loading time will occur, only if the ship crane does not have to wait for containers; the transtainer must therefore work as fast or faster than the ship crane. Use of the transtainer must be care- fully planned if this goalis to be achieved.

Transtainer time can be broken down into four categories. These are time to transfer containers to the truck, time to rehandle con- tainers, time to receive instructions, and time to move between rows.

Of these, time to receive instructions is completely beyond the load planner's control. This is the time for the loading crew to receive radio instructions regarding the locations and numbers of containers to be loaded.

Time to transfer a container to a truck is not closely related to the load plan either. Having to lift a container over a stack of containers to the truck lane is more difficult for an operator. For this reason PoP load planners try to take containers closest to the truck lane first. This is more a matter of operator. convenience, how - ever, and does not have much impact on loading time.

This leaves minimizing transtainer travel time and rehandies as the objectives when planning the loading of individual containers.

Transtainer travel time can be subdivided into moves between adjacent sections, moves between non-adjacent sections, distance traveled with- in a section, and total number of moves. Moves between non-adjacent sections are by far the longest because the transtainer wheels must be 31 turned 90°. Moves between adjacent sections and distance traveled within a section represent normal transtainer movement. Number of moves represents acceleration and deceleration time, and the time to adjust position at a row.

Rehandles are of two types. There are rehandles of containers which will be loaded on the vessel later, and rehandles of containers for other vessels. Rehandling containers for other vessels is un- avoidable if they happen to be on top of those for the vessel in port.

The objective is thus to minimize rehandles of containers for the same voyage.

The ideal for a load plan is to minimize an equation using these five time factors weighted by the time required for each factor.

min Z = W1 (moves between non-adjacent sections)

+ W (moves between adjacent sections) 2 + W (distance traveled) 3 + W (total transtainer moves) 4 + W (rehandles of container for the same voyage). 5 It was recognized that simplification of the objective function might be necessary depending on the solution technique, but the above equa- tion is a good summary of the time factors dependent on the container assignment portion of the load plan.

Constraints in Load Plannina

There are a number of restrictions which constrain the load planning process at the PoP. The first is that instructions from the steamship company representative must be followed. Besides this, 32 there are physical, safety, and economic constraints which affect load planning.

Following steamship company instructions means two things. The first is that all containers designated by the company must be loaded if at all possible, but only containers released by the company. The second is that containers must be stowed only in areas designated by the company representative. The representative reserves areas for both lengths of cargo, and for regular and refrigerated (reefer) cargo for each port. The company representative may also designate areas for hazardous cargo if other hazardous cargo is already on board. Areas for reefers are specified so they will be near electrical plugs.

Lengths are assigned to specific areas because of the structure of ships and containers. Under deck bays are constructed to hold either

20 foot containers or 40 foot containers. Mixing of containers in under deck bays is therefore prohibited. With on deck bays, it is possible to stack 20 foot and 40 foot containers side by side.' They cannot be mixed in the same stack, however, because container design requires containers in a stack be of the same length.

Instructions from the steamship company cover some of the problems of load planning, but a number of constraints remain. These can be divided into physical, safety, and economic constraints. The first of the physical constraints is due to the height of some containers.

Forty foot containers are almost always 8.5 ft. tall, and under deck bays are constructed to accommodate containers with these dimenc:ions:

Twenty foot containers, on the other hand, come in two heights - 8.0 ft. and 8.5 ft. Not all 20 foot under deck bays are built to handle 33

8.5 ft. containers. Thus there may be a limit to the number of 8.5 ft. tall 20 foot containers (called high cubes) which can be loaded in a stack. A 33 ft. tall bay will hold four containers, but no more than two of them can be high cubes (Figure 2-4). The high cube con- straint applies only to 20-foot bays which are under deck.

rDEC/C. /M7-C/!

H/c

H/c H

HC

H/c

Figure 2-4. Under deck bay with too many high cubes in one stack 34

A similar constraint is the weight of containers in on deck bays.

Because of structural considerations, there is a weight limit for each

stack of containers placed on deck. For some ships, this limit is

so high that in practice no stack of containers ever exceeds it. In

other ships, each stack must contain some relatively light containers

to meet the limit. It should be emphasized that this constraint applies

to the total stack weight, not individual container weights. The deck

stress limit applies to both 20 foot and 40 foot containers in on deck

bays.

Another constraint applies to non-standard container sizes and

to break bulk cargo such as large pieces of machinery. These must

be placed where there is sufficient room for them. This may mean using

two or more cells for a single piece of cargo.

The final physical constraints relate to the order in which load-

ing must be done. Containers cannot be loaded on top of empty cells;

they must rest either on the ship's structure or on another container.

They also cannot be loaded on top of hatch covers if cells below the

hatch cover are yet to be loaded.

Safety restrictions fall into two categories. These are stability

constraints and hazardous cargo rules. Stability constraints deal with how stable the ship will be if it encounters heavy seas. PoP

uses two measures of stability, metacentric height (GM) and trim.

GM is a measure of how high the center of gravity of the vessel is.

This affects the ship's ability to right itself when it rolls to the

side. If the center of gravity is too high, the ship may capsize when 35

it rolls. If the center of gravity is too low, the ship will rapidly

snap back to the upright condition. Unfortunately, there are limits

to how much stress the lashings for on deck cargo can take. If the

ship snaps back suddenly, the on deck cargo may break loose and fall

over the side. There is thus a range for GM.

Trim refers to the difference in height between the bow and the

stern of the vessel. The stern should be lower than the bow so the

propeller is low, but not too much lower. There is thus an accept-

able range for trim as well.

The other safety category concerns hazardous cargo regulations.

The U.S. Coast Guard enforces rules on how various types of cargoes

must be stored. These include flammable, explosive, corrosive, and

other types of cargo. A complex set of restrictions govern how much

distance must separate various types of hazardous cargo.

Economic constraints are those necessary to satisfy a customer.

Constraints to satisfy a customer can take several forms. The most

common are to request that cargo be stacked either above or below deck, or to request a commodity (e.g. mint) not be placed near another com- modity (e.g. onions).

Simplified Model

The variety of constraints contributes to the difficulty of load planning. Analysis of operations at Terminal 6 suggested some modifications which would simplify the problem. The fact that the shipping company makes the early decisions eliminates some complicat-

ing factors from the beginning. Avoiding overstowage of cargo, insuring 36

reefers are near electrical plugs, and spreading the cargo for all

ports throughout the ship are all done by the company representative.

A study of loads planned at Terminal 6 showed that three of the

constraints do not apply to most of containers shipped from Portland.

These are the constraints relating to customer requests, hazardous

cargo, and to oversize cargo requiring two or more cells. Since very

few containers were affected by these factors, it was decided to let

the load planner stow them manually and omit them from the computer

model.

Another constraint was modified slightly. Most bays in a ship

have more than one hatch cover. It is possible to load the stacks

under one hatch cover, replace the hatch cover, load containers on

the hatch cover, then load more stacks in the under deck bay through

another hatch. This is not done at PoP. Instead, all cells in an

under deck bay are loaded, all hatch covers are replaced, and only

then does loading above that bay begin. The constraint requiring all

cells beneath a hatch cover to be filled before containers are loaded

on the cover is therefore modified. All loading in the bays below

it must be completed before loading of an on deck bay commences.

These changes in the constraints leave the following simplified model.

min Z = w1 (moves between non-adjacent sections)

+ W2 (moves between adjacent sections)

+ W (distance traveled) 3 + W4 (total transtainer moves)

+ W5 (rehandles of containers for the same voyage). 37 subject to

Containers designated by the shipping line must be loaded

Shipping line instructions regarding placement of containers

must be followed including

- length designations

- port designations

- reefer designations

- hazardous cargo designations

Limits on the number of high cube containers in 20 foot bays

must be adhered to.

Limits on the weight of stacks of containers on deck must be

adhered to.

Containers must rest on the ship's structure or on another

container.

All bays below an on deck bay must be loaded before the on deck

bay begins loading.

Stability calculations for both GM and trim must be within al-

lowable ranges. 38

CHAPTER III

ASSUMPTIONS AND GENERAL APPROACH

Assumptions

Several assumptions were made prior to developing a solution to

the problem. The first assumption was that container handling equip-

ment would be of the transtainer yard type. That is, a combination

of transtainers, trucks, and ship cranes would be used to transport

containers from the dock to the ship. This is, of course, the system

used at PoP. This required a second assumption- that empty containers

would not be included in the model. Empty containers at PoP are usual-

ly handled with modified fork lift trucks. Transtainers can immediately

access the top container of any stack in a section, whereas top loaders

can only access top containers nearest an aisle. Leaving empty con- tainers out of the model should make little difference, since when empties are shipped the order of loading is not important.

The next assumption involved the ships to be loaded. Older con- tainer ships are usually break bulk cargo ships which were modified to handle containers. These ships generally do not have extensive ballast tanks to aid stability. Newer ships have sophisticated tank systems which can do a great deal to adjust stability after a ship is loaded. Since newer ships are rapidly replacing the older variety at the PoP, it is assumed that only the newer ships would be loaded by computer. This assumption implies that stability will not be 39

difficult to achieve and that the difficult part of load planning is to

insure that material handling time is minimized.

The final assumptions were related to the container yard. It was

first assumed that all containers for a voyage have arrived and that

their yard positions are known. The PoP sets a cutoff time for con-

tainers arriving for a voyage so this is not unreasonable. The last

assumption was that containers in the yard will be grouped by port,

length, and weight class more often than not. The algorithm will not

be faced with a completely random pattern of containers in the yard.

Yard personnel at PoP try to achieve such groupings, but are not always

successful due to uncertainties when containers arrive at the yard.

This assumption is credible with the proviso that it applies only to

average behavior and cannot be counted on in every case.

With these assumptions in mind, a search was begun for an algorithm

to solve the load planning problem. It was recognized, however, that

computer programs would not have the flexibility shown by human plan-

ners. A goal of being able to load 90 percent of our target population

of ships 90 percent of the time was adopted as a measure of success.

Alternatives for Solving

As with most problems to be solved by computer, the possible solu-

tion algorithms for the load planning problem can be divided into

algorithms which guarantee optimality and heuristics. An optimization

algorithm would be manifestly preferred. Different attempts were thus made to formulate the problem as classical operations research prob-

lems. 40

The approaches considered likelywere as a linear or integer pro-

gram, as a transportation or assignment problem,or as a dynamic pro-

gram. Cho (1980) formulated the problemas a mixed integer program

with variables for each combination of cellsand containers. The prob-

lem quickly became too large to solveas a linear program, much less as

an integer program. Other formulations, such as having variables only

for each combination of cells and containers withthe same port and

length designation cut the number of variablesconsiderably, but not enough to solve the problemas an integer program.

Formulating the problem as a transportationor assignment problem is not practical because of the objective function. The. main goal is to minimize transtainer travel time. Travel time from the transtainer's initial position could be used to developa cost matrix for a trans- portation problem. However, after the transtainer had movedonce, all the costs would immediately change. The transportation algorithm requires constant costs to findan optimal answer. Even if a way is found to develop an objective function, addingthe constraints to the problem would be a formidible obstacle.

A dynamic programming formulation also encountersdifficulties.

The problem can be set up with each successivecontainer selection considered a stage, and each possible transtainerlocation a state.

The difficulty is the formulation violatesone of the assumptions of dynamic programming. A true dynamic program assumes thatonce a state has been reached at a particular stage, theroute to get there isin- important. For the load planning problem, the route toget to a stage is the containers already loadedon the vessel. Different routes, or 41

different containers already loaded, mean that the possible states in

succeeding stages will be different. This is not allowed in dynamic

programming. It is possible that another approach would result ina

true dynamic program, but again the addition of the contraints would

cause great difficulties.

The failure to formulate the problem using an optimization algo-

rithm left the variegated realm of heuristics. The three major ap-

proaches considered were to use a modificationor combination of

optimization algorithms, to use a heuristic from operations research

literature such as quadratic assignment or a traveling salesmanrou-

tine, or to try and emulate the techniques currently used by load

planners at the PoP. There were significant disadvantages to each

approach.

Modification of optimization algorithms would require overcoming

the number of variables problem for a linear/integer programmingap-

proach, modifying the objective function for transportation problems,

or finding a suitable way to formulate the problem for dynamic pro- gramming. In addition, it would require a way to deal with thecon-

straints for the transportation problem or dynamic programming. One

suggestion for the latter difficulty would be to solve the unconstrained problem, then modify the solution to bring it to optimality. What the material handling efficiency of such an approach would bewas dif- ficulty to predict.

Modifying existing heuristics was, if anything, more difficult.

Modifying quadratic assignment, traveling salesman, or job shop routines were considered. As with optimality routines, the constraints of the 42 loading problem could not be easily incorporated into these models, making adjustment to solutions necessary. In addition, the similari- ties between the loading problem and the more traditional routines were not great enough to suggest a modification of the objective func- tion.

The last approach, modifying the load planners present system, also had pitfalls. It seemed likely that a set of decision rules could be developed in this manner, but such a set of rules would necessarily be incomplete. Planners currently take into account a great many fac- tors which vary widely with each load planned. Any subset of these rules would run the risk of not meeting the goal of loading 90 percent of the ships adequately 90 percent of the time. There also was the question of whether a computer could improve upon the plans generated by port personnel using their own techniques.

It was decided to try the third alternative. One virtue of this approach was that it was straightforward and feasible load plans should be possible. At the very least, it should provide a benchmark which other attempts could be compared to. In addition, the speed of the computer might allow changes to be made in parameters, and multiple load plans could be produced. This offered some hope of improving on present methods since producing even a single load plan by hand is a lengthy task. Lessening the emphasis placed on stability seemed particularly promising in this respect. 43

Heuristic Used

Guiding Principles

Three principles were roughly applied while developing a

solution to the load planning problem. The first was to use current

PoP procedures when feasible. The second was to assume stability would

be relatively easy to achieve and that more attention should be paid

to procedures to achieve good material handling. The last was that

when multiple alternatives were available and there was doubt as to

which was superior, the simpler option would be tried. These atti-

tudes did much to shape the algorithm.

Cell Selection

The first step in the solution process is to decide the order

in which cells would be filled. The starting point here is the load

planner's bay sequence plan. It was decided to request some additional

information from the load planner at this point. First, the order

in which ports would be filled within the bay are entered. This does not currently appear on the bay sequence sheets. Furthermore, quotas for the number of light, medium, and heavy containers for each bay and port combination are input. The planner decides the quotas based on stability considerations. Although it was expected that frequent deviation from the quotas would be possible, they are available if stability is difficult to achieve. For voyages where more than one transtainer-ship crane pair is used, the crane assigned to load each bay-port combination is entered. 44

Within a bay-port combination, the tiers are taken from bottom to top. Within each tier, cells are selected from port to starboard.

The latter policy was adopted because ships at Terminal 6 usually dock with the port side to the river, starboard to land. When loading on deck crane operators prefer to start loading from the river side so they do not have to lift containers over those they have just loaded.

Selection of cells is therefore first controlled by the planner's directions, then by two straightforward rules based on crane operator's preference. It should be emphasized that the numbering applies to each bay-port combination, not to each bay. Figure 3-la shows the loading sequences for two ports in a single bay. Each follows the bottom to top, port to starboard rules.

The order in which containers are loaded for a bay-port also helps determine the desired weight for each cellin the bay-port. The best results for GM are obtained if heavy containers are placed near the bottom, and light containers towards the top. Since the loading of cells is from bottom tier to top tier, stratification of weights can be achieved by filling the quota of heavy containers first, medium containers next, and light containers last. In effect, each cell has its own weight target. Figure 3-lb shows the weight stratification produced by the loading sequences for two ports in a bay.

Container Search

After a cell has been chosen, the next step is to find a container for it. A rough guideline used in container selection 45

, , ,\ \

\\\\ 2 ilk .11.111 N PORT STARZ3C PORT /

1111PORT 2

(a)LOADING seauovcEs

OPERATOR SPECIFIED QUOTAS FOR M.S. 161-17TARGETS P S )R7 I - 7 HEAVY 9 ME DlliAl PORT 2 2 HEAVY 3 AlED1UM NI i , --4** 14011 \-, 1 A A, .\ NILih. I)

/111 ..4146A \\,k *p k 1

I \ 4.:1 &4 1 4-'i r \ PORT S7ARI30.9RD 1.= L101/7 PORT 1 M= 114- DI If =HEAVY PORT 2

(b) /GHT "TARGET A SCI I/ E NT6'

Figure 3-1. Loading sequences and weight targets for cells for different ports in a single bay 46 is to pick the nearest acceptable container. Some exceptions are made to this rule, however.

When lonking for a container, there are two basic cases. The first, or normal condition, is that the weight of the container is not of special importance. While there is a weight target for each container loaded, it is expected that deviation from the target weight will at most have a slight affect on stability. The second case is when the last container in an on deck stack is to be loaded. If the stack is already close to the weight limit for that bay, the weight of the next container could cause the stack to exceed the 'deck strength limits. In this case there is a strict upper limit on the weight of the container, and special procedures are required. Deviation on the low side will at most affect stability to a small degree, but deviation on the high side causes infeasibility. Different methods are used to select containers for the two cases.

The method of container selection used for most cells is the one where deck strength limits are not a consideration. While these cells have a weight target of light, medium, or heavy, it is not expected that strict adherence to the targets will be necessary.

If the weight target system is used without modification, only heavy containers are allowed for heavy cells, medium containers for medium cells, and light containers for light cells. This may require extra traveling by the transtainer, since it is possible to need a heavy container when only medium containers are nearby. Since it was felt that deviation from the target weights was not of great importance, it was decided to use a weight range when searching for a container. 47

The weight range for medium containers might include some of the light

containers and some of the heavy containers. How much of the other

two weight ranges to include is left as an operator input.

To illustrate the weight range system consider,this example. Twenty

foot containers are to be loaded into a bay. The usual weight ranges

used would be 0-10 tons for light, 10-15 tons for medium, and 15-20.3

tons for heavy. If the operator chooses to extend the weight ranges

by 3 tons, the result is a set of overlapping ranges. They would be

0-13 tons for light, 7-18 tons for medium, and 12-20.3 tons for heavy.

If the stability results using these weight ranges were not acceptable,

the load planner could try another run with narrower weight ranges.

To relate this back to the algorithm, a cell is selected to be

filled. The quotas for that bay-port are then compared to the number

of containers already loaded for it, and the weight target for the

cell determined. The operator's instructions on how much to extend

the weight ranges is then checked and the weight range for the next

container calculated. Only containers within this weight range will

be considered for the cell.

Besides weight, three other factors must be checked. These are

port, length, and sometimes height. Height is only checked if the

cell being filled is in a twenty foot under deck bay, and no more high

cubes can be allowed in that stack. Port and length checks are always

required.

With port, length, weight, and height requirements determined, the algorithm then searches for a suitable container. The first place searched is the transtainer's current position, or the "current" row. 48

If only one container in the row passes the required tests, it will be selected for the current cell. If more than one container is accept- able, the algorithm identifies the containers with the fewest rehandles, and of those it selects the container nearest the truck lane (Figure

3-2).

If none of the containers in the current row are acceptable, the search is expanded to other rows in the current section (i.e. the sec- tion the transtainer is currently in). Not all rows are immediately considered, however; candidate rows are selected by the average weight of the containers in the row (Figure 3-3). The reasoning behind this policy is as follows. Cells for a particular port, length, and weight class usually are in groups. A 40 foot bay with 32 cells for the port of Kobe may have 12 heavy containers designated for it. The algorithm will look for a row where the average weight of the containers is also heavy, so several of the cells can be filled from the same row. As with the container weights, the weight range used when searching for a row can be varied for each run by the operator.

When the candidate rows have been determined, the algorithm search- es them for an acceptable container. If more than one acceptable con

tainer is found, the algorithm again identifies the containers

requiring the fewest rehandles, and of these selects a container as close to the current transtainer position as possible. If no accept-

able containers are found, other sections must be searched.

After the current section, the first section checked is the ad-

jacent section. This is because adjacent section changes are much

easier for the transtainer. Candidate rows are identified using the 49

7- IR

Order of Preference Stack Tier

Top Container

1 A 1 2 B 3 3 D 2 4 E 3 5 F 2

One Rehandle

6 B 2

7 D 1 8 E 2 9 F 1

Two Rehandles

10 B 1

11 E 1

Figure 3-2. Order of preference for containers within a row based on position alone 50

Location of Rows with Containers ForDesired Port and Length

SECT70A1 SEC-770N'/3

Row Lochnol 19 39 44.5 RVG. 1.4167: 1143 6.2 17.2

START /NO SECT/ON Sa SECT /ON4 -rg/24<`: 7',4 /NE P031 r/ ON Row Locirice,/ 7 31 67 3 2.1 37 AVG. ti)GT: 7.9

For Desired Row Weight Range of 0-12 Tons

Order in which rows are searched Order in which rows are searched using regular procedure using critical weight procedure

Order Sec. Row Location Order Sec. Row Location

all 1 42 57 1 42

2 42 3 2 52 all

3 52 31 3 43 all

, 4 52 /

5 43 39

6 42 37

, 7 42 21

8 52 67

9 43 19

10 43 45

Figure 3-3. Order of row selection during containersearch for regular and critical weight container search procedures 51 same row weight range used to choose rows in the current section. The candidate rows are then searched using the same policy of first mini- mizing rehandles, then transtainer travel distance. If no acceptable containers are found in the adjacent section, the remaining sections are searched one by one using the same procedure. As soon as a sec- tion is found with acceptable containers, the best container in terms of rehandles and travel distance is loaded and the search is termi- nated. If no acceptable containers are found in any of the candidate rows in any of the sections, the search returns to the original section.

At this point, the weight range used to select candidate rows is changed. The new range includes all weights outside the original range. Thus any row not already checked will be a candidate row. The search of the original section is repeated using the new candidate rows. As before, the policy is to minimize rehandles first, then dis- tance traveled. If no acceptable container is found, the search again moves to the other sections. Using the new candidate rows, first the adjacent section, then if necessary the other sections are searched.

If any section has an acceptable container, it will be located and loaded. If no acceptable container is available anywhere in the yard, the algorithm eventually returns to the original section and the failure to find a container for that cellis noted. .Regardless of whether a container is found or not, the algorithm moves to the next cell and the search for a container for that cell is begun.

The second method of container selection is reserved for cells which are at the top of an on-deck stack. Too heavy a container in this case may result in exceeding the deck stress limits. The original 52 intention was simply to load any container which would not exceed the weight limit in such a case. PoP personnel pointed out, however, that the lightest containers are often needed for stacks with very tight weight restrictions. Rather than risk using the lightest con- tainers before they were needed, PoP managers recommended that the heaviest container which would not actually exceed the deck strength limits be loaded. This saves the lighter containers for later use.

It was decided to modify this policy to increase flexibility.

The search is restricted to one section at a time. Within that section, instead of using the heaviest acceptable container, any acceptable container with a weight close.to the heaviest container's weight is eligible for loading. The operator determines how close the weight must be. Of the eligible containers those that minimize rehandles are choosen. Of these, the container in the row closest to the trans- trainer's current position is selected. The order in which sections are searched is the same as that used in the regular container search procedure. First the current section is searched. If no acceptable container is found, the adjacent section is searched. If no container is found there, the remaining sections are searched one by one.

Since all rows in a section are considered candidate rows, each section is only checked once. If no container is found, that fact is noted and the loading algorithm proceeds to the next cell.

It should be noted that the policies adopted in the two container search procedures have modified the objective function. First priori- ty is given to avoiding non-adjacent section changes. Second priority is given to preventing adjacent section changes. Finally, a mixed 53

policy is used for the number of transtainer moves, the transtainer

distance traveled, and the number of rehandles. In the regular search

routine, the number of moves is first minimized. If a move is neces-

sary, the number of rehandles is minimized, and then the distance

traveled. In the critical weight search routine, the number of moves

is ignored; rehandles are minimized first, then transtainer distance.

It may be noted that no specific consideration is given to reefers

in the algorithm. This omission was not accidental. When steamship

line representatives give PoP personnel directions on where to locate

cargo for different ports in the vessel, they distinguish between

reefers and regular cargo. Different portions of the vessel are set

aside for each. In effect, reefer cargo and regular cargo for the

same port can be considered as cargo for two different ports. PoP

personnel currently distinguish between reefer and regular cargo for

the same bay. It was thus decided to make no special arrangements for reefers but to simply treat it as if it were for another port.

Some provision was made in the computer code to systematize this.

Checking Stability

When all cells of the vessel have been checked by the algo- rithm and as many as possible filled, there remains the matter of stability. No way was found to check stability while loading was in progress, so it was decided to follow current PoP procedure and check it after the loading is finished. Several items of information are needed to calculate stability. The first is the contribution to total weight, vertical moment, and longitudinal moment of the ship's 54

structure and equipment. This information can be kept on file. Second

is the moment arms for both vertical and longitudinal moment of all the

tiers and bays in the ship. This too can be kept on file. Third, the

contribution of liquids on board, such as fuel oil and ballast water,

to total weight, vertical moment, longitudinal moment, and free surface

moment must be known. This is obtained from Ship's officers when the

ship reaches port. Fourth, the weight and location of cargo already

on board when the ship reaches Portland is needed. This too is ob-

tained from ship's officers. With this information, calculation of

stability begins.

The first step in calculating stability is to use the load plan,

the information on cargo on board, and the moment arms for tiers and

bays to calculate the contribution from cargo to weight, vertical

moment, and longitudinal moment. The contributions from ship's struc-

ture and equipment, liquid in tanks, and cargo are used to calculate

total weight (displacement), total vertical moment, and total longi-

tudinal moment. Using ship's displacement, several values are read

from tables for the vessel being loaded. These are draft at midships

(draft), moment to change trim 1 cm. (MTC), keel to metacenter dis-

'tance (KM), longitudinal center of buoyancy (LCB), longitudinal center

of flotation (LCF). The length of the vessel (LBP) must also be ob-

tained. Using these values, GM and trim can be calculated. This is

done using toe following equations (Cho, 1980).

total vertical moment + free surfacemoment) GM = KM - ( displacement

total longitudinal moment - (LC3 * displacement) trim = MTC * 100 55

The values for GM and trim are then compared to the allowable ranges for these factors. If both are within the range, the load plan can be used. If one or the other is outside allowable limits, the load plan must be modified or redone from scratch. Using a computer algorithm, it would be simple to rerun the problem using narrower ranges for con- tainer weights.

Summary

There are four major assumptions needed for the model. The first is that it be applied to a transtainer type of yard - the PoP's Termi- nal 6. A corollary to this is that empty containers not be included since they are handled with different equipment at Terminal 6. The second assumption is that it be used only on new ships with good bal- last systems which make stability relatively easy to achieve. The third is that all containers be in the yard and their positions be known. The last is that on the average, containers will be grouped in the yard by port, length, and weight.

Several attempts to use operations research techniques were un- successful. It was therefore decided to use a heuristic which was based on current practices at PoP.The heuristic loads each combina- tion of bay and port one at a time. The order in which bay-ports are loaded is input by the operator. For each bay - port,. loading is done from the bottom tier to the top tier. Within tiers, it is done from port to starboard.

There are two routines used to search for a container for a cell.

One has a strict weight limit for the weight of the container and is 56

used for all other cells. Both check port and length. The strict

weight limit routine avoids material handlingas long as a container

close to the weight limit is found. The normal routine avoids material

handling as long as the container fallsin a broad weight range. In

some cases, the normal routine also checks the height for feasibility.

When all cells are loaded, stability is calculated. If stability

is acceptable, the load plan is used. If it is not, the load plan must be redone. 57

CHAPTER IV

DATA STRUCTURES

Data Requirements

The first thing any program must have is data. Storing the data in ways that facilitate its use can be sometimes easy, sometimes challenging, but always important. An awareness of the data needed for an algorithm and how it will be used is, therefore, of prime im- portance in the early stages of a programming project. The next step after determining a solution procedure for the load planning problem was, therefore, to clearly define the information necessaryfor the solution and how it would be stored.

A load planning program requires three broad classifications of data. These are information on the ship to be loaded, information on the containers and the yard, andinstructions from the load planner, on how to load. Data structures for the load planning program were developed within this framework (Table IV -l).

Data on the ship can be divided into two categories based on how the data is used. The first category is data needed to plan the load.

The other is data needed to calculate stability. The data needed to plan the load includes information about the ship's structure and in- formation on cargo in the ship before loading begins. Structural in- formation consists of the length of a bay, whether a. bay is above or below deck, the height limit of stacks in under deck bays, and the weight limit of stacks in on deck bays. It also includes information 58

TABLE IV-1

Data Structures Needed for Load Planning

Ship Data

Data for Load Planning

Length of bays Whether bay is above or below deck Height limits for 20 foot under deck bays Weight limits for on deck bays

Descriptions of cells and containers in cells

Height of under deck stacks before loading begins Weight of on deck stacks before loading begins

Data for Stability Calculations

Moment arms for tiers and bays

Stability contributions of ship's structure Stability contributions of liquid in tanks Stability contributions and cargo aboard prior to loading

Subtotals of stability calculations

Yard Data

Container Data

Yard location Weight Height Length Port Container type ID

Raw Data

Number of containers Average weight of containers

Instructions from the Load Planner

Space in the ship and cell assignments Order for loading bay-ports Amount to expand weight ranges 59 on the cells themselves. As load planning takes place, a way is needed to store information on the containers loaded in the cells.

Information regarding the cargo aboard prior to loading is needed be- cause of the height and weight limits for some bays. In cases where cargo from Portland is to be loaded on top of cargo already aboard, the height or weight of the container stacks on board must be known prior to load planning.

Data needed for stability calculations can also be divided into descriptions of the ship's structure and conditions aboard ship before loading. Part of the procedure for calculating stability is the cal- culation of vertical and longitudinal moments for cargo loaded at PoP.

The moment arms of the tiers and bays must be stored for these calcu- lations. The stability of the ship must also be known before loading begins. This is broken down into the contributions to stability by the ship itself, of liquid in tanks, and of cargo already on board.

In addition to the data needed for the stability calculations, data structures must be devised for subtotals generated during the calcu- lations.

The second classification of input data - yard data - can be divided into container data and row data. The container data needed includes the yard location, weight, height, length, port, type of con- tainer, shipping line, and container identification number. Row data is needed because the algorithm uses candidate rows during container searches. The number of containers in each row and the average weight of those containers is needed for this reason. 60

The last data classification instructions from the load planner -

consists of three parts. The first is information on the space avail- able in the ship and which cells are assigned to various ports. The

second is the order in which bay-ports are to be loaded. The last is

the amount by which the weight ranges for container and row searches are to be expanded.

Data structures for most of these data categories were devised with ease of programming as the prime consideration. Some compro- mises were made, however, to achieve expected improvements in compu-

tation time and in the storage space required.

Ship Data

Cell Arrays

Data structures for the ship consist of information about

the bays in the ship, information on stability constants (moment arms)

for different locations in the ship, and information on where contain-

ers are placed in the ship. The decision on how to store the latter

affected all the ship data structures.

The simplest way to store information on the container locations within a bay would be to use a two-dimensional array. Each element

in the array would represent a cell. The first dimension of the array

would be the cell's tier and the second dimension would be the stack.

If containers were each given a number which uniquely identified them,

they could be "loaded" by storing the number in the appropriate element 61

of the array. If a third dimension were added to represent the -bay, any cell location could be defined by a threedimensional array. Each dimension would have to be as large as the maximum size encountered for any ship, of course. For many bays, not all of the space would actually be available for loading; most bays would be smaller than the matrix representing them, and some would already contain cargo.

This should not be a problem, however, since cells would only be con- sidered for loading on the load planner's instructions.

This scheme of ship representation would allow easy computation of tier and stack weights, but it is not efficient in terms of storage space. Under deck bays can have up to eight or nine tiers, while on deck bays have four or less. Conversely, on deck bays can have up to twelve or even fifteen columns (stacks), while large under deck bays usually have nine to twelve. The total number of bays in a ship could run as high as 45 or 50, since different bay numbers are used for 20 foot and 40 foot containers stored on deck, even if they are stacked side by side. Taking the maximum for each of these dimensions yields a total of 9 * 15 * 50 = 6,750 elements in a three dimensional array. Much of the. size results from the need to accommodate the height of under deck bays and the breadth of on deck bays.

If on deck and under deck bays could be stored in separate arrays, much space could be saved. Using a maximum of 17 under deck bays, 33 on deck bays, and the original estimates on maximum bay sizeyields much smaller storage requirements.

on deck 4 *15*33=1980 under deck 9 *12*17=1836 total 3816 62

ontos...fflarmaawaragaarau.

TYPICAL ON DECK BAY

Mit

TYPICAL UNDER DEck 9,1Y

Figure 4-1. Typical on deck and under deck ship bays 63

Although some increase in programming complexity had to be accepted,

it was decided to use the two arrays to represent bays on a ship. The

arrays for on and under deck bays were respectively titled

CELLON (bay, tier, column)

and

CELLUD (bay, tier, column)

The maximum dimensions were those used to calculate space require-

ments - CELLON (33, 4, 15) and CELLUD (17, 9, 12).

Using two arrays for the different types of bays posed an addition- al difficulty, though a minor one. The easiest way to refer to the bays within the program is toassign numbers to each sequentially.

When referring to a cell array, however, the on deck bays should be numbered sequentially and the under deck bays numbered with a separate sequence. In effect, there are three "lists", each containing differ- ent information. The first is the list of all bays and contains infor- mation which pertains to all bays, such as length or whether above or below deck. Other information, such as the arrays for cells just discussed, will apply only to under deck or on deck bays. There will thus7-be a list for each clf,these categories. These lists will be re- ferred to as the bay list, the on deck bay list, and the under deck bay list.

When a bay is being loaded, a pointer will mark the entry for that bay in the bay list. A second pointer will mark the entry for that bay in either the on deck or under deck bay lists, whichever is appropriate. All the information needed for a given bay will thus be readily accessible. 64

Bay List

The information stored in the three lists can be divided into two categories. The first is information needed during the load plan- ning; the second is information needed to calculate stability. Only the elements of the lists used for load planning will be described now. Variables used to calculate stability will be discussed later in the chapter.

There are four load planning elements in the bay list. The first two help describe the ship's structure. They are the length of the bay (whether 20 or 40 feet long), and whether the bay is above or below deck. These two items are stored in the arrays BAYLEN (bay pointer) and HILOW (bay pointer).

The next quantity stored is the bay's position in either the on deck or under deck bay list. This is stored in the array CONVRT (bay pointer). Once a bay has been selected for loading, the variable

HILOW tells the program whether the bay is on deck or under deck, and

CONVRT gives the position within the on deck or under deck list

(Figure 4-2). Using this information, a second pointer can be set.

The last element of the bay list is used in meeting the limit on high cubes in 20 foot under deck bays and the deck strength limits.

The variable is used to store the current height of each stack for under deck bays and the current weight of each stack for on deck bays.

The variable used is a two dimensional array called STWTHT (bay point- er, column pointers). Note that the information is stored for each column in a bay. The dimensions used are the maximums for bays and 65

6 3 2 on deck bay # 4

10 8 3

Good Ship Lollipop

7 6 2 1 I

under deck 4 3 2 1 bay #

Bay List

Bay sequence Number BAYLEN HILOW CONVRT OVRBAY

1 20 -1 1

2 40 -1 2

3 20 1 1 2,0

4 40 1 2 2,0

5 20 1 3 2,0

6 20 -1 3

7 20 -1 4

8 20 1 4 6,7

9 40 1 5 6,7

10 20 1 6 6,7

Figure 4-2. Bay list entries for a hypothetical containership 66

columns - STWTHT (50, 15). It would have been possible to divide

STWTHT into two arrays, one for on deck bays andone for under deck

bays. The space savings would have been small, however,so a single

array was used for simplicity.

Under Deck Bay List

There are two arrays in the under deck bay list used in load planning. The first is the array of the cell structure- CELLUD - previously described. The other is the limit on high cubes in 20 foot under deck bays. For reasons that will be explained in the next chapter, the height limit for a bay is storedas the extra height be- yond eight feet per cell which is available in that bay. During pro- gram operation, the program tests the current height of each stack

(STWTHT) against the allowed height. This height limit is stored in the two dimensional array HGTLIM (under deck bay pointer, columnpoint- er). This array, too, has an entry for each stack in the bay, since the height limit for stacks varies with the curvature of the hull.

The dimensions are the maximums for under deck bays and columns-

HGTLIM (17, 12).

On Deck Bay List

Three pieces of information are stored for the load planning of on deck bays. Again the first is the cell structure, stored in

CELLON. The second is the weight limit for stacks inon deck bays.

Since the weight limit is uniform for each stack in the bay, it is stored in a one dimensional array which is called WGTLIM (on deckbay 67

pointer). This variable is dimensioned to 33. WGTLIM and STWTHT are used by the program to insure dock stress limits are met.

The third piece of information is not used at thistime but will be needed if certain modifications to the program areattempted. The

name of the variable is OVRBAY(on deck bay pointer, counter). It

is a two dimension array which gives the bay sequencenumbers of any

under deck bays that must be filled before a particular ondeck bay

is loaded. On deck bays may cover either one or two under deck bays.

In Figure 4-2, bay 2 must be loaded before bays 3, 4, or5 can be

loaded. The value for the array OVRBAY (on deck bay seq., 1st or 2nd

covered bay) is OVRBAY (3,1)=2 and OVRBAY(3,2)=0. OVRBAY is dimen-

sioned to the maximum number of on deck bays (33) and themaximum

number of bays under an on deck bay (2). As previously stated, OURBAY

is not currently used, but is available if programfunctions are ex-

panded.

Additional information is stored in the bay,on deck bay, and

under deck bay lists, but these items relate to stabilitycalculations.

All the data stored for the calculations will be explained inthe next

section.

Stability information

There are two quantities used to describe shipstability at the

Port of Portland. The first is the relative depth in the water of

the bow and the stern, or trim. The second is the metacentric height

(GM). Trim is primarily a function of total weight(displacement) and

the longitudinal component of the vessel's center ofgravity. GM is a 68

function of displacement and the vertical component of the center of

gravity. The calculations which must be made are a determination of

total weight, of longitudinal moment, and of vertical moment. Data

storage requirements for these calculations are momentarms, initial

weights and moments, and subtotals for weights and moments.

There are four basic subdivisions of weight withina vessel.

These are light ship, tanks, cargo, and "construction and others".

Light ship is the weight of the vessel's structure itself. "Tanks"

is the contribution from liquids aboard the vessel; theseare fuel

oil, drinking water, ballast water, and the like. Cargo, in this case,

is the contribution of the containers on board. Construction and others

refers to weight of any additions to the ship, life boats, and other miscellaneous weight. The contributions of each subdivision to total weight, vertical moment, and longitudinal moment will be stored in

separate scaler variables within the program. Table IV-2 shows the name of each variable.

TABLE IV-2

Components of Ship Stability

Ship Component Weight Vert. Mom. Long. Mom.

Light Ship LGTWGT LGTVM LGTLM

Tanks TNKWGT TNKVM TNKLM

Construction CSTWGT CSTVM CSTLM

Cargo CRGWGT CRGVM CRGLM 69

Contributions to weight and moments by light ship weight are known for

all the ships calling at PoP. These can be stored in permanent files.

Information on the contribution from tanks and construction is supplied

by ship's officers for every voyage. Contributions by cargo must

be calculated.

Cargo, for stability purposes, includes both the cargo already on the vessel and that loaded at PoP. The stability contributions of cargo on the ship before loading are calculated by hand. The cal- culations could be done by computer, but the time spent in data entry would outweigh the time spent in hand calculations. The bay weight and vertical moment are calculated for each bay before loading.This information is used by the program as a starting point forcargo sta- bility calculations. The initial weights and vertical moments of the bays are stored in two one-dimensional arrays called

BAYWGT (bay pointer)

BAYVM (bay pointer)

It may be noted that these quantities apply to all bays, and thus are part of the bay list discussed earlier in this chapter. The longi- tudinal moments of the bays before loading is not stored since that can be calculated from the bay weight.

Weight and position of the cargo loaded in Portland can be deter- mined using other variables in the program. Container information is stored by the program in a list called the container list. This will be discussed in more detail later in the chapter. When a container is "loaded" by the program, the container's position in the container 70

list is stored in the appropriate cellarray CELLON or CELLUD. When

the weight of a container for a particular cellis needed, the value

stored in the cell array can be used asa pointer to the container

list. The weight can then be read from the appropriatearray in the

container list. For any given ship tier or bay, cellscan be sequen- tially checked for container list numbers, and the container list checked for the weight. The weights can be subtotaled and used as desired.

The only remaining information needed for the stability calcula- tions are the moment arms for longitudinal and vertical stability.

This information is known in advance for ships calling at PoP,and can be stored in permanent files. Each bay has a moment arm for longi- tudinal stability, so this can be added to the bay list. The one dimensional array used is called

BAYCST (bay pointer).

Each tier in each bay has a moment arm (tier constant) for verti- cal stability. Because of the difference in the number of on deck and under deck tiers, the information is stored in theon deck and under deck bay lists. The information is stored in two dimensional arrays called

TRCSTO (on deck bay, tier)

TRCSTU (under deck bay, tier)

These constants also are stored in permanent files.

The final data storage requirement for stability calculations is for subtotals at various stages. Since thecargo stability 71 calculations are done bay by bay, the subtotals are stored in that form. Additions were made to the bay list for the weight, vertical moment, and longitudinal moment subtotals. The arrays used are

SBYWGT (bay pointer)

SBAYVM (bay pointer)

BAYLM (bay pointer)

The totals of the values stored in these arrays are then stored as the variables CRGWGT, CRGVM, and CRGLM discussed above. The actual procedure used for stability calculations is discussed in the next chapter.

These are the final variables of the bay lists. The complete bay lists are displayed in Table IV-3.

Container Data

There is obviously one area for which data is required in order to plan container placement on the ship. That is information on the containers themselves. The load planning algorithm requires that the location (i.e. yard section, row, stack, and tier), port, length, weight, and height of each container be known. It also requires the number of containers yet to be loaded and average weight for each yard row be stored. A record of the container type, the shipping line, and the sequence in which it was loaded is necessary for the final output. Finally, an indicator of whether a container has been loaded or not is needed.

The straightforward way to store this information would be to establish a "container" list where each entry was a container and each 72

TABLE IV-3

Complete Bay Lists

Bay List

BAYLEN (bay) Length of bay HILOW (bay) Whether bay is above or below deck CONVRT (bay) On or under deck bay list pointer STWTHT (bay,stack) Weight of on deck stacks and height of under deck stacks BAYWGT (bay) Weight of bay before loading begins BAYVM (bay) Vertical moment of bay before loading begins BAYCST (bay) Moment arm for longitudinal moment of bay SBYWGT (bay) Variable used to store subtotals for bay weights during stability calculations SBAYVM (bay) Variable used to store subtotals for bay vertical moment during stability cal- culations BAYLM (bay) Variable used to store subtotals for bay longitudinal moment during stability calculations

On Deck Bay List

CELLON (on deck Variable used to store containers loaded bay, tier, on deck by program stack) WGTLIM (on deck bay) Weight limit of on deck stacks OVRBAY (on deck List of under deck bays covered by an on bay, counter) deck bay TRCSTO (on deck Vertical moment arm for on deck tiers bay, tier)

Under Deck Bay List

CELLUD (Under deck Variable used to store containers loaded bay, tier, stack) under deck by program HGTLIM (under deck Height limit of under deck stacks bay, stack) TRCSTU (under deck Vertical moment arm for under deck stacks. bay, tier) 73

piece of information was carried for each entry. Such a list should

be capable of containing 750 entries to satisfy PoP recommendations.

It was noted, however, that a relatively small number of containers

would be used at one time. Searches for containers always begin with

the port, length, and yard section specified. If a single list was

used, a great many containers might be checked for each container

search. This would still be true even if the list was first sorted

by section, port, and length since many containers would haveto be

checked to find the right part of the list.

In order to alleviate this problem, the idea of usinga directory was explored. A directory is similar to a table of contents. A short- er list is made up from the longer list by grouping members of the larger list - say by yard row; the shorter list tells whereto begin searching in the large list. In this case, the idea was to have a list of the rows which would store the section, length,port, and row location number. The container list would be sorted byrow. Each entry in the row list would have the numbers of the firstand last container list entries for that row. The row list could be searcned for a row with the desired port, length, and yardsection, then the containers in that row could be checked immediately. Since the row list would be much shorter, much time wouldbe saved. It should be noted that in realitya single row might have containers for twoor more ports. In such a case, there would have to bea row list entry for each port and row combination. 74

As with so many things, once the directory idea was acceptedas

promising it was difficult to know when to stop. The next step was a

double directory system which uses three lists. The first list serves

as a table of contents for the second, and the second as a table of

contents for the third. In this case, the first list would consist of the yard section, length, and port. Any combination of these three variables which represented a container to be loaded would becon- tained in the list. Such a combination of a section, length, and port will be referred to as a "set" and the list as the "set list".

The set list would be sorted first by section, then by length, and finally by port. Each set would be listed only once. Since only two lengths, and only a few sections and ports are involved for each ship, the set list is short and any set can be located rapidly.

The set list also contains the first and last entries for the next list, which is the row list. Rows in the row list are sorted by their section, length, and port as is the set list, and then by row location number. It thus is an expanded version of the set list, as illustrated in Figure 4-3.

In addition to the row location number, the row list contains the average weight of containers in the row, the number of containers in the row, and the first and last entries in the third list for that row. As with the single directory system, the last list is thecon- tainer list. Like the row list it is sorted by section, length, port, and row location. Containers within these categories are further sorted by yard stack, then yard tier. As the row list was an expansion 75 ROLL) LIST Fs'estLash SET LIST 1...ne.4. /IV/v:4- Cont. Cent

3 19.9 3 1 F;est Last 3 1 21 9.2 2 4 5 1 Se cf PorfL. Roo 27 19.6 2 6 7 1 42 1 20 1 5 41 19.8 9 8 16 1 42 2 20 6 19.5 2 17 18 1 42 1 40 7 8 3 19.5 1 19 19 2 42 4 40 9 10 24 23.3 8 20 27 3 44 21 20 11 11 36 22.1 5 28 32 3 44 21 40 12 14 62 21.7 10 33 42 4 44 22 40 15 15 66 21.1 11 43 53 4 44 24 40 16 16 71 4.1 1 54 54 5

51 1 40 17 1 60 21.2 2 55 56 6 51 4 40 18 22 64 23.1 1 57 57 6 52 2 20 23 25 68 23.5 3 58 60 6 52 4 20 26 34 N.,68 23.2 3 61 63 7 60 22.8 3 64 66 8

46 22.8 1 67 67 9 18 24.2 17 68 84 10 22 23.0 5 85 89 10 .

Figure 4-3. Relationship between set and row lists

of the set list, so the container list isan expansion of the row

list. Figure 4-4 shows the relation between the three lists.

The speed of the double directory system becomes apparent when

entering a new section to find a container. The set list is searched

until the appropriate section, port, and length are located. The

first and last row entries for that setare read. Each row is then

checked to see if the average weight is in the allowablerange. Rows

are also checked to see if any containers are left in the row. Late

in the load planning process, many rows will be empty. The row list

is checked until a row is found with containers andan acceptable average weight. The first and last containers are then read and the containers for that row in the container list are checked tosee if any are acceptable. Co 14 TA 1 ts1 E LIST flipeN31 W5t ID 6 3 4 2 8.0 20.3 NYHE3586 1 0 6 2 4 2 8.0 19.7 NYKE1156 1 0 6 1 4 2 8.0 19.6 03046 1 0 /5 I 2 2 8.5 11.7 1CSU3882796 2 0 6 1 3 2 8.5 6.7 N1C87155043 2 0 /6 2 6 2 B.0 19.6 SNUU7616842 3 0 6 I 6 2 8.0 19.5 S807615301 3 0 4 3 6 2 8.0 20.2 9HUO7612422 4 0 ftn t1ST 4 2 6 2 8.0 20.3 SNUU7613094 4 0 4 I 6 2 8.0 20.1 SNUU7612240 4 0 Let- 0/1 gt 5 to, 3 6 2 8.0 19.5 581/U7616795 4 3 19.9 3 1 3 5 2 6 2 8.0 SETLIST 19.4 5800761754 4 0 --- 21 9.2 2 4 5 5 1 6 2 8.0 19.7 58007611248 4 0 Fest 1. if 27 19.6 2 6 7 6 3 6 51.4 R, 2 8.0 19.7 SI/07617630 4 0 41 19.8 9 8 16 6 2 6 2 0.0 19.7 M11761221 4 0 42 I 20 I 5 49 19.5 2 17 18 I 6 2 0.0 19.6 5807615497 4 0 42 2 20 6 6 19.5 1 19 19 3 2 4 2 8.0 19.4 46601401202 5 42 1 0 40 7 8 24 23.3 8 20 27 I 4 2 8.5 19.5 40586 42 4 40 5 0 9 10- 36 5 28 32 22.1 I 2 3 8.0 19.5 C1101702911 44 21 20 6 0 11 62 21.7 10 33 42 2 I 3 8.5 23.0 1150200152 44 21 40 12 7 0 66 21.1 11 43 53 4\ 3 1 1 3 0.5 23.0 1150200742 7 0 44 22 40 15 ". 4.1 1 54 54 4 2 I 3 8.5 23.5 K618201303 44 24 40 7 0 16 60 21.2 2 55 56 4 I I 3 8.5 23.3 BK1.0204043 7 0 51 I 40 17 23.1 57 57 6 5 2 I 3 8.5 23.6 0618204834 7 51 4 40 18 0 dB 23.5 3 58 60 6 5 1 I 3 8.5 23.7 K610205917 52 2 20 23 7 0 23.2 3 61 63 7 6 2 1 3 8.5 23.0 6618205018 7 52 4 20 26 34 0 . 60 22.8 3 64 66 8 6 I I 3 8.5 23.1 6618205891 7 0 . . . 22.8 1 67 67 I I 6 2 8.5 15.4 SH0U2060169 0 18 24.2 17 68 84 10 I 2 4 3 8.5 23.8 11185082681 8 0 27 23.0 5 85 09 10 3 I 4 3 0.5 22.5 UFCO2270960 8 0 5 2 3 3 8.5 24.5 C1104415700 8 0 5 I 3 3 8.5 24.3 5518201155 0 I 2 5 2 B.0 21.7 00102004063 9 0 I I 5 2 8.0 21.6 40102051770 9 0 2 2 5 2 8.021.4 M0182006488 9 0 2 1 5 2 8.0 21.7 4018206117I 9 0 3 2 5 2 8.0 21.5 M0182056600 9 0 3 I 5 2 8.021.6 M0102030993 9 0 5 2 5 2 8.0 21.9 HOLU2007463 9 0 S 1 5 2 8.021.9 40182063364 9 0 6 2 5 2 8.0 21.8 40102062270 9 0 6 I 5 2 8.0 21.4 40102019675 9 0 1 2 5 2 8.0 21.4 40182013614 60 0 1 I 5 2 8.0 21.6 40182020249 10 0

Figure 4-4. Relationship between set, row, and containerlists 77

Although the challenge of a triple directory system beckoned, further gains in search timeappeSred marginal, and it was decided to adopt the double directory system. There are three lists. All are sorted first by section, then length,then port. The row and container lists are further sorted by row location number. Finally, the container list is sorted by yard stack then by yard tier within each row. All sorts are done taking low numbers first, except yard tier which takes high numbers first. This insures that the top con- tainer in a yard stack appears first on the container list.

None of the lists has information which can be found inanother list. For example, section number is given in the set list, but not

in the row or container lists. It is possible to work backwards. from a container to the row and then the set to getthe section. Each entry in the container list contains a pointer to the rowlist entry for its row, and each row list entry includes the set list entryit corresponds to. Once the set is found, the section can be read.

Information is placed in the first list possible. The set list contains section, length, port, first row list entry for the set, and last row list entry for the set. These are stored as:

Section - SETSEC (set pointer)

Length - SETLEN(set pointer)

Port - SETPRT (set pointer)

First row list entry - FSTROW (set pointer)

Last row list entry - LSTROW(set pointer)

Section, port, and length will be the same for every rowin the set.

The arrays are dimensioned to 100. 78

The row list contains the row location number, the number of con- tainers currently in the row, the average weight of the containers currently in the row, the first container list entry for the row, the last container list entry for the row, and the set list entry for the row. This information will be the same for every container in the row. The items are stored in the following arrays.

row location - ROWLOC (row pointer)

number of containers - NUMBER (row pointer)

average weight of containers - AVGWGT(row pointer)

first container list entry - FSTCON (row pointer)

last container list entry LSTCON (row pointer)

set list entry ROWSET (row pointer)

These arrays are also dimensioned to 100.

Information specific to containers is stored in the container list.

This includes the position within the row (yard stack and yard tier), weight, height, container type (dry, reefer, open top, etc.), container

ID number, and steamship line. It also includes information for the load planner and for internal program use. The information for the load planner is the order in which containers are to be loaded by each crane. Three items are stored for internal use by the program. The first is whether the container has been loaded or not. Once the set, row, and container lists are established, entries cannot be removed from them. It is therefore necessary to record when a container has been loaded and is no longer available for consideration. The second item of information is whether a container has been rehandled. If it has been, the algorithm assumes it has been moved to a yard position 79 where it is immediately accessible, even if it was formerly covered by another container. The third piece of information is related to whether the container is covered by other containers when loading be- gins, and requires some explanation.

In a typical loading operation at PoP, most transtainer rows will have containers for only one port.A few rows, however, will have containers for two or more ports. Since the port partially defines a set, the containers in the row will be in different sets. The row will appear in the row list more than once; information on the number and average weight of containers for each row entry will refer only to the containers for a single port. Since entries in the row list are first sorted by section, length, and port, the multiple entries for a row may not be together. Figure 4-5 shows the set and row list entires for a row with three containers for one port and two contain- ers for another. As can be seen from the listings of the first con- tainer and the last container for the two row list entries, the containers for each entry are widely separated in the container list.

Set List Row List

First Last Avg First Last Sect Lgth Port Row Row Locat No Wgt Cont Cont

42 20 1 1 3 7 6 12.2 1 6 42 20 2 4 7 19 2 17.8 7 8 125 3 14.9 9 11 3 9 16.4 12 18 11 3 9.3 19 21 [25 2 16.2 22 23 37 4 12.0 24 27

Figure 4-5. Set and row list entries for a row with containers for two ports 80

The containers for the first port in the row occupy positions 9, 10, and 11 in the container list. The containers for the second port, in the row are the 22nd and 23rd entires in the container list. If there are containers for both ports in a single stack, there will be no way to determine this from their positions in the container list. This makes it difficult to prevent rehandles when selecting containers from this stack.

Normally, Containers in the same stack will be together in the container list. Since the final sorts are by yard stack and yard tier, containers in a stack are found in the list in the same order they are found in the yard (Figure 4-6). Separating containers bound for different ports interferes with this system. A way is needed to indi- cate if a container for another port is immediately on top of a con- tainer in the list, and to store that container's position in the

Figure 4-6. Order of container list entires for a row with containers for a single port 81

container list. The method selected was to establish a variable which

would be set equal to zero if no container for another port were im-

mediately above a container, and set equal to the covering container's

sequence number in the container list if one was. Thus a positive

number would indicate both that there was a covering container and

where to locate information on it.

A final piece of information stored for each container in the

container list is the row list entry for its row. This is needed to

obtain information about a container which is only stored in the row

or set lists. The container's yard section would be an example.

A total of twelve pieces of information need to be stored for

each container in the container list. This could be done with twelve

variables. It was noted, however, that two of the items were binomial

in nature. These were whether or not a container had been loaded and

whether or not it had been rehandled. These two items can be combined

with other variables. This could be done by making another variable

either positive or negative depending on if a container has been loaded

or not. The absolute value of the variable could be used for its ori-

ginal function. This is done for the rehandles case by combining it with the shipping line. The line is stored as a number. If it is

positive, the container has not been rehandled; if it is negative,

the container has been rehandled.

The variable indicating whether or not a container has been loaded

is combined with the variable which tells if a container is covered by

a container for another port. If the variable is either zero or 82

positive, the container has not been loaded. If it is negative, the

container has been loaded. When a container is loaded, it is converted

to a negative number by either subtracting it from zero, if the number

was positive, or by adding a large negative number to it,if the number

was zero.

The combination of some variables reduced the number of arrays

needed to ten. The variables used are:

container's yard stack CPOS (container pointer)

container's yard tier CTIER (container pointer)

container height CHGT (container pointer)

container weight CWGT (container pointer)

container type CTYPE (container pointer)

sequence container loaded in LODSEQ (container pointer)

associated row list entry CROW (container pointer)

container ID CID (container pointer, ID pointer) whether container loaded and whether covered by a container for another port:CLODED (container pointer); steamship line and whether container rehandled:CLINE (container pointer).

The CDC computer used could store a maximum of ten alphanumeric characters in a single variable. ID numbers sometimes exceed this, sc a two dimensional variable was used to store ID. It allows two ID seg- ments to be stored for each container. All variables were dimensioned for. 750 containers.

Instructions from the Load Planner

As described in the previous chapter, parts of the load planning 83 task are done by shipping company personnel and PoP load planners. before the computer algorithm is.used. The results.of their work must be used by the algorithm to select specific containers. The load planner must also be able to specify how much to expand the weight ranges used in row and container searches.

The first information needed is the space allotted for PoP cargo by the steamship company's representative. The company representative assigns cells to containers based on whether they are reefer or other types, 20 or 40 feet long, and according to port. Assignment of con- tainers to cells is done within these guidelines.

Since the solution algorithm calls for identifying a specific bay and port combination, and loading it tier by tier, it was decided to store information regarding the space available in the same order. A list which will be referred to as the "tier list", was established.

Each entry in the list contains five pieces of information- the bay, port, tier, first (port side) column, and last (starboard side) column.

An entry describes a continuous. group of cells in a tier for a particu- lar port. If all the cells in each tier for a particular port are continuous, the space available can be described using one entry per tier. To describe the shaded cells in four tiers of the bay in

Figure 4-7 would thus require four lines. If there are two or more groups of cells for the same port in the same tier, an entry is needed for each continuous group of cells. To describe the shaded cells in

Figure 4-8 requires eight lines, or two lines per tier.

The order of loading in the algorithm is from bottom tier to top tier, and from port to starboard within each tier. If the entries for 84

Cells for Port 1

Tier List Entries

Bay Port Tier First Column Last Column

6 1 1 3 3

6 1 2 3 4

6 1 3 3 4

6 1 4 3 5

Figure 4-7. Sample tier list entries fora bay-port with a single block of cells

1111111'0,' `0.Cells for Port 1

rA?..1111111r; V

Tier List Entries

Bay Port Tier First Column Last Column

9 1 1 2 2 9 1 1 5 5 9 1 2 1 2 9 1 2 5 6 9 1 3 1 2 9 1 3 5 6 9 1 4 1 2 9 1 4 5 6

Figure 4-8. Sample tier list entries fora bay-port with two blocks of cells 85

each bay-port combination are sorted first by tier,then by first column,

with low numbers taken first, the entires will then bein the correct

order for loading. Both Figures 4-7 and 4-8 illustrate this order.

The tier list is sorted first by bay then by port,so that all entries

for a bay and port are together. Within each bay port, entriesare

sorted by tier and first column.

In order to store this list in the computer, five singlesubscript

arrays were created. Each array holds a single column of the list.

The array names are

BAY (tier list pointer)

PORT (tier list pointer)

TIER (tier list pointer)

FSTCOL (tier list pointer)

LSTCOL (tier list pointer)

Each array is dimensioned to 200. The tier list is read from a file which will be discussed later in this chapter. Sorting of the list

is done before it is entered in the file, and isnot an explicit part of the load planning algorithm.

Another set of information needed for the algorithm is theorder in which to load each bay-port combination, whichship crane to use, and the quotas of light, medium, and heavycontainers for each combi- nation. A second list, called the "order list",was established for this information. As with the tier list, the first information for any entry is the bay and port. Unlike the tier list, however, there is only one entry for each bay-port combination.The order in which 86

bay-port combinations are listed determines the order in which they will be loaded. This order is-determied by the load planner.

A third item in the order list is the transtainer-ship crane pair to be used. When two (or even three) transtainers are used to load a ship, the algorithm needs to know which transtainer is going to be used for a bay-port combination. This is so the container search can begin from that transtainer's position.

The final information needed in the order list is the quotas of light, medium, and heavy containers for each bay-port. Planners at the PoP prefer to keep heavier containers towards the bottom of any bay because most of their problems with vertical stability come from top heavy loads. Given quotas for the number of light, medium, and heavy containers for a bay-port, the heavies should be targeted for the bottom tiers, the mediums for the middle tiers, and the lights for the top tiers. Since this is the order in which the tiers will be loaded, it is possible to use two numbers to describe the weight quotas for all the cells in a bay-port combination. These are the numbers of heavy and medium containers for a combination. If nl heavies and n2 mediums are specified, the first nl cells starting from the bottom tier will be targeted for heavy containers. When nl containers have been loaded, the next ncells are given a target of medium. When 2 n + ncontainers have been loaded, the remaining cells for the bay- 1 2 port will be targeted for light containers.

The order list thus has five items - the bay, port, transtainer- ship crane pair, number of heavies, and number of mediums. These are stored in single dimension arrays as follows: 87

bay BAYORD (order list pointer)

port PRTORD (order list pointer)

traintainer ITRANS (order list pointer)

number of heavies NHEAVY (order list pointer)

number of mediums NMED (order list pointer)

Each array is dimensioned to 100.

The final instructions from the load planner relateto weight

ranges. The planner must specify how much to expandweight ranges used

for row and container searches by the regularcontainer search routine.

He must also determine how much weightcan vary from the heaviest fea-

sible container's weight in the criticalweight container search routine.

The use of these quantities is explainedin more detail in Chapter 3.

The amount to extend the row and containerweight ranges for the

regular routine is stored in the scalar variablesRMARG and CMARG.

These are the amounts to extend therange on both the high and low ends

of the range. The amount weight can vary from the heaviest feasible

container's weight in the special weight routineis stored in the

scalar variable CRTRNG. By varying the values of RMARG and CMARG,the

load planner can control whether hewishes to place more emphasison

stability or more emphasison material handling efficiency. By con-

trolling the value of CRTRNG, the plannercan cause the program to save more light containers for on deck stacks whichare close to their weight limit. The planner must select values for all threeparameters before the program is run. If the results are not satisfactory,new runs can be made using different values. 88

Files

The load planning program has very little provision for dataentry

by the operator. The only values which can be suppliedon an interac-

tive basis are the parameters for weightranges used in container

searches, and some of the values used in the stability equations.

These values for the stability calculationsare obtained from tables

and depend on the ship's displacement. They can therefore only be en-

tered after displacement is calculated. Values entered by the operator are listed in Appendix D as the Input File.

All the remaining data required by theprogram is read from three files. Other programs must be used by the operator to enter the data and to sort it in the format required by the load planningprogram.

These programs are not part of this research. A group of programs were used for data entry when the load planningprogram was tested, however they were not designed for use by PoP personnel and shouldnot be con- sidered part of the load planning algorithm. User oriented data prepa- ration programs would have to be written before the loadplanning pro- gram could be used by the PoP.

The data in the files can be classifiedas data on the ship's structure, data on the containers to be loaded, dataon the vessel's condition before loading, and the load planner's instructions. These four data classifications were assigned to the three filesbased on the source of the information and when it would be available. Data on the ship's structure can be obtained from documents at Terminal 6.

Since this information very rarely changes, itcan be stored 89

permanently and accessed whenever the ship is inport. One file would

be prepared for each ship calling at Terminal6. When used by the pro-

gram, this file is called the ship file and titled SHPFIL. This file

contains some of the arrays used in the bay list, theon deck bay list,

and the under deck bay list. The arrays included are BAYLEN, HILOW,

CONVRT, BAYCST, HGTLIM, TRCSTU, WGTLIM, OVRBAY,and TRCSTO. The ship

file also contains the weight, verticalmoment, and longitudinal moment

of the empty ship and the ship's length. Appendix D describes the files

used by the program, including the shipfile. Appendix F shows a sample

run of the program and includes an example of the shipfile.

The next data classification is dataon containers. Container

data is currently stored at PoPon a small computer used for accounting.

If files from this systemwere made available to the load planning sys-

tem, all the information needed for theset, row, and container lists could be either read offor calculated. Computerized load planning at the PoP will be feasible only if thisis done, since entry of con- tainer data for each voyage isa lengthy task. Since all yard data is expected to come from thissource, a separate file called the yard file (YRDFIL) was established to supply yardinformation to the load planning program. It contains the set, row, and container listsin their entirety. The structure of the yard file is given in AppendixD and an example of it is in Appendix F.

The last two data classificationsare the vessel's condition be- fore loading and the load planner's instructions. Both are entered just prior to running the load planningprogram and were thus combined 90

in a single file. This file is the run file (RUNFIL). The data on the

vessel's current condition consists of the height or weight of contain-

er stacks on the ship, and the weight and vertical moment of cargo al-

ready on board for each bay. These are stored in the bay list as

STWTHT, BAYWGT, and BAYVM. The file also includes the contribution

from liquid in tanks and ship's equipment to weight, vertical moment,

and longitudinal moment. The instructions from the load planner are

the complete tier and order lists. The structure of the yard file is given in Appendix D and an example of it is included in Appendix F.

Pointers and Other Variables

Pointers used to indicate positions in the various lists are some- times loop counters. Many of the pointers, however, are used in several subroutines. Variables within the program which indicated the current

status were given the prefix CUR-. Pointers used in more than one sub- routine were included in this category. Table IV-4 shows the variables used to indicate current status. These include array pointers and var- iables used for logical tests. Note that the same pointer is used for both the on deck and under deck bay lists. This is because only one bay is dealt with at a time and thus only one of the lists is referred to at one time.

The variables for current set, row, and section are one dimension- al arrays. This is because the position of each transtainer must be stored. Distance calculations can then be made from the appropriate

transtainer's position. These arrays are dimensioned to three, so a

total of three trarstainers could be used for a loading operation. 91

TABLE IV-4

Current Status Variables

Pointers for Major Lists:

List Pointer

Bay CURBAY

On deck bay CURBY2

Under deck bay CURBY2

Order CURORD

Tier Loop counters

Set CURSET (current transtainer)

Row CURROW (current transtainer)

Container CURCON

Other Array Pointers:

Attribute Pointer

Current ship tier CRTIER

Current ship column CURCOL

Current transtainer CURTRN

Other Current Status Variables

Attribute Variable

Current yard section CURSEC (current transtainer)

Current container length CURLEN

Current port CURPRT

Current yard stack CURPOS 92

Another group of variables used in the program are the number of

entries and the maximum size of certain lists. These variables are

used to determine the number of iterations in loops. Using variables

for the maximum size of arrays makes it easier to modify the program

if needed. Table IV-5 gives the variable names for the maximum size

and number of entices for the appropriate lists.

TABLE IV-5

Variables for Maximum Size and Number of Entries in Lists

List Maximum Number of Entries Number of Entires

Order MORD

Tier MTIER

Set MSET NSETS

Row MROW NROWS

Container MCONT NCONT

A third set of variables used in the program are those used to

collect statistics. Three of these describe transtainer moves; they are number of moves, the distance moved, and the number of section changes. The remaining two statistics are the number of rehandles

required and the total number of containers loaded by each crane.

Table IV-6 lists the variables used for these quantities.

Summary

There are four general groups of data required by the program.

These are data on the ship's structure, data about the ship's present 93

TABLE IV -6

Statistical Variables

Attribute Variable

Transtainer moves TRNMOV

Transtainer distance traveled TRNDIS

Yard section changes TOTSEC

Number of rehandles REHNDL

Containers loaded by each trainstainer TOTCON (trainstainer)

condition, data on the containers, and instructionsfrom the load plan-

ner. Data on the ship's structure and its presentcondition are stored

in three lists. One list contains information on all bays, another

contains information on on deck bays, and the lastcontains information

on under deck bays. Each list is composed of array variables. One

dimension of each array is for the position inthe list.

Data about containers is also kept in lists. These are the set,

row, and container lists. The container list contains informationon

all containers. The row list has information on each yardrow and

serves as a table of contents, or directory, for the containerlist.

The set list serves as a directory forthe row list.

The instructions from the load plannerare primarily the cells

available for loading and the order in whichto load bay-port combina-

tions. Information on the cells available for loading isstored in

the tier list. The tier list describes eachgroup of cells to be loaded tier by tier. The order in which to load bay-port combinations 94

is contained in the order list. The order list also contains instruc-

tions on which crane to use and the quotas for medium andheavy con-

tainers to be loaded for each bay-port. The planner's instructions also include the weight ranges to use forrow and container searches.

Most information used by the programcomes from three files. In- formation on the ship's structure is stored permanently inthe ship file. Information on containers will eventuallycome from a smaller computer. This information is arranged for the load planningprogram and called the yard file. Information on the ship's condition before loading and instructions from the load plannerare entered just before the load planning program is run. They are placed in the run file.

In addition, a few program parametersare entered interactively while the program is running. 95

CHAPTER V

PROGRAM EXPLANATION

Program Structure

Basic Structure

As with most programs, the load planningprogram consists of data inputs, operations on the data, and outputs. In this case, most of the operations on the data consist of the computer loadplan- ning. Data in the program is manipulated inways which model activi- ties in the container yard and on board the ship. This chapter describes those data manipulations and how they relateto the load planning process.

In its most basic form, the program can be represented by theflow chart in Figure 5-1. Data for the program is read in. The data is then used by the program to develop a load plan. Finally the stabili- ty of the plan is checked, the resultsare output, and the load planner can modify the program if he chooses.

The input portion of the program reads data from the threefiles discussed in Chapter 4. These are the ship file, yard file, andrun file. The program then allows the user to interactivelyenter the amounts to expand row and container weightranges.

The load planning portion of the programuses the algorithm des- cribed in Chapter 3. It first selects a bay to load (Figure 5-2).

Within that bay it selects cargo forone port to load. For this 96

CS T iqRT) ± READ 1,117-R _.,1

PL.1,7M LORD ± 4. STA8/1./Tr, RESaLTS, AND MODIF/C,9770/v I_ Cs Top)

Figure 5-1. Basic program functions 97

Start

Select bay and port

Select cell

Select container search method

Select container using Select container using regular procedure critical weight procedure

Load container

Stop

Figure 5-2. Basic ship loading activities combination it then selects the first cell to be loaded. The program then selects a container search procedure basedon the importance of weight for that cell. The appropriate search procedure is used to find a container and the container is loaded. The program then loops back and selects the next cell, and the steps to loada cell are repeated.

This continues until all the cells for that bay and portare loaded.

The program then loops back and selects another combination ofbay and port. All the cells for that bay-port are loaded in thesame way. 98

These steps repeat until all cells designated for loading are filled.

The computer generated load plan is then complete.

Once the computer has generated the load plan, stability can be calculated and the load plan can be output. Since the load planning algorithm is not perfect, the load planner may wish to make changes.

Once the changes are made, stability and results will again be needed.

A feedback loop is necessary as shown in Figure 5-3. The planner can modify the load plan as many times as is necessary, and check the re- sults and stability each time. When he is satisfied, the process terminates.

Input data

\l/ Computer plans load

V Calculate stability Load planner and output results modifies plan

Stop

Figure 5-3. Feedback loop for load plan modification 99

Subroutine Structure

The different functions within the program are allocated to different subroutines. A series of subroutines are used to read data for the program (Figure 5-4). The first step is the initialization of variables. This is done by a block data subroutine. When the program

Start

SHPDAT

YRDREAD

COLWTHT

HNDCALC V SPACE

V ORDER

STBDAT V RNPARAM

Computer plans load

Figure 5-4. Subroutines used to read data 100 executes, the ship file is read by the first subroutine- SHPDAT. The yard file is then read by YRDREAD. The run file is read by the sub- routines which follow, and parameters entered during therun are read from the terminal by RNPARAM. The program is then ready for load planning.

To plan the load, a call is made to subroutine LOAD (Figure 5-5).

LOAD selects a bay and port to load then calls FILLBAYto fill the

CLP Main program

Controls bay and LOAD port selection.

Controls cell selection. FILLBAY Selects container search procedure. Loads cell.

Searches yard section for Searches yard section container REGLOAD for container using CRTWGT using critical regular procedure. weight search procedure.

Changes yard Changes yard ChGSEC CHGSECC section. section.

Figure 5-5. Subroutine structure for lead planning 101

cells in the bay for that port. FILLBAY selects a cell for loading

and chooses a container search procedure for it. If the regular con-

tainer search procedure is adequate, it calls REGLOAD. If special

consideration must be given to the container's weight,CRTWGT is

called. Both REGLOAD and CRTWGT search the yard section thetrans-

tainer is in for a container. If a container is found, a return is made to FILLBAY. If no container is found, CHGSEC is called tomove the transtainer to another yard section. CHGSEC then returns control to the routine which called it and thenew section is searched. This continues until a container is locatedor until the entire yard is searched. When the container is located, FILLBAY loadsthe container, then selects the next cell. This continues until all cells for the bay-port are filled, then control returns to LOAD. Another bay-port combination is selected and theprocess begins anew. When all bay- ports are loaded, control returns to the mainprogram.

When the load plan is complete, the mainprogram calls subroutine

EXCHNG (Figure 5-6). EXCHNG first allows the operator to selecta function. The functions are to calculate stability,output results, or modify the load plan. If results are needed, OUTPUT is called. If stability is needed, STABLE is called. If load plan modification is needed, EXCHNG is used to modify theprogram. After any function is completed, EXCHNG allows the operator tomake another selection. When the operator is finished,a return is made to the main program and pro- gram execution terminates. 102

CLP Main program

EXCHNG Select an action. Modify load plan.

Output load Calculate and OUTPUT STABLE output plan. stability

Figure 5-6. Subroutine structure for modifications, stability calculations, and results

Programming Language

Three factors were of major importance whenselecting a program-

ming language. These were the computational efficiency ofthe

language, availability of computers with compilersfor the language,

and availability of programmers familiarwith the language in industry.

Availability of compilers andprogrammers for the language was felt

to be important if the programwas to be of use to PoP and other ports.

If a common language was selected, theprogram could be modified for use at many transtainer yard ports. 103

The language selected was Fortran IV. It is a reasonably effi-

cient computational language. In addition, Fortran IV compilersare

widely available on computers around thecountry, and there are many

programmers proficient in it.

Initialization of Variables (Block Data)

The first subroutine in theprogram is a block data subroutine

used to initialize variables before theprogram begins execution.

Most of the variables in the subroutineare initialized to zero, though

a few are initialized to other values. Appendix G lists the variables

and the values assigned. Some of the variables are set tozero as

default values. This is true of the stack heightor weight (STWTHT)

and the bay weight and verticalmoment (BAYWGT,BAYVM). If no values

are entered for these variables in therun file, the values for that

bay and tier or columnare assumed to be zero. This cuts data entry

by the load planner. Other variables are set to zero because they

are used to hold sums calculated by theprogram. The statistical var-

iables are examples of this. The remaining variables were initialized

to zero to facilitate tests for the end ofdata in a list, or for

reasons that related to program testing.

The variables initialized to values other thanzero were special

cases. CELLON and CELLUD, the arrays thatrepresent all the cells

on the vessel, are initialized to 9999. This means the cellis not

available to be loaded. Later in the program, when the tier listis

read, cells which are available for loadingare given a value of zero.

The reason for this requiressome explanation. 104

One of the constraints on the load planningprocess is that con-

tainers not be placed on top of empty cells. To prevent this, a test

is made in subroutine FILLBAY whenevera cell is selected. The cell

beneath the selected cell is tested tosee if it contains a container.

This can be done by testing the appropriate elementof the cell array

for that bay (CELLON or CELLUD). If a container is in the cell, the

array element will have a positive number between 1 and 750 stored.

If the cellin question is actually part of the shipstructure, cell

array will have a value of 9999, since the cell wouldnever have been

coded as available for loading. If cargo was in that cell before load-

ing at PoP began, the value will still be9999 for the same reason.

Therefore, any value other thanzero indicates that loading of the

selected cell may proceed. A value of zero means the cell below is

empty and an error has occurred. Figure 5-7 shows a bay to be loaded

with three cells already occupied, and the valueswhich will appear

in the cell array just prior to load planning. All cells except those

actually available to load are coded 9999.

The last variable initializedare LOLIM and HILIM. These vari-

ables are used to define the weightranges used to define light,

medium, and heavy containers. Table 5-1 gives the ranges for the

different weight classes. The weight ranges were obtained from PoP

load planners.

Values of the other variables used in theprogram are either ob-

tained from input files, or assigned duringprogram operation. It was not necessary to initialize these variables. 105

Bay to be Loaded Cells with X's loaded when ship arrived at PoP.

999999999999999999999999999999999999999999999999

999999999999999999999999999999999999999999999999

999999999999999999999999999999999999999999999999

999999999999999999999999999999999999999999999999

999999999999999999999999.999999999999999999999999

0 0 0 0 0 9999999999999999999999999999

0 0 0 999999999999999999999999999999999999

9999 0 0 999999999999999999999999999999999999

99999999 0 999999999999999999999999999999999999

CELLUD Array for the Above Bay

Figure 5-7. Relation between bay and cell array before loading 106

TABLE V-1

Basic Weight Ranges for Container Lengths and Weight Classes

Container Weight Weight Length Class range (tons)

20 feet light 0-10

20 foot medium 10-15

20 foot heavy 15-21

40 foot light 0-15

40 foot medium 15-23

40 foot heavy 23-31

Input Subroutines

Seven subroutines are used to read the data from the threemajor

data files. In addition, two subroutines read data input by theope-

rator during program execution. The seven subroutines which read

files are called from the main program at the beginningof a run.

Reading inputs was divided among the subroutines forprogramming and

testing convenience. With one exception, these subroutines do

nothing but read data from files.

The first subroutine is called SHPDAT and reads all thedata

from the ship file. This data is stored in the variables discussed

in Chapter 4. The second subroutine reads the yard file, and is called

YRDREAD. The yard file contains the data for the set,row, and contain- er lists. The remaining five subroutines read therun file. These are COLWTHT, HNDCALC, SPACE, ORDER, and STBDAT. COLWTHT reads the 107

weight or height of stacks in on or under deck bays respectively,

for bays which are already partially loaded when they arrive in

Portland. HNDCALC reads the weight and vertical moment of all bays

which have cargo in them when loading begins, SPACE reads the tier

list which gives the space available in the vessel. ORDER reads the

order list. STBDAT reads stability contributions due to tanks and

the ship's .equipment.

Subroutine' SPACE is the only input subroutine which has a func-

tion other than reading. It changes the value stored in CELLON and

CELLUD for each available cell from 9999 to 0. The reason for this

is explained earlier in this chapter in the Initialization of Variables

section.

In addition to the subroutines which read data from files, there

is a subroutine - RNPARAM - which reads information input by the

operator during each run. The information accepted is the planner's

instructions for the amount to expand weight class ranges when search-

ing for a container or row. Inputs from the planner are also read

in the subroutine which calculates stability (STABLE), but this will be covered in the section dedicated to that subroutine.

Bay and Port Selection (LOAD)

Subroutine LOAD is the first subroutine in the calling sequence which actually produces the load plan. It is called from the main program. The functions orLOAD are to initialize the positions of all transtainers, control which bay and port combination is being loaded, set pointers for various lists, and record values for later 108

tests in the program. Overall control of the load planning is in

this subroutine. When the load planning is complete,a return is

made to the main program.

The explanation of LOAD and the other subroutinesused in load

planning will concentrate on where the pointersare in the data lists,

and on what this represents in the container yardand on the ship.

The flow charts in Appendix A correspond to this levelof detail.

How the computer code actually accomplishes this willnot be exhaust-

ively covered. Readers interested in how the program actually works

should use this description as a starting point, thenstudy the com-

ments included in the computer code to interpret individualstatements.

The first thing LOAD does is to assign initial transtainerposi-

tions. This is done in lines 57 to 100. All transtainers are arbi-

trarily assigned to the first set in the set list, whichmeans they

will be in the yard section with the lowestnumber. They are then

assigned to the row in the set which is nearest the mainaisle. If

the number of the section is in the 40's, this willbe the lowest

numbered row; if it is in the 50's this will bethe highest numbered

row. Location of the transtainers is completely arbitrary. Unless

by chance the first bay-port to be loaded bya transtainer has the

same length and port as the first set, the transtainer will haveto

be moved before it picks its first container.

Once initial transtainer positionsare assigned, LOAD begins a

loop for each entry in the order list (lines 101-116). All remaining operations of the subroutine are included within this loop. The first 109

Assign initial transtainer positions.

Select next bay and update bay variables.

Select next port and update port variables.

Call FILLDAY to load the bay-port.

Return

Figure 5-8. Flow of activities in LOAD

operation within the loop is to test if all entries in the orderlist have been loaded (lines 117-127). If they have, a return is made to the main program (lines.180-188). If there are entries remaining, the current bay-port will be loaded. First, a counter for the number of containers loaded for this bay-port, NTOTAL, is set tozero (lines

128-135). This counter will later be used to determine if theproper number of heavy and medium weight containers have been loaded. The subroutine then tests if the bay for this entry in the order list is different from the bay for the previous entry (lines 136-141).

(If, cargo for several ports is being loadedin the same bay, there may be several consecutive entries in the order list with the same bay, but different ports.) If the bay is different, LOAD updates the bay list pointer, the onor under deck bay list pointer, and the 110

current container length (lines 142-152). If the bay is not differ-

ent, these steps are omitted. In any event, the pointer for the order

list, the current port, and the current transtainerare updated (lines

153-166). A call is then made to subroutine FILLBAY which supervises

loading of each bay-port (lines 167-173). When loading of the bay-

port is completed, control returns to LOAD, and the loop forthe

entries in the order list is completed. The loop repeats for the

next entry in the order list. When all order list entries have been

completed, control returns to the mainprogram.

Cell Selection and Loading (FILLBAY)

Subroutine FILLBAY controls the loading for each bay-port. It

is called from subroutine LOAD. FILLBAY controls the order in which

cells will be loaded, determines the importance of weightand height

for each container selected, makes a call to the appropriatecontainer

search subroutine, loads the container when located, andupdates sta-

tistics kept by the program. When all cells for a bay-port have been

loaded, it returns control to subroutine LOAD.

FILLBAY uses the tier list to order the loading of cells. The tier list consists of groups of consecutive cells in thesame tier for the same port. It is sorted by bay, port, tier, and the cell nearest the port side. Since cells are to be loaded tier by tier, bottom to top, and from port to starboard withina tier, FILLBAY simply locates the first entry with the correct bay-port, andtakes tier list entries in order until the bay-port changes. The first action of the 111 subroutine is thus to locate the correct bay-port in the tier list

(lines 73-123)-.

There are two major loops used in FILLBAY. The first is for the entries in the tier list. A second loop is nested within the tier list loop (tier loop) for the individual cells of each tier list en- try. Most of the operations in the subroutine take place within the

Find start of tier list entries for current bay and port.

Select tier list entry. ,1

Select cell to be loaded.

Test for support underneath cell.

Select container search procedure.

\11( Call REGLOAD or CRTWGT to find container.

Load container in cell and update statistics.

Figure 5-9. Flow of activities in FILLBAY 112

cell loop. At the top of the tier loop, a test is made to determine

if all the tier list entries for the appropriate bay-port have been checked (liles 123-138). If they have, control is returned to sub- routine LOAD. If not, the current tier is recorded for future use, and the cell loop is set up using the first and last cells from the tier list entry as limits (lines 139-156).

In the cell loop, the column of the current cellis recorded, and a test is made to determine if an empty cell may be below the cell to be filled. This test is to insure the tier and order lists are in agreement and no input errors have caused discrepancies (lines

157-209). If the wrong order were entered in the order list, con- tainers high in a bay might be loaded before those lower in a bay.

If the test is not successful, an error message is printed and pro- gram execution stops. Assuming the cell below is filled, the next step is to initialize a variable for the number of sections checked in a search for a container (lines 210-220). This variable will later be used when deciding if the next section to be checked should be an adjacent section.

The next part cf FILLBAY determines if the height or weight of the next container is of special importance and selects the container search routine to be used (lines 221-341). There are four possible paths here. For on deck bays, the next container's weight may be of no special importance, or its weight may cause deck stress limits to be exceeded. For under deck bays, height may be unimportant, or high cubes may not be allowed. FILLBAY distinguishes between these four paths, as shown in Figure 5-10. 113

ONO

C.ILL CRTIIJS7-

1/E/61/7 NO T 171/Glir /vcr ifilPORTAN7, inPoRT4N7, CALL RZGLOAD CALL REGL0,41)

No 0179617, CUBES, CALL RE6LoAD

1

10. AmON

Figure 5-10. Selection of container search subroutine 114

The first test is if the bay is on deckor under deck. The

weight test for on deck bays is straightforward. The weight limits

for stacks are known and the current weight of each stackis stored.

The weight of a stack is compared to the maximum weightfor that

stack. If the weight of the next container couldcause the stack

to exceed the maximum weight, the critical weight (CRTWGT) container

search subroutine is used. If the next container cannot cause the

stack to exceed the deck stress limits, the regular containersearch

routine is used, with a flag set to show height of the containeris

not important.

If the bay is under deck, weight of a single container willnever

be critical, but the limit on high cubes ina stack may have been

reached. This can happen only in 20 foot bays. The method of keeping

track of height is slightly more complicated than it is forweight.

The temptation is to store the height of each stack and themaximum

height, and compare the two. This does not work.

If an under deck stack has a 33 ft. limit, itcan take two con-

tainers 8 ft. high and two 8k ft. high (high cubes). If the first

two containers loaded are high cubes, the current height is 17ft.

A test between the two shows there is 16 ft. left andany container can be loaded. If another high cube is loaded, however, the fourth container will not fit in the remaining 72 ft.

To circumvent this problem, only the height inexcess of 8 ft.

is stored for each container. The height limit is stored as the extra height beyond 8 ft. per container ina stack. The current height too 115

is stored as the extra height beyond 8 ft. per container. In our

example, the extra height in the bay is 33 ft. 32 ft. = 1 ft. After

two high cubes have been loaded, the current height is

ft. + 2 ft. = 1 ft. The extra space left is 1 ft. 1 ft. = ft.

and no more high cubes can be loaded in this stack.

Regardless of whether more high cubes are allowed in a stack, the

container search subroutine used will be REGLOAD. If high cubes are not allowed, a flag will be set to indicate this and an extra test will be performed in REGLOAD which eliminates high cubes from consid- eration.

Once a container search procedure is selected, control passes

to the appropriate subroutine until a container is located, or until an exhaustive search of the yard fails to find a container which meets

the restrictions for the cellin question. In either case, control returns to FILLBAY. At this point statistics on transtainer movement are recorded (lines 342-447). There are two cases here: where there has been a yard section change, and where there has not. If there has been, the number of section changes is incremented, a transtainer move is recorded and the distance traveled within the two sections is added to the total distance traveled. If no section change has been made, a test is made to see if the transtainer moved at all. If it did, the move is recorded and the distance traveled added to the total.

The next step in FILLBAY is to increment the number of containers loaded for this bay-port and by the current transtainer (lines 448-

454). Note that this is done even if a suitable container was not 116

located for this cell. The number of containers loaded for the bay-

port and by this transtainer thus are actuallya count of the cells

considered by the subroutine, and not a count of the actual containers

loaded. The assumption is made here that the load planner will make

adjustments to the load plan which will result in all the cells being

filled.

The last operations in the cell loopare to actually load the

container in the ship and to update variables whichare affected by

this (lines 455-631). On deck and under deck bays are handledsepa-

rately here. In both cases, a test is made to see if a container

was actually found. If no container was found an imaginary container

or "blank" is entered in the appropriate array (CELLON or CELLUD).

No other variables are updated in thiscase.

If a container was found, its position in the container list

is recorded in the cell array. The height or weight of the stack

it is placed in is also updated. The row list variables for the number

and average weight of containers in the row (NUMBER and AVGWGT)are

then adjusted. The container is "removed" from the yard by changing

the value of the variable CLODED for that container list entryto a negative number. This will tell the program the container is not available when later cells are loaded. FILLBAY also records the se- quence in which the container was loaded in the container list (LODSEQ).

When these operations have been completed, the cell loop has been completed. If there are additional cells for the current tier list entry, the loop repeats for the next cell. If net, the position 117

in the tier list is incremented and the tier loop is repeated. When

all entries for the current bay-port have been completed, control

returns to subroutine LOAD.

Regular Container Search (REGLOAD,MOVED)

Strategy

The search for a container for most cells is done by sub-

routine REGLOAD. It is called from subroutine FILLBAY. REGLOAD

searches only one yard section at a time. If other sections must

be checked, subroutine CHGSEC changes the transtainer location var-

iables, then REGLOAD takes over again.

The basic strategy behind REGLOAD is that transtainer moves

should be avoided. Whenever possible, all the containers in a yard

row should be loaded consecutively into a single bay. This is possi-

ble as long as the containers are for the same port and the container weights do not upset vessel stability. Stability is threatened be- cause taking containers in consecutive order may result in heavy con- tainers being placed on lighter ones, raising the vertical center of gravity. To get around this problem, the system of target weight ranges for the cells is used. If a container does not fall in the correct weight range, it is left in the row even if extra transtainer moves are needed to find appropriate containers. Initial runs of the program should use large ranges to keep the number of transtainer moves to a minimum. If stability is not achieved, the ranges can be narrowed and the program run again. 118

If a transtainer move is necessary, the objective is to move to the nearest row that seems likely to have a large number of con- tainers in the correct weight range. The assumption is that much of the time there will be several consecutive cells with the same weight target. If a row is selected with several containers for the same weight class, no moves need be made while loading the next seve- ral cells. The average weight of a row is used to estimate the weight of the containers in it. Since most containers are selected by sub- routine REGLOAD, the container search rules used by it largely deter- mine the material handling efficiency of the computer load plan.

Review of Yard Data

REGLOAD makes heavy use of the set, row, and container lists.

Some familiarity with them is necessary to understand this subroutine.

A review of these lists is included here.

A set is all the containers in the same section with the same length and port. The section, length, and port for each set are stored for each entry in the set list, along with pointers to the lowest and highest numbered row list entries for the set.

For the purposes of this program, a row is all the containers of the same set in the same yard row. There may be two or more separate row list entries for a yard row if the yard row has containers for different ports. The row list contains the row location, average weight, and number of containers in each row. It also has a pointer to the set list entry it corresponds to, and to the first and last container list entires for that row. The container list contains all 119

information that is specific to a container, anda pointer to the row

list entry of the row it belongs to.

To find a container, the program must first finda set which

has the correct port and length. It then locates a row with an aver-

age weight that falls within the desired weight range. It then checks

the containers in the row one by one.

Overview

There are several major functions in REGLOAD. The first is to prepare for a search, including calculating the container weight range and the height limit if necessary. The next action is to check if the current row has the port and length being sought. If the port or length are not acceptable, REGLOAD determines if any rows in the section have the correct port and length. All promising rows in the section are then checked for an acceptable container. If no accept- able container is found, REGLOAD calls subroutine CHGSEC to find another section to be searched. When an acceptable container is lo- cated, REGLOAD returns control to subroutine FILLBAY where thecon- tainer is loaded.

Preparation for Container Search

The first part of REGLOAD determines initial values for several variables. The starting row and set numbers are recorded and a flag called IPASS is set (lines 90-101). The use of the IPASS flag will be discussed later. The height limit for the next container is then calculated (lines 102-133). If the container being sought 120

cannot be a high cube, this limit will be used to eliminate them.

Finally, the weight range for the next container is figured (lines

134-196). To do this, REGLOAD uses the length and the target weight

for the current cell. The length was determined when the bay was

selected in subroutine LOAD. The target weight is calculated from

the weight quotas for the bay-port, as described in Chapter 4. The

strict weight range for this length and weight class were stored in

the variables LOLIM and HILIM by the BLOCK DATA subroutine. REGLOAD

takes this weight range and expands it in both directions by the amount

specified by the load planner in the run parameter CMARG. Consider

the case where the cell to be filled requires a 20 foot container

of medium weight. The strict weight range is 10-15 tons. If the

operator specified the range for containers be expanded by 4 tons,

the range becomes 6-19 tons. Now any container between 6 and 19 tons

will be considered for this cell.

Search of Current Row

Once initial values have been calculated for the appropriate

variables, the current row is examined. The first check is to see

if the set the row belongs to has the same port and lengthas the

cell to be filled (lines 197-204, See Figure 5-11). If if does not, a

check is needed to determine if any sets for the current section have

the correct port and length. This procedure will be explained later

in this chapter. If the current set does have the right port and

length, then the row list entry is checked to see if there are any containers left in the row (line 205). If no containers are left, a 121

Calculate container weight and height ranges.

Check if port and length of current row are correct.

Find set in current section Check current row for with correct port and length. container. If container If none, skip to section found, Return. change.

Calculate row weight range.

Choose row to search.

Searc1row.

If container found in section, Return. If not, continue.

Choose another section.

If some rows not checked, change row weightrange to include all rows and search yard again.

Return.

Figure 5-11. Flow of Activities in REGLOAD 122

new row must be sought. This too will be discussed later. If there

are containers left in the row, the container list entries will have

to be checked one by one.

When a row is checked, all the containers that were originally

in the row must be checked. This is because containers are never

removed from the container list; they are simply given a code indicat-

ing they have been loaded. The first check made for a container is

to see if it has been loaded previously. If it has, the program moves

on to the next entry.

When finding a container to load from a row, the program tries to

find a container that is at the top of a stack so no rehandies are

necessary (Figure 5-12). If no top containers are acceptable, the

program selects a container that requires the minimum number of re-

handles. If two or more containers in a row require the same number

of rehandles, the one closer to the truck lane is selected.

Determining the number of containers on top of a container, called

the "level" of the container, is more difficult than it first appears.

This is because some of the containers originally on top of it may

already have been loaded, and because containers for other ports may

be involved. If all stacks had containers for only one port, deter- mining the level of a container could be done by checking the containers preceeding it in the container list. If the preceeding containers were in the same stack, they would be on top. If they were not for the same stack the container would be a top container. It is possible, however, that containers for other ports, in other parts of the con- tainer list, are on top of a container. This possibility complicates 123

9 Truck Lane Container numbers indicate order in container list.

All containers are for the same port.

Order of Preference for These Containers

1 4 6 Top Containers (Level 0) 9 10

2 5 Require One Rehandle (Level 1) 7 11

3 Require Two Rehandles (Level 2) 8

Figure 5-12. Order of search of containers in hypothetical row 124 the task of determining a container's levelin a stack. Many more tests are required because of the number of possible combinations in stacks. Figure 5-13 shows the variety of stacks that must be con- sidered. The program must be able to detect the level of each container in each stack. The assumption was made that containers are only stacked three high. This is usually the case at PoP, and the logic for determining level would be greatly complicated by con- sidering a fourth tier.

.11 2 2 2 z

it'uniSERS1)2.) /Wiz) 3 R4 5.1-7,R TO b/FFEREArr POIZTS

Figure 5-13. Variety of ports in yard stacks 125

When searching a row, the searchmoves from the first container

list entry for a row to the last entryfor the row. Because of the

organization of the container list, each stack ischecked from top

to bottom. Stacks are checked starting with theone closest to the

truck lane (Figure 5-12). It is possible, using this order, to find

an acceptable container in the first stack covered by twocontainers,

and another acceptable container ina later stack covered by only

one container. The latter container is loaded to minimizerehandles.

In order to keep track of this information, theconcept of the "best"

container is used. While the row is being searched, the bestcontainer

found is stored (variable BSTCON), along withits level (BSTLVL).

Best means the container with the fewest rehandles (lowestlevel)

closest to the truck lane. If during the search a container is found

requiring fewer rehandles, it becomes the bestcontainer. Whenever

an acceptable container at the top of a stack is found, thesearch

stops and it is loaded. This is because the level cannot be improved

upon, and all containers yet to be checked are farther from thetruck

lane. If no top container is found, the container storedas the best

container when the search of therow is finished is loaded.

One other factor can affect a container's level. Thisis whether

a container has been rehandled or not. Practice at the PoP is to move a rehandled container to the nearest space which hasno containers.

Usually this is a space in thesame yard row; occasionally it is in a nearby row. In either case, two things will have happened. The container will now be a top container, and itwill be in a different 126

stack than it was originally. Unfortunately, there is no way topre-

dict which stack it will be in. Rather than guess blindly, the program

simply leaves it in its original position. It thus appears as if it

has not been rehandled. The program now assumes, however, that it is

a top container, since it is the top of whatever stack it has actually

been placed in.

With this background, the section of REGLOAD which checks fora

container in the current row can now be discussed. To begin, some var-

iables are initialized and a loop setup for each container belonging

to the row list entry (lines 206-220). The first check for each con-

tainer is to see if it has already been loaded (lines 221-229). If

it has, the remainder of the loop is skipped. If it has not, there are a series of tests to determine if the container is a top container

(lines 230-257). If it is, the container is checked for weight and,

if necessary, height feasibility (lines 344-359). If it is acceptable, it is designated to be loaded and control returns to subroutine FILLBAY

(lines 360-363). If it is not acceptable, some variablesare updated

(lines 365-373) and the program skips to the bottom ofthe loop.

If the container was not the top of a stack, the level isdeter- mined in one of two places. This is done in lines 258-343 if the container immediately above is for a different port, and in lines

374-412 if it is for the same port. Once the level has been deter- mined, the container is tested to see if the level is betterthan the best previous level, and if the container is acceptable (lines

413-435). If all tests are positive, the container becomes thenew 127

best container (lines 436-441). In either case, the program reaches

the bottom of the container loop. If there are more containers in

the row, the next one is checked; if not, theprogram continues.

The program checks to see if any acceptable containerwas found

and stored as the best container (lines 460-465). If one was, it is

designated to be loaded, a call is made to MOVED, and controlreturns

to FILLBAY (lines 466-475). Subroutine MOVED is called because one

or more containers will have to be rehandled to load the best contain-

er. MOVED will code those containersas rehandled. If no acceptable

container was found, additional rows will have to be searched.

Search for the Correct Set

There are three ways REGLOAD can reach the point of needing

to check rows other than the current row. The port or length of the

current set may not be the port and length sought, the currentrow

may have no containers left, or the current row may not have anycon-

tainers with an acceptable height and weight. In the first case,

a set with the correct port and length must be located. In the latter

two cases new rows may be checked immediately. It is the first case

that will be addressed now.

When the port or length for the current set is incorrect,the program looks for a set with the right port and length which is in the current section. There is no way to tell if the entry sought is above or below the current set in the set list. The first thing to be done is to find the first entry in the set list for thecurrent section (lines 513-548). 128

Because of the sorting of the set list, all entries fora section

are found together. Once the top entry for the section is found,

each entry for the current section is tested for port andlength until

either the desired entry is found or all set list entries forthe

current section have been checked (lines 549-588). If the latter

event occurs, a section change will be necessary and theprogram pro-

ceeds to that point. If the desired entry is found, then the starting

position in the row list must be found.

Proper placement of the row list pointer relates to the position of the transtainer in the yard. In the program, the transtainer posi- tion is determined by the section and by the yard location ofthe current row list entry. When the current set changes, a row belonging to that set must be made the current row. It is likely that none of the row entries for the new set will have exactly thesame yard location as the original row. For the row selection to work properly, however, the new current row's location should beas close as possible to the location of the old row. This will allow selection of the closest acceptable container to the transtainer's actual position.

Picking the new current row is thus done by calculating thedistance between the old row and the potentialnew rows, and selecting the closest one (lines 589-662).

Once a new current row has been selected, there must bea way to differentiate between the new row's location and the actualtrans- tainer location. The new current row is indicated by therow list pointer and thus is stored as CURROW. The actual transtainer location 129

is stored as TRNPOS. TRNPOS is used for distance calculations to in-

sure accuracy.

The only other thing done when finding a new current set is to

calculate row weight limits. When looking for new rows, rows likely

to have containers of the correct weight are selected using the aver-

age weight of containers in the row. Limits are set for the average

container weight for a row just as they are set for the containers

themselves. The operator enters the number of tons to widen the weight

range in subroutine RNPARAM. This is stored as RMARG. RMARG is then

added and subtracted to the values of HILIM and LOLIM respectively,

which apply to the cell being filled. If a row's average weight does

not fall within the calculated limits, it will not be checked unless

a search of all rows which fall within the weight range fails to yield

an acceptable container.

The remaining two cases where rows other than the current row must be checked require far less preparation. These are when the

current row has no more containers, or when it has no acceptable con-

tainers. In this case the variable TRNPOS is initialized and the weight limits for the row are calculated (lines 480-499). The weight limit calculations are the same as for the previous case. The trans- tainer position (TRNPOS) is set to the location of the current row.

The current row and set remain the same since in these cases the ori- ginal set was acceptable and the list pointers are already correctly positioned.

The three cases requiring a check of additional rows join together before the search for rows actually begins. A single subsection of 130

REGLOAD searches the rows of the original section regardless ofwhy

the search is needed. The same subsection is used to search other

sections if that becomes necessary. When a check of additional rows

is necessary, the program checks all therows of the proper weight

at one time. The system used is an extension of the procedure for

checking a single row.

Search of a Section

When searching a section for a container, theprogram is looking for an acceptable container which requires the fewest rehandles.

If more than one container meets these criteria,one from the closest row checked is selected. If there is a tie within the row, thecon- tainer nearest the truck lane is selected.

The search of the section starts from the currentrow. It moves to either side, always taking the nearest row which has not yet been checked. As with the search of the original row, ifan acceptable container at the top of a stack is located, it is designatedto be loaded and control returns to FILLBAY. If no acceptable top containers are found, the acceptable container requiring the fewest rehandles and closest to the starting point is savedas the best container.

When the search of the section is complete, the best containeris designated for loading, subroutine MOVED is called, and controlre- turns to FILLBAY. If no acceptable container is founds a section change is required.

When checking a row, the program first checks theaverage weight of the containers in therow. The average weight is used as an 131

indicator of the weights of the containers in therow. If the average

weight is close to the target weight of the cell beingloaded, the

row will be checked. If not, the next row is considered. When a

row is checked, containers in the row are tested for feasibility. If

a top container is acceptable, it will be loaded. If any other con-

tainer is acceptable, it is compared with the best container. If it

requires fewer rehandles, it becomes the best container.

In the program, all these activities take place inthe row and

container lists. The row list pointer, CURROW, points to therow

list entry for the current row. It is the closest row to the current

transtainer position. This is the first row checked. If no top con-

tainer is found, the distances to the nearestrows on either side

are compared. These row list entries will be immediately above and

below the current row's entry because of theway the list is sorted.

The closer of these two rows is then checked. A record is kept of

the last row checked to either side. The program compares distances between the nearest unchecked rows to either side each timea row must be selected. Eventually, the ends of the section are reached.

Checking individual containers is identical to the checkof the original row described above. Containers are taken in sequential order, starting with the first container list entryfor that row.

The ordering of the container listcauses stacks nearest the truck lane to be checked first. Stacks are checked top to bottom.

If no acceptable container is located ina section, a section change is required. To do this, a call is made to CHGSEC. CHGSEC 132

locates the next section which has a set with theproper port and

length. It establishes the transtainer position and currentrow at

the row nearest the center aisle. The center aisle is used by trans-

tainers to move between sections. Control then returns to REGLOAD.

A test is made to see if the latest section selected isthe original

section. If it is, the entire yard has been searched. If it is not,

then REGLOAD loops back to the beginning of thesection search pro-

cedure and the new section is searched.

The system of screening rows using theaverage weight of contain-

ers has a pitfall. It is possible to eliminate from consideration

the rows containing the very containers which should beloaded. Con-

sider the case where light containers are needed. It is possible

that the only remaining light containersare in a row with heavy con-

tainers, and the average weight of containers in therow is medium.

If the range for row weights is relativelynarrow, the program will

skip this row, and the light containers willnot be found.

To remedy this situation, REGLOAD searches the yard twice,if necessary. The first time through- or first "pass" it searches for rows which should have a large number of containersin the weight class being sought. If a search of the entire yard yieldsno accept- able containers, the yard is searched againwith the weight criteria for rows reversed. The rows which do not fallin the correct range are examined. Only if this second pass fails to providea container is it assumed a suitable container is not available. The "pass" the program is on is determined by the flag PASS. 133

If no container is found anywhere in the yard, theprogram loads

a "blank". This is an imaginary container which occupies the cell

while the remainder of the vessel is loaded. When the results are

output, any cells with blanks are listed in the output. It is then

left to the load planner to modify the load planso the cell can be

filled.

The structure of the portion of REGLOAD which executes the search

of the yard can be seen in Appendix A. Variables are initialized

for a search of the section (lines 670-688). A loop for each row

in the section then begins (lines 703-706). The number of containers

in the row and the weight of the row are tested (lines 707-736). If

these tests are passed, variables are initialized fora check of the

containers in the row (lines 737-748) and the container loop begun

(lines 749-751). The test of each container is as it was for the original row (lines 752-976). This is followed by the bottom of the container loop (lines 977-986).

After the container loop, the selection of the next row takes place (lines 987-1055), and the row loop is complete. If an accept- able container was found in the search, it is designated for loading and program control returns to FILLBAY (lines 1056-1075). If no container was found, CHGSEC is called and the next section is deter- mined (lines 1076-1097). If all sections are checked and no container is found, a second pass is needed and testsare made to determine where to begin (lines 1098-1133). If no container is found after two passes, REGLOAD returns a blank to FILLBAY (lines 1134-1149). 134

One feature of REGLOAD not yet discussed is the heightcheck.

Height checks are not needed for most cells. A flag (CRTHGT) is used

to determine when the height test is needed. The flag is set in sub-

routine FILLBAY. If a height check is necessary, it is performed

whenever a container is checked for feasibility.

A subroutine which will be covered with REGLOAD issubroutine

MOVED. MOVED is used to track down containers which must berehandled

and change the rehandle code (CLINE) to indicatethis. The code is

changed by converting variable CLINE for that container listentry

to a negative number. The code tells REGLOAD to assume the container

is now the top of a stack. MOVED can be called either from REGLOAD

or from the critical weight container search subroutine, CRTWGT.

Changing Sections (CHGSEC,INITSEC)

Subroutine CHGSEC moves the current transtainer fromone section

to another. It is called from either subroutine REGLOADor CRTWGT.

In either case, the callis made to CHGSEC if no container has been located in the current section. CHGSEC locates another section with the correct port and length and the list pointersare reset according- ly. Controlis then returned to the calling subprogram fora search of the section.

When a search of the original section failsto yield a container, the next section that should be checked is theadjacent section, if there is one. A move to the adjacent section is much faster forthe transtainer than other section changes. Only if a search of the 135 adjacent section does not produce a container should other sections be tried. CHGSEC incorporates this feature in its logic.

Changing sections is mainly done in'..he set list. This list gives the section, port, and length of the set, as well as the first and last row list entries for it. When a typical callis made to CHGSEC, the set list pointer (CURSET) will be in the middle of the list (Figure

5-14). The entires above and below the pointer must be tested for

F ST LST SEC PoliT LGT1i ?OWfi4/

42 1 20 1 5 42 2 20 6 6

42 1 40 7 8 42 4 40 9 10 20 11 11 44 21 40 I2 14 t;ii 22 40 15 15 44 24 40 16 16

51 1 40 17 17 CURSET 51 4 40 18 22 52. 2 20 23 25 52 4 20 25 34

52 1 40 35 -.76 52 2 4(..) 37 40 52 3 40 41 41 52 4 40 42 46 54 21 20 47 47 54 21 40 48 50 5 22 40 51 52

Figure 5-14, Set list and pointer 136

another section. If a non-adjacent section is being sought, thesearch

begins at the pointer and goes down the list. If an appropriate set is

not found, the program then starts at thetop of the list and searches.

The search terminates ifan appropriate set is found or the original

set is reached again.

The first action by CHGSEC is to check if thisis the current

section in the original section (lines 32-40). If it is a search will

be made for an adjacent section. if not, this part of the subroutine

is skipped. The number of an adjacent section at PoPcan be obtained

by adding or subtracting 10. Sections on one side of the center aisle

have numbers in the 40's and thoseon the other side numbers in the

50's. Thus section 42 is adjacent to section 52. After the number

of the adjacent section is calculated (lines 41-66),a search of the

set list is made for any entries with thissection (lines 67-131). If

any entries are found, they are tested for port and length. If an

entry is found with the correct port and length,it becomes the current

set. A call is made to INITSEC to resetrow and set list pointers,

and control is returned to the callingprogram (lines 100-110). If no

entires are found for the adjacent section andthe correct port and

length, a search must be made fora non-adjacent section.

The search for a non-adjacent section beginsat the current set and goes down the set list (lines 132-249). Each entry is first checked to see if the search has returnedto the original set. If it has, all the sections have been checkedand a return is made to the calling subroutine. If not, the set is checked for port andlength. 137

Check if original section. If not, skip next step.

Check adjacent section for an acceptable set. If one found, Return.

Check set list from current set to bottom for an acceptable set. If one found, Return. If original set reached, Return.

V Check set list from top to original set for an acceptable set. If one found, Return.

All sections checked. Return.

Figure 5-15. Flow of activities for CHGSEC

If the port and length are correct, it is checkedto see if it the ad- jacent section. The adjacent section will already have beenchecked.

If it is a non-adjacent section,a call is made to INITSEC to reset 138

list pointers, and a return made to the calling subroutine. If no ac-

ceptable entires are found in the bottom part of the list, the top of

the list is checked (lines 250-318). The tests for the top of the list

are identical to those for the bottom part. Thus, either an acceptable

set will be found or the original set will be reached again. In either

case, a return is made.

Subroutine INITSEC is called from CHGSEC. It resets the pointers for the set and row lists. The set list pointer is set to the new current set, and the row list pointer to the row nearest the center aisle. INITSEC also updates the variable for current section, CURSEC.

When these variables are updated, a return is made to CHGSEC.

Special Weight Container Search (CRTWGT,LEVELS)

CRTWGT is the container search subroutine used when the weight of

the container could he critical to the feasibility of the load plan.

For most cells, the weight is significant but not critical. This

is because the weight in each cell influences stability, but only

slightly. Weight in a cell becomes critical when the deck stress

limit is neared for. on deck bays.

Subroutine FILLBAY calculates the weight that would cause a stack

to exceed the deck stress limit. If the weight of the container to

be loaded into the current cell could cause this limit to be exceeded,

the weight of the container is considered critical. In this case,

FILLBAY calls CRTWGT to search for the next container, rather than

the usual search subroutine REGLOAD. CRTWGT insures that the weight

limit will not be exceeded. 139

Subroutine CRTWGT has four goals when it searches for a container.

The first is that the container not cause the deck stress limit to be exceeded. The second goal is somewhat surprising. It is that the weight of the container should be as close to the limit as pos- sible. This is the practice at PoP. Selecting as heavy a container as possible leaves lighter containers for later cells. These cells may be in stacks which are closer to the weight limit than the current cell. Saving the lightest containers may make it possible to fill those cells too. The third goal for CRTWGT is to minimize rehandles for the container selected. The final goalis to minimize transtainer travel distance.

A modification was made to CRTWGT's second goal after initial testing of the program. Extra rehandles and travel distance were being incurred for very small differences in container weight. The modification allows the load planner to enter a weight range over which containers will be considered of equal weight. If two containers have similar weights, the program will decide between them basedon rehandles or travel distance. The weight range is entered in subroutine

RNPARAM, and is stored as CRTRNG.

There are several similarities between REGLOAD and CRTWGT. As with REGLOAD, CRTWGT determines a container's level, which is the number of rehandles required. CRTWGT also checks the entire section to find a container. The best container found at any given time is stored as the best container (BSTCON) and other containers tested against it. Unlike REGLOAD, CRTWGT always checks all the containers 140

in a section. It does not use row weights toscreen the rows first,

and it does not check the currentrow first. Like REGLOAD, if a sec-

tion does not have any acceptablecontainers, CRTWGT calls CHGSEC

to make a section change, then checks additionalrows.

The first actions by subroutine CRTWGTare to record the original

row and set, and to calculate the weight limit for thecontainer being

sought (lines 64-80). It then tests if the port and length ofthe

current row are the same as the currentport and length (lines 81-93).

If they are not, the set list must besearched to see if the current

section has a set with the right port andlength. If they are, this

step can be skipped.

The method for determining if thecurrent section has a set with

the correct port and length (lines 94-249)is identical to that used

in REGLOAD. The first set list entry for thecurrent section is lo-

cated. Each entry for this section is then checkedfor port and

length. If the correct port and lengthare found, the current row

is reset using a row as closeas possible to the actual transtainer location. The program then moves to the sectionchecking portion of

CRTWGT. If no acceptable set is found for thecurrent section, the program proceeds to the section change part of thesubroutine.

To check a section, CRTWGT firstinitializes section check var- iables and sets up a loop for all therows in the set (lines 250-280).

For each row, variablesare initialized and a loop established for the containers in the row (lines 281-302). Each container is first tested to see if it has been loaded (lines 303-306). If it has not, it is 141

Calculate weight limit.

V Check if current set has correct port and length. If so, skip next step.

Locate set in current section with correct port and length. If none, skip to section change.

Search section. If container found, Return.

Change sections.

No suitable container in yard. Return.

Figure 5-16. Flow of activities for CRTWGT tested to see if its weight exceedsthe weight limit for the current cell (lines 307-310). If it fails this test, it isno longer consid- ered. If it passes the test, its weight iscompared to the weight of 142

the best container (lines 311-336). If the current container's weight

is definitely better (i.e. heavier) than the best container's,the

current container becomes the best container. If it is clearly worse

than the best container's, the current container is droppedfrom con-

sideration. If it is about the same as the current container's, further

tests will be made to break the tie. To determine which is better

or if they tie, the program used the range specified by the load planner

(CRTRNG). In effect, a range is calculated about the best weight

(BSTWGT±CRTRNG). The current container's weight is compared to the

range.

In the event that both containers are approximately thesame weight,

the next test is the number of rehandles. The number of rehandles

(level) of the current container is obtained by callingsubroutine

LEVELS. It returns the level of the current container. This is then

compared to the level of the best container (BSTLVL, lines 340-364).

If the current container has a higher level, it is droppedfrom con-

sideration. If it has a lower level (fewer rehandles), it becomes the best container. If there is another tie, the last goal is used to break it.

The last goalis transtainer travel distance. The current con- tainer's distance to the transtainer is calculated and comparedto the best container's distance (lines 365-385). If the current con- tainer's distance is less, it becomes the best container. If not, it is dropped from consideration. This completes both the container and row loops. 143

When all the rows in the set have been checked, CRTWGT checksto

see if an acceptable container was found (lines 405-424). If one was,

it is designated for loading and control returns to FILLBAY. If no

container was found, a callis made to CHGSEC to pick another section

(lines 425-445). Each section is searched until a container is found

or until the entire yard has been searched. If no container is found

in the entire yard, a blank is designated to be loaded and control

returns to FILLBAY (lines 446-460). This ends subroutine CRTWGT.

Subroutine LEVELS is also used in the search fora container when

weight is critical. It is used to determine the number_of rehandles

(level) needed to load the current container. LEVELS is called from

CRTWGT.

The procedure used to determine levelis very similar to that

used in REGLOAD. The preceeding containers in the container listare

checked to determine if theyare in the same stack as the current

container. Checks are also made to see if containers for another port

could be mixed in the stack. When the different possibilities have

been tested, the levelis figured and a return made to CRTWGT.

Adjusting the Computer Load Plan (EXCHNG)

EXCHNG is the last subroutine called by the mainprogram. It is called after the computer load plan is complete. EXCHNG allows the load planner to request the stability calculations for the load, the results of the computer load plan, and to modify the plan if he de- sires. EXCHNG is interactive so stability, results, and changescan be requested as often as the load planner desires. When the load 144

planner is finished and requests program termination,a return is made

to the main program and program execution ends.

EXCHNG allows the operator to make two types of changes to the load

plan. Containers in two cells of the ship can be exchanged, anda

container in a cell can be exchanged with one still in the yard. The

latter type of change would normally be done to exchangea real con-

tainer stillin the yard with a blank container loaded by the program.

Both a short and long form of the results are available. The short

form details the transtainer movements necessary for the plan, lists

any containers not loaded, and lists any cells filled with blanks. The

long form has all the information in the short form and, in addition,

prints the load plan cell by cell. Appendix F includes an example of

the long form. The format of the information for each cell is the

same as that currently used at PoP (Figure 5-18). It gives the port, container ID, shipping line, container type, height, weight, container yard location, order in which container is loaded, and ship cell loca- tion. A load planner might request the short form for a load plan to see how many rehandles and how much transtainer movement the plan required. He could then rerun the program with different ranges for the container and row searches. After several runs, the long form of the results could be requested for the bestrun.

The first thing done by subroutine EXCHNG is to printa menu of the actions EXCHNG allows the load planner to take (lines33-38,

Figure 5-17). It then reads the load planner's response and branches to the appropriate portion of the subroutine (lines 39-41, Appendix A). 145

DO YOU MIT TO 1-CH6 SHIP TO SHIP, 2-CH6 DOCK TO SHIP, 3-RECALCULATE STABILITY, 4-OUTPUT RESULT SUMMARY, 5-OUTPUT FULL RESULTS, 0-6UIT?

Figure 5-17. Menu printed by EXCHNG

The first choice the plannercan take is to exchange containers

between two cells on the ship (lines 42-76). The operator is prompted

to enter the locations of the two cells and theprogram reads the

two entries. It then makes the appropriate changes in thearrays

for cells in the ship (CELLON and CELLUD). When this is completed,

it returns to the top and reprints themenu.

The second choice is to exchange containersbetween the yard (dock)

and the ship (lines 77-101). The planner is prompted to enter the

locations of each container. EXCHNG then updates the appropriate

cell array and the container list variables. The subroutine then

returns to the menu.

For the last three choices, callsare made to a subroutine (lines

102-111). To calculate stability, a call is made to subroutineSTABLE.

To output results, a call is made to subroutineOUTPUT. A flag (ISKIP)

determines whether the short or long form of theresults is printed.

In each case, when the desired operation isfinished, a return is made to EXCHNG and the menu reprinted. 146

Calculating Stability (STABLE)

Subroutine STABLE calculates the stability of a load plan. The

stability calculations relate to the vertical component (GM) and the

longitudinal component (trim) of the center of gravity. It is assumed

the ship's ballast system can compensate for variation of the center

of gravity in the third axis.

The subroutine first calculates the total weight (displacement),

vertical moment, and longitudinal moment of the vessel. It then prints

the displacement and prompts the load planner to enter several values.

These values are obtained from tables for each vessel and dependon

the displacement. The program then calculates the GM and trim, and

prints the results.

Vertical and longitudinal moments for the cargo loaded at PoP

are calculated by multiplying the weight of cargo in the various tiers

and bays by the-appropriate moment arms. Values for the cargo already

on board is entered by the load planner. These values are then added

to those for the empty ship, for liquid in tanks, and for ship's equip- ment to get the totals for the vessel after loading.

The displacement is then printed and the load planner prompted for values needed to complete the calculations. The variables needed are shown in Table V-2. Once these are entered, STABLE calculates

GM and trim using the following formulas (Cho, 1980):

(Total vertical moment free surface moment) GM = KM - displacement

total longitudinal moment- (LCB * displacement) trim= MTC * 100 147

TABLE V-2

Values Entered by Load Planner in STABLE

Variable Definition

DRAFT draft at midships at the given displacement

MTC moment to change trim by 1 cm.

KM keel to metacenter distance

LCB Longitudinal center of buoyancy

LCF longitudinal center of flotation

source: Cho, 1980

These values are printed for the load planner. Using the trim, forward

and aft draft is also calculated and printed. This is strictly a

function of trim and provides nomore information on stability. The formulas used are

Forward draft = DRFTMD (TRIM *LCF\ TRIM 2

Aft draft = DRFTMD TRIM - (TRIM * ILZ)

STABLE then returns control toEXCHNG.

It is left to the load planner to decide ifvessel stability is within prudent limits. If he decides it is not, he has two alterna- tives. First, he can make changes to individualcontainers in the load and recalculate stability when thechanges are made. Alterna- tively, he can rerun the entireprogram using different weight ranges 148

for the searches for rows and containers. Narrower weight ranges

should provide better stability.

Results (OUTPUT, function subprograms)

Subroutine OUTPUT is used to print the results of the load plan.

It is called from subroutine EXCHNG. OUTPUT prints either a short

form or long form of the results. A flag called ISKIP is used to

determine which.form to print. The flag is set by EXCHNG.

The short form of the results consists of three sections. First

there is information regarding the material handling necessary for

the computer load plan. These figures apply only to the computer

load plan and do not reflect changes made by the load planner in

EXCHNG. The statistics reported are the number of transtainer moves,

the number of section changes, the number of containers loaded, the

transtainer travel distance, and the number of rehandles.

The second part of the short report is a list of the cells which

were loaded with blanks. This is a current list, and will reflect

any changes made by the operator in EXCHNG. The first part of the

short report is a list of the containers stillin the yard. This

too is current and reflects changes made by the load planner.

The long form of the report contains all the elements of the short

form, plus a display of the loaded bays (Appendix F). The output

is printed by bays, and by cells within bays. The format for each

cell matches the format used in the stowage plans which travel with

the ship. The stowage plan shows every cellin the ship. Stickers with a standard format are used to represent containers in these 149

cells. If the proper forms were available, theprogram could print

stickers for each container along with the cell it willbe placed in.

Figure 5-18 shows the format used for each cell.

order in port of port of origin which loaded destination (Portland)

container ID number

shipping height container line type

weight yard location

ship cell location

Figure 5-18. Explanation of format used to print cell data

Information for the cell by cell output is translatedfrom number

codes used in the program to descriptionswhere desirable. This is

done for port, container type, shipping line,and for part of the yard location. In each case a function subprogram is used. The number

is sent to the function andan alphanumeric code received back. This makes the output easier to interpret. The functions called by OUTPUT

are KPORT, KLINE, KTYPE, KTIER, and KPOS. These are the only functions used in the program. 150

CHAPTER VI

RESULTS

Introduction

When the decision was made to develop a computer assisted load

planning system, three major goals were set. The first was to develop

feasible load plans. This means loading all the containers required

subject to the constraints for load planning, including the stability

constraints. The second goal was use of the computer assisted system

should not increase ship loading time at PoP. If possible, the com-

puter assisted load plans should decrease loading time. The third goal was to reduce the time managers spend planning the load for a

ship, and thereby increase their productivity.

Load planning is a complicated.and varied process. Unfortunately, an inherent characteristic of computer programs is their inability to adapt to unexpected conditions. In recognition of this, the goals for the load planning system were modified somewhat. The system should be considered successful if it can load 90% of the ships calling at

PoP for 90% of their voyages. These goals provided the criteria used to evaluate the program.

Testing Procedure

Two vessels were selected for testing. These were the Japan Apollo and the Alaska Maru. Both are large modern ships constructed specifi- cally for containers with good ballast systems. They are part of a 151

fleet of six ships, belonging to a consortium of steamship lines,which

handles a large proportion of the container traffic in Portland.

Load plans were produced for two voyages for both ships. These

were voyages 5 and 10 for the Japan Apollo, and voyages 89 and 93 for

the Alaska Maru. All information necessary for the loading of the

vessel was obtained from the PoP. This information was used to prepare

the yard, ship and run files used by theprogram to develop a load

plan.

For two of the voyages, data preparationwas straightforward and all containers were included for loading by the algorithm. These were the Japan Apollo's voyage 5 (Japan Apollo V5) and Alaska Maru V89.

No special consideration was required for customer requests,over size cargo, or hazardous cargo. For the other two voyages, special requests were received for cargo to be stored under deck. For the

Alaska Maru V93 two or three smallgroups of containers were designated as under deck cargo. For the Japan Apollo V10 a large block ofcon- tainers was designated as under deck cargo. Planning for the under deck cargo for Alaska Maru V93 was done manually. These containers were assigned to cells before the computer program was run: Their contributions to stability and stack heightwere included with the figures for cargo already on board.

For the Japan Apollo V10, another procedurewas used. Since a large block of containers was involved theywere treated as if they were for another port. Space was set aside for them in an under deck bay and they were loaded by the program. 152

Several runs were made for all four voyages using different values

for the weight range parameters. Only the short form of results were

obtained for these runs. The result summaries were used to determine

the best parameter values, and a final run was made to.get the complete

load plan.

For one voyage - Alaska Maru V93 the program failed to load two

containers, This occurred because light containers were loaded early

in the loading process, and were not available for a later on deck

bay. This resulted in not being able to meet deck stress limits for

two stacks. The load plan was adjusted by the operator so that all

containers were loaded. This required changing the positions of six

containers.

The load plan and stability calculations prepared by the PoP were also obtained for each of the four voyages. In some cases, the sta-

bility calculations by the port contained errors. These were corrected and stability recalculated for their plan. The material handling

necessary for the PoP load plans was also calculated. Material hand- ling the computer load plan is calculated by the program. This was adjusted to include the manually planned containers for the Alaska

Maru V93, and results for all four voyages were adjusted for a differ- ent starting position. The program uses an arbitrary starting position for all transtainer movement. Since the transtainer position before loading is not known, the position of the first container loaded is a better starting position, and the results were adjusted accordingly.

Comparisons between PoP load plans and the computer load plan were made with these adjusted figures. 153

One problem with testing involved rehandling of containers from the ship. For some voyages, containers which were onboard ship when the vessel reached PoP were moved to other points on the vessel. Some of these moves were made directly; for other moves, the containers were first placed in the yard, then loaded with the regular cargo. Infor- mation obtained from the PoP did not include which rehandled containers were stored in the yard or what their locations might have been. These containers were'therefore ignored in the analysis. The effect these containers would have had on the load plans is not known.

Stability Results

Whether a load plan's stability is adequate or not must be decided by ship's officers. They have the ultimate responsibility for the vessel and its cargo. They also have the knowledge of how much the ship's ballast system can modify the stability for the load plan sup- plied. PoP does have a general range for stability which it tries to achieve for all ships. The.range is tigher in the winter because rougher weather is expected then, Table VI-1 gives the general ranges for summer and winter. Whether or not a load plan meets these limits, the ship's officers make the final determination of acceptability.

TABLE VI-1

General Stability Ranges

GM TRIM

target 1 m. 1 m. winter range 0.8-1.9 0-1.5 summer range 0.65-2.0 0-1.5 154

Stability calculations for the fourvoyages were not always within

the desired limits, but calculations for the computer loadplan were

within a few percent of those for the Pc? plan (Table Vi -2). GM

calculations ranged from 3.7% under the PoP's, to 1.1%under.

Trim calculations ranged from 1.9% under the PoP's,to 7.1% over.

After consultation with PoP load planners, thiswas determined to

be acceptable for all voyages.

TABLE V1-2

Stability Results for Test Voyages

PoP Computer Voyage Plan Plan Diff % Diff

Japan Apollo V5 GM 1.77 1.75 -0.02 -1.1 Trim 0.95 0.96 0.01 1.1

Japan Apollo V10 GM 1.98 1.92 -0.06 -3.0 Trim 2.06 2.02 -0.04 -1.9

Alaska Maru V89 GM 1.64 1.58 -0.06 -3.7 Trim 0.57 0.59 0.02 3.5

Alaska Maru V93 GM 1.32 1.29 -0.03 -2.8 Trim 1.04 1.12 0.08 7.1

The stability results obtained by theprogram are especially sur- prising given the weight ranges used in theruns. The program is designed to allow the load planner to emphasizeor de- emphasize stabili- ty by tightening or loosening the weightranges used in row and container searches. The weight ranges used for the four testvoyages were very wide, especially for individual containers. Table V1-3 shows the parameters used. The figures for row and containerrange increases 155

TABLE VI-3

Parameters Used in Test Voyages

Row Range Container Range Critical Weight Voyage Increase Increase Range

Japan Apollo V5 3 11 2

Japan Apollo V10 5 11 2

Alaska Maru V89 4 12 2

Alaska Maru V93 5 11 3

are the amount the range is increased in both directions. Thus

if a range is from 15-23, increasing therange by 10 changes it

to 5-33. The critical weight range is the maximum differencebetween

two container weights that will be considered thesame weight by

the critical weight container search subroutine. It has only a

small effect on overall program performance.

The effect of the parameters used is perhaps betterillustrated by Table VI-4. This shows the ranges that resulted forrow and container searches from the parameters used for the Japan ApolloV10.

For 20 foot containers, any weight would beaccepted for light and medium cells. Only very light containers would be rejected for heavy cells. For 40 foot containers, containers would be excluded for every weight class, but only the heaviestand lightest containers are excluded. 156

TABLE VI-4

Row and Container Ranges for Japan Apollo V10

RMARG = 4 CMARG = 11

Weight Basic Row Container Class Range Range Range

20 40 20 40 20 40

light 0-10 0-15 (-4)-14 (-4)-19 (-11)-21 (-11)-26

medium 10-15 15-23 6-19 11-27 (-1)-26 4-34

heavy 15-21 23-31 11-25 19-35 4-32 12-42

The ease of achieving stability even with wide weightranges may

be due to a preponderance of heavy containers for the fourvoyages.

Table VI-5 shows the number of containers in each weight class. For all voyages heavy containers account for at least 60% of allcontainers

TABLE VI-5

Number of Containers in Each Weight Class for Four Voyages

Alaska Weight Japan Apollo V5 Japan Apollo V10Alaska Maru V89 Maru V93 Class No. No. No. % No. light 8 3 8 2 17 7 5 2 medium 64 25 120 36 55 21 46 22 heavy 186 72 201 61 189 72 160 76 loaded. Less than 10% of the containers loadedwere classified as light. It may be that narrower weight ranges would be needed if 157

container weights were more hetergeneous. The weight distribution of

containers for the test voyages are not atypical for PoP, however. An

analysis of data on export containers at the PoP's Terminal 6 for May

1979 showed 8% of the containers were lights, 34% mediums, and 58% hea-

vies. The four voyages tested would thus appear to be representative.

Material Handling Results

The influence that a load plan can have on material handling time

is attributable to five discrete factors. Four of these have to do with movement of the transtainer (yard crane). The last is the number of containers for the voyage that must be rehandled. The four elements of trainstainer.movement are the number of moves, the distance traveled within yard sections, the number of times the transtainer moves between. adjacent yard sections, and the number of times it moves between non- adjacent yard sections.

The number of moves made is significant because each one requires the transtainer to accelerate, decelerate, and position itself. The distance is of course significant because transtainer speed is finite. Changes between adjacent yard sections are really just extra distance. These are changes where the transtainer can drive across the center aisle into the next yard section. In Figure 6-1, this would be a move between sections 42 and 52, or between 43 and 53. Changes between non-adjacent section changes require much more time.

In Figure 6-1 this would be a change between sections 42 and 53, or 52 and 43. These section changes require the transtainer to stop in the center aisle, turn the wheels 900, travel down the center aisle, 158

turn the wheels back, then move into thenew section. Mon-adjacent

section changes are counted separately.

53

52

Figure 6-1. Adjacent vs. non-adjacent section changes

Time studies were used to measure the influence of the fivefac- tors on loading time. The times recorded were move times for various distances, time to move between non-adjacent sections, andtime to load containers from a row onto a truck. These were then used to develop time estimates for each of the five factors (Table V1-6).

The first step in developing timeswas to distinguish between the time needed to accelerate, decelerate, and position thetranstainer, and the time to travel various distances. This was done by recording times for various distances and then regressing time againstdistance.

A plot of the 54 data points used is shown in Figure6-2. The corre- lation coefficient for this data is 0.9783. Regressing time against distance gives the model:

move time = 19.8622 sec. + 1.56236 sec/row number traveled. 159

TABLE VI -6

Times Used for Material Handling Factors

Transtainer moves 19.86 sec/move

Distance traveled within sections 1.56236 sec/row number

Adjacent section changes 15.09 sec/change

Non-adjacent section changes 162.94 sec/change

Rehandles 157.92 sec/rehandle

VAPIA9LE TIME P.= .9793 213.9

169.9 1 1

1 1 112.5 1 21 1 1 1 1 1 1 1

56.25 . 1 1 1 i

2 111 1 . 1 221 2 2143 .24 0.

0. 30.00 52.50 92.50 122.5 VAPIA0Lr DIST

Figure 6-2. Plot of distance vs. time for observations taken at PoP 160

Row numbers were used as the distance unit since locationsat PoP are

recorded this way. Row numbers are 10.8 ft. apart. This model gives

a constant time of 19.86 sec. for every move, and additional time of

1.56236 sec. for every row number traveled by the transtainer. This

figure for speed corresponds to 415 ft/min. Maximum transtainer speed

according to equipment specification is 440 ft/min. Once the trans-

tainer speed is known, the extra time needed to travelbetween adjacent yard sections is easily calculated. The center aisle is 104.3 ft. wide or the equivalent of 9.66row numbers. The time to cross the center aisle is thus 15.09 sec.

To calculate the time for non-adjacent section changes, thetime to turn the wheels, move down the aisle, and turn the wheels backwas needed:Observations of eight non-adjacent section changes yielded an average time of 218.50 sec. with a standard deviation of 48.10sec.

When making non-adjacent section changes, the transtainerwill on average traverse the width of center aisle once. The time to cross the center aisle- 15.09 sec. is thus added to the non-adjacent sec- tion change time. In addition, the transtainer makes a completemove out of the original section and a second move into thenew section.

Only one of these moves is counted in the number ofmoves statistic, so the time for the second move - 19.86 - is added to the non-adjacent section change time as well. The total time for non-adjacent section changes is 253.46 sec. There is another consideration, however. Not all non-adjacent section changes actually takeplace. During normal business hours the PoP has four transtainers mannedto service trucks 161

delivering and picking up containers. When a vessel is being loaded,

transtainers are placed in all areas where containers for the vessel

are located. Instead of actually moving transtainers between sections,

the port simply switches from one transtainer to another. Many non-

adjacent section changes never take place. To account for this, it

was assumed that no non-adjacent section changes take place during

regular business hours, and all changes take place at other times.

Standard practice is to work a vessel two shiftsevery day it is in

port. Thus, non-adjacent section changes can be expected during 9

shifts out of every 14, or 64.3% of the time. Rather than try to determine when the test voyages were loaded, the time for non-adjacent section changes was multiplied by .643 to get an expected time for

section changes over the long run. The figure obtained is 162.94 sec. per non-adjacent section change.

Perhaps the most difficult time to obtain was for the fifth material handling factor- rehandles. When a container is rehandled, two things can happen. If the container can be placed somewhere else in the same row without covering another container for thesame voyage, this will be done. If all stacks in the row have containers for the voyage, the transtainer will move to a nearby row and place the con- tainers there. Times for this are difficult to obtain because there are few rehandles per voyage and because it is difficult to observe handling of many containers from the observationarea at the port.

Making observations from near the transtainer is not encouragedat the port in the interest of maintaining good labor relations. 162

To develop a time for rehandles despite these handicaps, twoas-

sumptions were made. The first was that the rehandled container would

always be placed in the same row and no transtainer movement would

be necessary. The second was that it takes the same amount of time

to move a container from point to point within the row as it does to

move it from the row to the truck. Since the transtainer operator

usually pauses and verifies the container he is to take by radio when

a rehandle is needed, this may result in underestimating the time needed

for rehandles. Using these two assumptions, the time to movea contain-

er from the row to a truck can be used as an estimate of the time to

rehandle a container.

From the port's observation area, it is difficult to tell when

'individual containersare moved by the transtainer. It is possible,

however, to tell when a transtainer begins picking containers from

a row and when it stops. It was thus possible to observe the time

to take groups of containers from rows. The size of the groups taken from different rows varied. These observations were used to calculate an overall average of 157.92 sec. to load a container on a truck. The standard deviation was 9.34 sec. Because the observations were based on different sized groups of containers, a regression model throughthe origin was used to calculate standard deviation. It was weighted by

1 to stabilize the variance (Neter and Wasserman, 1974).

Y-i =,(ITu Lund where u= mean time to load a container n.= number of containers taken from the ith row y.= time to take n. containers from the ith row 163

The average time of 157.92 sec. per container was used for the time to

rehandle a container.

With times available for the five material handling factors, var-

iable material handling time for the load plans was calculated.

Table VI-7 gives the results for both the PoP and computer load plans

for the four vessels.

Results for the Alaska Maru's voyage 93 are given both before and after adjustment to show the effect of adding the two containers

the program failed to load. As can be seen in the table, there was

significant variation between the PoP and computer load plans, but

in no consistent direction. The program did the best for the Japan

Apollo's voyage 5, bettering the PoP's plan by better than 25 minutes.

Its worst performance was for the Alaska Maru's voyage 93 where load-

ing time was nearly 15 minutes longer. The vessel involved makes no apparent difference since the two voyages where the program did better were for different ships. It should be noted that the difference in estimated time will affect the actual loading operaton only if the ship crane is operating faster than the transtainer. If the transtainer is working faster than the ship crane, no real time savings will be realized.

The results for material handling timeappear promising. There are situations where manual planning works better and situations where the program works better, but on theaverage the results for the two methods are very close. Hopes of significant gains in material handling efficiency using theprogram were not realized, but 164 TABLE VI-7

Material Handling Results by Voyage

Results Time (sec) PoP Computer Diff PoPComputer Diff % Diff

Japan Apollo V5 (258containers loaded)

Moves 54 52 -2 1072 1033 -39 . -3.7 Distance (rows) 1677 1330 -347 2620 2078 -542 -20.7 Adj Sec Chgs 9 8 -1 136 121 -15 -11.1 Non-Adj Sec Chgs 11 9 -2 1792 1466 -326 -18.2 Rehandles 7 3 -4 1105 474 -631 -57.1 Totals 6725 5172 -1553 -23.1

Japan Apollo V10 (329containers loaded)

Moves 58 59 1 1152 1172 20 1.7 Distance (rows) 1651 1743 92 2579 2723 144 5.6 Adj Sec Chgs 7 9 2 106 136 30 28.5 Non-Adj Sec Chgs 8 10 2 1304 1629 325 25.0 Rehandles 0 0 0 0 0 0 0 Totals 5141 5660 519 T071

Alaska Maru V89 (261containers loaded)

Moves 70 64 -Jr 1390 1271 -119 -8.6 Distance (rows) 2473 1978 -495 3864 3090 -774 -20.0 Adj Sec Chgs 15 11 -4 226 166 -60 -26.7 Non-Adj Sec Chgs 14 14 0 2281 2281 0 0 Rehandles 4 3 -1 632 474 -158 -25.0 Total 8393 7282 -1111 -13.2

Alaska Maru V93 -Before Adjustment (209 containers loaded)

Moves 54 56 2 1072 1112 40 3.7 Distance (rows) 1630 1864 234 2547 2912 365 14.4 Adj Sec Chgs 11 8 -3 166 121 -45 -27.3 Non-Adj Sec Chgs 7 13 6 1141 2118 977 85.7 Rehandles 6 1 -5 948 158 -790 -83.3 Total 5874 6421 547 9.3

Alaska Maru V93 After Adjustment (211 containers loaded)

Moves 54 59 5 1072 1172 100 9.3 Distance 1630 2018 388 2547 3153 606 23.8 Adj Sec Chgs 11 11 0 166 165 0 0 Non Adj Sec Chgs 7 13 6 1141 2118 977 85.7 Rehandles 6 1 -5 948 158 -790 -83.3 Total 5874 6767 693 1:J.2

Grand Total 26133 24881 -1252 * Uses after adjustment figures for Alaska Maru V93 165

P 1 0 000

FROG 6000

6coo

77 E reE

(foot)

2.000

0

TA PA Al JAPAN 4,4S ALA. SK (Ar7-67? A POLLo APOLLO P 2 ARU MARI! ADTU5Tmt)iVT) V5 v10 v 69 V 93

FiTire 6-3. Histogram of total times for voyages the results suggest the minimum criteria of matching the current method may have been achieved. It must be recognized, however, that these findings are of a highly tentative nature. The high degree of 166

variability for the voyages coupled with the small sample size prevent

statistically significant conclusions from being drawn. A great deal

more testing will be required before the program can be recommended

to the PoP with confidence.

Another way of looking at the material handling results is by

the material handling factors. Table VI-8 breaks the material hand-

ling results down by factor. The first three factors show a similar

pattern to the results by vessel. If the program did well for a

voyage, it does well for the number of moves, distance, and adjacent

section changes. It should be noted that the deviations for number

of moves are relatively small, always less than 10% either way.

The figures for non-adjacent section changes and for rehandles

do not follow the same pattern. For these factors deviations between

the PoP and computer load plans are much greater - as high as 85%. In

the case of non-adjacent section changes, the computer load plan re-

sulted in fewer changes only once. Examination of the PoP load plan

for that voyage shows that a simple change would have eliminated the

need for two of the section changes. If this had been done, the PoP's

results for non-adjacent changes would have been as good or better than the program's for every voyage. That this was not the case can be attributed to human error. Analysis of the two voyages where the

PoP was better than the program for these section changes shows that the program lacks flexibility in certain situations. This will be discussed in more detail later.

The last factor is rehandles. Here the program does better in every case except Japan Apollo V10 where neither method resulted in 167 TABLE VI -8

Material Handling Results by Material Handling Factors

Results Time (sec) PoP Computer Diff PoP Computer Diff % Diff

Moves Japan Apollo V5 54 52 -2 1072 1033 -39 -3.7 Japan Apollo V10 58 59 1 1152 1172 20 1.7 Alaska Maru V89 70 64 -6 1390 1271 -119 -8.6 Alaska Maru V93 54 59 5 1072 1172 100 9.3 Total 236 234 -2 4687 4647 -40 -0.8 % of Grand Total 17.9% 18.7%

Distance (rows) Japan Apollo V5 1677 1330 -347 2620 2078 -542 -20.7 Japan Apollo V10 1651 1743 92 2579 2723 144 5.6 Alaska Maru V89 2473 1978 -495 3864 3090 -774 -20.0 Alaska Maru V93 1630 2018 388 2547 3153 606 23.8 Total 7431 7069 -362 11610 11044 -366 -4.9 % of Grand Total 44.4%44.4%

Adj Sec Chgs Japan Apollo V5 9 8 -1 136 121 -15 -11.1 Japan Apollo V10 7 9 2 106 136 30 28.5 Alaska Maru V89 15 11 -4 226 166 -60 -26.7 Alaska Maru V93 11 11 0 166 166 0 0 Total 42 39 -3 634 589 -45 -7.1 % of Grand Total 2.4% 2.4%

Non-Adj Sec Chgs Japan Apollo V5 11 9 -2 1792 1466 -326 -18.2 Japan Apollo V10 8 10 2 1304 1629 325 25.0 Alaska Maru V89 14 14 0 2281 2281 0 0 Alaska' Maru V93 7 13 6 1141 2118 977 85.7 Total 40 46 6 6518 7495 977 15.0 % of Grand Total 24.9% 30.1%

Rehandles Japan Apollo V5 7 3 -4 1105 474 -631 -57.1 Japan Apollo V10 0 0 0 0 0 0 0 Alaska Maru V89 4 3 -1 632 474 -153 -25.0 Alaska Maru V93 6 1 -5 943 158 -750 -83.3 Total 17 7 -10 2585 1105 -1580 -53.8 % of Grand Total 10.3% 4.4S

Grand Total 26134 24330 -1254 -4.8 Uses Adjusted Resultsfor Alaska Maru V93 168

12000

/0000

8coo rma (SEC)

6coo

4000

2000

MOVE'S DISTANCE "440,7RCE-AITNW-A:1739CW' REHANOLES SECT C1-165 SECT c1165

Figure 6-4. Histogram of total times for the material handling factors

rehandles. For the Alaska Maru V93, the PoP load plan resultedin six rehandles while the program had only one. For the four voyages, the program had 59% fewer rehandles than the PoP. This is the largest 169

difference of any of the factors. Studies of the load plans do not

suggest a reason for the difference. In a few cases the PoP rehandles

may have been due to a greater emphasis on stability; most do notap-

pear to be, since containers of similar weight were available which

did not require rehandles. This too may be due to human error.

The possible trends for non-adjacent section changes and forre-

handles are interesting, but it should be stressed that due to the

small sample size the results have no statistical significance. Any

suggestion of a trend comes as much from a detailed comparison of the load plans as from the overall statistics for these fourvoyages.

Further testing would be needed before any patterns could be given statistical backing.

Load Planner Productivity

A precise evaluation of the computer and management time required to use the program is difficult because the data recorded for these items is incomplete. In the case of computer time, run times are avail- able for two voyages- Japan Apollo V5 and Alaska Maru V89. For each voyage, a series of 14 runs were made to obtain result summaries. Aver- age run time for the Japan Apollo was 2.325 seconds of computer time (cpu sec.); for the Alaska Maru V89 the average run time was

2.556 cpu sec. For the two voyages combined (28 observations), the average was 2.440 cpu sec. and the standard deviation was 0.122 cpu sec. The only runs with full results are for the Alaska Maru V89.

There were four observations with a mean of 4.791 cpu sec. and a 169a standard deviation of 0.131 cpu sec.

The computer used for testing was a CDC Cyber 170, model 720.

The program required 38,000 60-bit words of core memory. 170

Data used by the program must be sorted before it is placed in

the yard and run files. It is not anticipated that the programs used

to do this during testing would ever be used by load planners, but

many of their functions would still be necessary. The combined run

times for these data entry and preparation programs was 9.325 cpu sec.

for the Japan Apollo V5. Run times for the programs eventually used

should be of a similar magnitude.

The amount of time a manager would spend using the program to

develop a load plan is difficult to evaluate accurately. Program test-

ing was done by an analyst familiar with the program, but not with

the loading process. It is very likely that part of the data prepara-

tion could be done faster by an experienced load planner.

For program testing, data for the yard file was entered at a key-

board. This is a very lengthy process and would not be practical for

the PoP. Fortunately, the same data is currently stored in a small

computer at the Port's Terminal 6. The Port will need to arrange for

transfer of information between the small computer and a computer able to run the load planning program before computer assisted load planning

is practical for the PoP.

Assuming such arrangements are made, the time it would take a load planner to plan a load with the computer algorithm would likely take about two and one half hours. This estimate is based on the time it took the inexperienced planner to plan the fourth load (excluding container data entry) using the program. The time required was about three hours. It is likely that an experienced load planner would be able to work somewhat faster. Use of the program could halve the time 171

spent on these portions of the loading process, since PoP management

estimates five man hours are required currently.

Comments on Individual Voyages

Detailed study of the four voyages provides some important in-

sights about why the program does well and why it does poorly interms

of material handling time. The reasons for its doing well are fairly

consistent for the four voyages. The main reasons appear to be the

reduced emphasis on stability and the increased emphasison avoiding

rehandles. PoP load planners try to put heavy containers below deck

and light containers above deck. Above deck, they try to make each

tier lighter than the tier below it. To find containers with weights

that will achieve this, extra travel distance isnecessary. The clos-

est containers are sometimes the wrong weight. The program, by using

wide weight ranges, loads the nearest container most of the time.This

results in reduced travel distance.

The other advantage for the program is that rehandlesare usually

avoided. Study of PoP load plans indicates planners there do not

stress this point as much as the program does. Rehandles require

enough time that they should be avoided if possible.

Information on where the program does not perform wellcomes from

the Japan Apollo V10 and the Alaska Maru V93. The problems encountered

are caused by the failure of the program to look ahead past the next

container, and by the policy of loading all the containers ina bay for a single port at one time. 172

Two situations occurred with the Japan Apollo V10 where the pro- gram was inefficient because it did not look ahead. The first occurred because the program does not consider where the transtainer may go next. Figure 6-5 shows the locations of two groups of containers for this voyage. Twenty foot Kobe regular containers were found in sections

42, 52, and 44. Forty foot Kobe reefer containers were in sections 44 and 54. The loading sequence called for 10 20-foot Kobe regulars to be loaded followed by 8 40-foot Kobe reefers. The transtainer was

in section 42, so a non-adjacent section change was needed to load the reefers. The PoP load plan took 7 20-foot regular containers from section 42, moved to section 44, took the 3 20-foot regulars, then the 8 40-foot reefers. This sequence recognized that a move to either

/7110 /t045 49go' Aymm REEFERS 3 20' ko8ES REEFERS 14 VI V

/124 / 1/3 53 AISLE

V

5 S*8 20' I 20' if03ES 42.

Figure 6-5. Container locations for Japan Apollo V10 173 section 44 or 54 was needed, and took advantage.of this fact to load the three regular containers in section 44. The program did not look ahead. It simply took all 10 20-foot regulars from section 42, then moved to section 44 for the reefers. This later resulted in an extra round trip between sections 42 and 44 to get the three regular con- tainers.

The second situation where the program failed to look ahead was when one group of containers was loaded into one large bay and several smaller bays. Figure 6-6 shows a situation where all the containers for a port-length combination are in a single section. These containers

SEC TI ON 412: MA by "9/ISLE

AiconseR GF coNnevivERs 'cow

4 7- 3 6 13 2_ 5

1 H 17- 29 37 115. S.r e--!, 3 71 ROW LOC4T/o/Y

Figure 6-6. Container locations for a single port-length 174

are to be loaded into three bays. The bays hold 40, 12, and 11 con-

tainers, and the load sequence calls for them to be loaded at different

times. Assume that these are the only containers in the section, and

the transtainer must come from the center aisle each time it loads

these containers. In this situation, the program would take the 40

containers nearest the center aisle for the first bay. When it re-

turned to load the second bay, it would take the next 12 containers.

Finally it would return for the 11 containers at the far end. The trips would take the transtainer to row 55 for the first trip, and to row 71 for each of the remaining two trips. Total distance traveled would be 394 rows.

Given the same situation, PoP planners try to load containers from the farthest rows into the large bay. Instead of assigning con- tainers from rows 1 to 55 in the first bay, they would assign containers from rows 71 to 37. Containers for the second bay could come from rows 37 to 17. Containers for the third bay would come from rows 1 and 11. Total distance traveled would be 238 rows, or almost a 40% reduction. This is a slight simplifcation of a situation thatoc- curred for two different port-length combinations for the Japan

Apollo V10.

The Alaska Maru V93 had some situations which were similar to those for the Japan Apollo V10. In addition, there was inefficiency because the program will only look at one port in a bay atone time.

Forty foot regular containers for the ports of Shimizu and Nagoyawere stored in both sections 44 and 52. All were loaded in a single bay. 175

The PoP plan started in section 44 and loaded all the containers for

both ports, then moved to 52 and loaded the remaining containers. The

program begain in 44 and loaded the Nagoya containers, moved to 52 and finished the Nagoya's, loaded Shimizu's from section 52, then moved back to 44 to finish the Shimizu's. It was then necessary to move back to section 52 for the next bay. The inflexibility caused by considering only one port at a time increases material handling time in some cases. 176

CHAPTER VII

CONCLUSIONS

General Conclusions

Before discussing the conclusions, it would be well to reiterate

the objective of this research. This was to develop a computer as-

sisted load planning system for the Port of Portland's transtainer

based container operation at Terminal 6. The system should serve large

ships with good ballast systems specially built for container trade.

A system which would handle 90% of the vessels 90% of the time should

be considered adequate. The system must provide feasible load plans

that result in acceptable stability for the vessel. Material handling

time required by the load plans should be as good or better than that required for manual load plans. Finally, the productivity of load planners should be improved by the system.

A study of four voyages and two ships indicates no problems with either feasibility or stability. Three out of four voyages were loaded satisfactorily without adjustment by the operator. Provisions for adjustment worked satisfactorily to provide a feasible plan for the fourth voyage. Stability calculations for all four voyages were very close to the stability calculated for the load plans actually used.

Material handling time for the four voyages tested was adequate.

For two of the voyages, the time for the computer assisted load plan was better than for the PoP load plan, and for two voyages it was not. 177

The average for the four voyages was slightly better for the computer assisted load plan. None of the four voyages show an extreme dif- ference between material handling times. The times for these four voyages can be considered adequate.

Although precise times are not available, improvements in the load planner's productivity should be expected. Experience from the last voyage tested indicates that time savings for the load planner of up to 50% may be expected for the portions of load planning covered by the computer assisted system. Not all parts of the load planning operation are covered, however, so further productivity improvements undoubtedly remain to be made.

The one goal that cannot be evaluated from this study is the ability of the program to plan loads for 90% of the vessels 90% of the time. Four voyages and two ships is much too small a sample size to draw conclusions regarding this. The tests made suggest that the goalis reasonable. A full scale test of all six of the large vessels currently calling at Terminal 6 would need to be conducted, using several voyages for each vessel, before the long term performance of the algorithm can be accurately assessed.

Evaluation of Strategies Used

An evaluation of the specific strategies used shows some of the strategies worked well but others were less successful or little used.

The strategies discussed will be broadly classified as those used in cell selection, those used in regular container searches, and those used in special weight container searches. 178

The method used in cell selection is to select a bay, selecta

port, then start with the bottom tier and take cells port to starboard.

This appears to work wellin most instances. The situation where it

can cause problems is when cells for two or more ports in a single

bay could be loaded from the same sections or rows. Taking cells for

only one port can lead to substantially increased transtainermove

time in this case. A preferable system would be to have candidate

cells for loading for each port involved, then load the cell which

requires the least material handling at that time. Taking the cells

from bottom tier to top tier, and from port to starboard for each tier,

seems to work well

Several strategies are used in the regular container search. This

part of the algorithm seeks to avoid moving the transtainer. If a

move is needed, the closest row with an acceptable average weight and

minimum rehandles is selected. Individual containers are selected

by weight using a wide weight range. Finally, all section changes

are avoided; if a change is necessary, adjacent section changes are

preferred.

The policy of avoiding moves appears to work adequately, but may

not be necessary. Minimizing distance alone might be acceptable. In-

dividual moves do add to travel time, but not a great deal. The number of moves for the PoP and the program were fairly close for all four voyages, so the differences in time were not large.

Selecting the closest row with an acceptable container seems to be a reasonable strategy. There are times when this leads to increased 179

travel time, but for the most part it works well. Using the average

container weight of a row may have less utility. Close examination

of the four test runs indicates that very fewrows were eliminated

from consideration this way. The average weight of rows did not vary

enough. Since de-emphasis of stability at PoPseems justified, drop-

ping this test from the algorithm should be considered.

Using wide container weight ranges appears to bea good idea.

This results in more attention being paid to material handling time

than to stability. Results for the four voyages seem to support this

idea. The success of this strategy may be partly due to the homo- geneity of weights of containers at the PoP. The only difficulty with the policy may be approval of load plans by ship's officers. PoP managers report that some ship's officers will object to a plan with heavy containers high on deck even if stability calculationsare ac- ceptable. This appears to be a psychological problem rather than a physical problem, since a different crew on the same vesselmay let similar plans stand. The importance of these psychological objections is not known yet. Some modification of the program may be necessary if these objections cannot be overcome.

The policies of minimizing rehandles and non-adjacent section changes should be retained, but minimizing adjacent section changes is not of great importance. The results of the four test voyages seem to support the methods used to reduce rehandles. The procedures for minimizing non-adjacent section changes are not as successful. Changes that would be desirable would be to consider more than a single port at 180

a time, and to look ahead to subsequent section changes. The latter

may require an entirely different approach to the load planning pro-

cess.

It is possible that changes in the yard at Terminal 6 will reduce

the importance of non-adjacent section changes. A third group of yard

sections is currently being built on one side of the yard. When con-

struction is complete, three sections will be side by side instead

of two. All of the new sections will have reefer plugs. If care is

taken when assigning container positions in the yard, allcargo for

a voyage could be found in three adjacent sections. Such a policy

would reduce material handling time, even if computer assisted load

planning is not adopted.

The final strategies to evaluate are those used when searching

for special weight containers. The policy is to look for the heaviest

feasible containers, minimizing rehandles and distance traveledas

secondary considerations. This strategy works well when the container

needed is fairly light. Then it makes sense to save even lighter con-

tainers for later use. Heavy containers are another matter. It is

possible for the special weight routine to be called for thecase where

any container heavier than 29 tons will exceed deck stress limits.

Ninety percent of the containers to be loaded will be acceptable for

that cell. Searching for a container close to the weight of 29 tons

does not make sense here. A modification to call the special weight

subroutine only for light containers should be made. Heavy and medium containers would be located by the regular search subroutine, 181 with a feasibility check added to prevent deck stress limits from being

exceeded.

Suggestions for Further Research

Extensions of this study lead into several areas. Some of these are similar to the work done here; others go considerably beyond it.

The first project suggested by this research is to continue with the

same general approach but refine various areas to improve material handling results. Such refinements might include using several can- didate cells for loading in a bay, rather than a single cell. The project could also include changes to the row selection procedure or the critical weight search routine. Changes might also be made in container weight targets, by using the lightest third of the contain- ers for light containers, instead of a fixed weight range. Such a project would use this work as a starting point, but would probably. result in more efficient material handling.

A second area for further research would be to tackle the same problem using a different approach. Such an approach ideally would include ways to look ahead in the load planning process to find im- proved solutions. The best plans by human load planners use this approach.

A third area of research would be to test this program using dif- ferent weight distributions of containers and different situations in ships. This could he done theoretically by constructing different loading situations, or as a practical project by adapting this algo- rithm to another port. This would allow for a test of the conclusions 182

on stability. The preponderance of heavy containers at PoPmay not be

repeated at other ports. If the de-emphasis of stability is generally

applicable to all ports, it would be of considerableimportance to the container industry.

A final subject of study would be other parts of theloading oper- ation. This research has not attempted to findan algorithm for assigning bays to cranes or determining the loading orderof bays.

It has also omitted the assignment of cells toports. Both these areas would be logical extensions to this study and would offerfurther in- creases to the productivity of management in the shipping industry. 183

BIBLIOGRAPHY

Beliech, D.E., Jr., A Proposed Method for Efficient Pre-Load Planning for Containerized Cargo Ships, Master's Thesis for Naval Post- graduate School, Monterey, California, June, 1974.

Cho, D.W., Development of a Methodology for Containership Load Plan- ning, Ph.D. Thesis, Oregon State University, Corvallis, Oregon, July, 1981.

Cho, D.W., Personal Communication, Oregon State University, Corvallis, Oregon, 1980.

Church, Robert F., Background Note on the Development of Containerized International Shipping, The Transportation Center at Northwestern University, 1968.

Cojeen, P.H., Van Dyke, P., "The Automated Planning and Sequencing of Containers for Containership Loading and Unloading", Ship Opera- tion Automation, eds. Pitkin, Roche, and Williams, North-Holland Publishing Co., 1976.

Containerized Cargo Statistics, Calendar Year 1979, U.S. Dept. of Com- merce Maratime Administration, Feb.,1981.

Geisler, R., Trautnitz,W., "Automation of a Container Terminal Using Process Computers", Siemens Review, XLIV (1977), No.8.

"Highlights of U.S. Export and Import Trade, December 1980". U.S. Dept. of Commerce, U.S. Government Printing Office, FT990, March, 1981.

McKinsey and Co., : The Key to Low-Cost Transport, Report to the British Transport Docks Board, June, 1967.

Neter, J., Wasserman, W., Applied Linear Statistical Models, Richard D. Irwin Inc., Homewood, Ill., 1974.

Ninomiya, Y., Nabeshima, Y., "Container Handling System with Computer- controlled Crane at Freight Terminals", Hitachi Review, Vol. 25 (1976), No. 5.

Phillips, DJ., Ravindran, A., Solberg, J.J., Operations Research Prin- ciples and Practice, John Wiley & Sons, New York, 1973.

Rath, E., Container Systems, John Wiley & Sons, New York, 1973. 184

Schweitzer, D., Containerization, Dept. of Civil Engineering, Univer- sity of Saskatchewan, Saskatoon, 1969.

Scott, D.K., Chen, D.S., "A Loading Model for a ", Paper presented at ORSA/TIMS meeting, Los Angeles, California, Opera- tions Research Society of America, 1978.

Taha, H.A., Operations Research: An Introduction, 2nd Edition, MacMillan Publishing Co., New York, 1976.

Thoolen, S.I., Meade, G.A., Scott, D.K., Operational Evaluation ofa Computer Loading Program for Container Vessels, MA/RD-930-79008, May, 1978.

Van Den Burg, G., Containerization and Other Unit Transport, Hutchinson Benham, London, 1975.

Waterborne Commerce of the United States, Calendar Year 1978, Part 5, National Summaries, U.S. Army Corps of Engineers. APPENDICES 185

APPENDIX A

FLOW CHARTS 186 CLP

CALL INPUT (311/3R01177/VES)

CSTOP 187 LOAD) diNirIALIZE couNT CoNMNERS FoRrH/S 23,9r-fi;Rr CoMS/WATion/ TO ZERO. SET TRANsTAINER AT ROW NEAREST friAbv A/SLE OF LoWE'Sr-NtIms,&reD SET'.

SET CuRRA/r /O&, SET; AND SECT/oil/ FoR E4c1/ 7-42744/Svmyk-R

foR EAcii ENTRY BY ORDER LisT

.00181.111. RESET 14,./NTERS

DEAD BAY FOR CURPRTjaiRORzi THIS ENTRY AND cURTRN. OF THE ORDER LisT. 188

Fr LL.8.4Y

F7Ain F/A'Sr .EN 1/ airrAl CehfR.E4/7- y AND FORT- IN 77/E 77ER SELECT NEXT L/S77 ENTRY 7 /ER L./ST

/9z.z. kirR/EZ /=OR rii/z 84 - R7- coiriBo (RETURN.) READ?

FOR EAC/1CELL /NTR/Sk-ArrieY IN -r-NE- LAsr

PR /NT "-?efo.ne

STEP 189 190

/NCR EM E1V7- cALcaLi9rE COLIArrE R S Nelms EA. of TOTS E C ANZ) ROWS TR 17 YEL Er, TRAIM OV

/4 / C REM ENT C0114/7-RS ToTCON FOR TX /S R4NS771 1 ivER AN 0 4/Toni Z. 191

NO YES

WAS CONTAINER FCUNO ? LOAD YEs 'a.RN es IN Yes THE CELL

ATE STORAtIE UPDATE 37'oRifi6s R APS CELLa i?) ARRAYScezz.v,v, L OD SEZZ, RN D L 01,SEO AND NIMBER RAID NUMBER AND AY61d6T FOR AVG 416T FOR CURRENT Real, CURRENT ROW ira-movE PRON REMOVE FROM MAP By AmitiNa }FARO /A/G Cd.opED NA-GAT/ t,6' CLOD ED NEGATIVE FOR 7-iii/S crNTAINi33 FOR 771/S C04177714/5"Z UPIM TR- STA C i/67: FOR CURRENT STACk

BorronOF CELL icOP 192

CRE-44c1.4;

7Z ECG, Ar G U Are. Enrr c A7 "NO SEr A> (7/16pcvse o/t45.-Er: .1; Er FLAB IPAR/ /C01.1/ icAA/4Z,5 WILL OE L.15,CP. Ahet.U. A re Hei&or LIMIT, tr ANY. If% TA R4 Er 1.1X14111" 41-A5, I,/VD 4EA14Teit lb CALCULATE CtorlA 044 141E1coir RAN4Z 4

/N/TIAL1Z= VAKrAp14, P cnexA OF CUK.R. E A 'r GuRPos, CUfCCon4, LA3r, L E vEL, AA, P 23577- vt. 193

psrEetryNz Roww.r6H7 7,AiVe7E.

Ye5

1/w MALIZZ 14441,11.A.5 TO SEAgcti roic A cogitt-d4r Aoul rocupos, .CAST AMC, TEMP= Fr 105!CO ''j

.5a.e.c.rROW c.4:15 a..sT- Tes co A.g.eA) r 744N.17/41 051TioN it CURRENT gOkh UPPATZ C Lif2 RE AIT CoN TA I NE. 194

E5

LoAp rii15 ceNTIVIVER A/E,Y4 it)",/ .L)FtC0,1V

ETU FAN

51 LLvCL = 0 195

SE 7 heVEL = 2-

MAKE CURRENT COA17:41VER SCST Gaiyr.4INER 5Ez. EcT NEx ENTRy rN isIT4/ OR LAST: 196

NO

AZZCORO RE-C4AD Nt4914BER TRANSTAINER op POSITON AElmNixES 197

/411714zizk-VAdebt.ei.r.7 trat airckOF rwe Cu/tee-Air 3EcTioN. NEIVR:.:1V CHA-LEF Ctid

YES

SELECT NEAREST UNCHECI(E.D ,to AS NEW Rota CliPDA POinireRSAMWRo*j cheithE-5 che&R67"

YES

A v*/dor DF 4,04.; ROW NO kOw 41616,eir Ho RAA/6E

YES 198

./Q /NIT/AL lzE VARIAZLES FOR GNEGK OF fet.,14.1. CuRPOS,CUPCcti,

SET LEVEL0

LOAD cot/rill/HER AlE7COAI = CURC04,

REriziciv

YES 199

YES

SET LEVEL= / 1-E1/51_ ::: 2

1119.tECI{RRE/YT eavrnimeR sesr CONTI;/N - 200

LOA D r#6 BEST C047".4 JIVER NEX COI./ = BS rCtW ACC° 44 ay ail w,k. or RENA/VALES. t Pp/4re- P 0 C. U RRety, CURCO N

CALL MOV E P

(RETUR/V UPDATE

TRAffSriii.vst11 liZ/TIOA/ 7.1WROS

Resgr ARP ciiErx R1/1,51.&-S NSECNA:; CURSE 7.; CLIRRei c / PASs =2

Cr'ETURN) 201

CC:NG-SEC

ZIPDArE CURSE7j. CURSEC)C4ReOldi AND CU/E'CoN. NO (RETURN

177/94-if 77m4r SET Thg CURRENT SET,

YES

SELECT NEXTsircii IN 3E7' LIST AsCURRENT 5E7;

RecAto ALLSCenoitIS CHEcirED.NSECibtr:-/. Rz.sa-rc-CIRSE7;caRacc caiexotoAND CURCON A'E TURN TO ORGSET AND °R6ROW.

//Pp/9 7 couNT ERETU)? of N 78Ee of N) SECT/ CffFCk 202

ECR7`aiG7t)

RECORD OR 161N4 3E7' AND ROO A5 0R6 SE 7; 476'6 R041. CALCatlincezrYTAIIWR 14Ag16117 .TAWGE".

YES

NO

YES Sececr 7W,9r ,..3""7" ..98 CUR REA/ r S87'

/41/77.44/xf 1/.4R/A.gaS 1:,,SE0911,cif FOR CURRENT Roia TRA/P0S14_09.57; AND /7/..vrmsr ROca

Sec E'er .04.1 ccos63r rd CzberteArr -TRiimgrif/A/tR Pos7770N AS CeIRRE#17 xele. erP,o/pr CuRia5vr COA/T0T/it/Ete. 203

hvirimaz VARMBLes POR Ci/ECk OF 6'eC77041. 1EVEL, BST1111, S rzo4 7; .5..3 rcs7;;- BST-CON.

FOR/4/ EACHr://EST Reed

bV/7741../zE v#9117,484 FS .roR Rosy. 112/..17; CellfPGS.

FOR EACH CowroVNEA HAS /41 THE ROW CURg.e7/7- COW7-4/N&-A? E54, 1-0.940E1) VET 204

AL4A-E Ca/ERE/yr 14,2464/7- CONTAi 4/E g Co/Y riPtVER EST 4/67" BETTED ES Co,v74.1i1ER. LIPP HEAv/Et)rivAli, Ba-riii67; 8.57*CON, 13,577vor? BSTL VI NO

"SAW CLaRt-ArT CGAIT4/A/ele 466-.7r CoNTA iNER, uPDA ASSTCoA4 vi.3 740,5r.

YBs MAKE C11 R.RE017" COAPTA let/ER &E'er CON-PA )/ AlE7e, 1.1A0A BSTC044 23STBS7-,

aPi)097-4* 37-#9cie CuAPoS ®41 205

LOAD THE BEST covr,i/A/ER ,a-0447E NEX Cot?, CilReo/v, RENt/017,CacR014./.

'tiPp47-.6- WUNS729/1YER POSIT/ ON tt 7-AW PO 45

Z.0,90 A BL4Nk. UPD47-z-cuRSET; CaRR014.1) CuRseC , SEr it/ExCom=0.

...... 7; (RE TURN) 206

CII/VbENT C4NTAI f, rOP CPA 5771C-iCI. (EXCHNG

PR/4/7- /11E4W

_i_

READ USER REGI['EST _t_

n/TrAPirE aSFR LECTI °AI

READ cEti XL-40Pont r ou-rpar PL SET otrrPtcrrt.% To CELL roCELL ,51/0R7- FORP TOLO/Vti FORM EXCIIANGE EXCIM/Ylie IM1reeecr/c/a NSTRUCr/041 (REl-URN ) CALL 57;1BL E 1 1 -..i- ._.. CALL (CALL TEX EanE CELL EXECilfE POCK OUTPZII ott-rpuT O CELL EXTNAWcif TV CELL EICl/A/Veir 1 208

TA.4NSPgR 14IPIXT cAl_cutATE 717rAc (/JIG 1441, AND LM Fog VESSE visr.uesFORivirmL 4/6769rAivt) V/44or COAITIV81.4TIowS sAys717 09R hiSz..S L/GAIT &V /PI s6,9yi/ni ANA ,58YWCT: CoNSTo('tar brovi ANO OTHERS, rim/Ks A ND foR E,4C hi ENTRY civRoo.1 11/N -TIER LIST -r LeE/611rs Az42 ALL c-e-44.3 /4/ ziYrR Y. _L-

14114z.r/PLY WE/ Geir BY Af'PRoPR /ATE7-/ER coNiTANT Tb GET Vel CoNTR /1347701v Go,e 77,0SE cELLS REA0 hvPurs FoRDRAFT m ips,vhoz,; frirc, ADZ) CIJE76Nr AND A14- L.C13, AND VM COIrTiT BUT / 0A/5 LC-F, 77, BAY 77>TAL..s. r-eR We/6MT Awv Wv1,

GALCu LATE G/441 m Fog LimR P-oR EAc# BAY DRAFT ANDAPI-

r/PLY 8AY 1416 /Ear BYA "tegoPRrE BAY C oA/s7A,v TTo GET 24y Gavraigaylov PR/Air frij 1"-a 77714) FoRtJAIRD am Mow ,DRAF-7; /M/D AFT PRIIFT.

CRETURN) 209 (0117-PLITD

OlirPlir MY RESULTS

FPRINT LIST OF ALL CELLS /LLEDid/TH IBLANKS.

i'7" NoPR /NT L/Sr OF ALL CONTA/NERS INOT LoNDEA 210

APPENDIX B

VARIABLE DEFINITIONS

Array Variable Definition Dimensions

AVGWGT Average weight of containers ina row. 100 Part of row list.

BAY Bay of each entry in the tier list. Part 200 of tier list.

BAYCST Moment arm for longitudinal stability of 50 containers in a bay. Part of bay list.

BAYLEN Length of bay. Part of bay list. 50

BAYLM Longitudinal moment subtotals for the bay. 50

BAYORD Bay of each entry in the order list. Part 100 of the order list.

BAYVM Vertical moment of cargo in bay before 50 loading begins. Part of bay list.

BAYWGT Weight of cargo in bay before loading 50 begins. Part of bay list.

BSTCON Container list number of best container located. Used in REGLOAD and CRTWGT.

BSTDST Distance to best container located. Used - in CRTWGT.

BSTLVL The number of containers on top of the best container located. Used in REGLOAD and CRTWGT

BSTROW Row list entry for best container located. Used during search of section in REGLOAD.

BSTWGT Weight of best container located. Used - in CRTWGT.

BWGT Variable used to hold weight of cargo in - a bay while run file read. Used in HNDCALC. 210a

Array Variable Definition Dimensions

CELLON Representation of cells in on deck 33, 4, 15 bays in ship. Used to sto!se contain- er list number of container loaded in a cell.

CELLUD Representation of cells in under deck 17, 9, 12 bays in the ship. Used to store con- tainer list number of container loaded in a cell.

CHGT Container height. Part of container 750 list.

CHKLEF Last row checked to the left. Used during search of section in REGLOAD.

CHKRGT Last row checked to the right. Used during search' of section in REGLOAD.

CID Container identification number. Part 750, 2 of container list.

CLINE Shipping line which is handling con- 750 tainer. Negative value indicates con- tainer has been rehandled. Part of container list.

CLODED Indicates if container has been loaded. 750 Also indicates if container covered by a container for another port. If it is, the container list number of covering container is stored. Part of container list.

CMARG. The amount to expand container weight ranges during container search in REGLOAD.

CONVRT Position of bay in on deck or under deck 50 bay list. Part of bay list.

CPOS Stack container is in within yard row. 750 Part of container list.

CRGLM Subtotal of cargo longitudinal moment used in STABLE.

CRGVM Subtotal of cargo vertical mo ent used in STABLE. 211

Array Variable Definition Dimensions

CRGWGT Subtotal of cargo weight used in STABLE.

CROW Number of row list entry for contain- 750 er. Part of container list.

CRTIER Tier currently being unloaded in ship.

CRTHGT Flag used to indicate if height must be checked during container search in REGLOAD.

CRTRNG Weight by which weight may vary from best container weight recorded and still be considered an equivalent weight in CRTWGT.

CSTLM Longitudinal moment due to ship's equip- ment or "constants".

CSTVM Vertical moment due to ship's equipment or "constants".

CSTWGT Weight due to ship's equipment or "constants".

CTIER Tier container is in within yard row. 750 Part of container list.

CTYPE Type of container. (Eg. regular, reef- 750 er, open top, etc.). Part of container list.

CURBAY Bay currently being loaded. (Bay list pointer.)

CURBY2 On deck or under deck bay list current- ly being loaded. (On deck or under deck bay list pointer.)

CURCOL Current column or stack within ship cur- rently being loaded.

CURCON Current container list entry being checked during container search in REGLOAD or CRTWGT. 212

Array Variable Definition Dimension

CURLEN Length of-bay currently being loaded.

CURORD Order list pointer.

CURPOS Yard stack currently being checked during container search in REGLOAD or CRTWGT.

CURPRT Port for which cargo is currently being loaded.

CURROW Row list entry for current set with 3 location closest to transtainer's position. Often the same as the transtainer's position.

CURSEC Yard section currently being checked during container search in REGLOAD or CRTWGT.

CURSET Yard section transtainer is currently . 3 in.

CURTRN Transtainer currently being used to load cargo.

CWGT Container. weight. Part of container 750 list.

DIFF Holds difference in weight between current and maximum stack weight. Used in FILLBAY while determining which con- tainer search procedure to use.

DISPLC Total weight (displacement) of loaded vessel. Used in STABLE.

DRFTMD Draft at midships of vessel. Used in STABLE.

FORDFT Forward draft of vessel. Used in STABLE.

FSTCOL First cellin block of cells for a 200 tier list entry. (Cell closest to port side). Part of tier list.

FSTCON First container list entry for a row. 100 Part of row list. 213

Array Variable Definition Dimension

FSTROW First row list entry for a set. 100 Part of set list.

GM Metacentric height of vessel. Used as a measure of vertical stability.

HGTLIM Height limit for an under deck stack. 17, 12 Part of under deck bay list.

HICLIM Upper limit for container weight range used for container search in REGLOAD.

HILIM Upper limit for basic weight range 3, 2 for a specific length and weight class.

HILOW Whether bay is above or below deck. 50 Part of bay list.

HIRLIM Upper limit for row weight range used during row selection in REGLOAD.

HLIMIT Height limit for container used dur- ing container search in REGLOAD.

1,11-15 Loop counters.

IANS,IANS2 Used to read operator inputs in EXCHNG.

IBAY -IBAY2 Used to store bay number temporarily in various subroutines.

ICOL-ICOL2 Used to store column numbers in EXCHNG.

ICONT Used to store container number in OUTPUT.

IDIST Used to hold distance to currentcon- tainer in CRTWGT

IFIN Loop limit in OUTPUT.

IFINISH Used to set up loop limits when deter- mining number of lines required to output results for a single tier of cells in OUTPUT 214

Array Variable Definition Dimension

IFORM Used to determine if form feed is necessary in OUTPUT. Holds cur- rent bay.

IGO Used to determine what operator has requested in EXCHNG

ILEN Used to store code for length in various subroutines.

IPASS Used to determine if row weight ranges should be used in REGLOAD.

IPORT Used to store port in various subroutines.

IROW Used to store row in various subroutines.

ISET Used to store set in various subroutines.

ISKIP Flag used to indicate if short or long form of results should be printed.

ISTART Used to set uploop limits when deter- mining number of lines required to output results for a single tier of cells in OUTPUT.

ISTRT Loop limit in OUTPUT.

ITEMP-ITEMP2 Used to store variety of variables temporarily.

ITIER-ITIER2 Used to store tier in variety of sub- routines.

ITOT Used to store total number of containers loaded in OUTPUT.

ITRANS Transtainer to be used when loading a 100 specific bay-port combination. Part of order list.

J-J3 Loop counters.

K1 Loop counter. 215

Array Variable Definition Dimension

KLINE Line in function KLINE.

KM Keel to metacenter distance. Used in STABLE.

KPORT Port in function KPORT.

KPOS Yard stack in function KPOS.

KTIER Tier in function KPOS.

KTYPE Container type in function KTYPE.

LAST Used to store last entry to test during some row and container list searches.

LBP Length of ship (length from bow to propeller.) Used in STABLE.

LCB Longitudinal center of buoyancy. Used in STABLE.

LCF Longitudinal center of flotation. Used in STABLE.

LEVEL Number of containers stacked on top of current container. Used during con- tainer searches in REGLOAD, CRTWGT, and LEVELS.

LGTLM Longitudinal moment of the empty (light) ship.

LGTWGT Weight of the empty (light) ship.

LIMIT No longer used.

LOCLIM Lower limit for container weight range used for container search in REGLOAD.

LODSEQ Sequence in which a container is loaded 750 by a transtainer. Part of container list.

LOLIM Lower limit for basic weight range for 3, 2 a specific weight class and length. 216

Array Variable Definition Dimension

LORLIM Lower limit for row weight range used during row selection in REGLOAD.

LSTCOL Last cell in block of cells for a tier 200 list entry. (Cell closest to star- board side.) Part of tier list.

LSTCON , Last container list entry for a row. 100 Part of row list.

LSTROW Last row list entry for a set. Part 100 of set list.

MCONT Maximum number of entries in con- tainer list.

MORD Maximum number of entries in order list.

MROW Maximum number of entries in row list.

MSET Maximum number of entries in set list.

MTC Moment to change trim by 1 cm. Used in STABLE.

MTIER Maximum number of entries in tier list.

NBAY Used to store bay in some subroutines.

NCOL Used to store number of columns in some subroutines.

NCONT Number of containers to be loaded.

NENTRY Number of entries to be read in while reading some files.

NEWROW Yard row being searched for a container in REGLOAD and CRTWGT.

NEWSET The set selected by CHGSEC. Passed to INITSEC as NEWSET.

NEXCON Container number of next container to be loaded. Used to pass container to FILLBAY.

NHEAVY Quota cf heavy containers for a bay-port. 100 Part of the order list. 217

Array Variable Definition Dimension

NLINES Number of lines required to output results for a single tier of cells in OUTPUT.

NMED Number of medium containers for a 100 bay-port. Part of the order list.

TRNPOS Position within the section of the current transtainer.

NROWS Number of row list entries used for this voyage.

NSECHK Number of sections checked during a container search.

NSETS Number of set list entries used for this voyage.

NTOTAL Number of cells loaded for current bay-port.

NUMBER Number of containers currently in a 100 row. Part of row list.

ORGROW Used to store row list entry which was current when a container search began.

ORGSET Used to store set list entry which was current when container search began.

OVRBAY Bays below an on deck bay. Part of 33,2 on deck bay list. Not used at this time.

PORT Port of each entry in the tier list. 200 Part of the tier list.

PRTORD Port of each entry in the order list. 100 Part of the order list.

REHNDL Number of rehandles for the voyaae.

RMARG The amount to expand the row weight ranges while selecting rows in REGLOAD. 218

Array Variable Definitions Dimensions

ROWLOC Yard location number of row list 100 entry. Part of row list.

ROWSET Set list entry for row. Part of row 100 list.

. SBAYVM Vertical moment subtotals for the bay. 50 Part of bay list. Used in STABLE.

SBYWGT Weight subtotals for the bay. Part of 50 bay list. Used in STABLE.

SETLEN Length of containers for a set. Part of 100 set list.

SETPRT Port of containers for a set. Part of 100 set list.

SETSEC Section containing containers in a set. 100 Part of set list.

STWTHT Height of under deck stacks in ship. 50 Weight of on deck stacks in ship. Part of bay list.

TARWGT Code number for weight class used as target for a cell. Used in REGLOAD.

TEMP1-TEMP2 Used to store any real quantity tempo- rarily.

TIER Tier of a tier list entry. Part of the 200 tier list.

TNKFSM Free surface moment due to liquid in tanks. Used in STABLE.

TNKLM Longitudinal moment due to liquid in tanks. Used in STABLE.

TNKVM Vertical moment due to liqu:d in tanks. Used in STABLE.

TNKWGT Weight of liquids in tanks. Used in STABLE.

TOTCON The total number of containers loaded by a transtainer. 219

Array Variable Definitions Dimensions

TOTLM Total longitudinal moment of loaded vessel. Used in STABLE.

TOTSEC Total number of section changes made during loading.

TOTVM Total vertical moment of loadedvessel. Used in STABLE.

TRCSTO Vertical moment arms for cargo in tiers 33,4 in on deck bays. Part of on deck bay list.

TRCSTU Vertical moment arms for cargo in tiers 17, 9 in under deck bays. Part of under deck bay list.

TRIM Difference in height between bow and stern of vessel. Used as a measure of longitudinal stability.

TRNDIS Total distance traveled within sections by transtainers during loading.

TRNMOV Total number of transtainer moves during loading.

TRWGT Subtotal for tier weight used in STABLE.

VMOM Used to store vertical moment temporarily in HNDCALC while reading run file.

VRTMOM Used to hold subtotals of vertical moment in STABLE.

WGTHGT Used to hold weight or height of stacks of cargo already on board when loading begins. Used in COLWTHT.

WGTMAX Used to store maximum weight of a contain- er while determining which container search routine to use in FILLBAY. 220

APPENDIX C

MAJOR LISTS USED TO ORGANIZE DATA

Maximum List Variables Size

Bay BAYCST, BAYLEN, BAYLM, BAYVM, 50 BAYWGT, CONVRT, HILOW, SBAYVM, SBYWGT, STWTHT

Container CHGT, CID, CLINE, CLODED, CPOS, 750 CROW, CTIER, CTYPE, CWGT, LODSEQ

On Deck Bay CELLON, OVRBAY, TRCSTO, WGTLIM 33

Order BAYORD, ITRANS, NHEAVY, NMED, 100 PRTORD

Row AVGWGT, FSTCON, LSTCON, NUMBER, 100 ROWLOC, ROWSET

Set FSTROW, LSTROW, SETLEN, SETPRT, 100 SETSEC

Tier BAY, FSTCOL, LSTCOL, PORT, TIER 200

Under Deck Bay CELLUD, HGTLIM, TRCSTU 17 221

APPENDIX D

FILE STRUCTURES 222

TABLE. D-1

Ship File Structure

# of Variable Bay/ Entries/ Lines Attribute Name List Format Line Bay

2 length SAYLEN bay 2512 25 1

2 list pointers CONVRT bay 2512 25 1

2 on or under deck HILOW bay 2512 25 1

3 under deck bays OVRBAY on deck 2212 25 2 covered bay

17 high cube limit HGTLIM under deck 12F4.1 1 12 bay

3 weight limit WGTLIM on deck 11F5.1 11 1

5 longitudinal constant BAYCST bay 10F7.2 10 1

11 on deck vertical TRCSTO on deck 12F5.2 3 4 constant bay

17 under deck vertical TRCSTU under deck 9F5,2 1 9 constant

ship length LBP - (F6.2,2X, ship longitudinal LGTLM - F6.0,2X, 1 moment ship vertical moment LGTVM F7.0,2X, ship weight LGTWGT - F7.0) 223

TABLE D-2

Structure of Yard File

Number Variable of lines Attribute Name Format

1 number in container list NCONT 13

NCONT yard stack CPOS Il

yard tier CTIER Il

steamship line CLINE Il

container type CTYPE 12 height CHGT F4.2 weight CWGT F5.2 ID CID 2A10

row list entry CROW 13

container for 2nd port on CLODED 13 top

1 number in row list NROWS 13

NROWS row location ROWLOC 12 average weight of containers AVGWGT F4.2

number of containers NUMBER 12

first entry in container list FSTCON 13

last entry in container list LSTCON 13

set list entry ROWSST 13

1 number in set list NSETS 13

NSETS section SETSEC 12

port SETPRT 12

length SETLEN 12

first entry in row list FSTROW 13

last entry in row list LSTROW 13 223a

TABLE D-3

Structure of Run File

# of Variable lines Attribute Name Format

1 number of entires NENTRY 13

NENTRY bay NBAY 12 column NCOL 12 weight or height WGTHGT F4.1

1 number of entires NENTRY 13

NENTRY bay IBAY 12 weight BWGT F6.1 vertical moment VMOM F8.2

1 number of entires NENTRY 13

NENTRY bay BAY 12 port PORT 12 tier TIER 12 first column FSTCOL 12 last column LSTCOL 12

1 number of entires NENTRY 13

NENTRY bay BAYORD 12 port PRTORD 12 number of heavies NHEAVY 12 number of mediums NMED 12 transtainer ITRANS 12

tank weight TNKWGT F6.0 tank vertical moment TNKVM F7.0 1 tank longitudinal moment TNKLM F6.0 tank free surface moment TNKFSM F6.0

weight from constants CSTWGT F5.0 longitudinal moment from CSTLM F6.0 1 constants vertical moment from CSTVM F6.0 constants 223b

TABLE D-4

Structure Input File

# of Variable Lines Attribute Name Format

1 row weight range RMARG F4.1 expansion

1 container weight range CMARG F4.1 expansion

1 container weight equi- CRTRNG F4.1 valence range

various interactive inputs 224

APPENDIX E

PROGRAM LISTING PROGRAM CLP 73/172 ORT=1 FTN 4.8.524 81/04/09. 19.04.17 PAGE

1 CUP PRCGRAN CLPIINPUT,OUIPUT,SNPFIL, YROFIL,RUNFIL,TAPE5=INPUT,TAPEE,=OU 2TPUTOAPPI.SHPFILTA°St5=YROFIL,CEPUG=OUTPUT,IAPEI0REWIND 9 ,,,RUNFILI 5 REWIND 15 REWIND 10 CALL SNPDAT CALL YROPEAD CALL COLNIHT 10 CALL NNOCALC CALL SPACE CALL ORDER CALF. STODAT CALL RNPARAM 15 crtit. tottn CALL ExcHmr, too CONTINUE STOP 0lOCK RATA niffNif. 11t172 001.1 rfN 4.44520 01/04/09. 19f05.11 CAGE C nL CCS 5LOCX 00, COcNON /1141C2ICTWINf 150.151 C C COrNnil /SNI03/051, 1200 I 0,10112001 .T1E017001 r. fr5TCOf 1200 Iff5rCOL1200 t0 INfEct sAY,PfIntf Trn,r5ICOl CC COMMON ISNIP4fn4f0PD1 1 nn .c5f0nOt1001.NNf Ay, ft 00 0 2. IIIAN511001 .NMED11041 C 15 111100E5 nfyonco.n0f001

COMMON sift P5/Cat. NNW 1,15) .rEll U0117,9.121 20 1,4700(0 CRION.CrUNS F CONININ r5feNfrONYC511501,1FC5T013300.1RCSTU157,11.1_00.1_61fN 2.CCYVNACTwca 25 CEnf fnPACTINftCf00,1C1wG1

rfoOPISogNu SO C1f ,,0A35/wiitsol.CRGLS.CPCVM,CRG4GI.STLM.CSIVI.CSiwG1 - 0.SN,fC06(rr,01C,INnf Sff I.HIKEN.I VM,INf 1101, 10110.15f VM frf if KNACA.f Cf .NIC SS CONMON Stari/PlirwCT 16011 .1111YVH1501 C C CONSIGN / 11.5T ROM', 001 ASIP 01111001 .Sf I if 411,101 .SF I PR T 1100) 40 2f5fflfell00I C INTEGER r51404.5E RFS. 50 Inf f5FISIC C C 45 ?Cni1,11c112Wn4V1 11831 'FS ICON1100 0 ASICON110 0 V.NUNNE011001

INTEGER rSTCON.45910Cf 0545E T sn 2wpvigmt.,,,w477,!;,c,,vxmir 'UMW 017501 .crncf 7500 .tPOW 17501 C INIEGIC C1 n.C1n0r0fCesS,c1fON,CltfP 55 C

00NNON 1 7 5 0 , fNrE GFn rtmr.rry.r AO C COPsoN / 51AI IRN015.101CON1 iO'er SFC.10NMOV.PF ifln4 INffcrp fAnols,f0fCn4.1NTS(CffPWNIY,nfuNfil f. CnCnON .ICC2 /41F 1, mgoN, rcnut .0f ff L.NOnfl.NC0N1,040wS.1/6T15 fa J1.P0m2/CMA.,..grA.G,CV1.,16 C COHNNN anANI/Nti 75 PE AI ukIN Nara SiwinT,7c0.0./ NAAFI( min %kw. 717177 nov,t FIN 4.80524 41,014741. I1.08.t, DAGF NII A BAY.P091,TIER.F5VCOLO.SIC(1.,1000.0, nay* AAY0Au.DAIOR0,41(AVF Paqn IIRARS/514.0, AN DATA FELFON.CFILOWI1401419.1ASST1119/ DATA BAFIN.CAGINICINWN.CAGMG1gCS IL M.C5IFNoCSFAGI.DISDLCONIFINDo

ilWaciPiMr1151114tWr.t"4".""""SH.TNAIN.,DAVA.DIII (11 yAGT .NAYVIS/104°0./ 15 8112 :=1;WW0MSZ.,164:74:WinERWC,t40.6..ses.0, Dill CLINT * DATA inocrinc000t Is 2m.pro.rro.cimgtugsf%:2::5wtre.cw.,?so.o.. DIII rptinvso0rcort.OsEtoP4movoqwwirno, 0,,,nil, NSrI mmwocoNT rittEP.moRtvina.toodsoass.loof DIII 101 INI1 /OIL ID I 11.10111412 15 2DII T 1 1 5 , 1 1 INI? 'IT *NiL INT?. AT 0.04 INIF *I /40 I N I I a) , N T L . F I 01 INI7.2/ *NT WILIN13.471.NRI4(3.71/0..10.00..15..11..2(0.0.04.. FAD 5000001040 slictuy 731172 000.0 104 4.0150 41/04/01. 19.00.17 PAGE

C1400100DuTT0E simnAT C C 5 LgI&Me :FULENTI'Vogn! ON 001 vr"" 007M0N 7514001/n471.041501.000vPTI501.01004s0).OVROAVI03.21 2.0001.101117.12)00-01I4(11) 10 1000740 0.0nin.004000,01L00,000005

7C.p(170:1,altilitniVCt(501.1PCSTD(33,41,10c5tuq1/01,LitpACIOn IS POOL1.1101.01.03.1C1V.1.1_61w6T rpiNT.,-IROC SWIM. 20 Roan° C nO 10 11.1,7 100.407=5.11 75 ITE401.lEmo2.74 C 10 REA014.1011190YLEN111.1=11E4PI,11(1,021 OD 20 11.1,2 ill 02q5.11 10 C144.1,r11007-2 20 RE0011,10111COnVRT101.1.I0/91.170721 00 30 11.'112 I ft0P2.75. 35 IfEn,1,170,0?-74 30 nrnoin.inti(.1tngm.t.fitnPt.lirmn?, C 00 40 11=i0 ITF0102=i1.11 40 M.40t,J,F00?-16 40 RE.1114.1071110M10111,.11.J,1.71.1rITC101.1141021 Se11147)0/11.171111/14.111,1111.31.J.1.121 00 60 11.1.3 tith,7ii.li 50 ill374:14t77,idti.(11.1. fTcHri.[TEvP71 00 70 10:1,4 111-4P(1011 11f01,'1111,02-9 10PFRol#1.145)fnarccT it1.17TE10,1./ItH71 55 1. 1)040 11=1,11 I1EMP2=I1I I fr.101=11( ttoz-7 80 n[0011.in711/Toc:Inft,J1 .J.1.40.17T7001.1170071 60 C

r0.311q1.1,11rg.,,Itimi.,,,...,,,.. 65 101 C0Pt131125I2) 102 10Pms.t(27111 003FOFIgiIII 4.1 0 101.f OiMarjjjr5.jj /0 joy cOP9A11101-7.21 DF144/tucl.?1 101 000,1'1(505.71 C 15 I17,0 F00 SOOROMINE TROREAD 73/127 nn7.1 FIN 4.111520 41/04re9. 11.05.11 PAGE sunoonflor vonocon

PaneTotS rpotsys.summuTINE 'TEATS THE TARO DATA PREPARED TIT cC COMMON FSFfirEsTRONTIOSTASTROW11001.SETIENT1001.SETPRI11001 2.ST1s7,1106) C TO INTEGER r5T9014.1ETIEN.SETPRE,SFISEC C C comnon ifimoCr11641.7s7cOmt166)as7conft661,nunnEottoof 7.Pontnc(106i.snnst,(166) 15 C INTEGER rsircnm.now10c.nowS77 C C 20 2coloiliggrweill;760,0pArairlictemntrsov:cnnst7sol:Connt7s61 C INTEGER cto.culoro.rPnl.cpnw.currs

COMMON /CONT2/ClINE(2501.CTYPE(7501 INTEGER CLEW:5277r r. 311 COMMON r.lsc7rnsrt.snon.mcony.m1176.110o0.mc0nr,onowS,osE7S C RENTNO FILE TO RE READ CC 35 pRINT..OTHIG TPOREAO- REWINo 15 Ct CC READ NUoRi Or CONTAINERS (0 OF READ. THIN PrAo rOP THOSE CONTAINERS. REAOITS.o0IINCONT C 00 10p It!-1,4CONt 1.5 MN 4NalllinriU:1113:1511tAitt4007=0117511"."G""1.COM INK r. C REAR NI/HOER Or paws ANTI OATA TOR THOSE ROWS SA C REArm5.,AIINROwl C. RF16175(4iraini-Ipi.svcmcflinosu4nrsIt?),Fsrconotn. SS ptsrcosii2).0owsEriirl 766 CONTINUE C PrAry NHNOER OF SITS ANO DATA FOR MO SE SETS SA REAoTts.onttorrTS nO lac 11-,1,mscrs 11E00115 10417T1r71111.5ETRR11131.SETLEN1111.1STRow1111. 2ISTPOWIIII RS TOD CONTINor

C. 101 FnANATfix,T11 1) 1Si 10, ,04140111V,111,.2MI.1,tiX.111;1M111;:j1:1VA:1:WrflcA:31flt!fif0".1")

RETURN 75 rpm SUDROWIDE CO14141 71/I?? n,trt FIN 4.44524 41/84/09, 11.00.11 PAGE 1 900POUrtuf caNINT

1Nrs 5099011114E 4E1OS THE ENTRIES Of W4104 OGT FOR cntuom, IN RAYS WPICH 114E PADVIALLY L04010 Aff041 IDE 1011INC DDOCfSS OfC145.

COMMON cHrwz /Slw fur ( . ts)

ID PRINc*,-nnun cniwrwr- °.F00410.91111NfWww C IF Ulf .01,0 10 104 IS P. 00 SO Itxl,N(414f 414y118,99i1DP4f,NC01.8CTDGI SO n w wIwnww,wcrkt.wcrwct

20 100cnur 14101. f. 901 fofm4IIIII 90? F0D741117,77,17,2704.11 ?S PFTD4D F sufuluuTinr wiecacc mu? ru.1=1 FON 4.445711 Ai/04104. 11.00.17 NAOF SUnn911114F Himrair CC Iut 0.05 TuLITV pcmn ouLon c rsutrs wNIS H S ul VE 1 D0FR S rAOmno FORT DAYSwNICH 5 ARE: n4.'11411_0 ROLL OR FULL 011t11 LOADING OFGINS.

C. CUNNON flven3/n0ywnyt5olo0rvm150) C 10 C C ralmT.-nnur mocitor- C RrAultn.letturutor 15 IFINENIRY.LF.01G0 fo 710 00 100 11o1.9fuIlv 111 0D11 1.1021 1051 51414 05011 01oRGIIInAVitoNGI filvV41190olt0No4 2n 100 CONIINNE 700 CONIINNF C r 901 FOFMAI111, ?5 907 F00000II2o7A.rF.-1.70,10.?1 C Flouts END SOnonoTINE sPACF 71/17? OPT =I. FIN 4.4.521 111/114/0'1. 1`1.01.07 PAGE RUARTHIT TNT SPACE C THIS SUN NE *OS VALUES FOR INFI IEP L 15f TO C OFIERNIVF WHAT SPACE IS AV* !LAKE IIITHE C VESSEL FORrscof PORE C IL TNEN ASSIGNS A VALUE OF0TO ENE VIREAPLE C COLL.. LPN EACH CELL DETNIEN INC FIRST CELLawl C LII! CELL CONTAINED LH EAN ENTRY IN ONE TIEP LIST. E THE 11510,- ENG PEA() E FON IC PRE -S OPT RAF.PORI,TIER. AND FIRST COLUMN. (1 " F ' C IS 2C.24:71014111.71=1.4.1V110,11,;CONVPTISOI.HIL0111501.OVN9AFT.13.21 r. IN if Gf s PARE N.CONVRT Ou.LIVPDAY

C. CORPCNI cHIPT/nAv17031.POPT (2 0111 .11ER12.001,ESECOL WM 1 ASIC0117001 IHTTGTP HA Y.POPT .1 IF P. TSIC OE C C ?5 COPHHN /YUIP,,PElE0111110., 151 .cf ilOni I F.4.171 r, INTECIPCELL FIN,CrLINI

30 F, PANT."pnI/G SPACE- C At-Ant/A.401INEuTP.v

OS SOT UP T.U. Um EACH ENTRY IN INC i1FP L IST . r. 00 5p0 IF P (Ill .f SECO1111[1 ASICOL ILL I C C

C C i ,47Wig7WA FOPt C Nirc;;WTLsT1.9il, Ss 10 On IRIS.f IRST INITIAL LOW' VARIABLES. C 1,11/4 OEIEPRINE Wu. THER ARCO OR RE1.011 BECK C SOWE CON OOP WITHPPPuPTIATE ARRAY. gqT11141t71 gM31.1,6vf 50 C P.9(10W BEEF./,1 THEN SE f OP 10OP TO PLACE A C V01111 OF n INEACHCELL FON THIS ENT PI'TNTHE C TICK tr.T. C C SS C IHT T T AL I IF VAPI A oLES (OP Loop. I PAF? tLONvPr 'sai LO 111V:W_IIPLAIEVT

nf rF..[0: WHICH 140P ES loilno way) .Nr.-il Go IN POO C C WOF P P. Cr LOUP to 40 104 177111..1.111a42 T.111111PA 'TY . I 116110,171 101 F.P,51,11"7,1r. 75 700 rntil llow SORPOOTINE SPACT 71/172 ORTFt FIN 4.11,524 011/04/01. 111.08.17 PIGS

ANOVE OTC., LOOP IT 00 300 %FRI . 121.0 3011 RS C F/0 or LANGE LOOP FUT ENIFITS IN LIST f. S00 CON! EOM: C R0 001 FORMaIIIII 107 1011H0II4117.271.121

95 PCINOR F00 SODROUTINE ORDER 73/172 °PETE FEN 4.0,5)0 4I/04/01. 19.06.17 PAGE I swwwouftwr ORDER C C INIS SgPOOTINE wEatl twt oworw IN uwitm S DAYS AND PORIS Awl to et (OA nf0.It ALSO E prAns 'HNumnEa OF HEAVIES ANO HEDIUms C Norco ARE ETO nf insert) row EACH 4AT-PDRE C E.HEOPEArION. C rp IO t0pm00 /sHfp4/nATOP0111101.PPEOFOIEOVI.NNEAVYtIORE.NNE011001 ),IERAESIEVII C INIEGIR RAvORD,PRInpn IS C opt410,-1%u. nporR" PEA011A.901INENToT C DO tow IvI.HENTRT 100 rotitittf.READIIA q021oAroPOITI.DPIDR0110.NHEAVVIII.NHEn111.1FRAN511)

)5 MIVIII.112.7A1,1r$

IO 114Z"" SUPPOUIIME SIPOsf Wirt onfxt flu 4.4.521 9 I/0s/ rill.!'1.00.12 PItt.E

SWq000,11,1r zors.tc,AR,fm.(8,1c4,Icr.mic,INKrsmrOMP011 tsTAP?1,11x11415171,CPSL14.GPGVH.CPctxr.1.CSTLII.CITVH.CSTWX.t S 1.tHrtV,1.1sVi,x1p(4,:t.tnItt.,,toTop RfAl stletcnAcr.yrc pF49101,101)INxWGTONCLH.INKVTNKFIN N 10 901 inFMIttxx,.4 ?X XX.0 217X.Ff.011 grAn111,902,CS14CIJS0UX.CSI,X4 SO? foRNIfilx5.11,21?g,r6.ftl, RfTil/N FNO SOOROUTINE 0NPARAN 1I1112 001=1 FIN 0.04E20 At104/11.1. 15.45.10 PAGE SilpRouTINE RorARAN LE 11/1S SU, READS OPERATOR INPUTS OF Till NUNPER CC Or TONS WOOS( TO THE RANGE FOR MGT OF COFTAINERS 5 ANO 0001 WHIN SEARCNING VCR PARTICULAR MCTS. C THIS IS TOE OPERATORS WAY OF IN0U1 TING IHE RELATIVE Impoqtamcc or stAatkm ANO HOTERTAI C HANoLINS CONSTOFRATIONs FOR THIS VOYAGE. TO COPHON f10012/CHARG.00A0G.Epyouc Cc PRINTA.-nR0q RNPARAN' 15 0.011110.1011 RFA415.1921RNo0G 20 WRITE 16.1D11 REA015.117ICHAPG 0011116,004) 25 REA015.112ICRTRNG C RRINT,PRHARG-em.RNARG.- cHARGt..cHARG,P CRIANGP.CRIRNG 10 901 FOPHATI/MX.01NREEASE ENTER THE NUmPFA OF IONS A ROO EON VARY FRO 2M A FEIGHT CLASS ONO STILL ill ,,,rtrryrn.s 111i 185110/1%1V15NPLEASE (41FRTHE NUNCER OF IONS A CONTAINER CAN VARY 2 100n A WIGHT CLASS Aan 5$t 15 LL BE UTECIE0.1 904 F000111,11102HCLEASE ENTER INF SLACK ALLOREV /N REMITS FOR CPTICA IL NEMNf CONTAINERS.,

PFEURN 40 ENO 50HRoUTINF Lnan 71/11? nPt=t FIN 4.8,578 81/04/05. 17.04.17 PAGE

Cl ININ sonPoottN, Low) S Wiiin4rTIrsqpnrtAVVE4RtncNAVII7t.. C TO tom) ntxt AHO 0 ERHINcS WHEN LOADING IS FINSSNEO. C ID COMMON 25HIRIENAYLEN1501.CONVRTI5010111.0w1501,11yRnAtI3S.21 2,PCILIN111.171.4G111Httit INIEGFR n6 FLEN.COHVRI,11ILOw,01100Av 15 CC COMMON 15W1P4PNIFON011n01.RRIO°01100T.NOEAVF11041,NHEOIt001 2,11,TANIIII101 20 INTECFR nAFORO.PRTnr,

romm0N 2SHIRS/CELL0413i.4.151.CELLU0117.4,121 C 75 INTEGER CILLON.CELLINI C C COMMON rISII2F-IIR0411001.1.StROW11001.SEILEN11901.511PRI11001 2.SEISEC11001 311 C INTEGER rSTROW,SEILENosETPRI,SFTSFC.

COMMON /powt/AwGwG,11001,r5tcnall1001.LSTCONtintil.KUNPEP11001 35 7.e0wenCilinn1.POwSMI001 INTEGER FSICON,ROWLOC.ROWSET an COMMON /c0nti/CHGt1/501.ctntrso,it.ctnntnItsai .CPOS17501.CROW1/501 2.11178)250I.CIIGTIF501.100SE017501 INTEGER c10,CLONEN.cros,cRow.ctirR 45 CORWIN /HISCIMIRCON,CURROW(31,cuRCAYCTIPPY2.CFTIER.CuReot_ 2.CORLEN.CNRCRI.C4RSCII1I,CINIPOS.CRGSEI,OPG70804EXCON.NfOIAL 3,NSErmr,r1Ir110.cua7cH.r11w5rf111 50 C 7!NW.ENUP:EIVX:Ergq:EgUTON:',4:E341.""°""""" C CnwPon fw15C2reSET.N.Inw.HCONT.HIIER.H0F0.FICONT,11ROwS,NSETS 55 INIIIALIFF LOCATION OF InANSTAINEF IN TERMS OF FARO C SECTION *NI ROW.

CO C C WrTIZrgt1IF 041,1VOIVM PROGNAH IODIC C. C ppluir3.nnor. tot' cs Ir I 5F TS,C 1 .GT. 50 1 GI TO 150 4n'S norprit. PLACE IN FIrIT Pow ttrAmE51

70 grin41

150 coNFIN0F 75 ,gtr,11),11: sn.s NAWNER. IACI IN 107 ROW INEAFfs1 SINAROUTINE Loan 21/177 OPt.I FEN 4.0E527 01,04/09. 10.05.11 PALE 2 C CURCON.FSECONTESTRom1111 NO C C 700CONTINUE C 05 VolAtF ROW. SET. AHO SECTION TO ACREE WITH CONTAINER.

CC COQ0g73Tag..1FIAtV11(5! 0M""" C Mi4%.11".1 C 95 EMVIIFNIZII:KMINRVINtcwlipmf COPIECICNPUENT.,IETSECICORSTUCURIPNTI

F. 725 CONCINNE 1011

C 105 C LoA0 nAT-PoR/ CONRINATIONS IN OPOER ENTERED.

INITIALT2E CUPOAY SC OARS! TEST FCR NEW BAY C SNOWS A NEN Oily. ITO C us C OTGIN LOOP FOR EACH ENTRY IN THE CROER 1/51. 00 SAO T1=1.N0P0 C ASSIGN SIMPLE VARIAPIE FOP THIS 011y. 1.20 lifmo..navnaoult

C Trs, tr All NON-NIANK ENIGIFS NAVE SEEN ICAOCO. 115 C ItlIff..1r.01c0 10 700 C C fuTS r4f0Y IS HOT A OLANw 130 CC INITIALITE COON! Or CONTAINEPS trnanfn FOR 1015 Dav- ao!! CONIINATION. NYOTA1=0 1:15 cC 1(51 IF TNIC ISA NEW gAY. IF Nn, SAID ASSECNNENT or NEW VAPIAMLES ANC CO TO 400. 1411 IrlIEEN..E..CUPIAYIGO To 400

CC TNT: IS A REA RAY. C INS rount..-onnrtnia 0ur-.111 oo totruLtru nu VARTAO1r1. C COPOAV:-.1Ifuo 150 CNELENr9AYVNICUTIAVI c11po1' .cn1,v0II,Av9101 C an CoNTINNF SOSPnOi IN( LOAO 71,115 nor = FIN %.8o524 RE/0../01. 19. 00.17 PAGE

155 C C C loonotE POPT. mg$14:771ORS I 111 C C C UPOOII CPA OF C 555 CSOIR11 .11R141 1111 C C C C vPINt .,"nhUG-t pig mt ;;;CIIROR C C CALL FILtRAv

115 ENO OF LOOP OF ENTP IFS IN OROFR L151 540 C C4111mr C C 184 C C Joss NFRE uNFN LOOP DONE SR If NTT I MONK ENTRY. III CONTINUE C I AS C Pr TURN ENO SURROUTITIE TILTPAY 71/1/7 oPTY1 YIN 4.6.570 01/04/09. t1.04.tr pACF

CYILLOAT SURFOUTINT rIttRity

C TUTS SUS COPERVISES THE Leant% or A BAY-PORT C co4n1H0finn. IT nEFERHIftES IHE TIER A90 CELL TO PE LOADET KAT. AND MITETPER MCI IS CRITICAL OP HOT. cC IT sEtrcrs Toy ApPROPPIATE C001 SUB - REGL040 OR C C0TUCT - RHO M9E0 A COM IS P(1910.14E0,TT LOADS THAT 10 C co9T IN fUE APPPOPRIATE

r. 2C=7,417:111f:g1474111,1C090.11501.9110w1501.DYROAYIl3.71 t5 C TBITCFP 4AYLEn.CONVRI,91Lom.009pAy C C 70 COMPON /C919?/CTuTH1150.151 C C. COPPOn 1CmTnI/nAy17001.00.112001.TIER17001.TSICOLG101.1SICOL12000 75 INIFCFP SAy.pooT.TIEP.FIICOL C COMMON iTnstr:Flent1133. 4.151 .cr Elmo*t ro. 121 C 10 INTEGEP Cf1.109.CELL0)

C 2m1A1=1/,1100011001.tSTP0m110.111.SfftEut1001.SETRPT11001 35 INTEGER YSTROW.IFILEV,SEIPPT.CETSEC C COMMON /0001/00GRG111000,rstcoH1t001.1.SIcnN41001.muHeE01100) 0,RnwEnc11001.07R51-11100, INTEGER 0sIcnn,R0N10:,0n0sr1

45 otTrumgrtonntitanrgal.CLOust,50t.cpOSIT511/.CROw11501

C 1141Cc.70 cln.cEnnfn.rnnc,cmi,c1/En so C commom /C TTTTT TRIVITS.f01CONINT.ICTIECORnDOV.REHNOL C 'BIWA IPTIOIC.TOICONOOTSTCORnm00.PrOnnt. 15 COPHOM Z.CURLTN.COPP0T.CUPSECT31.cuoPo .opcsytoncnom.mExCOO.NTOTAt T.HSTCTW99,91PO.C9R1011,CUPST113 cc IMTECEP CuPC09,CURPOw.C9PSET.COPBAT.CURTITZ.CRTIER.CURCOL.111511N P. CURT?! CooPsEC.";URTPN. f9IPPOS .ORC ST 1 .0PCROW,CUPORO C C conwm /.15,;2 /4sET,HRow,Hccoo,plir00000,HCONT.HROws.HsETS 1,5 aW7.5=U:=1;!glgirAgALWW411,47rL41.""L" C 70 tulfcty 10,0mcl.wiTIVL.cnyPCT.C9x(FF.IPNPOS CT 1 TDAT stoon, 0, AVGmnT I

C Izet,411.nrig!T IIIP Tn PE InAuTD FOR Toils I6 C

C. 9y:14 oy tocATInC Int nAY in THE TIT LIST. 5101001111NC FILLOAv 717(72 op,11 Ent 4,4.524 41184,41. 11.48.17 Pict 2 C PIN Towoorm TIER (ICI TILL WE FIND THE V. PA POINT,-npOT: ETAlgAv- E. TINIMIUNUIAFIGOTO AS ITTHR:tt GO TO 703 100 CONTINUE C C os SoOVLO 401 0E1 11E41IF ORDER *NO TIER 1151S CORRECT C VTITIV:::aL:0:1140iIRLINTINg? 71111:Pr[i;I. STOP 94Y.".CURRAV Sc C C 704 CONTINUE 104 C HAVE LOCATED RAY. NON COH/IHNT DONN TIER LIST TILL PORT IS LOCATED. C 10s no 3110 1{F11INPN1I0P 10100 T1170.4f.COPPPT.OR.0AY1171.NE.CURDATIGO TO 300 10=12 SO 10 400 100 C0011000 118 SH01111 NOT 001 HEFT IT ORDER AND TIER LISTS APE NIGHT. C C t15 PRINf."TIER AND OPOER LISTS 00 NOT AGREE." PPIN1..CANNOT FI40 CURRENT PORT FOR THIS FIAT." PPINT."DAT=".FHPRAT,"PoPtA-rcorpor S top C 128 C C OEGIN4fOr. OF TIER LOOP NRA CONTINUE C 175 cC C flri'MWMMAt.11.V.Rg,VTAAV421:Z.'" "r E t30 C c..-0, 13 500 IF ALL TEE ENTRIES FOR THIS C pont cotton RING C 00 THIS OT CHECRING IF THF nAr 00 PORT ARE C OfTTEPF41 rOP INF COOPER( ENTRY to tot C TIER LIST. 135 C IFITIATIITI.NE.CURIATIGO TO 900 ITIPORTI/11.NF.CURPPTIGO TO oon

ton C THIS ENTPY IS FOP THIS RAY -o041 ccnno C cfl ^PIlfP TO TNT TIER FOP 111 IS FHW.YN TIER LIST. CPOICR.110R1131

145 fC toqm coR TNT CELTS IN THIS TIER C C 1'9 tgrT21i1:0:14r7HriUMTI:r1TST WITH ISICnt 11=;1E41111 f. sunPnuitnr 71/172 npT.E FIN 4.0.526 A1/04,119. 19.00.1F NAGE (05 nn 1105 t4=1rn.t.t,r,.2 Cr C AssIGN copRENT VALUE of CURRENT COLUNN ICUR1010. C 110 COPCOL14 C potor....noNG-CC P10 IIER TOT ENTRY=03- tEll.-,C0IIER.-.".CURCOL mECK 15 SfE 1f CT BELON CH RINI CELL IS EMPTY. 1GS 51ART OE CHECKING ? F THIS 15 TH 901104 f1EP. IF It IS NOT. CHECK I cku BELOWS EMPTY F V7 WilrtAlt 10;0X:"Int0LW Uhlk'5.1f. °. C ,,,nnknt, imTr.co INTO THE 000ER LIST. 1,0 C UliMV/f7iNo to 4s0 C NOT 00110H TIER. IFS CONTINUE CHECKING. SELECT I ARRAY BASED ON mNEINER Ray 11 ABOVE OR PELoW DECK. IFtwit.fiNtcuP9101.NE.-1140 TO sit 160 C mELOw nrck CASE. C IFICEILUOIcH9Ny7.ITmpocHPCOLI.E0.01G0 tO 420 GO 440 Ins 410 cONT INNE

C AMORE DECK CASE. 190 GO1EICEILDNICURTIY2.ITEMP.CURCOLI.E0.0160 tO 440 TO 420 C C 195 424 CONTINUE

CC Cat WWI/ CURRENT CELL WAS ENpTy. PPOOABLE 200 EPRO4 IV 0PDER LIST. ppiNt.-CEll NOPEP CUPPEnt CELE EPrly. pPOOABLE ERROR IN OPOFP 2 1.151." PRINT. "cHPRENt CELE IS. OAK--.cupEAY... 2.CURC(t ITER--.CRIIEP.- 205 :Ton

440 coNITNUr C 210 CfLL DELON CURRENT CELL NEI ("PTY. PROCEED. C C

CC 215 C cIrrcrtIno U1HRccKfO U CEIg RINEGLoAn LAINND ACCRJINI41. ICUCW AW")

MSfcmx=1 270 C C C PAY15 ABOVE. OR 0,10k nick r. WI KNPW C 74.714gIP !ICI FOR SIAGK WIGHT no NcfGHT. 275 r. ICIPITOwTCOROAYI.,D..1160 10 SO

2.10 C In=tr°,11)O( THIS. IIP;f 14)1CV If 0144 IC 7n. 98 40.. Ifift MIL) guirommE WHAI TUE SUBROUTINE rIELBAY 71/17? 101,-1 Ern 4.5.520 41/44/41. 11.44.17 001,E C waxI4U4 HEIGHT Of THE OsKI COLITAIHER IS. C 14E4 (HECK IF THE WEIGHT OF C IHE NEXT CONTAINER 215 cnan nossInEv HAKE THE STACK fo0 4EA0yY. 00 c Tnts 110 nETERntnync. THEE nTrtrovEncE nEwwEEPT THE E CHRRFNI SIACK wEIcNT ONO INF 441I$04 SIACK 14E4 SO4PAPING THIS DIrFEFENCEWI KIT I4E HAA 4U4 C '055101' WEIGHT OF THE NE XI CONT$14ER. C IF HERE 244 c IS NO C4ANCT OF EXCUSING THE BECK NEIGH 1 (WIT. USE RICISEHLOAO IT 01111 HEIGHT HARKED AS 401 CRITICAL. iOTHERH CRE461.

E 245 ,,,,,,..-,,,,,q1vong,,,p, - SELECT COOT ROUTINE- IrteArLENIONin4e1.1.40160 ro 450

2S0 r. marfnum urEGNE Fop A 24 coy! is 421 TONS WW;;A. C 755 454 COHTINOF C

?CO 40x1444 OCT FOR A 44" Coot TS .11 toms 000K4X=11. C 500 CONIINur 265 C E IFS, Fr OFcX wGT LIFT! CAN TIE ExcrEca-9. C 270 tilr1;1115.174%Y:2ZitO51:11;4"""'"'"" C E 0,, ,0, ,s NO1 FYCEED THE NAxINUN poSSIME C WrIGNt OF4 CONE. ST WEIGHT IS CPIIICAL. 275 1 CAI C C 240 525 CO4TIN4F C THE HIFFERENCF IS GFFAIER MAN ENE NOT POSSIBLE wry or a row SO 461 TS Nrf CRITICAL. 245 C C4T4Gr0 C411 NEG11101 CO In 400 C 2^0 c C C nwnEP BECK EASE -- CHECK ormui C C 215 IF naY H7105. 20 CONE/11E4ES, CHECK IF ,HERE IS 0004 C 100 ANOTHER 416H CUTE CONTAINER. If THEPE ES, 1.1140 C NrRNA111 USING NEC1COn. C IF NOI. INOIGAIE NtIGNI IS C coittrAll trRTmcl.t, 440 USE PrtanAn. C SO4 C CHECK N,1 /:HT USING 01trEOF4CE 0E1wIEN HEIGHT ITKIT TOR IN E STACK tH611141 ANO TOTAC104t HST (511,0411. Ir TuE HIEFT0T1ZEIs ITS, 11410 0.5 IT. inrwf Noy Roan Fop C 11401W.K HET. TOE VAKIAPW; HCItEH ANn srw/1115 As!,NHE A C mit. 0E141415 AT LEAST 4' Or 4E1641.THEY mrvItoE TnE nilw ionvf A. TOUT (.., To% C BrEN NSF° PeSPECIIKrEy.THITTATLy AVAILABLE 440 1041 HIS C r 554 CONT/41, 5ORPONTANT TAILLAAY 717172 nort ITN 4.9.574 111/04/04. l9.ee.i7 PACE 5 C 310 C oRTNI*.-nnUC-Fm10 INNEN OFCR - SELECT CONY ROUTINE" C cliCCK trIIATIS A 70. NAT. 171010LENICuRnaTt.L4.4111Ort 10 5711 315 OAT Is A 70' toy. CHECK IFTilEof r. IS ROOM FOR ANOTHER 11/C F4MVINCX,17,717,11,4,41. I-ST RINI (CURnAT ,ruNormi 310 fi

E. 57(1 coot INUE C 37q C tutENT 35 Not CPITICAl. LOAN NORMALLY. cOritr.1.0 10 coCALL 10 OEGLOATI 600 C 5011 C0,111,7115 315 TIEIC111 15 CPITCAL. SET VARIARLE CRINst TO 1liErOFE C Eau (TM RACLOAO. C SAO roll RFGLOA9

6011 CONTINUE 145

PP14".""m'-rn" "ln4141117151105AMP LnArliNG LASTCONTANER. gCC 3c0 C C EAR tots RAY. iEKU.:7iN!)FK;up. CCU 355 Frst SF SEPT/ON CHANIWO 011111 THIS CONT.1.0. C. rri,r,re(ct.snr I: ICUPT.H11.F O.SETSFCIORr,5ET11G0 TO GTO C 31,0 c C WINgrc7:i MrrfiShf 70:Pclill°41V4411sT. c C c PF.coon5Fritoo cuANGE. 575 7 T07S7c.1 of sEC II C C fx.cmg,?,N,T, gAminalsitlinnswin344 sWirr.CITOhl 370 F... C NO.NIATr, 510CA, crotEE A151 rIS OFT WEN. C C Fr s3IF 505 OR 50`5 SFCT1f10 C 175 trISEIrxr/orCIrtl.rY.5mIco In C10 C C C 40"; SLI:1TON. DOVE 10 RON 191701T Cmeoll MG C SICT INN:. CALCol A17vills ofsT. 110 r nonw;NOII.NuNLoc1007.000

r. 3m5 510 CONTANW SNITRoNTINr r/EUTAy 71/1(2 opt:E (TO 401,528 111f04,01. 11.11.1.I? PARE 6

C 310 Wfait.f11441141426TINT7"Ir "4"1" TRNOI5.TRNII5Ttr4-PORLoC(00cRowIT C C 6411 C ONT 111(11 305 Apo MISTANCE TRAVTLE0 IN NEN SECTION TO TOTAL. cC 400 Irsf IF s(14 SECTION A 40.S OR 50'5 SECTION. E1o5E15ECIcU1SrTICOPIRNI1.01.50100 10 ASO 405 510,10N. 4,5 WOVE FoOM RON ITO CURRENT RON IgNiTASWISPIS.RONLOCICSeROWICURTPNIT

410 650 CONTITTUF

50.S SECITON. (RAVEL FROM ROW 71 TO csopEAT, Row. 410 TRNOTS.TONOTS1174-RONLOCICURROWICSR/RNI), 660 CONTIWN 420 C WWI(' COUNT (F VRAASTAINER MOVES. 1n6rov.tiomov.1 no 106 40 425 CC 410 CONTTNOF 430 NO SAC( ION CNANCE --- 010 TRANSTAINER NO0E1 CALCOIAfr ITSTANCE NOVE0 ANTI TEST IF O. 415 C 1[1111WANTMCIgSMNICURTPNII-FONLOCTORGROWIT

TRANSTAISER VTO NO0E. C010 A soy( *NO 440 iNcpEASE OIS .TgAvEEFO. C TRONOVtfoNNOVTI IOROIS,I*NOIS.IT,No 445 600 0074)11M

450 1141:34t0TINIgar.CSNIAINiptoAOTO ROTH Unirinrali"""""4"1" 455 C C 0040 (0 ACTUALLY LOAD COoTATS(R. TAFF IT F." vARn 10,:ATION AND PST If IS RAY. E 460 C r;R;T. fr.-.T IF 045 IS Anovr OR OBI RN SECA. C ITINTIONT(4,1A11.,r.-1).-.0 TO 700 SUAROUTINE Ill RAT 71 /177 4.0.520 01106101, 19,06,17 PAGE C 455 .-nnoc-rme UNIER (VCR - LCAO COOT NEACON"*.HEICON C LOAD CONfAINEP -- UNDER DECK CASE C C TESTIF .;011TATHER IS PLANK OR HOT. TES. C SKIP(0SPECIALPROCEDURES 105 BLANKS. 470 C IFI11E0C0N.I.E.6060 TO 770 CC MIT IS Not A DIANA. L0A0 IT. REMOVE FROM TARO. 475 UP7ATE AVERAGE ARO WINDER FOR ROW. ANTI 1110111 STACK N1 NI. LOAD Co NT A INF'o 000 CELLUDicuPnYZ.CRTIMCIIPCOLT.TEEACON

eC RIGORS 5100ENCE THIS CONE LOADED 15. P. 40S L ODSEONTEVt011),(01C(INICUPTITN)

ITPTIA IF N11N1r. P.IN PON. r. 490 ITEMP.CROW INE ,,,CON) NUNITE An If HPI =NUMOERI [IF UPI -I

C 495 2N1 C IN ALOE 01 0 1 0 AVOW 7.146521cTirt01818r11IssraVice el 1751 IF ALL FFON THIS ROW APE LOADED. 500 C IFtHott0EREETEHTILE .01 GO 10 710 C MORE CONE LEFT IN THIS ROW. SOS C CALCUL TF AVG AGO. AVGEGT TEMPT =1AVGITGTt TE HPI *FLOAT HOJPEEPTI TEMPI TIT -CMGT INEACONI I 2/11 OA TINDHDFRIIIIT0,10 C 00 to /IS RIO C 710 CONE INUE

CC 515 ALL COOT. LnAcEn FROM CIIRPEHI PON. A55110 AVG HG1.0. AYGPCTIMNPIsA,

571 715 CONT INK

REMOVE foOO SARI) 5,5 CLOD( OTNE )GONI =-C1011,.9 INEXCONI IEICIOOFOINEACO41.E4.A1CLOIENINEXCONI*-9191

C LinF,ALTSI ArR PE 1010 SIO C. $TIONTICIIPI14Y. C1101 OII= 51W r. co,,,..v.cupc,Lo C1101 I NC ACONI -A. CO TO 050 Sts f. 72. CrIP41TIJIT C C sunfouTtmc FIUMAV 737172 opt./ FIN 4.8.520 III/04/114. 15.011.17 RAGE 540 4 DUNK C LokolarcUM,g:i! "" CFELU0ICNPOT2.CRTIER.CNRcot,_1 C 545 GO 10 1500 C C C 750 CONEINOE 550 C C pPINT."CIPUG-F1160 ON DECK - TOAD CON/ NETcoN,".NEXCON C LOAD CONTAINER -- ADOVE DECK CASE cC 555 0057 C 50 PK YES. C ignliillmirtuMorn4s.ig" trintxtnn.t.t.escn TO 770

560 cC

C U11,1',WaelTropilincc14,44rnorgnAltR°STACK HEIGHT. C 565 C TOAD CONTAINER. C CELLONICIIP072.CRIIER.CORC011yNEACON C C 570 prCoRn SEnUENCE THIS CONE lOAUED IN. C TOOSEOINEKCONITTOICONICURTRNI

cC 5/5 OPOATE WINDER IN NW. C gr47107r4=1340117cmp0.5

C VrlATE RON AVERAGE MEIGNT. IF All CONE C 565 C gIVOVAIrfgriLlgASMOINVWV. Vr. A C IFS! IF All FROK INES ROM ARE lOADEO. C IF fulporP1 I TENN -I.E..) GO In 760

510 LC HOOF COOP LEFT IP TNIS ROM.CAlCUTAIE AVE MGT. 2,11,10/114a=rigNIICENp1.TITIAT/NUNCERIITFHP1,11-CliGTINEXCONII 545 0 GO TO 76% f. 7E0 CoNTINK 606

C All pout. 1.0Anf0 ',RON CURRENT ROM. As5I6N AvG MG1.0. C 0vCmCIIITIN000. 605 C 765 CONI[NoF

7150 C Proov, roo. TAO() C

cHEE',14;11;',11,11.7,41:PR:',11PIWE'll.r no.)= 615 C OPOITE :IACK WFIGNI SOPROOT t NE FRIBA, 76,172OPT., FIN0.01426 61.104/49. 11.04.12 PAGE 1

STRINTICOPPAY,CUPC(111 TSTITTITT ICURFIVI.CURCOL 1 TCROT INF XCONI C 620 GO TORon C C C. 770COTTT IMRE 625

CC (00,,,,vpr cm:pcitic.-- 6000 A MINK

636 C CELLOIT(CIIRII2 .FRTIER.CORCOl.1*-1 C C

634 C F OE CELTLOOP C IF'TORE CELLS. 00 T C TOP MIT SELECT' NE K/ CELL.

600, COPT [NUS 641! CC

ENO OF LOOP FOR TIERS. 645 qWL4AcrgE.IfintiVr, 100141t7sYllsTricio 000 PIE TOT' OF TIERL ST T/CP TO AR

650 GD TD an

645 CC y ;17W COV47"3E44"11,14TWIS EON sw:ctVE IT TIER. ICS 61.0 5" $F 74411"r ENO sonvoullsr PE CL 731172 0.r.1 sir, ...A.520 41/04709. 19.05.17 p4GI 1

t C"CtInPROUTTHE 91751040 C C 5 E WIAPPVTI,I4/aArT487141:strar C T.E wttrmtOF TNTNExt cow! IncF I 01 CP tic i C TH"OPTANcE, THI5 SUB SUPEIVISES THS LOCATION OF C yy4P9. THE CONTA/MEN IS 10 C IgFNUOTIATT; MINI C IF VI.IGHE iIHPIFIATT THELOCTION of INS C 554;415E5 C s HANnut 01 SURPOUTINF CITTNOT C WW1 nhiiigl tOpc3nEcsiETWW,V440. 15 C 1011 EUNITION. C E 20 zumcurafTumikiumpT,50,..,(0.0,:ovRne,(3,.z, 1101Fr:iv HATAN.cONVRE.HILON.OPTERAI

CC 25 COMMON 75NIP2/5TwTHE150.(51 C CC 2C171,121s=4/0470.E111001.PP10401(001.NHEAVY11001.NIF011001 IT WIGHT HAYIROPPEOPO

15 2C141114,47041/F5190011001.15100011001.5EILE411001.5E1PRII10O1 THTEGIR F5TRON.SEILEVESCIpal,sETsFe

40 comom ,POwl/AvIE111001.FSECON11001.1SECONITOOT.NUNNEEE11001 2,PCoLor11001.1045E111001 f. INTFGFP r5TCON.HONIOC.P,INSIT C 55 2Walict.17=C;147,40t01104Mg),CLONE0(7501,cP051750/.CRON(750) INTEGER Cln.clooFo.cR05.070W.CTIFP 50 on4004 7CONE2/CLINE(7500.CTIeFt750)

55 INTEGF7 rupw.curPE

COPNCH V7TATI/T0Nnf5.10ECON(31,10T5FC,TRH1OVOTEHNOL INETGEP T0N317.E0TC04,INESECOPNVOV.PFHOOL 101 COrHON EHTSCIWURC01.:UPPONTI1 cuReAvrcuRw.c1,1114,14 i:vprmo=0:til!,14=71.cPcsr.T.00Goow.NExcon 65 2:=7.=.21::7=11g:=1:4743740L1147."PC°L.C"ItH 70 COHHoH /41':c77H;EE,Hvow,HcONT.PTIEP.0000,11CONI.NPOWSENtiETS f.

75 ;;t"ET7.04,12hf.N44M1EnahnEUATC4?"4""IRLI4 INTEGER ITOW:T.VZIIVI.C1400ZGI,CIWIJI.TRWOS SUOPONTINE REGLOAD 21,172 noffft FIN 4.0.520 01,04/09. 19.00.1T PAGE 2 PEAL COCEINOLOPLINAIIII RR COMMON nolD7/CNAPI.PHARG.CRY0NG C COMMON tEPA93,4111.f!.21.COLID13,21 OS PEAL 101)0

El 90 IMEMPOOMIENRTNnfecn.suicupypN,, RECORD CURRENT SET ANC RON AS ORIGINAL SET ADO ROW IN CASE A ERANsvAinflt MOVE IS NECESSARY. 9S C PPINI.-nn114 P=GEnAn. C ORGSET=1..1IPSE0 ICINIT.N1 ORGRow=cD.PnwfruPtC41 100 frASS=1 C HEIGHT LIMIT 115 C WWW411SO4AY"LEFINTIti.75ALIECNUIL2 Wilti31-11q1.60111AUTIA'gTAIM AHOUNI Or THE Ex PA NF IHA, HAS DEEM USED SO FART C sport) To ,-. INES NIEL INSURE NO ATIENO1 IS 11114E 110 C IS Loki) DION CONES UNLESS THUD IS ROOM. C C C 511255 IF 20'. C 115 IFf010LEofcu.nfi01.nr.2A1s0 TO 1 C C 20 RAY. ESTAni ISN ((GI 170 NETMITAN511 IMIrDR9r2.co.c0E1-WI0TICOPRAT.cupcoilfs. CO TO

1 CONTINUE 125 CC Ng' nay. SET OCT 1.11111 Al 0.5 FT. C 130 r. 2 CONTINOF

135 C C NFIGNI`EM IS C fsFAITIS4 NEIGH, 11.115 FOR 1HE NEXT CONIAINEP C PT ln/IFI. To oo INES. FIRS( Of AE NCI CLASS - C LGT. Nr9, nr HEAVY - ANO ASSIGN A VALUE OFI. 2. 00 INA C 3 fo vAolArt, I11.461 GESPECTIVELY. ASSIGN A 00101 C OF 1O. 7 TO vARIARCE LIEN FOR 77. OP SO' cow PEIPECTIVIAT. sEf HIGH AN° TOW CON1 .GI LIMITS nY C AnOIDG ADO SONIPAcf 105 viitleriLt 5006511100(of wti C 51055tr.', ruTERrc 15 INSun BLOCK (41LIoI i ANTI C tnttof 1 1. THAPG fs AN 00E01100 f41.11Of HOW lUcif C In EX.Ann Till WIT CLASS 1I4115 FOG InolvIONAN C CnNIAInps. C C SO C I'A'Ant1SH WTI DO INIs RV- CPECTING IF ONNOT. C IniInfr, Fn. fills DAY -7021 coono So FNO (NtnIfil1 IS C LFSs (ono oOmPFP OF HEAvIES. IF YES. 111111 LOAD A P HINVF. IF DOCHICKif .110,1 IS CFSS MAN IHE 40AVIEs C Ann Of OS FOR 1111: pity. ASI1G4 WO I. lGt ACCORDINGLY. SNOPoUTINF 0550000 111077 or.1.1 rrm 4.0.524 01,04/01. 09.80.17 PAGE

154 C.

C Ulliget.le,:=17gingiImIt4oenpolitco10 4 /A 0040 A 1IGHT C TAANGT.YI GO TO 0 C 165 C coNfTNUE C C C 170 LnAn A vsn C algT C C 17S 5, C004114115 C C LOAN A NERVY 140 TAINI0y1 C CONY PINE IOS C f. ks/GN VAL4E TO yARIA8LE 0(50 nesco ON 1.00010. IlEN=C00110/20 110 RFIN1.-PROG-0118 TARGFTR-.TAQHGT cALCOrArE 1111115 500 CONTAINERS. C NIcI00 .N110411ARH60.ILENITCNAR0 115 1061 1HYLNLIN(TARRGT.5IENI-CmARG C C C 280 CHECx Tr PORT AN 0FYGN Or CONT IN TNIS cou APE ANNPONPIATE. 1111 CHECK Ir I1/E0r C ARF ANY CONY IN THIS ANN. C IFISETP811r4RFFTICNnfsN/1.UF.CNRPRTIGO TO 110 15151.11ENICORS111CORIRN11.00.COP1t0G0 10 400 205 IFINITY0TCUPProwfrHRT0N11.10.01G0 10 toe

1411 PON IS Arr.ENIA81E. FOP cocre OF foe 000. 101110117E VAPIAR1ES PIO C RR ,"noNG-TYL70coosClIFIP1 PcNor--.CURRnw1coreTRITI CUEPG1,0 CUncrINtrstcONTCUNNOw1C114TRHII tAST=151rONICHNR0MI540104111 215 1AVIL.,0 asloit=1 C 20 COOT IK 220 C sta.,Or 104P 500 640;0 COM IN SfU.

225 5455,0 Tr THIS CON! HAS orFN 10ANin YYT.

r. lytcLRIRNtr.NRroN1.1.1.01Gn IN An C 210 TN1,7 f70400I0T 1NA1 ' Yrr. SHIPOUTINE PECT050 71/077 00T,t (TO 4.01525 51,04709. 19.50.07 PACE C 15 THIS TIlt TOP OF A TARO STACK? C C CHECK 13 SEE IF ofHATIOLEIT Atm THUS TOP Of 235 C _ a STACKf Insl. C IF ICI. PK ICURroni .1. T .01GO 10 40 C C 240 C IS THIS r:oNT THETOP Or ITS 0911:TAAL STACK? C C IFICPOSTrU0C041.fQ.COPPOSIC0 TO 40 245 COPpos:.cAnsICUPc041

C THIS 10310a HE IHE TCP OFA STACK. COULD AL$0 C (10 044,R COO row ANOTHER poRt. CHECK THIS. C. 7511 ITICLOnFrilrOoroul.E0.11C0 TO 40 C C VAS 0,10-10A COOT FOP ANoTHER Poor. IS COAT C STILL I4sora 255 Ir(cl-rmEntri0nrotclmvpot.1.1.01G0 TO 40 C C C TES. rOyfPfq ITTAT LEAST(Of CONY FOP ATTOTHEP PORT. 71.0 CC IF NE ARE LOOKING ONLY FOF A 100 CON? ILIVEL.01 THEN Hr Coo GO On TO NEXT CONT. C IFInSTIVE.f0.1160 00 mu C 755 C NOT JUST LOOKING Foy A Top corn. HON DEEP C 15 'Nis nuE nuoTToT C C 11511 WISH TO CHECK IF INC COOT FOR MD PORT 770 C APE 04 THIS CONT. CHECKIF COOT PEFOTT CON? C FOP 2010 PORT IN CON( LIST. 05 IN SAME STACK. C IF IIIs, CHECK TFIT IS STILL THERE. TO CHECK C IF :ANT STACK, MUST CHECK SIC. PON, A40 POS. C OFT (TEMP (if(041 44 TCP Cr CuPPF NT CONT. 275 C 11FHP.CLOPFOICIMONT cOfrK To 5ffIF /TEPP IS 111E FIPST COOT IN THr Coo' LIST. 750 TrIfffup.rn.tiOn rn 10

ITE4Pt OF THE CENT ITFORE ITFPP 14 CON? IIsT. 715 f. C C CHECK or !TEN. Atm tIFTTPT HARE SAVE HOW 140 SEC PIO IFICPCKTI1T4P1.4E.COONTITFHPITICO TO 30 SAME sic /Lon Vow. 58Mi STACKS IrTCPOSITIFHPI.NF.CPOITTIFEPIIICV TO 30 245 C NOS 144.. STACK, TOP (ANT STILT THU4E7 Trfa.,:rwrItrtFm.1).crat1.n 00 25 305 C ONLY ON= nu Top.

CO0"714'10 305 F 75 CnHrT HOF C C Two IN TSP Env 7lin .0g1. SUPPOUTINE RECIOAO 73/1E7 0°T1 CIO 4.01520 RI/04101. 10.04.1, PLE s

C 310 CI) Wce C C 30 CONTINUE 3:5 C C !HERE NO! VT'S TOR FOR C COOT rns A INTRO PORT ON TOE zon CON!? irrctoncottrtorg.tr.olco TO 35 C INEOF PAS I APO CONE. OAS I1 !WEN 1040f0", 325 trrctooroocLonroltrriotr.tr.otco TO 35

C CONt FOR DIFFERENT PORTS 00 TOP. 310

C C 335 p,00r MUT' C C C ONLY ONE um, no TOP NON. r. 340 Co TO C 40 CONTINUE 345 cC TOP OF STACK IF US! 35 POP THIS COAT. roan If. C 350 titrp=cperIcuPcnot ittITEN".CT.OICLIMIGO TO 59 IctliumPAt.tocLIminl In 50 C C 011105 UGT FOR UNOVP 0106 RAYS. 355 C IFICRI11S1.E1.01G0 TO 42 IFICOCTICORCONI.GE.OLINIVIGO 50 50 42 coortoor C 349 C. zmorconcort C

1E6 f. 50 CONE/NUE C C C CONE AT TOP OF STACK IS WRONG pct. orcoon LEVEL 170 C ENO POS ISTACK1OF 1010 CONS A40GO ON 10 NEXT.

CO TO Ae C 179 C C 10CONTINUE

C TAO C wir FOP OFA STACK. APE NE ONLY LOOKING FOR 100 CoNT.57 IFIWOVVI.E0.110O tO Afl C C 305 C NoT 0111.0 rnr TOP COAT'S. AT LEAS! ONE COPT lunRomInc ncct_nAn 73,11?nPT.t rfN 4.8.524 At/04/01. 19.44.1, PAGE 6

C 105 cup4ENT POREoti TOP OF THIS CONT. HON PANE ON C TOPE COULD fuEPE DE A (ON FOR A 2ND PORT DETNEEN C THE TWO FOR THE COR4ENT PERT? C 344 IFICLOOFotcupcoul.ro.0,Kn To Es C C C wits CON! HETNEEN. HAS II nEEtwentntprottinAs. C 55(1 (NE 355 c 74'1.1i C CnYisl TOP CON m 1". trIctnncotannrntrutfrotot.tt.elcc To 40

4114 C ft IS STILL SPEOEy 2 rn41 ON TAP. C. 1V3a C 405 C ES CONTINUE C CC NO Fgrs:U 410 KILf0mINC114L7'rr5MACC0AtNctr. TAVElstIVELII C fp CONTINUE 445

CC Hatif DETERMINED LEVEL OF THIS COVE. IS (I MITER THAN THE 'TEST LEVEL PREVIOUSLY FOONO7 424 IFIEFVEL.GE.FTSTLVE140 TO 44

LEVEL FOP THIS CONS Is PEST. CHECK IT FOR wGT. 475 1tet**=rwntruRrn4) Irlilfr:,:t1:NailIN TR 21

454 CC CHECK HGT FOR UNOVIT OECK OATS. IETC4THGT.E0.41G0 In 12 tric.rvir./coui.nr,o(4:1,0. To 40 72 CONTINUE 415 C C C PST 4P1 44.1 or UFnAIE PEST TEE. C 440 RUMEVW" C

84 CONTINUE 445

CC ooTrom OF co., Low-. fon THIS RON. HAS THIS THE C IASI cool? 45e Ir1CoRCON.TO.TA5TIGn To an

Nov SP: TAST TAKE tEKTf, 11441. GC To ton. Amn SPY AGAIN. 455 CirCON,CUPcotl Go TO 70 C C C 444 coNttouE C f. SA0ROATIAF 114.54.000 51517, 0AT,1 (VI 4.41S74 11/044no. 11.04.4/ PAGE .tt or KITH. TITO my rINH 0 tinStALT 10017 445 IrTnITIVL.c1.11GoOntOn

CC 1411040 O COOT. C 5041 TO TITTART4000401 RIP/JAMES Amn at flsmt4 THIS 470 C NrACOWISMON PeggrOrWrFnITLVL cat.. 40010 475 OTTORA

100COOTTOOF 400 C

tr

V o 445 t ) 17E IC CLASSinFn mnothot= Amn01 TAMP, Pr OPEP4100/010tN0T4n HST mow HHC4 TO1001110 wcr RA/cr. TO tIGAPT 4011 HIOTTAA111114110PAGT.UFNI4PA1OC LATtI4 4lACIAITAANt1,T4141-PA0"t C C C C ArCORnAmo IAAN:IAINER FOS IN THIS SECTION.RESET CURCON. 495 11100 TO SECTITH CHECK 0000IO1 OF !HIS5(10. tRNA05 =41mlOc(C4MPOWICHRITTNI1 cOACOinN7n,FrIcnitI,MAROwIcHaTNNI, GO d Son F C. illCONTIIAT C C SOS C SFr MST LIMITS TOR NEM POW. N;E At, cuass AAA 1011.111 011.11O11 T4141.1E14. USE C mA404014011 44111 ROARS 111001 CT OrEPAYOR TOFIGURE C toEVARRA mtt AAFCF. 510 wirn tw.wit trittewwcr.ttri41TAMA°. Lon 1.11TRoNST .11F 41-111496 C C 515 WIRT OP ITNCTO FOR THIS SET TOT NTT SIT T TI1T't 91041 PORT CuARENT. HEED k F APItt11411:111, APT 114101AllyIIITHIS C C Its CCHT PAPE 6711 C

C. FTAsr wrn to rtuo C FIR), cwrwr in 111ttS1 TOP TAB Up:11(41.01,1,04 g '_1 LIST .gAs" FOR fogs 576 C. CHETTA To4 TOP OF 1.151 C 1115110S1(114141041.00.11t0 TO 170 Sin wnvr10 FATAY AnOVI.

ttlm-.4' 1 14.154.1 1411 -1.11,,,T. 1 11'1197 PIII - Ss: C 'not 44":11oHT 14.f54. 1ST11111,4441(Co014411.05.t1105154C1111111111110 C Is Its SHOPOUTINE wErtnAn 131172 opt.' ITN 4.4.524 41704/00. 11.00.17 PAGE

540 C C VOCIIWT4iIIMIWORIgnilnUCV1411! "WN CURSTITCOPtom,..cupsETIcopTPNT.1 545 f. 120 CONTINUE C SSA ERIE"( FOP THIS SECTION. SEARCH Volt RIGHT PORTPORTS AND LENGTH. IF SECTION CHANGES. Nn COOT C FOR TATS PORT-LENGTH IN THIS SICTION. C IFISFISECICURSEITCHRIPNII.NE.CORSECTCUPTITHITGO TO 140 555 IFISEIPPT(CNRSETICNRIANIT.NE.CURPRITGO TO 110 IFISTTLEHTCORSETICUPTPNIT.NE.CURLEHIGO In 100

016o, SETT HOVE TO NNERF WE CAN USE IT. 500 CO TO 150

C. l'n CONTINUE 505 CC 190 NEAT TOTRA IN SET IASI. C Er0 TINPIRtilmC1 RSTTICORTPOT.1 570

CC 1140 cowfmr 515 C C C NO sst IN THIS SEC( ON PITH RIGHT PORT-LENGTH. C SNITCH RACK 10 ORIGINAL SECTION (HOVE RACK UP ONE ENTRY IN RFT USTI THEN GO TO SECTION CHANGE 500 PART or sup.

GOCURIO I ifiICUfi PTANT.00R5FficuRIP41-1 515 C 150 CONTINNF

E 510 C roUuO A 5(T TN cORRENT SECTION WI TO RIGHT POPE C AN3 LENGTH. STEIF ANY COOT FOP THIS PORT APE C STORED IN THE PON tEcAftnw wHERE TH. TRANSTAINER C IS NON. IF NOT. PLACE CUFRIFOT PON AS CLOSE AS C OISSI^LF 10 'FANS POSITION. 505 C C 00 TOTS TO of0SURING FIST CA) EACH Row 10 TRANS C POSITI01 ANO STORPTAG AI CLOSEST FON. IF CLOSEST C Pow oh: 01St Cr O. ALIINF OEM°. C Eno F INITIA1171 VAPIAnIr( Too (wily: C 10NA05t0OotOCTORCPONi LITT=IST.OwfrioSETICOPTPN11, G05 ITINP.T5tRoy(cNRIrwitPtont (11-0P1=ITUT

1E5 CoNfiNur G10 START OF Innr, FOP (Act Pow IN SET. CHECK 171 fPrti THIS FON 10 TRAN7TAIN(N POSITION Iltr.p?, Awn CHECK TT IT LESS TORN LAST 015 OISIAN-:F. KETT, TRANG NUPE ENTRIES AS 1.4c A: 0151ANCTs (fro GETTING SHOPTIP. worm SNORONTINE wfC10011 71,177 n0T=1 ITS 4.0.5z8 41/04,09. 10.04.17 RAGE 1

C O11W 115! PIA01511gitsi EMERIctor Witr.11. C CHECK FOR EAST FRONT FOR INF SF!. 6?0 CALCULATE nrsT ilTHP7.TAnsionwLoccm,10)-Tptirc5) C 625 7F51IF 5HOPTER I FTITTMR1 TTEM.21 111 170 CC Nnf SNOREFR. EAST EMERY? 610 IFIITENP.FO.LASTIGN TO 170 unf EAST ENTRY. TAO Kw) Em pr. 635 GO in 160

644 174 CONTINUE

CC 645 C LAST CHTRT. MAKE IF THE CURRENT ROW. C CUFROWICURTRNI.ITEHp CO 10 111 650 C 180 CONTINUE

655 C PREVIOUSENTITY WAS SHCRIEST. HAKE IT CURRENT RAN. C COCRONIC11RTRNI.,.11FHP-1 C C 6611 108 CONTINUE

C Sri ruplE NI COIIlA INF RIN 11115 ROW 665 f. CHRCON:-.E.:TCONICORROWICORTRNII

670 (C's 200 CONTTNUE C C 00rNT."10NG-01.111 INK GFC=".CORSECICIOPIRN1.- SEF,'-.0TOSETICUPI0N1 C 575 C CHECK SECTION C CHECK IHIS SECT EON Foc A bGt FEASIOLF CONT. C IF THIS ISTHE. ORIGINAL SEE, 00 NOT CHECK C 1Nr 0011IN41 ION. MIFF/W.F. CHICK ALL C Rows rn. INF SET. 640 C 'Parfait', wirtAnir! FOR CHECK Or THE SECtION. NEWROW:CORRONICORTROI CHK1EE2CURRONICUR101)I 1,115 CHAFGICHR91RIcHRTRN1 LIVrE 0GION'T

6'10 mrforl4 IF TH11 II III.- 0DIGNAL low 4cAutur. EH NAY! c.Tr....rn II ANN :HOMO GO ON n9nr4v POW. SHOPOUTINE REGLOAD 71/172 o0I,1 FIN 4.4.528 81,04,0q. 19.04.17 PAGE 10

IFICURROWICHRTANT.NE.OPGROW 00.CUPSEIICURIANT.NE.ORGSETIGO TO 210 figs CC INII:15p1U LINWcuMli. SKIP " ROW F 700 GO TO ken F C 210 CONTINUE 705 Ro0 CHECK ROUTINE C CHErK 1HE CURRENT POW FOP A TEASIDLE CONT. C FIRST CHECKIF ANT cm., ARC LW IN THIS RON. RIO THEN CHECK IF AVERAGE wEIFNI OF INT ROW IS E WItHIN LINITS C ITINNNIFRINFNRONI.E(1.0)G0 TO 444 715 °MPH/4! WHETHER THIS IS THE FIRST CHECK OF THIS C AND WE (ISE TARGET WEIGHTS FOR ROWS. OR TNT C SECONDv-coNn CHECK CF THE SECIOCH AND WF CHECK ALL OTHER ROWS. f. 720 trttPAls.rn.plf_m (0 714

CC FIRST CNE'CK OF SECTION -- CHECK MOST PROMISING ROWS. 725 IFIAWINGITNEURCNI.GT.MIRLIM/GO IC400 IFIAwcwr,TIN,w0041.1T.I.OPLIHIGO 10 460 GO 10 716 C C 730 214 CONTINUE

WONT, CHECK OF SECTION -- CHECK ALL UNCHECKED ROWS, 735 F IVSNGT NEwPOWI . LE IPL IN.IND. AVT.1GI 1141/POW1 .GE LORI_ NI GO TO 400

216 CONTINUE 746 cg INITIALI/F VARIABLES FOR Lon!, FOR ROW. 745 COPPOS,0 curcON.FSICININEW11001 LAs1,-110CoNtorNROwl

7,11 220 cnyTtpmF C TO or ROW CHECK LOOP C NA: flit: Coot OTTO ECADEnt 755 OF1CLOnEOlcURcoul.11.01G0 TO 700 C TS 11115 IMF TOP OF A TARO STACK? 760 C ('NECK ] P,NANOLEO AND tuit fop oF STACK IFICTINForPrPNI.11.01G0 TO 740 765 I, INT, coot TNTTOP (F ITS ORIGINAL STACKt

fulcon11,1,pcoNi.Fo.copposico to 21,6 siNTROUTINE .CCLOhn 13/117 PPE.1 rTn 4.5.52A Al/04/01. 14.04.17 PAGE II COPpolACPoSICuAcnni

iTHIS MILO RE THE 15" OF A STACK. 115 COULD ALSO F OF U40F1 A COW FOR ANOTHER PORT. CHECK THIS. rrtct0nrn4roqconv.,0.01c0 FO 240 CC 755 WAS UNDER A COW FOR ANOTHER PORE. IS COW C 55111 HERE? C tFICLOOFOICLOOFOICORson11.11.91cC 10 240 C rA5 C C YEI. COVE°F0as! r70 STYAt IFAST co( COOT FOR *POTHER PORT. C IF WE Ontli 705 A /Or cora tiEvrl.ot0incn C 10 cA4 GO 04 TO WA! CONT. C VIA IFIRSITKIEn.TIGO to ?AA E C NOT JOSE LOOKING FOK for CAI. How DEEP C is THIS ow 110RIEot 755 C C FIRST ntsn TO CHECK IF TWO COW FOR ?NO PORT C ARE 04 VOIS COW. IF COW OEFOPE COW C FOP 2,10 "0°T IN COW LIST 15 IN SAME STACK. C IF IT IS. CHECK IF It S STILE THERE. TO CHECK C IF SAME STACK. MUST CHECK SEC. POW. AND POS. C LFT ItE4r Of CnNt 04 TOP (F CURRENT cow. C Itc.,,ccnncnicuRv," 6415 mcw? ITS IF lic.p IS1,71 FIRST F. C trArrinn.ro.tscn FO 016 /FT I1 E4n1 OF TUE CENT OF TOPE ITEPP IN COOT LIST. TIEMPIATTT4P-1 AIG (HECK IF (SEW. AU0 Ittrot HAVE SATE ROW AHD SEC IFIcRowfutrn01.01E.CROwITTEHrt)1Go 10 210 SAW SEC Ann Row. 520 SAKE Slats? IFICPeSTITEorv.w.CrontITEnpillGO TO ?TA wAs satyr stack. TOT COST sTill THERE? 625 TrIcAnnE0(I7F1.011.cE.4fon to 72S fluty nw on lop. 7E5E7=1 016 CO to 270 f. 725 COntIn9E 615 TWIT ON ToP fog ?No roAT.

CO l0 770

735 CONSISTS

cC

,PE0E A.: nor 2 Cont. ON tor FOP r47 SAME poPt. AA: C wor Twr R.^n4(70 FIE2 TOP 2 r0°IS. IS furrE A C COOT VIII' A 744 107 0007 On in, Inn UPI'? SORPONTINF PECLOAO 731177 OPTI fin 4.4.620 41/04,01. 14.04.17 PAGE it rrfarlrntifrMr).1r.111CrlTO 235 C 050 TPERF WAS A 3P0 CONT.OAS It (UFO IOA0001 C iFtotooEmokomo4TTENPII.LT.01G0 TO 735 AS5 CONE FOR OIFFF PENT PORTS ON TOP, C 1--.F,11170 060 F. 735 C (INT !NNE C C ASS C ONLYOW-CORI ON TOP NON. C W107, 470 240 CORI TOME

CC SS AT; C ir 116!9K 11: tnAn tr. C TEMP=CTIGT ICIIRGGONI IF I ITENP.C1-141CL IHIG9 19 250 IFI fir NP.t.t.LOCLINT ro) t9 250 RAO CHECK 061 FOP (1110ER DECK (JAYS. r. If ICRINGT.E.1.0/00 TO ? IF ICOCIV:ItPc0111.01.111 INT )G0 TO 250 005 74?cnottoor C C NFACONCNRCON COARONICOPt4NI.NFWPON 1114 pTIOPA C

250 CONTTNOF ARS COOT At TOP OF STACK IS WRONG MGT. 010010 LEVEL C Ion ons (STACK) or tois ikon 00 no toNEXT. ROO G OVT TLf 200

105 200 COAT DINE

C NOT TOP OFA STACK. AREor ONLYLOOKING FOR TOPcool S.? RIO IF MIA VT .F1.IIGO IT ?AO

NOTtnoctoc ONLY rot roc cows. AItrAstONECOOT C FOR 011017110PORI, 01) Top OF 'MIS r . NOW NAM (II C TOP? :OM° INERT Or A FONT I50 A ?No PORI PE I WET N C INF IRO FOR INF CORFEN)^017 IFICL9OF ,,,COPCONI.FO.AIGO to ?GS C 570 C C WAS CONT R(-INFI.HAS It M IEN OAOTOT IFIT OAS. C I,Pato 01.00 IF 10.10 TNT CON! 01050.It HIV_ OFEI) NOV( 9. C CASE 0110,Tufcllill, A TOP %POT. stomouttor REGInAn 71,112 OPT.' FIN 4.8.524 41/44/41. 19.44.17 nAGF 13 975 IFICLOOFOICCIDFOICORt0011.11.01C0 to 240 C IT IS STIFF tH101 2 CnAI ON 001,. C. 430 WW570 C 765 COM INNE 415 C NO COP C OR MfclunlriV4,4FrAMA,..iv. LFVEL=LEVFL1 940 C 274 CONTIONF C C 965 MV,RETUIDAF 11n'tPc(rdiA4A4,Wil,07 IFILEVEL.GEOSTIVLICO 10 ?AO 954 C LEVEL FOP THIS COOT IS 0150: CRICK TT FOR MCI. 111nA=CRCTICURCON1 trImoo.ctottattitro TO 244 955 11-1(17Nn.11.LOCLINICI TO 200

cC CHECK HIT FOR ounFo DECK PATS. C. 968 T, lITTCcRIN51.K0.01G0 I1 C.0 00pno 272 CO0ToNotc000nm.Gt.ottotUE

155 C 0004/7 OFST VFI. ostcoo,,corroo FIST400-,NEKPON nsttlftrtIvt.t. 174

2011 CONTINUE 475 C ooltoo nv tONT 1.00P FOR IRIS RON. MAS IRIS THE C LAST COOT? f. IFICO4t031.10.1.45TIGn In 400 940 NIT PO: LAST. TAKE NFVT cONI. 5C TO 101'. 4OH OFT *GAM CURCOW.CNACONFI 945 GO 10 774 C

C 400 1:n01'1011F 990 C F CHANCE 470 NFTF9419, N101 Rnm 10 Ti CMCKED.

105 C HAVE I.' SHECK111L111110TO 1111 IFitOR 1111.111 1110501T11, S/CTION III? CC E AT 1171 E110? C 1400 Iv1tRFIFF.F1.FsTAnw1cORSFTItnnitNIIIG4 10 410 C .mnennruic REGIOAD 11/172 001.1 TIN 4.4,520 41/04/03. 11.04.17 PAGE 14 NOT AI LEFT ENO. AT 010111 Erin? IF YES, CHECK 10 TEAT, F 1005 C IrtCopRGY.Eo.tsfROHICURSETICUPERNITIGO TO 430 GO To 4zn C 1010 Cc 410 CONTINUE

E HAVE CHESEED TO LEFT (ND. C NAVE HE REACHED RIGHT TOIS 101) ynn? TI IFS HAVE FINESOF0 SECTION. CHANGE SECTIONS. C ITICHRPGI.FOACTRO.WURSETECORIRNITIGO TO SRO HAVE NOT HIT 11111' INC. CHECK TO RIGHT 1028 CO 10 440 C C 420 CONTINUE 1025

C TilutTmEXTARCM. CONPATE DISTANCE TO DETERHINE %MICH

1030 turPt-4propos-Powioc(cmcw-il 1A7=1INFITP.;11;17t1,0

430 CONTINUE 1015

CC g[biroAliTi4EVIAMTLES FOR PON ANN

1040 CHALEF.C4KEET-1 NENROw=CHALEA GO TO 2tn

0040 440 coNTINHE

CHECA 10 PIGH1. ADJUST VAREASCES cop pow C TOSO ANn EAST PON CHECKEE TO Tot 011411. CH11301tCHKPGI11 (1.i(OHP1004;CLoinKPG1

toss Snit CONTINUE C C IRIS C C n4117g014 "WU; d'Voltt,1711.0cf4AEP" C. ITIOSTLVT-11.31Go TO 100 C 0005 C

r. U1340tFanodZiAlk 730rWo:VINIPONE0. Nr3COH,IITCON 1030 CU1C011m0S,C011 Pr.01110,.,1u1 t0.S,1111 CALF. .0V10 CUPROWIC.OPtM),9STrflA PI T,104 1070

Son CoHT141), sonpoortHr pEcto40 rlftiz 0.1,1 FTO 4.0.024 41/84/09. 19.00.Ir RAGE IS

1004

n4(7.iu NITFIO A CoNTATNER. NUT)Auottwit Fo 104CD T OCCI. C CACI COGSrC 1005 C WAWRgATIM? VFLIRICKILY". COCCI tele If OISECNK.F1.-011.0 00 000

C Fro/ /10 AuoTHEP SECTION 00 COECA.0 DO SO. C. 1015 TRNROS.RORLOCIcuRROwiCORIP911 CO In 700 C C C. 1100 450 COOTTHOE C

CC. NAVE COECREO ALT ROWS IN THE 1105 C vim To,A5sR71. OR JUST THE MOST LIKELY ONES C C IfIIPAS5.F1.2150 ID 100 C LttO WIVE ONLY CHEERIO MOST LIKELY ROWS, REINIIIALIEE VA50 COCCI V. DOLES AND COCCI REMAINING ROWS C IN TART). SET ,PASS To 7 INDICATINC SECOND C CoECV Of YARD. ITS C IPASS=2 CO0SETICOPTRN)=ORGSET CORRovICORTRNI=IRCR94 1170 C C C IF 'MR, UP LENGTH NRONG FOR ORIGINAL RoW AND C SET. FOND A Sft MIEN CORRECT PORT AND LENGTH. C ItR5 711RtfolGOIFISETNITICORSETIC9PTRNIT.OF.CoPPRT.017.SETIEulcuRSFITCURTPNIT.Tit.c TO

C C pony Ano 1FTInTO CORRECT. RFCHEcv lots SET. t 130 C Cl) 00 2110 C 000 CONTINUE t IS

CC 1141 D19 NOI 114D V CONT. R,SEI lAANSTAtNrR C AlforicfoAt Row ANN REToRti A otANK. CURSEIICIMIRNI=OPG5F1 cO0A0wqcORI1N),DRGRn1 I t05 COASEE(qurY10),,StP;FCIrN0S1TIcNet0Ntt uEvcoo=0 Pf TORN 1,10 SITOROUTINE ClIGSEC 732177 OvT =1 FIN A.0.524 01/0A/04. I4.04.17 PAGE

CCIICSEC SITTP2oltITT1F CTIC5FO C C THIS SURRoUltHE SUPERVISESCNITNCIAG SECTIONS C wnr4 100/En, FOR ACONTAINER INSue: REGLORO C ORCRINCE. C Es 2C..CsIA1VccifiTni2FSIP91411001 .ESTP.OW11001.SEILEN11001.SCIPRI 11001 C INTEITTP 1-51A0W.IF ILEN,IF TROT, SEISEC C IQ coN901. /3,00),Avr,w6r111101,PSICON11001.1.SIcON111101.10140ER11001 7.°'1N10C11051 ,ROwsc T 11001 C INTEGFR FSICON,POWLOC. ROHS( T 24 C C COMMON FHISCt/CURCon,:nPROR13),CURTAr,CURellorPfIER,copcm CIPTLEN.CORPRI CORSEa 131 ,CORPO.T.ORGSFT .OPITROT1 NE A CON.NT OT S NsECNK.CU50F10.CoRF.11. CURIE I 131 25 2Mag7.==.4:110;;FILIMI:5114U01174":"C°I.CUPLEN

30 COMMONPITIC2INSF OTRON,'scootNI IF A ,NOAO.NCOTN IONS NSE TS C 14"441511alTIMIOU"itE4 INNIACWern: 35 C AN ATIJACENISECTION FIRST. prrinv..-unn. cnr.SEC" C IF INSECTIA.F.1.11GO 1,(1 00 YES - FIRST SFCf1CN AFTER ORIGINAL, LOOK FOR C 50310ENT SECT ION. IS 051511151 SFCF I ON NO'S C OR S0'S SECT ION? 45 C 1 FIC1135FC ICINTITTN1 ..F. 50100 IN

AsIclaFir TON. AIM FOR TONTINE. OF AoJACFelt 50 r. I tf5 T,CINTSFC1C0414111 310 CO TO A

55 f. '.00111 TANA'

snnrRacT10 TOR FAIHNEP OFAnJACpot

I If Mr.C105T-CICITIANI -1ft

f. FS 4 CONTIN5 C C C Sv 4.11,1r. !NOM I CP OF SETLIST,CHICK TACO SE 1 FON 1131 C SECT 1°N 40,12E5 OF AOJACE NT SEC! POE. A LOOP. 7ft C ITTNTINIS sr cf MN. OACP TO 551 TOM CF LO1P. C 7V1q11,511'11F.U.ITENAIro III?IT 75 MIT rdicir COIINTfP FOF INfKR coop SUOROUTINE. CHGSEC 74/172 OPEsE TIN 4.6.520 51/04/09. 19.05.17 PAGE ITENPT:TI 011 10 CONTINUE gg 1411? TIE RIGHT A5 c 1411,!"" LOOP TO FIND HAVE WE CHECKED ALL ENTRIES FOR THIS SECTION? C IfISETSECEITRor.).NE.gErNolGo To 75 90

C STILL 14 RIGHT SECTION. RIGHT T'ORT ANO *ENGEN? IF NOT. SKIP TO POISON OF INNER E LEMP 95 C

I 1 1INIf117111=1:*:=E1 S 11

100 C rotmo RIGHT PORT-TENON IN AOJACEET SECTION. C INITIALUE TRANSTAINER LOCATION. C CAE,. INIT,IECTITE4PIT 105 C (MOUE VARIABLE FOR HUNGER OF SECTIONS imIccm). RETURN. C NSCc Hit RE TUPN

t5 CONTINUE CCC 115 (49 OF TONER LOOP. TRY NEXT ENTRY FOP PORT 4N) LENGTH. ITEMPT=ITEMR1.1 1701 GO TO in

CC C ENDOF 0O1FR LOOT'. C 125 74 CONTINUE

C C 243 U4,1.4!" A.11, 41114,FTEV14141111t 1:11114.00RE. 130 25 CONTINUE C C 135 TOO CONE/NUE C C C C 140 NORMAL SECTICN CHANGE C IN TOE 4ORMAL'OROER OF THESET LIST. wHATIS TOE C NETT SIT ESECTIONT tO PE COFCKEN? C E cHr.c., ,p,s, T0 SEE IF WE ARE NOT AT THE SECTION 145 C AIN1q41.W021TIV6PlarIA.(1.rgtgo FNC E REnI4 FFARGH OF SET LIST IN RIGHT RLICT. ITISEASECICURSittCOAERNIO.t0.SEtSECIORCIF11-101G0 10 210 1S0 C IfIsFistrcperi(cooTRNIT.F0.5ITSICTORnSITI.101n0 TO 210 no TO 271 C f. 214 coNTINOF SUOROUTINE CHGSEC 24,172 000.1 4.445211 41101409. 1.9.011.12 PACE 155 cC RESET LOCATION TO OFIGINAL. C coRsFITcURIR41.0RGSET C C 220 COOT !NUE

IRS POVF 0000SET LIST TO TOP OF ENTRIES FOR 1 THE NEXT S-C ION. F ,u,,,,,T,F SECTION BEFORE ENTERING LOOP. C Ire ITEHP.SETSECICORSETICUPIRNII

C LOOP TO FONT, rne or NEXT SECTION OR coo or C srr ENTRIES IN SET LOST. 375 C 225 CONE TRUE cu0sEl(cuRronlrco0scrictroritoloi GOIFISEISECKORSFIISORERNIT.NE.11fHPI5O TO 225 TO 230

230COxTIVUE ep 145 CHFC5 SET LIST FROM TOP OF ENTRIES FOR THIS SECTION C 10 [NE LAST ENTRY IN THE SET LIST FOR A F HEASIDLI SET (RIGHT PORT-LENG101. IF NE GET C ACT TO ENE ORIGINAL SET. NOTE ALL SECTIONS 1141E 0E114 CHECKED IESECOR411 Aho BESET EpANs441/HER I (N TO ORTGINAL SET ARO ROW If WE AF STARTING INES LOOP AT THE BOTTON OF INF Stt LIST WE WELL ONLY DU 111E LOOP ONCE. INEPT CO 04 TO HEX! PART OF PRoCRAM 155 ETEmPicuRsETIEURIPNI

CC 2110 01(14 LOOP 00 104 12=ITEHP.N5FTS

205 r. NACR To nail-Arai SETT C EFIt2.NE.ORGSETIGO 11 250

210 v( S. 114:kTo ORIGINAL. PISECHK.-1 CURSE TICIIPIP141 '00055E1 CONSE C (VIP 112/4115115F r.1 C110ST T MUTE Owl I 2(5 EIIPROIIIEURVIOITURGOON C UNc001,11roulconouw 0011 I F4101011 C C 220 250 CONTINUE

C NOInacxtn ORIGINAL YET. cnrco PORT- LENGTH. 225 C IMMIUI:q:E=Mn 1g IN

C 250 C UNAIrVc7114, 14":41sTRWrgIcUnT SH9ROUTINE CHG7FC 732122 OnT.1 ITN 4.5.575 51/04/01. 14.95.12 RAGE 4

IIIElifE10 nfr-I0l:MEREE11511E8 TO in 235 CCC VlbsE, 441,4[1174c0WIMEK00001121e COOT- COUNT Of NoHnUT Of SECTIONS CHECKED. P.O CALL WITSEC1120 RNSECHK,NSECHKIETWTH C 245 C POTION OF LOOP TO CHOCK TO ENO 02 SIT LIST. C C 300 CONE 11111E

259 CC OtO NOT FINO A SET` wHIlE EITECKINg FROH THE cC C gRai.r1/44 ILI TOPT4r4V1V41 TIT" C THE HiOnLE. 255 C THIS fS SIMILAR 10 LOOP 40001. CHECK 10 SCE IF PACK TO CU5nENT SECTION. IF SO. CHANGE ICCATIO4 VARIAOLFS PACK. IF NOT, C.TECK IF C POST *NO LENGTH OK. An0 IF SWIM PREVIOUSLY C CHECKE1. IF ALL CHECKS OK, CHOCK THIS SECTION. 269 C OrGIN TnOP

265 00 419 GI1 PIFIV"1

HACK TO ORIGINAL SET? 270 t7m.2.n9ssmn0 Tn 350 C TES, nA:K IC ORIGINAL 775 HSECIC.-1 CHRFTCURTICIPPIRNISEFSECICuPSETICURONNII nNfrORSSET CUP.EC CHFROWIcURTRNI.09GFPW CUPCOWESTCONICURROKICHRTPHII 250 FITHPN C C 350 CONTINHE 255 NOT n.c, TO n.icr..1. YET. CHECK PORT - LENGTH. IMERN111:404T4P.8 IS al 290

C PlITLIrTC?16 R0174,s11.42V1114,2., C 295 friliMfE10:E4111,1t:ER:IEMEl1iltEg IR Vol C C C NOT AN ADJACENT SFCITON. IS THIS SET 10 THE 100 C OnIGINAL ANO THUS ALREADY CHECKFO? C IffSEISECT111.F1.SEISOCIORGSFUIC0 10 400

C 105 C TATS KIT 0K. 111000 ANO CHECK TI FOR A CONT. C `.'15R1 81 121(11A7IZING Ruw AN0 11P00TI07. C 7004! oF 011011-0 Of SECTIONS CHICRU). C SUBROUTINE CUCSEC I3,172 OPT.T TIN 4.4020 40204204. 19.00.17 PAGE 5

310 til`..111(t14;iWP PE TURN

cC 30 noTtnn 0r Loon TO CflECk YC BEGINNING or SET Wt. C 400 CONTINUE C 320 CC smouto NEVER 'IRISH !NIS LOOP.SNOW) ALWAYS LINO A %MARIA 501 00 0f19RN TO oRIGIN4L. PRINT.-PROGRAN f4Poe IN 4NpRoNTINE CUCSEC." STOP 325 cC RETURN FRO

CARO N. SEVERITY DETAILS orrcNnsts or PROTIUM 327 I TITRE IS NO PATH TO TUTS STATEMENT. WeRONTINE CRINGE copy.' FEN 4.R1524 AE204201. 19.06.17 RAGE

1 CCRTUCT SUBROUTINE CRTNGE C

C n47.1:2:°14'3,sVII:vgF1 C CONY. IS CRITICAL. Viningn4

10 211',31.147!;1;?:WIAI31;"""""'.""9"(5".°""*"".20 INTEGER R0RLEN.coNsRf.HIL00.0VRRAT 15 COrNoN r1u1P22170THTI30.151

COrrON /1ETIIrsTRowlE001.1.1fR0041001,5FELEN110A1.5FTRRT11001 20 2.5ETSECIIR01 C INTEGER EITRow.RFTLEN,SETPRTSEISEC C 21 a;:egclit=1:=111131.1"5TCON11001.151cONII001,NONNtRilsol f. INTEGER ESTCONTIONLO.:.RONSET 10 ,c;277pmurtagillw:44,40,40,,cionEn1750).cposusni.c.owl,50, INTEGER CINCIONED.CPoG.cRow.crIER 15 COMMON FSTATIfTRH015.TOTCONI1I,TCTSECORNNoR.0ENNOL INTEGER TPN01.5.10TC0400f5ECORNNOV.RENNOL 40 CORWIN imisc,,cupc04,cupRowm,coRmicupon.rp,tcp.cupcot i:VrginEgg4:ENNWA40771.""E .°"".""""."00"1 C

C 2=4T.FNUT:Fgra:F34A1:EULTI:FAR44:EWAS'eu"'"'""" C 55 CORNON 210401/TAPRGT.ILEN,NIClIN.LCCLIP.LEsEL.esTolL.NIRLI4 C 2.1TRLINO1TRRGI.CH1IFE.CRINGT.4(4000.1FTNP05.10.11T INTEGER TAPNGTSTIVLcHsacT.cHstErGNpos C 05 C COHHoN ItRA022cmApcTmAln,r4T0IN C C REAL 10cl1maoRLIN0.141, GO C C. INTEGER IsicnNosloll C C 65 REc0R1 oPIGINAL 5FT ANN 0(0 FOR ElTER USE. C RRTNTR,-PRNE. PANNGE-

70 UFAZ:F4g41=31

CALcULATE NAAIHo WEIGHT FoR TIUS CONT. 051 THE NC! or COIL ALREAC1 IT THE 1111C0 ISININTI 75 ANo THE HATIN110 ATECNEI) (co STACKS IN THAT PAY. SHoRouTIHF cRINGT 71'122 P.TT FIN 4.4.524 41/04/09. 19.00.11 PACE 2

C An )1.111:11:1.941!grnM;IIII=IFIV."'"" C CHECK IF 00To PORT ANO UNGTO 05.

A5 2UATENIG0IFISFTPRTIcoPSETICHAfoN11.NE.CURnAT.OR.ST4ENICuRSFY1cuRTRHol.HE.0 TO 100

CC PORT-LENGTH INC FOR THIS SET. C RE CAN CHICK FOR CONT. 94 FOCORO TRANSTAINFR FOSITICN IN COFRENV SECTION. algSgr1OCtCORPON(CORTRNII

E 95 10n cowmc cc E s14 IFt4710111ISSRIOR311 hilch cURIO" ise PiIO T,AIM C C FIRST N5F0 TO FIND FIRST ENTP1 IN SET LIST RFORcrilis C SECTION. ROVE UP SE LIST UNII1 FIRST ENT Y F SECTION OR Ton Or 115T Is From. 11115 CC CHECA FOR FOP OF LIST C irtcuascrtcuarimp.EnAmn TO 120

inom10 ENTRY *ROVE. C CURSETICORtRwIsTURSETICOPTRNI-1 115 C .1t SECTION? C If(SETSEC(C11PSETICUDIRNII.FO.CORSECICURTPNI160 TO 100 C 120 C UninT"nTgArONRIZIWICIIN: DOWN r. CUPSITICUPTRNI.CoRSETICORTONIII 125 C C 120CONITHU,

130 gR/SI '4"TRY FOR IP ig164"tflAWTHNOURONIG" FOR Tp474 WAT-Viof.TH tH15 SECTAN. C C 135 ifigiWOR:IF1123;i:411:14:8;45:Frilltr "140 IFISETIEN(cOACETICORTPNII.NE.COPLENIGO to 130

RIGHT stit movtTo MERE NE CAN USr_ 140 C 60 TO 150

13n CONT1Hoc 144 IPY NAT tNitot 14 SFT LIST. a.41M.T.N1=CUqSVICOOTouisi t5e C C C 140 rooT/uUr SUFIROUTINE CRINGE 11/170 MIA' FIN 4.01521 01704/111. 110.00.17 RAGE 155 No SEE /4 1015 111TH RIGHT PORT-LENc(N. 11111: TO OP GINAL SECTION AMORE OACA UP ONEEOFNIRST In. N SET ISIS THEN GO To SECTION CHARGE IDS PIM u C EtenTlig0TRNIAcURSE"CURTF441-1

165

CCC 150 CONFINE. C C 170 C Foimo AG SET IN CURRENT SECTION MIN RIGHT PORI E .17,1454"INEIWEATIEran INIsTraliti6 c is Now. IF Nor. PEACE CURRENT ROW AS CLOSE AS C RossIOLE 10 TRANS POSITION. 1/5 C C DO THIS AY MEASURING 01ST FROM EACH ROW TO TRANS C P05(1101 ANO SWOPPING AT CLOSEST ROW. IF CLOSEST POW 1415 01St OF 0. ALLTHE TITTER. 140 INIIIALI7E VARIABLES FOR CnEcv TRuposAROOLOCWRGRov, tA5 TENPAFSTFINICHRSETICTRIRNIT IFHPIA190 E 160 CONTINUE 140 C E START OF too, FON EActo ROW IN SET. CcHrcx ors? FROMTHIS ROO 10 IRAATIAINER POSITION c 1164m A40 CHEcK IFIT LESS THAN THE EAST 1R5 ils1Asct. REER OPTING Awn FHIRIEs As ONG AA OISTANcE$ Kw., GETTING SNORTER. WHEN cC VAYLIWILIsrinisitF514,MIXE WrwIlo rftEc FOR tAST ENTRY FOR THE SET. 200 i CALCULATE 01ST C TEEPPEAEAUSTPOWLOCIITEMPI-TPTTOSI C TOT C TEST IF SHORTER C IFTITENPI.LT.ITENn?1S0 TO 100 C Nor SNORTER. LAST ENTRY/ 210 F. Ir1tTEmo.f0.tATIG4 10 AIR C N,, LAST ENTRE. IRV NEWT FurPT. E ?IS /MTV"' C c 220 F 170 CoNT/NuF

C LAST FORT. PARE IT INF MOUNT POW. 275 cuppowicUPTRNIvITERP CO In 559

230 TAO CONTINUE SURROUTINE CRImGT 23/172 oRTR1 FIN 4.03524 41/04/39. 19.00.52 PAGE 4

PREVIOUS EWER, WAS SHORTEST. RARE if CURRENT ROW. 235 CURROMICoRTRNIRITENR-1

240 190 CONTINUE C C C SET cuPREHT CONTAINER IN THIS POW C 245 CUECON=FsTC9N1cURRONICURTRNII C C

2S1 200 CONTINUE C pPlnr,..nnnc-c.10 C143 SEC ".CORSECICORTRNI." SET ".CORSETICUETRNI E C SELF 255 c 'WM :4ic5ONslitT74? SECTION. E WINi4HASig WW1 V1111101414Tsnonili-LEWt" C ANO 11 ENESHORTESTBEST rep TNE TRANSTAIHER C TO TRAVEL. 25$ F IMITIALI7E VARIABLES OFic4 STARTING LOOP. C ttvrt=11 215 Infli5:21. 2VEL:1"

270 C ESTABLISH nOUNnS ON LET" FOP Pops. C 11Fal:PintIENUTIENWIlt c 775 E START 1007 FOP EACH Row C 00 210 11=TTEm71.11E9B2 NEBRow,41 200 C ANT CONETel TOTS RON? C IFINUMNERINEWRowl.E9.01So TO 290 205 C C C YES. !HERE ARE c0HT. HERE. 1611,111(1010,13aMillrre ESTABLISH LIMITS E 290 C iggV123stRoTko:tuTwRnwl-tRNBost C 295 1111%:101g1111=Sti

C nEnim CoNTATNEP ton,. 300 FmnsiriTrmrt.ITE434

CC

305 IS f. IT ICI rIRoICORR3,0 .15.01S0 TO 730 CAll LEVL1 SUAR00TINE COINGT tlf172 OnIft FIN 4.0,5E6 0IE0NE04. 11.05.17 PAGE 5 ittuLtmttAt.citcttcuirnmtsco to 000 310 C COHRARE NGI OF CURRENT CONT RANGE WHO WGI OF REST CONE i two So EAR. IF MGT Of CORRINE CONE IS GREATER. C SKIP TO VOUCH Or Lope ANO SELECT Attototy cow, 315 C IF T0E NGT'S APE EQUAL CNEEK LEVEL AS A TIE-OREAGER. C AND IF NET Of CURRENT COht IS LESS. fAKE IT AS THE NEN NEST COOT.

370 IIIWPRI77%gtAWSSIZINFIIES IS Va CO TO 230 C C 020 CONTINUE 325

CG MG! OF CUREENT CUNT IS LESS THAN THAT OF C OEST CUNT. TAKE CURRENT CONT AS NEN NEST CONT. 330 TISINGT.CNGIICINTONT 8SIEOVIACUPEON estiAm.t.tv.t eslost.tnitt C 335 swic 10 noTTON AOC CONTINUE SEANCIL C GO TO 2,10 C 340 230 CONTINUE C CC 1 Nc_uvry aliftfte ANn BEST coNTS. PREAK ,As C if NEW ICORREN(I CENT A LOWE, LEVEL IT IS TEST cowl If OESt CONE HA5 A REITER LEVEL C II REMAINS OE T. ARO IFSS THERE ISA TIE WE BREAK It RASED ON n sT TRANSIAINER Hunt TRAVEL. 350 TEIOSTLVL,IEVELIZ00.150.040

249 CONTI,MIC 355 C C C mrriTzti 111W&FWEIVErtfn LESS C 340 OSITOU=CUPCON OSTLAL.LEVEL OSTOS1=101S1 GO TO 24o 345 0f0 conTtAnf

cC muiwolf.TIE. FREAK USING IPANsTAINEN 304 C IETTOISI.GE.OST0STIGO TO 0110

375 C NEN CnNT NTS SnoRTER nwST. HAKE iT TEST CONT, SUFM:ISM" 100 CC

CC Fo4m1N PIIVFPEIUE, PUNT FOR ALL PARTS OF THIS LOOP.

345 2110 CONTINUE sUrozoutioE CONGT F1/171 000.1 FEN 4.4.520 01/04/09. 19.10.1? PAGE 6

&mom FOR THIS COTTAIHE0. 350 cuppoS.c0OSICUPCON, C C C EN° Or 10oP FOR coNT5 C 395 285CoNTIWF C ENO OF lOno fop PON! 400 zoocoNITNOE C CC 405 preNs,r0,145.v.v, "." v., SEARCH C Uf10TVA:41 WM.' IF NO. CO C TrTesTroio.Fo.oiro In %Ott 410 C MINI 04 ACCECPTADIE CONT. C RETURN It C to faltiAt. UPDATING CURRENT PON AND 415 Femora OF REHARTILES IN tHE NEXcONASICON CUPCONOS1CON ITET4Not.RfoontAmoTLA IFFOSTIVtGT.olcoLL oOVE0 420 CUPPOWICHRINNI,cRONTOSTCONT RETURN

C. 4t5 ROOCoNtINDE

SFCIToN coANGF PONTINE CCC 430 CALL cororr

CC

4,15 u.v III SECTIONS PEEN CHECKEO? frINIFrog.FQ.-11f.0 TO 900 C NOV All SECTIONS CNECKED YET. cuTcp Tuts 1.1.0 ONE. UP0A1.; PTPOTHEVICA1 104HsTAINEIT C p0stt104 FIRST. C to.F0s,,o0wincfroggnmICORTFol) GO to 000 445 C goilCONTINUE

CC 450 C NO SOITAT31F CONEIN ENTIRE VAIN). NETWTH C. A 'PLANK TO FILLOAY. C PESTI TRANSTAIHEP r. To poirloot OFT non ROW. CIIRST1ICOPIPNI=10CS,t 455 COPOONICOPION1-,00.GROw copsectcuptuul-srcoltsrTicuPTNNIO oF*rms=o C. grylmw 440 FPO SORROUTINE LEVELT 711172 001.1 FIN 4.4.521 SIFOGFAI. 19.70.17 PAGE SUOROOVINF LEVELS r. gmulglavirmajcpwoEt Or THE CURRENT

C

la C. 077WWJOANWANIMIgif""n""'"'""s""""""5°' INTEGER CMCLonrn.00ns.canwociAcp C c001.00 ,CONT2/CLINFITS01.CTYPETTS01 IS C INTEGER rtINE.CtYPE

COMMON APISCIFFAIRCONx;UPRONIEI,CUREAT,CURRTZ.CFEIER.CURCOL Al Z.CURLEN.CURPRI.CORSE-411.CURPOA.ORGSET.ORGRON.NEAFOHOTTOIAL I.NSECNA.CHRoRO.CURIRN.CINASIT131 C INTEGER COPCON.CURRON.CURSEI.CURRAY.CURE1112,CRTIER.CURCOL.CURTEN 25 2.CURPRI.CHRSEC.CNRIRN.rUGPOS.OPGSFI.ORGROw.CUROOTO 2M11 7:=:=1,32 IANNUAMIrxh5l14Yr"""""" 311 C INTEGER TARRIGT.RITIVL.CmARGT.C10WfORUPOS C REAL LOPL1H.LORLIH.LERIT

15 C ls THIS THE TCP or A rim STACK?

mGIA-.CRGTICURCONT 40 oimlato REHANCLE0 AMU IMIS TOP Of

TFICIANEtcHITC0.0.1.T.111Go TO 40 45 IS THIS CONE THE TOP OF ITS ORIGINAL STACK? CC

SO glgr44T011S3ic""°51" " "

C '4=12 SW1.1,181,14,s1V: CHECK SS C. IrtcLonForcuPcn4).!n.01.0 TO 40

CC WAS FOP ANOTHER PORT. IS CONI AO CCC IrIcLoncitcLon!necom:omt.LI.ftIGC To 4a C C 65 ;1;TC11111"10c1Ht41;11101010tI41"110415.1 "Pl. C 1108 ON THIS FONT. CHECK IF CONT PEFoe( COAT C FOR 200 ^001 INCNI LIS! ISIII SAME STACK. C IF IT 12. CHECK IF ITIS SIRE THERE. 10 CHECK C IF SINE STACK. NOSE CHECK SEC. Im4. 040 7,1%. C LrF IIFHP51FONT ON10°E2 CUPPENT CoNT. C TIFHP=FLoOrnIrimcom C TO C MCI,E.07,0 ',FEIF TIEPP IS THE FIR: cONT IN C f ItAE. C SUORTANTNE LEVELS 23/172 01.1=1 FIN 4.41520 01/04109. 19.00.12 RACE

ITAITEH0.70.11C0 TO 10 00 C LET (TEMPI OF THE c(NT REFORE ITEM, IN CONt LIST.

11711^1.1Trmy...1 C 05 C CHECK Tr TIENP ANO ITEMPf NAVE SAKE RON ANO SEC C IFICR04171r4.1.W.CPOwlITEPPilIGC 70 30

CC SANE SEC AN! RON. SAME STACK? 90 frICP05(ITEMPI.NE.CP05111FHPITIGO 70 30 C WAS SANE STACK. TOP CONT STILL THERE? r. 95 tFtctoocniltrEmPti.u.einn TO 25 ONLY Ow: ON TOP.

100 4;DV

75CONTINUE C. 105 C TNI Dm Too FOR 2N0 PORT. C LEVEL =Z RE tUPN 170 30 CONTINUE CC

115 1,01.1.1! Wit6 WI-18g pcUrnielapEt. CON! roR ATNIRD PORT ON HE 2NO CON.? ITMLnUEnTITENP1.17.01C0 TO 35 170 THERE WA% A lyn CON ?.HAS II DEIN LnAornt ITICLOnEOECLOOrnittEmPft.LT.OICO TO 35

1.25 CC 7 CON, FOP 01rEFRENt PORTS ON tOP.

1415142 130 CC 35 conrImug.

CC T35 ONLY ONE CONt ON Toff N04.

U15,11 140 40 CONTTNOF CC

ro Or REINITIALIZESTAK 145 PE.CoRD LEVEL,e n. CoPPENT POSITIoN, Ahn IFTOPN. g71:1W 11%0

ET COIN ploE C SURROUTINE LEVELS 71/172 nPFI FIN 4.80524 00744,04. 10.00.17 PAGE 155 C NoT Too or stacN, 2 AI LEAst 014 tout POPT OR TOP Of CURRENT COff. FCOULD 1014F RE A CONE FOR A 240 PORI TIETWEEN THEW, ISO irtanucolcuocoNT..o.litgo To 70 C C

115 ccC WirA Tills tricliAtirMARTNtItTin. nntN Coto on TOP wow ° NAVE TO ocEN mono. IFICLOornICLOOPO1CURC0N1IAT.01GC*0 50 C 170 C onto APE STILT. THERE. LEVEL.? RETURN I75 C 70 CONTINUE

100 N4 CONt FEPt 2140 PORT (*CONON THEBOTH? IS THERE A 6 CON! E04A zoo PORT05TOP OF TT NOT.r nAnAS A tCPCONT.

f 45 lillerOgiJum is1.1.

CC VAS A COOT FOR A mo FORT ON ROTH. C IS IT 140 STILL THEPrT IFTELONROICLOOPO0 TIERPTIAT.01G0 TO 80

CC 145 tE4. STILL THERE. 2 CONT ON TOP.

I.

C 204 00 COOT 1110E

A 310 CON? ON THE TOP WAs REMOvin EAPLIER. 245 girgt E 100 CONTINup 210 NO coNT FOP A SECOND TORT. IS WERE A IRO COWFOf INC ORIGINAL PORT ON TOP OF THIS / COHIT CHECK THAT onto tor Now-srT ANo POSITION 215 IN THE NON APE COPRECT. E C CNECK 14At uE 40E NET Af THE TOP OF THE COOT C LIST ILPPAnv. C 220 tricuNcom.tc.21Gn To *20 c c C CHECK POW-SET WHO PtSITION. F, 225 IIEHP.CH0c04-7 2cPos(r4.,r0110tcoIFILP041101HP1.41.CPIWICHPC11111.0..CPOSIITEPP0.w. l 120

210 i THERE w4.;4 1P0 von or TiffSAME PoPT 04 TIP. C Nits II 51P11 10401H7 surmour INF LEVELS 21/172IRT1 FIN 5.84528 111/54/09. 1.1.11111.1r RAGE

IFICEHOEHIITFIER1.41,.01G0 TO 121 235 2 FEE3 CORI SITU. THERE. LEVEE52 RETURN 250 2 120CONTINUE

255 ONLY 2 :ONI LEFTIN THIS STACK.

LETURNS C 250 C ENO SHORMTINE SIABLE 7IA172 nprt FIN 4.11.5211 Al/04/05. tR.OR.Il PAGE L CROITO4 CSTABLE SHOROHTINF STABLE C S C C THIS SVOROUTINF REAPS VALUES OF USER INPUT C INFORMATION On SNIP SIAOILITY, ANO USES THIS C FRIN THE 9ESI OF JOE PROGRAM 00AS CIRCULATE TOE FNIP.S STARILITV 10 E AFTER klan.mc. C C ,,,,IreuvracglimIticonveT1501.NILOW1511.0VonAY(.13.21 IS INTEGER TTAILEN.CONVRI,O0t0N.Ov 1pAv

29 COMMON ISWIP3/041112001.PO4TI?001.11E412001,FSTCOLI2001.ESTCOLI2O01 INTEGER RAY.PoRT.TIER.FSTcoL

25 COMMON /SHIRS/CEILONT11.5.15/.CELEUOI17.5.121 INTEGER CELLON,cELLTT)

30 2UTFIJART,TWOMW1116SUMNIT.CLOOED(7501.BPOS1750I,CRON(75O1 t11u0911 cin.Ctrincn,cooc.coom.cIlre

15 C COMMON ANTSCIECURCON,;URRON131.CURPAY CUROTI.CRTIER,CURCOT z.cugicn.coPPRT.000gc,30,0000nl.00csci,00conw.occcomottorm.,11SECIOC, CUPOPTI ,cUR .04 Clc,SE INTEGER CUPCON,COR.OW,CURSEI,CUROOO.CU19Y2.CRIIER.C11RCOC.CUOLEN 49 2.CIIRPRT, CUPSFC.Cillif 0,i,C9RPOS.05059. TOP0OOM.CUo05n

C. C Orm(111 /11W:21MSC .NROW. "CONT. MI It F.H000.1ICTINT .NRowl.NCE IS 45 COMmON /CIABIAINIECST(501.TRCSIOTYS.41,IRCSTU117,90.LEIPAGELN 2.LGIVH.LGTogy REA( LOR.LGILMAGIVH.LSINGT 50 cormou ASTART/oAYLM150I1cRgli.CRGVM.CPCNGT.CSTLN.CITVH,CSTRGI 2.01SPIC.ORFT40.0(mticHtlFt.H_Ic_,I.0010H Nximo wrgn thr,%4Cf OTCM111, V 55 REAL KM.LCm.LCFORC

corron MIAMI/BATNCTISOV,MAYVNISOT CO cC DIMENSION tlywcv(501.s.ncrvt,t501 C 05 C TRANSFER VALUES FOR INITIAL STABILITY 049A C Cw(grn INTO TIM PROGRAM via 510510IN VARIABLES BAVITGI ANO PAYVP IN NEN VARIABLES CC sHINGI ONO SOATVM. THIS NM KEEP ENTERED 711 04CUFS ,0. OFINC CMANGEO I, WY 'ICED 10 C RICALCOLATF STAITILITT CF1FP TACHATGINS CONES. C C no s At,50 75 SOVMET111I).0AYNGTIJII SBATVNIIII,oArvNtitI S CONTINUE SUPPOLITINE STAOLE 73/1/2TIP11 MY 4.01528 51/04/09. 19.00.1/ PAGE

00 C SE1UPLoop nETRE TIERS 1151. 0.,c.t.fEcT.E. E °"' s C F8MIR31147.1°,4"MsTll°111I! °""E AK C Sri UP LOOP E PRIHT.-HRUG sTARLE" C 50 no 100 11.1.41110 CHECK IE ALL Et315111 IN THE TIER LIST HAVE THEN CHPCITEO. 95 TrInATIIII.P).(11G0 11 125 C C CC Not ALL EHTRIE5 HAVE BEEN 1111700. CHECK THISONE IRO INITIALIZE 1401 *NO PAY wApiArorg. C TROGITO. CORBAY0ATTI11 CUTIT2ACTivRTICURPAY1 105 Cc SET UP LOOP 100 EACH COOT IN THIS ENIPY C Of THK TIER LIST.ESIPPLISH Loco 1114115. 110 14741:PIF41111

CC 115 C wuzjoucts,0 ONWHETHER WAY IS A4OVE IrTHI100ICOPRAY1.1F.11G01050

170 C anovE nEcK cpsE E PE (.14 1.9150 C 00 to 12.13EmPlo1rm.2 125 CC CHECK FOR A BLANK C(011. ITEMPTCELLTHITCHROY2.11ERT111.121 130 1711TEHP.I.E.0160 10 10 C C C TM wraA FOR A00 CCM! MGT 10 ToTAL ITS E rote clots ENTRY IN THE 1110 LIST. TPWGIPIRWC1r1CW5TITTEHP) C

140 too or Loop ImP C041 IH THIS (HIRT. 10 C00111401

cC 145 CH.COLAIF TOOTS ENIRTS CONTRI0U1104 TO C vrpliraL 4r143311 yolooK,IPHPITTTCSTOTTOPOY2.117.11(111 TS9 co in rs

59C0111 I111)1 f. stmouriNr 570011 71/17? OPT.' FTH 4.4520 11/04/09. 19.00.17 PAGE 1 155 C F me1CP DICK cAsr C Rrnlm LOOP C ice 00 60 12,1111/P1.111.137

cC CNEC1 F9v 1 21406 (001. rrr 165 II177.1ktrIVNINI"""."

C NOT A 01.41. 17# 100 COH1 1441 00 10011 C HGT FOP 111411TY IN 11111111. LIST. 101161=TRoGfoCUG111104,1 CC 175 CND OF Leo. FOR coN1 IN THIS FN/R0.

GO COHTINUF

I Aft c6.,...61.66

1011 r. VRIMON,TRUG131PCSIHIC0P1112.111011111

C 7c i°"!4i*nAuc-svAo.AAA-.curnAA." Amory...11E14Am. C ?-01rowG1,-,AAmGA.- 150 vu,41111."0/Armom CC A00 MGT F04 THIS ENTRY IN 11(0 4.100 wct row iniS nay. In r. 135 SBruSilcbwwevimS4ruGtirowaeri.100c7

cC AOO i415 ERIS/T5 copAAAInu/ioN 10 VERTICAL 200 Mcp,741 TO 1HF TOTAL PAY VERT HOHEN1. SRATVPIC0101Y1,SOAYV/11CUROATI4111000.1 C plaimTe,og0G-sT#0 011,11151.".SAVH611C1191111. C 2" RATV4-".SnAvvmfc0RoAro ?OS EHR or ioow rfiv itti 11:0 rumrs.

104 CONTINUE 211 125 CONrroul.

715 [1:111763 ATIUgICKRotAb2111."TVAATE cis/WI ud, nTRt. CARGO ltoG11001HAL 14011 HT 10111 CARG9 VR1 HoGEHT. AHO CC 271 04.0,.../. VACFAOIES .6. 100P. C CRCwqr.O. cpc0470. 225 C sTART 700P OF /IA nATS f. 00 160 13=1.c0 230 C SUAMOUTFUE STAPLE 23/127 0.T.I rrm 4.1.520 111/04/01. 19.00.1E PACE 5

CALCULATE VALUES 1151E0 AROVE. 083LIA1131ASOTVCTI13130AACSTITAI 235 C7010CarC3CMGELSOTOCIfft1 01001:COFLIAL9ALLH1131 C PIV17`nilAgGe54:q4A1)!",I3.- 11AALM5",0AYLMIIi1 CC 240 3N9 OF 100" FOR RATS C ISO CONT1NUL C PAINT.. 1nuc-1,40 FARCO WCI3",COGNCT," lv.".CoGIN. 255 C 2" vm..,rpcv4 C

CCtC 230 CALCULATE Tom. N.T. Torsi 511 dm* TOTAL 114. ilicW111,01MnIfIAMMARG"" 755 oFIri TRAP! NtriHign. PIC, KR, LCn, AND tcr.

wurtEmotalgtv.t c 250 WRITE 16,017I VIM TE 15, nI PE A715 119100C PLO PRITF11 vet Rrap14,;?1)41c 245 watvr lb 0Z2I RFAOIS ;InIKH WRITEI1,8241 5Minglknrn 270 4E/m15.41/1 rr C giV:::=71*Irgint.t.cV.V-70=.tcr C 275 301,.. FORWARD fAcina !Pt 0221V111"F F.N. CC CP384-11101VHATNKE101/0ISPtcl ?no TAlv.(1AnTLM-ILC4015PLCII/IPIC10011 TE0PI3D8F/00-1/414311.7,11.0141 OrmP23TRIOA/1. 285 COPOFT.IF.Pt-IF4,2 AfInET=IFMPILIF4^2 C 710 C 7111 rt)tOFSOLT5 1181TE46,1201 214 MPWP "(6.13011PlyTr46.13iirnpmr,trror

Ana 901 FOPmAT1///117,11.0,181.E45E ENTER WEIGHT, VFNIIFAL 4071341, 10141511UOIN ZAL PO4L4T, POO FoEr SUPF4ffMOTE NTFOPTANKSRN)CONS1POCII0O.1 ''11Q07 FOS,OATUFF,tgOYANK 14.17 (WXFFV.110

105 1E4 rO)V: 21111A10(VERT 01)317IIIFRKK.11 905 10711811F5.01 905 FOFFilliF.31,41.0 /1,7E 1"prer 140117 (XXXXX.)1 107 FOrP4W4.01 SUPROUTINF sranic 73/172 o01.1 FIN 4.4.128 41/04/01. 11.44.17 046f

FOFF141g1F.01,24,0TANK 109, .0m? 1888184.11 318 90109 FOP18119F/ 910 F0FrA1118.1ROCONST WC,/ 11448.11 911 F041811F5.01 912 FORHAtI1F,24oC09s7 0s9y mom? 144444.11 913 F0811811F4.01 315 914 FOFH8111F.2411C^NST 109C Hon 1488114.11 915 FOF1411F4.01 9I? FOFM11(////18.1411INF 01$014CFMENT OF INC 0F5SFL IS .F4.11 Sir roRiAymoortEAsf !WIER OR4F1 MrDSNIFS. 11C. 09. (Cl. IWO LCF.1 919 roF11410FIF 141401E91? 100.4111 919 ropmAlIFSJI 320 35? iamiln:Arm? 0.00.n 92? FORMATitIAIHK"? (40.0011 924 r0FM41110.12uLC9? 144.4411 325 126 FORM, 11*. 121CFFI 00.XX 11 924 FoFHA11///141//.34FmESUI 1S OF If4111L/0Y CALCULAT t 04S 00111 929 FOPPFITIF/IF,4BC14 .04.71 930 FO0f41 1 4/1F.61F0101. .F4.21 931 re6M11f/twOlINFOR ()Rift. .F5.2,41.11H4F1 Wirt. .F5.71 919

C 0101309 ENO 51Mo 1111Nr OUTPUT 71/172 l,1 I up/ 4,0.571 111/04709., 11.15.17 PAST 1 COOT ol11 SHONONVI NT INT IN,/ C 5 C

C IVTL4t1grorgFTWA041Alttl.R:TWP IS 115E1 FO. TACK ENVOY iNF ER 115 1I NUS C 105 5551 nam-rosti commtsAiloN SINCE roc LEST in ISSORISO 047 'NEN PON11. C CO141.1011 1511101/PA1tEN15111 .CriNVIZT5111.4110141581,riVR1111Y131.21 2.117.111.4117.121 .115F141311 C 15 IN1F.FA OAYLFN.CONVAT.NILOW.OVDOAv C r. corrion fsNirs/nce !tool 0,impr tree, IFRI7V11.rSTCOL 12001,151C0112.111 ze INTEGER RAt,e0177, TIE.751C01

cowt41111 /SHIPS feELLON111.4,151 .UW101170.121 C 25 uslcr.ra crumN.cmum C 2c.rmc/fluvrmwmowitool AsERmit 1011/ SEILCNI10111.5E TPOT 11001 10 C INTEGEP. 75TR0N.SF1LFY.5F IPRI.5FTSFc C C ms COMMON ipcmstAvrigc141511.vsTrommsewAsicoNttle1.N048E,Itool C 2.Pout.r/clit0o1..n4sEEftee1 INTEGFP 7-sycomotowto:.", C NIP COMMON rcourircN6mmoi,cfnIrse.211.ctoornftsni.c.,ostrse).coowtrso, 7.511EP475,11.cwcw501.1 oncr017501 1NTFCFP rTn.ct onEo.cros.canw.crIER C Sc r. a:T./P(17501 INIESF. CI INF .771ror C 50 C cormaN flmort/toNnimonycoNomw.rommEr.raNNov.9ENNFN

cc IN1FGEN TP501S.101CON.101SFC.1P4r0V.NENNOI. 55 coNMON /m15c7iNsFI.NPOwo.cONI,NTIFN,NONO,NCoNI,NAOWSOISCTS ccoNnw rmmm/IKtr R0 C DIPFNSION /St A.rt21.TFNisuf21,15CNI1121 C C 55 MI/ IALIlfvAl OF 5 OF vAPIA01. AS cm 4110 cwcr w1115N Nimm NEE(ro IN CASECASE A MANIC Is nir111. INISF VA 9IA rtf $ NILI. OF 5105E0 IN VARTA.LF 7,4 fn. fArN or1NE APPWOpplATF ARRAY. 70 cqn4I7se1 :ADO PONSF. II1501.104 Clip/So, nrpt- Ct. 1PII: I /54 r 75 CPC! I T5Ai PT. CriroF (7501.'S CNCT I 7s0-11. SORROW INF OUT PUT 2111,2 OPT:, f114 4.4.624 81/44/09. 19.60.11 PACE

CFOS( /101.7 NV ga[W8Wp

C C es C 504CES P0 INT. ,-ringiC OUTPUT- 10 c 411 ITE 16.0011 C c STRI 1ST ICS RISOL TS ns ROITE 16..021100001 MP ITE 11,1031 TRNIIS 1101.101C104111010011010000H1211101601131 1011/ 16. 100 RPM 16.1051001SE:: WRITE I4.40616ENN01 C C 20 usun f OR 101 F,PIXF11V'`ITO ,1412i.111 Ur

CI? It! :CIT.-41.2011ST 'PRI (Kt 1 =5E11,011611-70 16 CONt I NUT 110

C LOOP FOR FOTRIES TN TIER LIST. 101110117F 60P)001E! FOR Loop 115

%FF., 600, 120 00 500 J1.1.61 Tr., CC , mom, PI TO SIFP1 C FO"trOrwilgT"MN:f?". 12'S II et MT1E v111-J1

130 2 CHICKTO 011 FUTPIS 114I. 1St? TrinnvIrti.on.aonn 19 500 r. 1,5 IF THIS IS IHF SNORT FoRm, co NOT FORM Fan. C cREFF m, my PY SEIIINC P1I1111 *NO It OPP Fowl rscn 0/11111 nurnnr 1(11.

1411 IF t tsFIR.Fm.,, FF 0414-91 YIt11

fo44 FFEn IF NFU ROY 146 fri4AY1111.nr.Ifnun14.t1C(F.90,1 'worn nprn, IfC9II,-nA,(111 150

C gri 74W.Sr.4"11 Als!".F. LIU MOIRE tr.,, In onIpoi fur 115001S Ann WILI PAW /0 SUBROUTINEEMERITI 71/572 0PT.1 FIN 4.0.524 41/04/09.19.00.11 PAGE 3

155 C 5E1 TOE cfmi4TEPS FOR TIW CUL LOOP &ET:ORDWAY. C 1177;WEVAINFIV211I11" 101 OoLY ON:E THR0OGN LOOP. SET VARIABLES ACCORDINGIY. C 'ST10,1111.5 NLINE5.1 155 70 ton C f. 20 CONTINUE C rn C TRICETNROOGN 100P. SET vARTAnLcs.

11141N111:6 175 NINE 5,2 C 140 100 CONTINuE 27f47M77111'1413,=2:17"-"'"""*- E 105 C SFr UP LOOP FOR THE NUNDER OF 1INE5 THAI WILL pf pawl) Fp goTput DATA FOP ALL CELLS IN C TOIS ENTRY. OF ENE TIFIT LIST. 140 00 4014 17=1.NIANT5

orcmoo MAY ONE. 11E0. f. 145 1040%0ATIlt1 ITIFP=TIVP1111 C I*ANSFER 110115 FOP CELL tom. TO 00N-010ENSIONE0 v4414,11E5. F 200 15111.151APT112105555011111-1 triutirmi5H1121.F5TrILIIII-1 C 2771FT.L-friRVP.IU:T;;X?,;4!!:;;(4050.- ""=-* 205 C Ivo NUNBERS Or COHI*5 IN THESE CE5L5. E FUIP4pylcr;t4 1411"ffe.lb2w4Wili4"14,1'" 0145E o APkY 1C0011 I no C FOR FAIlr. U50. WIVE 05 P11011? F. IFINILOWITORY1,4F.-11G0 To 750 215 BFLOR. AGIIG4 COOT NONIFFS 10 ICENTI I.

72n01/1=1:71741=R,(1.A,,.1111.0.01 270 C Ir CELE u4: A 9L1NY, ASSIGN ICONI THE vALUE 71GTM4 rWi gPWINNMAIPPARAIIL"c"'" 775 irliCOMIAII.FA.-IltrO4T11/,750

.P INr ^nntr,-0117 UN)FP orrr ". I . IcOul IC.OTH 1I I. r. 2" P7RT.....ET.11y0oll.,TtcPn11lI5ONITTIIIT 230 700roorloor 4o to 1;f1 SNDROUTINE 0HIPTIT /1702M!=1 ET% 4.8152A 41284,01. 15.84.17 9A5E C C 250 CONTINUA' 735

CG APOVE. ASsIGN COOT NUPPEAS 10 MONTI 1.

240 CILLON/CONV9T 11900!, IIIER. II

IF CELL HAS A 'LANK. ASSIGN !CONE IHE VALUE ,,s 7;0106 WINEngthaniAlraliAil.""""

258 C 50, 2!1110;1:12:*iglIpnsgltRI;;a0ZIco., ,..c , 17111'-'1""'"' C 358 toNTINHE C 255 CC IE ONLY SUNNAPT, SKIP PRINFING OF RESULTS !OR rite.) rrtt. 240 IFTISKTP.MILIGO In 400 C

CC 245 TaNi.pfgtocril,INCra WEN-104.3ND TAPE. AND CONI C deR11.117,17trougsFoi1,7pNTIIII,KPORTISETPRTIROHSFTICROW1ICON 770 NITITE16.111,11C141ICONT111,J1,4.1.21,IAISTRT.IFINT RPITEIG,11211ALINETIAOSICLINCIICEN1111110.CHMTIGONTTITI. 7KYPEICIEPETico41111,IAISTRE2IFINI 00/19(5.9131 CNGT1 CONIIIII.SETSEL(RONSFTIGROYMONTTIIIII rritz,C411,11Nrif t111 .K ICp0Si ICON, 11111 oct k lc t tral1ceno1 1111 225 CC C PRINT LOCA'ION D! CELL IN ROY.

790 C 2,:a1,41,;3:97,011Entluar.A00 C SKIP 1101 LINES 295 5pfTrIC,9151

OAK' IC LOI. frig NHMAER or LINES C 250 409 CON11101C CC

END nEL nop COO inf.F11111111 C IN THT TIE" LIST 275 C. SAO CoNTINHE C

344 PAINT CELL LoCAFIENS THAT MERE LoAHEo 111111 PLANKS. C COON,TTTAND PRINT nrinCP. 1111 nliV :4041 105 15.11/1

fnECK ALL CCU; cnrr 11ER IA51 in :Fr 1r SUBROUTINE 001-111 73/177 IPT.t 111 4.0.524 01/04/41.11.44.47 LOGE 5 FIllIO RITH A RLANK. 310 ifF10.9 no 4S4 11.1.HTIE4 315 C CHICK TM SEF IF Alt FATS CHECKED YET. 11144/1111..0.4150 10 004 C 320 14114;k1p41140140W.11XICK OF CELLS C TOAY.000113) 325 19111imir.,1 IftWimFOr0L4111 I 334 DO 544 14.TTINm1.T1F4m2 C IFIHILnIMPATI.NE.-11C0 10 514 IFIEE/Luq1144,7.11IER.141.NE.-11C0 TO 544 315 GO /0 574

514 CONIINUI C 349 IF4CEL194111412.111Em.141.NE.-1/40 10 544

520 CONTINUE 345 tr9Rt.VIPT allnINIliali:771:177:TOMWMPORF)

350 544CONTINUE

554 CONTINUE 355 C

C pgg. Ig041,11riby: LIST AREFINTSW1 394 C 000 CONT1411F C 345 11110. still FnuALS 0. HO RLANCS WERE F0040. Ifi3fEHm.10.411411TI14.1111

374 C PrfUT ALI CONTAInfR5 wn1CH Wm( NO1 LnADED. C C C r1f, tioEs Am) rmINT HFAnFR. C 375 14:112 1E:7411 0P111(6.1711 C 044 It F 101'

016TM 100m TI AIL CfNlAtNIRS C 145 DO 554 1,TI.1,001 SuoRONTINF IMMO 711172 OPtt roil 4.4.524 41,04119. 19.06.11 PACE

C C IF cmo 1040ED. SLIP VO NEXT CONE. C IFICTOOE91151.11.111G0 TO 650 390 C ONLOADEO CONT. ;TEEN° 07. C

395 e;f5!Migilf,;14Vol77:4ElPF7141M4E7=14011;f:c"E ill1;1;701' C 400 6511 CONY 110IF

r. IF TEN. STILL 0. NO COOT LEFT: 405 ir1ITENr..ED.01WPITF(4.9191

C C 410 901 F0F4411//7/101 18i Wgin:I7474"Mii 415 9046WWINTXMMNE 00141 01110ER Of CO01410E03 LOADTD N45.26,141 905 FOFNX10, it,39NINE tOrk1 NONT1E9 OF SECTION CHANCES NAS.211.121 106 FORN41171x.11NTNE TOTAL NUINIER of REHANOLES 1445.2x.111 907 F00111017,71ott71 910 FOFHITTIX.10113,10.14.3NX01.7011 420 111 TOFmA1111.101110,01,2011 912 (00441113.10142.1x.(0.1.1X.A4,2X10 113 FOFNXIIIX.101F4.1.1X.12.12.41.61.2X11 914 FORNIT(IX,1012x.12.19-.12.1N-.12.11,1 915 FOFN411//tx1 475 916 FOONATIxtX.26NINE [ELLS NOT 011160 0114-11 917 006m40 WONIAT010,4OTTER.120.4NCE11.010.460.091/1 916 1001141 21.12.111.12.121.17.110.441 919 TOPH111(1E,4m4oNFI 920 FOPe40110.11NINt CONT&INER3 1100 to,neo 1E0011 410 420 F04041171X.1x.491.150.40.4NEARD/2X.3NSE0.1XONLOCATION.11/1.2flio.131 7,4NTTPE,117,11N000,141,0NNCT,049,40P011/1 922 rofN4112x.13.4.212.241.20.410.41.2x,44,2120,f4.11.2x.441 C

415 RE 111 °H ENO FUNCTION XPOS 7IFIT2 OPT' FIN 4.4sS70 41/04/ON. 19.011.17 PlIGE Mg" NIOT191111775.11.ke.c..F.F.FFII

27ii ID§ KPOS="F' orluop so Krol= T- co Nr."4" oFtuotH 4137,m Pao FUNCTION KITFP 77/17t OPT.1 FIN 4.4.528 41/04/01. 19.04.17 PAME CKTUR ruvr.31014 FTIENIll CO TO110e0.10.4111,f 10 OTIFEWO Re TORN 20 KITER,T- RETURN 10 KTIER.-T" R URN 10 40 K ER =^ OrTURN ENO rumciloo KrypE P1/177 OPT.1 TIN 4.6520 41,04,01. 19.04.17 PAGE 1 CRTYPE PUNCEION KIT°T1I1 l!f0 le S 10 W115;"'" 50.50 10.40.90100.110.120 130 1401.1 24 KTYPErORP.. 30 TSRETURNT/PE=..i1R" 10 RETURN AR KTYPE,13/Y" RETURN 50 KTYPE"EAP(' FETUPN IS 60 KITPEecNve... RETURN TO KTTPE..CEATe. RETURN MO ATTPEa'TITT^ 00 RETURN SO KTYPE,WR" RTTURN too KTYPEv'ONIV' RETURN 24 110 KTYPE'0141nE" RETURN 020 loypr.-fm- RETURN 130 KIYPEt"NAII" 30 PflURN 140 KTTPEJOTIT" RETURN 251 KTYPE=^ RETURN 35 END FUNCTION KPOPI 21/172 OPTI FIN 4.4 520 41,04/01. 19.00.17 PACE

t c0000t pp LE r475o 1.MogiAA6 t.-I colIF"VoOKO1.so..e.00.cil.1 TO KPO C PRINTT."0AN-KPOPT20".T.KPOPT RETURN 20 KPO0f" NG" C oolutN -nnun-K000rto".10(Poor to PETUP 30 KOCITT="301P" C PRINT'. PPUC-KP0PTh0".I.KPORT 40 allTrj"KOOE" I0 C PPINf..100C-KPORT00".I.KPORT RETURN C 50 UTUTI::";RUC-XPORTS0".I.KPERT RETURN 20 E0 KPORI=" TK" PFTURN EGO FUNCTION KtINf Flitl? o0T.I FEN 4.4.520 0t/04/01. 14.04.17 pAGF

CKtiNF FUNCTION KLINE III CO to itAA20.30.40,511..701.1 10 RUNE= Kt 20ZEIT- RUTT"N 4 30 KtINE.-3"t" RIJOR4 40 KLINE=-4KK" RETURN SO 10.14(."4A- FiffURN CO KtINE.-54" PflURN 10 KtINE=- PfluP4 F"40 SUPPOUTINE FACONG 71/172 OP11 FtN 4.4.524 91/09/49. 14.09.I7 PAGE

i CFMCNNG SUOPOUTINT FACING C _r 5 CpOgi1=4W1411,1CONVPTISOI.NITOP1561.0VRRAYW.21 C INTFGF4 9ETTEN.CONIORV.14ILOV.044SAY

COPNON /SITTP7/5/Ntot154.151

33.4. is,,ccuuO/17, 9,l71 to T4t0r,r0 CTUON.CFLTNI C C Coroon /o0111 f110GWOI It 001 .rsTro41 3001 .LST110411001 011110t Pt IOU 7.0,4.14111001.0u0S!331001 20 ITITEGEP FSTCON,ROWL02,ROWSET C C 25 2c,rialgril:(14,CiVIIIWNIVA21114f1.CLODEnt7501,CP0s(7501.CROw17501 IN CID.CtOOETI.00OS.CPON,CTIEP

30 COMPON F.:NPY/ISKTP C C. go, rugllom,," IS TOT CONTINNE PR YOU MAUI 10 SNIP SO SNIP. 2-C4G flock TO SNIP. PP NI.,-1-41CALCULAtE STATITI. ITT%.1301PNI PESOTT SONNAPY." PP Nt..°S-ONTPOT TULE PFSNIT. 0-00/17 PFAU IANS 44 IGP14.1 S1t GO 104409.200.100.408.504.404,.160 205 CONTINUF rct /NT .*Eyo.apiGr of TYFEN IWO CEET.5 IN PPITIT°.-119 IlEF, ANn COLUMN OF FIRST CF11.." ES nn131,9(01.4'4171.1i41 Alin COLUMN DE SECONDCUL ." REA0f.104Y2.111F4c.1:017 PPINT."'PFAIY pEADIS,117TIAN'17 SO 10? IriNITIA1/ NS7 TIE.'r-IGO TO`140 ITIIII1ONTIDAY11.4F -1C1 10 210 CO TO 72P KS 210 CONTINUED 720 c0 IF141c0141140y01.41.-1,50 to 230 3F0o2,:E.11411191102,131f9r.IC01.21 CO rELLUott40Y7.111042.1:0tPi.ltrrol GO 19 740 2:10 rONIINOF tww...cfl10m1sniv7,trtra?.1cou1 cEtto41111YY.ITIE./.11!n1 21.1 TF Not GS 7" iMIMIINATII.NE.-1160 TO 750 csItunit900t.lifr.t.1101 1 I ,1 vf GO TO 760 750 CON' Tour 70 CCIL04f1.Arl.I11(Pt.Ic011).(Tr .P2 240 c 041 I40E itE,0.11T;FOITTFN011 LOOSEnIftfo^tIttOncE)IftFmr2, LOnIESIII;N.21.1f%4^ 75 PAT51. co To ion Snit cON,INuF SWINOUTTNE Foam. 717172 0.0.1 FIN 4.4.574 41/04/01. 11.00.17 PAGE

p4INTA..EACRANGE nrtwErw sun. AND DOCK." POINT. "ENIF9 1.150 S:9 NT CON, ON DOCK.- RO Pcanytrmoi nem -EWER DAY ff10,OlinMUNN OF ME ON 540P.- nplp!ngliAITL4.1P01 REA015.1021fANS2 IIrFtNglLNs0r4.1sE4.4-11y"ocEn 05 -T1O 00 1 40 , O 10 ITENP7=CELLUnt,4ur11114TCOLI CELLU011141.111E4.1COL),TTrRpt GO TO 120 90 "0 CONTINUE ptuoNTRATEL.7112::041:1=1 120 CONttrojA LOOSEQIITERPIT=L091E1ITTERP21 qn LOOSLIT TF4421.4 WORW177144R-Fg:;11RMAIT,pi,.. ii71841;117(4;WIEWAptuc,2, 100 oplo -or," Go to ion 400 CONTIRVE CALL STAKE GO TO 100 too n00 CPTITTRU! ISKIPAI mt OUTPOST GO10 100 400 CONTINUE 010 CALL 400 CONTINUE rlAr" sunRouriHr 4000 11/172°PITT FEN 4.51524 111/114/04. 14.04.17 RAGE

SOPRON, INT NOVI.° C C TM S0140111 INE NARKS RENATIPLIII COST LINE RS C AS "0010 OS CHANG INS TOE T INC COO( TO A NT ;AT IVE LAUNDER. REHATEEN.E0 tONTA !HERS IRE THEN CONS Tor Pr 10 OE ATTN(IOP CF WHATEVER 11 S TA:K INT Y WERE NOVITI 10. 2

15 allnigtoory4IT!=g71;(1.CLOOCOI/S01.CPoSfr5e1.tROW17501

C IOTFGIPrm.ctmEn.c.os.cPowtrutrn C 21 C COHNON /CANT? /f,I. INE 17511 ,CITRE 47611 C. INTEGER CAINE .T;Tvpr 2 COMMON /MISC.! /rURC04111711P0141 11 ,COREAT i[rnIc.teinnt

C. TO 7=57.2NMEMS:07,NATT:1=041,0""""tuRun C 2 3S C C IS Illf REA CONY AITCVE INF CURREN ICOST IN TOE C COOT LIST? C IF ICOPcON.f 0.11S0 I O 515 he C 2 15IT IN THE SANE STACK AS INF C 4L,1447En,A. C 45 IICroMPPtoCOlgccUo4mC-o1tt.ot.:ROoliTtHcit.ot.tcoOSICuocON,.w.crOSIttEioil.o zoo.trtnocntittool.tt.OttcO to SOO

CCC SO f SANE IT R:K. HARK AS tOSFO. f. curtsrItrOP1.-P.L INF II rmrl C SS C IS THERE A THIRD CUNT FOP THIS ST ACKT FIPSI FOP Olk Of SAP( Pont, 51151 C Pr CHECK IF THERE IS 155THER CCITT anovE IN THE :11N1 LIST. CO Trif Inn TO 111 CC 1,1fOrTS ANCTHER CONY. IS If CANT STACK? RS ,41, rITTf.r-t 20P.ICI.IFIICPSNICI, On, SCON1.1 putt MOI.tf.oloco 1l. CPONIIlENPII ,t) too .OP.ICno51CUPrfNI.117 CPOS 1 ITENR1 1 . C C 71 C. INIS A 141.11 CONT TN THIS STALE. ItApir C AC HOvr'). C.I. INF IOF IIII .1e1 C 75 nwo ALL PrrictntrCOOTS. WITT r FIN 4.0150.6 41/04/04. 19.44.1, PACE 5I111ROUTINE 73/11? OPT.'

RETURN

NO 100 CDOTTNuF IHEAF IS NOT A THIRD cow FOR THE ORI4INAL 45 GC

C Vg441",IN Wgs 4:314'?4,",12P4."" C FIRST CHFCK FOP 4 CM, 9EIRFEN Mr OTHER TWO. 40 trictenrnictmcnmar.osco TO Pon C C T" IS If STILL THERE? C WAS AWE NOUN. AS ilink-7717=n,c. TO 100

NOT STILL THERE. THIS 11015 INF TAP CURRENTS REHANDLE° AHD WC SHOULD COHSIOEP INT CURRENT 1110 IS A TAP CONE. sue C CON? A Tor CANT. SINCE IT C Ignum.042! HAVE BEEN CALLED. C ocTtcyco." 145 3141=E:::W-=0;.ElrtifU.hipATOP CON? NAT STOP C C 110 C. 210 cnuttNur C C 241 MINr04.1WNIUKcisyk 114 WAS NEDE EVER ONE? C 1:VCr4fIV.,7171i4^1.1.1.-01 PE 'Mc)! 170 C C C WAS 44F. IS IT STILL THERE? C

,? 1AgrAMV444!V.4,,,, TO 144

C IT ISALoritnr toancn. AM I 130 RETURN C Len maim.. Ito C. tOCATTO ATHIPn CANT. MARC AS pvIliFo.

140 P1 IIhN

145 500 rowfwor

COOT ATONE THE CHPREAV COOT f4& 110 C Al') AI scremo 0001? ISO ANY FOP C. IF 40f. THF11 NORIO CAILFO 14 rrpnr, clrlcr C 1,0fPF NE ,F HO .1-0,0401f1 frfrfoNrofcwProfil.S1.4140 14 sD SUOROUT H00(1) 73,177 0Pt.0 FIN 5.5.520 . 19.10.1T PACT 151 Po Itif ,-0ROcRA04 FPPOR - SUFI TIOV2i 2 - TOP CON/ NOT WENT IF ITO." PRINT .-c1JRCONE",CURION.- 'TENN. Tyrol, STOP C

5511 CONTINUE

65 (11"7 IF LOAOFO YET. C VVIT0tlis`57 eiL5LE7rt:VA: C 111;T;)Fglii715'47:RP!,,c, TO 650 C ;4141:::=7"!=o;.;U7INgtg.iyi,;0° COOT NOT 107NT IF TM- STOP C 175 GOO CONTINUE

IA0 C 70050 SECOND COAT. HARK AS MOVE 5. C C1INE1117,,1=-ClI,114117Mel

IRO FrUNO I SECOND COST. IS THEPT 1 THIRD CON! cC C mil°11,THT46rERrEK9N4 (TN 107 STACK OTS NAATED FOR TNT SECOND POPT. 1511 C IFITIF10.T0.11C0 To TOO IT toP2ITTITP-I if 110,04111f f4P1.4f .t9.0111 I IENP2%) .09.1CPOSII1C4P1 .14E .Cp0S111U4P211. 200.mtonrottIrwzi.17.atosoTOrob 155 11.170 10141 MT TN 511(51) PORT. MAQK OS 1000Fo. CLINE I ITFHP21.-11 INF 1 ITE NP21 200 FPIJUI1 AIL TNPFE. Solt pTTU0N

205 CC

Poo CONTINUE PIO 7,11:0I gamr740(r731781411" IS lf4Ct OnFOI I f f. Mr1.L..01 PE TURN 215 THEOE 14115 CON! 1-0/7A THIP(1PORT. Loom' 1) Tf 270 11Vr*T1110447rt..,p,,., C 1,In7 10A 5E0 f I.14A.K AS LoAoro. 225 EL Tor ITHP1.-,LINETTTFNPI

E011,10 ALL ,HRIC. QUIT 210 RE MOH EHr 300

APPENDIX F

SAMPLE RUN 301

COPY,SNAFIL 20202i520402020202040202020204020402040202020204020 40204020402040202020202040202020204020000000000000 0102030102030405040506060707080908101112010131415 11161718121920212213142324251514262728000000000000 -1-1-1010101-1-1010101-1-1010101-1010101-1-1010101 -1010101-101010101-1-1010101-1-101010100000000000 02030203020307180708070812131213121317001700 17002122212221222600260026003000300030000000 35343536353640414041404100000000000040000000 01.502.002.001.500000000000000000000000000000000 01.502.501.5000000000000000000000000000000000000 02.002.502.0000000000000000000000000000000000000 01.001.502.503.002.501.501.000000000000000000000 01.502.002.503.002.502.001.100000000000000000000 00.502.002.503.003.003.002.502.000.500000000000 01.002.002.503.003.003.002.502.001.0000000000000 01.502.503.003.003.003.003.002.501.500000000000 02.503.003.003.003.003.003.003.002.500000000000 02.503.003.003.003.003.003.003.002.5000000000000 02.503.003.003.003.003.003.003.002.5000000000000 02.503.003.003.003.003.003.003.002.5040000000000 01.001.502.002.002.002.002.001.501.0000000000000 01.001.001.502.002.002.001.501.001.0000000000000 01.001.501.501.501.501.501.000000000000000004000 00.501.001.501.001.501.000.500000000000000000000 000000000000400000000000000000000000000000000000 040.0060.0040.0060.0080.0060.0060.0080.0060.0040.0080.0 040.0060.0080.0040.0040.0080.0040.0040.0080.0060.0040.0 040.0080.0040.0060.0080.0060.00000000000000000000000000 -078.11-049.96-063.20-069.96-064.88-063.20-054.54-047.47-054.42-450.74 -047.67-040.47-033.49-040.46-037.39-033.71-021.03-024.22-021.04-017.97 -0t0.77-003.99-010.76-007.69-004.010008.670004.99000.660011.730022.00 0018.940022.010025.690057.340065.730072.510065.750069.430072.500080.14 0086.900080.140083.210086.90000000000040000000000000000000000000000000 19.7822.23000000000019.8622.46000000000019.7822.230000000000 19.7822.2324.480000019.8622.4625.060000019.7822.2324.6800000 19.7822.2324.680000019.8622.4625.040000014.7822.2324.6800000 19.7822.2324.6110000019.8622.4625.060000019.7822.2324.4800000 19.7822.2324.680000019.8622.4625.060000019.822.2324.4800000 19.7822.2324.680000019.8422.4625.060000019.7822.2324.6800000 19.7822.2324.680000019.8622.4625.060000019.7822.2324.6800000 24.6027.05000000000020.5222.9725.420000020.6023.2025.8000000 20.5222.9725.420000020.5222.9725.420000020.6023.2025.8000000 20.5222.9725.42000000000000000000000000000100000000000000000 000000000000000000000000000000000000000000000000000000000000 13.5314.0518.4920.920000000000000000000000000 05.7608.2010.8413.2715.7100000000000000000000 05.7609.3010.7413.1715.6100000000000000000 03.1505.7008.1410.7213.2715.70000000000000000 03.1505.7008.2210.7413.1815.62000000040000000 03.1505.6508.1710.4013.0415.62000000000000000 03.1505.6508.3110.7513.2515.49000000000000000 03.2305.8208.4011.0013.5916.18000000000000000 03.1505.6208.0410.5012.9415.37000000000000000 03.1505.6208.0610.5012.9415.37000000000000000 03.2305.8208.4011.0013.5916.18000000000000000 03.2305.8208.4011.4013.5916.18000000000000000 09.2111.6814.1516.590000000000000000000000000 09.2111.7114.2516.630000000000000000000000000 11.8014.33f6;770000000000000000000000000000 11.0814.3016.81000000000000000000000000000000 000000000000000000000000 .300000000000000000000 195. 217591 144930. 13045.00 E01 ENCOUNTERED. 302

COPT,YRDFIL 261 6 3 4 2 8.0 20.3 ITKE3586 1 0 6 2 4 2 8.0 19.7 MYKE1156 1 0

6 1 4 2 8.0 19.6 13046 1 0 5 1 2 2 8.5 11.7 1CS03882796 2 0 6 1 3 2 8.5 6.7 41C07155043 2 0 6 2 6 2 8.0 19.6 5007416842 3 0 6 1 6 2 8.0 19.5 501107615307 3 0 4 3 6 2 8.0 22.2 SMUU7612422 4 0 4 2 6 2 8.020.3 M07613094 4 0

4 1 6 2 8.0 20.1 S16107612240 4 0 5 3 6 2 8.0 19.5 516107616795 4 0 5 2 6 2 8.019.4 51610741754 4 0 5 1 6 2 8.0 19.7 3H1107611248 4 0 6 3 6 2 8.0 19.7 SH007617610 4 0 6 2 6 2 8.0 19.7 SH00761223 4 0 6 1 6 2 8.0 19.6 NV07615497 4 0 1 2 4 2 8.0 19.4 11101401202 5 0 I 1 4 2 8.5 19.5 00586 5 0 I t 2 3 8.0 19.5 CTIU1702911 6 0 3 2 1 3 8.5 23.0 1750200152 7 0 3 1 1 3 8.5 23.0 1150200742 7 0 4 2 1 3 8.5 23.5 XX1.0201303 7 0 4 1 I 3 8.5 23.3 KKLU204043 7 0 5 2 1 3 8.5 23.6 111.0204834 7 0 5 1 1 3 8.5 23.7 0010205917 7 0 6 2 1 3 8.523.0 41111205018 7 0 6 1 1 3 8.5 23.1 X16.0205891 7 0 1 I 6 2 8.515.4 516102060169 8 0 2 1 4 3 8.5 23.8 111.05082681 8 0 3 1 4 3 8.5 22.5 UFCO2271960 8 0 5 2 3 3 8.5 24.5 C1104445700 8 0 5 1 3 3 8.5 24.3 S5111201155 8 0 I 2 5 2 8.0 21.7 00102004063 9 0 1 1 3 2 8.0 21.6 90102051770 9 0 2 2 5 2 8.0 21.4 00102006488 9 0 2 I 5 2 8.0 21.7 00L02061171 9 0 3 2 5 2 8.021.5 40102056600 9 0 3 1 5 2 8.0 21.6 101.02030993 9 0 5 2 5 2 8.0 21.900102007463 9 0 S 1 5 2 8.0 21.9 10102063364 9 0 6 2 5 2 8.0 21.8 00102062270 9 0 6 1 5 2 8.0 21.4 40102019675 9 0 1 2 5 2 8.0 21.400102013614 10 0 1 1 5 2 8.0 21.6 30102020249 10 0 2 2 5 2 8.0 21.4 10102040522 10 0 2 I 5 2 8.0 21.6 301412022637 10 0 3 2 5 2 8.021.3 00102027768 10 0 3 1 5 2 8.0 21.4 00102033884 10 0 4 1 5 2 8.0 21.8 00102067570 10 0 5 2 3 2 8.0 20.300102060513 10 0 5 1 5 2 8.0 21.2 30102004696 10 0 6 2 5 2 8.0 21.300102054953 10 0 6 I 5 2 8.0 18.5 00102005373 10 0 3 1 4 I 8.0 4.1 01KU7111868 11 0 3 3 1 1 8.5 21.1 J110501101 12 0 3 2 1 1 8.5 21.2 0010504135 12 0 4 I 4 1 8.5 23.1 M07816947 13 0 2 3 4 I 8.3 23.4 1T/07700113 14 0 303

2 7-5- -1---05-11:4--M95001047 0 2 I 4 1 8.5 23.6 NYXU7211 14 0 3 3 5 1 8.522.9 S10F4840285 13 0 3 2 5 1 8.523.3 901115001290 15 0 3 1 S I 9.5 23.3 90195003754 15 0 1 2 4 I 8.5 22.9 N1197700849 16 0 1 1 4 1 8.522.9 NYKU7212 16 0 3 1 4 1 8.5 22.5 NYKU7817270 16 56 6 I 4 3 8.5 22.8 11195038582 17 0 1 3 3 3 9.524.5 J119205034 18 0 1 2 3 3 8.5 25.1 5819202762 18 0 1 1 3 3 8.524.8 A/9206190 18 0 2 3 3 3 8.5 24.6 J119205020 18 0 2 2 3 3 8.5 24.3 4Y19201245 18 0 2 1 3 3 8.5 24.3 J119204283 18 0 3 3 3 3 8.5 21.1 5519202402 18 0 3 2 3 3 8.5 24.4 J119207043 18 0 I t 3 3 8.5 24.6 NIC111570 18 0 4 3 3 3 8.5 24.3 J169205269 18 0 4 t 3 3 8.5 20.8 J119202065 18 0 5 3 3 3 8.5 24.4 J119208017 18 0 5 2 3 3 8.5 25.1 SS19202633 18 0 3 1 3 3 8.5 24.5 M919201219 18 0 6 3 3 3 8.525.0 S519202524 18 0 6 2 3 2 8.0 24.4 1199205189 18 0 6 I 3 3 8.3 24.4 J1111201034 5 18 0 2 1 3 8.5 24.7 KK11205697 19 4 S I 1 3 8.324.9 1189202760 6 19 0 3 1 3 8.5 24.8KKLU205329 19 0 6 2 1 3 8.5 16.0 1019205025 19 0 6 I 1 3 8.524.8 11811203726 19 0 3 I 3 3 8.5 25.0 S51U202559 20 0 4 1 1 3 8.5 24.7 1159202461 20 5 3 0 I 3 8.524.7 1159203528 5 20 0 2 I 3 8.5 25.2 1159202767 20 0 5 1 1 3 8.5 24.3 1159203143 6 3 20 0 I 3 8.3 24.6 921.9205786 20 0 6 2 1 3 8.5 24.7 99111201275 20 0 6 1 1 3 8.5 25.0 10119204629 20 0 3 2 6 3 8.5 22.1 59992028337 21 0 5 1 6 3 8.5 22.0 S1492029500 22 0 1 1 4 3 8.0 20.3 42991717227 23 0 2 1 1 3 8.0 19.1 4X192320725 23 0 4 3 1 3 8.5 18.6 92192200228 23 0 4 2 I 3 8.5 11.6 1011111482$08 23 0 5 2 I 3 8.5 18.8 10X1.9260140 23 0 S 1 I 3 8.0 18.4 K419261116 23 0 t 6 2 8.5 19.3 510112869020 24 0 1 2 3 8.5 19.2 1C893534070 25 0 I 2 3 2 8.5 20.1 J199261712 26 0 1 I 3 2 8.0 19.4 J169265790 26 0 2 1 4 3 8.5 16.5 49492500581 26 0 3 I 4 3 8.0 16.4 80244 26 0 I 2 3 3 8.5 19.6 MICU7156559 27 0 2 I 3 3 8.0 19.5 41C97157489 27 0 3 3 5 3 8.0 19.8 C1191432816 27 0 4 2 5 3 8.0 18.9 4053081266 27 0 5 2 3 2 8.5 20.3 11196107491 28 0 5 1 3 2 8.5 19.8 111I16129401 29 0 6 3 3 2 9.5 19.9 11196080071 28 0 6 2 3 2 8.5 19.8 1119604687? 28 0 1 2 2 3 8.5 17.3 19FF474332 29 0 1 1 2 3 8.0 17.7 /S2F668808 29 0 2 3 2 3 8.0 17.7 7527668894 29 0 2 2 2 3 8.0 17.7 ISFF668969 29 0 2 I 2 3 8.0 17.5 986A668724 29 _0 304

3 3 2 3 8.0 17:7 TSFP64815 29 0 3 2 2 3 8.0 17.7 95FF648954 29 0

3 I 2 3 8.0 17.7 TSFF648915 29 0 4 3 2 3 B.0 17.5 TSAA448836 29 0 4 2 2 3 8.0 17.5 9SAA468718 24 0

4 1 2 3 8.0 17.3 MSAA648790 29 0 5 3 2 3 8.0 17.3 956A448704 29 0 5 2 2 3 8.0 17.5 9546648728 29 0

5 1 2 3 8.0 17.5 TSAA668871 29 0 4 3 2 3 8.0 17.2 TSAA662003 29 0 6 2 2 3 8.0 17.3 TSA6648844 29 0

6 1 2 3 8.0 17.7 TSFF668941 29 0

2 1 5 3 8.0 19.9 58102644189 30 3 2 5 3 8.0 19.9 11104129444 30 0

3 I 5 3 8.0 20.0 55102958141 30 0 4 2 5 3 8.0 20.1 $31112516113 30 0

4 1 4 3 8.5 20.3 010111403925 30 0

1 1 4 3 8.0 1.9 A1296 31 0 2 2 5 3 8.5 19.5 55102591673 31 0

2 I 5 3 8.5 19.7 11106293945 31 0 4 3 5 3 8.5 19.9 55102975621 31 0 4 2 5 3 8.5 20.0 11106210914 31 0

4 1 5 3 8.5 20.2 55102324281 31 0 5 3 5 3 8.5 19.5 S51133418589 31 0 3 2 5 3 8.5 20.0 11106067830 31 0

5 1 5 3 8.5 19.9 11106104390 31 0 5 3 3 3 8.5 19.5 NIC07157025 32 0 5 2 3 3 8.0 18.7 J100261615 32 0

3 1 3 3 8.5 19.7 10102603670 32 0

4 1 5 3 8.0 3.7 11102500828 33 0

5 1 3 3 8.5 19.9 70102620682 33 0 6 2 3 3 8.5 19.7 10102797343 33 0

6 1 3 3 8.5 19.8 13101298796 33 0

1 3 5 3 8.0 19.8 80106760182 34 0

1 2 5 3 8.5 20.0 $01112510858 34 0

1 1 5 3 8.0 14.7 0013050477 34 0 2 3 5 3 8.0 19.8 M010677159 34 0 2 2 5 3 8.0 19.7 0083050248 34 0

2 1 5 3 8.0 19.8 00111675284 34 0 3 3 5 3 8.0 19.8 90102769744 34 0 3 2 5 3 8.0 19.7 8033051643 34 0

3 1 5 3 8.0 19.8 0010475721 34 0

4 1 5 3 8.0 19.7 8013051015 34 '0 5 Z 3 3 8.5 19.9 CT1U1298775 34 0

1 1 5 2 8.5 23.7 13104475426 35 0

2 1 5 2 8.5 22.3 0054050739 35 0

4 1 5 2 8.5 25.0 58103074425 35 0

5 1 5 2 8.5 25.5 101114320891 35 0 6 3 5 2 8.5 23.4 XTRU877277 35 0 6 2 5 2 8.5 23.6 001112001130 35 0

1 5 2 8.5 24.4 $01112057551 35 0

1 1 5 2 8.5 22.6 00102058543 36 0

6 I 4 2 8.5 24.3 XTRU8775310 36 207

1 1 5 3 8.5 29.9 00102042239 37 0 2 3 5 2 8.5 12.8 $01112013257 37 0 2 2 5 2 8.5 12.9 00102006549 37 0

2 1 5 2 8.5 12.8 00102053108 37 0

3 1 5 2 8.5 12.9 80102003046 37 0

4 1 4 3 8.5 24.2 09006804237 37 0 5 3 5 2 8.5 12.8 00102016110 37 0 5 2 5 2 8.5 12.6 00102065330 37 0

5 1 5 2 8.5 23.0 00102055121 37 0 6 3 5 2 8.5 12.9 UFCU2069093 37 0 6 2 5 2 8.5 13.4 111007448 37 0

6 1 5 2 8.5 12.9 001112008534 37 0

1 2 5 3 8.5 30.3 00102013039 38 0 305

1 2 5 3 8'.3 30.0 C7104872484 39 0 1 1 5 3 8.5 29.1 1(0LU20602,, 39 0 1 2 5 3 8.529.9 001112010024 .40 0 1 1 5 3 8.5 29.8 80102016423 40 0 5 2 I 3 8.5 25.4 1150200957 41 0 5 1 1 3 8.5 12.7 PXCU200591 41 0 6 1 1 2 8.0 20.9 5S10202649 42 0 6 2 4 3 8.524.3 UFCC2226490 43 0 6 1 4 3 8.5 22.3 SSIU2194011 43 0 4 3 6 3 8.5 30.0 11105018240 44 0 4 2 6 3 8.5 29.0 SSIU3052510 44 0 4 2 6 3 8.5 24.3 CT1U4377029 44 0 3 2 4 3 8.5 20.8 81XU6711894 43 0 3 1 4 3 8.3 27.2 11104548 45 0 6 3 4 3 8.5 23.5 43K05475 45 0 6 2 4 3 8.523.4 M1106700145 43 0 1 2 4 2 8.0 11.7 83K06808130 44 0 1 1 4 2 8.0 11.7MTKU6371 46 0 2 2 4 2 8.0 11.3 N1104602 46 0 2 I 4 2 8.0 20.4 XTRU8784375 46 0 3 3 1 3 3.3 24.68810204028 46 0 I 2 1 3 8.5 24.5 41110205030 46 0 3 1 1 3 8.5 24.91750202807 46 0 4 3 1 3 8.5 24.8 10110205495 46 0 4 2 1 3 8.5 24.4 PXCU200051 46 0 4 1 1 3 8.5 24.9 8/110204487 46 0 5 3 1 3 8.5 24.7 84111205255 44 0 5 2 1 3 8.5 24.5 XXL0205631 44 0 5 1 1 3 8.5 25.0 P1CO200604 46 0 6 3 1 3 8.524.8 PXCU200379 46 0 6 2 1 3 8.5 24.7 1X10205989 46 0 6 1 1 3 8.5 24.7 10110206073 46 0 6 2 5 1 8.0 12.7 M035032481 47 0 6 1 5 1 8.0 13.4 MA05550290 47 0 5 1 1 1 8.5 23.4 A10503121 48 247

3 2 3 1 8.3 22.9A10301093 49 0 3 1 3 1 8.5 22.7 A10501088 49 0 1 2 3 1 8.522.5 A10505142 50 0 1 1 3 1 8.5 22.1 A10505262 50 0 3 3 3 I 8.5 23.0 A10503001 50 0 3 2 3 1 8.5 22.9 A10503048 50 0 4 2 1 1 8.5 22.6 11505000312 50 261 4 1 1 1 8.523.0 81110504010 SO 0 5 3 1 1 8.5 23.1 8X10504177 50 0 5 2 1 1 8.523.2 K810504154 50 0 511 18.5 23.1 81(10504530 30 0 6 3 1 1 8.5 23.1 XKLUS04477 50 0 6 2 1 1 8.5 23.1 8810304531 30 0 61118.5 22.9 8X10505002 50 0 1 1 5 1 8.5 23.5 801115023154 51 0 6 2 5 1 8.5 23.040105010326 51 0 6 I 6 1 8.3 23.7 J1.0301003 31 0 2 3 5 1 8.5 23.6 40105021300 32 0 2 2 5 1 8.5 23.8 X016030497 52 0 2 I 6 1 8.3 22.4 SLRF4860293 52 0 5 2 5 1 8.0 23.1 80105004318 53 0 1 3 1 I 8.5 23.4 K810504167 54 0 1 2 I 1 8.5 23.1 8810504232 54 0 11111.0 23.1 8X10504327 54 0 2 3 6 1 8.0 23.2 S5105000389 54 0 2 2 6 1 8.023.4 SW4860078 54 0 2 1 6 I 8.0 23.0438U7701526 54 0 4 2 4 1 8.0 22.5 43807817162 54 0 4 I I 1 8.0 23.0 41110504271 54 0 5 3 1 I 8.3 22.688105000098 54 0 S 2 1 1 8.5 22.9 8K1.0504238 54 0 306

5 1 1 t 8.5 21.2' -1KLU500212 5W 0 6 2 1 1 8.5 23.1 KKLU504117 54 0 6 1 1 1 6.5 23.2 X810500093 54 0 4 3 1 1 8.5 23.1 1118504293 55 0 . 53 3 14.9 3 1 3 1

21 9.2 2 4 5 1 27 19.6 2 6 7 1

41 19.8 9 8 16 1

49 19.5 2 17 18 1 3 19.5 1 19 19 2 24 23.3 8 20 27 3 36 22.1 5 28 32 3 62 21.7 10 33 42 4 66 21.1 11 43 33 4

71 4.1 1 54 54 5 60 21.2 2 55 34 6 64 23.1 1 57 57 6 68 23.5 3 58 60 6 68 23.2 3 61 63 7 60 22.8 3 64 66 8 46 22.8 1 67 67 9 18 24.2 17 68 84 10 22 23.0 5 85 89 10 26 24.8 8 90 97 10 30 22.1 1 98 98 10

50 22.0 1 99 99 10 27 19.1 7 100 106 11 45 19.3 1 107 107 11

61 19.2 1 108 108 11 9 18.1 4 109 112 12 It 19.5 4 113 116 12 21 20.0 4 117 120 12 29 17.5 17 121 137 12 35 20.0 5 138 142 12 37 17.8 9 143 151 12 39 19.3 3 152 174 12 43 15.8 4 155 138 12 45 19.8 11 159 169 12 32 24.3 7 170 176 13 38 23.5 2 177 178 13 18 16.1 12 179 190 14

22 30.3 1 191 141 14 48 29.6 2 192 193 14 52 29.9 2 194 195 14 68 19.1 2 196 197 IS 14 20.9 1 198 198 16 48 23.3 2 199 200 LS 52 27.8 3 201 203 16 58 24.2 4 204 207 16 64 22.0 16 208 223 to 71 13.1 2 224 225 17 60 23.4 1 226226 18 64 22.8 2 227228 18 48 22.9 12 229 240 18 60 23.4 3 241 243 19 68 23.3 3 244 244 19 60 23.1 1 247 247 20 64 23.1 13 241 260 20 68 23.1 1 261 261 20 20

42 1 20 1 5 42 2 20 6 4

42 I 40 7 8 42 4 40 9 10 44 21 20 11 11 307

44 21 40 1Z 14 44 22 40 15 15 44 24 40 16 16

51 1 40 17 17 51 4 40 18 22 52 2 20 23 25 52 4 20 26 34

32 1 40 35 36 52 2 40 37 40 32 3 40 41 41 52 4 40 42 46 54 21 20 47 47 54 21 40 48 50 54 22 40 51 52 54 24 40 53 55 EH ENCOUNTERED. 308

COPT,RUNFIL a 32 1 47.3 32 2 49.8 32 10 48.7

37 I 30.7 37 2 34.0 38 4 49.0 38 7 49.5 39 2 11.8 30

1 266.1 4739.00 2 209.3 2558.00 3 237.4 2734.00 5 312.8 6617.00 10 285.9 6393.00 7 261.7 2754.00 8 250.5 2480.00 14 548.3 12106.00 16 403.8 8808.00 12 674.6 7126.00 13 744.0 8061.00 19 187.4 4082.00 17 366.0 3227.00 24 51.3 1042.00 21 406.3 4122.00 22 334.9 3121.00 21 115.7 2688.00 26 362.9 3079.00 32 320.4 7127.00 30 1244.3 11460.00 34 161.6 4125.00 37 64.7 1396.00 38 138.8 3417.00 -39 44.1 933.00 35 586.1 7917.00 34 412.9 5604.00 42 92.6 2068.00 40 305.3 4376.00 43 533.9 12399.00 41 142.9 2049.00 130

7 1 4 2 2

7 1 4 6 6

7 1 5 I 2 7 I 5 6 7

7 I 6 2 2

7 I 6 6 6

7 4 6 1 I 7 4 6 7 7

8 I 3 2 2

8 I 3 6 4

8 1 4 I 2 1 1 4 6 7

8 1 5 2 2

8 1 5 A 6

8 I 6 2 2 8 1 4 6 6

8 4 5 I f 8 4 5 7 7 309

4 6 rf 8 4 6 7 7 10 4 I 2 3

10 4 1 6 7 10 4 2 2 3 10 4 2 6 7 10 4 3 2 2 10 4 3 6 8

17 4 1 3 3

17 4 1 7 7 17 4 2 2 3 17 4 2 7 8 17 4 3 2 3 17 4 3 7 8

17 4 4 1 3 17 4 4 7 9

17 4 5 1 3 17 4 5 7 9

17 4 6 1 3 17 4 6 7 9

19 4 1 1 1

19 4 1 10 10

19 4 2 1 2 19 4 2 8 10

19 4 3 1 4 19 4 3 7 10

19 24 1 2 3

19 24 1 8 9 19 24 2 3 4 19 24 2 7 7

21 4 1 2 3

21 4 1 7 8

21 4 2 1 3 21 4 2 7 9

21 4 3 1 3 21 4 3 7 9 21 4 4 2 3 21 4 4 7 3 21 4 5 2 3 21 4 5 7 8 21 4 6 2 3 21 4 6 7 8

22 2 2 1 1 22 2 2 9 9

22 2 3 1 22 2 3 9 9

22 2 4 1 1 22 2 4 9 9

22 2 5 1 1 22 2 5 9 9

22 4 1 2 3

22 4 1 7 8 22 4 2 2 3 22 4 2 7 I 22 4 3 2 3 22 4 3 7 8 22 4 4 2 3 22 4 4 7 8 22 4 5 2 3 22 4 5 7 8 22 4 6 2 3 22 4 6 7 8

24 2 1 1 1

24 2 2 1 2 24 2 2 8 9 24 2 3 1 4 OTE

tZtt tZ LL I Z tZ ZZ 1 C 6 tZ ZZ t E tZ LL Z L Z 4Z I I L 8 9Z I Z I 6 9Z 1 £ L 6 9Z 1 t I 4 9Z I S C 6 9Z I 9 / 6 9Z t I Z 9Z t t I £ 9Z t £ 1 £ at t I £ 9Z t S I £ 9Z 9 1 t at E [LI It £ Z at k Bt t 01 8Z It I B 01 IZ Z 8 01

6Z tZ I 1

IL tZ Z 1 1, Z1EZZEILE SPE ZE Z 01 01 Zr 8L It IZ I t Z LE it Z t 9 ZE tZ I 8 8 ZE tZ Z C 8 I1ZZtE111211 PE It Z Z EIBrLE E ErI L BE 8 01 at Z E t at ZLEZ BE It 1 E BE It I 8 01 IIE IL Z IZ Z 8 01 df t £ Z Z If zr IL S L Z

LC tZ 1 Z Z ZE BEL t ZE I 0 Z Z LC 0 t Z 9Z t CI 0 1 IC It Z PE IL 0 I Z Or L ZOZ CI t 8Z 0 1 6E 0 0 Z CT I 0 Z BE Z 0 0 Z

BE 1 Z 9Z I CI 0 L BL tZ I I Z BZ Z 61 tZ t t 1 41 t 0 SI I 311

28 3 1 0 2 28 4 0 2 2

8 1 10 0 1

8 4 4 0 1 22 2 8 0 2 22 4 24 0 2

7 1 6 1 1

7 4 2 0 1

10 4 1 11 1 21 4 28 0 2 24 22 7 2 2 24 2 3 0 2 6021.-36914.24480. 849. 323. 13914. 3293. EDI EROUNTERED. / 312

PLEASE ENTER THE MONIER OF TONS A ROV CAN VARY MR A WEIGHT CLASS ANN STILL RE SELECTED. ? 4.

PLEASE ENTER THE HOMIER OF TONS A CONTAINER CAN VARY FROM A WEIGHT CLASS AND STILL 1E SELECTED. ? 10.

PLEASE ENTER THE SLACK ALLOWED IN WEIGHTS FOR CRITCAL WEIGHT CONTAINERS. 3. RHAR6.4. CMAR6.10. CRTR16.3.

1

CO TOO WART TO 1-CH6 SNIP TO SHIP, 2-CHS DOCK TO SHIP, 3-RECALCULATE STA1ILITY, 4-OUTPUT RESULT SUMMARY, 5-OUTPUT FULL,RESULTS, 0-OUITT T 3

THE DISPLACEMENT OF THE VESSEL IS 34995.7 PLEASE EATEN DRAFT AIRSHIPS, MTC, KR, LCD, AND LCF.

1(E01? (XX.XX) 9 10.23 AM? (=X.) 9 449.4 KM? (XX.XX) T 13.32 LCS, (XX.XX) 9 4.26 LCFT (X1.11) T 8.82 1,FTM1.10.25 ATC449.4 511.13.32 LC1.4.26 LCF8.82

RESULTS OF STABILITY CALCULATIONS AREI

SM. 1.60

TRIM. .54

FOR DRAFT= 9.94 AFT DRAFT. 10.50 DO YOU WANT TO 1-CNN SNIP TO SHIP, 2-CH6 JOCK TO SHIP, 3- RECALCULATE STASILITY, 4-OUTPUT RESULT SUMMARY, 5-OUTPUT FULL RESULTS, 0-QUITT 313

4

THE SUNDER OF TRANSTAINER MOVES VAS 64

THE TOTAL DISTANCE TRAVELED VAS 2212 SECTIONS

THE TOTAL SUNDER OF CONTAINERS LOADED VAS 241

THE TOTAL SUNDER OF SECTION CHANGES SAS 27

THE TOTAL NOSIER OF RENAMES VAS 7

1

THE CELLS NOT FILLED WERE:

ICC TIER CELL POST

NONE

THE CONTAINERS NOT LOADED WERE:

LIST YARD

SE0 LOCATION ID TYPE 1103T NOT PORT

NONE DO YOU WANT TO 1 -CMG SNIP TO SNIP, 2-CMG DOCK TO SNIP, 3-RECALCULATE STASILITY, 4-OUTPUT RESULT SUMMARY, 5-OUTPUT FULL RESULTS, 0-4111TT T5

THE NUMBER OF TRANSTAINER MOSES WAS AV

THE TOTAL DISTANCE TRAVELED WAS 2212 SECTIONS

THE TOTAL MUSSER OF CONTAINERS LOADED WAS 261

THE TOTAL NOSIER OF SECTION CHANGES VAS 27

THE TOTAL NUMBER OF REM:4111LO WAS 7

1

11 KOSEXPt NOLU4760102 AO 0.0 DRY U.S 5245AT 314

31- S 2

1

23 YOKOXPL 24 YOKOXPL 25 TOKOXPL XKLU504177 KKLU504154 U18504338 XL 8.5 RFR XL 8.3 RFR XL 1.3 RFR 23.15448E7 23.2 5448EC 23.15461E1 38-2- S 38- 2- 9 38-2-10

22 YOKOXPL KXL11504010 XL 1.5 RFR 23.0 546801 38- 2- 3

19 YOKOXPL... 20 MOM 21 TOKOXPt ALU503001 J11003048 17885000312 JP 8.3 RFR JP 8.3 RR XL 8.3 RFR 23.0 5448CT22.9 5448CC22.6 34680C 38- 1- 8 38- 1- 9 38- 1-10

IS TOKOXPL JLLU503262 JP 8.5 RFR 22.4 546M3 38- 1- 3

33 Mart NOLU2042239 NO 8.3 DRY 29.9 321861 38- 3- 7

34 MGM N0LU2018257 Na 8.5 ORO 12.8 521887 38- 3- 4

37 YOKOXPL 38 YOKOXPL 39 TOKOXPt 8084050739 $32113076425 1111U43208/1 MO 8.5 OR* MO 2.5 ORM MO 8.3 ORN 22.3523211 25.05232)) 25.33232E) 38-3- 8 38-3- 9 38-3-18 315

34 YOKV/PL MO4475426 AO 8.5 ORM 23.7 5232AS 38- 3- 3

1

32 KOSEXPL 33 08EXPL CTIU2500828 41296 AO 8.0 DRY MY 8.0 DRY 3.7 52430 1.9 5237AS 37- 3- 1 37- 3- 2

1

26 YOMIXPL 27 TOKOXPL 28 TOKOXPt 8085032481 80LU555029081XU7311848 NO 8.0 RFR ISO 8.0 RFR AY 8.0 RFR 12.7 5471FC 13.45471F$ 4.1447103 34- 2- 2 34-2- 3 34-2- 4

30 NOXPL SLDR2869020 514 8.5 DRY 11.3 5245F1 34- 2- 1

28 NOXPI. IC503534074 TS 11.5 DRY 19.2 52610 34- 1- 1

1

9 KOSEXPL 10 KOSEXPL KKLU104147 KXLU504232 KL 8.5-RFR XL U.S RFR 23.4 5464AT 23.1 5464AC 32- 2- 7 32- 2- 8 316

8 KOIEXPL XKLU504293 XL 0.5 RFR 23.1 5468DT 32- 1- 8

5 TOKOXPL 6 MOM 7 TOKOXPt 00LU5001047 NYKU7211 .11.111105142 MO 8.5 RFR NY 8.5 RFR JP 1.5 RFR 23.4 44481C23.6 44481822.5 5448AC 32- 2- 4 32- 2- 5 32- 2-

I TOKOXPL 2 TOKOXPL 3 YOKOXPL 4 TOKOXPL ALU501101 KKLU504135 NYKU7816947 NYKU7700113 XL 8.3 BFR KL 8.3 RFR NY 8.5 RFR MY 8.5 RFR 21.1 4460CT 21.2 4460CC23.1 446488 23.4 4448111 32- 1- 4 . 32- 1- 5 32- 1- 6 32- 1- 7

16 KOIEXPL 17 KOIEXPL NYKU6711896 411114548 NY 8.5 DRY NY 8.3 DRY 20.8 5258CC27.2 525803 32- 3- 7 32- 3- 8

13 AWL CM/48724Si NO 8.3 DRY 30.0 5241AC 32- 3-10

II MOM 12 MOXPL KOLU2010024 N0LU2016423 MO 8.5 DIY MO 8.3 DRY 29.9 5252AC 29.8 525243 32- 3- 1 32- 3- 2

14 TOKOXPL 15 MUM M0LU2018563XTRU8773310 MO 8.5 ORM NY 8.5 ORM 22.4 5258141 24.3 5258FII 32- 3- 4 32- 3- 5

61 KOBUK 82 KOBU 63 KO/WI 64 KOIEXPL 8YKU7817162 KKLU344271 KKLU5400098 XKLU504238 MY 8.0 RFR KL 8.0 RFR XL 8.5 RFR XL 8.5 RFR 22.5 54648C23.0 54448) 22.6 5464E122.9 5444EC 317

28- 2- 1 28- 2- 2 21- 2- 3 28- 2- 4

57 11011EXPL 58 KOSEXPL 59 KOBEXPL 60 KOBEXPL KKLU504122 SSIU5000389 SLRF4844078 M17701524 KL 8.0 RFR SR 8.0 RFR SH 8.0 RFR SH 2.0 RFR 23.1 54644123.2 546411 23.4 54648C23.0 546418 29- 1- 1 28- 1- 2 28- 1- 3 28- 1- 4

68 YOKOXPL 69 YOKOXPL 70 YOKOXPL XKLU504531 KKLU505002 ILLU503121 KL 8.5 IFR XL 8.3 RFR KL 8.5 RFR 23.1 5448FC 22.9 54401 23.4 5460E3 28- 2- 8 28- 2- 9 28- 2-10

63 YOKOXPL 66 YOKOXPL 47 YOKOXPL JLL0501093 JLLU501088 XKLU504477 JP 8.5 RFR JP 8.5 RFR XL $.5 RFR 22.9 5464CC 22.7 54640123.1 54401 28- 1- 8 29- 1- 9 28- 1-10

74 08EXPL 75 KOBEXPL 76 MEM. 77 KOBEXPL NYKU4371 NYKU6402 A1.11205020 NYLU201245 NY 8.0 ORM MY 8.0 ORM JP 8.5 HY JP 8.5 DRY 11.7 526461 11.5 52641C 24.6 511811 24.3 5118BC 28- 3- 7 28- 3- 9. 28- 3- 9 28- 3-10

73 KOBEXPL PC16808110 NY 8.0 ORM 11.7 5264AC 29- 3- 4

72 SHIRK PXCU200591 XL 8.3 DRY 12.7 52690 28- 2- 7

71 SHIMXPL ITSU200957 KL 8.5 DRY 25.4 5268EC 28- 1- 7 318

15111118214. 16 KOBEXPL TT KCIETPt NOLU202776880LU2033884MOLU2067570 NO 8.0 ORM MO 8.0 ORM MO 8.0 ORM 21.3 426iCC 21.4 4264C121.8 424601 26- 4- 1 26- 6- 2 26- 6- 3

12 KOIEXPI 13 tosexrt 14 KOHUT!. 80182020249M018204052280LU2022637 MO 8.0 ORM MO 8.0 ORM AO 8.0 ORM 21.6426661 21.442648C 21.6426418

26-5- 1 26-5- 2 26-5- 3

9 KODEXPL 10 K911EXPL 11 KOIEXPL 8018204227080102019675 M01.02011614 MO 8.0 ORM NO 8.0 ORM NO 8.0 ORM 21.842621C 21.4426211 21.4 4264AC 26-4- 1 26-4- 2 26- 4- 3

6 *088391 7 K08E391. 8 MEM. 80182030993M0182007463 140LU2063344 MO 8.0 ORM MO 8.0 ORM NO 8.0 ORM 21.44262C1 21.942628C 21.9426283 26-3- 1 26-3- 2 26-3- 3

3 KOIEXPl 4 KOBEXPL 5 KOIEXPL 8018200648880182061171 80L02056640 MO 8.0 ORM NO 8.0 ORM 80.8.0 ORM 21.4 42621C 21.7 424211 21.5 4262CC 26- 2- 1 26- 2- 2 26- 2- 3

1 KODEXPL 2 KO1EXPL 8018200406380182051770 NO 8.0 ORM MO 8.0 ORA 21.7 42626C 21.6 426261 26- I- 2 26- 1- 3

54 YOKOXPL 55 YOKOXPL 54 YOKTal CTIU4495700 5318201155 ITLU5058582 JP 8.5 DRY JP 8.5 DRY NY 8.5 DRY 24.542148C 24.34236E1 22.851401 26-6- 7 26-6- 8 26-6- 9

51 YOKOXPL 52 YOKOXPL 53 YOKOXPL 5HUU2060149 1TL115082681 UH112270960 SN 8.5 ORM NY 8.1 DRY NT 8.5 DRY 15.4423661 23.8423688 22.5 4236CH 26-5- 7 26-5- 8 26- 5- 9

48 YOKOXPL 49 YOKOXPI 50 10KOXPL KKLU205917 KKLU205018 XKLU205811 319

KL 8.5 TRY IC -LI Off XL 8.1 TRY 23.7 4224E123.0 4224FC23.1 4224F1 26- 4- 7 26- 4- 8 26- 4- 7

43 YOXOXPL 46 YOKOXPL 47 YOKOXPL 8X111201303 8810204043 8810204834 KL 8.5 DRY XL 8.5 DRY )11 8.5 DRY 23.5 42240C 23.3 422411 23.6 4224EC 26- 3- 7 26- 3- 8 24- 3- 9

42 YON8XPL 43 YOKOXPL 44 YOKOXPL 80LU2057551 1150200152 17SU200742 NO 8.5 ORM XL 8.5 DRY XL 8.3 DRY 24.6 5232F1 23.0 4224CC23.0 4224CB 26- 2- 7 26- 2- 8 26- 2- 9

40 1080191 41 1010191 XTRU877277 M0102001130 NO 8.3 ORM MO 8.5 ORM 23.4 5232FT25.6 5232FC 26- 1- 7 26- 1- 8

146 16XPL 80103003734 AO 8.5 RFR 23.3 4468E1 24- 2- 7

144 Anti 145 N6XPL SLRF484028500105001290 NO 8.5 RFR 114 8.5 RFR 22.9 4468CT23.3 4468CC 24- 2- 3 24- 2- 4

141 NeXPL 142 M6XPL 143 TOXPL 110105023154 80105010326J110501005 NO 8.5 RFR NO 8.5 RFR SN 8.5 RFR 23.5 546001 23.0 5460FC23.7 5460F1 24- 1- 7 24- 1- 8 24- 1- 9

138 16XPL 139 88XPI. 140 NUM 80105021300N086030997 SLRF4860293 NO 8.5 RFR MO 8.5 RFR SN 8.5 RFR 23.6 54661T 23.8 54680C22.4 546818 24- I- 2 24- 1- 3 24- 1- 4 320

156 86491 157 148XPL 158 NOXPL N01U2045330UFCU2069093 M01U2008534 NO 8.3 ORM NO 8.5 ORM MO 8.5 ORM 12.6 5218EC 12.9 5218FT 12.9 5218F) 24- 3- 7 24- 3- 8 24- 3- 9

152 M6XPL 1:3 116XPI 154 N8XPL 155 MGM N01U2006549801U2053108 NOLU2003046N01U2016110 MO 8.5 ORM MO 8.5 ORM MO 8.5 ORM NO 8.5 ORM 12.9521810 12.8521888 12.95218C3 12.85218E7 24-3- 1 24-3- 2 24-3- 3 24-3- 4

150 88XPL 151 88XPL 1T1.11507448 80102055121 KO 8.5 ORM NO 8.5 ORM 13.6 5218FC 23.0 5218E8 24- 2- 8 24- 2- 9

148 NOXPL 147 KM 80102013039 MYKU6804237 NO 8.5 DRY NY 8.5 DRY 30.3 5222AC24.2 521801 24- 2- 1 24- 2- 2

147 MSXPL 80102060299 AO 8.5 DRY 29.1 5248A1

24- 1- 1

108 KOBEXPL 109 KOBEXPL 3S2112938141 33102314113 NO 8.0 DRY NO 8.0 ORY 20.0 5233C120.1 523300 22- 6- 7 22- 4- 8

106 KOBEXPL 107 KOBEXPL S511,2464189 11.04129464 MO 8.0 DRY MO 8.0 DRY 19.9 323521 19.9 3235CC 22- 6- 2 22- 6- 3

104 KOBEYPI 105 KOBEXPL 11106067830 111.06104390 321

AO 8.5 DIY NO 8.5 081 20.0 5237EC 19.9 5237E3 22- 5- 7 22- 5- 8

102 KOBEXPL 103 KOBEXPL SSIU2324281 SSIU3618589 NO 0.5 DRY NO 8.5 DRY 20.2523711 19.55217E7 22-5- 2 22-5- 3

100 KOBEXPL 101 KOBEXPL SSIU2975621 11106210914 NO 8.5 DRY NO 8.5 DRY 19.9 5237DT 20.0.32371C 22- 4- 7 22- 4- 8

98 KOBEXPL 99 KOBEXPL 58102591673 11186293945 NO 8.5 DRY NO 8.5 DRY 19.552378C 19.7523718 22-4- 2 22-4- 3

96 KOIEXPL 97 KOBEXPL J1A0261615 10102603670 JP 8.0 DRY JP 8.5 DAY 18.7 5239EC 19.7 5239E3 22- 3- 7 22- 3- 1

94 KOBEXPL 95 KOIEXPL C1101298796 NICU7157025 JP 8.5 DRY JP 8.5 DRY 19.85243F1 19.55239E7 22-3- 2 22-3-

92 KOBEXPL 93 KOIEXPt 70102620482 701.02797343 JP 8.3 DRY JP 8.5 DRY 19.9 5243E3 19.7 5243FC 22- 2- 7 22- 2- 8

90 KOBEXPL 91 KOBEXPL 8013051015 C1101291775 NO 8.0 DRY JP 8.5 DRY 19.7 524518 19.9 5245EC 22- 2- 2 22- 2- 3

88 KOBEXPL 89 KOBEIPt 2013051643 11010675721 MO 8.0 DRY NO 8.0 DRY 19.7 5245CC 19.8 5745C1 322

22- 1- 7 22- 1-

86 KODEXPL 87 KOIEXPL NOL8475284 30182769744 MO 8.0 DRY NO 8.0 DRY 19.8 524518 19.8 5245C1 22- 1- 2 22- 1- 3

85 NSXPL CTIU1702911 TS 8.0 DRY 19.5 42 3A8 22- 5- 9

84 NOM XKLU241114 XL 8.0 DRY 18.4 5227ED 22- 5- 1

83 NOXPL XXL8240140 XL 8.5 DRY 18.8 5227EC 22- 4- 9

82 NOM. XXLU6652102 XL 8.5 DRY 19.6 5227DI 22- 4- 1

81 NOXPL XXLU2891008 KL 8.5 DRY 18.6 5227DC 22- 3- 9

80 N3XPL KXLU2200228 XL 8.3 DRY 18.6 52278T

22- 3- 1

79 NOXPL XXLU2520725 KL 3.0 DRY 19.1 522798 22- 2- 9 323

78 NOXPL NYKU1717227 NY 8.0 DRY 20.3 122788

22- 2- 1

136 KOBEXPL 137 KOBEXPL NYXU2500581 10244 NY 8.5 DRY NY 8.0 DRY 16.552918 16.452 9C1 21-6-7 21-6- 8

134 KOBEXPL 133 KOBEXPL JLAU261712 JLAU265790 JP 8.5 ORN JP 8.0 ORN 20.152 9kC 19.452981 21-6- 2 21-6-3

132 KOBEXPL 133.X0BEXPL CTIU1432816 8083081266 NO 8.0 DRY MO 8.0 DRY 19.8 5211CT 18.9 52113C 21- 5- 7 21- 5- 8

130 KOIEXPL 131 KOBEXPL NICU7156559 NICU7157489 JP 8.5 DRY JP 8.0 DRY 19.652118C 19.5521118 21-5- 2 21-5- 3

121 KOBEXPL 129 KOBEXPL 1T104080071 1TLU6046879 JP 8.5 ORN JP 8.5 ORM 19.9 5221FT 19.8 5221FC 21- 4- 7 21- 4- 8

126 KOIEXP1. 127 KOBEXPL 111216107491 111116129401 JP 8.5 ORR JP 8.5 ORM 20.3 5221EC19.8 5221E3 21- 4- 2 21- 4- 3

123 KOBEXPL 124 KOBEXPL 125 KOBEXPL 7808462003 ISAA668866 ISFF468941 324

TS 8-.0 DRY TS 8.0 IRT 73 8.0 Orr 17.2 5229FT 17.5 5229FC 17.7 5229F0 21- 3- 7 21- 3- 8 21- 3- 9

120 KOBEXPL 121 KOBEXPL 122 KOBEXPL TSAA668706 TSAA668728 Y844664871 TS 8.0 DRY TS 8.0 DRY TS 11.4 DRY 17.35229E1 17.5 5229EC 17.55229E3 21-3- 1 21- 3- 2 21-3- 3

117 KOBEXPL 118 KOBEXPL_ 119 KOBEXPL TSAA668836 YSAA668758 YSA4648790 TS 8.0 DRY TS 8.0 DRY TS 8.0 DRY 17.5 5229DT 17.5 5229DC 17.3 522908 21- 2- 7 21- 2- 8 21- 2-

114 KOBEXPL .,115 KOBEXPI 116 KOBEXPL YSFF668855 TSFF668954 TSFF668915 TS 8.0 DRY TS 8.0 DRY IS 8.0 DRY 17.7 5229CT 17.7 5229CC 17.7 5229C8

21- 2- 1 21- 2- 2 21- 2- 3

112 KOBEXPL 113 KOBEXPL YSFF668969 Y5AA668724 YS 8.0 DRY TS 1.0 DRY 17.752298C 17.5522988 21-1- 7 21-1- 8

110 KOBEXPL 111 KOBEXPL YSFF668808 TSFF668894 TS 8.0 DRY VS 8.0 DRY 17.7522948 17.752213T 21-1- 2 21-1- 3

52 KOBEXPL NYKU7817270 NY 8.5 RFR 22.5 4460C9 19- 2- 7

50 KOBEXPL 51 KOBEXPL

22.9 4460AC22.9 444048 19- 2- 3 19- 2- 4 325

48 KOBEXPL 49 KOBEXPL KKLU500093 80LU5004318 XL 8.3 RFR MO 8.0 RFR 23.2 5464F123.1 5460EC 19- 1- 8 19- 1- 9

46 KOIEXP1. 47 KOBEXPL KKL11500212 K1(1.004117 KL 8.5 RFR XL 8.5 RFR 23.2 5464E123.1 5464FC 19- 1- 2 19- 1- 3

64 KOBEXPL 65 KOBEXPL 66 KOBEXPL 67 KOBEXPL ITSU203726 AL11205034 3S111202762 JLLU206190 KL 8.5 Bei JP 8.5 DRY JP 8.5 DRY JP 8.5 DRY 24.8 5122F124.5 5118AT 25.1 3118AC24.8 5118AB 19- 3- 7 19- 3- 8 19- 3- 9 19- 3-10

60 KOBEXPL 61 KOBEXPL 62 KOBEXPL 63 1031EXPI. XX1U205697 ITSU202760 XKLU205329 KKLU205025 XL 8.3 DRY XL 8.3 DRY XL 8.5 DRY XL 8.3 DRY 24.7 5122EC 24.9 5122E124.0 5122FT 16.0 5122FC 19- 3- 1 19- 3- 2 19- 3- 3 19- 3- 4

57 X08EXPL 58 KOBEXPL 59 KOBEXPL KKLU205786 4K1U201275 U1.1204629 XL 8.5 DRY KL 8.5 DRY XL 8.5 DRY 24.6 5126FT 24.7 5126FC25.0 5126F1 t9- 2- 8 19- 2- 9 19- 2-10

55 KOBEXPL 56 KOBEXPL ITSU202767 ITSU203163 XL 8.5 DRY KL 8.5 DRY 25.2 5126EC 24.3 5126E1 19- 2- 1 19- 2- 2

54 XOBEXPL ITSU203528 XL 8.5 DRY 24.7 5126E1 19- 1-10

53 KOBEXPL ITSU202461 KL 8.5 DRY 24.7 5126D8

19- 1- 1 326

43 KOBEXPL 44 KOBEXPL 45 KOIEIP1. SHUU2029500 S1WU2028337SSIU202559 SN 8.5 DRY SN 8.5 DRY JP 8.3 DRY 22.051500 22.15130CC 23.05126C1 17-6- 7 17-6- 8 17-6- 9

40 KOSEIPL 41 KOBEXPL 42 KOBEXPL 0FCC2226490 SSIU2194038SSIU202669 MY 8.5 DRY NY 8.5 DRY JP 8.0 ORM 24.3 5248FC 22.3 5248F3 20.9 5214F3 17- 6- 1 17- 6- 2 17- 6- 3

37 8031331 38 WIEXPL 39 KOBEXPL ITLU5018240 S51U3052110CTIU4377029 SH 8.5 DRY SH 8.5 DRY SH 8.5 DRY 30.0 5252DT 29.0 52520C24.3 5252FC 17- 5- 7 17- 5- 8 17- 5- 9

34 KOBEXPL 33 KOSEXPL 36 KOBEXPL ITRU8784375 NYKU1475 NYKU4704145 MY 8.0 ORM NY 8.5 DRY NY 8.5 DRY 20.4 526481 25.5 5258FT 23.4 5258FC 17- 5- 1 17- 5- 2 17- 5- 3

31 KOBEXPL 32 KOBEXPL 33 KOBEXPL PXCU200379 4810205989 10CLU206075 XL 8.5 DRY XL 8.3 DRY XL 8.5 DRY 24.8 5264FT24.7 5264FC24.7 5264F3 17- 4- 7 17- 4- 8 17- 4- 9

28 KOBEXPL 29 KOBEXPL 30 KOBEXPL 8XL11205255 10110205631 PXCU200604 XL 9.5 DRY XL 9.5 DRY XL 8.5 DRY 24.7 5264E124.5 5264FC 23.0 5264E1 17- 4- 1 17- 4- 2 17- 4- 3

26 1108EXPL 27 KOSEXPL PXCU200051 KXLU204487 XL 8.5 DRY XL 8.3 DRY 24.4 52640C24.9 5264D1 17- 3- 7 17- 3- 8

24 KOBEIPL 25 KOBE IPL ITSU202807 84(10205695 XL 8.5 DRY KL 8.5 DRY 24.9 5264C324.8 5264DT 17- 3- 2 17- 3- 3 327

22 KOBEXPL 23 KOBEXPL KICLU204028 KKLU205030 XL 8.5 DRY XL 8.3 DRY 24.6 5264CT 24.5 5264CC 17- 2- 7 17- 2- 8

20 KOBEXPL 21 KOBEXPL NOLU205495300102005373 NO 9.0 ORN NO 8.0 ORM 21.3 4266FC 18.5 4264F8 17- 2- 2 17- 2- 3

19 KOBEXPL 00LU2004696 NO 8.0 ORM 21.2 4266E1 17- 1- 7

18 KOBEXPL 00102060513 NO 8.0 ORM 20.3 4266FC 17- 1- 3

101 KOBEXPL 102 KOBEXPL 103 KOIEXPt SSIU202524 JLAU205189 J110201039 JP 8.5 DRY JP 8.0 ORM JP 8.5 DRY 23.0 5118FT 24.4 S1IBFC24.4 5118F1 10- 3- 6 10- 3- 7 10- 3- 8

100 KOBEXPL AYLU201219 JP 8.3 DRY 24.5 5118E1 10- 3- 2

98 KOBEXPL 99 KCBEXPL JLLU208017 SSIU202633 JP 8.5 DRY JP 8.5 DRY 24.4 5118ET 25.1 5118EC 10- 2- 6 10- 2- 7

96 KOIEXPL 97 KOBEXPL 328

AR(120526'9' -11111707033 JP 8.3 DRY JP 8.5 DRY 24.3 51181T 20.8 5118DR 10- 2- 2 10- 2- 3

94 KOBUK 95 KOBEXPL J11.11207043 31C11570 JP 8.5 DRY JP 8.5 DRY 24.4 3118CC24.6 3118CB 10- 1- 6 10- 1- 7

92 KOBEXPL 93 KOBEXPL JLLU204293 SS1U202602 JP 8.5 DRY JP 8.5 DRY 24.3511811 21.15118CT 10-1- 2 10-1- 3

1

81 KOBEXPL M013030248 MO 8.0 DRY 19.7 32451C 8- 6- 7

80 KOBEXPL MOLU677159 AO 8.0 DRY 19.8 324511 8- 6- 1

79 KOBEXPL MOD3050477 MO 8.0 DRY 19.7 5245AB 8- 5- 7

78 KOBEXPL 301U2510858 MO 8.5 DRY 20.0 5245AC

8- 5- 1

77 YOKOIFL SRUU761714 SH 8.0 ORR 19.4 4241EC 8- 6- 6 329

76 YOKOXPL SHUU7616795 SH 8.0 ORM 19.5 4241E7 8- 6- 2

75 YOKOXPL S10187612240 SH 8.0 ORM 20.1 424118 8- 5- 6

74 YOKOXPL SHVO7613094 SN 8.0 ORM 20.3 4241DC 8- 5- 2

72 YOKOXPL 73 YOKOXPL SHUU7615307MO7612422 SN 8.0 ORM SN 8.0 ORM 19.5 4227F3 20.2 4241DT 8- 4- 6 8- 4- 7

70 YOKOXPL 71 YOKOXPL 83046 SHUU7616842 NT 8.0 ORM SH 8.0 ORM 19.6 42 3F8 19.6 4227FC 8- 4- 1 8- 4- 2

69 MOM NTKE1156 NY 8.0 ORM 19.7 42 3FC 8- 3- 6

68 YOKOXPL NYKE3586 NY 8.0 ORM 20.3 42 3FT 8- 3- 2

1

91 KOBEXPL 330

11FF674332' YS 8.5 DRY 17.3 5229AC 7- A- 7

90 KOREXPL NYKU1403925 MY 8.5 DRY 20.3 523588 7- 4- 1

89 YOKOXPL MICU7155043 JP 8.5 ORM 6.7 4221F8 7- 6-

88 YOKOXPL ICSU3882796 TS 8.5 ORM 11.7 4221E3 7- 6- 2

84 YOKOXPL 87 YOKOXPL MYKU1401202 A0586 NY 8.0 ORM 0.8.5 ORM 19.4 4249AC 19.5 4249A8 7- 5- 6 7- 5- 7

84 TOKOXPL 85 TOKOXPt SHUU761223 SHUU7615497 SH 8.0 ORM SH 8.0 ORM 19.7 4241FC 19.4 4241FB 7- 5- I 7- 5- 2

83 YOKOXPL SHUU7617430 SH 8.0 ORM 14.7 4241FT 7- 4- 6

82 TOKOXPL SHUU7611248 SH 8.0 ORM 19.7 4241E3 7- 4- 2 331

THE CELLS NOT FILLED WERE:

VAT TIER CELL PORT

NONE

THE CONTAINERS NOT LOADED UEREt

LIST YARD SEQ LOCATION ID TYPE NT HST PORT

NONE 4.237 CP SECONDS EXECUTION TINE. 332

APPENDIX G

Variables Initialized in BLOCK DATA

List Value

STWTHT Bay 0

BAY, PORT, TIER, FSTCOL, LSTCOL Tier 0

BAYORD, PRTORD, NHEAVY, NMED, ITRANS Order 0

BAYLM, BAYVM, BAYWGT Bay 0

CRGLM, CRGVM, CRGWGT, CSTLM, CSTVM, CSTWGT, DISPLC, 0 DRFTMD, KM, LBP, LCB, LCF, LGTVM, LGTVM, LGTWGT, MTC, TNKFSM, TNKLM, TNKVM, TNKWGT, TOTLM, TOTVM

FSTROW, LSTROW, SETLEN, SETPRT, SETSEC Set 0

AVGWGT, FSTCON, LSTCON, NUMBER, ROWLOC, ROWSET Row 0

CHGT, CLODED, CPOS, CROW, CTIER, CWGT, CLINE, Container 0 CTYPE, LODSEQ

CMARG, RMARG, CRTRNG 0

TRNDIS, TOTCON, TOTSEC, TRNMOV, REHNDL 0

MSET, MROW, MORD 100

MCONT 750

MTIER 200

CID Container 10 spaces

CELLON, CELLUD on & under 9999 deck bay

LOLIM(1,1), HILIM(1,1) 0,10 LOLIM(2,1), HILIM(2,1) 10,15 LOLIM(3,1), HILIM(3,1) 15,21 LOLIM(1,2), HILIM(1,2) 0,15 LOLIM(2,2), HILIM(2,2) 15,23 LOLIM(3,2), HILIM(3,2) 23,31