![](bg5.png)
1
4
1
2
3
4
5
6
7
8
9
5
6
2
3
10
12
11
13
16
14
17
15
18
Figure 1: The simple network, showing the nodes and links.
of nodes):
OD-pair 1− 4 : {1, 2,5, 4}, {1,2, 5,6, 4}, {1,5, 4},
{1, 5,6, 4}, {1,6, 4}, {1,6, 5,4},
{1, 3,6, 4}, {1,3, 6,5, 4},
OD-pair 2− 4 : {2, 5,4}, {2, 5,6, 4},
OD-pair 3− 4 : {3, 6,5, 4}, { 3,6, 4},
OD-pair 4− 1 : {4, 5,2, 1}, { 4,6, 5,2, 1}, {4,5, 1},
{4, 6,5, 1}, {4,6, 1}, {4,5, 6,1},
{4, 6,3, 1}, {4,5, 6,3, 1},
OD-pair 4− 2 : {4, 5,2}, {4, 6,5, 2},
OD-pair 4− 3 : {4, 5,6, 3}, { 4,6, 3}.
To illustrate the step-by-step method we explain
our input data and give a detailed explanation of the
different steps in Algorithm 2 below.
Example 1 (The step-by-step approach) .
INPUT. It consists of the following list D of flows
to be observed (only link flows are observed in this
example):
D ≡ {v
1
,v
8
,v
10
,v
11
,v
12
,v
15
},
the initial matrix F, which has been obtained using
(1), and is given in Table 1, iteration 0, and as
partition of the flow variables H we take B as the
set of link flows, and C as the set of OD-pair flows,
respectively.
Step 0: Initialization step. We initialize the sets of
known flows to empty sets, that is, B =
/
0 and C =
/
0.
We show the initial sets B and C and their updated
versions B
∗
and C
∗
in the first rows and columns, re-
spectively, of the tables, and we distinguish the sets B
and C with boldfaced letters.
With all this, we have the initial observability
information in Table 1, iteration 0. Note that in this
and the following tables, the matrix F and the sets B ,
C , B and C are shown.
Next, we repeat the following steps for each flow
d
r
in the list D , starting with flow v
1
.
Step 1: Update observability matrix. Since the
flow v
1
is not in set C but is in set B , Algorithm 1
is used to incorporate the flow variable v
1
to set C.
To this end, we select the flow c
β
≡ t
1
of C to be
exchanged with v
1
, and update matrix F to F
∗
and
add v
1
to list C (boldfaced) (see the right part of
Table 1).
Step 2: Identify all known flows in set B . At this
stage, there are known flows b
k
∈ B , i.e. there are
rows of matrix F with null values in the columns of
unknown flows in C , {t
2
,t
3
,t
4
,t
5
,t
6
}. So, the flows
{t
1
,v
3
,v
5
,v
7
} are added to B .
Step 3: Return observability information. We
produce this information in the right part of Table 1.
Since repeating all the steps for all the iterations
would be too reiterative and space consuming, we
assume that we are at the beginning of iteration 4 (see
Table 3), i.e., when we will observe v
12
, and continue
with Steps 1 to 3, as follows.
Step 1: Update observability matrix. Since the
flow v
12
is not in set C but is in set B , Algorithm
1 is used to incorporate the flow variable v
12
to set
C. To this end, we select the flow c
β
≡ t
2
of C to be
exchanged with v
12
. Note that this is not the only
option, because there are other non-null f
αj
values
associated with the unobserved flows in C , such as
v
14
or v
15
. Then, we update matrix F to F
∗
and add
v
12
to list C (we boldface it, as shown in Table 3),
iteration 5.
Step 2: Identify all known flows in set B . At this
stage, there are flows b
k
∈ B which become known,
i.e. there are rows of the matrix F with null values in
the column of t
3
, the only unknown flow in C . In this
iteration, v
14
is the only new known flow added to B .
Step 3: Return observability information. We
return the information in Table 3, iteration 5.
Finally, in the next iteration all the flows become
known (see that in Table 4 all the flows are boldfaced).
Note also that the coefficients in this table permit
ICAART 2010 - 2nd International Conference on Agents and Artificial Intelligence
564