107
Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 1 City University of Hong Kong Department of Computer Science Dissertation (Final report) Project Title: Cargo Load Planning and Analysis Student Name: Fok Ming Ka, Kelly Student No.: 96480570 Supervisor: Dr CHUN, Andy H W 2 nd Reader: S. L. Hung 2003-2004 Master of Science in Computing

Department of Computer Science Dissertation - CityUCShwchun/FYP/2004/Kelly.pdf · Department of Computer Science Dissertation ... Dimension tables ... Floor plan for B777-200

Embed Size (px)

Citation preview

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 1

City University of Hong Kong

Department of Computer Science

Dissertation (Final report)

Project Title: Cargo Load Planning and Analysis Student Name: Fok Ming Ka, Kelly Student No.: 96480570 Supervisor: Dr CHUN, Andy H W 2nd Reader: S. L. Hung

2003-2004

Master of Science in

Computing

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 2

Table of Contents

EXTENDED ABSTRACT ............................................................................... 5 ACKNOWLEDGEMENTS.............................................................................. 6 INTRODUCTION ........................................................................................ 7

Background .................................................................................................... 7 Project aim ..................................................................................................... 8 Project objectives ........................................................................................... 8 Why the topic is useful ................................................................................... 9 Potential outcomes......................................................................................... 9 Report Organization ..................................................................................... 10

LITERATURE REVIEW AND ANALYSIS ........................................................11 Overview .......................................................................................................11 Review: Methods to solve loading analysis problems ................................. 13

Users requirements ..................................................................................................................14 How could data warehouse help?.........................................................................................14 Data warehouse architecture..................................................................................................14 Difference between traditional databases and data warehouse ......................................15 Database method chosen for loading analysis ....................................................................15

Review: Methods to solve the load planning problems ............................... 16 Personal Expertise ....................................................................................................................16 Heuristic Algorithms ...............................................................................................................16 Optimization Algorithms........................................................................................................19 Algorithm used in this project ...............................................................................................20

Description of optimization algorithm........................................................... 22 Different constraints on volume on different aircraft type ............................ 27

A330/300 & A340/300 ............................................................................................................27 B777/200 ....................................................................................................................................28 B777/300 ....................................................................................................................................29 B747P ..........................................................................................................................................30

SPECIFICATION AND MODELING OF SYSTEM REQUIREMENTS...................... 31 Technology Review ...................................................................................... 32

Three-Tier approach ................................................................................................................32 Middle Tier – Integer Programming.....................................................................................33 Architecture Design .................................................................................................................35

Analysis and Design..................................................................................... 41 Use-Case Diagram....................................................................................................................41 Collaboration Diagram – perform cargo analysis ..............................................................41

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 3

Collaboration Diagram – perform cargo planning.............................................................42 Collaboration Diagram – perform booking .........................................................................42 Sequence Diagram – perform cargo analysis ......................................................................43 Sequence Diagram – perform cargo planning.....................................................................44 Sequence Diagram – perform booking.................................................................................45

Database Design.......................................................................................... 46 Load planning...........................................................................................................................46 Database Design for Loading Analysis ................................................................................48

Optimization design and implementation..................................................... 51 Oracle..........................................................................................................................................51 MATLAB....................................................................................................................................51 MOSEK.......................................................................................................................................53

Program Architecture ................................................................................... 56 Main Structure of the programs ............................................................................................56 Login...........................................................................................................................................56 Cargo Analysis..........................................................................................................................57 Cargo Booking ..........................................................................................................................57 Cargo Planning .........................................................................................................................58 Logout ........................................................................................................................................59

Processing time............................................................................................ 60 Loading analysis.......................................................................................................................60 Load planning...........................................................................................................................60

Test Plan....................................................................................................... 61 Loading Analysis......................................................................................................................61 Load Planning...........................................................................................................................61 Cargo Plan for XX331/26122004 (HKGHAN).....................................................................64 Login...........................................................................................................................................66 Guidelines for load plan..........................................................................................................68 Loading Analysis by specific flight .......................................................................................74 Cargo booking list for load plan............................................................................................77 Cargo Plan .................................................................................................................................81 Logout ........................................................................................................................................85

CONCLUSION..........................................................................................86 Challenges ................................................................................................... 86 Project aim and Objectives .......................................................................... 87

GLOSSARY..............................................................................................88 Definition of Business Terms........................................................................ 88

REFERENCE ...........................................................................................89

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 4

APPENDIX ..............................................................................................90 Database Schema........................................................................................ 90

Fact tables ..................................................................................................................................90 Dimension tables ......................................................................................................................93

Project Plan (schedule time) ...................................................................... 103 Freight information ..................................................................................... 104

Floor Plan for A330 ................................................................................................................104 Detailed floor plan for A330.................................................................................................104 Floor Plan for B747P...............................................................................................................105 Suggested load plan for B747P.............................................................................................105 Floor plan for B777-200..........................................................................................................106 Suggested load plan for B777-200........................................................................................106 Floor plan for B777-300..........................................................................................................107 Suggested load plan for B777-300........................................................................................107

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 5

EXTENDED ABSTRACT This project is to create a Decision Support System for considering certain flight loading factors so as to make their decisions in long term strategy or short term tactics. The whole project will be divided into two parts: loading analysis and load planning. Loading analysis is to use historical data for analyzing and estimate the future flights loading, help them to plan their long term contracts and allotments. Load plan is the short term tools for planning ULDs loaded for the flights which are departed within two hours. In this project, in order to help users to get more dimensions to analyse, a datawarehouse are built up in oracle server for loading analysis. The load planning uses the optimization tools, MATLAB and Mosek, and ideas are from Marcel Mongeau, Chrstian Bes. The success of the project is depended on the accurate and timely information. This project could also consider this point on daily extraction.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 6

ACKNOWLEDGEMENTS I would like to thank Dr. Andy Chun for being my supervisor of this project, giving me freedom to make my dream idea come true. He also gave me encouragements and much valuable advice on software, project management and layouts, making me full of confidence to tackle my problems. I would also like to thank Mrs. Doris Ng for her support on my project, and Mr. Vincent Shing for his professional advice on cargo loading analysis. Thanks God for supporting me during the whole project.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 7

INTRODUCTION

BACKGROUND

Demand for air cargo space is always high. This is the case even when there are more flights allowed to fly in Chek Lap Kok airport. The price for air cargo space is valuable because supply is still limited compared with demand, For some incidents like the riot of western coast of US, air cargo space becomes more competitive for our clients. In such a high demand of air cargo space, we could still find that the cargo and mail load factor is not so high at all. This factor is not only affected by low demand for cargo space of specific ports, but also by not well utilized of cargo space, which is the topic I am going to discuss in this paper.

You could see that from airline monthly report [7]: Cargo and mail tonne km (000) 454,564

Available cargo/mail tonne km (000) 671,638

Cargo and mail load factor 67.7%

Abstracted from CATHAY PACIFIC RELEASES SEPTEMBER 2003 TRAFFIC FIGURES

Swisscargo sees 85% surge in load factor for 1998 [8] The Asia region constitutes 22% of Swisscargo's worldwide revenues, with good growth

potential. In 1998, a total of 75,000 tonnes were transported out of Asia in a remarkable

85% load factor, according to Rudolf Steiner, marketing manager Asia Pacific & India.

If we could increase the cargo and mail load factor, this would help to earn more revenue for an airline. For the container loading, there are many factors and parties affecting the cargo load factor. Starting from the cargo sales, their allotments distributed to different ports/stations, the terms of long-term agent contracts, the amounts of bookings, those decisions could affect both cargo loading and the most important point – cargo revenue. Cargo staff collects the pre-packed containers and help to pack goods, how to queue up goods and how to fill the container,

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 8

like what Joseph E. Beaini, Pascal R. Bedrossian [5] mentioned, will affect the utilization of containers. Cargo space division helps to plan which container to be loaded. It is assumed that a single airplane is to carry a set of containers for which their weights are known. Cargo space has a list of containers so as to prioritize the preferences. Constraints like transit goods, allotments are considered. This decision could affect the under-load of flight. The last party is the load control session to check the center of gravity. If cargo affects the flight balance, containers are forced to offload in the origin and leads to high flight under-load. With a good system, we could evaluate the actual flight utilization for Cargo Sales department and Cargo space control so as to set up a long-term marketing strategy, like cargo allotments, long-term cargo contracts and develop cargo sales trend. Moreover, it could set up the short-term goal like how to well utilization of flights space.

PROJECT AIM

Cargo load plan and analysis system is to set up a Decision Support System designed for the airline company on passenger planes. Through the system, company could evaluate the past cargo space history so as to plan the long term cargo sales strategies, like cargo allotment, contract amount with cargo agents and cargo rating. Moreover, they could make load plan in a short period of time through existing booking data, i.e. subbing weight and volume into the linear model to estimate the space optimization and the result could help to evaluate the performance of cargo space after that.

PROJECT OBJECTIVES

Through this project, different software engineering methods could be used in order to speed up the project. General requirements could be grasped from the journals and airline and other companies. The client and server method would also be applied in this project to store our database and support web-based screen. Lastly, this paper is going to find out the best-suit algorithms so as to develop a cargo load planning system.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 9

WHY THE TOPIC IS USEFUL

For a passenger plane, the airline company could not only consider to fill up the passengers, but also to fill up cargo for the planes. This system could help to plan the flight loading which give a guideline to cargo space division so that to well utilized the cargo space, for the whole cargo department to deal with the problem of overbooking, and also help the management to evaluate the performance of flight utilization. This is also important for the day before departure we take one last overall assessment of the concrete flight. Decisions like, what shipments do we have? how many passengers? How much capacity is left, if any? And if we have to decide on shifting shipments to other routes or departures, which shipments are to go and which are to stay onboard.

POTENTIAL OUTCOMES

The system outcomes are the web-based application software to store the cargo loading history database so that users could do some queries for the old loading history data. Moreover, it could also store the updated booking database which applied the linear modeling theories to do the cargo space planning for the cargo space division. Assumptions: 1. Cargo space division could get passenger information instantly. 2. Containers are filled before doing load plan 3. List of filled containers with priority, if they are booked with the concerned

flight, they should be loaded first. 4. Database stores production real-time data for planning together with

historical cargo data for analysis.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 10

REPORT ORGANIZATION

This report is going to present into different parts. First, project background (the parts you have gone through above) and its aim and objectives. Next, in literature review and analysis part, the current situation will be analyzed and based on the current situation, the alternatives from the journals would be compared so as to get the best one for the project, and some improvements for algorithm would be proposed. Then, in Design part, sequence diagrams & interface diagrams will be included so as to demonstrate how the project implements the algorithms. Next, project plan would be shown so that it could be better for us to follow time schedule.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 11

LITERATURE REVIEW AND ANALYSIS

OVERVIEW

There are many papers discussing ways for maximizing load utilization. Many factors affecting this, in this paper, the load plan for list of filled containers would consider only, like the flow showed below: For the following part, only those papers discussing aircraft-containers loaded will be chosen. The best suit method will be chosen by considering factors like center of gravity, geometric center positions, numbers of containers allowed for each hold, maximum weight allowed for cargo / for each hold (max allowable load – passenger weight – mail cargo weight – equipment weight = cargo available load), maximum volume allowed and the like. Implementation of the algorithms chosen will be shown in other parts, system development, which could help to improve the under-load problem.

List of filled containers

Conduct Load Plan

Load containers

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 12

This is the process flow chart for load plan.

Get positions left after deducting loaded and unloaded with preferred position

Plan the load to reduce remain capacity (under-load)

Start

Get: - unknown - unloaded, preferred position specified - unloaded, no preferred position - loaded

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 13

REVIEW: METHODS TO SOLVE LOADING ANALYSIS

PROBLEMS

The existing system uses Access with tables using traditional database design. The problem found in the Access database is that it is not so flexible for reporting. They need to modify design for one scope when there is a new request. Moreover, Access does not allow multiple update and the amount of data should not be huge. The data source of the current system is limited. Traditional design

From the above diagram, it could show that there are three tables stored in the existing Access system, including flight loading data, cargo load data for each flight and aircraft details. In this design, they couldn’t analyze the data in different scopes, like by region, by date, by year.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 14

Users requirements Cargo space capacity of each flight is their main concerns. In order to analyze the flight utilization, 2 factors are considered: weight and space. In the report, two columns will be highlighted: the flight’s under-load (total weight allowed – total weight loaded) and number of no-fit (total unit of space allowed for containers – total unit of space used). Moreover, baggage ratio is used to estimate cargo allowed to load in future flights. Upon all these data, different dimensions, like by year, by day of week, region, flight, aircraft type… will be used to review for the above data results. How could data warehouse help? Data warehouse is an analytical database, which is designed for large volumes of read-only data, which is a historical database and data stores extracted, integrated, managed and analyzed from various operational systems. It could integrate all data sources and provide flexible and fast access for users and allow high volume of data for analysis. It could also help users to consider many factors by different dimensions. According to [19] E. Franconi and U. Sattler, “Data Warehouse Conceptual data model allows for the description of both the relevant aggregated entities of the domain – together with their properties and their relationships with other relevant entities – and the relevant dimensions involved in building the aggregated entities.” It is an extended version of the Entity-Relationship Data Model, allows complex database structure and multiple hierarchically organized dimensions, which would be beneficial for analyzing data and decision-making. Data warehouse architecture Data are extracted from many source systems, databases and files. Then data are integrated and transformed before being loaded into the data warehouse. However, for the traditional design, data shown in the files must match with the fields shown on the tables.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 15

Difference between traditional databases and data warehouse “The focus of data warehouse is data analyzing, not data processing and its associated functionality, so processing modeling and other tasks associated with developing processing functionality are generally not needed. “[16]. Traditional databases are more focusing on the data processing time, so they would normalize their tables. However, data warehouse concept may have to de-normalize data so as to speed up the data analyzing time. Database method chosen for loading analysis Building up a data warehouse for loading analysis is a better method, as it could help users to analyze flight’s loading data in different dimensions. It could also have more sources data because data warehouse allows extraction from different sources.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 16

REVIEW: METHODS TO SOLVE THE LOAD PLANNING

PROBLEMS

Personal Expertise Getting the list of filled containers, the expertise use the passenger data to get the rough maximum load and rough numbers of usage of baggage containers. Then they decide containers loaded from the list and choose the version of loading (e.g. 2 pallets 4 ULDs or 4 pallets 2 ULDs). It is agreed that what Joseph and Pascal [5] stated that personal expertise highly depends on the experience of the person working in the loading area. Therefore, we could not know whether the human decisions could make the best loading (i.e. minimum under-load), and human decisions will be affected by emotion and other factors. There are risks for the company when those personal expertise leave the cargo team. Moreover, according to Airbus Packing at Federal Express [4], it did not agree human decision on load plan, ‘in some cases, the ground crew can easily pack the plane with no computational support. As the weight to be carried increases, however, the task becomes increasingly complex’.

Heuristic Algorithms

Heuristic method is used to generate a reasonably good solution. There are some published works focusing on aircraft loading. Larsen and Mikkelsen [11] and Amiouny et al. [1] have suggested ways to determine a feasible load plan for a single aircraft. Larsen and Mikkelsen [11] developed an interactive, computer based procedure for solving variant of vehicle loading problem encountered when loading containers and pallets into an aircraft. It used two heuristics concerning ground stability, combined load limits, position and compartment capacity constraints and balance.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 17

Amiouny et al. [1] presented an approach for the one-dimensional loading problem where in the constraint is to balance about the aircraft’s midpoint. It concerned the following cases, a) all given containers must be loaded; b) containers are to be positioned on a one-dimensional hold. The problem considered was to airlift cargo, which must be entirely loaded, in a specified prioritized sequence (through branch and bound – take into account of expertise of highly trained loadmasters.) Martin-Vega, L.A. [12] mainly focused on generating a feasible plan rather than an optimal one. It considered a manually dominated process. However, heuristic method involves experienced ground personnel trying to obtain an acceptable loading (satisfy the above stated constraints) by manual trial and error process. But this could not get the Maximum load. Clive Thomas, Kevin Campbell, Gail Hines, Michael Racer [4] developed a heuristic method (i.e. branch-and-bound) for loading containers into positions on the aircraft to address loading preferences and maintain feasibility constraints, it determined a feasible packing which minimized nonproductive time. Time is a critical factor in Federal Express, ground crew usually start packing planes before all the containers arrived. However, this assumption may not be applied for the airline company as the extra loose goods or baggage could be put into Hold 5, and for the time before all containers arrived, ground crew of an airline company could load baggage containers, mail containers and containers with preferred positions (for example, transferred containers offloaded in next leg), moreover, in Hong Kong, the distance from the container packing area to the loading plane is short (processed by HACTL or AAT). Therefore, we assume containers with no preferred position would not be preloaded before load plan issued. Moreover, it [4] concerned with the loading of lighter aircrafts for which are fuel efficient, but a cost of tighter structural and weight limits sensitive to the load. This is a problem not experienced in the heavier

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 18

aircrafts. Therefore, there is no static limit on the weight to be placed in each cargo zone: the zone limits on the weight are a stepwise-linear function of the center of gravity. This yields nonlinear constraints on the position of the center of gravity. In order to avoid an integer nonlinear programming problem, they assumed, in a phase-1 sub-problem, that the list of containers to be loaded was, again, known a priori. This phase-1 sub-problem must then repeatedly be solved after removing containers from the list until the feasible packing was found. The method they presented is a heuristic. They used a spreadsheet interface in order to find a solution satisfied the constraints (rather than maximizing the weight loaded). Then this is not possible in phase1, and the ground crew must select one or more containers to remove from the set (and repeat phase 1). Preferred-positions constraints were then added in phase 2. Such constraints were recursively removed until a feasible load plan was found. According to Uwe H. Suhl and Leena M. Suho [10], in order to solve airline-fleet scheduling problems with mixed-integer programming, they have proposed the following heuristic algorithms:

- First-in-first-out (FIFO): the aircraft which arrived first, will leave first - Last-in-first-out (LIFO): the aircraft which arrived last, will leave first - Best-first (BF): choose that flight from available (not yet planned)

flights which can be flown by an aircraft with the shortest standing time

The theory they stated could also apply in load plan area.

- First-in-first-out (FIFO): the filled container which arrived first, will leave first

- Last-in-first-out (LIFO): the filled container which arrived last, will leave first

- Best-first (BF): choose filled container from available (not yet planned) list which high priority of the container is loaded first.

Methods of FIFO and LIFO are used when time is the main constraint of loading and all are expressed goods whereas space is a low cost factor. However, this could not apply to the airline company as space

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 19

for each traveling plane is expensive. The best-first method proposed above ignores the factors of center of gravity and load balancing.

Optimization Algorithms

Marcel Mongeau and Christian Bes [3] addressed the problem of loading and balance the load in an aircraft so as to minimize fuel consumption and to satisfy stability/safety requirements. Their formulation methodology was allowed to solve the problem within 10 min, by off-the-shelf integer linear programming software. Given a list of containers, with their respective weight and volume, (s subset of) the containers must be assigned to a finite number of possible container locations (also given, for the specific aircraft under consideration) in the cargo holds [3]. They [3] had the two following objectives to optimize. 1. as much weight as possible should be loaded - for airline

companies, freight income is generally related to the weight loaded, as opposed to volume.

2. the resulting center of gravity of the aircraft should be as far aft as possible - to minimize fuel consumption, but not behind a limit imposed by stability requirements.

Various constraints had been included in the mathematical formulation [3], like Structural constraints including compartment-volume and compartment-weight capacities, and total aircraft maximal weight once loaded. The allowable total weight depends on the weight of the empty aircraft plus passengers, fuel, and bulk freight. For instance, a given subset of the container list can be specified to be loaded. Furthermore, some given containers for which can be constrained would be placed in some specified compartments. Other constraints that can easily be modeled include requiring some given containers, already loaded by the ground crew, not to be displaced, in order to expedite the plane’s departure (where time is critical factor). It [3] purposed use mathematical programming formulation for

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 20

addressing aircraft container loading – solved by optimality, not by heuristic method, it opposed to those papers assumptions [1,13,14], they did not rely on assumption that the containers to be loaded are known a priori, it decides which containers are to be loaded and which are to be left on the ground for a subsequent flight.

Algorithm used in this project

Concerning all factors affecting load planning, i.e. efficient use of space and load balancing, center of gravity, so as to make the best load plan, optimization would be the best method to include all factors in the integer programming to get the optimal result – minimum remain capacity (under-load). This project extends the work of Marcel Mongeau and Christian Bes [3] in the following areas. 1. Passengers and fuel weights may be changed in the final decision, as an airline company, the numbers and weights of passengers are the critical factors affecting the load plan. Therefore, the constraints of passenger’s weight & fuel should be shown in the integer programming to make the final check for load plan, instead of showing one lump sum amount – allowable total weight. 2. Mainly focus on minimizing under-load, rather than to maximize total cargo load. 3. List out the containers identifier and its location and the version (for example 4 containers 1 pallets) chosen and generate the load plan sheet. 4. This paper has the assumption that there are list of containers with priority. In the real cargo business, cargo like express cargo, firmed booking should have a higher priority to load, I will still apply M. Mongeau and C. Bes algorithm for the same priority goods. 5. After interviewing some airline staff, hold and compartment concepts proposed by [3] are in reverse. In order to be used in local area, the following algorithm will reverse hold and compartment. That is, there are 5 holds and 2 compartments for A340.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 21

The graph shows the algorithm used in this project:

Identifier Priority Weight Type PMC12345XX 1 4300 Cargo AKE1235XX 1 1300 Mail P6P3455XX 1 5500 Baggage PQP3466XX 1 4400 Equipment AKE1102XX 1 1470 Cargo - loaded PMC2233UA 1 4500 Transferred AKE3390XX 2 1000 Cargo PMC4582XX 2 1480 Cargo AKE3333XX 2 1230 Cargo AKE2424UA 2 1132 Transferred –

confirmed next flight AKE4443XX 2 1450 Cargo 2 2 List of containers loaded for this flight

A340-300 Cargo Hold

[15]

Containers with preference and loaded cargo

2 containers and 2 pallets

4 containers 1 pallet

6 containers and 0 pallet

Mosek helps us to choose a version with lowest residual load

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 22

DESCRIPTION OF OPTIMIZATION ALGORITHM

Referring to the objective of this project, this paper aims at minimizing the cargo loading residual (i.e. under-load), the Mres. Subject to this, there are a lot of constraints from various aspects that we should consider. And it is desirable to present these constraints in mathematical method – linear programming, so that we could reach the optimal solutions in a simply way. According to Marcel Mongeau and Christian Bes [3], the optimization of aircraft container could be analyzed in the following way. Before listing out the constraints, we have the following notation as of the input data:

Ncont number of containers on the list (with priority) Ncomp number of compartments Nhold number of holds Hk (⊆{1,2,…, Nhold }) are the holds in compartment k (k = 1,2,….,

Ncomp)

Ma mass of the aircraft (before loading) M(x) mass of cargo loaded Mres mass of residual (i.e. under-load) Mi mass of container i (I = 1,2,…, Ncont) Mpax mass of the total number of aircraft passengers Mfuel mass of fuel injected into the aircraft Mmisc mass of other miscellaneous items (example: mail, baggage,

etc) Mmax maximal mass of freight that can be loaded k Mmax maximal mass of freight that can be loaded in compartment k (k =

1,2,…., N compartment)

On top of the above given data, we also have the following assumptions and it is expected such information is provided by the aircraft manufacturers:

1. The dimensions and weight of each of the given Ncont containers 2. All the possible locations of the containers in the cargo holds 3. A given subset I of the container list that the user wishes to be

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 23

loaded (containers that cannot be left on the ground because they contain). This would impose another freight constraints

4. List of couples (i,k) for any given container i that the user wants to be in a specific hold k. This allows for the possibility of requiring some given containers, already loaded by the ground crew, not to be displaced so as to expedite the plane’s departure

Besides the above input data, we have, as well, the optimization variables (or so called ‘decision variables’), which are binary: xij ∈{0,1}. The value is 1 if container i is to be placed in hold j, and 0 otherwise ( i=1,2,…., Ncont ; j=1,2,…., Nhold )

Now, in recall to the objective, the total mass residual can therefore present into the following mathematical model that we should minimize Mres:

Minimize Mres

subject to Mmax – (Mpax + Mfuel + Mmisc + M(x) given by (i) )

where Mres ≥0

(i) Ncont Nhold M(x) = Σ Σ Mi Xij

I=1 J=1

Behind this mathematical model, there are different kinds of physical constraints defining the center of gravity and load & shear restrictions.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 24

Aircraft constraints [3] The mass cargo capacity constraints for the overall aircraft and for each hold are described as follows:

Ncont Nhold M(x) ≤ Mmax , where M(x) = Σ Σ Mi xij

I=1 J=1 ~ for the overall aircraft

Ncont Σ Σ Mi xij

k

≤ Mmax , k = 1,2,…., Nhold I=1 J∈Hk

~ for each compartment

Mathematical constraints [3] By assumption, each container must be loaded at most once. And by the binary definition of the xijs, this can be written as follows:

Nhold Σ xij ≤ 1 , for all i = 1,2,…., Ncont

J=1

Freight constraints [3]

In recall to the previous assumption, if it happens that a subset I of the container list is required to be loaded, then we have the following condition:

Nhold Σ xij = 1, for all i∈I

J=1

And furthermore, for any given container i required to be in a specific hold k, we have the following additional criteria:

xik =1 , and therefore xij = 0, for all j ≠ k

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 25

Volume capacity constraints [3] It should be aware that such kind of constraints is specific to 1) type of aircraft, and 2) the associated types of containers that has to load. For the simplicity of this project, we consider a special aircraft type “A340-300” as of the reference aircraft type throughout the passage. We assume that all the cargo are categorized into either small pieces ( si ,j=1,2….,Nhold ) or large pieces ( lj ,j=1,2,….,Nhold ), and that the space allocated by a large piece is twice of a small piece (i.e. lj = 2si). Also, there are total 5 holds (2 in the forward and 2 in the aft and last hold for loose baggage) within this aircraft type.

In terms of the optimization variables xijs, the 2 types of pieces can be defined as follows:

Nhold sj = 2 x Σ xij I=1

Nhold lj = Σ xij I=1

To sum up, we should bear in mind that we are focused on the volume and weight restrictions. However, realistic solution must rely on additional constraints that depend on the specifications of the aircraft. For instance, the need for balance, axle weight restrictions, pounds per linear-foot limits, dangerous goods restrictions and so on. In regard to the above study, it is feasible to propose a web-based system for which providing user the optimal values of cargo weight, number of small (container) and large (pallet) pieces of cargo that can be loaded, and minimum value of under load in a convenient and real-time delivery way, subject to various criteria and conditions for each flight. The core of the system is to adopt the mathematical approach - integer programming, and the methodology – iterations, to generate the optimal values. The next section “Specification and modeling of system requirements” describes the overall architecture of this system. In short, whenever user inputs the estimated values of total passenger, fuel, and miscellaneous weights, this system can show the solutions in front of the web-browser within short

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 26

period of time. And such information can also be delivered into other media, say physical hardcopy. Furthermore, whenever the user provides a more accurate input later on, this system can deliver more precise outputs. This solution can minimize the time required to load the plane and obtain the feasible packing.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 27

DIFFERENT CONSTRAINTS ON VOLUME ON

DIFFERENT AIRCRAFT TYPE

A330/300 & A340/300 HOLD

Pax Flights 1 2 3 4 5 A330/300 A340/300

6S 2L

12S 4L

8S 3L

6S 2L

Compartment 1 S1 + 4L1 <= 6 if L1 <= 1 S1 = 0 if L1 = 2

Compartment 2 S2 + 4L2 <= 12 if L2 <= 1 S2 + 4L2 <= 14 if 2 <= L2 <= 3 S2 = 0 if L2 = 4

Compartment 3 S3 + 4L3 <= 8 if L3 <= 1 S3 + 4L3 <= 10 if L3 = 2 S3 = 0 if L3 = 3

Compartment 4 S4 + 4L4 <= 6 if L4 <= 1 S4 = 0 if L4 = 2

S1 + 4L1 – 8Y11 <= 6 L1 - Y11 <= 1 S1 + 6Y11 <= 6 -L1 + 2Y11 <= 0 L1 + 4Y11 <= 6

S3 + 2L3 - 8Y31 <= 6 S3 + 4L3 - 12Y31 <= 8 L4 - Y32 <= 1 S3 + 2L3 - 6Y32 <= 8 L3 - 2Y32 <= 1 L4 - Y33 <= 1 S3 + 2L3 - 8Y33 <= 6 -L3 - 2Y33 <= -2 L3 - Y33 <= 2 Y31 + Y32 + Y33 = 2

S2 + 4L2 – 16Y21 <= 12 L2 – 3Y21 <= 1 S2 + 4L2 – 14Y22 <= 14 -L2 – 2Y22 <= -2 L2 – Y22 <= 3 S2 – 8Y23 <= 0 -L2 – 8Y23 <= -4 L2 <= 4 Y21 + Y22 + Y23 = 2

S4 + 4L4 – 14Y41 <= 6 L4 – Y41 <= 1 S4 + 6Y41 <= 6 -L4 + 2Y41 <= 0 L4 + 4Y41 <= 6

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 28

B777/200 HOLD

Pax Flights 1 2 3 4 5

B777/200 8S 3L

10S 3L

6S0L

8S0L

Compartment 1 S1 + 4L1 <= 8 if L1 <= 1 S1 = 2 if L1 = 2 S1 = 0 if L1 = 3

Compartment 2 S2 + 4L2 <= 10 if L2 <=2 S2 = 0 if L2 = 3

Compartment 3 S3 = 6 if L3 = 0 Compartment 4 S4 = 8 if L4 = 0

S1 + 4L1 – 12Y11 <= 8 L1 – 2Y11 <= 1 S1 – 2Y12 <= 2 -L1 – 2Y12 <= -2 L1 <= 2 S1 – 3Y13 <= 0 -L1 – 3Y13 <= -3 L1 <= 3 Y11 + Y12 + Y13 = 2

S3 <= 6

S2 + 4L2 – 12Y21 <= 10 L2 – Y21 <= 2 S2 + 10Y21 <= 10 -L2 + 3Y21 <= 0 L2 + 6Y21 <= 9

S4 <= 8

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 29

B777/300 HOLD

Pax Flights 1 2 3 4 5

B777/300 8S 3L

16S 5L

12S 4L

8S 2L

Compartment 1 S1 + 4L1 <= 8 if L1 <= 1 S1 = 2 if L1 = 2 S1 = 0 if L1 = 3

Compartment 2 S2 + 4L2 <= 16 if L2 <= 2 S2 + 4L2 <= 18 if 3 <= L2 <= 4 S2 = 0 if L2 = 5

Compartment 3 S3 + 4L3 <= 12 if L3 <= 2 S3 + 4L3 <= 14 if L3 = 3 S3 = 0 if L3 = 4

Compartment 4 S4 + 4L4 <= 8 if L4 <= 1 S4 + 4L4 = 10 if L4 = 2

S1 + 4L1 – 12Y11 <= 8 L1 – 2Y11 <= 1 S1 – 2Y12 <= 2 -L1 – 2Y12 <= -2 L1 <= 2 S1 – 3Y13 <= 0 -L1 – 3Y13 <= -3 L1 <= 3 Y11 + Y12 + Y13 = 2

S3 + 4L3 – 16Y31 <= 12 L3 – 2Y31 <= 2 S3 + 4L3 – 14Y32 <= 14 -L3 – 3Y32 <= -3 L3 <= 3 S3 – 4Y33 <= 0 -L3 – 4Y33 <= -4 L3 <= 4 Y31 + Y32 + Y33 = 2

S2 + 4L2 – 20Y21 <= 16 L2 – 3Y21 <= 2 S2 + 4L2 – 18Y22 <= 18 -L2 – 2Y22 <= -3 L2 – Y22 <= 4 S2 – 5Y23 <= 0 -L2 – 5Y23 <= -5 L2 <= 5 Y21 + Y22 + Y23 = 2

S4 + 4L4 – 8Y41 <= 8 L4 – Y41 <= 1 S4 + 4L4 + 6Y41 <= 16 -L4 + 2Y41 <= 0 L4 + 4Y41 <= 6

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 30

B747P HOLD

Pax Flights 1 2 3 4 5

B747P 6S 2L

10S 3L 14S

4L

Compartment 1 S1 + 4L1 <= 6 if L1 <= 1 S1 = 0 if L1 = 2

Compartment 2 S2 + 4L2 <= 10 if L2 <= 2 S2 = 0 if L2 = 3

Compartment 3 0

Compartment 4 S4 + 4L4 <= 14 if L4 <= 3 S4 = 0 if L4 = 4

S1 + 4L1 – 8Y11 <= 6 L1 – Y11 <= 1 S1 + 6Y11 <= 6 -L1 + 2Y11 <= 0 L1 + 4Y11 <= 6

0

S2 + 4L2 – 8Y21 <= 10 L2 <= 2 S2 + 10Y21 <= 10 -L2 + 3Y21 <= 0 L2 + 6Y21 <= 9

S4 + 4L4 – 16Y41 <= 14 L4 – Y41 <= 3 S4 + 14Y41 <= 14 -L4 + 4Y41 <= 0 L4 + 8Y41 <= 12

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 31

SPECIFICATION AND MODELING OF SYSTEM

REQUIREMENTS

RDBMS Server (Oracle)Terminal with

Web Browser (JSP)

Database

Web and Application servers,together with

linear optimization base system MOSEK

Overall System Architecture Design -3 Tiers Approach

First Tier Middle Tier Third Tier

Reports

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 32

TECHNOLOGY REVIEW In recall to the previous defined objective,

Minimize Mres

Subject to Mmax – (Mpax + Mfuel + Mmisc + M(x) ),

where Mres ≥0 It is an enhancement if the above improvement can be implemented by a system so that user can collect the required information in a more convenience way. In regard to the feasibility, the solution would be deployed in web-based approach. Similar to other web based applications, user can acquire the required cargo arrangement information by entering the flight and cargo information through a web page. After passing the user request to the web server, it invokes the backend application server to generate the optimal results and return it back to the web server for the display. Similarly, when they want to generate historical report about loading analysis, their requests with flight number and flight date have been passed through application server and grasp data from the database server back to the web server for display. Three-Tier approach In regard to this system, three-Tier approach is chosen as the overall architecture design. In the front-end region, a web browser would be deployed to the client machine for the communication with the application. In the middle-tier, both web and application servers are arranged in that region for handling the income request and retrieving information from the database management system (RDBMS). They serve for manipulating the web-pages and processing the business logics. The scripts and services, such as

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 33

JavaScript and Java server pages (JSPs) are employed in the application server for accessing the backend database, and in this project J-Builder and Tomcat are chosen for providing the service. On the other hand, the web (HTTP) server manages requests from the browser and delivers HTML documents and files in response. It also executes server-side scripts (CGI scripts, JSPs, ASPs, etc.) that provide functions such as database searching and e-commerce. Tomcat is the right candidate for serving this kind of service. In the third-tier, Oracle is chosen for serving the relational database management system purpose (RDBMS). Details of flight and cargo information are stored in this area, and JDBC is communication channel with the middle-tier. Middle Tier – Integer Programming In recall to the objective, linear programming approach is adopted for generating the business logic, and MOSEK is employed for handling the involved business objectives, business constraints, and decision variables. MOSEK is a software package for solution of mathematical optimization problems.

Indeed, MOSEK allows the user to specify an optimization problem and submit the problem to one MOSEK optimizers for which will compute the optimal solution, and finally MOSEK will report the optimal solution.

MOSEK cannot solve all types of optimization problems but has been designed for solution of the following problem classes:

• Linear optimization. • Convex quadratic optimization. • Quadratically constrained convex optimization. • Conic quadratic optimization. • Convex optimization. • Geometric optimization (posynomial case). • Handle integer valued variables in linearly and quadratically constrained

optimization problems.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 34

These problem classes can be solved using an appropriate optimizer build into MOSEK, which are:

• Interior-point optimizer for all continuous problems. • Primal simplex optimizer for linear problems. • Conic interior-point optimizer for conic quadratic problems. • Mixed-integer optimizer based on a branch and cut technology.

All the optimizers available in MOSEK are built for solution of large-scale sparse problem. Therefore, MOSEK is capable of solving you large optimization problems in a low amount of time.

This algorithm is especially useful for large problems such like that cargo load planning and analysis system. The barrier solver includes a crossover algorithm to convert mid-face solutions to basic, vertex solutions. In addition to the business logic, JSP (Java Server Page) is included in the web- based application to provide a simple programming vehicle for displaying dynamic content on a Web page. The JSP is an HTML page with embedded Java source code that is executed in both the Web server and application server. The HTML provides the page layout that will be returned to the Web browser, and the Java provides the processing to deliver a query to the database and fill in the blank fields with the results. The following diagrams are going to analyze the proposed architecture from different technical point of views so as to deliver a more comprehensive explanation.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 35

Architecture Design Business Model

C a r g o L o a d P la n n in g a n d A n a ly s i sB u s in e s s M o d e l

Im p le m e n t th ep la n n in g

N e x t P h ra s eIm p le m e n t

In p u t

R a is e re q u e s t fo rp re p a r in g

c a rg o lo a d p la n

S u g g e s t o p t im a ls o lu t io n

P e r fo rm lo a dp la n n in g

a n d a n a ly s is

R e su lt a n d F e e d b a c k

• Raise request for preparing cargo load plan:

Based on the required flight and cargo information to generate the load planning and cargo arrangement

• Perform load planning and analysis: Submit the user requirement into the system core, and based on the

pre-defined business logics, constraints and functions to perform the load planning and analysis

Information is collected from both the user and backend database • Suggest optimal solution:

The system would eventually generate the optimal solution back to the user for making decision

Results are presented in web pages format • Implement the planning:

User can base on the suggested solution to perform physical cargo arrangement within the holds

It aims to minimize the cost of under load

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 36

Functional Model

• Business Application Database:

Contain business data. The updated data for cargo load planning. The historical cargo data for cargo loading analysis report.

• User desktop: User interface for defining the planning requirement and issuing the

request to the middle tier server to carry out the analysis processes. Store analysis results (in HTML report format) for further execution.

• Web and application server: Manages the mining requests defined from client. Transform the request into a number of constraints and decision

variables for the linear programming processes Returns the results to the client desktop in HTML report format

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 37

Network / Communication Model

Infr

astru

ctur

e N

etw

ork

back

bone

Cargo Load Planning and Analysis Network Communication Model

Web Server User Desktop with Web Browser

Business ApplicationDatabase

Application Server

Database Server

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 38

Hardware Model

Infr

astru

ctur

e N

etw

ork

Bac

kbon

e

Cargo Load Planning and AnalysisHardware Model

Web ServerUser Desktop with Web Browser

Business Application Database

- IBM P3 machine with 1.0GHz processor- 128MB Memory- Internet Explorer 6

Application ServerDatabase Server

- IBM P4 machine with 1.2GHz processor- 256MB Memory- 20GB Storage capacity

- IBM P4 machine with 1.2GHz processor- 256MB Memory- 20GB Storage capacity

- IBM P4 machine with 1.2GHz processor- 256MB Memory- 20GB Storage capacity

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 39

Operating Software Model

Infr

astru

ctur

e N

etw

ork

Bac

kbon

e

Cargo Load Planning and Analysis Operating Software Model

User Desktop with Web Browser

Application Server

O/S : WinXPS/W : Resin, Matlab, Mosek

O/S : WinXPS/W : Internet Explorer 6

Business Application Database

Web Server

O/S : WinXPS/W : Resin, JSP

Database Server

O/S : WinXPS/W : Orcale 8.1.7.0.0

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 40

Applications Interface Model

Infr

astru

ctur

e N

etw

ork

Bac

kbon

e

Cargo Load Planning and Analysis Application Interface Model

User Desktop with Web browser

Application Server

Business Application

#3 Receive request and

transfer the data from / to the Application Server

Server via TCP/IP

#1Issue business requestand display the results

in HTML format

Web server

#2Collect the request and transform the results generated via TCP/IP

Database Server

Interface * Tools / Protocol Function / Usage

1 User desktop <> Web Server Web browser & JSP / HTTP

Transfer business requirement and results

2 Web Server <> Application Server JSP / TCPIP / Resin Collect / transfer user request from/to the business core system

3 Application Server <> Database Server Oracle / TCPIP / JDBC Collect / update the business

data from/to the database * Interface model: “A > B ” means A pass the message to B. Such event is triggered by A. “A <> B” means A send request to B, and B reply the information to A. Such event is triggered by A.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 41

ANALYSIS AND DESIGN

Use-Case Diagram

show resul ts

retrieve cargo booking

perform cargo planning

perform cargo analysiscargo space control

Collaboration Diagram – perform cargo analysis

1: perform cargo analysis

cargo system

data warehouse

: cargo space control

: terminal

4: calculate underload5: calculate baggage ratio6: calculate pax load factor

7: calculate container numbers (by cargo type)

2: get data from fact and dimension tables

3: return flight, loading data with details from diff. dimensions

8: show report (with no-fit, underload, baggage ratio & pax load factor by flight / by month)

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 42

Collaboration Diagram – perform cargo planning

cargo system

: cargo space control

Matlab

: terminal

Mosek optimizer

Data warehouse

1: get optimal load plan12: get optimization result detail

2: get data from fact and dimension tables4: create file

13: get detailed result

3: return flight, loading data with details from diff. dimensions5: return .lp file

14: return results

6: get optimal load result (.lp file)

10: return container list, optimal weight

11: display optimized result15: display detailed optimized results

7: get optimal load result

8: return container list, optimal weight

9: insert data result

Collaboration Diagram – perform booking

: cargo space control

cargo system

datawarehouse

: terminal

2: get data from tables

3: return booking data

4: display booking list1: get booking data

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 43

Sequence Diagram – perform cargo analysis

cargo system : cargo space

control

data warehouse : terminal

perform cargo analysis

get data from fact and dimension tables

return flight, loading data with details from diff. dimensions

calcula te underload

calculate baggage ratio

calculate pax load factor

calculate con tainer numbers (by ca rgo type)

show report (with no-fit, underload, baggage ratio & pax load factor by flight / by month)

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 44

Sequence Diagram – perform cargo planning

datawarehouse : cargo space control

cargo system : terminal

get booking data

get data from tables

return booking data

display booking list

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 45

Sequence Diagram – perform booking

Data warehouse : cargo space control

cargo system Matlab Mosek optimizer : terminal

get optimal load plan

get data from fact and dimension tablesreturn flight, loading data with details from diff. dimensions

get optimal load result (.lp file)

create fil ereturn .lp file

get optimal load resultreturn container list, optimal weight

insert data result

return container list, optimal weight

display optimized result

get optimization result detail

get detailed result

return results

display detailed optimized results

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 46

DATABASE DESIGN

Load planning

This database diagram includes three tables:

1. Table “ FLIGHT_CAPACITY ” ~ contains the well-known information for each freight including the aircraft type, maximum loading figures, maximum fuel weight, etc

2. Table “ CONTAINERLIST “ ~ contains the details for each container.

This information is useful for conducting the mathematical optimization algorithm

3. Table “ CONTAINERLIST_RESULT “ ~ contains the optimization results

FLIGHT_DATEFLIGHT_NOLEG_ORIGINLEG_DESTAIRCRAFT_TYPEMAXLOADINGPAXNUMPAXWGTFUELWGTMISCWGT

FLIGHT_DATEFLIGHT_NOLEG_ORIGINLEG_DESTAIRCRAFT_TYPECGOWGTCONTAINERCONTAINER_TYPEPREFER_COMPARTMENTCGOTYPE

CONTAINERRESULT

gets

Puts into

CONTAINERLIST_RESULT

FLIGHT_CAPACITY

CONTAINERLIST

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 47

of each container. User can refer to this table for generating the list of valid containers.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 48

Database Design for Loading Analysis The purpose of building up a data warehouse is that it could be easy for users to analyze data in different dimensions and have more scopes for decision-making. For the cargo space control users, they consider two factors: weight and capacity. Therefore, the design of the database and reports highlight columns of under-load (i.e. total weight – fuel weights – passenger weights – cargo weights), no fit (i.e. total space – space occupied), baggage ratio (use to estimate the weight left for cargo) and passenger load factor. In the two fact tables, CGOLOAD_HEADER_FLT_FACT & CGOLOAD_CGODETAIL_FACT, numerical data like actual baggage weight, actual passenger per port, under-load, passenger capacity, payload available, number of no-fit containers and actual weight of cargo are found. Moreover, those artificial keys with dimension table ID are also stored in those tables so as to retrieve data from the dimension tables. CGOLOAD_HEADER_FLT_FACT are the records containing flight data, like each flight’s passenger numbers, under-load and number of no-fit containers. CGOLOAD_CGODETAIL_FACT are the records containing cargo data for each flight, like each cargo categories and types, weight, position, any special handling codes (SPL), container name, cargo destination. This data warehouse has 9 dimensions tables for analysis: 1. Carrier Dimension: if the company is a group company, users could use this

dimension to compare the result for each of their subsidies. 2. Flight Dimension: this table contains static data related to that flight, like

flight type, departure and arrival date and time, aircraft type, aircraft tail. This dimension could help users to compare the loading result among each flight.

3. Position Dimension: this is a static table showing all positions in the upper deck and main deck, and for different aircraft type.

4. Cargo Type Dimension: this is also a static table showing the cargo type by

using AHM 510. It contains over 20 cargo types. In order to analyze data easily, I have grouped load data by using the column cargo type group, like

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 49

BAGGAGE, CARGO, MAIL, OTHERS. By using this dimension, user could identify their revenue items, i.e. in cargo session, CARGO and MAIL would be identified and could compare the trends by different flights and date.

5. Date Dimension: this is a static table and should be reused by other data warehouses. By using this date dimension table, users could compare all data by day, by week, by month and by year. For the airline industry, by day of week is also important because weekend results are usually quite different to weekday results.

6. Deck Version Dimension: this is a static table to store the flight capacity for each aircraft type / aircraft tail number.

7. Container Dimension: this table could find container tare weight (empty container weight) for analysis, and also some special categories and requirements will be put under this table

8. SPL Dimension: this table could help users to highlight some cargo with special handling codes, like AAX (express), BUP, for comparison and to see the trend

9. Station Dimension: this dimension could be reused by other data warehouses to help users analyzing data by station, region, country. In this project, this dimension could also help to identify those ex-HKG and in-HKG flights.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 50

Loading Analysis

Container Dimension

Date DimensionDatedimension IDDatevalueDayofw eekMonthvalueQuartervalueYearvalueYearmonthvalueWeeknumber

Seq num headCarrier IDFlight number IDFlight origin date IDFlight origin station IDFlight dest station IDLeg origin IDLeg dest IDDeck version IDActual baggage w gtActual baggage pcsActual pax per portNo of cockpit crewNo of cabin crewUnderloadPax capacityPADPayload availableTotal payloadNo f it upper Q6Q7No f it upper PEBNo f it low er

Cgoload HeaderFlt Fact

Station Dimension

Station IDAirportindicatorCityCodeCountryregionCountryterritoryCXHoststationindicatorCountryDistrictHoststationindicatorIATAareacodeIATAsubareacodeRegionStationSubdistrictBillingcurrencyCityHandledcarrstationStateprovinceStationname

SPL Dimension

SPLcode IDSpecial Handling CodeSPLgroupSPLdescriptionSPLHostIATAflag

Container IDContainer identif ierContainer codeContainer typeContainer type descTare w gtCgo type groupCSC ULD typeCSC no of space occupied

Flight Dimension

Seq Num FactCarrier IDFlight number IDFlight origin date IDLeg origin IDLeg dest IDContainer IDContainer position IDActual w gt of cgoSPL1 IDSPL2 IDSPL3 IDSPL4 IDSPL5 IDCargo type IDCargo dest ID

CgoloadCgodetail Fact

Flight number IDCarrier codeFlight numberFlight origin dateLeg origin portLeg dest portFlight typeFlight type descDepart timeDepart local dateArrival timeArrival local dateAircraft typeAircraft tail number

Carrier Dimension

Cargo type IDCargo typeCargo type descCargo type groupCargo type group desc

Position Dimension

Carrier IDCarrier codeCarrier desc

Cargo TypeDimension

Position IDPosition numberPosition loc

Deck VersionDimension

Deck ver IDAircraft tail numberLow er deck pallet countLow er deck container countUpper deck PEB pallet countUpper deck other pallet count

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 51

OPTIMIZATION DESIGN AND IMPLEMENTATION

In view of the application design, the following utilities are involved generating the list of containers in the most optimal way.

1. Oracle database of version 8.1.7.0.0 2. MATLAB of version 6.5.0 3. MOSEK of version 3.0

Oracle It keeps the information about the containers and freights, which is the source for generating the optimization scripts. The information is kept in a number of Oracle tables (refer to the appendix for the details), and by means of executing the already defined ‘Oracle procedures / packages’ & ‘SQL statements’, the required optimization could then be generated within a short while. Below is the script used for executing the database package and generating the optimization script:

MATLAB It integrates mathematical computing, visualization, and a powerful language to provide a flexible environment for technical computing. MATLAB includes tools for:

• Data acquisition • Data analysis and exploration • Visualization and image processing • Algorithm prototyping and development • Modeling and simulation • Programming and application development • Read data and write data between database

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 52

By adopting the communication feature with the external optimization software and database, MATLAB can submit the already defined optimization script into the external optimization software for generating the optimal solution. By introducing the already build-in feature, such solution can transfer back to the database for future reference / output display. Below are the MATLAB scripts used for executing the optimization and transferring result back to the database.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 53

MOSEK This is an external optimization software, which allows user to specify an optimisation problem and submit the problem to one MOSEK optimisers. This will compute the optimal solution and finally MOSEK will report the optimal solution. In general, the optimisation problem can be summarized as follows:

where

• is the vector of decision variables.

• is the linear term in the objective.

• is the quadratic term in the objective where

where it is assumed that

• is the constraint matrix.

• is the lower limit on the activity for the constraints.

• is the upper limit on the activity for the constraints.

• is the lower limit on the activity for the variables.

• is the upper limit on the activity for the variables.

• is a vector of quadratic functions.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 54

Hence,

where it is assumed that

• is an index set of the integer constrained variables.

In order to make use of the optimisation feature provided by MOSEK, the result captured from the database must be written in “Linear Programming“ file format (LP format). The following example is an LP file with two variables, four constraints and one integer variable:

minimize

-10 x1 -9 x2

subject to

0.7 x1 + x2 <= 630

0.5 x1 + 0.833 x2 <= 600

x1 + 0.667 x2 <= 708

0.1 x1 + 0.025 x2 <= 135

bounds

10 <= x1

x1 <= +inf

20 <= x2 <= 500

general

x1

end

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 55

To line up the above 3 utilities, an operating system related batch job is required so that It can be recalled by the JSP scripts. And the following diagram, together with workflow description, explains the overall optimization algorithm.

3

4

DATABASE2

5

Desktop withBrowser

1

6

MATLAB

MOSEK

Action item #

Action Description

1 User sends a request for generating the optimization solution among the containers

2 Execute the already defined database package for generating the optimization script (the required LP file)

3 After validating the syntax of the LP file, submit the requirement to MOSEK for optimization calculation

4 Return the optimization result back to MATLAB for further analyze5 By executing the MATLAB build-in function to transfer the result

into Oracle in form of table records 6 Retrieve the optimization result from the database table and

display it as HTML format

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 56

IMPLEMENTATION

PROGRAM ARCHITECTURE

Main Structure of the programs

Login

CargoBooking

CargoPlan

CargoAnalysisHome.htm

Menu.htm

Logout

User_info.jsp

footer.jsp

Login

Login.java

Login_required.jsp

javascript:validateLogin

Form

Home.htm

Help.htm

PASS

SUCCESS

FAIL

Login.jsp

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 57

Cargo Analysis

Cargoanalysis_graph.jsp

javascript:validateCargoAnalysisForm

Menu.htm PASSCargoanalysis.jsp

chart.htm chart.gif(data warehousedatabase graph)

check loginsession exist

Y

dimension.java

RETURN RESULT

N: login.jspLogin.jsp

OracleDB

JDBC

Cargo Booking

Cargobooking_view.jsp

javascript:validateCargo

PlanFormMenu.htm PASSCargobooking.

jsp

check loginsession exist

Y

booking.javaRETURN RESULTN: login.jspLogin.jsp

OracleDB

JDBC

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 58

Cargo Planning

Cgoplan_graph.jsp

javascript:validateCargo

PlanFormMenu.htm

PASS

Cargoplan.jsp

Y

callbatch.java

N:login.jspLogin.jsp

OracleDB

fileIO.java(method savefile)

check loginsession exist

buildC:\\fp-plsql_main.sqlunder user request

Y

Y

executec:\\fp-plsql_main.sql

to call PL/SQLpackage for build upc:\\fp-plsql_yeah.lp

call wait for5 seconds

Matlab

Mosek

fpmosek.m

fpbatch.bat

fp-plsql_main.sql

output 3 files:- fpmosek_result.txt- fpmosek_value.txt- fpbatch_okflag.txt

EXIT command

get 3 files- fpmosek_result.txt- fpmosek_value.txt- fpbatch_okflag.txt

RETURN RESULT

Cgoplan_detail.jsp

cgoplandtl.java

OracleDB update DB

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 59

Logout

logout_status.jspMenu.htm logout.jsp

remove loginsession

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 60

PROCESSING TIME

Loading analysis Number of records in data

warehouse Processing time

Select all 20 seconds Select one flight

2 fact tables (35859 + 1442 records) + 9 dimension tables 10 seconds

Load planning Number of records in data

warehouse Processing time

The test case 40 36 seconds

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 61

TEST PLAN

Loading Analysis 1. Check the completeness of flight data 2. Check the accuracy of cargo and container data Assume data extracted from airline system are completed and accurate. Load Planning 1. Most of the algorithms stated in this paper are extracted from reliable IEEE

journal – Optimization of Aircraft Container loading, M. Mongeau, C. Bes, except

a. Center of gravity: my project has assumed that this factor is always correct

b. Two constants (B26 & B27 from 4 to 8) used in compartment 2: because I find that the constant is understated to achieve the condition (s2 + 4l2 <=14 if 2<=l2<=3)

2. Use the Journal test cases: According to the M. Mongeau, they use 6 test cases which first data case has been given on the journal. In order to test the project cargo load planning algorithms, I have used this test case to verify the test result:

Test problem

Total Mass (kg)

Total no. of containers Type 1 Type 23 Type 4 Type 5

A 40,000 40 10 10 10 10 Each container, according to the journal, has the identical weight 1,000 kg. The result from the journal:

Max Allowed Error (% RC) Test Prob No. of containers

loaded Mass Loaded (kg)

6 A 21/40 21,000 1 A 20/40 20,000

Since this project has assumed that there is no big error on center of gravity, the expected answer will be 20/40. Our test case:

Flight number : 331 Flight date : 26/12/2004 Leg origin : HKG Leg destination : HAN

From the below result, you could find that the number of containers chosen is 20.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 62

AIRCRAFT_TYPE CGOW GT CONTAINER

CONTAINER_TYPE

PREFER_COMPARTMENT CGOTYPE

A330 1000 AKE33101XX TYPE1 1 CARGO

A330 1000 AKE33102XX TYPE1 1 CARGO

A330 1000 AKE33103XX TYPE1 2 CARGO

A330 1000 AKE33104XX TYPE1 2 CARGO

A330 1000 AKE33105XX TYPE1 2 CARGO

A330 1000 AKE33106XX TYPE1 2 CARGO

A330 1000 AKE33107XX TYPE1 3 CARGO

A330 1000 AKE33108XX TYPE1 3 CARGO

A330 1000 AKE33109XX TYPE1 4 CARGO

A330 1000 AKE33110XX TYPE1 4 CARGO

A330 1000 AAU33101XX TYPE23 1 CARGO

A330 1000 AAU33102XX TYPE23 1 CARGO

A330 1000 AAU33103XX TYPE23 2 CARGO

A330 1000 AMF33101XX TYPE23 2 CARGO

A330 1000 AMF33102XX TYPE23 2 CARGO

A330 1000 AMF33103XX TYPE23 2 CARGO

A330 1000 ALF33101XX TYPE23 3 CARGO

A330 1000 ALF33102XX TYPE23 3 CARGO

A330 1000 ALF33103XX TYPE23 4 CARGO

A330 1000 ALF33104XX TYPE23 4 CARGO

A330 1000 PMC33101XX TYPE4 1 CARGO

A330 1000 PMC33102XX TYPE4 1 CARGO

A330 1000 PMC33103XX TYPE4 2 CARGO

A330 1000 PMC33104XX TYPE4 2 CARGO

A330 1000 PMC33105XX TYPE4 2 CARGO

A330 1000 PMC33106XX TYPE4 3 CARGO

A330 1000 PMC33107XX TYPE4 3 CARGO

A330 1000 PMC33108XX TYPE4 3 CARGO

A330 1000 PMC33109XX TYPE4 4 CARGO

A330 1000 P6P33101XX TYPE4 4 CARGO

A330 1000 PGA33101XX TYPE5 1 CARGO

A330 1000 PGA33102XX TYPE5 1 CARGO

A330 1000 PGA33103XX TYPE5 2 CARGO

A330 1000 PGA33104XX TYPE5 2 CARGO

A330 1000 PGA33105XX TYPE5 2 CARGO

A330 1000 PGA33106XX TYPE5 3 CARGO

A330 1000 PGA33107XX TYPE5 3 CARGO

A330 1000 PGA33108XX TYPE5 3 CARGO

A330 1000 PGA33109XX TYPE5 4 CARGO

A330 1000 PGA33110XX TYPE5 4 CARGO

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 63

The testing result: (result from Matlab) solution =

'AAU33101XX' [1]

'AAU33102XX' [1]

'AAU33103XX' [0]

'AKE33101XX' [1]

'AKE33102XX' [1]

'AKE33103XX' [1]

'AKE33104XX' [1]

'AKE33105XX' [1]

'AKE33106XX' [1]

'AKE33107XX' [1]

'AKE33108XX' [1]

'AKE33109XX' [1]

'AKE33110XX' [1]

'ALF33101XX' [1]

'ALF33102XX' [1]

'ALF33103XX' [1]

'ALF33104XX' [1]

'AMF33101XX' [1]

'AMF33102XX' [0]

'AMF33103XX' [0]

'P6P33101XX' [0]

'PGA33101XX' [0]

'PGA33102XX' [0]

'PGA33103XX' [1]

'PGA33104XX' [0]

'PGA33105XX' [0]

'PGA33106XX' [0]

'PGA33107XX' [0]

'PGA33108XX' [0]

'PGA33109XX' [0]

'PGA33110XX' [0]

'PMC33101XX' [0]

'PMC33102XX' [0]

'PMC33103XX' [0]

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 64

'PMC33104XX' [0]

'PMC33105XX' [1]

'PMC33106XX' [1]

'PMC33107XX' [0]

'PMC33108XX' [0]

'PMC33109XX' [0]

Detailed result captured from the loading analysis and planning system

Cargo Plan for XX331/26122004 (HKGHAN)

Flight / Flight / Leg / Leg /Aircraft/ HOLD / Container / CGOWGT / TYPE

date number origin Dest Type

04-12-26 331 HKG HAN A330 1 AAU33101XX 1000 TYPE23

04-12-26 331 HKG HAN A330 1 AAU33102XX 1000 TYPE23

04-12-26 331 HKG HAN A330 1 AKE33101XX 1000 TYPE1

04-12-26 331 HKG HAN A330 1 AKE33102XX 1000 TYPE1

04-12-26 331 HKG HAN A330 2 AKE33103XX 1000 TYPE1

04-12-26 331 HKG HAN A330 2 PGA33103XX 1000 TYPE5

04-12-26 331 HKG HAN A330 2 PMC33105XX 1000 TYPE4

04-12-26 331 HKG HAN A330 2 AMF33101XX 1000 TYPE23

04-12-26 331 HKG HAN A330 2 AKE33104XX 1000 TYPE1

04-12-26 331 HKG HAN A330 2 AKE33105XX 1000 TYPE1

04-12-26 331 HKG HAN A330 2 AKE33106XX 1000 TYPE1

04-12-26 331 HKG HAN A330 3 AKE33107XX 1000 TYPE1

04-12-26 331 HKG HAN A330 3 PMC33106XX 1000 TYPE4

04-12-26 331 HKG HAN A330 3 AKE33108XX 1000 TYPE1

04-12-26 331 HKG HAN A330 3 ALF33101XX 1000 TYPE23

04-12-26 331 HKG HAN A330 3 ALF33102XX 1000 TYPE23

04-12-26 331 HKG HAN A330 4 AKE33109XX 1000 TYPE1

04-12-26 331 HKG HAN A330 4 AKE33110XX 1000 TYPE1

04-12-26 331 HKG HAN A330 4 ALF33103XX 1000 TYPE23

04-12-26 331 HKG HAN A330 4 ALF33104XX 1000 TYPE23

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 65

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 66

APPLICATION RESULTS Login

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 67

These two screens show there are checking during login, like password pattern and fields.

Moreover, name and password will be passed to database for verification.

Login Name

Guidelines

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 68

Guidelines for load plan

CONTAINER_TYPE

Guidelines

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 69

CARGO LOADING ANALYSIS

Loading analysis is the default report format to which is using different dimensions to display the

loading data. They are aircraft type dimension, cargo type dimension, container dimension,

flight dimension, and station dimension. Data could be displayed by choosing all or one specific

flight.

Data warehouse graph

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 70

Aircraft Type Dimension report shows data fields like under-load (total weight – weight used)

and number of no-fits (space – space occupied).

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 71

Cargo type dimension report shows not only under-load and no-fit, but also numbers of

containers with different cargo type group (BAGGAGE, CARGO, MAIL, SORT, EMPTY,

OTHERS). This could help users to find out the distribution of containers by different cargo

types.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 72

Container dimension report shows cargo data by container type (lower deck container, lower

deck pallet, PEB, upper deck pallet – Q6, Q7), cargo type (baggage, cargo, mail).

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 73

Station Dimension Report shows under-load and no-fit data by region

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 74

Loading Analysis by specific flight

Show baggage ratio and pax

load factor

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 75

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 76

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 77

Cargo booking list for load plan There are 4 aircraft types are used for cargo plan (A330-300, B777-200, B777-300, B747P)

Show containers have

their

prefer_compartment.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 78

Containers could be

grouped into different

type

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 79

Container name with suffix Weight limited at TYPE 1 AKE 1588kg TYPE 23 ALF 3175kg AMF 5035kg TYPE 4 PMC 5035kg/6804kg P6P 5035kg/6804kg TYPE 5 PGA 11340kg

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 80

B777-300

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 81

Cargo Plan

Build .lp file by using pl/sql

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 82

Starting Matlab and Mosek for optimization

Mosek use Matlab as a platform for doing optimization

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 83

Optimize result return

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 84

Get results details by cargo hold

View floor plan to see the optimization result

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 85

Logout Delete all servlet login session.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 86

CONCLUSION

CHALLENGES

In this project, I meet many challenges. However, through overcoming those problems, I could really learn a lot. The most difficult problem that I have encountered is searching for an adaptable software for the optimization part. There are a list of software could be used, however, due to limit on budget, I have made a lot of efforts on testing and changing those software. CPLEX and NAG library are good software for this project, but the CPLEX trial version have limited functions (e.g. not allow command to call and not allow it calls to oracle server), for the LINGO, it could do all, but for the trial version, it only allows 25 integer variables (including data), LP-Solve is difficult to use for solving our project problem and MATLAB is also difficult to use as it’s optimized toolbox requires us to translate all equations into matrix. MOSEK is last software I could search for, free of charge and makes the integer algorithms more simply to be called by MATLAB. Thus, the project is a bit delay about that and the system architecture is much complex because of the above mentioned problem. Moreover, understanding and applying those optimization algorithms are quite difficult for me as I was major in Art subjects during my secondary school life. This project could give me a deeper understanding on air cargo operation, their requirements, jargons, and mathematics issues. Computing is deeply related to mathematics and turned all algorithms into the true life. Those valuable experiences could also help my future career much. In this project, I also skip the part of center of gravity due to technical reasons.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 87

PROJECT AIM AND OBJECTIVES

For the loading analysis part, this project could achieve all of the users required. The data warehouse could help users to save manpower in input data and by using data extraction to get the more accurate flight loading data. Moreover, no-fit, under-load, baggage ratio and passenger load factor are provided for them to estimate cargo capacity. For the load planning part, this project could return the result as per the journal stated. Moreover, it could also consider factors of passenger weights, fuel weights, volume, weight capacity by using mathematical algorithms.

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 88

GLOSSARY

DEFINITION OF BUSINESS TERMS

Flight utilization report:

a report showing actual flight loading over the available payload, baggage ratio and pax load factor of each flight for different period of time

Baggage Ratio: Actual number of pax / number of baggage containers Underload: Payload available to load – pax load – total cargo

payload Pax load (No. of male* estimated male wgt+ no. of female*

estimated female wgt+ no. of child* estimated child wgt+ no. of infant* estimated infant wgt+ no. of transfer pax* estimated transfer wgt) + SOC (seats occupied by cargo) total moment

Pax Load Factor: Actual pax load / pax seats capacity Cargo Load Factor: RTK / ATK Hold: as COMPARTMENT shown on the below graph Compartment: as HOLD shown on the below graph

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 89

REFERENCE 1. Amiouny, S.V., Bartholdi, J.J., III, Vande Vate, J.H., and Zhang, J., “Balance

Loading,” Operations Research, 40(2), 238-246 (1992). 2. Heidelberg K. R., Parnell G. S., Ames J. E. IV, “Automated Air Load Planning”,

Naval Research Logistics, 45, 8 (1998), 751-768 3. Marcel Mongeau, Chrstian Bes, “Optimization of Aircraft Container Loading”,

IEEE Transaction on Aerospace and Electronic Systems, 39(1), 140-150 4. Clive Thomas, Kevin Campbell, Gail Hines, Michael Racer, “Airbus Packing at

Federal Express”, Interfaces, 28, 4 (1998), 21-30 5. Joseph E. Beaini, Pascal R. Bedrossian, “Model for Maximizing Container

Loading in the Airfreight Industry”, MAESC’99, 1-11 6. http://www.sascargo.com/default.asp?NavID=1036 7. http://www.cathaypacific.com/intl/aboutus/investor/0,,,00.html 8. http://www.tdctrade.com/shippers/vol22_4/vol22_4_log4.htm 9. http://www.shareholder.com/klm/news/20000306-103289.cfm 10. Uwe H. Suhl, Leena M. Suhl, “Solving Airline-fleet Scheduling Problems with

Mixed-integer Programming” Operational research in industry, 135 – 145 11. Larsen, O. and Middelsen, G. 1980, “An interactive system for the loading of

cargo aircraft,” European Journal of Operational Research, Vol. 4, 367-373 12. Martin-Vega, L. A. “Aircraft load planning and the computer: Description and

review.” Computers & Industrial Engineering, 9, 4 (1985), 357-369 13. Ng. K. Y. K., “A multi-criteria optimization approach to aircraft loading”,

Operations Research, 40, 6 (1992), 1200-1205 14. Mathur, K., “An integer-programming-based heuristic for the balanced loading

problem.” Operations Research Letters, 22 (1998), 19-25 15. http://www.srilankancargo.com/pages/fleet/aircrafts.htm 16. Joseph Fong, “Data Mining, Data Warehousing & Client / Server Databases –

Proceedings of the 8th International Database Workshop.” Data Warehouse of Decision Support, 195

17. Ralph Kimball, “The Data Warehouse Toolkit – practical techniques for building dimensional data warehouses.”

18. Shannon. Hapner. Matena. Davidson. Pelegri-L. Cable. Enterprise Team, “Java 2 Platform Enterprise Edition – Platform and component Specifications.”

19. Enrico Franconi, Ulrike Sattler, “A Data Warehouse Conceptual Data Model for Multidimensional Aggregation.”

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 90

APPENDIX

DATABASE SCHEMA

Fact tables

POST FLIGHT CARGO LOADING HEADER Table Table Definition Table name CGOLOAD_HEADER_FLT_FACT Table description Post flight cargo loading header Field Definition

Element Description and sample Type Key Null? Related dimension SEQ_NUM_HEAD ** For internal use only ** NUMBER Not null CARRIER_ID Carrier code id NUMBER PK Not null FLIGHT_NUMBER_ID Flight number ID NUMBER PK Not null Flight Dimension FLIGHT_ORIGIN_DATE_ID Flight origin date ID NUMBER PK Not null Date Dimension FLIGHT_ORIGIN_STATION_ID Flight origin station ID NUMBER Station Dimension FLIGHT_DEST_STATION_ID Flight destination station ID NUMBER Station Dimension LEG_ORIGIN_ID

Leg origin station ID NUMBER PK Not null Station Dimension

LEG_DEST_ID Leg destination station ID NUMBER PK Not null Station Dimension DECK_VERSION_ID Deck version ID NUMBER

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 91

ACTUAL_BAGGAGE_WGT Actual baggage weight in KG NUMBER(4) ACTUAL_BAGGAGE_PCS Actual baggage pieces NUMBER(5) ACTUAL_PAX_PER_PORT Actual number of passengers per port NUMBER(3) NO_OF_COCKPIT_CREW Number of cockpit crews NUMBER(2) NO_OF_CABIN_CREW Number of cabin crews NUMBER(2) UNDERLOAD Under load value in KG

(Total payload available – estimated pax weight – total payload)

NUMBER(10)

PAX_CAPACITY Number of passengers allowed e.g. J59Y324 = total 383

NUMBER(3)

PAD Number of subload passengers NUMBER(2) PAYLOAD_AVAILABLE Payload available to load for flight in KG NUMBER(10) TOTAL_PAYLOAD Total payload on flight in KG NUMBER(10) NO_FIT_UPPER_Q6Q7 No of unused containers position in

upper deck except PEB NUMBER(2)

NO_FIT_UPPER_PEB No of unused containers position in upper deck – PEB

NUMBER(2)

NO_FIT_LOWER No of unused containers position in lower deck

NUMBER(2)

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 92

POST FLIGHT CARGO LOADING DETAILS Table Table Definition Table name CGOLOAD_CGODETAIL_FACT Table description Post flight cargo loading details Field Definition

Element Description Type Key Null? Related dimension SEQ_NUM_FACT ** For internal use only ** NUMBER Not null CARRIER_ID Carrier code id NUMBER PK Not null FLIGHT_NUMBER_ID Flight origin station ID NUMBER PK Not null Station Dimension FLIGHT_ORIGIN_DATE_ID Flight destination station ID NUMBER PK Not null Date Dimension LEG_ORIGIN_ID Leg origin station ID NUMBER PK Not null Station Dimension LEG_DEST_ID Leg destination station ID NUMBER PK Not null Station Dimension CONTAINER_ID

Container code ID NUMBER Not null Container Dimension

CONTAINER_POSITION_ID Container position id NUMBER Position Dimension ACTUAL_WGT_OF_CGO Actual weight of cargo in KG NUMBER(10,2) SPL1_ID SPL code for container ID NUMBER SPL Dimension SPL2_ID SPL code for container ID NUMBER SPL Dimension SPL3_ID SPL code for container ID NUMBER SPL Dimension SPL4_ID SPL code for container ID NUMBER SPL Dimension SPL5_ID SPL code for container ID NUMBER SPL Dimension CARGO_TYPE_ID Type of cargo ID NUMBER Cargo Type Dimension CARGO_DEST_ID Cargo destination ID NUMBER Station Dimension

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 93

Dimension tables

FLIGHT DIMENSION Table Table Definition Table name FLIGHT_DIMENSION Table description Flight description Field Definition

Element Description Type Null? FLIGHT_NUMBER_ID ** For internal use only ** NUMBER Not null CARRIER_CODE Carrier code

e.g. ‘CX’ VARCHAR2(3) Not null

FLIGHT_NUMBER Flight number VARCHAR2(5) Nut null FLIGHT_ORIGIN_DATE Flight origin date DATE Not null LEG_ORIGIN_PORT Flight origin

e.g. ‘HKG’ VARCHAR2(5) Not null

LEG_DEST_PORT Flight destination e.g. ‘BKK’

VARCHAR2(5) Not null

FLIGHT_TYPE Flight type i.e. P=PAX, M=MIXED, C=ALL CARGO

VARCHAR2(1)

FLIGHT_TYPE_DESC Flight type desc VARCHAR2(20) DEPART_TIME Actual departure time NUMBER(4) DEPART_LOCAL_DATE Actual departure local date DATE ARRIVAL_TIME Actual arrival time NUMBER(4) ARRIVAL_LOCAL_DATE Actual arrival local date DATE AIRCRAFT_TYPE Aircraft type VARCHAR2(7) AIRCRAFT_TAIL_NUMBER Aircraft tail number VARCHAR2(7)

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 94

CARGO TYPE DIMENSION Table Table Definition Table name CGOTYPE_DIMENSION Table description Cargo type description Field Definition

Element Description Type Null? CARGO_TYPE_ID ** For internal use only ** NUMBER Not null CARGO_TYPE Cargo type

‘B’ – baggage ‘C’ – cargo ‘E’ – Equipment ‘M’ – Mail Pls refer to AHM 510

VARCHAR2(2) Not null

CARGO_TYPE_DESC Desc cargo type of AHM510 VARCHAR2(40) CARGO_TYPE_GROUP For reporting purpose – to

group cargo type together VARCHAR2(1)

CARGO_TYPE_GROUP_DESC Cargo type description VARCHAR2(40)

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 95

CARRIER DIMENSION Table Table Definition Table name CARRIER_DIMENSION Table description Carrier description Field Definition

Element Description Type Null? CARRIER_ID ** For internal use only ** NUMBER Not null CARRIER_CODE Carrier code VARCHAR2(3) CARRIER_DESC Carrier description VARCHAR2(30)

POSITION DIMENSION Table Table Definition Table name POSITION_DIMENSION Table description Position description Field Definition

Element Description Type Null? POSITION_ID ** For internal use only ** NUMBER Not null POSITION_NUMBER Position number VARCHAR2(3) POSITION_LOC Upper deck or lower deck VARCHAR2(2)

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 96

DATE DIMENSION Table Table Definition Table name DATE_DIMENSION Table description Date representation description Field Definition

Element Description Type Null? DATEDIMENSION_ID ** For internal use only ** NUMBER Not null DATEVALUE Date

e.g. 1/9/1998 (self format) DATE Not null

DAYOFWEEK Weekdays e.g. 1,2,3…

VARCHAR2(7)

MONTHVALUE Month e.g. 01

VARCHAR2(8)

QUARTERVALUE Quarter e.g. Q1

NUMBER(38,3)

YEARVALUE Year e.g. 1998

NUMBER(4)

YEARMONTHVALUE Year Month e.g. 199801

NUMBER(6)

WEEKNUMBER Week Number NUMBER(38,3)

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 97

DECK VERSION DIMENSION Table Table Definition Table name DECK_VERSION_DIMENSION Table description Deck version description Field Definition

Element Description Type Null? DECK_VER_ID ** For internal use only ** NUMBER Not null AIRCRAFT_TAIL_NUMBER Aircraft tail number VARCHAR2(4) LOWER_DECK_PALLET_COUNT Lower deck pallet count (as a key) NUMBER(2) LOWER_DECK_CONTAINER_COUNT Lower deck container count NUMBER(2) UPPER_DECK_PEB_PALLET_COUNT Upper deck PEB pallet count NUMBER(2) UPPER_DECK_OTHER_PALLET_COUNT Upper deck Q6, Q7 & others pallet count NUMBER(2)

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 98

STATION DIMENSION Table Table Definition Table name STATION_DIMENSION Table description Airport station description Field Definition

Element Description Type Null? STATION_ID ** For internal use only ** NUMBER Not null AIRPORTINDICATOR Airport indicator VARCHAR2(1) CITYCODE City code VARCHAR2(5) COUNTRYREGION Country region VARCHAR2(30) COUNTRYTERRITORY Country territory VARCHAR2(30) CXHOSTSTATIONINDICATOR CX Host Station Indicator VARCHAR2(1) COUNTRY Country code VARCHAR2(2) DISTRICT District VARCHAR2(2) HOSTSTATIONINDICATOR Host station indicator VARCHAR2(1) IATAAREACODE IATA Area Code VARCHAR2(2) IATASUBAREACODE IATA subarea code VARCHAR2(18) REGION Region VARCHAR2(1) STATION Station VARCHAR2(5) SUBDISTRICT Subdistrict VARCHAR2(2) BILLINGCURRENCY Billing Currency VARCHAR2(3) CITY City VARCHAR2(40) HANDLEDCARRSTATION Handled carrier station VARCHAR2(1) STATEPROVINCE State Province VARCHAR2(5) STATIONNAME Station Name VARCHAR2(40)

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 99

CONTAINER DIMENSION Table Table Definition Table name CONTAINER_DIMENSION Table description Cargo container description Field Definition

Element Description Type Null? CONTAINER_ID ** For internal use only ** NUMBER Not null

CONTAINER_IDENTIFIER Container identifier VARCHAR2(10) CONTAINER_CODE Container code

e.g. ‘P6P’, ‘LD3’ VARCHAR2(4)

CONTAINER_TYPE Container type: Pallet / container

VARCHAR2(1)

CONTAINER_TYPE_DESC Container type description VARCHAR2(30) TARE_WGT Tare weight NUMBER(5) CGO_TYPE_GROUP Cargo type group VARCHAR2(2) CSC_ULD_TYPE Type of containers and its pallet type VARCHAR2(20) CSC_NO_OF_SPACE_OCCUPIED Twice the count for big containers, like ‘ALF’ NUMBER(1)

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 100

SPECIAL HANDLING CODES Table Table Definition Table name SPL_DIMENSION Table description Special handling description Field Definition

Element Description Type Null? SPLCODE_ID ** For internal use only ** NUMBER Not null SPECIAL_HANDLING_CODE Special handling code

e.g. ‘HEA’ VARCHAR2(3) Not null

SPLGROUP SPL Category VARCHAR2(25) SPLDESCRIPTION SPL Descriptions VARCHAR2(50) SPLHOSTIATAFLAG SPL Host Iata Flag VARCHAR2(4)

TRANSLATE PALLET Table Table Definition Table name CUPAC_PALLET_TRANSLATION Table description Translate CUPAC type Field Definition

Element Description Type Null? PALLET_TYPE ‘S’ ‘M’ T’ ‘D’ ‘ ‘ VARCHAR2(1) Not null CONTOUR_TYPE Contour type

‘Q6’, ‘Q7’ ,‘OHG’, D‘, ‘ ‘ VARCHAR2(4)

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 101

CONTAINERLIST Table Table Definition Table name CONTAINERLIST Table description Container list description Field Definition

Element Description Type Null? FLIGHT_DATE Flight origin date DATE FLIGHT_NO Flight number VARCHAR2(10) LEG_ORIGIN Leg origin

e.g. ‘HKG’ VARCHAR2(10)

LEG_DEST Leg destination e.g. ‘BKK’

VARCHAR2(10)

AIRCRAFT_TYPE Aircraft type VARCHAR2(10) CGOWGT Cgo weight NUMBER CONTAINER Container VARCHAR2(20) CONTAINER_TYPE SIZE of container VARCHAR2(10) PREFER_COMPARTMENT Prefer up to which compartment NUMBER CGOTYPE Type of container VARCHAR2(10)

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 102

CONTAINERLIST RESULT Table Table Definition Table name CONTAINERLIST_RESULT Table description Container list result after optimization Field Definition

Element Description Type Null? CONTAINER Container VARCHAR2(20) RESULT The result after the optimization NUMBER FLIGHT CAPACITY Table Table Definition Table name Flight Capacity Table description Describe flight capacity Field Definition

Element Description Type Null? FLIGHT_DATE Flight origin date DATE FLIGHT_NO Flight number VARCHAR2(10) LEG_ORIGIN Leg origin

e.g. ‘HKG’ VARCHAR2(10)

LEG_DEST Leg destination e.g. ‘BKK’

VARCHAR2(10)

AIRCRAFT_TYPE Aircraft type VARCHAR2(10) MAXLOADING Maxload allowed for that aircraft type NUMBER TOTALPAX The final number of pax for that flight NUMBER TOTALFUEL The total fuel weight used NUMBER MISCWGT Other Weight NUMBER

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 103

PROJECT PLAN (SCHEDULE TIME)

Project Task / Activity Start Date

End Date

Mandays required (2 mandays per wk)

Dissertation Proposal 15 Sep 30 Sep 4 md

Background study 1 Oct 15 Oct 4 md

Analysis 15 Oct 31 Oct 4 md

Literature Review 1 Nov 30 Nov 8 md

Design 1 Dec 15 Dec 4 md

Interim report documentation 1 Oct 29 Dec 4 md

Software installation and server set up

1 Jan 15 Jan 4 md

Implementation 15 Jan 15 Mar 16 md

Testing 15 Mar 31 Mar 4 md

Final report documentation and powerpoint presentation

1 Apr 5 May 20 md

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 104

FREIGHT INFORMATION

Floor Plan for A330

Detailed floor plan for A330

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 105

Floor Plan for B747P

Suggested load plan for B747P

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 106

Floor plan for B777-200

Suggested load plan for B777-200

Cargo Load Planning and Analysis Final Year Project Report By Fok Ming Ka (96480570) Page 107

Floor plan for B777-300

Suggested load plan for B777-300