Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 1 City University of Hong Kong Department of Computer Science Dissertation (Final report) Project Title: Student Name: Student No.: Supervisor: 2nd Reader: Cargo Load Planning and Analysis Fok Ming Ka, Kelly 96480570 Dr CHUN, Andy H W S. L. Hung 2003-2004 Master of Science in Computing Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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: List of filled containers Conduct Load Plan Load containers 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. Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 12 This is the process flow chart for load plan. Start Get: - unknown - unloaded, preferred position specified - unloaded, no preferred position - loaded Get positions left after deducting loaded and unloaded with preferred position Plan the load to reduce remain capacity (under-load) Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report Page 21 The graph shows the algorithm used in this project: Identifier PMC12345XX AKE1235XX P6P3455XX PQP3466XX AKE1102XX PMC2233UA AKE3390XX PMC4582XX AKE3333XX AKE2424UA Priority 1 1 1 1 1 1 2 2 2 2 Weight 4300 1300 5500 4400 1470 4500 1000 1480 1230 1132 AKE4443XX 2 1450 2 2 List of containers loaded for this flight Type Cargo Mail Baggage Equipment Cargo - loaded Transferred Cargo Cargo Cargo Transferred – confirmed next flight Cargo Containers with preference and loaded cargo A340-300 Cargo Hold [15] Mosek helps us to choose a version with lowest residual load 2 containers and 2 pallets 6 containers and 0 pallet 4 containers 1 pallet Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report 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 Nhold number of compartments number of holds Hk (⊆{1,2,…, Nhold }) are the holds in compartment k (k = 1,2,…., Ncomp) Ma M(x) Mres Mi mass of the aircraft (before loading) mass of cargo loaded mass of residual (i.e. under-load) mass of container i (I = 1,2,…, Ncont) Mpax Mfuel Mmisc mass of the total number of aircraft passengers mass of fuel injected into the aircraft 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 By Fok Ming Ka (96480570) Final Year Project Report 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) M(x) = Ncont Σ Nhold Σ I=1 J=1 Mi Xij 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 By Fok Ming Ka (96480570) Final Year Project Report Page 24 Aircraft constraints [3] The mass cargo capacity constraints for the overall aircraft and for each hold are described as follows: M(x) ≤ Mmax , where M(x) = Ncont Σ Nhold Σ I=1 J=1 Mi xij ~ for the overall aircraft Ncont Σ Σ I=1 J∈Hk k Mi xij ≤ Mmax , k = 1,2,…., Nhold ~ 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 J=1 ≤ 1 , for all i = 1,2,…., Ncont 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 By Fok Ming Ka (96480570) Final Year Project Report 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: sj = Nhold 2 x Σ xij I=1 lj = Nhold Σ 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report Page 27 DIFFERENT CONSTRAINTS ON VOLUME ON DIFFERENT AIRCRAFT TYPE A330/300 & A340/300 HOLD Pax Flights A330/300 A340/300 1 6S 2L Compartment 1 Compartment 2 Compartment 3 Compartment 4 S1 L1 S1 -L1 L1 S2 L2 S2 -L2 L2 S2 -L2 L2 Y21 + + + + + – + – – – – 4L1 – 8Y11 Y11 6Y11 2Y11 4Y11 4L2 – 16Y21 3Y21 4L2 – 14Y22 2Y22 Y22 8Y23 8Y23 + Y22 + Y23 2 12S 4L S1 S1 S2 S2 S2 S3 S3 S3 S4 S4 + = + + = + + = + = <= <= <= <= <= 6 1 6 0 6 <= <= <= <= <= <= <= <= = 3 8S 3L 4 6S 2L 5 4L1 <= 6 if L1 <= 1 0 if L1 = 2 4L2 <= 12 if L2 <= 1 4L2 <= 14 if 2 <= L2 <= 3 0 if L2 = 4 4L3 <= 8 if L3 <= 1 4L3 <= 10 if L3 = 2 0 if L3 = 3 4L4 <= 6 if L4 <= 1 0 if L4 = 2 12 1 14 -2 3 0 -4 4 2 S3 S3 L4 S3 L3 L4 S3 -L3 L3 Y31 S4 L4 S4 -L4 L4 + + + + + + – + + + 2L3 4L3 Y32 2L3 2Y32 Y33 2L3 2Y33 Y33 Y32 + 4L4 – Y41 6Y41 2Y41 4Y41 8Y31 12Y31 6Y32 8Y33 Y33 14Y41 <= <= <= <= <= <= <= <= <= = <= <= <= <= <= 6 8 1 8 1 1 6 -2 2 2 6 1 6 0 6 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 28 B777/200 HOLD Pax Flights B777/200 1 8S 3L 2 10S 3L 3 4 6S 8S 0L 0L 5 Compartment 3 Compartment 4 S1 S1 S1 S2 S2 S3 S4 + = = + = = = S1 L1 S1 -L1 L1 S1 -L1 L1 Y11 S2 L2 S2 -L2 L2 <= <= <= <= <= <= <= <= = <= <= <= <= <= 8 1 2 -2 2 0 -3 3 2 10 2 10 0 9 Compartment 1 Compartment 2 + – – – 4L1 – 12Y11 2Y11 2Y12 2Y12 – 3Y13 – 3Y13 + + – + + + Y12 + Y13 4L2 – 12Y21 Y21 10Y21 3Y21 6Y21 4L1 <= 8 if L1 <= 1 2 if L1 = 2 0 if L1 = 3 4L2 <= 10 if L2 <=2 0 if L2 = 3 6 if L3 = 0 8 if L4 = 0 S3 <= 6 S4 <= 8 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 29 B777/300 HOLD Pax Flights B777/300 1 8S 3L 2 16S 5L 3 12S 4L Compartment 4 S1 S1 S1 S2 S2 S2 S3 S3 S3 S4 S4 + = = + + = + + = + + S1 L1 S1 -L1 L1 S1 -L1 L1 Y11 S2 L2 S2 -L2 L2 S2 -L2 L2 Y21 <= <= <= <= <= <= <= <= = <= <= <= <= <= <= <= <= = 8 1 2 -2 2 0 -3 3 2 16 2 18 -3 4 0 -5 5 2 Compartment 1 Compartment 2 Compartment 3 + – – – 4L1 – 12Y11 2Y11 2Y12 2Y12 – 3Y13 – 3Y13 + + – + – – – – Y12 + Y13 4L2 – 20Y21 3Y21 4L2 – 18Y22 2Y22 Y22 5Y23 5Y23 + Y22 + Y23 4 8S 2L 5 4L1 <= 8 if L1 <= 1 2 if L1 = 2 0 if L1 = 3 4L2 <= 16 if L2 <= 2 4L2 <= 18 if 3 <= L2 <= 4 0 if L2 = 5 4L3 <= 12 if L3 <= 2 4L3 <= 14 if L3 = 3 0 if L3 = 4 4L4 <= 8 if L4 <= 1 4L4 = 10 if L4 = 2 S3 L3 S3 -L3 L3 S3 -L3 L3 Y31 S4 L4 S4 -L4 L4 + – + – 4L3 – 16Y31 2Y31 4L3 – 14Y32 3Y32 – 4Y33 – 4Y33 + + – + + + Y32 + Y33 4L4 – 8Y41 Y41 4L4 + 6Y41 2Y41 4Y41 <= <= <= <= <= <= <= <= = <= <= <= <= <= 12 2 14 -3 3 0 -4 4 2 8 1 16 0 6 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 30 B747P HOLD Pax Flights B747P Compartment 1 Compartment 2 Compartment 3 Compartment 4 S1 L1 S1 -L1 L1 S2 L2 S2 -L2 L2 + – + + + + 1 6S 2L 2 10S 3L S1 S1 S2 S2 0 S4 S4 4L1 – 8Y11 <= 6 Y11 <= 1 6Y11 <= 6 2Y11 <= 0 4Y11 <= 6 4L2 – 8Y21 <= 10 <= 2 + 10Y21 <= 10 + 3Y21 <= 0 + 6Y21 <= 9 3 + = + = 4 14S 4L 5 4L1 <= 6 if L1 <= 1 0 if L1 = 2 4L2 <= 10 if L2 <= 2 0 if L2 = 3 + 4L4 <= 14 if L4 <= 3 = 0 if L4 = 4 0 S4 L4 S4 -L4 L4 + – + + + 4L4 – 16Y41 Y41 14Y41 4Y41 8Y41 <= <= <= <= <= 14 3 14 0 12 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 31 SPECIFICATION AND MODELING OF SYSTEM REQUIREMENTS Overall System Architecture Design 3 Tiers Approach Reports Database Terminal with Web Browser (JSP) First Tier RDBMS Server (Oracle) Web and Application servers, together with linear optimization base system MOSEK Middle Tier Third Tier Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 webbased 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 By Fok Ming Ka (96480570) Final Year Project Report Page 35 Architecture Design Business Model C a rg o L o a d P la n n in g a n d A n a ly sis B u sin e ss M o d e l Im p le m e n t th e p la n n in g I m p le m e n t N ext P hrase R a is e r e q u e s t fo r p r e p a r in g c a r g o l o a d p la n S u g g e s t o p ti m a l s o lu tio n Inp ut P e r fo r m l o a d p la n n in g a n d a n a ly s is R e s u 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report Page 37 Network / Communication Model Web Server Application Server Infrastructure Network backbone Cargo Load Planning and Analysis Network Communication Model User Desktop with Web Browser Database Server Business Application Database Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 38 Hardware Model CargoLoadPlanningandAnalysis HardwareModel - IBM P4 machine with 1.2GHz processor - 256MB Memory - 20GB Storage capacity - IBM P4 machine with 1.2GHz processor - 256MB Memory - 20GB Storage capacity Infrastructure Network Backbone Web Server - IBM P3 machinewith 1.0GHz processor - 128MB Memory - Internet Explorer 6 User Desktop with Web Browser - IBM P4 machine with 1.2GHz processor - 256MB Memory - 20GB Storage capacity Business Application Database Database Server Application Server Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 39 Operating Software Model Cargo Load Planning and Analysis Operating Software Model O/S : WinXP S/W : Internet Explorer 6 Web Server O/S : WinXP S/W : Resin, Matlab, Mosek Infrastructure Network Backbone O/S : WinXP S/W : Resin, JSP User Desktop with Web Browser O/S : WinXP S/W : Orcale 8.1.7.0.0 Database Server Application Server Business Application Database Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 40 Applications Interface Model Cargo Load Planning and Analysis Application Interface Model #2 Collect the request and transform the results generated via TCP/IP Infrastructure Network Backbone Web server Application Server #3 Receive request and transfer the data from / to the Application Server Server via TCP/IP #1 Issue business request and display the results in HTML format Database Server User Desktop with Web browser Business Application Interface * Tools / Protocol 1 User desktop <> Web Server Web browser & JSP / HTTP 2 Web Server <> Application Server JSP / TCPIP / Resin 3 Application Server <> Database Server Oracle / TCPIP / JDBC Function / Usage Transfer business requirement and results Collect / transfer user request from/to the business core system 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 By Fok Ming Ka (96480570) Final Year Project Report Page 41 ANALYSIS AND DESIGN Use-Case Diagram retrieve cargo booking perform cargo analysis cargo space control show results perform cargo planning Collaboration Diagram – perform cargo analysis 4: calculate underload 5: calculate baggage ratio 6: calculate pax load factor 7: calculate container numbers (by cargo type) 1: perform cargo analysis : cargo space control cargo system 8: show report (with no-fit, underload, baggage ratio & pax load factor by flight / by month) 3: return flight, loading data with details from diff. dimensions 2: get data from fact and dimension tables : terminal data warehouse Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 42 Collaboration Diagram – perform cargo planning 1: get optimal load plan 12: get optimization result detail cargo system 11: dis play optimized result 15: display detailed optim ized results : cargo space control 6: get optimal load result (.lp file) 10: return container list, optimal weight 3: return flight, loading data with details from diff. dimensions 5: return .lp file 14: return results : terminal 2: get data from fact and dimension tables 4: create file 13: get detailed result Matlab 7: get optimal load result 8: return container list, optimal weight 9: insert data result Mosek optimizer Data warehouse Collaboration Diagram – perform booking 1: get booking data 4: display booking list cargo system : cargo space control : terminal 2: get data from tables 3: return booking data datawareh ouse Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 43 Sequence Diagram – perform cargo analysis : c argo s pac e control cargo s ys tem data warehous e : term inal perform cargo analys is get data from fact and dim ens ion tables return flight, loading data with details from diff. dim ens ions c alc ula te underload calculate bag gage ratio calculate pax load factor calculate con tai ner nu mbers (by ca rgo type) s how report (with no-fit, underload, baggage ratio & pax load factor by flight / by m onth) Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 44 Sequence Diagram – perform cargo planning : carg o space control cargo system datawareho use get booki ng data get data from tables return booki ng data displ ay booking list : termi nal Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 45 Sequence Diagram – perform booking : cargo s pace control cargo system Data warehouse Matl ab Mosek opti mizer get optim al load plan get data from fact and dimens ion tables return flight, loading data with details from diff. dimens ions create fil e return .lp file get optim al load result (.lp file) get optimal load result return container list, optimal weight insert data result return container list, optimal weight display optim ized result get optimization result detail get detailed result return results display detailed optim ized results : term inal Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 46 DATABASE DESIGN Load planning FLIGHT_CAPACITY FLIGHT_DATE FLIGHT_NO LEG_ORIGIN LEG_DEST AIRCRAFT_TYPE MAXLOADING PAXNUM PAXWGT FUELWGT MISCWGT CONTAINERLIST gets FLIGHT_DATE FLIGHT_NO LEG_ORIGIN LEG_DEST AIRCRAFT_TYPE CGOWGT CONTAINER CONTAINER_TYPE PREFER_COMPARTMENT CGOTYPE CONTAINERLIST_RESULT CONTAINER RESULT Puts into 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 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 47 of each container. User can refer to this table for generating the list of valid containers. Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report 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 decision-making. different dimensions and have more scopes for 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report Page 50 Loading Analysis Date Dimension Datedimension ID Station Dimension Datevalue Dayofw eek Monthvalue Quartervalue Yearvalue Yearmonthvalue Weeknumber Seq num head Carrier ID Flight number ID Flight origin date ID Flight origin station ID Flight dest station ID Leg origin ID Leg dest ID Station ID Airportindicator CityCode Countryregion Countryterritory CXHoststationindicator Country District Hoststationindicator IATAareacode IATAsubareacode Region Station Subdistrict Billingcurrency City Handledcarrstation Stateprovince Stationname Cgoload Header Flt Fact Deck Version Dimension Deck ver ID Aircraft tail number Low er deck pallet count Low er deck container count Upper deck PEB pallet count Upper deck other pallet count Deck version ID Actual baggage w gt Actual baggage pcs Actual pax per port No of cockpit crew No of cabin crew Underload Pax capacity PAD Payload available Total payload No fit upper Q6Q7 No fit upper PEB No fit low er Carrier Dimension Carrier ID Carrier code Carrier desc Flight Dimension Flight number ID Carrier code Flight number Flight origin date Leg origin port Leg dest port Flight type Flight type desc Depart time Depart local date Arrival time Arrival local date Aircraft type Aircraft tail number Container Dimension Container ID Container identifier Container code Container type Container type desc Tare w gt Cgo type group CSC ULD type CSC no of space occupied SPL Dimension SPLcode ID Special Handling Code SPLgroup SPLdescription SPLHostIATAflag Cgoload Cgodetail Fact Seq Num Fact Carrier ID Flight number ID Flight origin date ID Leg origin ID Leg dest ID Container ID Container position ID Actual w gt of cgo SPL1 ID SPL2 ID SPL3 ID SPL4 ID SPL5 ID Cargo type ID Cargo dest ID Position Dimension Position ID Position number Position loc Cargo Type Dimension Cargo type ID Cargo type Cargo type desc Cargo type group Cargo type group desc Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 <= 0.5 x1 + 0.833 x2 <= x1 + 0.667 x2 <= 0.1 x1 + 0.025 x2 <= bounds 10 <= x1 x1 <= +inf 20 <= x2 <= 500 general x1 end 630 600 708 135 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report 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. 1 DATABASE 2 6 5 MATLAB Desktop w ith Brow ser 4 3 MOSEK Action item # 1 2 3 4 5 6 Action Description User sends a request for generating the optimization solution among the containers Execute the already defined database package for generating the optimization script (the required LP file) After validating the syntax of the LP file, submit the requirement to MOSEK for optimization calculation Return the optimization result back to MATLAB for further analyze By executing the MATLAB build-in function to transfer the result into Oracle in form of table records Retrieve the optimization result from the database table and display it as HTML format Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 56 IMPLEMENTATION PROGRAM ARCHITECTURE Main Structure of the programs Login Menu.htm Home.htm Cargo Analysis User_info.jsp Cargo Booking Cargo Plan Logout footer.jsp Login Help.htm SUCCESS Login.jsp javascript: validateLogin Form PASS Home.htm Login.java FAIL Login_required. jsp Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 57 Cargo Analysis chart.htm Menu.htm Cargoanalysis. jsp chart.gif (data warehouse database graph) javascript: validateCargo AnalysisForm Cargoanalysis _graph.jsp PASS JDBC Y Login.jsp N: login.jsp Oracle DB RETURN RESULT check login session exist dimension.java Cargo Booking Menu.htm Cargobooking. jsp javascript: validateCargo PlanForm PASS Oracle DB JDBC Y Login.jsp N: login.jsp check login session exist Cargobooking_view.jsp RETURN RESULT booking.java Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 58 Cargo Planning Menu.htm javascript: validateCargo PlanForm Cargoplan.jsp PASS Login.jsp N: login.jsp build C:\\fp-plsql_main.sql under user request check login session exist Y Y fileIO.java (method savefile) Cgoplan_ graph.jsp Cgoplan_ detail.jsp cgoplandtl. java RETURN RESULT get 3 files - fpmosek_result.txt - fpmosek_value.txt - fpbatch_okflag.txt Y callbatch.java fpbatch.bat EXIT command fp-plsql_main.sql output 3 files: - fpmosek_result.txt - fpmosek_value.txt - fpbatch_okflag.txt execute c:\\fp-plsql_main.sql to call PL/SQL package for build up c:\\fp-plsql_yeah.lp call wait for 5 seconds Oracle DB fpmosek.m Mosek Matlab Oracle DB update DB Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 59 Logout remove login session Menu.htm logout.jsp logout_status .jsp Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 60 PROCESSING TIME Loading analysis Select all Select one flight Number of records in data Processing time warehouse 2 fact tables (35859 + 1442 records) 20 seconds + 9 dimension tables 10 seconds Load planning The test case Number of records in data warehouse 40 Processing time 36 seconds Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report 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 Total Total no. of Type 1 Type 23 Type 4 Type 5 problem Mass (kg) containers 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: No. of containers Max Allowed Error Mass Loaded (kg) Test Prob loaded (% RC) 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 By Fok Ming Ka (96480570) AIRCRAF T _TYPE CGOW GT CONTAINER Final Year Project Report Page 62 CONTAINER PREFER _TYPE _COM PARTM ENT 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 AM F33101XX TYPE23 2 CARGO A330 1000 AM F33102XX TYPE23 2 CARGO A330 1000 AM F33103XX 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 PM C33101XX TYPE4 1 CARGO A330 1000 PM C33102XX TYPE4 1 CARGO A330 1000 PM C33103XX TYPE4 2 CARGO A330 1000 PM C33104XX TYPE4 2 CARGO A330 1000 PM C33105XX TYPE4 2 CARGO A330 1000 PM C33106XX TYPE4 3 CARGO A330 1000 PM C33107XX TYPE4 3 CARGO A330 1000 PM C33108XX TYPE4 3 CARGO A330 1000 PM C33109XX 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 By Fok Ming Ka (96480570) 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] Final Year Project Report Page 63 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report 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 date number origin / Leg Dest /Aircraft/ HOLD / Container / CGOWGT / TYPE 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 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 AMF33101XX 1000 TYPE23 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 65 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) APPLICATION RESULTS Login Final Year Project Report Page 66 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report Page 68 Guidelines for load plan Guidelines CONTAINER_TYPE Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 69 CARGO LOADING ANALYSIS Data warehouse graph 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. Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report Page 73 Station Dimension Report shows under-load and no-fit data by region Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 74 Loading Analysis by specific flight Show baggage ratio and pax load factor Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 75 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 76 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Containers could be grouped into different type Final Year Project Report Page 78 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) TYPE 1 TYPE 23 TYPE 4 TYPE 5 Container name with suffix AKE ALF AMF PMC P6P PGA Final Year Project Report Page 79 Weight limited at 1588kg 3175kg 5035kg 5035kg/6804kg 5035kg/6804kg 11340kg Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 80 B777-300 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 81 Cargo Plan Build .lp file by using pl/sql Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 82 Starting Matlab and Mosek for optimization Mosek use Matlab as a platform for doing optimization Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 83 Optimize result return Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 84 Get results details by cargo hold View floor plan to see the optimization result Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Logout Delete all servlet login session. Final Year Project Report Page 85 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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 By Fok Ming Ka (96480570) Final Year Project Report 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: Underload: Pax load Actual number of pax / number of baggage containers Payload available to load – pax load – total cargo payload (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: Cargo Load Factor: Hold: Compartment: Actual pax load / pax seats capacity RTK / ATK as COMPARTMENT shown on the below graph as HOLD shown on the below graph Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 89 REFERENCE 1. 2. 3. 4. Amiouny, S.V., Bartholdi, J.J., III, Vande Vate, J.H., and Zhang, J., “Balance Loading,” Operations Research, 40(2), 238-246 (1992). Heidelberg K. R., Parnell G. S., Ames J. E. IV, “Automated Air Load Planning”, Naval Research Logistics, 45, 8 (1998), 751-768 Marcel Mongeau, Chrstian Bes, “Optimization of Aircraft Container Loading”, IEEE Transaction on Aerospace and Electronic Systems, 39(1), 140-150 Clive Thomas, Kevin Campbell, Gail Hines, Michael Racer, “Airbus Packing at 6. Federal Express”, Interfaces, 28, 4 (1998), 21-30 Joseph E. Beaini, Pascal R. Bedrossian, “Model for Maximizing Container Loading in the Airfreight Industry”, MAESC’99, 1-11 http://www.sascargo.com/default.asp?NavID=1036 7. 8. 9. 10. http://www.cathaypacific.com/intl/aboutus/investor/0,,,00.html http://www.tdctrade.com/shippers/vol22_4/vol22_4_log4.htm http://www.shareholder.com/klm/news/20000306-103289.cfm Uwe H. Suhl, Leena M. Suhl, “Solving Airline-fleet Scheduling Problems with 5. 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 By Fok Ming Ka (96480570) Final Year Project Report Page 90 APPENDIX DATABASE SCHEMA Fact tables POST FLIGHT CARGO LOADING HEADER Table Table Definition Table name Table description CGOLOAD_HEADER_FLT_FACT Post flight cargo loading header Field Definition Element SEQ_NUM_HEAD CARRIER_ID FLIGHT_NUMBER_ID FLIGHT_ORIGIN_DATE_ID FLIGHT_ORIGIN_STATION_ID FLIGHT_DEST_STATION_ID LEG_ORIGIN_ID Description and sample ** For internal use only ** Carrier code id Flight number ID Flight origin date ID Flight origin station ID Flight destination station ID Type NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER Key Null? Related dimension PK PK PK Not null Not null Not null Not null PK Not null Flight Dimension Date Dimension Station Dimension Station Dimension Station Dimension PK Not null Station Dimension Leg origin station ID LEG_DEST_ID DECK_VERSION_ID Leg destination station ID Deck version ID NUMBER NUMBER Cargo Load Planning and Analysis By Fok Ming Ka (96480570) ACTUAL_BAGGAGE_WGT ACTUAL_BAGGAGE_PCS ACTUAL_PAX_PER_PORT NO_OF_COCKPIT_CREW NO_OF_CABIN_CREW UNDERLOAD PAX_CAPACITY PAD PAYLOAD_AVAILABLE TOTAL_PAYLOAD NO_FIT_UPPER_Q6Q7 NO_FIT_UPPER_PEB NO_FIT_LOWER Final Year Project Report Page 91 Actual baggage weight in KG Actual baggage pieces Actual number of passengers per port Number of cockpit crews Number of cabin crews Under load value in KG (Total payload available – estimated pax weight – total payload) Number of passengers allowed e.g. J59Y324 = total 383 Number of subload passengers Payload available to load for flight in KG Total payload on flight in KG No of unused containers position in upper deck except PEB No of unused containers position in upper deck – PEB No of unused containers position in lower deck NUMBER(4) NUMBER(5) NUMBER(3) NUMBER(2) NUMBER(2) NUMBER(10) NUMBER(3) NUMBER(2) NUMBER(10) NUMBER(10) NUMBER(2) NUMBER(2) NUMBER(2) Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 92 POST FLIGHT CARGO LOADING DETAILS Table Table Definition Table name Table description CGOLOAD_CGODETAIL_FACT Post flight cargo loading details Field Definition Element SEQ_NUM_FACT CARRIER_ID FLIGHT_NUMBER_ID FLIGHT_ORIGIN_DATE_ID LEG_ORIGIN_ID LEG_DEST_ID CONTAINER_ID CONTAINER_POSITION_ID ACTUAL_WGT_OF_CGO SPL1_ID SPL2_ID SPL3_ID SPL4_ID SPL5_ID CARGO_TYPE_ID CARGO_DEST_ID Description ** For internal use only ** Carrier code id Flight origin station ID Flight destination station ID Leg origin station ID Leg destination station ID Container code ID Container position id Actual weight of cargo in KG SPL code for container ID SPL code for container ID SPL code for container ID SPL code for container ID SPL code for container ID Type of cargo ID Cargo destination ID Type NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER(10,2) NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER Key PK PK PK PK PK Null? Not null Not null Not null Not null Not null Not null Not null Related dimension Station Dimension Date Dimension Station Dimension Station Dimension Container Dimension Position Dimension SPL Dimension SPL Dimension SPL Dimension SPL Dimension SPL Dimension Cargo Type Dimension Station Dimension Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 93 Dimension tables FLIGHT DIMENSION Table Table Definition Table name Table description FLIGHT_DIMENSION Flight description Field Definition Element FLIGHT_NUMBER_ID CARRIER_CODE FLIGHT_NUMBER FLIGHT_ORIGIN_DATE LEG_ORIGIN_PORT LEG_DEST_PORT FLIGHT_TYPE FLIGHT_TYPE_DESC DEPART_TIME DEPART_LOCAL_DATE ARRIVAL_TIME ARRIVAL_LOCAL_DATE AIRCRAFT_TYPE AIRCRAFT_TAIL_NUMBER Description ** For internal use only ** Carrier code e.g. ‘CX’ Flight number Flight origin date Flight origin e.g. ‘HKG’ Flight destination e.g. ‘BKK’ Flight type i.e. P=PAX, M=MIXED, C=ALL CARGO Flight type desc Actual departure time Actual departure local date Actual arrival time Actual arrival local date Aircraft type Aircraft tail number Type Null? NUMBER VARCHAR2(3) Not null Not null VARCHAR2(5) DATE VARCHAR2(5) Nut null Not null Not null VARCHAR2(5) Not null VARCHAR2(1) VARCHAR2(20) NUMBER(4) DATE NUMBER(4) DATE VARCHAR2(7) VARCHAR2(7) Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 94 CARGO TYPE DIMENSION Table Table Definition Table name Table description CGOTYPE_DIMENSION Cargo type description Field Definition Element CARGO_TYPE_ID CARGO_TYPE CARGO_TYPE_DESC CARGO_TYPE_GROUP CARGO_TYPE_GROUP_DESC Description ** For internal use only ** Cargo type ‘B’ – baggage ‘C’ – cargo ‘E’ – Equipment ‘M’ – Mail Pls refer to AHM 510 Desc cargo type of AHM510 For reporting purpose – to group cargo type together Cargo type description Type NUMBER VARCHAR2(2) VARCHAR2(40) VARCHAR2(1) VARCHAR2(40) Null? Not null Not null Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 95 CARRIER DIMENSION Table Table Definition Table name Table description CARRIER_DIMENSION Carrier description Field Definition Element CARRIER_ID CARRIER_CODE CARRIER_DESC Description ** For internal use only ** Carrier code Carrier description Type Null? NUMBER VARCHAR2(3) VARCHAR2(30) Not null POSITION DIMENSION Table Table Definition Table name Table description POSITION_DIMENSION Position description Field Definition Element POSITION_ID POSITION_NUMBER POSITION_LOC Description ** For internal use only ** Position number Upper deck or lower deck Type NUMBER VARCHAR2(3) VARCHAR2(2) Null? Not null Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 96 DATE DIMENSION Table Table Definition Table name Table description DATE_DIMENSION Date representation description Field Definition Element DATEDIMENSION_ID DATEVALUE DAYOFWEEK MONTHVALUE QUARTERVALUE YEARVALUE YEARMONTHVALUE WEEKNUMBER Description ** For internal use only ** Date e.g. 1/9/1998 (self format) Weekdays e.g. 1,2,3… Month e.g. 01 Quarter e.g. Q1 Year e.g. 1998 Year Month e.g. 199801 Week Number Type NUMBER DATE VARCHAR2(7) VARCHAR2(8) NUMBER(38,3) NUMBER(4) NUMBER(6) NUMBER(38,3) Null? Not null Not null Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 97 DECK VERSION DIMENSION Table Table Definition Table name Table description DECK_VERSION_DIMENSION Deck version description Field Definition Element DECK_VER_ID AIRCRAFT_TAIL_NUMBER LOWER_DECK_PALLET_COUNT LOWER_DECK_CONTAINER_COUNT UPPER_DECK_PEB_PALLET_COUNT UPPER_DECK_OTHER_PALLET_COUNT Description ** For internal use only ** Aircraft tail number Lower deck pallet count (as a key) Lower deck container count Upper deck PEB pallet count Upper deck Q6, Q7 & others pallet count Type NUMBER VARCHAR2(4) NUMBER(2) NUMBER(2) NUMBER(2) NUMBER(2) Null? Not null Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 98 STATION DIMENSION Table Table Definition Table name Table description STATION_DIMENSION Airport station description Field Definition Element STATION_ID AIRPORTINDICATOR CITYCODE COUNTRYREGION COUNTRYTERRITORY CXHOSTSTATIONINDICATOR COUNTRY DISTRICT HOSTSTATIONINDICATOR IATAAREACODE IATASUBAREACODE REGION STATION SUBDISTRICT BILLINGCURRENCY CITY HANDLEDCARRSTATION STATEPROVINCE STATIONNAME Description ** For internal use only ** Airport indicator City code Country region Country territory CX Host Station Indicator Country code District Host station indicator IATA Area Code IATA subarea code Region Station Subdistrict Billing Currency City Handled carrier station State Province Station Name Type NUMBER VARCHAR2(1) VARCHAR2(5) VARCHAR2(30) VARCHAR2(30) VARCHAR2(1) VARCHAR2(2) VARCHAR2(2) VARCHAR2(1) VARCHAR2(2) VARCHAR2(18) VARCHAR2(1) VARCHAR2(5) VARCHAR2(2) VARCHAR2(3) VARCHAR2(40) VARCHAR2(1) VARCHAR2(5) VARCHAR2(40) Null? Not null Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 99 CONTAINER DIMENSION Table Table Definition Table name Table description CONTAINER_DIMENSION Cargo container description Field Definition Element CONTAINER_ID CONTAINER_IDENTIFIER CONTAINER_CODE CONTAINER_TYPE CONTAINER_TYPE_DESC TARE_WGT CGO_TYPE_GROUP CSC_ULD_TYPE CSC_NO_OF_SPACE_OCCUPIED Description ** For internal use only ** Container identifier Container code e.g. ‘P6P’, ‘LD3’ Container type: Pallet / container Container type description Tare weight Cargo type group Type of containers and its pallet type Twice the count for big containers, like ‘ALF’ Type NUMBER VARCHAR2(10) VARCHAR2(4) VARCHAR2(1) VARCHAR2(30) NUMBER(5) VARCHAR2(2) VARCHAR2(20) NUMBER(1) Null? Not null Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 100 SPECIAL HANDLING CODES Table Table Definition Table name Table description SPL_DIMENSION Special handling description Field Definition Element SPLCODE_ID SPECIAL_HANDLING_CODE SPLGROUP SPLDESCRIPTION SPLHOSTIATAFLAG Description ** For internal use only ** Special handling code e.g. ‘HEA’ SPL Category SPL Descriptions SPL Host Iata Flag Type NUMBER VARCHAR2(3) VARCHAR2(25) VARCHAR2(50) VARCHAR2(4) TRANSLATE PALLET Table Table Definition Table name Table description CUPAC_PALLET_TRANSLATION Translate CUPAC type Field Definition Element PALLET_TYPE CONTOUR_TYPE Description ‘S’ ‘M’ T’ ‘D’ ‘ ‘ Contour type ‘Q6’, ‘Q7’ ,‘OHG’, D‘, ‘ ‘ Type VARCHAR2(1) VARCHAR2(4) Null? Not null Null? Not null Not null Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 101 CONTAINERLIST Table Table Definition Table name Table description CONTAINERLIST Container list description Field Definition Element FLIGHT_DATE FLIGHT_NO LEG_ORIGIN LEG_DEST AIRCRAFT_TYPE CGOWGT CONTAINER CONTAINER_TYPE PREFER_COMPARTMENT CGOTYPE Description Flight origin date Flight number Leg origin e.g. ‘HKG’ Leg destination e.g. ‘BKK’ Aircraft type Cgo weight Container SIZE of container Prefer up to which compartment Type of container Type DATE VARCHAR2(10) VARCHAR2(10) VARCHAR2(10) VARCHAR2(10) NUMBER VARCHAR2(20) VARCHAR2(10) NUMBER VARCHAR2(10) Null? Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 102 CONTAINERLIST RESULT Table Table Definition Table name Table description CONTAINERLIST_RESULT Container list result after optimization Field Definition Description Element CONTAINER RESULT Container The result after the optimization Type Null? VARCHAR2(20) NUMBER FLIGHT CAPACITY Table Table Definition Table name Table description Flight Capacity Describe flight capacity Field Definition Element FLIGHT_DATE FLIGHT_NO LEG_ORIGIN LEG_DEST AIRCRAFT_TYPE MAXLOADING TOTALPAX TOTALFUEL MISCWGT Description Flight origin date Flight number Leg origin e.g. ‘HKG’ Leg destination e.g. ‘BKK’ Aircraft type Maxload allowed for that aircraft type The final number of pax for that flight The total fuel weight used Other Weight Type DATE VARCHAR2(10) VARCHAR2(10) VARCHAR2(10) VARCHAR2(10) NUMBER NUMBER NUMBER NUMBER Null? Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Final Year Project Report Page 103 PROJECT PLAN (SCHEDULE TIME) Project Task / Activity Start Date End Date Mandays required (2 mandays per wk) 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 1 Apr 5 May 20 md Dissertation Proposal Final report documentation and powerpoint presentation Cargo Load Planning and Analysis By Fok Ming Ka (96480570) FREIGHT INFORMATION Floor Plan for A330 Detailed floor plan for A330 Final Year Project Report Page 104 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Floor Plan for B747P Suggested load plan for B747P Final Year Project Report Page 105 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Floor plan for B777-200 Suggested load plan for B777-200 Final Year Project Report Page 106 Cargo Load Planning and Analysis By Fok Ming Ka (96480570) Floor plan for B777-300 Suggested load plan for B777-300 Final Year Project Report Page 107