SATURN MANUAL (V10.
8)
Alternative Network Data Structures and Assignment Methods: Origin Based
Assignment (OBA) and Path Based Assignment
21. Alternative Network Data Structures and
Assignment Methods: Origin Based (OBA) and
Path Based Assignment
21.1 Network Data Structures
Traditionally SATURN has always stored network data required for the
assignment in arrays based on network links, e.g., Va. This is not to say that the
algorithms used such as Frank-Wolfe (7.1.2) only consider link-based data. For
example, Frank-Wolfe explicitly calculates and loads minimum cost paths (step (3)
in 7.1.2) in order to generate new sets of link flows; it does not, however, actually
store path flows explicitly since, for computational reasons, they are not required.
It is, however, possible to formulate alternative data structures in which additional
data is stored at a higher level of “disaggregation”. Thus we may store either:
(i) link-based data (as above),
(ii) path-based data,
(iii) origin-based data.
Thus under ii) we explicitly store information on every path generated plus its
assigned flow Tpij in addition to link-based data such as Va.
Origin-based data (BarGera, “Origin-based algorithm for the traffic assignment
problem”, Transportation Science 36(4), 398-417, 2002) is, in a certain sense,
intermediate between link-based and path-based in that it stores the link flows as
generated by each individual origin:
Equation 21.1
Vai Tij Pija
i
where Pija is the proportion of the trips Tij from origin i to destination j which use
link a.
Neither path- nor origin-based methods preclude link-based data: indeed link
flows may always be obtained by suitable summations of either path or origin
flows. The extra information stored may often be usefully applied to improve our
understanding of the solutions generated.
However, the main advantage of the alternative data structures is that they allow
fundamentally different assignment algorithms to be constructed which, as we
shall see below, have been shown empirically to be superior to link-based Frank-
5101396 / May 11 21-1
10_09_24_Section 21.doc
SATURN MANUAL (V10.8)
Alternative Network Data Structures and Assignment Methods: Origin Based
Assignment (OBA) and Path Based Assignment
Wolfe in a number of respects (although they also have disadvantages as
discussed below).
Path-based methods were investigated by Kupiszewska and Van Vliet at the
University of Leeds under EPSRC grants from 1998 to 1999 and made fully
operational within SATURN 10.4 (although documentation was only added later).
Various papers which describe both theory and empirical results are included in
Appendix H.
Origin-based assignment (OBA) was developed by Hillel BarGera, a PhD student
working with Professor Dave Boyce at the University of Illinois at Chicago in the
late 1990‟s. His work revolutionised traffic assignment in that his methods solve
for Wardrop Equilibrium solutions to an accuracy limited only by the numerical
accuracy of the computer and within comparable cpu times to existing algorithms
such as Frank-Wolfe.
OBA first became available in SATURN 10.5 through a collaboration with Hillel
BarGera and the University of Chicago but with additional licensing requirements.
The computer programs with OBA available are referred to as SATURN-OBA.
Background papers on OBA are included in Appendix G.
Since then, further theoretical and programming work has been undertaken by Dr
Yanling Xiang (Atkins) to extend the OBA algorithm to handle multiple-user class
(MUC) assignments. SATURN OBA (MUC) was previously available in Beta form
as part of SATURN v10.8 and was fully released with SATURN v10.9.
21.2 Advantages and Disadvantages
The main advantage, certainly of origin-based assignment, is that it provides
(virtually) exact solutions to Wardrop Equilibrium Assignment without requiring
either excessive RAM or excessive cpu. In other words, it enables the
assignments to converge perfectly (delta values approaching zero) as well as
(unless there are problems within the simulation) the simulation-assignment loops
to converge perfectly as well (Gap values approaching zero). It represents a major
break through in both theory and practice.
One particular application where exact solutions are essential is the perennial
problem of comparing a “do-nothing” network with a “do-something” network
where the “scheme” (i.e., the changes) is relatively small and its effects are liable
to be lost within the “noise” of two approximate solutions. OBA assignment is
capable of accurately assessing even very minor schemes such as the redesign
of a single junction or the generation of extra traffic from a small development.
See 21.8 for some examples.
A further potentially very useful application of OBA is in the area of “warm starts”
or “perturbations” where the solution to one network makes use of information
from a previous network. Warm starts can considerably reduce cpu time and, for
technical reasons, are less easily available with Frank-Wolfe. See 21.3 below and
22.5.1.
5101396 / May 11 21-2
10_09_24_Section 21.doc
SATURN MANUAL (V10.8)
Alternative Network Data Structures and Assignment Methods: Origin Based
Assignment (OBA) and Path Based Assignment
In addition all standard post-assignment analyses such as trees, forests, select
link analyses etc. are also available with OBA with the added advantage that the
solutions being analysed are exact, not approximations to previous solutions. In
addition the various problems created by “residual path flows” under Frank-Wolfe
are virtually non-existent under OBA and very much less common under path-
based algorithms (where social-pressure based algorithms, see Appendix H,
preferentially remove residual flows).
Path-based assignments, on the other hand, may significantly improve the
accuracy of an individual assignment but without, however, achieving the same
ultimate convergence as OBA. Nevertheless there are much more significant
improvements in carrying out perturbation assignment with path-based methods.
See 21.3 below.
Disadvantages, certainly for OBA, are due to limitations in the computer code
rather than to absolute theoretical restrictions. Whilst the previous limitation to
single-user class applications was overcome with the full release of the multiple-
user class version as part of SATURN v10.9 in September 2009, OBA cannot be
currently used for elastic assignment (and it is unlikely to be extended in the near
future).
The major practical problem with path-based assignment is the heavy requirement
for computer memory (RAM) to store the individual path information. This sets an
upper limit on the size of network that can be handled although as the available
RAM within computers increases through technological developments the upper
limits will increase correspondingly.
21.3 Perturbation Assignment (WSTART and/or IPERT)
We define a “perturbation assignment” as one which starts from a good initial
estimate of the final equilibrium flows and/or paths as opposed to, for example,
the Frank-Wolfe algorithm which (generally) starts from an initial all-or-nothing
assignment based on free-flow costs. (The UPDATE and RESTART options
within SATURN (see 15.3 and 15.4) may be thought of as “partial” perturbation
methods in that they start with improved cost-flow curves but they do not take
advantage of any initial o-d path information.)
Thus a perturbation assignment, whether it be link-, path- or origin-based, takes
as its initial assignment a solution which uses, as far as possible, the flows from a
previous assignment. The “new” assignment problem may differ from the “old” in
terms of changes to either: (i) the network topology (changes to the nodes and/or
links), (ii) network properties (e.g., changes to link costs) or (iii) the trip matrix - or
a combination of all three. By starting with a solution that is very much nearer to
the final solution than, say, a all-or-nothing solution very often leads to a
considerable decrease in the cpu time required to generate a well-converged
solution.
To request perturbation assignment either set WSTART = T under &OPTION in
the network .dat file or, optionally, set a parameter IPERT = 1 in &PARAM; both
have the same effect. There are, however, certain restrictions in that an OBA
5101396 / May 11 21-3
10_09_24_Section 21.doc
SATURN MANUAL (V10.8)
Alternative Network Data Structures and Assignment Methods: Origin Based
Assignment (OBA) and Path Based Assignment
perturbation is only possible if both the “old” and “new” networks have an identical
network structure in terms of nodes and links; path-based perturbations can
“translate” non-identical network structures.
21.3.1 Link-based Perturbation Assignments
Unfortunately it is not generally possible to carry out a perturbation assignment
using only link-based flow information (i.e., the traditional SATURN assignment
methods with MET = 0) since it is difficult to ensure that the perturbed assignment
is “feasible”.
Basically “feasibility” requires that an assignment assigns all the trips in the trip
matrix and does not have negative path flows. The former condition is relatively
simple to satisfy but the latter is more complicated. If, for example, we wish to re-
assign a trip matrix in which the number of trips from one O-D pair has been
reduced, say from 10 to 8, then, if we know all the previously used paths and path
flows, we can simply remove a total of 2 trips from one or more existing paths (the
most obvious method being to reduce all path flows by 20%). Equally if an O-D
pair goes from 10 to 12 trips then we could either increase all existing path flows
by 20% or, say, add 2 trips to the current minimum cost route.
If we only have link flows but no direct information on path flows we can certainly
deal with an increase in O-D flows by using the option of assigning the extra trips
to minimum cost paths which can then be aggregated into a set of incremental link
flows. However, if the O-D flow is decreased, then there is a danger that if we
remove the trips from a single path we may be creating a solution with negative
path flows (even if all the aggregate link flows remain non-negative). Such a
situation is extremely difficult to detect (or, to put it another way, it may take longer
to detect the problem than to carry out the new assignment from scratch).
There is one, not infrequent, situation where a link-based assignment may be
easily “perturbed” and that is the case where each O-D cell in trip matrix is
uniformly factored, in which case factoring all link flows by the same factor
guarantees a feasible solution.
21.3.2 Path-based Perturbation Assignments
On the other hand problems of feasibility are much easier to deal with under path-
based assignments. If there has been no change in the network structure between
the “old” and “new” networks then all path flows are simply factored by the ratio of
new to old O-D trips.
If, on the other hand, there have been structural changes then some “old” paths
may not exist in the “new” network. In this case the new flows are either divided in
proportion between those O-D paths which are still valid or, if none are valid, a
new path corresponding to the minimum cost is created and assigned 100% of the
O-D flow.
5101396 / May 11 21-4
10_09_24_Section 21.doc
SATURN MANUAL (V10.8)
Alternative Network Data Structures and Assignment Methods: Origin Based
Assignment (OBA) and Path Based Assignment
21.3.3 OBA-based Perturbation Assignments
Perturbation under OBA is broadly similar to that under path-based but, as of yet,
no provision has been made for structural changes to the network. Thus, if there
are no structural changes, node splitting proportions by origin are simply carried
forward to provide an initial feasible solution.
21.3.4 Advantages of Perturbation Assignments
Perturbation assignments may be extremely “powerful” techniques in that they can
produce extremely accurate solutions relatively quickly. We refer to the papers in
Appendix H for further details and numerical examples. (N.B. These papers are
based on path-based methods as opposed to OBA but, in principle, the same
methods can be used with OBA.)
21.4 Storing Path Files: UFO and UFQ
Since both path-based and origin-based assignment handle paths in different
ways from link-based they also have their own particular file structures for saving
path information. Thus, whereas link-based assignment stores the costs used at
every iteration in .UFC files in order to re-create paths (see 15.23.1), path-based
methods store paths explicitly in .UFQ files while OBA uses .UFO files (plus .ost
files – see 21.6 below) for the equivalent purpose. The precise structure of these
files need not concern the casual user – just don‟t delete them!
But if you do want to know more about .UFO files at least please see Section
22.5.2.
N.B. In order for either .UFQ or .UFO files to be explicitly created by SATALL the
Namelist parameter SAVEIT must have been set to TRUE in the network .dat file
(in the same way that a .UFC file is only stored under Frank-Wolfe when SAVEIT
= T). We note that it is also possible to create .UFO files under Frank-Wolfe (MET
= 0) as described in Section 22.5.3.
In principle this means that all the usual facilities within SATURN for analysing
paths post assignment such as select link assignment, o-d forests etc., may also
be invoked using path- and/or origin-based assignments, the only difference being
that the essential data is read from a file with a different extension. (See below for
minor exceptions to the rule.)
A further advantage to both path and OBA assignments is that any post-
assignment path analysis is identical to that used by the assignment, as opposed
to link-based methods where path analysis may be based on an approximation
(15.23.2). Thus time and distance o-d skimmed matrices as used for evaluation
purposes are exact, not approximate, so that the effect of any “noise” in the
solutions is further minimised. In addition (see 22.5.6) skimming a forest is much
faster in terms of cpu time under OBA than under Frank-Wolfe.
5101396 / May 11 21-5
10_09_24_Section 21.doc
SATURN MANUAL (V10.8)
Alternative Network Data Structures and Assignment Methods: Origin Based
Assignment (OBA) and Path Based Assignment
21.5 Practical Restrictions within SATURN
Both methods have various restrictions, although these are more of a temporary
and practical nature rather than theoretical restrictions. Thus both will only work
for a single user class and OBA will also only work for a fixed trip matrix (path-
based allows elastic demand models).
In addition, while virtually all “SAVEIT-based” analysis options described in 15.23
have been extended to use .UFP or .UFO files instead of .UFC., a few have not.
Thus OBA assignment cannot be used to generate cordoned matrices within P1X
(although they do work within SATCH) nor does it work with SATPIG.
21.6 Additional OBA Output Files
In addition to the .ufo file as mentioned above SATALL running under OBA
produces a number of other files whose primary function is diagnostic and which
normally need not be consulted by “non-expert” users. Thus, if the normal network
files produced by SATALL are net.ufs etc., then there are also:
Net.otb – summary table of OBA convergence measure in Tab delimited text
format. Each line represents one iteration, either main or inner iteration. The most
important columns are:
Main iteration index
Inner iteration index
Clock – CPU time in seconds
Objective function - the classical one (Beckmann et al., 1956)
Real Gap – between objective function and lower bound
Average Excess Cost* – weighted by route flow
Maximum Excess Cost* – over all routes included in restricting subnetworks
Average cost – from origin to destination weighted by route flow
* Excess Cost is the difference between the cost of the route and the minimum
cost for the same OD pair. It is always non-negative, and at equilibrium it is zero
for all used routes.
Net.ont – summary table of OBA restricting subnetworks statistics in Tab
delimited text format. Each line represents one main iteration. (Restricting
subnetworks change only in main iterations.) The most important columns are:
Main iteration index
5101396 / May 11 21-6
10_09_24_Section 21.doc
SATURN MANUAL (V10.8)
Alternative Network Data Structures and Assignment Methods: Origin Based
Assignment (OBA) and Path Based Assignment
Clock – CPU time in seconds
New links – sum over all origins of the number of new links added to the
restricting subnetwork.
Removed links - sum over all origins of the number of links that has been
removed from the restricting subnetwork.
Merge nodes – sum over all origins of the number of merge nodes, i.e. nodes
with more than one approach (entering link), in the restricting subnetwork.
Non-basic approaches – sum over all origins of the number of non-basic
approaches in the restricting subnetwork; where for every node one approach is
considered basic, and all others (if there are any, i.e. if it is a merge node) are
considered non-basic.
Net.olg – Log file in text format that includes various messages mainly for
software development and debugging. Please send this file with any support
request.
Net.ost - Stores the complete OBA solution in compact binary format as used by
program segments written in C. The same basic information is also stored in .UFO
files but these are used by programs written in FORTRAN. Thus P1X reads .UFO
files whereas SATALL, when run in “perturbation mode”, reads .ost files (See
15.46).
Net.ofn – Stores the complete OBA solution in expanded text format. (This can be
an extremely large file even for networks of modest size and it is normally
excluded.)
21.7 Practical Considerations
21.7.1 Parameters
The following parameters defined within the network .dat &PARAM records control
the choice of method / data structure plus various sub-options:
MET 0 Use link-based methods (Default)
1 Path-based
2 Origin-Based Assignment
IPERT 0 Non-perturbation assignment (Default)
1 Perturbation assignment
ISP 0 Path-based Frank-Wolfe algorithm (Default)
1 Social Pressure
2 “Enhanced” Social Pressure
5101396 / May 11 21-7
10_09_24_Section 21.doc
SATURN MANUAL (V10.8)
Alternative Network Data Structures and Assignment Methods: Origin Based
Assignment (OBA) and Path Based Assignment
N.B. IPERT and ISP only apply to path-based assignment, i.e., when MET = 1,
and therefore are virtually never required. To request OBA the only parameter
that needs to be set is MET = 2.
Alternatively, the choice of perturbation or not may also be set within &OPTION
using the logical parameter:
WSTART F Non-perturbation assignment (Default)
T Perturbation assignment (Warm START)
21.7.2 FTN95_NEW_MEMORY
In order to run OBA with relatively large networks (in practice this means virtually
all networks) an environmental parameter FTN95_NEW_MEMORY has to be
turned “on” such that the internal memory used by the OBA calculations (which is
programmed in C) is released and recycled when it is no longer needed. If this
parameter is not set then SATALL will almost certainly crash, in a random
manner, due to memory allocation problems.
Since the release of SATURN v10.9.12, the parameter is automatically set either
by SATWIN or within the SATURN (or SATALL) batch file so it should be
“invisible” to the user. However, if for any reason the versions of satwin.exe
and/or satall.bat being used are not up-to-date, problems may result. If you
encounter problems, please contact us in the first instance.
There may also be instances where the amount of memory required to store the
path information is beyond the physical limit available to individual programs
under 32-bit Operating Systems (circa 1.6Gb RAM). This has occurred once with
a very large network (i.e. 30000+ nodes, 1500+ zones, 7+ user classes and
mostly non-zero demand ij pairs). Again, if you encounter problems, please
contact us in the first instance and it is very likely that the model will need to be
run within a 64-bit operating system.
21.8 Examples of OBA Applications
To demonstrate the ability of OBA in particular to estimate the impact of very small
changes in networks and/or trip matrices we give three examples drawn from real-
life networks. These involve three networks:
A small (29 zone) buffer-only network of Headingley;
A combined buffer and simulation York network (176 zones);
An “anonymous” network known as “Inkton” (115 zones).
Small, totally artificial, “schemes” were introduced in all 3 networks as follows:
Headingley: a single pcu per hour was added to one particular O-D pair
(equivalent to 0.5 pcu‟s since LTP = 30 minutes);
5101396 / May 11 21-8
10_09_24_Section 21.doc
SATURN MANUAL (V10.8)
Alternative Network Data Structures and Assignment Methods: Origin Based
Assignment (OBA) and Path Based Assignment
York: an extra lane was added to a particularly congested simulation link;
Inkton: the traffic signal settings at a single junction were “optimised”.
Thus all three changes were relatively small, the first being to the trip matrix and
the last two to the network.
The changes were assessed by running all three sets of “before” and “after”
networks through SATURN under (a) Frank-Wolfe and (b) OBA, both with very
strict convergence criteria (e.g., NITA = 199, ISTOP = 100, NISTOP = 4, PCNEAR
= 0.2%).
Results for Headingley are given in Table 21.1. Thus we note that, from the OBA
results, adding one extra pcu/hr, has increased the total pcu-hrs by 0.39 whereas,
from the Frank-Wolfe results the extra trip has, counter-intuitively, reduced the
total pcu-hrs by 0.15. Given that the assignment delta values for OBA are roughly
3 orders of magnitude better than those for Frank-Wolfe we may safely assume
that the OBA results are the “correct” results. Thus, despite a relatively large
number of assignment iterations, the “noise” in the Frank-Wolfe solutions has
rendered the results somewhat meaningless.
We may also note that, although it is not highly relevant here, that OBA requires
many fewer iterations and roughly half the CPU time as Frank-Wolfe so that its
improved convergence is not simply the result of extra number crunching.
Table 21.1 - Headingley (Before and After)
Frank-Wolfe OBA
Before After Before After
PCU-hrs 443.14 442.99 442.45 442.84
Delta % 0.149 0.111 0.0001 0.0001
Iterations 199 199 30 32
CPU (secs) 0.8 0.8 0.4 0.4
Comparable results from York are given in Table 21.2. (The format is slightly
different from Table 21.1 since the York network contains a simulation component
so that we give assignment-simulation loops rather than assignment iterations and
add Gap values.)
The overall conclusions are similar to those obtained for Headingley. OBA
predicts a reduction in total pcu-hrs of 2.4 (as would be expected by adding an
extra lane on a congested road) whereas Frank-Wolfe predicts an increase of 6.0
pcu-hrs. Again one would interpret the discrepancy between the signs of the two
sets of figures as being a result of the increased “noise” in the Frank-Wolfe
solutions.
In this case OBA does require more CPU time than Frank-Wolfe (particularly, for
no obvious reason, in the after case).
5101396 / May 11 21-9
10_09_24_Section 21.doc
SATURN MANUAL (V10.8)
Alternative Network Data Structures and Assignment Methods: Origin Based
Assignment (OBA) and Path Based Assignment
Table 21.2 - York (Before and After)
Frank-Wolfe OBA
Before After Before After
PCU-hrs 4430.3 4436.3 4429.1 4426.7
Delta (%) 0.013 0.014 0.000 0.000
Gap (%) 0.019 0.012 0.001 0.004
Loops 37 39 31 68
CPU (secs) 170 177 234 551
Finally, results from ”Inkton” (not its real name!) are given in Table 21.3.
Somewhat paradoxically, given that the scheme locally “optimised” a set of traffic
signals, both OBA and Frank-Wolfe agree that total pcu-hrs will increase, by 8.5
and 5.4 respectively. Again, given that the OBA Gap values are an order of
magnitude better than Frank-Wolfe, we would assume that there is less “noise” in
the OBA results and that 8.5 is a better estimate. Frank-Wolfe is therefore “in
error” by 3.1 or 36.5%
In terms of cpu times three of the four runs were very close to one another, the
one exception being OBA After which took roughly twice as long.
We may note a further “interesting” feature of the Inkton results which is that
Frank-Wolfe and OBA have converged to two significantly different solutions, as
evidenced the differences in the total PCU-hrs (e.g., 6838.1 vrs 6977.1). Thus we
have an example of multiple equilibria which, theoretically, are certainly possible
within SATURN given the “interactions” between flows and delays at intersections,
although very difficult to predict. (Their existence in this network may be somehow
related to the fact that local signal improvements do not lead to global
improvements.)
We may further note that the two sets of equilibria appear to be “stable”, in that if
we start OBA off from the final Frank-Wolfe solution it converges to the same point
and, equally, if we start Frank-Wolfe off from OBA. In theory, it might be possible
for the before and after solutions to converge to different equilibria with the same
algorithm and therefore give very different benefits (/disbenefits) but, in this case,
it appears not to have happened.
5101396 / May 11 21-10
10_09_24_Section 21.doc
SATURN MANUAL (V10.8)
Alternative Network Data Structures and Assignment Methods: Origin Based
Assignment (OBA) and Path Based Assignment
Table 21.3 - Inkton Before and After
Frank-Wolfe OBA
Before After Before After
PCU-hrs 6838.1 6843.5 6977.1 6985.6
Delta (%) 0.0032 0.0033 0.0000 0.0000
Gap (%) 0.0030 0.0036 0.0001 0.0003
Loops 200 200 33 75
CPU (secs) 121 122 113 245
In general, we conclude that, for these relatively small schemes, the estimates of
benefits given by Frank-Wolfe are widely in error with 2 out of 3 having the wrong
sign. In addition the “correct” OBA results are obtained with broadly comparable
cpu times.
In practice, of course, schemes this small will be the exception rather than the rule
and we would expect that the influence of noise in Frank-Wolfe would decrease
(relatively speaking) as the magnitude of the benefits increased. Nonetheless it is
always reassuring for a modeller to know that results are as accurate as possible
across all schemes, not just for large schemes.
21.9 Further Information
Further information may be found in two European Transport Conference (ETC)
papers:
the 2009 paper entitled: „A New Implementation of Origin-based
Assignment in SATURN.“. A copy of the paper may be found in Appendix T.
and
the 2010 follow-up paper „The Practical Benefits of the SATURN Origin-
Based Assignment Algorithm & Network Aggregation Techniques‟. A copy of
the paper may be found in Appendix U.
5101396 / May 11 21-11
10_09_24_Section 21.doc
SATURN MANUAL (V10.8)
Alternative Network Data Structures and Assignment Methods: Origin Based
Assignment (OBA) and Path Based Assignment
21.10 Version Control
JOB NUMBER: 5101396 DOCUMENT REF: Section 21.doc
Revision Purpose / Description
Originated Checked Reviewed Authorised Date
1 Re-formatted (Final to DVV) TF / BG NS IW IW 06/05/06
3 Upgrade to V2 Template IW 22/06/06
3.2 Web release – Sept 06 DVV NP IW IW 08/09/06
3.3 Web release – Jan 07 DVV NP IW IW 04/01/07
3.4 SATURN v10.7 Release DVV NP IW IW 12/03/07
3.5 Web release – Jul 07 DVV NP IW IW 19/07/07
3.6 SATURN v10.8 Release DVV NP IW IW 26/01/08
3.7 Web release – Jul 08 DVV NP IW IW 07/07/08
3.8 Web release – Dec 08 DVV NP IW IW 12/12/08
3.8.21 Web release – Feb 09 DVV NP IW IW 16/02/09
3.8.22 Web release – Jun 09 DVV NP IW IW 16/06/09
10.9.10 SATURN v10.9 Release DVV DG IW IW 04/09/09
10.9.12 SATURN v10.9 Release (Full) DVV DG IW IW 22/10/09
10.9.17 Web release – Jun 10 DVV DG IW IW 22/06/10
10.9.22 Web release – Dec 10 DVV AG IW IW 06/12/10
10.9.24 SATURN v10.9 Release (Full) DVV AG IW IW 06/05/11
5101396 / May 11 21-12
10_09_24_Section 21.doc