department of computer science dissertation - cityucshwchun/fyp/2004/kelly.pdf · department of...
TRANSCRIPT
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 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 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