Page 1

it is difficult to consider all these choices in one single model,

although an integrated model is the final goal. Also, even with today’s

computing power, an integrated model will inevitably require some

strict assumptions that will reduce its application value to local spe-

cific problems. The classical way to forecast the results of such a

complex choice process is to divide it into simpler subprocesses in

a logical and tractable way. Models for these subprocesses are then

developed individually, and the hope is that they can eventually be

assembled to provide useful predictions for decision makers. The past

half-century has witnessed several different methods of disentangling

the complex travel decision-making process. Two major approaches

have emerged over time: trip- and activity-based approaches.

The traditional four-step travel forecasting models are often referred

to as trip-based approaches in that they treat individual trips as the ele-

mentarysubjects. In so doing, the four-step model tends to ignore the

diversity among different individuals and considers aggregate travel

choices in four steps—trip generation, trip distribution, mode split,

and route assignment. Other choices are either treated as exogenous

(e.g., land use and automobile ownership) or extremely simplified

(e.g., trip scheduling). An up-to-date summary of the achievements

in this field can be found in the book by Ortuzar and Willumsen (7).

There is some disagreement about how to assemble these four sub-

processes in travel forecasting. Some researchers are of the opinion

that the four steps should be solved in a coherent network equilib-

rium instead of sequentially. Boyce (8) provides a thorough review

of the origin and the recent development of that issue.

An important nature of travel demand ignored by trip-based ap-

proaches is that travel is a derived demand—travel is desired to par-

ticipatein other activities, not for its own consumption value. In view

of this and other inadequacies of the four-step model, activity analysis

has been applied to travel demand analysis since the 1970s. Activity-

based approaches describe which activities people pursue, where,

when, and for how long given fixed land use, transportation supply,

and individual characteristics. A trip is generated to connect two

spatially separated sequential activities. In activity-based approaches,

every individual is a decision maker who confronts a huge choice set

of various activity patterns in the time-space domain. Each combi-

nation of activities and their locations, starting points, and durations

forms a unique activity pattern. Individuals select (or at least intend

to select) the patterns that maximize their utilities by somehow solv-

ing a large-scale combinatorial optimization problem conditional on

others’ decisions. Different from the trip-based models, activity-based

approaches deem individuals’ decision making as subprocesses of the

emergence of travel demand. These subprocesses are typically assem-

bled by microscopic travel simulation to form aggregate travel fore-

casting. At the current stage of activity-based approaches, route choice

and sometimes mode choice are still modeled by external modules

Agent-Based Approach

to Travel Demand Modeling

Exploratory Analysis

Lei Zhang and David Levinson

Transportation Research Record: Journal of the Transportation Research Board,

No. 1898, TRB, National Research Council, Washington, D.C., 2004, pp. 28–36.

28

An agent-based travel demand model is developed in which travel

demand emerges from the interactions of three types of agents in the

transportation system: node, arc, and traveler. Simple local rules of agent

behaviors are shown to be capable of efficiently solving complicated trans-

portation problems such as trip distribution and traffic assignment.

A unique feature of the agent-based model is that it explicitly models

the goal, knowledge, searching behavior, and learning ability of related

agents. The proposed model distributes trips from origins to destinations

in a disaggregate manner and does not require path enumeration or any

standard shortest-path algorithm to assign traffic to the links. A sample

10-by-10 grid network is used to facilitate the presentation. The model

is also applied to the Chicago, Illinois, sketch transportation network with

nearly 1,000 trip generators and sinks, and possible calibration proce-

dures are discussed. Agent-based modeling techniques provide a flexible

travel forecasting framework that facilitates the prediction of important

macroscopic travel patterns from microscopic agent behaviors and hence

encourages studies on individual travel behaviors. Future research direc-

tions are identified, as is the relationship between the agent-based and

activity-based approaches for travel forecasting.

Contemporary models of urban passenger travel demand date from

the 1950s (1, 2). Aggregate demand models that relate the consump-

tion of goods to the attributes of the goods, the competing goods,

and consumer characteristics were found inappropriate for travel

demand modeling because of both their inability to test some im-

portant transportation-related policies and the complexity of the

transportation system itself. Therefore, a disaggregate or behavioral

approach has attracted most of the research interest in the past sev-

eral decades. Disaggregate travel demand models directly assume

the behaviors of real-world decision-making units such as an indi-

vidual or household. Discrete choice analysis based on random util-

ity theory has been widely adopted, and individuals are assumed to

always select the alternative that maximizes their utilities (3).

Urban travel demand results from a multidimensional hierarchical

choice process. A list of such choices includes residential and busi-

ness location, automobile ownership, and when to make a trip, with

whom, from where to where, by which mode, and by which route.

Some studies suggest that travelers, by developing heuristics, may

only be able to find a feasible, not necessarily global, optimal solution

to the choice problem subject to a set of constraints (4–6). However,

Department of Civil Engineering, University of Minnesota, 500 Pillsbury Drive SE,

Minneapolis, MN 55455.

Page 2

such as dynamic traffic assignment algorithms. Several publications

mark the milestones in the advance of activity-based approaches

(9–12). More-recent research progress is reported by Ettema and

Timmermans (13) and McNally and Recker (14), among others.

After a half-century of continuous development, travel demand

models now play an important role in urban planning and trans-

portation–land use policy evaluation. However, there is still much

room for improvement, notably that understanding the nature and

dynamics of individual travel behaviors and their interactions is not

adequate; the trend of disaggregate modeling requires faster solu-

tion algorithms as more and more complicated travel behaviors are

modeled. Of course, these problems cannot be solved in a single

study. Improving the existing travel demand models is not the pur-

pose here. Rather, a new agent-based travel forecasting paradigm

and a pilot agent-based travel demand model are proposed that may

open a new door to solution of the problem.

Agent-based modeling methodology has a long lineage, begin-

ning with von Neumann’s (15) work on self-reproducing automata.

Modern agent-based models employ methods from many fields, in-

cluding artificial intelligence, cellular automata, genetics, cybernet-

ics, cognitive science, and social science. The agent-based structure,

flexibility, and computational advantages have made them power-

ful tools in modeling complex systems. In general an agent-based

model consists of three elements: agents, an environment, and rules.

Agents are like people, who have characteristics, goals, and rules of

behavior. They are the basic unit of activity in the model. The envi-

ronment provides a space in which agents live. Behavioral rules de-

fine how agents act in the environment and interact with each other.

The characteristics of the environment itself also change in response

to agent activities. Agent-based modeling techniques have found

many applications in transportation. A recent special issue of Trans-

portation Research(16) is dedicated to this topic. Microscopic traf-

fic simulation can be viewed as an example of agent-based models.

Vehicles are agents in the simulator, and a static road network is the

environment. Vehicles are “born” at the entrances of the network and

“die” at the exits. Rules, such as free-flow driving, car-following,

and lane-changing, define how a vehicle behaves and interacts with

other vehicles and the road network.

To apply the agent-based modeling method to a transportation

demand system, one needs to define first the agents involved in the

system and then the characteristics of each type of agent. Rules of

agent behaviors need to be properly constructed in order to make the

resulting model useful in travel forecasting. Given an initial condi-

tion, all the agents will behave on the basis of their “personal” char-

acteristics, learning, and interacting rules. The transportation system

will then evolve to a pattern, perhaps an equilibrium, from which

useful macrolevel information can be extracted. In this sense, travel

demand would be the result of an evolutionary process.

An agent-based travel demand model is developed in the next sec-

tion, followed by the application of the proposed model on both a

hypothetical grid network and a realistic metropolitan area. With

these two examples, computational properties and possible calibra-

tion procedures of the model are explored. Potential extensions of the

model and future research directions are discussed.

MODEL

An agent-based travel demand model is formulated for a monomodal

transportation network. Several agents in the transportation system are

identified, as well as their characteristics and interacting rules, which

enable the model to perform trip distribution and route assignment.

Zhang and Levinson 29

Agents and Their Characteristics

A transportation network in the model is fully represented by nodes

and arcs as in a directed graph. The model considers three types of

agents: traveler, node, and arc.

Traveler Agents

There are a certain number of traveler agents in the system. The goal

of each traveler agent is to find an activity and to reach the activity

with the lowest travel costs. Hence the first property a traveler agent

has is status, which is a binary variable: an activity found (1) or

not (0). In the process of searching for an activity, each traveler vis-

its a set of nodes at which opportunities (potential activities) are

located. At each step, each traveler moves from its current node to

another through the connecting arc and decides to either accept or

reject the opportunities at the new node on the basis of some rules,

explained in the next section. Travelers learn arc costs along their

search path when traveling on the network. Therefore, by adding

arc costs, travelers know the total cost of a path from any node in

their search path to each of the subsequent nodes, which is then

added to the exchangeable knowledge base.

Node Agents

Nodes contain “demographic” and “social-economic” information of

the system in terms of ainumber of travelers and binumber of oppor-

tunities at node i. If a directed arc originates from Node 1 and is des-

tined for Node 2, then Node 1 is called a supply node of Node 2 and,

alternatively, Node 2 is a demand node of Node 1. Each node has a

vector of S supply nodes S(s1, . . . , sS) and a vector of D demand

nodes D(d1, . . . , dD) based on the transportation network structure.

A node is also a supply node and a demand node by itself.

Node agents have two primary goals. First, whenever information

exchange is possible, each node wants to either learn from travelers

the shortest paths from other nodes to itself or distribute that infor-

mation back to travelers, depending on whose knowledge is supe-

rior. For that purpose, nodes must store shortest-path knowledge and

be able to exchange information with other agents. The second ob-

jective of node agent i is to provide turning guidance to travelers

through an (S × D) matrix Pi:

Node subscript iis omitted from the Pmatrix for simplicity, which

should not create any confusion. Each element in P, ps, d, is the prob-

ability that a traveler coming from supply node s will move to de-

mand node d, which can be affected by many factors including the

traveler’s personal characteristics (Ωt), the number of opportunities

at the current node i(bi), the number of opportunities at each demand

node of i (bd), the quality of the opportunities (Q), and the ease of

reaching the opportunities (A):

In the current model, a simple functional form of f(?) is specified,

and ps, dis computed on the basis of the following equations:

Pf b b Q A

i

d

,, ,

t

=

(

)

Ω ,( ) 1

P

PP

PP

s d

1

,

s d

1

sdsd

D

SSD

=

1

1

,

,,

L

LLL

L

Page 3

Equation 2 ensures that if a traveler comes to node i from a supply

node s,it will not go back to sin the next movement, which prevents

a direct cyclic movement. Equation 3 states that the possibility that

a traveler coming from supply node s will move to demand node d

at the next step is proportional to the number of opportunities at

node d (bd). Equation 4 gives the probability that a traveler will

accept an opportunity at node i; that is, the traveler agent stops its

search process and no longer moves in the network. β is a weight-

ing coefficient to be calibrated using trip length distribution data. A

smaller β implies that on average a traveler agent needs to travel

longer in order to find an activity because it is less likely to accept

an opportunity at the current node. Theoretically, β can be any pos-

itive value. If βbi+ ∑bd= 0 (i.e., there are no opportunities at any

demand nodes), travelers will randomly select a demand node for

the next movement. According to this specification of the turning

guidance matrix, a traveler’s search behavior is completely myopic

in that the next movement is only based on the opportunities at the

current node and its adjacent demand nodes.

Equations 2 to 4 with iterative execution actually provide a dis-

aggregate algorithm for trip distribution that is in principle similar

to the intervening-opportunities models (17–19) since trip making

is not explicitly related to distance but to the relative accessibility

of opportunities that satisfy the objective of the trip. Travelers con-

sider available opportunities at increased distances from their ori-

gins. The agent-based trip distribution algorithm is more flexible than

the intervening-opportunities model in two ways:

1. Travelers consider only opportunities they have been exposed

to along their search paths, whereas in the intervening-opportunities

model, it is assumed that travelers have information on all opportu-

nities in the region and are able to rank all destinations in order of

increasing distance from their origins.

2. In the intervening-opportunities model, the probability that a

traveler will be satisfied by any opportunity is constant regardless of

circumstances. The agent-based structure allows the probability to

be dependent on the dynamic distribution of opportunities around

the traveler.

Arc Agents

Arc i1–i2connects origin node i1to destination node i2without any

intermediate nodes. Its characteristics include capacity (C), length (l),

free-flow speed (vf), flow (q), and other costs (O), for example, tolls.

Arc cost (c) is a function of those five factors:

g(?) can take the form of an appropriate arc performance function.

The current model assumes infinite arc capacities. Therefore, the arc

cost becomes a constant, and congestion effects are not considered.

c g C l v q O

= (

, ,

f

)

, ,( ) 5

p

b

bb

≠

sddi

s d

,

i

i

d

d D

∈

d i

&

( )

4

=

+

≠=

∑

β

β

if and

p

b

bb

≠

sddi

s d

,

d

i

d

d D

∈

d i

&

( )

3

=

+

≠≠

∑

β

if and

psd

s d

,

( )2

= 0 if =

30Transportation Research Record 1898

Route Cognition

The three types of agents, as just defined, enable one to examine some

travel decision-making processes under an agent-based framework.

Traveler agents’ goal and behavior in many aspects are associated

with real-world behavior of individuals. However, one limitation is

that each traveler agent, as just defined, only pursues one particular

activity. In reality, travelers may have multidestination tours with

several activity types. The goal of the traveler agent must be ex-

panded to accommodate activity chains. The arc agents are almost

identical to physical road segments connecting intersections in the

real world.

The node agent presented in the model needs to be elaborated a bit

more. On the one hand, a node agent corresponds to a real network

node at which arcs intersect and activity opportunities are located.

On the other hand, a real-world intersection obviously does not

know anything about the shortest paths within the network. The node

knowledge should be interpreted as pooled, collective knowledge

from some travelers who are familiar with the local area surround-

ing the node. For instance, an individual residing near a node knows

the shortest paths from other nodes in the network to that node bet-

ter than other individuals do who are unfamiliar with the area. Sev-

eral studies on route cognition have shown that real-world travelers

are only familiar with routes in the direct environment of their homes

and activity centers that are frequently visited (a very limited part of

the whole network), but, in general, they have limited knowledge

about the routes in the remaining part of the network (20, 21). There-

fore, when knowledge exchange occurs between traveler agents and

node agents in the model, it actually represents information exchange

between different real-world travelers. How travelers learn about

alternative routes in the network is a very important question.

Interaction Rules

Some interaction rules were pointed out when the agent characteris-

tics were introduced. For instance, travelers acquire arc costs from arc

agents and obtain turning guidance from node agents. Nodes com-

municate with each other so that each node knows the availability of

opportunities at its demand nodes. Arcs update their flows based on

travelers’ search paths. These rules are simple since they only involve

communication and no learning activities.

It is also necessary to define some learning rules for the model

to be useful. Specifically, for the model to be able to realistically

approximate trip distribution in the real world, a traveler agent

should examine opportunities farther and farther away from its ori-

gin instead of making circular movements around the origin as the

search process proceeds. Also, real-world individuals tend to choose

the shortest paths for their trips, which require the traveler agents to

have the ability to learn shortest paths between origin–destination

pairs. An interaction rule defining learning activities between trav-

eler and node agents in the model can meet both requirements. This

learning rule applies whenever a traveler moves to a node i. It is

assumed that a traveler has already visited a set of n nodes. Both the

traveler and the node want to learn the shortest paths to travel from

these nnodes to the current node iaccording to agent characteristics.

The mechanism of this learning rule is not complex: for each node

i′ of the n nodes visited by the traveler, both the traveler and node i

know a path to travel from i′ to i, respectively. So they compare the

lengths (or the generalized costs) of the two paths, and the agent who

knows the longer path will learn the shorter one from the other.

Page 4

The following example illustrates the traveler-node learning rule

graphically. In the example, all arc costs are assumed to be 1 for sim-

plicity. A traveler originating from Node 1 just moved to node i

(Figure 1a). Therefore, the traveler-node learning rule is applied

between these two agents. In this case the traveler has already visited

three nodes (n = 3, i′ ∈ {1, 3, 4}) before arriving at i. The traveler’s

knowledge is represented in the diagram by the solid line, and the

node’s knowledge is depicted by three types of discontinuous lines.

The traveler and the node first compare the paths from Node 4 to i

because Node 4 is the one most recently visited by the traveler. Since

they know two equally short paths (1node= 1traveler), there is no learn-

ing activity between them (Figure 1b shows their respective knowl-

edge after this comparison). Then they compare the two paths from

Node 3 to iand find that the node knows a better path (1node< 2traveler).

Thereby the traveler learns from the node (see Figure 1c after this

Zhang and Levinson 31

round of learning). Finally, they compare paths between the trav-

eler’s origin Node 1 and node i. This time, the node learns from the

traveler because the traveler knows a shorter path (3node> 2traveler; see

bottom diagram in Figure 1d).

The result of this traveler-node learning rule and Equation 2 is

that, once a traveler agent finds an activity, the path it used will also

be the shortest path from its origin to the destination, based, on the

traveler’s best knowledge. Node agents also possess the knowledge

of shortest paths identified by the model. If there are enough travel-

ers in the transportation system, the shortest path found by the model

approximates the real shortest paths, as will be seen in two exam-

ples presented later. In this sense, the learning rule in this model

could be viewed as an asymptotic shortest-path algorithm based on

distributed learning.

Transportation planners are familiar with the application of discrete

choice analysis in travel forecasting (3). Individuals’ route selection

behavior is modeled as the outcome of a cross-sectional choice pro-

cess that contains two steps: choice-set generation, in which several

alternative routes are identified, and choice-making, in which a “best”

route is selected on the basis of utility trade-offs. The learning rule

just described is an example of another paradigm for modeling rout-

ing decisions and can be interpreted as follows. A traveler agent is

able to identify at least one route toward the activity destination

(e.g., the traveler’s own search path); however, without any learn-

ing activities with the nodes (holders of localized network informa-

tion) along the traveler’s own search path, the selected route will be

by no means satisfactory. The traveler agent also recognizes that fact

and wants improvements. However, in contrast to discrete choice

analysis, it is not assumed that travelers are capable of identifying

several alternative routes. Rather, it is assumed that travelers adjust

their current route on the basis of localized network information.

Such localized network information can come from other travel-

ers or from travelers’ own experience. When a traveler agent arrives

at a node in the model and learns a better shortcut from the node

agent, in the real world this situation can be interpreted as one in

which someone tells someone else a better route. If alternatively the

node agent learns from the traveler agent, the traveler agent actually

shares its own experience to improve the collective understanding

of the network. This phenomenon can also frequently be observed

in the real world. For instance, a good route from a traveler’s home

to the shopping center that is frequently visited by the traveler is very

likely to become a part of the path selected by the same traveler for

a trip from home to another destination near the shopping center.

The improvement or adaptation paradigm, in which travelers are

assumed to adjust their decision until a certain aspiration level is

achieved, was adopted in previous models of travel decision making,

such as AMOS (22, 23) and SMASH (24). Bowman and Ben-Akiva

(25) generalize the decision-making processes in those models as

repetitive execution of choice-set generation and choice making.

However, the intensive learning and adaptive behavior may be better

modeled under an agent-based framework.

Emergence of Travel Demand Through

Evolutionary Process

On the basis of the specified agent characteristics and interaction

rules, a transportation system is ready to evolve given a transporta-

tion network, an initial distribution of travelers, and activity opportu-

nities in the network, which can be the outputs of any trip generation

process. The evolutionary process is illustrated by the flowchart in

(a)

(b)

(c)

(d)

FIGURE 1Traveler-node learning rule between traveler and node i.

Page 5

Figure 2. The probabilities specified in Equations 2 to 4 can be real-

ized through Monte Carlo simulation. The convergence of the evolu-

tion process can be directly measured by the number of residual

travelers, that is, travelers who have not yet found an activity or the

number of residual opportunities, whichever reaches zero first (the

model does not require an equal number of travelers and opportuni-

ties). When all travelers are settled with activities, the transportation

system reaches a stable pattern since there will be no more move-

ments or interactions. All agents and their knowledge will remain

constant thereafter. Therefore, this stable pattern is considered the end

point of the evolution or, for simplicity, an equilibrium.

If each traveler corresponds to one or more trips, the trip distribu-

tion and assignment problems are solved simultaneously in the sys-

tem equilibrium. The route each traveler takes is the shortest path

from the origin to the destination based on the traveler’s best knowl-

edge of the network travel costs. That knowledge is accumulated

through interactive, iterative learning with multiple node agents in

the network. The result of route assignment in the agent-based travel

demand model is in a sense similar to an all-or-nothing assignment

since arc capacity constraints are not considered in the current

model, although the two algorithms are based on completely different

assumptions about travel behavior. The only coefficient that needs to

be calibrated in the model is βin Equation 1, which can be interpreted

as a traveler’s willingness to travel further.

APPLICATION EXAMPLES

AND CALIBRATION PROCEDURES

Computational Properties

Before the discussion proceeds to numerical examples, the compu-

tational properties of the model are summarized analytically. For a

transportation network with Inodes and Ttravelers, there are at most

I*(I − 1) + T paths in the model since each node can at most keep

information on I − 1 paths from all other nodes to itself, and each

traveler has one search path. All knowledge must be stored in the

model, and hence the theoretical maximum memory consumption is

proportional to the number of travelers and the square of network

size. In practice, the actual memory requirement is much less

because if no traveler travels between a node pair, the shortest path

between the two nodes is not necessary and will not be stored by any

32 Transportation Research Record 1898

node. In a large network, many node pairs will not be visited by trav-

elers. As the system starts evolving, the number of paths further

decreases since a traveler’s search path is no longer useful and can

be deleted once an activity is found.

An examination of the evolutionary process (Figure 2) would

reveal a good property of the model—the computational time is only

proportional to the number of travelers and is not sensitive to the size

of the transportation network. The running time of the model will

still increase as the network size increases since on average travel-

ers will search more nodes to find activities. The travel-node learn-

ing process will take more time, but it will not increase exponentially

because in the agent-based model, information exchange and agent

learning activities substitute for standard shortest-path algorithms,

and thus path enumeration is not required. Another aspect related to

running time is the ease of the calibration procedure, which will be

discussed next along with two examples.

Numerical Examples

Example 1: 10 ×10 Grid Network

The first example uses a simple 10 × 10 grid network with 300,000

travelers and an equal number of opportunities to demonstrate the

model. The travelers and opportunities are uniformly distributed

among all nodes. The arc cost is 1 unit for all arcs (see Figure 3).

The structure of the agent-based travel demand model can be im-

plemented with any object-oriented programming language (Java

was used in this study). Five different β’s are tested ranging from

0.05 to 2. For each β, the resulting travel length distributions and

the convergence properties at the five equilibria are summarized in

Figures 4 and 5, respectively.

The model can approximate a variety of trip length distributions

with negative exponential (large β) and normal distribution (small β)

at the two extremes. In this small network with a moderate number

of travelers, the evolutionary process quickly reaches the equilib-

rium. As travelers travel farther away from origins to find activity

opportunities, it takes longer for the system to achieve the equilib-

rium. In all five scenarios, at equilibrium the shortest paths identi-

fied by the models are the real shortest paths between node pairs,

which is not surprising in a small network. As the ratio of number

of travelers to the size of the network decreases, some shortest paths

learned by the travelers in the model may be longer than the real

shortest paths, as will be seen in the next example. The selection of

the initial random seed for Monte Carlo simulation has almost no

impact on the resulting trip length distribution and shortest paths at

the equilibrium, probably because the large number of random deci-

sions and learning activities in the model tends to average out the

initial variability due to different random seeds.

Example 2: Chicago, Illinois, Sketch Network

and Model Calibration

In the second example, the agent-based travel demand model is applied

to the Chicago sketch network, consisting of 933 nodes and 2,950 links,

a fairly realistic yet aggregated representation of the Chicago region

developed by the Chicago Area Transportation Study (CATS) (1).

There are more than 1.26 million travelers in this test network accord-

ing to the trip generation data, with each traveler representing one

trip. The only coefficient β in the model is calibrated against CATS

1990 Household Travel Survey (HTS) data. The estimated travel time

FIGURE 2 Flowchart of evolutionary algorithm.

YES

NO

NO

NO

YES

YES

NO

YES

InitializationInitialization

All traveler goals

achieved? achieved?

End End

Update node i Update node i

Last node?Last node?

Update traveler w Update traveler w

Last traveler?Last traveler?

Update arc i-jUpdate arc i-j

Last arc?Last arc?

Collect statisticsCollect statistics

Specify number of travelers

and travel opportunities at

each node; all traveler

status = 0;

all node knowledge = noneall node knowledge = none

Get number of travel

opportunities at demand

nodes and update turning

guidance matrix Pguidance matrix P

If(status = 1), exit; else:

determine next node;

If(stay), status = 1;

else: move to the next node;

update searching path;

apply traveler-node

learning rule learning rule

Update arc flow and costUpdate arc flow and cost

All traveler goals

Specify number of travelers

and travel opportunities at

each node; all traveler

status = 0;

Get number of travel

opportunities at demand

nodes and update turning

If(status = 1), exit; else:

determine next node;

If(stay), status = 1;

else: move to the next node;

update searching path;

apply traveler-node