European Journal of Operational Research 177 (2007) 1985–2015 www.elsevier.com/locate/ejor
Improving the adaptability in automated vessel scheduling in container ports using intelligent software agents Prasanna Lokuge *, Damminda Alahakoon School of Business Systems, Monash University, Australia Available online 25 January 2006
Abstract Faster turnaround time of vessels and high berth productivity are paramount factors in container terminals for assuring competitive advantage in the shipping industry. An autonomous decision-making capability in the terminal is vital in achieving the required productivity. Vessel scheduling/berthing system in a container terminal is regarded as a very complex dynamic application in today’s business world. The Artificial Intelligence (AI) community has been researching in the field of intelligent (or rational) agents for more than a decade and implementations are found in many commercial applications. The Beliefs, Desires and Intention (BDI) agent architecture is probably the most mature model for many industrial applications in today’s context. However, it is not the best agent model for complex applications that must learn and adapt their behaviours in making rational decisions. We propose a new hybrid BDI framework with an intelligent module to overcome the limitations in the generic BDI model. Learning and the adaptability of the environments are assured with the introduction of the Knowledge Acquisition Module (KAM) in the generic BDI architecture in our proposed framework. The dynamic selection of the intention structures has been improved with a trained neural network. The knowledge required to handle vagueness or uncertainty in the environment has been modelled with an Adaptive Neuro Fuzzy Inference System (ANFIS) in berths. Finally, the benefits and the usability of hybrid BDI model for a vessel berthing application is discussed with experiential results. Ó 2005 Elsevier B.V. All rights reserved. Keywords: Knowledge based systems; BDI agent; ANFIS; Intelligent deliberation
*
Corresponding author. E-mail addresses:
[email protected] (P. Lokuge),
[email protected] (D. Alahakoon). 0377-2217/$ - see front matter Ó 2005 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2005.12.016
1986
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
1. Introduction Shipping applications are heterogenous, distributed, complex, dynamic, and large which, require cutting edge technology to yield extensibility and efficiency. Competition among container ports continues to increase as the worldwide container trade grows rapidly (Ryan, 1998). Managers in many container ports are trying to attract more vessel lines by automating the handling of equipments, providing and speeding up various port related services. One of the important applications in container terminals is the vessel berthing system, which requires allocation of berths to vessel, allocation of cranes, labour, trucks (loading and discharging) of containers assuring maximum utilization of resources and guaranteeing the high productivity of the terminal. The research described in this paper is motivated by a berth assignment problem faced by a terminal operator in a large container hub port, it aims investigate the possibilities of using intelligent agents in managing port operations. Vessel berthing is a very complex dynamic application system, which requires dealing with various uncertainties to assure improved productivity and efficacy in the container terminals. When vessel berthing is considered, a number of activities have to be processed such as dynamic berth allocation issues, minimal operational delays and penalties, maintaining strict targets in completion of the vessel operations and predictions of unforeseen scenarios. The use of conventional software techniques to solve this type of problem involves costly and difficult implementation as intelligence and human intervention are required in managing the dynamic behaviour of such systems. Primarily the berthing system of a container terminal is responsible for computing the expected times of berth and completion, the expected berth productivity, the allocation of a berth and the allocation of resources such as cranes, trucks, labor for calling vessels at the container terminal. Numerous studies have been conducted in vessel and port-related operations in the past. Most of this research is focused on static vessel berthing systems, where the main issue is to find a good plan to assign vessels at the out harbour. Brown used integer programming for berthing vessels in a naval port (Brown et al., 1994). This does not include all the complex scenarios in a container terminal, which manages many berths, competing with each other to improve the productivity and efficiency. Lim addressed the issue with a fixed berth time to decide the berthing location however, it may not be possible to always fix the berthing time of a vessel, as the environment is complex and dynamic (Lim, 1998). Unforseen delays due to breakdowns of equipment or a change in the priorities of the operation of vessels may cause various changes to the berthing time in a terminal. Systems that could accommodate flexibility in berth times would be more realistic in a dynamic complex environment. Chen and Hsieh used a heuristic time space network model, did not addressed the dynamic planning due to environmental changes (Chen and Hsieh, 1999). Chia used ant colony optimisation approach focusing on minimizing the wharf length but ignored the issues mentioned above to handle dynamic nature of vessel operational delays and other consequences that might change the original plan (Chia et al., 1999). Li et al. (1998) addressed the scheduling problem with a single processor and multiple jobs and assumed that vessels had already arrived. Kap and Kyung (Kim and Moon, 2003) used simulated annealing algorithm for the berth-scheduling problem to find the near optimal solutions. Their paper assumed that the wharf was in the shape of a straight line and less emphasis was given to dynamic changes that could delay the vessel operations such as breakdowns, weather conditions and labour skill levels at different berths. A significant amount of research has been carried out in scheduling with agent-based planning and routing. Montana discussed the use of genetic algorithms and the agent’s role in a multiagent society for military transportation scheduling (Montana et al., 2000). Agent based dynamic scheduling and inter-agent communications in steel production has been addressed (Ouelhadj et al., in press; Cowling et al., 2003, 2004) and Yoo proposed (Yoo, 2002) a stochastic method called simulated annealing for dynamic job shop scheduling and planning problems. These papers discuss the use of various algorithms and models in handling scheduling-related application problems in multi agent environments. The use of intelligent knowl-
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
1987
edge and past experience in problem solving is one of the important criteria that should be adopted in any agent architecture. Our research investigates possible avenues for incorporating the above features in the current BDI agent architecture, especially in dealing with the agent deliberation process in dynamic environments. Lee addressed the vehicle routing problem with a time window constraint and tabu search to a logistic company that provides transportation service for moving empty and laden containers (Lee et al., 2003). It has been shown that the new rule extracted from the proposed system could save up to 8.14% of the cost of current system adopted by the company. Agent systems based on practical reasoning, which sometimes uses the philosophical model of human reasoning, have been used in achieving optimal solutions for many business applications in the recent past. An ‘intelligent agent’ is able to make rational decisions, that is, by blending proactiveness and reactiveness, showing rational commitment to decision making, and exhibiting flexibility in the face of an uncertain and changing environment (Jennings, 1999 and Muller, 1996). Agents are typically allocated several (possibly conflicting) tasks, and are required to make decisions about how to achieve these tasks in time for them to have useful consequences (Rao and Georgeff, 1995). A number of different approaches have emerged as candidates for the study of agent-oriented systems and the architecture has been implemented using PRS, JAM, dMAS and JACK in number of business systems (Georgeff et al., 1998 and D’Inverno et al., 1998). The BDI is probably the most mature of the intelligent agent models and has been adopted in a number of industrial applications. A few scheduling applications have been implemented using BDI agent models such as the OASIS Air Traffic Management system. A* based search procedure has been used in the scheduling process of the OASIS system (Ljungberg and Lucas, 1992). One criticism of the BDI model has been that it is not well suited to certain types of behaviours. In particular, the basic model appears to be inappropriate for building complex systems that must learn and adapt their behaviours, and such systems are becoming increasingly important. In view of the above limitations in the basic BDI model, our paper describes a use of a hybrid BDI agent architecture for a vessel berthing application system, which investigates how to minimize the above-mentioned limitations in the generic BDI model. In the work described, an extended hybrid BDI agent system with intelligent tools such as neural networks and adaptive neuro fuzzy inference system (ANFIS) has been proposed for improved performance in the terminal. This research is being carried out at the School of Business Systems, Monash University, Australia, in collaboration with the Jaya Container Terminal at the port of Colombo, Sri Lanka and Patrick Terminals in Melbourne, Australia. The rest of the paper is organized as follows: Section 2 provides an introduction to a generic berthing application in a container terminal. Section 3 describes intelligent agents and especially generic BDI agent architecture. Section 4 describes the proposed hybrid BDI agent architecture for vessel berthing applications in a container terminal. The implementation of the Hybrid Architecture using the Allocator-agent is discussed in Section 5. Section 6 outlines a case scenario and the results of the research work. Finally, future work and conclusions are provided in Section 7.
2. A generic berthing application in a container terminal Container terminals generally have many berths for stevedoring (loading and discharging of containers boxes) operations. The work practices, container handling capacities, facilities, labour and equipments in individual berths may differ from one to another. The speed and performance differ based on the facilities and performance of the equipment in respective berths. In today’s context, in the shipping industry, most container ports have many berths with varying performances. Terminal managers in many container ports attempt to improve the productivity of the berths by assuring efficient utilization of resources, meeting targets and dead lines, minimizing operational delays and increasing revenues.
1988
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
In current operations, shipping lines inform the port of the expected time of arrival of vessels (etav) three months prior to arrival. The shipping line then regularly updates the port about changes to the original plan. An arrival Declaration sent by shipping lines to ports generally contains the date of arrival, the expected time of arrival, the vessel details, the number of containers to be discharged, the number of containers to be loaded and details such as cargo type, berthing and sailing draft requirements, crane outreach required and air draft. Containers coming into the port are generally categorised as 20 ft and 40 ft in length. When vessels are berthed, quay cranes unload the boxes and load them into prime movers. Transfer cranes in the yard area pick up the boxes from the prime movers and stack them in pre-defined location in the yard. When cargo is to be loaded, transfer cranes pick up the boxes in the yard and load it into prime movers. Boxes are then loaded to the vessel by quay cranes to a pre-defined sequence at the berths. Terminal managers should be able to forecast the expected-time-of-berth, expected-completion-time, expectedberth-productivity for the calling vessels. They must have the flexibility to identify alternative plans and solutions to meet the targets or dead line promised at the start of operations. This would help them to provide some better customer service and, very importantly, to minimise heavy penalties from the shipping lines. Some of the initial information and data used in the vessel berthing system include the following. ctyv—cargo type of the new vessel v : normal, dangerous or perishable cargo, nobv—number of boxes in the new vessel v, vbdv—vessel berthing requirement of the new vessel v, vsdv—vessel sailing draft requirement of the new vessel v, vcrv—crane length requirement of the vessel v, bdrb—berth draft of the berth b, lencb —length of the crane c in berth b, notvb —number of trucks for vessel v in berth b, nocvb —number of cranes for vessel v in berth b, gcpcb —gross crane productivity of crane c at berth b, acpvb —average crane productivity for vessel v in berth b, slsvb —skill level of the staff for vessel v in berth b, etav—expected time of arrival of the new vessel v, etbvb —expected time of berth of the new vessel v in berth b, etcvb —expected time of completion of the vessel v in berth b, odlvb —operational delays for vessel v in berth b, ebpvb —expected berth productivity for vessel v in berth b, measured in number of moves per hour (mph), eotvb —expected operation time of vessel v in berth b, lb—length of the berth b, lv—length of vessel v. Port of Colombo has been used as the test bed for the comparison of results obtained from the proposed hybrid agent architecture. It handles approximately 1.7 million container boxes annually and has been recognised as one of the more efficient ports in Asia. The main terminal is the ‘‘Jaya container Terminal’’ (JCT), which has four main berths (JCT1, JCT2, JCT3 and JCT4) and two cross-berths for feeder vessels. This research focuses on the four main berths in the JCT in our research (Lokuge and Alahakoon, 2004c). Fig. 1 shows the available berths and their drafts in the JCT terminal. The distance between Vessel vi and vj in berth k is denoted as d kij . Berth lengths, drafts and etc., of the ongoing vessel operations are also indicated in Fig. 1. The important characteristics of the real application system considered in the proposed agent based system are as follows:
d112 V1
V2 Jct1
V3
V4
V5
Jct2
Jct3
Draft: 13 m Length: 300 m
Draft: 18 m Length: 332 m
Draft: 21 m Length: 330 m
etc: Sat: 1220
etc: Sat: 0300
etc: Sat: 0435
Fig. 1. Available berths and drafts in JCT.
Jct4 Draft: 21 m Length: 330 m etc: Sat: 1530
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
1989
(1) At any given time it is possible to berth more than one vessel in a berth provided that it does not violate the basic operational requirements of the terminal. It is assumed that the maximum number of vessels in a berth at a given time is two (2). (2) The arrival and departure times of the vessel are not fixed: they can vary from time to time depending on the environment. (3) The expected-operations-time for vessels (eot) can also change due to unforseen delays in different berths. The proposed system allows the environment to be dynamic rather than static. (4) It is assumed that learning capabilities and previous experience are paramount important factors in deciding a suitable berth for vessels calling at JCT. When the expected time of arrival (eta) is received from a vessel, it is the terminal manager’s responsibility to indicate how effectively they propose to handle the operations of the vessel. Terminal managers should be able to find out the most productive berth for the vessel assuring minimum anchoring time at the outer harbour, the highest productivity, the minimum operational delays and finally, the earliest completion time of the operations of the vessel. Various cases considered in assigning a suitable berth for the calling vessels are described below. 2.1. Sailing and berth drafts of the new vessel Sailing and the berthing drafts of the vessel should be less than or equal to the berth draft of the respective berths in the terminal. This is one of the primary requirements that the terminal operator has to consider before continuing with other plans. More formally for all i and j: fvbd vi 6 bdrbj g ^ fvsd vi 6 bdrbj g where 1 6 i 6 4; 1 6 j 6 4.
ð1Þ
2.2. Outreach of the cranes in the berths All the cranes in the berths should be able to move completely across the vessel for the loading and unloading of containers. This can be represented as: for all i and j: fvcrvi 6 lencibj g where 1 6 i 6 4; 1 6 j 6 4.
ð2Þ
2.3. Minimum distance required for vessel berthing and sailing A recommended distance must always be kept between vessels in the berth, to minimise the delays in vessel berthing and sailing. Three different cases of vessels berthing at a given time in a berth are shown bi in Figs. 2a, 2b and 2c: d bi l and d r indicate the left and right side distance from the vessel to the berth ends, bi and d ij indicates the distance between two vessels, i and j, in the same berth.
Vessel vi dl
dr lvi
lbi Fig. 2a. Vessel is berthed at the left side.
1990
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
Vessel vi dl
dr lvi
lbi Fig. 2b. Vessel is berthed at the right side.
Vessel vi dl
Vessel vj dij
lvi
dr lvj
lbi Fig. 2c. Two vessels at the berth.
occbi denotes the occupancy of the berth bi in a terminal and can be written as 8 0 if V ¼ fvi ¼ ji ¼ 0g i.e. no vessel is in the berth > < occbi ¼ 1 if V ¼ fvi ¼ ji ¼ 1g i.e. only one vessel is in the berth > : 2 if V ¼ fvi ¼ ji ¼ 2g i.e. two vessels are in the berth Using lsvi as a Boolean indicator to show the occupancy side of the berth by vessel vi, then 1 if left side of the berth is occupied by vessel vi lsvi ¼ 0 if right side of the berth is occupied bi If md bi l and md r are the minimum left and right side distances to be kept between a vessel and the left and right side of the berths, md bi ij indicates the minimum distance between two vessels i and j in a berth. We discuss the minimum Pre and Post conditions that a terminal manger has to consider about the gaps or distances between vessels and berth ends.
Case I ðoccbi ¼ 0Þ bi Pre: flbi P ðlvi þ md bi l þ md r Þg
Post:
fðd bi l
P
md bi l Þ
^
ðd bi r
P
for all 1 6 i 6 4
ð3Þ
md bi r Þg
Case II ððoccbi ¼ 1Þ ^ ðlsvi ¼ 1ÞÞ bi bi bi bi bi Pre: fðd bi l P md l Þ ^ ðd r P md r Þ ^ ðd r ¼ ½lbi ðd l þ lvi ÞÞg
ð4Þ
bi bi Post: fðd bi r P md ij þ lvj þ md r Þ ^ ðocc ¼ 2Þg
Case III ððoccbi ¼ 1Þ ^ ðlsvi ¼ 0ÞÞ bi bi bi bi bi Pre: fðd bi l P md l Þ ^ ðd r P md r Þ ^ ½d l ¼ ðlbi d r lvi Þg bi bi Post: fðd bi l P md ij þ lvj þ md r Þ ^ occ ¼ 2g
ð5Þ
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
1991
2.4. Minimum waiting time of a vessel The vessel waiting time for a berth is another very important factor to be considered in the system. Depending on the various port service agreements signed with shipping lines such as arrival berths, terminal managers are responsible for assigning a suitable berth and assuring the minimum waiting time for calling vessels at the terminal. If wvi denotes the minimum waiting time of vessel vi, then W vi ¼ Minfetav etbbi j8bi 2 ½1; . . . ; 4g
ð6Þ
where etav is the expected time of arrival of the new vessel v, and etbbi is the expected time of the berth bi. 2.5. Expected berth productivity The expected berth productivity for calling vessels for each berth (ebpvibj ) should be computed when etav is received at the terminal. Berth productivity varies from berth to berth according to work practices, the resources availability (such as number of trucks, no of quay cranes), the skills and performance of staff ebpvibj primarily depends on the following parameters: ebpvibj ¼ aðnotvibj ; acpvibj ; nocvibj ; slsvibj ; odlvibj Þ
for all ð1 6 i 6 nÞ and ð1 6 j 6 4Þ
ð7Þ
If gcpcib is defined as the crane productivity of ci in berth b, then acpvib ¼
nc 1 X ðgcpcib Þ where nc is the number of cranes assigned for vessel vi nc i¼1
ð8Þ
The cases mentioned in Sections 2.1–2.5 should be considered for obtaining a suitable berth for vessels calling at the port. Dynamic planning is encouraged in a complex situation like vessel operations in a container terminal. There may be situations where, etavi may change, the expected acpvibi may not be achieved, the expected number of cranes may not be able to be allocated as indicated due to various operational difficulties and it may not be possible to achieve ebpvibi . When these unforseen consequences are observed during vessel operations, terminal managers should be able to replan or find alternative solutions to minimise the unexpected delays in vessel operations to help them to avoid heavy penalties from the shipping line. In the next section we briefly discuss the BDI agent architecture.
3. Intelligent agents and BDI agent architecture One goal of the artificial intelligence community is to engineer computer programs that can act as autonomous rational agents (agents are the systems that are situated or embodied in some environment) (Wooldridge, 2000). An increasingly popular programming paradigm is that of agent-oriented programming. Often described as a natural successor to object-oriented programming, it is highly suited for applications, which are embedded in complex dynamic environments (Ljungberg and Lucas, 1992). A number of different approaches have emerged as candidates for the study of agent-oriented systems. Agent architectures have been implemented and have demonstrated the usability in a number of business systems (Winikoff et al., 2001). Agent technology has been used in areas such as air traffic control, automated manufacturing, and the space shuttle (Ljungberg and Lucas, 1992). The agent takes the sensory inputs from the environment and produces output actions that affect it. The interaction is usually going and non-terminating (Wooldridge, 2002).
1992
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
Wooldridge and Jennings (Wooldridge, 2002) provide a useful starting point by defining the following properties of an agent. Autonomy: means the agent’s ability to operate independently. i.e. autonomous agents make independent decisions, social ability: the ability to interact in terms of negotiation and cooperation with other agents, reactive: means being responsive to changes in the environment and proactiveness: means being able to exhibit goal directed behaviour. The next section describes how BDI agent architecture can help to formulate the abovementioned characteristics in intelligent agents. 3.1. Belief-Desires-Intention (BDI) agent architecture An approach to the study of a rational agency, which has received a great deal of attention, is the socalled Beliefs, Desires and Intention (BDI) architecture developed by Rao and Georgeff (Rao and Georgeff, 1992; Bratman, 1987; Bratman et al., 1998). The BDI model has its roots in the philosophical tradition of understanding practical reasoning in humans. That is, the practical reasoning directed towards actions (the process of figuring out what to do) (Wooldridge, 2000), originally developed by Michael and Bratman (Georgeff and Ingrand, 1989; Georgeff et al., 1998). Human practical reasoning appears to consist of at least two distinct activities: The first involves deciding what state of affairs we want to achieve, the second involves deciding how we want to achieve these states of affairs. The former one, deciding what states of affairs to achieve is known as deliberation. The latter one, deciding how to achieve these states of affairs—we call means-end-analysis (Wooldridge, 2002). Intuitively, an agent’s beliefs correspond to information the agent has about the world. These beliefs may be incomplete or incorrect. An agent’s desires represent states of affairs that the agent would (in an ideal world), wish to be brought about. (Implemented BDI agent desires require that desires be consistent with one another). Finally, the agent’s intentions represent desires it has committed to achieving (Wooldridge, 2000). The main components in the BDI model are described in the next section. 3.2. The main components in the BDI model Information of the world is described in terms of beliefs. Beliefs are represented as data structures in the BDI model. They are updated when an event occurs (perception of the environment) or when intentions are executed. For e.g. when an event {vessel-declaration (vi)} occurs, the following beliefs are added to the current environment: etavi, nobvi, ctyvi. Desires indicate the set of goals that an agent may achieve. In the ‘‘real world’’, an agent would like all its desires to be achieved. In any moderately realistic scenario, however, an agent will not be able to achieve all its desires, because some desires are mutually exclusive (Wooldridge, 2000). The desires that an agent is committed to achieve are called intentions. The BDI model has a pre-defined library of plans. A sequence of plans is executed to achieve the intentions committed to the agent. Usually, plan-id is used to identify a plan in the plan library. A plan has preconditions, post-conditions and the body. The plan construction task in a system has been addressed as a searching problem in the literature, where searching a plan space is considered in finding a consistent plan that satisfies the stated goal (Nareyek, 2001). We have defined a new plan structure and the use intelligent tools for the execution of plans are described in the next section. Changes to the agent model are reflected in terms of events. In other words, the perceptions of the agent are mapped to events and stored in the event queue. 3.3. BDI execution cycles Fig. 3 indicates the generic BDI execution cycle. p denotes the set of plans for an intention, B for beliefs, D for desires and I for intentions (Wooldridge, 2000). At the beginning of every cycle, the option generator reads the event queue and updates the beliefs. The option generator obtains all the possible desires that an
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
1993
Initial beliefs B0 and intentions I0 While true do Get the next percept p;
/* next event is considered */
B := belief-update (b, p);
/* current belief set is updated */
D := options (B, I0);
/* All desires are identified */
I := Deliberator(B, D, I);
/* Deliberator selects the most viable option */
π := Plan-structure (B, I);
/* Plans to be executed for the intention I */
Execute (π );
/* execute the plans in the intention structure */
Drop-successful-attitudes ( ); Drop-impossible-attitudes ( ); End repeat Fig. 3. Generic BDI execution cycle.
agent can achieve at this moment. Then an agent selects a sub set of options as intentions to be adopted and adds these to the intention structure. These committed intentions are executed in terms of plans in the agent model. Any external events that occur during the execution of the interpreter cycle are then added to the event queue. Finally, the agent modifies the desires and the intention structures by dropping all successful desires and the satisfied intention, as well as impossible desires and unrealistic intentions. One of the criticisms of the BDI model is that it is not well suited to certain types of application systems. The basic models described in the previous section appear to be inappropriate for building systems that must acquire and use knowledge to adapt their behaviours (Georgeff et al., 1998). It is necessary to build intelligence into the generic BDI model to improve the adaptability features in making rational decisions. It is important to investigate how an agent might justify its decision to reconsider or continue with the current intention at a given time without having a proper understanding of the future consequences. Is there any possibility for an agent to reconsider some of its early abandoned intentions? Further, an agent might drop the execution of an intention at a given time, but due to environmental changes, should be able to reconsider or recall all its previously dropped intentions, that is, Is it possible for an agent to backtrack all its previous abandoned intentions again? (Schut and Wooldridge, 2000, 2001) integrated the meta-reasoning in a decision theoretic model of (Russell and Wefald, 1992) for the deliberation process of the BDI agent architecture, in the intention reconsideration process. But still there are a few of the limitations of the present BDI model, especially when dealing with dynamic applications. The proposed hybrid BDI model with intelligent tools is described in the next section.
4. Hybrid BDI agent architecture The use of artificial intelligent techniques in the agent model improves the capabilities of handling dynamic and uncertainty in the environment of a complex system. Adaptive planning and the execution of such plans for achieving the agent’s desires have been improved in the proposed model. Most importantly, the underlying questions of when and how to reconsider the intentions of an agent have been addressed in the proposed architecture. The proposed hybrid BDI agent model handles many different types of activities in a container terminal. Three different types of agents have been suggested in the proposed system, namely, VESSEL-AGENT
1994
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
(VA), ALLOCATOR-AGENT (AA) and BERTH-AGENT (BA) (Lokuge and Alahakoon, 2004a,b). VA is primarily responsible for providing vessel declarations details and requesting an early berth in the terminal. AA in the proposed hybrid BDI model is the main agent who handles many important tasks such as vessel assignments, rescheduling vessels and vessel shifting. BA is responsible for the computation of expected berth productivity for calling vessels, prompts any delays in the vessel operations.. In this paper, no explicit agent communication language (ACL) is considered as our research focus mainly on improving the learning capabilities of BDI agents. The main agents in the proposed system are shown in Fig. 4. The events received from the Vessel-agent are mapped in the event queue. Events may be either external or internal. External events are received from the environment and internal events cause the transition from one state to another in the system. The structure of the Allocator-agent is described in the next sections. Two important modules have been suggested in the hybrid BDI agent model for the Allocator-agent: the ‘‘Generic BDI module (GBM)’’ and the ‘‘Knowledge Acquisition module (KAM)’’ (as shown in Fig. 5) (Lokuge and Alahakoon, 2004d). The GBM executes the generic BDI execution cycle. The required knowledge for dynamically selecting intentions in the agent model is formulated in the KAM. Adaptive planning in the proposed agent model is also handled in the KAM. A trained neural network and ANFIS are embedded into the KAM facilitating adaptability and the learning and social ability of the proposed agent model. If S = {sij0 6 i 6 n} denotes the n number of states in the environment, any state, si, is described as a set of beliefs BELst . The execution of plans in various states results in a change of state from one to another in the environment. The change rate of beliefs (W) in various states is analysed in the KAM module for the dynamic selection of the optimal plans in achieving the committed intentions. The selected plans in the plan hierarchy are then executed and recorded the cost factors in different states. This enables AA to find out the most appropriate berth for calling vessels at the terminal, assuring the highest-level of productivity and efficiency.
Events– Berth-Agents
Vessel Agents
- ETA-received ( ) - ETA-changed ( ) ......................
Desires Allocator-Agents
ETA-received ( )
- {Assign-berth( )} - {Reassign-berth( )} - {Shifting-vessel( )}
Berth Requests Events received– Allocator-Agents Schedule details - ETA-received( ) - ETA-changed( ) - Vessel-arrivals( ) - Delay-operations( ) - Operation-completed( ) ..................
Intention: {Assign-berth( )} - [Assign-berth(jct1)] - [Assign-berth( jct2)] - [Assign-berth( jct3)] - [Assign-berth(jct4)]
Allocator-Agent
Berth requested Gross berth prod.. JCT1
JCT2
JCT3
Berth Agents
Fig. 4. Main agents in the proposed system.
JCT4
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
GBM
1995
KAM
Intentions
Knowledge
Hybrid BDI Agent
Desires Beliefs Plans
Fig. 5. Hybrid BDI agent architecture.
The proposed hybrid BDI execution cycle, which includes the intention reconsideration and dynamic planning capabilities, is shown in Fig. 6. Autonomy, reactivity, learning and adaptability features have been enhanced with the introduction of our KAM module in the proposed hybrid agent model. Further, two different types of plans are introduced, that is, simple and complex plans, which are described in later sections.
1 Initialise-state: set of BEL, DES, INT, Ωs 2 While True do 3
Options: =option-generated (event-queue);
4
Ψ st = BEL-Update( BELs,t , BELs,t-1);
5
DES = options ( BEL, INT);
6
INT =KAM-intentions (BEL, DES,Ψ s );
7
π = Plan (BEL, INT);
8
While not empty (π) or Succ_IMP (INT) do
9 10
α = head (π); if simple-plan (π) then
11 12 13
execute (π); if complex-plan (π) then KAM-Module-execute (π)
/* ANFIS system implementation */
14
π = tail (π);
15
get-next-event (event-queue);
16
Ψ st = BEL-Update (BELs,t , BELs,t-1);
17
if change-in (Ψ ) > Ωs
18 19 20 21
/* Neural network knowledge base is used */
s
/* A Belief threshold value */
INT =KAM-intentions (BEL, DES, Ψts ); end-if End While End While Fig. 6. Hybrid BDI execution cycle.
1996
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
In lines 4 and 16, the Belief change factor in a state s at time t (Wst Þ will be computed before the execution of the next plan. Lines 6 and 7 show the use of the proposed Knowledge acquisition module which facilitates dynamism in the intention reconsideration and adaptability in the agent planning. In line 8, the inner loop is executed until the committed intention is successfully completed or impossible to achieve or the last plan in the intention structure is reached. The KAM module produces a set of intentions from the most to the least suitable for achieving agent’s desire. A belief threshold value for different states, Xs, has been used for making a decision above when to reconsider the intentions. The extent of belief changes and its impact on achieving the agent’s desire is computed before the execution of the next plan in the intention structure. Beliefs in the environment are given different weights to indicate the degree of the effect on the execution of plans and intentions in the system. This helps the agent to be more proactive and reactive in the selection and execution of plans. Simple and complex plans and their execution methodologies are described in the next section. 4.1. Simple and complex plans in the hybrid BDI agents Agents generally have a library of predefined plans which are selected and executed dynamically to achieve the desires or committed intentions in the agent model. We propose a plan structure to be viewed as a tuple and to consist of many components. A plan-id identifies the plans in the plan library and the body of a plan is a set of steps for achieving committed intentions. Pre-conditions define the circumstance under which a plan is possible; post-conditions give the state of affairs the plan achieves; Intention-id, denotes the intention that a plan belongs to; status-factor is the separations of simple and complex plans. A plan body is represented as a directed AND/OR graph of sub-goals that together should achieve the plan’s goal. When a plan has been executed, one of three things will have happens: either its execution is completed successfully or unsuccessfully or its execution is not completed because the execution of the plan has been aborted. The execution of a plan may lead the agent to move from one state to another depending on the results. When a plan has been executed, either the plan’s goal has been achieved or it has failed. A plan’s execution may have been completed successfully, but the plan may not have achieved its goal. A plan’s execution may have been completed unsuccessfully or aborted, and the plan may still have achieved its goal. So when the plan ceases execution, it enters one of three states: the success state, the fail state or the abort state. Before entering into one of these states, the plan may specify actions that are to be performed. These actions are called respectively: success action (r), fail action (u) and abort action (x). There is one inward arc labeled with ‘‘Start’’ and pre-conditions, and three outward arcs labeled respectively with/success action,/fail action and abort condition/abort action. The plan body is a structured set of steps to achieve sub-goals. The plan body is represented as a directed graph. The simple plan diagram is shown in Fig. 7.
Start
Plan Body
X Abort State X Fail State √ Success state Fig. 7. Simple structure of a plan.
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
1997
In complex environments, the plan execution may not always have the above three goal states. It may be even more complex and many results may not be able to be categorized strictly under ‘‘success’’, ‘‘fail’’ or ‘‘abort’’. Agents may not be able to completely fulfil the desired goal and may sometimes end up with partially satisfied goal states. Under these circumstances, the decision-making process of the agents is more complex when the agent has to consider a set of sub plans when making the final decision. To overcome the limitation in handling partially achieved goal states in the present BDI agent architecture, we propose a modified agent plan structure, which could accommodate many partially achieved goal states. For example, when an agent executes a plan, it may generate many instead of three goal states, which are imprecise and do not have a clear criterion to accept or reject. A plan with many partially satisfied goal states is shown in Fig. 8. GS(1), GS(2), . . . , GS(n) are partially satisfied goal states. In real time complex environments, agents have to deal with a number of such plans before a decision is made, (hereafter called ‘complex sub plans’). Complex sub plans essentially have vague or fuzzy type of goal states and an agent may have to handle all such complex plans before finalizing its final goal state. Complex plans, which essentially require intelligence, learning and social ability, are handled by the Adaptive Neuro Fuzzy system proposed in the paper. A set of complex-plans with many partially satisfied goals are diagrammatically shown in Fig. 9.
Start
Plan Body Goal states (GS) … …. GS(1)
…
GS(2)
……..
GS(3) ….. GS(n)
Fig. 8. Structure of a complex plan with many goal states.
Start
Complex-plan 1
Partially successful Goal states
Complex-plan 2 . . . Complex-plan n
Final decision Fig. 9. Structure of a set of complex-plans.
1998
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
ANFIS in the proposed KAM module is being deployed to implement such complex plans in the agent model. The paper so far has proposed a hybrid BDI agent architecture, which overcomes some of the limitations in the generic BDI model. The implementation of the Hybrid BDI architecture in the ALLOCATOR-AGENT and the functionalities of their components are described in the next section.
5. Implementation of the hybrid architecture The main components of the ALLOCATOR-AGENT are Event-Handler, Intelligent-Deliberator, PlanMonitor, Impact-Analyser, Static-Filter and Berth-Assigner. The different components in the AllocatorAgent assure the execution of the hybrid BDI execution cycle. Components in the hybrid BDI agent model for the Allocator-agent are shown in Fig. 10. ‘Intelligent-Deliberator’ and ‘Impact-Analyser’ components in the hybrid BDI agent model belong to ‘‘KAM’’ which exhibits the intelligent learning and adaptability features of the proposed agent system. 5.1. The EVENT-HANDLER component The EVENT-HANDLER selects a list of events from the event queue based on the priorities defined. Some of the events identified by the EVENT-HANDLER are ‘‘ETA-received ( )’’, ‘‘ETA-changed ( )’’ and ‘‘Vessel-arrival ( )’’ etc. The EVENT-HANDLER promptly updates the beliefs in the environment, which facilitates the agent’s reconsideration of its intentions using the proposed KAM module. 5.2. The Intelligent-Deliberator The Intelligent-Deliberator component belongs to the KAM module of the proposed hybrid agent architecture. It is activated when messages are received from the Event-Handler component (Lokuge and Ala-
Neural Network Based training
EVENT-HANDLER Events
Knowledge Event-queue
INTELLIGENT-DELIBERATOR
PLAN-MONITOR Environment
Plans Intentions Desires ANFIS Based Learning
IMPACT-ANALYSER
Beliefs
STATIC-FILTER
BERTHASSIGNER
Fig. 10. Components of the allocator agent.
Environment
Berthing Details
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
1999
hakoon, 2004e). Since the BDI execution cycles mentioned in Section 3.3 do not indicate a mechanism of ‘when’ to reconsider the intentions and ‘how’ to select the plans with the available knowledge of beliefs and desires. Neural networks are increasingly popular in business problems, especially, in the forecasting, prediction and operational research (Wasserman, 1989; Eberhart and Dobbins, 1990), we propose a trained neural network-based Intelligent-Deliberator component to dynamically select the possible intentions. Beliefs, desires, intentions and the whole set of plans available in a berthing application are used as inputs to the neural network as (shown in Fig. 11). If a belief change rate at a state s, in time t (Wst Þ, is more than the threshold value defined at that state s (X ), then the extended control loop in the hybrid BDI execution cycle reconsiders the validity of the committed intention as described in the lines 16–19, in Fig. 6. If an agent determines that the present commitment is no longer appropriate in order to achieve the current intention, then it rejects it and finds another valid alternative option to achieve the long term goal. This improves the decision-making power of the proposed agent model in a complex, dynamic environment. 5.3. Plan-Monitor component The Plan-Monitor component is deployed to receive a committed intention from the Intelligent-Deliberator Component. It monitors the execution of plans in order to achieve the committed intention. The different plans introduced in the proposed system (Simple and Complex plans) are sent to the ImpactAnalyser or the Static-Filter component by the Plan-Monitor component. This component always monitors the progress of the plan being executed and environmental changes are promptly reported by the EventHandler component. The proposed planning structure is defined as a tuple: hPID, INB, PEC, STP, PT, STI, STOi, where PID is the Plan-identification, INB means the Intention belongs to, PEC is the Pre conditions, STP the Steps, PT the Plan-type, STI the State/s that the plan can apply and STO the States after the execution of the plan. The results of the plans executed at Impact-Analyser or Static-Filter components are informed to the Plan-Monitor promptly. Once a committed intention is achieved, Plan-Monitor reports the final result to the Berth-Assigner. Fig. 12 shows the structure of the Plan-Monitor component. Line 1 in Fig. 12 indicates that the Plan-Monitor receives the available intentions from the IntelligentDeliberator for achieving the goals in the environment. The Neural network in the Intelligent-Deliberator prioritises the available options from the most to the least probable in order to minimize the unnecessary computations.
Desires Assign-berth (); Shift-vessels (); Reschedule () ……
Beliefs CTYnew NOBnew VBDnew VSDnew VCRnew….. CORb1 NOCbn BDRb2 ETCb1 ATCb1v ….. ….
Intentions Committed
Neural Network Intentions Fig. 11. Neural network based Intelligent-Deliberator component.
2000
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
1
Intentions = Intelligent-Deliberator ( );
2
While not empty (Intentions)
3 4 5 6
If simple-plan then execute-via-static-filter ( ) else execute-via-impact-analyser ( )
7
end-if
8
update-beliefs( )
9
if change-in ( Ψ ) > Ωs
10 11 12 13
s
Intentions = Intelligent-Deliberator ( ) else get-next-intention ( ) end-if
14 end while Fig. 12. Structure of the Plan-Monitor component.
5.4. Static-Filter component The Static-Filter component executes the simple plans as described in Section 4.1. Simple plans have only three types of goals i.e. ‘‘success’’, ‘‘Fail’’ or ‘‘abort’’. Once a plan for a given intention is executed, the results are informed back to the Plan-Monitor component for updating the current beliefs in the environment. If we assume that ‘ETA-received(..)’ event has occurred and the desire of the agent is to assign a berth, assuring minimum waiting time at the outer harbour. If the Intelligent-Deliberator component is committed to achieve the intention ‘[Assign-berth (jct1)]’, once the commitment is finalized, this is reported to the Plan-Monitor component for the execution of the plan. Some of the plans identified in achieving the committed intention are: P1 ! validate-berthing-draft ( ), P2 ! validate-sailing-draft( ), P3 ! check-craneoutreach ( ), P4 ! clarify-minimum-distance( ), P5 ! get-waiting-time ( ), P6 ! receive-ebp ( ), P7 ! find-eot ( ), P8 ! compute-etb( ), P9 ! compute-etc( ). Simple and complex plans are executed as described in Section 4.1. Fig. 13 describes the execution of two simple plans, P1 and P2, in the hybrid agent model for achieving the intention ‘[Assign-berth (jct1)]’. S, F and A in the above figure denotes the ‘‘success’’, ‘‘Fail’’ and ‘‘abort’’ states in a simple plan. 5.5. The Impact-Analyser component The Impact-Analyser is responsible for the execution of all the complex plans identified by the Planmonitor component. The complex plan does not contain a specific output goal as is the case with simple plans. Instead, it produces goal states which have a range of values. Therefore, by executing a complex plan, an agent will not be able to decide whether to proceed with the committed intention or reconsider the intention again. The situation is much more complex when a set of complex plans needs to be executed before it reconsiders the validity of the present intention. We propose an Adaptive Neuro Fuzzy Inference System (ANFIS) to handle the execution of the complex plans in the hybrid BDI architecture. The distinctive feature of the ANFIS is the underlying combination of fuzzy logic and neural networks.
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015 s0
Ψt
Start
2001
State 0 P1
s1
Ψt
P1 S
F
A
State 1, BELs1, ψs0t < Ωs1 P2
s2 Ψt
S
F
A
State 2, BELs2, ψs1t < Ωs2
Goal
Fig. 13. Execution of two simple plans.
The dotted circle in Fig. 14 shows the use of ANFIS for the execution of complex plans in the proposed hybrid agent model. P1 and P2 denote the simple plans whereas CP1 and CP2 denote the complex plans in the intention structure. The results of the execution of the plans are fed back to the Plan-Monitor which updates the beliefs in the environment. If belief changes are significant, then the intention reconsideration Start
P1– validate-berthing-draft ( ) P2 – validate-sailing-draft ( )
Execution of plans P3, P4, P5...
P8 – Expect-vessel-productivity ( )
CP1 – get-no-of-trucks ( )
Subplans with many states
CP2 – compute-gcp ( ) CP3 – get-not ( ) ANFIS based Decision-making process CP4 – get-sls ( ), CP5 - check-odl ( ), etc.
P9 – compute-etc ( )
ebp
Fig. 14. Execution of simple and complex plans.
2002
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
process is activated (as mentioned in the algorithm given in Fig. 12). The structure of the adaptive neuro fuzzy inference system for the execution of complex plans is described in the next section. 5.5.1. Adaptive Neuro Fuzzy Inference System (ANFIS) A fuzzy inference system (FIS) utilizes human expertise by sorting its essential components to a rule base and a database, and performs fuzzy reasoning to infer the overall output value (Bojadziew and Bojadziev, 1995; Baldwin, 1996). The derivation of if-then rules and corresponding membership functions depends heavily on a priori knowledge about the system under consideration (Jang, 1992). On the other hand, the Artificial Neural Networks (ANN) learning mechanism does not rely on human expertise. Due to the homogenous structure of ANN, it is difficult to extract structured knowledge from the weights or the configuration of the ANN. To a large extent, the drawbacks pertaining to these two approaches seem complementary. Therefore, it is natural to consider building an integrated system combining the concepts in a special ANN-like architecture (Lin and Lee, 1996; Mehrotra et al., 1997). Jang (1992), proposed an interesting architecture for fuzzy neural nets, which is a fuzzy inference system implemented in the framework of the adaptive neuro fuzzy inference system (ANFIS) (Godjevac, 1993). To illustrate, if we assume the fuzzy inference system has two inputs x and y and one output z. For a first order TSK model rule base containing two fuzzy if-then rules are represented as follows: Rule 1: if x is A1 and y is B1 then f = p1x + q1y + r1. Rule 2: if x is A2 and y is B2 then f = p2x + q2y + r2, where x and y are linguistic variables and A1, A2, B1, B2, are corresponding fuzzy sets and p1, q1, r1 and p2, q2, r2 are linear parameters. Fig. 15 shows the TSK fuzzy inference system when two membership functions are each assigned to the two inputs (x and y). f 1 ¼ p 1 x þ q1 y þ r 1
f ¼
w1 f1 þ w2 f2 w1 þ w2
ð9Þ
f 2 ¼ p 2 x þ q2 y þ c
ð10Þ
Fig. 16 shows the ANFIS architecture, which has 2-inputs. The five layers in the ANFIS architecture are described as follows: Layer 1: Every node i in this layer is a square node with a node function O1i ¼ lai ðxÞ;
ð11Þ
A1
B1 W1 X
A2
Y B2 W2
x
X
y
Y
Fig. 15. TSK type fuzzy inference system.
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
Layer 4
Layer 1 Layer 2
Layer 3 Layer 5
X Y A1 X
⎯W1
W1
Π
⎯W1f1
N
A2
B1 Y
2003
Σ ⎯W2
Π
W2
f
⎯W1f1
N X Y
B2
Fig. 16. 2-input ANFIS architecture.
where x is the input node, i, and Ai is the linguistic label associated with the node function, O1i is the membership function of Ai and it specifies the degree to which the given x satisfies the quantifier Ai. Usually lai (x) is bell-shaped with maximum equal to 1 and minimum equal to 0. lai ðxÞ ¼ 1þ
1 xci ai
2 bi
ð12Þ
where {ai, bi, ci} is the parameter set. As the values of these parameters change, the bell-shaped functions vary accordingly, thus there are various forms of membership functions on linguistic label Ai. Layer 2: Every node in this layer is a circle node II which multiples the incoming signals and sends the product out. That is wi ¼ lai ðxÞ lbi ðyÞ;
i ¼ 1; 2
ð13Þ
Each node output represents the firing strength of a rule. (T-norm operators that perform generalised AND can be used at the node function in this layer.) Layer 3: Each node in this layer is a circle node labelled N. The ith node calculates the ratio of the ith rule’s firing strength to the sum of all the rule’s firing strengths, as given below: wi w¼ ð14Þ w1 þ w2 The output of this layer is called the normalised firing strength. Layer 4: Every node i in this layer is a square node with a node function O4i ¼ wi fi ¼ wi ðpi x þ qi y þ ri Þ
ð15Þ
where wi is the output of the layer 3, and {pi, qi, ri} is the parameter set. The parameter in this layer is referred to as consequent parameters. P Layer 5: The single node in this layer is a circle node, that computes the overall output as the summation of all incoming signals, i.e. P X wi fi O5i ¼ wi fi ¼ Pi ð16Þ i wi i
2004
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
ANFIS makes use of a mixture of back propagation to learn the premise parameters and the least mean square estimation to determine the consequent parameters. We propose that the KAM module in the AA be used in the ANFIS architecture in dealing with complex planning, which provides a better result in achieving the desires. 5.6. The Berth-Assigner component The Berth-Assigner component finally assigns the most suitable berth for calling vessels. It also updates the scheduling tables of each berth. This information is subsequently passed to the respective Berth-Agents for their information and finally the current belief set is updated.
6. Dynamic vessel scheduling scenarios with hybrid BDI agent architecture A scheduling scenario at the Jaya container terminal (JCT) port of Colombo, has been simulated with the proposed hybrid BDI agent architecture. Experiments have been carried out with the data sets provided by the Port. In the first scenario, let us assume at time t, VA has sent a declaration of a new vessel zim for scheduling. The declaration of vessel ZIM minimally contains: etazim : 04.12.03:04.55, nobzim: 968, vcrzim: 18 m across, vbdzim: 17.7 m, vsdzim: 18 m. For simplicity, we have considered a case where only a single vessel is served at the berth at a given time and, in all the states, the condition (Ws) 6 Xs is true. Further, the requirements given in Eqs. (3)–(5) are true in all berths. The task carried out by the hybrid BDI agent for assigning a suitable berth to calling vessel zim is described below. The Event-Handler component: ‘ETA-received ( )’ event is selected from the event-queue. New beliefs etazim, nobzim, vcrzim, vbdzim and vsdzim are updated as a result of the new event. The Intelligent-Deliberator component: The Neural network based Intelligent-Deliberator now dynamically selects the intentions with respect to the event ‘ETA-received ( )’ received from the Event-Handler component. Figs. 17a and 17b show some of the beliefs and desires used in the trained neural network. The committed intentions identified from the Intelligent-Deliberator component are given in Fig. 17c. ‘[Assign-berth (jct1)]’ and ‘[Assign-berth (jct2)]’ intentions have indicated very low (close to zero) values from the trained neural network. This is an indication that the intentions to assign the vessel zim in jct1 or jct2 could be dropped without trying to execute any plans in those intentions. This would allow the agent to minimize unnecessary computations and therefore save on cost. As we investigated the belief sets, it was noted that the condition mentioned in Sections 2.1 and 2.2 are not satisfactory for JCT1 and JCT2. This indicates that the trained neural network-based Intelligent-Deliberator was able to filter only the prospective berths that could successfully complete the operations of the new vessel zim. The efficiency of the agent deliberation process is improved as it drops these intentions with the least successful rate if executed. The plan executed in order to achieve the intention ‘[Assign-berth (jct3)]’ is summarized below.
CTYzim , NOBnew:968, VBDnew:17.5m, VSDnew:18m, VCRnew:18m . ETAnew:04.12.03:04.55 COBb1:13m, COBb2:16m, COBb3:18m, COBb4:18m, NOCb1:3, NOCb2:3, NOCb3:5, NOCb4:4, BDRb1:13m, BDRb2:18m, BDRb3:21m, BDRb4:21m, ETCb1:04.12.03:05.30, ETCb2:03.12.03:04.15, ETCb3:04.12.03:03.20, ETCb4:04.12.03:06.25 NOBb1:550, NOBb2:525, NOBb3:750, NOBb4:490, GBPb1:35, GBPb2:40, GBPb3:90, GBPb4:50 ....
Fig. 17a. Beliefs at time t used for neural network.
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
2005
{Assign-a-berth( ) } {Reschedule-vessel( )} {Shift-vessels( )} {Maximize-expected-vessel-productivity( ) } Fig. 17b. Desires of the system.
[Assign--berth( jct1 ) ] [Assign--berth( jct2 ) ] [Assign--berth( jct3 ) ] [Assign--berth( jct4 ) ]
-
0.0003932 0.0009464 0.6964856 0.7249754
Fig. 17c. Intentions produced from the trained neural network.
At state s0:- BELs0 ‘‘hPID:P1, INB: [Assign-berth(jct3)], PEC: ETAzim, STP: check berth drafts, PT: ‘‘simple’’, STI: ‘‘s0’’, STO: ‘‘success’’i. At state s1:- BELs1 and (Ws1) 6 Xs1. hPID:P2, INB: [Assign-berth(jct3)], PEC: at state s0 and ‘‘Berth-tag=ok’’, STP: check sailing drafts, PT: ‘‘simple’’, STI: ‘‘s1’’, STO: ‘‘success’’i At state s2:- BELs2 and (Ws2) 6 Xs2. hPID:P3, INB: [Assign-berth(jct3)], PEC: s1 and ‘‘Berth-tags=ok’’, STP: check crane outreach details, PT: ‘‘simple’’, STI: ‘‘s2’’, STO: ‘‘success’’i At state s3:- BELs3 and (Ws3) 6 Xs3. hPID:P4, INB: [Assign-berth(jct3)], PEC: s2 and ‘‘Berth-cr=ok’’, STP: minimum distance, PT: ‘‘simple’’, STI: ‘‘s3’’, STO: ‘‘success’’i At state s4:- BELs4 and (Ws4) 6 Xs4. hPID:P5, INB: [Assign-berth(jct3)], PEC: s3 and ‘‘Berth=ok’’, STP: get waiting time, PT: ‘‘simple’’, STI: ‘‘s4’’, STO: ‘‘success’’i At state s5:- BELs5 and (Ws5) 6 Xs5. The next plan to execute is P6 and it is complex. The Impact-Analyser component uses the ANFIS-based knowledge in computing ebpzim jct3. Section 2.5 indicated all the dependent attributes used by ANFIS to produce ebpzim The membership functions produced in ANFIS for the inputs not, gcp, noc and sls are shown jct3. in Figs. 18a–18c and 18d. Input–output surfaces created from ANFIS for few input parameters are shown in Fig. 19. hPID:P6, INB: [Assign-berth(jct3)], PEC: at s4, STP: ‘‘get ANFIS for ebp’’, PT: ‘‘complex’’, STI: ‘‘s5’’, STO: ‘‘success’’ and ebpzim jct3 ¼ 45:6 hours=movei At state s6:- BELs6 and (Ws6) 6 Xs6. hPID:P7, INB: [Assign-berth(jct3)], PEC: at s5, STP: ’’get eot’’, PT: ‘‘simple’’, STI: ‘‘s6’’, STO: ‘‘success’’ and eotzim jct3 ¼ 21:6 hoursi At state s7:- BELs7 and (Ws7) 6 Xs7. hPID:P8, INB: [Assign-berth(jct3)], PEC: at s6, STP: ‘‘get etb’’, PT: ‘‘simple’’, STI: ‘‘s6’’, STO: ‘‘success’’ and etbzim jct3 ¼ 04:12:03 : 05:30 ami At state s8:- BELs8 and (Ws8) 6 Xs8.
2006
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
Fig. 18a. Membership function for number of trucks (not).
Fig. 18b. Membership function for gross crane productivity (gcp).
Fig. 18c. Membership function for number of cranes (noc).
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
Fig. 18d. Membership function for skill level of staff (sls).
Fig. 19a. IO surface for gcp and odl.
Fig. 19b. IO surface for not and gcp.
2007
2008
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
Fig. 19c. IO surface for noc and sls.
Fig. 19d. IO surface for noc and odl.
hPID:P9, INB: [Assign-berth(jct3)], PEC: at s7, STP: ‘‘get etc’’, PT: ‘‘simple’’, STI: ‘‘s7’’, STO: ‘‘success’’ and etczim jct3 ¼ 05:12:03 : 04:45 ami h End of Intention: [Assign-berth(jct3)]i Once the execution of plans for the current intention is completed, Plan-Monitor looks for other alternative options available to achieve the desire ‘{assign-berth( )}’ as mentioned in the algorithm given in Fig. 12. In this case, the next available intention, ‘[Assign-berth(jct4)]’ is considered by the Plan-Monitor component and the agent executes the plans similar to the one described above. The final results of the execution of two intentions are summarized in Table 1. The first two columns of Table 1 indicate that the intention to assign the new vessel to JCT1 and JCT2 has not been considered by the Intelligent-Deliberator, as indicated a very low probability of success at the beginning. Finally, berth JCT3 has been allocated to the new vessel ZIM as berth JCT3 has shown the earliest expected completion time. During the execution of the plans in all the states we assume that Ws 6 Xs is always true. Therefore, (in any of the states) there were no reasons to activate The Intelligent-Deliberator for reconsideration of the current intentions in achieving the agent desire. In the next scenario we simulate a situation where an agent requires to reconsideration its current intention due the significant change in the environment. Initially, the same situation is simulated and Intelligent-
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
2009
Table 1 Execution results of agent intentions for assigning vessel ZIM to jct3 or jct4 Plan in the intention structure
Intention-Assignberth (jct1)
Intention-Assignberth (jct2)
Intention-Assignberth (jct3)
Intention-Assignberth (jct4)
P1—validate-berth-draft ( ) P2—validate-sailing-draft ( ) P3—check-crane-outreach ( ) P4—clarify-minimum-distance ( ) P5—get-waiting-time ( ) P6—receive-ebp P7—find-eot ( ) P8—compute-etb ( ) P9 – compute-etc ( )
‘‘Not considered’’
‘‘Not considered’’
‘‘Success state’’ ‘‘Success state’’ ‘‘Success state’’ ‘‘Success state’’ 0.00 hours 45.6 hours/moves 21.2 hours 04.12.03:05.40 05.12.03:04.45
‘‘Success state’’ ‘‘Success state’’ ‘‘Success state’’ ‘‘Success state’’ 2.25 hours 40.2 hours/moves 24.3 hours 04.12.03:07.25 05.12.03:07.25
Deliberator identifies the same intentions to execute as mentioned in Fig. 17c and the plans executed from P1 to P6 in order to achieve intention ‘[Assign-berth(jct3)]’ are shown in Table 2. ‘Delay-operation (jct3)’ and ‘equipment-breakdown (jct3)’ events have been observed by the Event-Handle component at present. This caused significant changes in the present belief set and found that Wsi P Xsi is true at state si. Therefore the Intelligent-Deliberator component will again use the trained neural network to reconsider its intention in achieving the desire ‘{assign-berth ( )}’. Output produced from the IntelligentDeliberator is shown in Fig. 20. Results show that the intentions in assigning the vessel to JCT1, JCT and JCT3 have now very low values. Our investigations revealed that non-availability of 18 m cranes in JCT1, JCT2 and JCT3 would have cause the Intelligent-Deliberator to produce low values in the output. Results obtained from the execution of plans for the intention ‘[Assign-berth (jct4)]’ are shown in Table 3. Dynamism and reactive behaviour in our proposed model is exhibited as agent quickly adapts to the environmental changes, dropping the earlier committed intention and found JCT4 as the better option in the present environment. We compared the overall performance of the hybrid BDI agent based berthing system with the current system in terms of different matrices. Accuracy in predicting the expected operation time (eot) and expected time of completion (etc) for calling vessels has a significant impact on the overall performance of the operations in a container terminal. Terminal operators are required to compute more realistic figures for the Table 2 Plans executed for the intention [Assign-berth (jct3)] Plan in the intention structure
Intention-Assign-berth (jct1)
Intention-Assign-berth (jct2)
Intention-Assign-berth (jct3)
P1—validate-berth-draft ( ) P2—validate-sailing-draft ( ) P3—check-crane-outreach ( ) P4— clarify-minimum-distance ( ) P5—get-waiting-time ( ) P6—receive-ebp
‘‘Not considered’’
‘‘Not considered’’
‘‘Success state’’ ‘‘Success state’’ ‘‘Success state’’ ‘‘Success state’’ 0.00 hours 45.6 hours/moves
[Assign--berth( jct1 )] [Assign--berth( jct2 )] [Assign--berth( jct3 )] [Assign--berth( jct4 )]
-
0.0003932 0.0009464 0.0011256 0.7249754
Fig. 20. Intention identified by the Intelligent-Deliberator component.
2010
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
Table 3 Outputs of the plans executed for the intention [Assign-berth (jct4)] Plan in the intention structure
Intention-Assignberth (jct1)
Intention-Assignberth (jct2)
Intention-Assignberth (jct3)
Intention-Assignberth (jct4)
P1—validate-berth-draft ( ) P2—validate-sailing-draft ( ) P3—check-crane-outreach ( ) P4—clarify-minimum-distance ( ) P5— get-waiting-time ( ) P6—receive-ebp P7—find-eot ( ) P8—compute-etb ( ) P9—compute-etc ( )
‘‘Not considered’’
‘‘Not considered’’
‘‘Not considered’’
‘‘Success state’’ ‘‘Success state’’ ‘‘Success state’’ ‘‘Success state’’ 2.25 hours 40.2 hours/moves 24.3 hours 04.12.03:07.25 05.12.03:07.25
expected berth productivity (ebp) to ensure less difference between the estimated and actual values in eot and etc. The average error between the actual and the expected berth productivity values in all berths in the current system and the hybrid agent based system, over a randomly selected data set, is shown in Table 4. In the agent-based scheduling, it is noted, the error between the actual and the expected berth productivity recorded a minimum. Therefore, ANFIS-based learning techniques in the proposed hybrid agent had more accurate predictions in the ebp. This improves the quality of planning and the scheduling of vessels in all berths. Further, in Fig. 21, it can be observed that the ANFIS based Impact-Analyser component produces the gross berth productivity more accurately than in the present system for calling vessels. The input parameters used in ANFIS to produce the expected berth productivity (ebp) are number of trucks available in the berth (not), average carne productivity of the berth (acp), number of cranes allocated for the vessel (noc), skill level of the staff in respective berths (sls) and operational delays experienced in serving vessels (odl) as men-
Table 4 Comparison of results obtained from the present system and agent based system for predicting the gbp of respective berths in the terminal Error in expected gbp of the current system (NMH)
Error in expected gbp in the agent based system (NMH)
JCT1
JCT2
JCT3
JCT4
Average error
JCT1
JCT2
JCT3
JCT4
Average error
7.31 4.76 13.27 25.04 15.29 8.21 25.62 30.44 14.91 12.89 1.24 17.75 14.08 21.09 11.99 32.75 13.46 32.67
9.86 20.38 5.03 5.77 18.88 21.97 22.20 19.49 11.77 5.38 24.27 6.23 24.26 23.58 11.35 9.48 18.78 5.56
4.86 7.73 5.04 0.76 5.33 3.04 7.49 6.40 11.41 28.29 29.18 17.82 2.37 22.30 1.56 9.10 13.41 40.44
26.06 20.78 18.01 39.18 37.59 39.73 10.13 14.27 10.00 11.70 15.36 36.47 21.62 9.45 6.76 25.49 4.32 9.95
12.02 13.41 10.34 17.69 19.27 18.24 16.36 17.65 12.02 14.57 17.51 19.57 15.58 19.11 7.92 19.21 12.49 22.16
4.50 4.30 3.50 3.60 3.00 5.50 6.40 2.50 3.40 7.00 5.40 6.50 7.40 3.40 3.50 5.60 7.80 4.60
3.4 4.3 2.4 5.6 7.6 5.7 8.6 6.7 8.7 5.6 7.6 8.6 5.6 8 9 10.6 5.6 7.6
5.5 3.4 6 7.5 3.5 3.5 0.6 6 8 5 7.8 9 10.4 7 3.4 5 7.6 9.7
3.4 7 9 9 10.4 12.3 4.5 3.5 6 7.8 8 8 6 6.5 10.5 13 2.5 4.3
4.20 4.75 5.23 6.43 6.13 6.75 5.03 4.68 6.53 6.35 7.20 8.03 7.35 6.23 6.60 8.55 5.88 6.55
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
2011
Average GBP Error of berths (NMP)
25.00 20.00 15.00 10.00 5.00 0.00 0
5
10
15
20
Number of vessels Present System
BDI Agents
Fig. 21. Average gross berth productivity prediction error between present system and BDI agent based system.
Average waiting time ( Minutes)
tioned in Section 2.5. This has improved the efficiency of scheduling whilst mitigating the risk of paying high penalties for operational delays at berths. It is always preferable to minimize the vessel waiting time at the outer harbour: this has been reduced remarkably in the agent-based scheduling compared to the present system. The dynamic nature and past experience of vessel operations have been considered in the agent based system, which has minimized the difference between actual time of completion (atc) and expected time of completion (etc) of the vessels at berths. Fig. 22 shows the average waiting time of vessels in all berths produced from the agent-based system and from the present system in the Container Terminal. Fig. 22, shows that the waiting time of the vessels computed from the agent-based system is less than that of those in the present system. Intelligent learning tools introduced in our hybrid agent model have produced more realistic values in expected berth productivity (ebp) and expected operations time (eot). Therefore, the scheduling errors and waiting time predictions have been kept to a minimum in the above situations. The waiting time produced from the agent system and the present system for vessels with priority has shown no major variation. This is mainly because, even in the present system, vessels with higher priority are allocated berths immediately. Operational delays experienced at different berths are another important matrix that should be considered in evaluating the performance of the agent based scheduling. A deviation from the expected time of completion (etc) and the actual time of completion (atc) is defined as the operational delay of the vessel. Heavy penalties are applied to the terminal if they fail to achieve the targets agreed earlier. In the present vessel scheduling system, it is very difficult to predict more realistic targets because the environment is dynamic and uncertain. The dynamic nature and the uncertainty of the environment have been considered in our proposed intelligent agent based system in predicting targets before commencing operations. This
70 60 50 40 30 20 10 0 0
5
10
15
20
Number of vessels Present System
BDI Agent based system
Fig. 22. Average waiting times of vessels in the proposed agent based system and present system at the terminal.
2012
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
would essentially help to minimize the difference between the expected time of completion and the actual time of completion of vessel operations. Figs. 23(a–d) show the operational delays experienced using the
Operational delay (hours)
Berth - JCT1 20 10 0 10
0
5
10
15
20
20 30 Number of vessels Present System
Agent based system
Fig. 23a. Operational delay in JCT1.
Operational delay (hours)
Berth - JCT2 15 10 5 0 5 0
5
10
15
20
10 15 Number of Vessels present System
Agent based system
Fig. 23b. Operational delay in JCT2.
Operational delay (hours)
Berth - JCT3 6 4 2 0 2 0
5
10
15
20
4 6 8 Number of Vessels Present System
Agent based system
Operational delay (Hours)
Fig. 23c. Operational delay in JCT3. Berth - JCT4
10 5 0 5 0
5
10
15
10 15 20 25 Number of Vessels Present System
Agent based system
Fig. 23d. Operational delay in JCT4.
20
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
2013
present system and the proposed agent based system at individual berths in the terminal. Negative in the graphs indicate the vessel completion delays experienced in the present system and the agent based scheduling. They show that the agent based scheduling has minimized the vessel completion delays, which means less penalty charges in the terminal.
7. Conclusion and future work Intelligent agent systems are one of the very important areas of research and applications in Artificial Intelligence. BDI is one of the most popular architectures for implementing an intelligent agent. This paper discusses the use of BDI agents in a complex shipping environment. The main BDI execution cycle is refined to improve the learning and social ability of the generic BDI model. One of the main contributions is the introduction of intelligent behaviour into the generic BDI architecture through the use of the KAM module. The deliberation process of the generic BDI model is improved with the introduction of knowledge based tools such as neural networks and ANFIS in the KAM module. This enhances the decision making process of BDI agents. Another special feature of our proposed hybrid architecture is the ability to reconsider its previously abandoned intentions in the present environment. The neural network-based Intelligent-Deliberator component allows agents to select any viable intentions at any time in order to achieve desires. This is similar to the human deliberation process in real life. The reactive behaviour of the agent model is improved as it quickly responds to the events received from the Event-Handler. The autonomy of the agent model is also enhanced because agents operate independently based on the rate of the belief change (W) and the intention reconsideration threshold (X) values in the environment. The proposed KAM module in the hybrid architecture improves the learning and adaptability features in the generic BDI model when dealing with dynamic environments. Complex plans do not necessarily have strict goal states as simple plans mentioned above, instead complex plans may end up with partially achieved goal states. Decision making more complicated when there is a combination of such complex plans in the environment. The generic BDI agent architecture does not support situations which require learning and dealing with fuzzy types of inputs and goal states. The proposed modification to the BDI control loop allows the agent to firstly separate the simple and complex plans in their intention structure. This enables BDI agents to deal with any type of plans in the environment, thus assuring enhanced adaptability and autonomy. In particular, the adaptive learning algorithms used in the ANFIS shows that this is a promising approach to building adaptive intelligent agents who can deal quit easily with any imprecise complex plans in the environment.
References Baldwin, J.F., 1996. Fuzzy Logic. John Wiley & Sons Ltd., England. Bojadziew, G., Bojadziev, M., 1995. Fuzzy Sets, Fuzzy Logic, Applications. World Scientific publishing Co. Pte. Ltd., Singapore. Bratman, M.E., 1987. Intentions, Plans and Practical Reason. Harvard University Press, MA. Bratman, M.E., Israel, D., Pollack, M., 1998. Plans and Resources-bounded Practical Reasoning, Philosophy and AI. The MIT press, Cambridge, pp. 1–22. Brown, G.G., Lawphongpanich, S., Thurman, K.P., 1994. Optimizing Ship Berthing. Naval Research Logistics 41, 1–15. Chen, C.Y., Hsieh, T.W., 1999. A timespace network model for the berth allocation problem. In: 19th IFIP TC7 Conference on Systems Modeling and Optimization. Chia, J.T., Lau, H.C., Lim, A., 1999. Ant colony optimization for the ship berthing problem. In: Thiagarjan, P.S., Yap, R. (Eds.), Proceeding of the 5th Asian Computing Science Conference on Advances in Computing Science (ASIAN99), LNCS 1742, pp. 359– 370. Cowling, P., Ouelhadj, D., Petrovic, S., 2003. A multiagent architecture for dynamic scheduling of steel hot rolling. Journal of Intelligent Manufacturing, Special Issue on Agent-based Manufacturing Process Planning and Scheduling 15 (5), 457–464.
2014
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
Cowling, P., Ouelhadj, D., Petrovic, S., 2004. Dynamic scheduling for steel casting and milling using multi-agents, production planning and control. Special issue on Application of Multiagent Systems to Production Planning and Control. D’Inverno, M., Kinny, D., Luck, M., Wooldridge, M., 1998. A formal specification of dMARS. In: Singh, M.P., Rao, A.S., Wooldridge, M. (Eds.), Intelligent Agents IV: Proceedings of the Fourth International Workshop on Agent Theories, Architectures, and Languages, 1365. Springer, pp. 155–176. Eberhart, R.C., Dobbins, R.W., 1990. Neural Network PC Tools. Academic Press Inc., New York. Georgeff, M.P., Ingrand, F.F., 1989. Decision making in an embedded reasoning system. In: Sridharan, N.S. (Ed.), Proceeding of the Eleventh International Joint Conference on Artificial Intelligence. Morgan Kaufmann Inc., MI, pp. 972–978. Georgeff, M., Pell, B., Pollack, M., Tambe, M., Wooldridge, M., 1998. The Belief-Desire-Intention Model of Agency. Springer Publishers. Godjevac, J., 1993. State of the art in the neuro fuzzy field, Technical report no 93.25, April. Available from:
. Jang, J.S.R., 1992. ANFIS: Adaptive network based fuzzy inference systems. IEEE Transactions on System, Man and Cybernetics 23 (3), 665–685. Available from: http://www.citeseer.nj.nec.com/jang93anfis.html. Jennings, N.R., 1999. Intelligent Agents VI, agent theories architecture, and languages. In: 6th International workshop; proceedings ATAL99, Florida. Kim, K.H., Moon, K.C., 2003. Berth Scheduling by simulated annealing. Transportation Research Part B 37, 541–560. Lee, L.H., Tan, K.C., Ou, K., Chew, Y.H., 2003. Vehicle capacity planning System (VCPS): A case study on vehicle routing problem with time window. IEEE Transaction on Systems Man and Cybernetics. Part A. Systems and Humans 33 (2), 169–178. Li, C.L., Cai, X.., Lee, C.Y., 1998. Scheduling with multiple-job-on-one-processor pattern. IIE Transactions 30, 45–60. Lim, A., 1998. On the ship berthing problem. Operational Research Letters 22 (2–3), 105–110. Lin, C.T., Lee, C.S.G., 1996. Neural Fuzzy Systems. Prentice Hall P T R, Upper Saddle River, New Jersey. Ljungberg, M., Lucas, A., 1992. The OASIS Air Traffic Management System. In: Proceeding of the Second Rim International Conference of Artificial Intelligence, PRICAL, Korea, pp. 15–18. Lokuge, D.P.S., Alahakoon, D., 2004a. Collaborative neuro-BDI agents in container terminals. In: Proceeding of the Advanced/ Information and Networking Applications, vol. 1, Japan, pp. 155–158. Lokuge, D.P.S., Alahakoon, D., 2004b. BDI agents with fuzzy associative memory for vessel berthing in container ports. In: Proceeding of the Sixth International Conference on Enterprise Information Systems, Porto, Portugal, vol. 2, pp. 315–320. Lokuge, D.P.S., Alahakoon, L.D., 2004c. Homogeneous neuro-BDI agent architecture for berth scheduling in container terminals, Journal of Marine Design and Operations, IMarEST Publication, London, Part B6, pp.17–27. Lokuge, D.P.S., Alahakoon, L.D., 2004d. BDI Agents using neural network and adaptive neuro fuzzy inference system for intelligent planning in container terminals. In: Proceeding of the 11th International Conference on Neural Information Processing (ICONIP2004), Springer LNCS, Lecture Notes in Computer Science, V. 3316/2004, pp. 941–947. Lokuge, D.P.S, Alahakoon, L.D., 2004e. Hybrid BDI agents with improved learning capabilities for adaptive planning in a container terminal application. In: Proceeding of IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT), China, IEEE Computer Society, pp. 120–127. Mehrotra, K., Chilukuri, K.M., Ranka, S., 1997. Elements of Artificial Neural Networks. Massachusetts Institute of Technology. Montana, D., Herrero, J., Vidaver, G., Bidwell, G., 2000. A multiagent society for military transportation scheduling. Journal of Scheduling 3 (4), 225–246. Muller, J.P., 1996. The Design of Intelligent Agents: A Layered Approach. Springer-Verlag, Berlin, Heidelberg, New York. Nareyek, A., 2001. Constraint-based agents—an architecture for constraint-based modelling and local search-based reasoning for planning and scheduling in open and dynamic worlds. Lecture Notes in Computer Science, vol. 2062. Springer. Ouelhadj, D., Petrovic, S., Cowling, P., Meisels A., in press. Inter-agent cooperation and communication for agent based robust dynamic scheduling in steel production. Advanced Engineering and Informatics (Artificial Intelligence in Engineering). Rao, A.S., Georgeff, M.P., 1992. An abstract architecture for rational agents. In: Rich, C., Swartout, W., Nebel, B. (Eds.), Proceeding of the Knowledge Representation and Reasoning Conference (KR&R-92). Springer-Verlag, pp. 349–449. Rao, A.S., Georgeff, M., 1995. BDI agents: from theory to practice. In: Proceedings of the First International Conference on Multi Agents Systems (ICMAS-95). Available from: . Russell, S., Wefald, E., 1992. Principle of meta-reasoning. Artificial Intelligence 49 (1–3), 361–395. Ryan, N.K., 1998. The future of maritime facilities design and operations. In: Medeiros, D.J., Watson, E.F., Carson, J.S., Manivannan, M.S. (Eds.), Winter Proceedings of the Simulation Conference. IEEE Computer Society, pp. 1223–1227. Schut, M., Wooldridge, M., 2001. Principles of intention reconsideration. In: Mueller, J.P., Andre, E., Sen, S., Frasson, C. (Eds.), Proceedings of the Fifth International Conference on Autonomous Agents (AGENTS’01). ACM Press, USA, pp. 340–347. Schut, M.C., Wooldridge, M., 2000. Intention reconsideration in complex environments. In: Gini, M., Rosenschein, J. (Eds.), Proceeding of the Fourth Forth International Conference on Autonomous Agents (Agents 2000), Spain. ACM Press, pp. 209–216. Wasserman, P.D., 1989. Neural Computing, Theory and Practice. Van Nostrand Reinhold, New York.
P. Lokuge, D. Alahakoon / European Journal of Operational Research 177 (2007) 1985–2015
2015
Winikoff, M., Padgham, L., Harland J., 2001. Simplifying the development of intelligent agents. In: Proceedings of the 14th Australian Joint Conference on Artificial Intelligence (AI’01), pp. 557–568. Wooldridge, M., 2000. Reasoning about Rational Agents. The MIT Press, Cambridge, Massachusetts, London. Wooldridge, M., 2002. An Introduction to Multi-agent System. John Wiley & Sons, New York. Yoo, M.J., 2002. An Industrial application of agents for dynamic planning and scheduling. In: Proceeding of the First International Joint Conference on Autonomous Agents and Multiagent Systems, Italy, Part 1, pp. 264–271.