Department of Computer Science Dissertation City University of Hong Kong

advertisement
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
Download