Disruption Management in Airline Operations Control – An Intelligent Agent-Based Approach

107

X6 Disruption Management in Airline Operations Control – An Intelligent Agent-Based Approach António J.M. Castro1 and Eugénio Oliveira1

1LIACC-NIAD&R,

FEUP, DEI, University of Porto Portugal

1. Introduction Operations control is one of the most important areas for an airline company. Through operations control mechanisms an airline company monitors all the flights checking if they follow the schedule that was previously defined by other areas of the company. Unfortunately, some problems may arise during this stage (Clausen et al., 2005). Those problems can be related with crewmembers, aircrafts and passengers. The Airline Operations Control Centre (AOCC) includes teams of experts specialized in solving the above problems under the supervision of an operation control manager. Each team has a specific goal contributing to the common and general goal of having the airline operation running under as few problems as possible. The process of solving these kinds of problems is known as Disruption Management (Kohl et al., 2004) or Operations Recovery. To select the best solution to a specific problem, it is necessary to include the actual costs in the decision process. One can separate the costs in two categories: Direct Operational Costs (easily quantifiable costs) and Quality Operational Costs (less easily quantifiable costs). Direct operational costs are, for example, crew related costs (salaries, lodgement, extra-crew travel, etc.) and aircraft/flights cost (fuel, approach and route taxes, handling services, line maintenance, etc.). The quality operational costs that AOCC is interested in calculating are, usually, related with passengers satisfaction. Specifically, we want to include in the decision process the estimated cost of delaying or cancelling a flight from the passenger point of view, that is, in terms of the importance that such a delay will have to the passenger. In this chapter we present our intelligent agent-based approach to help the AOCC solving the disruption management problem. It is organized as follows: In Section 2 we present some related regarding operations recovery, a classification of current tools and systems in use in some airline companies and a brief summary of the current use of software agents’ technology in other domains. Section 3 introduces the Airline Operations Control Centre (AOCC), including typical organizations and problems, the current disruption management (DM) process and a description of the main costs involved. Section 4 is the main section of this chapter and presents our agent-based approach to this problem. This section presents: (i) the reasons that made us adopt the software agents and multi-agent system (MAS) paradigm; (ii) the MAS architecture including the specific agents, roles and protocols as well as some relevant agent characteristics like autonomy and social-awareness; (iii) decision

108

Web Intelligence and Intelligent Agents

mechanisms, including costs criteria and negotiation protocols and (iv) examples of the problem solving algorithms used. In Section 5 we present the experimental setup and, in Section 6, we evaluate our approach, presenting and discussing the results. Finally, in Section 7, we conclude and give some insights on the future work.

2. Related Work and Current Tools and Systems The goal of this section is threefold. In Section 2.1 we present the related work regarding operations recovery. Research in this area has been made, mainly, through Operations Research (OR) techniques. Barnhart et al., (Barnhart et al., 2003) gives an overview of ORbased applications in the air transport industry. In Section 2.2 we describe and classify the current tools and systems in use at some worldwide airlines and in Section 2.3 we present some interesting examples of how agents are used in other applications domains and problems. 2.1 Related Work We divided the bibliography we have analyzed in three main areas: aircraft recovery, crew recovery and integrated recovery. For a more detailed explanation of those papers as well as for older papers related with each of these subjects, please consult (Clausen et al., 2005). Aircraft Recovery: In (Liu et al., 2008) the authors propose a “multi-objective genetic algorithm to generate an efficient time-effective multi-fleet aircraft routing algorithm” in response to disruption of flights. It uses a combination of a traditional genetic algorithm with a multi-objective optimization method, attempting to optimize objective functions involving flight connections, flight swaps, total flight delay time and ground turn-around times. According to the authors “(…) the proposed method has demonstrated the ability to solve the dynamic and complex problem of airline disruption management”. As in other approaches, the authors do use the delay time in the objective functions but nothing is included regarding passengers’ quality of services costs. Mei Yang Ph.D. thesis (Yang, 2007) investigates the use of advanced tabu search methodologies to solve the aircraft-grounding problem and the reduced station capacity problem. The objective is to minimize the schedule recovery costs associated with flight schedule modifications and deviations from the original route. Mei introduces cancellation and delay costs in the objective function. For the delay costs, Mei uses a value of $20 if the delay is less than 15 minutes and $20 each minute if the delay is greater or equal to 15 minutes. For flight cancellations it uses a combination of lost revenue, loss of passenger goodwill and other negative effects, specific and predefined for each flight. The main difference regarding our approach is that we allow the definition of profiles for passengers of each flight (Mei and others, do not consider passengers’ profiles). Each one with an associated cost formula, that reflects the delay costs from the passenger point of view. In (Rosenberger et al., 2001) the authors formulate the problem as a Set Partitioning master problem and a route generating procedure. The goal is to minimize the cost of cancellation and retiming, and it is the responsibility of the controllers to define the parameters accordingly. It is included in the paper a testing process using SimAir (Rosenberger et al., 2002), simulating 500 days of operations for three fleets ranging in size from 32 to 96 aircraft servicing 139-407 flights. Although the authors do try to minimize flight delays, nothing is included regarding the importance of using quality costs.

Disruption Management in Airline Operations Control – An Intelligent Agent-Based Approach

109

Crew Recovery: In (Abdelgahny et al., 2004) the flight crew recovery problem for an airline with a hub-and-spoke network structure is addressed. The paper details and sub-divides the recovery problem into four categories: misplacement problems, rest problems, duty problems and unassigned problems. The proposed model is an assignment model with side constraints. Due to the stepwise approach, the proposed solution is sub-optimal. Results are presented for a situation involving a US airline taking into account 18 different problems. This work also omits the use of quality costs for deriving an appropriate solution. Integrated Recovery: In (Bratu & Barnhart, 2006) the author presents two models that considers aircraft and crew recovery and through the objective function focuses on passenger recovery. They include delay costs that capture relevant hotel costs and ticket costs if passengers are recovered by other airlines. According to the authors, it is possible to include, although hard to calculate, estimations of delay costs to passengers and potential costs of loosing future ticket sales. To test those models an AOCC simulator was developed, simulating domestic operations of a major US airline. It involves 302 aircrafts divided into 4 fleets, 74 airports and 3 hubs. Furthermore, 83869 passengers on 9925 different passengers’ itineraries per day are used. For all scenarios solutions are generated with reductions in passenger delays and disruptions. The difference comparing with our approach is that we propose a generic model to calculate the delay cost to passengers, based on their specific profile and opinion (obtained through frequent surveys). In (Kohl et al., 2004) the author reports on the experiences obtained during the research and development of project DESCARTES (a large scale project supported by EU) on airline disruption management. The current (almost manual) mode of dealing with recovery is presented. They also present the results of the first prototype of a multiple resource decision support system. Passenger delay costs are calculated regarding the delay at the destination and not at departure (we include both in our proposal) and takes into consideration the commercial value of the passenger based on the booked fare class and frequent flyer information. The main difference regarding our proposal is that we use the opinion of the passengers when calculating the importance of the delay. Lettovsky’s Ph.D. thesis (Lettovsky, 1997) is the first presentation of a truly integrated approach in the literature, although only parts of it are implemented. The thesis presents a linear mixed-integer mathematical problem that maximizes total profit to the airline while capturing availability of the three most important resources: aircraft, crew and passengers. The formulation has three parts corresponding to each of the resources, that is, crew assignment, aircraft routing and passenger flow. In a decomposition scheme these are three parts of a master problem known as the Schedule Recovery Model. Although the author takes into consideration the passenger, it does so concerning finding the best solution for the disrupted passengers. The difference of our approach is that we use the opinion of the passengers regarding the delay (expressed through a mathematical formula) to reach the best possible solution concerning delaying the flight. We still do not approach (at least at present time) the, also important, issue of finding the best itinerary for disrupted passengers. 2.2 Current Tools and Systems In previous work (Castro, 2008) we have classified the current tools (or systems that provide those tools) in use at AOCCs in one of these three categories:

110

Web Intelligence and Intelligent Agents

1. Database Query Systems (DBQS) 2. Decision Support Systems (DSS) 3. Automatic or Semi-Automatic Systems (ASAS) The DBQS – Database Query Systems (the most common situation at airlines) allows the AOCC human operators to perform queries on the existing databases to monitor the airline operation and to obtain other data essential for decision-making. For example, the aircraft and/or crew roster, aircraft maintenance schedule, passenger reservations, and so on. These systems are useful and relatively easy to implement and/or acquire but they have some important disadvantages, for example, to find the best solution and to take the best decision is completely dependent on the human operator. As we have explained in (Castro, 2008) there are two problems when airline companies use only this type of systems: (1) the solution quality is dependent on knowledge and experience of the human operator and, (2) due to the usual difficulty of the human being in leading with large volumes of data simultaneously, they do not use all the necessary information (variables) to take the best decision. The DSS - Decision Support Systems, besides having the same characteristics of the DBQS, also include additional functionalities to support the human operators on the decisionmaking. For example, after a request made by a human operator, these systems are able to recommend the best solution to solve a problem related with a delayed aircraft. Some of them may just recommend a flight re-scheduling but others are able to justify the candidate solution as well as to present the solution cost. DSS systems eliminate some of the disadvantages of the DBQS systems. Namely, they are able to analyze large volumes of data and, because of that, propose solutions that take into consideration more information (variables). The decision-making still is on the human operator side but, now, he is able to take better decisions. Unfortunately, one of the big problems with airline companies is the absence and/or complexity of the computerized information system keeping all the operational information. These are of paramount importance for the success of the decision support tools. This problem, referred in (Kohl et al., 2004) as the Data Quality and System Accessibility Problem, gains more importance when we start to implement decision support tools and/or automatic or semi-automatic systems. The goal of the third type of systems, ASAS – Automatic or Semi-Automatic Systems, is to automate as much as possible the AOCC, replacing the functional part by computerized programs. Specifically, these systems try to automate the repetitive tasks and also the tasks related with searching for the best solution (problem solving). In a totally automatic system, decision-making is also taken by the system. In a semi-automatic system, the final decision is taken by the human operator. In ASAS type of systems, the AOCC does not need as much human operators as in the previous ones, to operate correctly. Usually, roles or functions related with operation monitoring, searching for solutions related with aircraft, crew or passenger problems and re-allocation of resources, are performed by specialists agents (Castro & Oliveira, 2007) replacing the human specialists. The final decision regarding the application of the solution found by these systems on the environment (for example, making the necessary changes on the airline operational plan database) depends on the human supervisor. According to (Wooldridge, 2009) and (Castro, 2007) the agent and multi-agent systems paradigm is more appropriate to be used in this domain than any other paradigm.

Disruption Management in Airline Operations Control – An Intelligent Agent-Based Approach

111

2.3 3 Other Applicattion Domains To o the best of our knowledge, we were the first to o propose an org ganization of ageents to rep present all roles of an AOCC, in ncluding specialisst agents that co ooperate to achieeve the com mmon overall go oal of solving thee unexpected pro oblems arising du uring airline operrations (Caastro, 2007), (Castro & Oliveira, 2007). However,, agents and mu ulti-agent systemss have beeen applied both to other problem ms in air transporrtation domain an nd in other appliication do omains. A brief and a incomplete list of such applications followss. Tumer and Ag gogino developed a multi--agent algorithm for traffic flow management m (Tumer & Agogino, 2007). olfe et al., use ag gents to comparee routing selection n strategies in co ollaborative traffiic flow Wo maanagement (Wolfe et al., 2007). For ATC Toweer operations, Jo onker et al., hav ve also pro oposed the use of o multi-agent sy ystems (Jonker ett al., 2005). As a last example, a multiageent system for th he integrated dyn namic scheduling g of steel producttion has been pro oposed by y Ouelhadj (Ouelh hadj, 2003), (Cowling et al., 2003).

3. Airline Operattions Control In this section we introduce i the airlline operations co ontrol problem – AOCP (also kno own as airrline disruption management m problem). To contex xtualize, we start by briefly introd ducing thee AOCP precedin ng problem know wn as the Airlin ne Scheduling Pro oblem (ASP). Th hen we exp plain what an airrline operationall control centre (A AOCC) is and w we present some typical t AO OCC organization ns. The typical problems, the currrent disruption m management proccess as weell as the main costs involved are also a introduced. 3.1 1 Airline Schedu uling Problem Acccording to (Kohll et al., 2004) the scheduling proccess of an airline company is com mposed by y the long and sh hort-term phases presented p in Figu ure 1. The schedu uling process hass three he first maain dimensions or views: (1) passeenger view; (2) aiircraft view and (3) crew view. Th on ne represents the seats available to o be sold to the airline a customerss. The other two views, rep presents resourcees that will be allo ocated.

Fig g. 1. The airline sccheduling process

112

Web Intelligence and Intelligent Agents

Everything starts with publishing the flights timetable for a specific period of time (usually six months). After publishing the timetable, the revenue management phase starts. Here the goal is to maximize the revenue obtained selling tickets. At the same time, the scheduling of the two most important resources starts: aircrafts and crew. Regarding the aircraft, the first step is the fleet assignment. Here, the goal is to assign the aircraft type or aircraft fleet that will perform the flights. It is an important step because the aircraft type/fleet will define the number of available seats in each flight. Near to the day of operations, the assignment of the specific aircraft to each flight is performed. This step is known as tail assignment. After the fleet assignment step, it is possible to start to schedule the crew. The first step is the crew pairing. The goal is to define the crew duty periods (pairings) that will be necessary to cover all the flights of the airline for a specific period of time (typical one month). Having the pairings, it is possible to start the crew rostering step that is, assign crewmembers to the pairings. The output of this step is an individual crew roster that is distributed or published in the crew web portal. Finally and until the day of operations, it is necessary to change/updated the crew roster (roster maintenance), to include any changes that might appear after publishing the roster. The airline scheduling problem (ASP) is composed of all the previous phases and steps and ends some hours or days (depends on the airline policy) before the day of operation. The global objective of the ASP is to maximize the airline operating profit. For more detailed information please consult (Grosche, 2009) specially Section 2.1 to Section 2.4. 3.2 AOCC Organization The airline operations control problem (AOCP) starts where the airline scheduling problem stops. In Figure 1 the AOCP is represented by the disruption management square. If everything goes as planned the airline just needs to monitor the execution of the plan. Unfortunately, several unexpected events appear during this phase that can disrupt the plan. To monitor those events and solve the problems that arise from these disruptions and return to the previous plan as soon as possible, it is necessary to define and follow a disruption management process. Airline companies have an entity called Airline Operations Control Centre (AOCC) that is responsible for the disruption management process. There are three main AOCC organizations (Castro, 2008):  Decision Centre: The aircraft controllers share the same physical space. The other roles or support functions (crew control, maintenance service, etc.) are in a different physical space. In this type of Collective Organization all roles need to cooperate to achieve the common goal.  Integrated Centre: All roles share the same physical space and are hierarchically dependent of a supervisor. For small companies we have a Simple Hierarchy Organization. For bigger companies we have a Multidimensional Hierarchy Organization. Figure 2 shows an example of this kind of AOCC organization.  Hub Control Centre (HCC): Most of the roles are physically separated at the airports where the airline companies operate a hub. In this case, if the aircraft controller role stays physically outside the hub we have an organization called Decision Centre with a hub. If the both the aircraft controller and crew controller roles are physically outside the hub we have an organization called Integrated Centre with a hub. The main advantage of this kind of organization is to have the roles that are related

Disruption Management in Airline Operations Control – An Intelligent Agent-Based Approach

113

with airpo ort operations (cu ustomer service, catering, cleanin ng, passengers traansfer, etc.) physiically closer to thee operation. he organization adopted depends on several factorrs like airline sizze, airline networrk type Th (fo or example, hub-aand-spoke) and geographic g distriibution of the opeeration. In Figuree 2 we preesent the organizzation of a typicaal Integrated Operrational Control Ceentre. It is importtant to po oint out the role of o the supervisor, a characteristic th hat makes this orrganization hierarrchical and, also, the opeeration time-window that markss the responsibillity boundaries of the OCC. This operattion time-window w is different from airline to airline but, usually, ranges r AO fro om 72 to 24 hourss before to 12 to 244 hours after the day of operation.

Fig g. 2. Integrated aiirline operational control centre he roles or suppo ort functions more common in an AOCC, accordin ng to (Kohl et al.,, 2004) Th and (Castro, 2008), are the following g:  Flight Disppatch: Prepares th he flight plans and requests new w flight slots to th he Air Traffic Co ontrol (ATC) entiities (FAA in No orth America an nd EUROCONTR ROL in Europe, fo or example).  Aircraft Coontrol: Manages the resource aircrraft. It is the centrral coordination role in the operational control.  Crew Conttrol: Manages thee resource crew. Monitors the creew check-in and checkout, updattes and changes the crew roster according a to the disruptions that might appear du uring the operatio on.  Maintenance Services: Respo onsible for the un nplanned mainteenance services and a for short-term m maintenance scheduling. Chang ges on aircraft rottations may impaact the short-term m maintenance (m maintenance canno ot be done at all sstations).  Passenger Services: Decisio ons taken on thee AOCC will haave an impact on o the passengerss. The responsibility of this role iss to consider and minimize the imp pact of the decisio ons on passengerrs. Typical this ro ole is performed on the airports and a for bigger com mpanies is part off the HCC organization.

114

Web Intelligence and Intelligent Agents

3.3 3 Typical Proble ems In the previous secttion we presented d typical AOCC organizations o and d the roles that ex xist on tho ose organizationss. Now, it is imp portant to undersstand the typicall problems that appear a du uring the executio on of the airline operation. From our observation ns in a real AOCC C, and fro om (Kohl & Karissch, 2004), we fo ound the typical problems p presen nted in Figure 3. In this diaagram we have also included the impact i that each problem might h have on flight arrrival or departure delays as well as the relaation that exist between b them. Th he diagram also shows ation between th hem, and generatte new thaat the problems might propagatee due to the rela pro oblems on differrent flights. Thiss propagation ch haracteristic mak kes the problem m more diffficult to be solveed optimally in a real time and dynamic environ nment, like the one o we have on the AOCC..

Fig g. 3. Typical AOC CC problems and relations F 3 there iss an obvious rela ation between Fliight Arrival Delayys and Ass we can see in Figure Fliight Departure Deelays. Most of th he flights are peerformed by airccrafts that are used in preevious flights. If we have an arriv val delay and the aircraft turn-aro ound time at the airport a is not n enough, then n, if the AOCC does not find an alternative a solutio on, we will also have h a departure delay. Frrom the diagram m we can also see that the main reeasons for flight arrival a ute air traffic, en n-route weather, en n-route delay (besides the delay on deparrture) are: En-rou o minimize the arrival a airrcraft malfunction and flight diverssion. In the previious cases and to delay it is necessaary a cooperation n between the pilot, p the AOCC C and ATC. Regaarding t main reasons are: crew delays, cargo/baggage loading delay ys and departure delays, the passenger delays ass a consequence of o an arrival dela ay. Crewmembers that do not rep port for uty, air traffic con ntrol reasons, airccraft malfunction ns and weather co onditions (at dep parture du or at arrival) are thee other main reassons for departuree delays. 3.4 4 Current Disrup ption Manageme ent Process Ass we can see from m the previous seection, there are several s problems that might causee flight delays. AOCCs hav ve a process to monitor m the eventts and solve the p problems, so thatt flight nimum impact on o passenger and d, preferably, wiith the delays are minimizzed with the min onal cost. In Figu ure 4 we presen nt the current diisruption manag gement miinimum operatio pro ocess in use at mo ost of the airliness. This process has five steps:

Disruption Management in Airline Operations Control – An Intelligent Agent-Based Approach

1. 2.

3.

4. 5.

115

Operation Monitoring: In this step the flights are monitored to see if anything is not going according the plan. The same happens in relation with crewmembers, passenger check-in and boarding, cargo and baggage loading, etc. Take Action: If an event happens, like for example, a crewmember is delayed or an aircraft malfunction, a quick assessment is performed to see if an action is required. If not, the monitoring continues. If an action is necessary than we have a problem that needs to be solved. Generate and Evaluate Solutions: Having all the information regarding the problem the AOCC needs to find and evaluate the candidate solutions. Although there are several costs involved in this process, we found that the AOCC relies heavily on the experience of their controllers and in some rules-of-thumb (a kind of hidden knowledge) that exist on the AOCC. Take Decision: Having the candidate solutions a decision needs to be taken. Apply Decision: After the decision the final solution needs to be applied in the environment, that is, the operational plan needs to be updated accordingly.

Fig. 4. AOCC disruption management process In our opinion, this process can greatly benefit from an intelligent agent based approach to the problem, as we will explain in Section 4. 3.5 Main Costs Involved In the step Generate and Evaluate Solutions of the disruption management process on the previous section, we should consider the main costs involved in generating and choosing from candidate solutions. According to our observations these are the main costs involved when generating and evaluating a solution for a specific disruption: 1. 2.

Crew Costs: the average or real salary costs of the crewmembers, additional work hours and perdiem days to be paid, hotel costs and extra-crew travel costs. Flight Costs: airport costs (approach and taxing taxes, for example), service costs (cleaning services, handling services, line maintenance, etc.), and average maintenance costs for the type of aircraft, ATC en-route charges and fuel consumption.

116

Web Intelligence and Intelligent Agents

3.

Passenger Costs: passenger airport meals, passenger hotel costs and passenger compensations.

Finally, there is a less easily quantifiable cost that is also included: the cost of delaying or cancelling a flight from the passenger point of view. Most airlines use some kind of rule-ofthumb when they are evaluating the impact of the decisions on passengers. Others just assign a monetary cost to each minute of delay and evaluate the solutions taking into consideration this value. We propose a different way of calculating this cost component.

4. A MAS for Disruption Management in Airline Operations Control In Section 3 we introduced the Airline Scheduling Problem and the Airline Operations Control Problem (or Disruption Management Problem). We have described the AOCC organization and roles as well as the typical problems that appear during the execution of the operational plan. The disruption management process used by airlines was presented as well as the main costs involved in generating and evaluating the solutions. In this section we present our intelligent agent based approach to solve the Disruption Management Problem in the airline domain. The MAS was developed using Java1 and JADE (Bellifemine et al., 2004) as the development platform and as the run-time environment that provides the basic services for agents to execute. 4.1 Why an Agent and Multi-Agent System Paradigm? Considering the agent and multi-agent system characteristics as specified in (Wooldridge, 2009) and (Elamy, 2005), the following ones make us adopt this paradigm to the Airline Operations Control Problem:  Autonomy: MAS models problems in terms of autonomous interacting componentagents, which are a more natural way of representing task allocation, team planning, and user preferences, among others. In Figure 5 the PaxManager, AircraftManager and CrewManager agents (among others) are agents that can choose to respond or not to the requests according to their own objectives.  Agents are a Natural Metaphor: The AOCC is naturally modelled as a society of agents cooperating with each other to solve such a complex problem.  Reactivity: Agents are able to perceive and react to the changes in their environment. The Monitor agent in Figure 5 is an example of such an agent.  Distribution of resources: With a MAS we can distribute the computational resources and capabilities across a network of interconnected agents avoiding problems associated with centralized systems. Airline companies of some dimension have different operational bases. We use a MAS for each operational base, taking advantage of this important characteristic. Due to the social awareness characteristics of some of our agents (for example, Monitoring agent in Figure 5) they are able to distribute their tasks among other agents with similar behaviour.  Modularity and Scalability: A MAS is extensible, scalable, robust, maintainable, flexible and promotes reuse. These characteristics are very important in systems of 1 http://www.java.com

Disruption Management in Airline Operations Control – An Intelligent Agent-Based Approach





117

this dimen nsion and compllexity. Our MAS is able to scale iin terms of supp porting more operrational bases as well as in sup pporting differen nt algorithms to o solve specific prroblems. Concurrenccy/Parallelism: Ag gents are capablee of reasoning an nd performing taasks in parallel. This T provides flex xibility and speed ds up computatio on. The CrewSimA Anneal, CrewCBR and a CrewHillClim mb agents in Figurre 5, are examplees of concurrent agents. a Additionaally and accord ding to (Stone & Veloso, 20000) “if control and responsibiilities are sufficiiently shared am mong agents, th he system can to olerate failures by y one or more ag gents”. Our MAS can be totally orr partially replicaated in different computers. c If one or more agents fail, the global objjective is not affeccted. Legacy Sysstems: The AOCC C needs information that exists in obsolete but funcctional systems. We W can wrap the legacy componeents in an agent llayer, enabling th hem to interact wiith other softwaree components.

4.2 2 MAS Architecture It is i important to point p out that wee arrived to the architecture a of our multi-agent sy ystem, aftter performing an a analysis and design using an agent-oriented software method dology (Caastro & Oliveiraa, 2008). The ageent model and seervice model weere the outputs of o this pro ocess and the basse for this architeccture.

g. 5. MAS architeccture Fig gure 5 shows thee architecture of our multi-agent system approach present h. The boxes rep Fig ageents and the naarrow black dash h lines representt requests/propo osals made. The larger greeen lines represeent the interaction n between agentss regarding nego otiation and distrributed pro oblem-solving prrocess. The narro ow gray lines rep present interaction n within a hierarrchy of ageents and the norrmal black lines represent r the inteeractions after a solution is found d. It is im mportant to clarify y that Figure 5 rep presents only onee instance of the MAS. We can rep plicate

118

Web Intelligence and Intelligent Agents

almost all agents with the exception of the Supervisor agent because it is the one that interacts with the human supervisor (an application domain restriction). Each one of the agents Monitoring, PaxManager, AircraftManager, CrewManager and Supervisor has a specific role in the AOCC. The Monitoring agent monitors the operational plan looking for events that may represent any of the usual three problem dimensions, that is, aircraft, crew and/or passenger problems. In case there are other instances of this agent, they recognize and interact with each other, splitting the monitoring task. For example, if each instance corresponds to an operational base, each one will monitor the corresponding operation plan. This is one example of the social-awareness characteristic of our agents. The agent is autonomous in the sense that it will consider an event as a problem only if the event has certain characteristics. The PaxManager agent has the responsibility to find solutions for passenger problems. The AircraftManager and CrewManager agents have the responsibility for finding solutions for aircraft and crew problems, respectively. These agents are autonomous in the sense that they can choose not to respond to the information received from the Monitor agent, i.e., if the problem is not related with their field of expertise or if they do not have local resources to solve that problem. These agents have similar social-awareness characteristics of the Monitor agent. Although not yet implemented, these agents may decide to participate with their expertise in the integrated and distributed problem solving approach of the system. The AircraftManager and CrewManager agents manage a team of specialized agents (Castro & Oliveira, 2007). Each team should have several specialist agents, each one implementing a different problem solving algorithm, making them heterogeneous regarding this characteristic. The ACTabuSearch agent, ACCBR agent and ACHillClimb agent implements algorithms dedicated to solve aircraft problems and present the candidate solutions they find to the AircraftManager agent. The CrewSimAnneal agent, CrewHillClimb agent and CrewCBR agent implements algorithms dedicated to solve crew problems and present the candidate solutions to the CrewManager. The agent Supervisor and agent EventType are the only ones that interact with a human user of the AOCC. The Supervisor agent presents the solutions to the human supervisor, ranked according to the criteria in use by the airline (more information on the next section), including details about the solution to help the human to decide. After getting approval from the human supervisor, the Supervisor agent requests ApplySolution agent to apply it on the environment. All agents are able to act and observe the environment that is represented by the Operational and MAS database, in our diagram. The operational database includes information regarding the flight, aircraft and crew schedule as well as airport and company specific information. The other database is related with the learning characteristics of our system and is used, mainly, by the Learning agent. The learning characteristics of our system are not yet implemented. In Section 7, the interested reader can find more information about the way we expect to apply learning in our MAS. Finally, the protocols we use are the following FIPA compliant ones:  Fipa-Request: This protocol allows one agent to request another to perform some action and the receiving agent to perform the action or reply, in some way, that it cannot perform it. Fipa-request is used in interactions between the Monitor, PaxManager, AircraftManager and CrewManager agents.

Disruption Management in Airline Operations Control – An Intelligent Agent-Based Approach





119

nt to request to perform some kind k of Fipa-Queryy: This protocol allows one agen action on another agent. It I is used in thee interactions thaat involve PaxMaanager, AircraftMaanager, CrewManaager and Supervissor agent; Supervvisor, ApplySolutioon and EventType agent and, finally y, EventType and Monitoring agentt. Fipa-Contract.net: “In the contract net proto ocol, one agent ((the Initiator) tak kes the role of maanager which wisshes to have som me task performed d by one or moree other agents (th he Participants) and further wishes w to optim mize a function n that characterizzes the task”(Fipa, 2002). We use a simplified version of this proto ocol in the interactions that entaiil the AircraftMaanager and its specialized agentts, i.e., nd ACHillClimb; and CrewManagger and its speciialized ACTabuSeaarch, ACCBR an agents, i.e., CrewSimAnneall, CrewHillClimb and CrewCBR. M More information n about how we usse this protocol iss presented in thee next section.

4.3 3 Decision Mech hanisms Ou ur system uses negotiation n at two o levels. The firsst level is the Maanager Agents level, i.e., bettween PaxManagger, CrewManagerr and AircraftMaanager agents. Att this level the agents coo operate so that an a integrated solu ution can be foun nd. We define an n integrated soluttion as on ne that considers the t impact on thee three dimensions of the problem m, that is, aircraftt, crew and passengers. Ass of the writing of o this paper, wee do not have th his negotiation prrotocol com mpletely implem mented. Section 7 gives a glimpsee of how we aree implementing it. i The seccond level is the Specialist Agents or Team level, i.e., between each m manager agent an nd the speecialist agents of the team. At thiss level we have used u a simplified fipa-contract.nett (Fipa, 20002) (Smith, 1980)..

Fig g. 6. Simplified co ontract net protoccol gure 6 shows thee simplified conttract.net protocoll applied to the C CrewManager team (for Fig sim mplicity only thee interaction betw ween CrewManag ger and one of tthe specialist ageents is sho own). After receiv ving a request fro om the Monitoring g agent and case the CrewManagerr agent

120

Web Intelligence and Intelligent Agents

decides to reply, a Call for Proposal (cfp) is issued to initiate the negotiation process. Table 1 shows an example of a message sent in this step. (cfp :sender (agent-identifier :name CrewManager@masdima:1099/JADE :addresses (sequence http://masdima:7778/acc)) :receiver (set (agent-identifier :name CrewSimAnneal@masdima:1099/JADE :addresses (sequence http://masdima:7778/acc))) :X-JADE-Encoding Base64 :content "ABXN rO0AAAA eHB4h3CAAAAAsAAAAAeHB4" :language fipa-sl :conversation-id cfp_crew_solution)

Table 1. CFP message sent by CrewManager agent

Please note that the content of the FIPA-ACL message is a serialized Java object (see Table 2), that contains the event description, as well as the deadline for receiving an answer (propose or refuse) and the deadline for receiving the candidate solution (i.e., the CrewSimAnneal agent needs to send a candidate solution before a specific period of time). import java.io.Serializable; import java.util.ArrayList; import java.util.GregorianCalendar; public class CrewProblem implements Serializable { private ArrayList events; private int numSeconds; private int maxCost; private int numMinutesTimeWindow; private GregorianCalendar bidDeadline; private GregorianCalendar candSolutionDeadline; public ArrayList getEvents() {return events;} (…) public int getMaxCost() {return maxCost;} public void setMaxCost(int maxCost) {this.maxCost = maxCost;} public GregorianCalendar getBidDeadline() {return bidDeadline;} public void setBidDeadline(GregorianCalendar bidDeadline) {this.bidDeadline = bidDeadline;} public GregorianCalendar getCandSolutionDeadline() {return candSolutionDeadline;} public void setCandSolutionDeadline(GregorianCalendar candSolutionDeadline) { this.candSolutionDeadline = candSolutionDeadline;} public CrewProblem(ArrayList events, int numSeconds, int maxCost, int numMinutesTimeWindow, GregorianCalendar bidDeadline, GregorianCalendar candSolutionDeadline) { this.maxCost = maxCost; this.events = events; this.numSeconds = numSeconds; this.numMinutesTimeWindow = numMinutesTimeWindow; this.bidDeadline = bidDeadline; this.candSolutionDeadline = candSolutionDeadline; } }

Table 2. Partial example of a Serialized Java object included in the CFP message

The CrewSimAnneal agent may choose to answer refuse or propose. In our approach the CrewSimAnneal propose performative only means that it will look for a candidate solution according to the conditions of the cfp. The CrewManager agent will automatically answer back with an accept-proposal. Here we simplified the contract.net protocol to speed-up the communication between our agents. In our case, the answer we get from specialist agents is a simple yes or no, because we want all available agents (i.e., that are not busy looking for candidate-solutions for other requests) to work in parallel to find candidate solutions.

Disruption Management in Airline Operations Control – An Intelligent Agent-Based Approach

121

Because of that wee do not need to o choose between n all the answerss received. If there is a oblem during th he execution of the task, the CrewSimAnneal aagent issues a failure pro performative statin ng the reasons forr the failure, in th he serialized Javaa object included in the ask with success, it will issue an in nformmeessage content. If the agent is able to perform the ta ressult performativee (Table 3) that in ncludes the serialized object (Table 4) with the can ndidate sollution. (in nform ::sender (agent-identifier :n name CrewSimAnneal @m masdima:1099/JADE :addresses (sequence htttp://masdima:7778/acc))) ::receiver (set (agent-identifier :name CrewManagerr@masdima:1099/JADE :addresses (sequence htttp://masdima:7778/acc)))) : :X-JADE-Encoding Base644 : :content "eHB4h3CAAAA AAsAAAAAeHABXNrO0 0AAAAB4" : :language fipa-sl ::conversation-id cfp_crew w_solution)

nform message Taable 3. Example off a Failure and In im mport java.io.Serializable; im mport java.util.ArrayList;

ublic class CrewSolution im mplements Serializable { pu p private int cost; p private int initialCost; p private String description n; p private ArrayList > solution; public int getCost() {returrn cost;} p p public void setCost(int co ost) {this.cost = cost;} p public int getInitialCost() {return initialCost;} p public void setInitialCost((int initialCost) {this.initia alCost = initialCost;} p public String getDescriptiion() {return description;} p public void setDescription n(String description) {thiss.description = description n;} p public ArrayList getSolution() {return solu ution;} p public void setSolution(A ArrayList solution n) {this.solution = solution n;} p public CrewSolution(ArrrayList solution, String description, int cost, int initialCost) { setCost(cost); setInitialCost(initialCosst); setDescription(descripttion); setSolution(solution); } }

Taable 4. Serialized Java J object includ ded in the Inform m Message

Att the team level, the manager ageent needs to select the best solutiion from the can ndidate sollutions that were found by the speecialist agents. Ass of the writing of this paper, we use u the Total Operational Coost as the only crriteria for the seleection. Other critteria, like AOCC Global oment. Perrformance, are beiing tested but we do not have any results at this mo Th he Total Operational Cost (tc) of a sp pecific solution in ncludes Direct Opperational Costs (ddc) and Qu uality Operational Costs (qc) and is given g by Equation n 1. (1) oefficient β is used d to define the weeight of quality costs. Co

122

Web Intelligence and Intelligent Agents

Direct Operational Costs C (dc) of a speccific solution are costs c that are easily quantifiable and a are rellated with the operation o of the flights, namely,, Crew Costs (cc)), Flight Costs (fc fc) and Passsenger Costs (pc).. It is given by Eq quation 2. (2) he Crew Cost (cc) for f a specific fligh ht includes the sa alary costs of all ccrew members (S Salary), Th additional work ho ours to be paid (H Hour), additional perdiem p days to b be paid (Perdiem)), hotel xtra-crew travel costs c (Dhc). The Crew C Cost for a sp pecific solution iss given cossts (Hotel) and ex by y Equation 3. (3)

Th he Flight Cost (fc) for a specific flig ght includes the airport a costs (Airpp), i.e., charges applied a by y the airport opeerator like approaching and tax xing; service cossts (Service), i.e., flight disspatch, line main ntenance, cleaning g services and oth her costs; averagee maintenance co osts for thee type of aircraftt that performs the t flight (Maint); ATC en-route ccharges (Atc); an nd fuel con nsumption (Fuel)), i.e., fuel to go from the origin to the destinatio on (trip fuel) plu us any additional extra fueel required. The Flight F Cost for a sp pecific solution is given by Equatio on 4. (4)

Th he Passenger Cost (pc) of the delayeed passengers forr a specific flight includes airportt meals thee airline has to su upport when a fliight is delayed or cancelled (Mealls), hotels costs (P PHotel) and any compensattion to the passen ngers according to o regulations (Coomp). The Passengger Cost of the delayed passengers for a specific solution is giv ven by Equation 5. (5)

uality Operational Costs (qc) of a sp pecific solution are a costs that are not easily quanttifiable Qu and are related with w passenger satisfaction. s Thee quantification of this value iss very mportant to increaase the quality level l of an airlin ne company wheen facing a disru uption. im Eq quation 6 presentts a generic expreession that calcu ulates this value aaccording to (Caastro & Oliveira, 2009).

Disruption Management in Airline Operations Control – An Intelligent Agent-Based Approach

123

(6)

Now that we know the main costs involved, it is time to understand how each manager agent selects the best (or the best x candidate solutions). Once the participant agent has completed the task (for example, agent CrewHillClimb in Figure 5), it sends a completion message to the initiator (agent CrewManager in Figure 5) in the form of an inform-result performative (Table 3), with the details of the candidate solution (Table 4) including the Total Operational Cost. The manager agent sorts, in ascending order, all candidate solutions received by total operational cost. The top three solutions are selected (Castro & Oliveira, 2007). 4.4 Problem Solving Algorithms As it is possible to see in Figure 5 (Section 4.2), the aircraft and crew dimension have, each one, a team of specialist agents. Each agent should implement a heterogeneous problem solving algorithm on the team they belong to. Preliminary results show that a single problem solving algorithm is not able to solve, dynamically and within the required time restriction, all types of problems that we have identified during our observations (see Section 3.3). Taking advantage of the modularity, scalability and distributed characteristics of the MAS paradigm, we are able to add as many specialist agents as required, so that all types of problems are covered. As we have seen in Section 4.2 and 4.3, the idea is to have all specialist agents of a team looking for solutions concurrently. In this section we are going to show how we have implemented one of the specialist agents of the crew team, namely, CrewHillClimb. This agent implements a hill climb algorithm. For more details regarding how we have implemented this and other specialist agents, please read (Mota, 2007). The hill climbing agent solves the problem iteratively by following the steps: 1.

2. 3. 4.

Obtains the flights that are in the time window of the problem. This time window starts at the flight date, and ends at a customizable period in the future. This will be the initial solution of the problem. The crew members’ exchanges are made between flights that are inside the time window of the problem. While some specific and customizable time has not yet passed, or a solution below a specific and customizable cost has not been found, repeats steps 3 and 4. Generates the successor of the initial solution (the way a successor is generated is described below). Evaluates the cost of the solution. If it is smaller than the cost of the current solution, accepts the generated solution as the new current solution. Otherwise, discards the generated solution. The way a solution is evaluated is described below.

124

Web Intelligence and Intelligent Agents

5.

c solution to the CrewManaager agent follow wing the protocol as we Send the current have seen in Section 4.3.

he generation of a new solution iss made by finding g a successor thaat distances itself to the Th currrent solution by y one unit, that iss, the successor iss obtained by on ne, and only one, of the folllowing operation ns: • •

Swap two crewmembers between b flights th hat belong to thee flights that are in the dow of the problem m. time wind Swap a crrewmember of a flight that belo ongs to the flightts that are in the time window off the problem witth a crewmemberr that isn’t on dutty, but is on stand dby.

Wh hen choosing thee first element to swap, s there are tw wo possibilities: (1) choose random mly or (2)) choose an elem ment that is delaayed. The choicee is made based on the probabiility of cho oosing an elemen nt that is late, wh hich was given a value of 0.9, so tthat the algorithm ms can pro oceed faster to good g solutions (exchanges are hig ghly penalized, sso choosing an ellement thaat is not late prob bably won’t reducce the cost, as a possible p saving by y choosing a less costly eleement probably won’t w compensatee the penalization n associated with the exchange). If the t decision is to o exchange an eleement that is dela ayed, the list of fllights will be exaamined and the first delayeed element is chossen. If the decisio on is to choose ran ndomly, then a raandom ght is picked, and d a crewmember or the aircraft is chosen, c dependin ng on the probability of flig cho oosing a crewm member, which was w given a valu ue of 0.85. When n choosing the second s eleement that is going to swap with h the first, there are a two possibiliities: (1) swap beetween eleements of flights or (2) swap betw ween an element of o a flight and an n element that is not on du uty. The choice is made based on the probability of o choosing a swaap between elemeents of flig ghts, which was given g a value of 0.5. 0 Th he evaluation of the t solution is do one by an objectiv ve function that m measures the folllowing typ pes of costs: • • •

The crew cost c according to Equation 3; The penaliization for exchan nging elements; The penaliization for delay yed elements. Thee cost associated with this aspectt is the highest, beecause the goal iss to have no delay yed elements.

Th he Hill Climbing Objective O Function (hc) is given by Equation E 7. (7)

va. mplementation of o the hill climbing algorithm in Jav Taable 5 shows the im

GregorianCalen ndar currentDate = new GregorianCalendar(); G int secondsExeccution = (int) ((currentDaate.getTimeInMillis() - starrtDateResolution.getTimeeInMillis()) / 1000); while(!Shared.tto(problem.getNumSecon nds(), secondsExecution, problem.getMaxCost(), p cu urrentSolutionCost)) { // get successsor

Disruption Management in Airline Operations Control – An Intelligent Agent-Based Approach

}

125

successor = Shared.generateSuccessor(Shared.copyArrayList(currentSolution)); // checks if successor has an inferior solution cost successorCost = Shared.calculateCost(successor, initialPlainSolution); System.out.println("Successor Cost: " + successorCost + "\n"); if(sucessorCost < currentSolutionCost) { currentSolution = successor; currentSolutionCost = successorCost; } currentDate = new GregorianCalendar(); secondsExecution = (int) ((currentDate.getTimeInMillis() - startDateResolution.getTimeInMillis()) / 1000);

Table 5. Implementation of the Hill-Climbing algorithm in Java

5. Experimental Setup To evaluate our approach we have setup a scenario that includes 3 operational bases (A, B and C). Each base includes their crewmembers each one with a specific roster. The data used corresponds to a real airline operation of June 2006 of base A. We have simulated a situation where 15 crewmembers, with different ranks, did not report for duty in base A. A description of the information collected for each event is presented in Table 6. Attribute Event ID Duty Date Time Duty ID Flt Dly C Pax Y Pax End Date Time Ready Date Time Delay Credit Minutes Crew Group Crew Rank Crew Number Crew Name Base ID Open Positions

Description A number that represents the ID of the event. For tracking purposes only The start date and time of the duty in UTC for which the crew did not report. A string that represents the ID of the duty for which the crew did not report. Flight delay in minutes Number of passengers in business class Number of passengers in economy class The end date and time of the duty in UTC for which the crew did not report. The date and time at which the crew member is ready for another duty after this one. The delay of the crewmember. We have considered 10 minutes in our scenario. The minutes of this duty that will count for payroll. The crew group (Technical = 1; Cabin = 2) that the crewmember belongs to. CPT = Captain; OPT = First Officer; CCB = Chief Purser; CAB = Purser. The employee number. The employee name. The base where the event happened. We considered all events in base A. The number of missing crews for this duty and rank. We used a fixed number of 1.

Table 6. Description of the information collected for each event

The events did not happen at the same day and each one corresponds to a crewmember that did not report for a specific duty in a specific day. Table 7 shows the data for each of the events created. As you can see we have omitted the information regarding Delay, Base ID and Open Positions because we have used fixed values as indicated in Table 6. For example, the event 10 corresponds to the following situation: Crew Peter B, with number 32 and rank CPT (captain) belonging to the crew group 1 (technical crew), did not report for the duty with ID 1ZRH12X with briefing time (duty date time) at 15:25 in 15-06-2006. This flight did not delay on departure and has 5 passengers in business class and 115 in economy class. The event was created after a 10 minutes delay of the crewmember in reporting for duty and happened at base A. It is necessary to find another crewmember to be assigned to this duty. The duty ends at 09:30 on 17-06-2006 and the crewmember assigned to this duty will be ready for another one at 21:30 in 17-06-2006. The duty will contribute with 1318 minutes (21h58) for the payroll. The new crewmember must belong to the same rank and group.

126

Web Intelligence and Intelligent Agents

After setting-up the scenario we found the solutions for each crew event using three methods.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Duty DateTime 05-06 07:25 05-06 07:25 05-06 07:25 15-06 04:10 15-06 04:10 15-06 12:50 15-06 12:50 15-06 14:15 15-06 15:25 15-06 15:25 25-06 05:20 25-06 05:20 25-06 05:20 25-06 06:15 25-06 14:20

DutyID 1ORY149S 1ORY149S 1ORY85P 2LIS24X 3LIS25X 2LHR63P 2LHR63P 1LHR31P 2LHR19P 1ZRH12X 1LIS16S 1LIS16S 1LIS158T 3LIS174S 4LIS50A

Flt Dly

0 10 0 30 25 5 0 0 10 0 20 5 0 0 0

C Pax

7 11 10 0 3 25 20 23 27 5 3 2 4 1 2

Y Pax 123 114 112 90 77 85 95 52 105 115 97 108 92 129 83

Table 7. Events data used for testing

End DateTime 05-06 13:35 05-06 13:35 05-06 13:35 16-06 16:15 15-06 09:20 16-06 20:45 16-06 20:45 15-06 20:55 16-06 20:45 17-06 09:30 25-06 15:05 25-06 15:05 25-06 15:05 27-06 16:15 28-06 19:40

Ready DateTime 06-06 01:35 06-06 01:35 06-06 01:35 17-06 04:15 15-06 21:20 17-06 08:45 17-06 08:45 16-06 08:55 17-06 08:45 17-06 21:30 26-06 03:05 26-06 03:05 26-06 03:05 28-06 04:15 29-06 07:40

Cred Min 370 370 370 1757 632 1549 1549 843 1341 1318 585 585 585 1258 219

Crew Grp 2 2 1 2 2 1 1 2 2 1 2 2 2 2 1

Rnk CAB CAB CPT CAB CAB CPT OPT CCB CCB CPT CAB CAB CAB CAB OPT

Crw Nr 80 45 35 99 56 57 53 23 34 32 20 10 15 71 65

Crew Name John A Mary A Anthony Paul M John B Paul S Mary S Sophie Angel Peter B Paul G Alice Daniel George Allan

In the first method we used one of the best users from the AOCC, with current tools available, to find the solutions. The user uses software that shows the roster of each crewmember in a Gantt chart for a specific period. The user can scroll down the information, filter according to the crew rank and base, and sort the information by name, month duty, etc. Each user has a specific way of trying to find the solutions. However, we have observed that, in general, they follow these steps: 1. Open the roster for a one month period, starting two days before the current day. For example, let’s suppose that the current day is 7th of June of 2006, they open the roster from the 5th of June until the 4th of July. 2. Filter the roster by crew rank and base, where the base is equal to the base where the crew event happened and crew rank is equal to the crewmember rank that did not report for duty. 3. Order the information by month duty, in an ascendant order and by seniority in a descendent order. 4. Visually, they scroll down the information until they found a crewmember with an open space for the period of time that corresponds to the duty to be assigned. This period of time takes into consideration the start and end time of the duty and also the time required for resting (ready date time). 5. If they do not found a crewmember in the base specified, they try to find it in another base, filtering the information accordingly. 6. They assign the duty to the crewmember with less credit hours. The data collected using this method is presented in Table 8. We point out that the data in columns marked with an asterisk where calculated manually, according to the equations presented in chapter 4.3. The reason for this is that the information system that is available for the users does not include information related with any kind of costs. Duty ID 1 2

1ORY149S 1ORY149S

Base ID A B

Crew Grp 2 2

Rank CAB CAB

Hour Pay (*) 0,00 0,00

Perdiem Pay (*) 72,00 72,00

Quality Op. Cost 0 0

Op. Cost (*) 72,00 86,40

Disruption Management in Airline Operations Control – An Intelligent Agent-Based Approach 3 4 5 6 7 8 9 10 11 12 13 14 15

1ORY85P 2LIS24X 3LIS25X 2LHR63P 2LHR63P 1LHR31P 2LHR19P 1ZRH12X 1LIS16S 1LIS16S 1LIS158T 3LIS174S 4LIS50A

A A B B B A B C A C B A A

1 2 2 1 1 2 2 1 2 2 2 2 1

CPT CAB CAB CPT OPT CCB CCB CPT CAB CAB CAB CAB OPT

Totals

942,90 939,00 0,00 777,00 0,00 687,65 0,00 0,00 0,00 0,00 0,00 1051,60 246,40

106,00 144,00 72,00 212,00 148,00 72,00 144,00 212,00 72,00 72,00 72,00 216,00 296,00

0 0 0 0 0 0 0 0 0 0 0 0 0

1048,90 1083,00 86,40 1186,80 177,60 759,65 172,80 296,80 72,00 100,80 86,40 1267,60 542,40

4644,55

1982,00

0

7039,55

Table 8. Data collected (partial) after using method 1 (human user)

127

In the second method we have used our approach as indicated in Section 4 but with β=0 in Equation 1 (Total Operational Cost), i.e., although we calculate the Quality Operational Cost as indicated in Equation 6 we did not considered this value in resolution as well as in the decision process. The data collected is presented in Table 9. Duty ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1ORY149S 1ORY149S 1ORY85P 2LIS24X 3LIS25X 2LHR63P 2LHR63P 1LHR31P 2LHR19P 1ZRH12X 1LIS16S 1LIS16S 1LIS158T 3LIS174S 4LIS50A

Base ID A B B C B C A B B C A C B C B

Crew Grp 2 2 1 2 2 1 1 2 2 1 2 2 2 2 1

Totals

Rank CAB CAB CPT CAB CAB CPT OPT CCB CCB CPT CAB CAB CAB CAB OPT

Hour Pay 0,00 0,00 0,00 563,40 0,00 0,00 0,00 229,17 0,00 0,00 0,00 0,00 0,00 411,00 0,00

Perdiem Pay 72,00 72,00 106,00 62,00 72,00 212,00 144,00 72,00 144,00 212,00 72,00 72,00 72,00 93,00 296,00

1203,57

1773,00

Quality Op. Cost

0 501,31 0 1561,76 1877,73 658 687,62 0 788,78 0 961,95 301,48 0 0 449,84

Direct Op. Cost 72,00 86,40 127,20 875,56 86,40 296,80 144,00 361,40 172,80 296,80 72,00 100,80 86,40 705,60 355,20

7788,47

3839,36

Table 9. Data collected (partial) after using method 2 (No Quality Costs)

In the third method we have used our approach as indicated in Section 4 but with β=1 in Equation 1, i.e., considering the Quality Operational Cost in the resolution as well as in the decision process. The Quality Operational Cost was calculated using two passenger profiles (business and economy classes) and with α=0,1. Equation 9 and Equation 10 are the formulas used to calculate the delay cost of each passenger in business and economy profile, respectively. For more information about how we reached these equations, please read (Castro & Oliveira, 2009). Cbusiness = 0.16 * x2 + 1.38 * x Ceconomy = 1.20 * x

x = minutes of flight delay, x >= 0 x = minutes of flight delay, x >= 0

(9) (10)

128

Web Intelligence and Intelligent Agents

The data collected is presented in Table 10. Duty ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1ORY149S 1ORY149S 1ORY85P 2LIS24X 3LIS25X 2LHR63P 2LHR63P 1LHR31P 2LHR19P 1ZRH12X 1LIS16S 1LIS16S 1LIS158T 3LIS174S 4LIS50A

Base ID A B B C C B B B B C A C B C A

Crew Grp 2 2 1 2 2 1 1 2 2 1 2 2 2 2 1

Rank

Hour Pay 0,00 0,00 0,00 503,50 0,00 102,90 37,22 229,17 0,00 0,00 0,00 0,00 0,00 411,00 138,83

Perdiem Pay 72,00 72,00 106,00 144,00 72,00 212,00 144,00 72,00 144,00 212,00 80,00 80,00 72,00 93,00 288,00

1422,62

1863,00

CAB CAB CPT CAB CAB CPT OPT CCB CCB CPT CAB CAB CAB CAB OPT

Totals

Quality Op. Cost

0 501,31 0 1060,92 1420,78 272,10 0 0 788,78 0 593,30 144,34 0 0 0

Direct Op. Cost 72,00 86,40 127,20 906,50 100,80 377,88 217,46 361,40 172,80 296,80 80,00 112,00 86,40 705,60 426,83

4781,53

4130,07

Table 10. Data collected (partial) after using method 3 (Quality Costs)

6. Results and Discussion Table 11 shows a comparison of the results obtained through the above methods. We point out that in method 1 (human) we did not calculate the quality costs, and in method 2 (agentno-quality) we did calculate the quality costs but they were not used to find the best solution, although we use that value for comparison purposes. From the results obtained we can see that on average, method 3 (agent-quality) produced solutions that decreased flight delays in aprox. 36%. Agent-quality is, on average 3% slower than agent-no-quality in finding a solution and produces solutions that represent a decrease of 23% on the total operational costs, when compared with agent-no-quality. From the results (Table 11) we can see that our approach obtains valid solutions faster and with fewer direct operational costs when compared with the current method used in a real airline company (human). Agent-no-quality represents a decrease of aprox. 45,5% and agentquality a decrease of aprox. 41%. Agent-quality has a higher direct operational cost than agentno-quality because it uses the quality operational cost in the decision process. If we read this number without any other consideration, we have to say that the goal of having less direct operational costs was not achieved. An 8% increased on direct operational costs can represent a lot of money. However, we should read this number together with the flight delay figure. As we can see, although agent-quality has increased the direct operational costs (when compared with agent-no-quality) in 8% it was able to choose solutions that decrease, in average, 36% of the flight delays. This means that, when there are multiple solutions to the same problem, agent-quality is able to choose the one with less operational cost, less quality costs (hence, better passenger satisfaction) and, because of the relation between quality costs and flight delays, the solution that produces shorter flight delays. Human (M1) Total % Base of the solution: - From the crew event base (A) - From base B

7 6

47% 40%

Agent-no-Quality (M2) Total % 3 7

20% 47%

Agent-Quality (M3) Total % 3 7

20% 47%

Disruption Management in Airline Operations Control – An Intelligent Agent-Based Approach - From base C Time to Find Solution (avr sec)

2

13%

5

33%

5

33%

101

100,00%

25

24,75%

26

25,74%

11 14 9 12

100,00% 40% 26% 34%

7 7 4 12

63,64% 30% 17% 52%

Flight Delays (avr min): - Base A (avr) - Base B (avr) - Base C (avr) Total Direct Operational Costs: Total by Base: - Base A - Base B - Base C Total Quality Operational Cost: Total by Base: - Base A - Base B - Base C Total Operational Costs: Total by Base: - Base A - Base B - Base C

7039,60

100,00%

3839,36

54,54%

4130,07

58,67%

4845,55 1796,40 397,60

92,42% 34,26% 7,58%

288,00 1275,80 2275,56

11,23% 49,77% 88,77%

578,83 1429,54 2121,70

14,02% 34,61% 51,37%

7788,47

100%

4781,53

61,39%

1649,57 3617,66 2521,24

21,18% 46,45% 32,37%

593,30 1562,19 2626,04

12,41% 32,67% 54,92%

11628,01

165%

8911,60

126,6%

1937,57 4088,42 4796,80

16,66% 35,16% 41,25%

1172,13 2991,73 4747,74

13,15% 33,57% 53,28%

Table 11. Summary of the results obtained by each method

129

From this conclusion, one can argue that if we just include the direct operational costs and the expected flight delay, minimizing both values, the same results could be achieved having all passengers happy. In general, this assumption might be true. However, when we have to choose between two solutions with the same direct operational cost and delay time, which one should we choose? In our opinion, the answer depends on the profile of the passengers of each flight and on the importance they give to the delays (quality operational cost), and not only in minimizing the flight delays and direct operational cost. Agent-quality takes into consideration this important information when making decisions. This is the reason why we think that one of the main contributions of our work is the generic approach to quantify the passenger satisfaction regarding delaying a flight, from the passenger point of view. It is fair to say that we cannot conclude that our MAS will always have this behaviour. For that we need to evaluate a higher number of scenarios, at different times of the year (we might have seasonal behaviours) and, then, find an average value. Additionally, we found that the cooperation between different operational bases has increased with our approach, because we evaluate all the solutions found (including the ones from different operational bases where the event happened) and we select the one with less cost. In human, they choose the first one they find with less credit hours, usually from the same base where the event was triggered. This cooperation is also possible to be inferred from the costs by base. In Table 11 is possible to see that the direct operational costs of base C using human represents only 7,58% of the costs of all bases, whilst in agent-no-quality and agent-quality it represents 88,77% and 51,73%, respectively. The same is possible to be inferred from the other bases (although with different figures). This means that our MAS uses more resources from other bases than the base where the problem happened (base A).

130

Web Intelligence and Intelligent Agents

7. Conclusion and Future Works In this chapter we have introduced the Airline Operations Control Problem as well as the Airline Operations Control Centre (AOCC), including typical organizations and problems, the current disruption management (DM) process and a description of the main costs involved. We described our agent-based approach to this problem, including the reasons that make us adopt an agent and multi-agent system (MAS) paradigm; the MAS architecture with agents, roles and protocols as well as some agent characteristics like autonomy and social-awareness; the decision mechanisms, including the costs criteria and negotiation protocols used and examples of the problem solving algorithms. Using data from a real airline company, we tested our approach and discussed the results obtained by three different methods. We have shown that our approach is able to select solutions that contribute to a better passenger satisfaction and that produce shorter flight delays when compared with methods that only minimize direct operational costs. We are working on several improvements. Some of them are already implemented. However, we did not perform, yet, enough tests to have meaningful results. These are our goals: Improve autonomy and learning characteristics of the Monitor agent, so that he is able to consider new events (or change existing ones) according to the experience he gets from monitoring the operation, without relying exclusively on the definition of events created by the human operator. Working on a protocol at the Manager Agent team level that allows a better coordination and improves the distributed problem solving characteristics of our approach. For example, including in each team, knowledge provided by other teams to improve the objective function of each specialist agent, with parameters of the other dimensions (aircraft, crew and passenger). Solving problems learning by example, applying Case-Based Reasoning (CBR). Increase robustness of future schedules by applying the knowledge gathered from learning by example. Study the behaviour and compare the results, of several problem solving algorithms, including the ones that implement heuristics to specific problems. The idea is to classify the algorithms according to their success rate in solving specific types of problems in this domain.

8. Acknowledgements The first author is supported by FCT (Fundação para a Ciência e Tecnologia) under research grant SFRH/BD/44109/2008. The authors are grateful to TAP Portugal for allowing the use of real data from the airline company.

9. References Abdelgahny, A., Ekollu, G., Narisimhan, R. & Abdelgahny, K. 2004. A Proactive Crew Recovery Decision Support Tool for Commercial Airlines during Irregular Operations, Annals of Operations Research, Vol.127, pp. 309-331.

Disruption Management in Airline Operations Control – An Intelligent Agent-Based Approach

131

Barnhart, C., Belobaba, P. & Odoni, A. (2003). Applications of Operations Research in the Air Transport Industry, Transportation Science, Vol. 37, pp. 368-391. Bellifemine, F., Caire, G., Trucco, T. & Rimassa, G. (2004). JADE Programmer’s Guide, JADE 3.3, TILab S.p.A. Bratu, S. & Barnhart, C. (2006). Flight Operations Recovery: New Approaches Considering Passenger Recovery, Journal of Scheduling, Vol. 9, No. 3, pp.279-298. Castro, A.J.M. (2007). Designing a Multi-Agent System for Monitoring and Operations Recovery for an Airline Operations Control Centre, MsC Thesis, pp.1-133, Porto, Portugal: University of Porto, Faculty of Engineering. Castro, A.J.M. & Oliveira, E. (2007). Using Specialized Agents in a Distributed MAS to Solve Airline Operations Problems: a Case Study, Proceedings of IAT 2007 (Intelligent Agent Technology Conference), pp. 473-476, Silicon Valley, California, USA 2-5 November 2007, IEEE Computer Society, ISBN: 0-7695-3027-3. Castro, A. (2008). Centros de Controlo Operacional: Organização e Ferramentas, Monograph for Post-graduation in Air Transport Operations, ISEC - Instituto Superior de Educação e Ciências, Outubro 2008 (In Portuguese). Castro, A. & Oliveira, E. (2008). The rationale behind the development of an airline operations control centre using Gaia-based methodology, International Journal of Agent-Oriented Software Engineering, Vol. 2, No. 3, pp. 350–377. Castro, A.J.M & Oliveira, E. (2009). Using Quality Costs in a Multi-Agent System for Airline Operations Control, 11th International Conference on Enterprise Information Systems, Artificial Intelligence and Decision Support Systems, pp. 19-24, Milan, Italy, May 610, 2009. ISBN: 978-989-8111-85-2 Clausen, J., Larsen, A. & Larsen, J. (2005). Disruption Management in the Airline Industry – Concepts, Models and Methods, Technical Report, 2005-01, Informatics and Mathematical Modeling, Technical University of Denmark, DTU. Cowling, P.I., Ouelhadj, D., & Petrovic, S. (2003). A Multi-Agent Architecture for Dynamic Scheduling of Steel Hot Rolling, Journal of Intelligent Manufacturing, Special Issue on Agent-Based Manufacturing Process Planning and Scheduling, Vol. 15, No. 5, pp. 457470. Elamy, A. (2005). Perspectives in Agents-Based Technology, AgentLink News 18, August 2005, ISSN: 1465-3842. Fipa. (2002). FIPA Contract Net Interaction Protocol Specification, http://www.fipa.org/specs/ fipa00029/SC00029H.html, Accessed in 2009/06/21. Grosche, T. (2009). Computational Intelligence in Integrated Airline scheduling, SpringerVerlag Berlin Heidelberg, 978-3-540-89886-3, Germany. Jonker, G., Meyer, J.-J., & Dignum, F. (2005). Towards a Market Mechanism for Airport Traffic Control, 12th Portuguese Conference on Artificial Intelligence (EPIA 2005), Covilha, Portugal. Kohl, N. & Karisch, S. (2004). Airline crew rostering. problem types, modeling, and optimization, Annals of Operations Research, Vol. 127, pp. 223-257. Kohl, N., Larsen, A., Larsen, J., Ross, A. & Tiourline, S. (2004). Airline Disruption Management – Perspectives, Experiences and Outlook, Technical Report, CRTR-0407, Carmen Research. Lettovsky, L. (1997). Airline Operations Recovery: An Optimization Approach, Ph.D. dissertation, Georgia Institute of Technology, Atlanta, USA.

132

Web Intelligence and Intelligent Agents

Liu, T., Jeng, C. & Chang, Y. (2008). Disruption Management of an Inequality-Based MultiFleet Airline Schedule by a Multi-Objective Genetic Algorithm, Transportation Planning and Technology, Vol. 31, No. 6, pp. 613-639. Mota, A. (2007). Multi-Agent System for an Airline Operations Control Centre, MsC Thesis, Porto, Portugal: University of Porto, Faculty of Engineering. Ouelhadj, D. (2003). A Multi-Agent System for the Integrated Dynamic Scheduling of Steel Production, Ph.D. dissertation, The University of Nottingham, School of Computer Science and Information Technology, England, August 2003. Rosenberger, J., Johnson, E. & Nemhauser, G. (2001). Rerouting aircraft for airline recovery, Technical Report, TLI-LEC 01-04, Georgia Institute of Technology. Rosenberger, J., Schaefer, A., Goldsmans, D., Johnson, E., Kleywegt, A. & Nemhauser, G. (2002). A Stochastic Model of Airline Operations, Transportation Science, Vol. 36, No. 4, pp. 357-377. Smith, R. (1980). The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver, IEEE Transactions on Computers, Vol. C, No. 29. Stone, P. & Veloso, M. (2000). Multi-Agent Systems: a Survey from a Machine Learning Perspective, Autonomous Robotics, Vol. 8. No. 3. Tumer, K., & Agogino, A. (2007). Distributed Agent-Based Air Traffic Flow Management, 6th International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS 2007), Honolulu, Hawaii. Wolfe, S. R., Jarvis, P. A., Enomoto, F. Y., & Sierhuis, M. (2007). Comparing Route Selection Strategies in Collaborative Traffic Flow Management., Proceedings of IAT 2007 (Intelligent Agent Technology Conference), Silicon Valley, California, USA 2-5 November 2007, IEEE Computer Society, ISBN: 0-7695-3027-3. Wooldridge, M., (2009). When is an Agent-Based Solution Appropriate? An Introduction to Multiagent Systems, West Sussex, England: John Wiley & Sons, Ltd., 2nd Edition (15 May 2009), pp. 183, ISBN: 978-0470519462. Yang, M. (2007). Using Advanced Tabu Search Techniques to Solve Airline Disruption Management Problems, Ph.D. dissertation, The University of Texas at Austin, December 2007, USA.

Disruption Management in Airline Operations Control ...

process the estimated cost of delaying or cancelling a flight from the passenger .... application of the solution found by these systems on the environment (for ...

786KB Sizes 6 Downloads 121 Views

Recommend Documents

Disruption Management in Airline Operations Control
Due to the stepwise approach, the proposed solution is sub-optimal. Results are ... Namely, they are able to analyze large volumes of data ..... 2 MAS Architect.

A Multi-Agent System for Airline Operations Control - Semantic Scholar
(Eds.): 7th International Conference on PAAMS'09, AISC 55, pp. 159-168 ... Operations control is one of the most important areas in an airline company. Through ...

ePUB Download OPERATIONS MANAGEMENT IN ...
perspective that emphasizes strategy and critical thinking, appealing to non-majors and practical for use in an MBA level or undergraduate course in operations.

man-130\mba-in-operations-management-in-usa.pdf
man-130\mba-in-operations-management-in-usa.pdf. man-130\mba-in-operations-management-in-usa.pdf. Open. Extract. Open with. Sign In. Main menu.

RAILDOCs051-07 Remote Control Locomotive Operations Results ...
April 2005. Remote Control Locomotive .... Control Operators in the U.S. and Canada 2005.pdf ... Control Operators in the U.S. and Canada 2005.pdf. Open.

operations management
Output. Current . Disadvantages of 100% c.o.. 1. Machines get worn out. 2. Employees get demotivated. 3. Firm would not be able to cope with an unexpected ...

operations management -
Example: Master Production Scheduling. Arizona Instruments produces bar code scanners for consumers and other manufacturers on a produce-to-stock basis.