1¾ « ... CAN20LQDB @ šóÐ jy 9 8 @... Chapter 10

advertisement
1¾
«
gÊ
° 7 8 @ A A C:\WORD\NORMAL.STY
CAN20LQDB @ šóÐ jy 9 8
@ µ
Chapter 10
Advanced Modelling
Introduction
In the previous Chapters we have dealt with many aspects of the theory
and practice of System Dynamics. The illustrations we have used, such as
the DMC problem and the simple combat model, though not forgetting the
modelling case studies discussed in Chapter 6, used only some of the
simple techniques which are possible in System Dynamics modelling. The
reason for that was, of course, that we wished to reinforce the reader's
command of essential principles, without confusing the argument with too
much detail.
We have, however, hinted that System Dynamics has a practically limitless
range of applicability, a subject we shall explore more comprehensively
in the next Chapter. Such a range of potential topics means that
modelling problems are likely to be encountered which are beyond the
scope of the fairly simple equation structures which have been used so
far, so this Chapter will deal with ways of handling some of the more
complex problems which might be encountered. The underlying aim is to
show the reader what can be done so as to stimulate his understanding in
such a way that, when he encounters a problem which is not like those
considered here, he will be able to handle it. In a sense, this Chapter
is a modeller's handbook, though it is not to be confused with the User
Manual for a particular software package.
The best approach to using this Chapter will be, first, to review Chapter
5 and then to read this one quickly, without worrying too much about
detailed understanding of all the illustrations. Try, instead, to become
familiar with what it contains so that it can be referred to at need.
We must, however, add a strong note of caution. There is no merit in
making a model big and complicated just for the sake of looking
impressive or showing off one's modelling virtuosity. The larger a model
gets, or the more elaborate its equations become, the harder it is likely
to be to understand it oneself or to be able to explain it to others. In
general, small, simple models are always to be preferred. Sometimes,
though, circumstances call for more complexity and the aim of this
Chapter is to equip the reader to deal with such cases when they arise.
Before tackling some difficult problems, we must first deal with a simple
technique which will be used later.
Changes in a Variable
The essential skill in System Dynamics is to think in terms of time. To
emphasise that, recall that an auxiliary variable, VAR, is normally
denoted by VAR.K to indicate that it has a numerical value at TIME.K on
the time axis. As we saw in Chapter 4, it also had a value at TIME.J, but
that value is discarded when time shift and relabelling take place as the
old values are not usually of interest. However, as we shall see in the
next example but one, we might sometimes need to know whether VAR has
increased or decreased during the interval from TIME.J to TIME.K. Clearly
that means preventing the time shift from discarding the old value and
the only way to do that is to carry the old value forwards. To remember
an old value, we need a Level, because Levels are the memories of the
system.
The equations :
l oldvar.k=oldvar.j+(dt/dt)*(var.j-oldvar.j)
n oldvar=var
(1)
produce the desired effects, though the reader must write a small model
to prove that they do. They work because, as shown in Figure 4.4, the
Level, OLDVAR, is not recalculated until after the auxiliaries have been
computed. The rather inelegant DT/DT ensures that OLDVAR has the same
dimensions as VAR.
Equation 1 has the effect of introducing a delay of 1 DT in which the
previous value of VAR is carried forward without change. It is a perfect,
or pipeline, delay but, although most of the System Dynamics packages
have built-in functions for such delays they cannot be used in this case.
The delay has a magnitude and, as we saw in Chapter 4, the value of DT
must be less than the magnitude of the delay. To carry forward old values
requires the magnitude to be DT, and DT clearly cannot be less than its
own value.
We have illustrated this technique by using VAR as an Auxiliary variable,
but it will work perfectly well for the old values of a Rate or for a
Level. In the latter case the software has to be sophisticated enough to
sort the levels into their correct sequence. See Appendix A.
To record whether VAR has increased or not, we define two indicators,
VARUP and VARDOWN, and EPS for a very small number :
a varup.k=clip(1,0,var.k,oldvar.k+eps)
a vardown.k=clip(1,0,oldvar.k,var.k+eps)
(2)
(3)
and NOCHAN, for no change greater then +EPS or -EPS, :
a nochan.k=1-(varup.k+vardown.k)
(4)
Review of the logical CLIP function in Chapter 4 will show that equation
2 will give the value 1 to VARUP if VAR is greater than or equal to
OLDVAR+EPS, whereas equation 3 will give VARDOWN the value 1 in the
opposite circumstances. If neither VARUP nor VARDOWN is 1, equation 4
will make NOCHAN equal to 1.
Discrete Changes
Practically all of the models we have developed so far are truly
continuous, in the sense that the values of variables do not change by
discrete amounts (except for some STEP driving forces). Thus, the
Production Rate decision in the DMC model can result in variations in
Production Rate which are as small as necessary. In many practical
problems that is not plausible, so we need to allow for cases in which
Production Rate only changes in finite amounts, or not at all. This
problem will allow us to introduce a useful modelling trick, which is to
distinguish between Desired Production Rate, the rate of production
which, for example, the state of backlog calls for, and the Actual
Production Rate, the rate which will take account of the necessity for
finite changes.
Let PCHAN [WMS/WEEK] denote the size of the feasible steps in production,
caused, perhaps, by the necessity to operate each machine fully, or not
at all. Let DPR be the Desired Production Rate, calculated from the
equation used for Production Rate itself in the DMC model. DPR will,
however, be an Auxiliary variable, as it is now only a step towards
determining the real production rate. Let OPR be the previous Production
Rate, calculated using the method just discussed. Then :
r pr.kl=opr.k+pchan*int((dpr.k-opr.k)/pchan)
(5)
Working backwards from the right hand end of the equation, (DPR.K-OPR.K)
is the difference between the new requirement and the existing production
rate. Dividing by PCHAN gives the number of machines which need to be
activated. The INT function takes the integer part to ensure an exact
number of machines. When that is multiplied by the first PCHAN, the
result is the change in production rate, if any, to be added to OPR.
Equation (5) will always round production down to the next lower number
of machines. To round up or down to the nearest machine, use
(ipr.k-opr.k+0.5*pchan)/pchan
for reasons which the reader should work out for herself.
With equations such as 5, production changes still take place every DT.
The modelling of periodic production decisions is an exercise in Appendix
B.
Controls Within Limits
Background
We sometimes wish to trigger-off a control action only when a variable
lies between certain limits. For example, in some types of chemical
process, production can only take place if the reaction pressure is
within a safe range. If pressure falls too low, then production must
cease until it has been built up again, and, if pressure is too high,
production must again cease until the excess pressure has been
dissipated. We shall call this Case 1.
By contrast, in Case 2, the problem is that production can only take
place when some controlling factor is within the acceptable range, and
moving in a certain direction. For example, consider a bunker containing
a powdery substance. The bunker is being filled at the top from an
earlier stage of the process, and discharges at the bottom to a packing
machine. The purpose of the bunker is to ensure continuity of
manufacturing or packaging against temporary interruptions in the other
process. Such bunkers are usually capable of absorbing quite large
variations in the manufacturing and packaging rates, and are rather
costly to build. The problem is to design the size of the bunker and the
control policies for inflow and outflow.
The constraint is that packaging has to stop if the contents of the
bunker fall below a certain level; the bottom layer of the contents acts
as a cushion for the next batch of material to fall on. Once the
packaging process has stopped, it is not worth starting it again until
the bunker contents have reached a level high enough to ensure a
worthwhile packaging run. In short, the bunker can be allowed to
discharge to the packaging plant while the bunker level is between the
two limits, but only if the plant has not been stopped because the level
had reached the lower limit. If it had, the bunker cannot discharge until
the bunker level has again reached the upper limit.
General Approach
In general, it is better modelling practice to write an equation of the
form
r pr.kl=ipr.k*dv.k
(6)
PR=(Ton/Hour) Production Rate or Bunker Discharge
Rate
IPR=(Ton/Hour) Ideal Value for PR
DV=(1) Zero - one control switch
The advantage of this approach is that PR, IPR, and DV can all be printed
separately. This is a big help in debugging, and also allows us to see
exactly what is happening and why. If, for example, PR is 0 is this
because IPR is zero, which might be because the control policy is faulty
because of conditions elsewhere in the model, or because DV is 0, which
could suggest that the bunker is too small.
Naturally, it is usually rather more logical to define DVÿto be 1 when
the plant is operating, but the converse might occasionally be more
convenient, in which case we should need (1-DV.K) in equation (6). We
shall proceed on the former basis.
Equation for Case 1
The simpler instance of Case 1 is fairly easily handled by writing
a dv.k=clip(1,0,press.k,llim)*clip(1,0,ulim,press.k) (7)
If PRESS is greater than or equal to the lower limit then the first CLIP
will produce a 1. If PRESS is less than or equal to the upper limit, the
second CLIP will also produce a 1, and the resulting value of DV will be
1. In all other cases DV will be 0. For example, think through how these
CLIPs work if PRESS.K is greater than ULIM .
Note that if production stops when the pressure reaches one or other of
the limits, as opposed to being just below or just above, we have to
replace LLIM and ULIM by LLIM+EPS and ULIM-EPS, where EPS is some fairly
small number (say 1% of LLIM).
Equations for Case 2
Despite the similarity in the description in the Background section, this
Case is rather more subtle and requires more complex handling.
The dynamics of the bunker level are shown in Figureÿ10.1.
From time 0 to t1 the bunker level is falling from the upper limit to the
lower, and discharge is taking place. At t1 the bunker level touches the
lower limit, discharge is stopped, and DV has to change from 1 to 0.
Between t1 and t2 the bunker fills up, though not necessarily regularly,
and at t2, having reached the upper limit, DV changes again from 0 to 1
and discharge recommences. It is this change in the value of DV which
will provide us with the clue to modelling this control process.
Notice that the level in the bunker might exceed ULIM, which is not the
physical top of the bunker, but it ought not to fall below LLIM; such
logic is a good way to
identify tests of whether or not a model is working correctly.
We shall use DR for Discharge Rate, IDR for Ideal Discharge Rate, which
need not concern us, and DV for the control variable.
Equation 7 would not be satisfactory. It would allow correctly for the
period from 0 to t1, but as soon as the bunker level again exceeded LLIM
discharge would restart, which would not be correct between t1 and t2.
Further, it would stop discharge when the level exceeded ULIM. In that
situation the inflow rate would continue until the bunker was physically
full, at which point inflow would have to stop. One would then have a
full bunker, but no outflow, which would be ridiculous.
We therefore start by building up the equation in pieces. First, put
a dv.k=clip(1,0,blev.k,llim+eps)
(8)
BLEV=(Ton) Contents of the Bunker
LLIM=(Ton) Lower Limit
EPS=(Ton) A small number.
This allows the discharge to occur as long as BLEV is, say, 1% above the
lower limit.
Now introduce ODV, the Old Value of DV, given by:
l odv.k=odv.j+(dt/dt)(dv.j-odv.j)
(9)
The next step is to combine equations 8 and 9 so as steadily to improve
the validity of the formulation. This gives
a dv.k=clip(1,0,blev.k,llim+eps)*odv.k
(10)
Equations 10 and 9 will ensure that DV=1 between 0 and t1, as it should
be. At t1, BLEV reaches LLIM and DV then goes to 0. At the next DT, BLEV
has risen, because of inflow, so the CLIP in equation 10 tries to produce
a 1, but that is driven back to zero because equation 9 carries forward
the value DV = 0 from t1. With equation 10 as it stands DV would stay at
0 from t1 to t2 and now we need a method of forcing it back to 1 at t2
when BLEV reaches ULIM. That can be done by using
clip(1,0,blev.k,ulim)
(11)
If, however, we simply added the CLIP from equation 11 to equation 10 to
get a composite equation for DV, i.e.
a dv.k=clip(1,0,blev.k,llim+eps)*odv.k
x +clip(1,0,blev.k,ulim)
(12)
we should still be in error. At t2, the second CLIP will generate a 1, as
we require. One DT later, ODV will also be 1 so the 1 generated by the
first CLIP will be allowed through and DV will go to 2, thereby doubling
the ideal discharge rate. In the author's experience, this kind of error,
which will produce quite fallacious dynamics in the model, is likely only
to be found by careful study of printed tables of model variables and may
well not be seen simply by looking at graphs on a screen. See the review
of software packages in Appendix A.
The reader may, however, have seen already that the full solution is to
put
a dv.k=clip(1,0,blev.k,llim+eps)*odv.k
x +clip(1,0,blev.k,ulim)*(1-odv.k)
(13)
At t1, the second CLIP produces the required value of 1, but the first
CLIP is suppressed because ODV = 0. One DT after t1, ODV = 1 and control
is passed back to the first
CLIP, where, logically, it belongs.
Methodological Comment
The full solution is, therefore, to use equations 13 and 9 but ODV, being
a level, requires an initial condition, or N equation. To put
N ODV=DV
(14)
would create a pair of simultaneous initial conditions because DV depends
on ODV in equation 13. We must therefore put either 1 or 0 in place of DV
on the right hand side of equation 14, carefully choosing which is to be
used in the light of the initial value of BLEV.
De-bugging
When using formulations such as this, it is a good plan to run the model
and see whether BLEV passes its critical points. Knowing that, one then
arranges for a print out every DT in those regions, and carefully watches
what is happening.
Explanatory Comment
We have explained the equations for Case 2 at some length, showing how
the key equation 13 can be evolved in such a way as to produce the
behaviour we require. The purpose in explaining the equation in such
detail was to remind the reader that equations do not just appear as the
result of a mental leap. They can be built to do the required job, and
that is what modelling is about.
We have also explained the solution at some length to try to illustrate
yet again the pattern of thought involved in System Dynamics modelling.
The trick is to learn to think of changes against time.
Modelling Market Share
Background
The DMC model deals only with production and raw materials management
problems; New Orders, NO, being treated as an uncontrollable exogenous
input which, indeed, it is from the point of view of the two managers
concerned. From the wider point of view of the firm as a whole, however,
that is manifestly not true. DMC is, in fact, very aggressively marketorientated and spends considerable sums of money on promoting its market
share. This example suggests a simple approach to modelling the effects
of spending to build and maintain market share. At the end of the example
we shall relate that to a wider model of the firm as a whole.
DMC can promote market share by, for example, spending money to develop
new consumer products, supporting a network of dealers to sell their
products, and by straightforward advertising and promotion in the media,
at exhibitions and so on. We shall group all these together into Market
Share Spending, MSS, measured in $/MONTH. The inherent assumption is that
DMC's marketing people are, on average, competent to do these things and
to get the right balance between them within the overall amount of MSS.
The purpose of a wider corporate model would be to study the overall
dynamics of the firm, the detailed market spending decisions being left
to ordinary managerial choice, or to be analysed by other models, not
necessarily of the System Dynamics type.
The Market Share Equation
We have to allow for the obvious fact that, if DMC completely stopped
spending money on propping up its market share, customers would
eventually stop buying its products. In a sense, money spent some time
ago to 'buy' market share ceases, after a time, to have any effect; the
market share it then bought having, as it were, decayed. Market Share,
MS, can therefore be thought of as an ordinary Level, which is
replenished by spending and depleted by decay :
l ms.k=ms.j+dt*(rgms.jk-rdms.jk)
n ms=0.25 for instance
(15)
MS=(1) Current Market Share
RGMS=(1/Month) Rate of Growth of Market Share
RDMS=(1/Month) Rate of Decay of Market Share
The Decay of Market Share
One way of modelling the decay of Market Share, RDMS, is by analogy with
the half-life of a radioactive substanceÿ:
r rdms.kl=ms.k/mslt
(16)
MSLT=(Month) Market Share Lifetime, or duration of
effect of money spent on buying market
share
An alternative could be used if market share was much more strongly
influenced by the introduction of transient new products, such as
cosmetics. In such a case it might be more reasonable to use :
r rdms.kl=delayN(rgms.jk,plt)
PLT=(Month) average lifetime of a product
(17)
with the value of N being chosen to represent the market characteristics
and as an average over the range of products in question. Review the
cascading of delays to produce an overall delay of any desired order or
see the different types of delay available in the software package you
are using. For instance, COSMIC has about 6 methods of representing
delays; other packages have their own versions of delays.
Growth of Market Share
It is clear that RGMS is the key variable. One approach would be to
estimate the spending required to maintain a given level of market share.
Suppose it turned out that the firm has averaged, say, $50000/month of
market share spending over the past 12 months, which we denote by AMSS,
for Average Market Share Spending, and that market share has been broadly
stable at about 25%. It is also necessary to make some estimate of MSLT,
the market share lifetime. That might be done by analysing data on sales,
though managers will usually have strong views as to what it is. Let us
suppose that the consensus is that MSLT is 36 months. If MS has not
changed very much, then the AMSS of $50000/month must be just about
replacing the decay. We can thus say that, over the last year,
rgms=rdms=0.25/36=0.0069
when AMSS=$50000/month.
To deal with what happens when AMSS is not $50000/month we use a nonlinear relationship :
r rgms.kl=tabhl(tmsgr,amss.k,0,100000,50000)
t tmsgr=0/0.0069/0.01042
TMSGR=(1/Month) table of
of market
values of
Spending,
values for rate of growth
share for different
Average Market Share
AMSS.
Recalling the discussion of non-linear tables in Chapter 5, these
equations allow AMSS to range from 0 to 100000 $/month, in steps of
50000. The value of 0 in TMSGR is RGMS when AMSS=0, and the 0.0069 is the
value at 50000 $/month, which we have just estimated. The final value of
0.01042 is based on a conversation with the Marketing Director, who feels
that Market Share would be 50% higher (0.375) if spending was doubled,
but no amount of spending would take MS above that. Using the same
calculation as before
rdms=0.375/36=0.01042
when AMSS=$100000/month. It might be possible to make estimates of the
effects of spending $25000 or $75000 per month, in which case TMSGR could
be made more precise.
The TABHL function in COSMIC is a special form of non-linearity which
uses the first or the last value in the table statement if the argument,
AMSS, falls below or goes above its stated limits, thus putting
horizontal 'tails' onto the non-linear curve. Other System Dynamics
software packages may have similar facilities. If spending falls between
the pairs of table values, the software packages interpolate between the
data in the table statement.
The Validity of the Data
We are not in any way justified in giving these 'data' to four figures,
given the crudity of the sources, and the model is clearly likely to be
imprecise. In a practical case one would be very careful about
sensitivity testing to see if the policy recommendations changed very
much with changes to these values. The purpose in this example is to
suggest some approaches to a difficult problem.
Two Meanings of 'Market Share'
The 'Market Share' we have modelled is the prior Market Share; the
proportion of people in the market who would have DMC's product as their
first choice. This is in contrast to the posterior Market Share; the
proportion of goods sold which are actually DMC's products. Posterior
Market Share is what is usually measured by market share statistics,
because it represents known sales actually made, whereas the Prior share
is an unmeasurable preference. Clearly, DMC could run the risk of
managing its marketing perfectly and building up a very satisfactory
prior position, but failing to achieve that as posterior market share
because, say, they failed to manufacture the goods at the right time. As
always, the problem is one of strategic balance between manufacturing
strategies, capital investment in production plant, market share
management, and much else. Corporate models are intended to help get that
dynamic balance right.
A Corporate Model for DMC
One can now see that a variable such as Production Rate is the generator
of the cash which fuels DMC's other activities. The cash is drained by
expenditure on people, materials, marketing, capital investment and many
other demands. The policy issues are to deal with the competition between
different demands and to control variables such as the price of DMC's
products. We shall study some of these problems as the Chapter unfolds,
modelling, for example, a set of company accounts. The reader will,
however, find it useful to pause and draw an outline Influence Diagram,
at about level 2 or level 3 in the cone, of a corporate model for DMC.
The trick will be not to let it get too detailed.
Other Applications of this Approach
The approach suggested in these equations can, with care, be used to
model such factors as 'morale', 'technology' and similar variables.
Forecasting Growth and the Business Cycle
Background
A company makes forecasts in March which are used to plan capital
expenditure for the year starting in the following January . These plans
take months to prepare and are approved or rejected at a Board meeting
held in December. The forecasting horizon, denoted by FHOR, is 36 months
and is measured from December. From the Board's point of view they are
considering plans for 3 years ahead because that is the time that it
takes to build plant, but the forecasters are actually working on a 45
month horizon. The problem is to assess how serious are the errors which
inevitably exist in the forecasts. This might help the company to decide
whether to spend considerable sums of money on more economic research in
the uncertain hope that the forecast 'accuracy' might be improved. The
alternative is to design policies for capital investment which are less
sensitive to forecast errors and, therefore, less likely to cause
problems for the company when the forecasts turn out to have been wrong.
To give
have to
reflect
centred
the company's management confidence in the model, event times
be represented accurately and the forecast equation has to
the general level of demand over a span RANGE months wide,
on FHOR (i.e. 36) months from the Board meeting.
The demand pattern for the system is exponential growth at SLP [%/month]
with a superimposed Business Cycle. The forecast must take account of
1. Errors in the forecast of SLP
2. Errors in forecasting the business amplitude
The Equation
The equation is:
a
fcast.k=blev.k*exp(slp*sfe.k*(fhor+fts))
x
x
x
x
*(1+amp.k*bcme.k*(sin(6.283*(time.k+fhor+fts
-range/2)/nbcp)+sin(6.283*(time.k+fhor+fts)
/nbcp)+sin(6.283*(time.k+fhor+fts+range/2)
/nbcp))/3)
(18)
where
FCAST=(Unit/Month) Demand Forecast
BLEV=(Unit/Month) Actual Demand at time of making
forecast
SLP=(%/Month) Rate of growth of Actual Demand
SFE=(1) Multiplier to represent errors in forecast
of SLP
FHOR=(Month) Forecasting horizon measured from
December
FTS=(Month) Number of months from forecast being
made in March to its nominal base point
in December
AMP=(1) Actual Business Cycle Amplitude
BCME=(1) Multiplier to represent error in
forecasting the Business Cycle Amplitude
RANGE=(Month) Span to be represented in the forecast
NBCP=(Month) Normal value of Business Cycle Period
TIME=(Month) Current time in model.
Equation 18 breaks down as follows:
BLEV gives the starting point
EXP (...) multiplies BLEV by the expected growth over the next
FHOR+FTS months - the actual forecasting horizon - taking account of SFE
to represent, say, optimism if SFE >1.
(1+AMP.K*BCME.K) represents the usual amplitude factor in a sine
wave, modified by magnitude error. If BCME > 1 the cycles are being
predicted to be larger than they actually will be.
The three SIN (...) terms calculate where the business cycle will
be at, in turn, the nominal forecasting point minus half the range, the
point itself, and the point plus half the range.
The final division by 3 averages the three sine points - note
carefully the location of all the ( and ) - to give a general demand
level.
The assumption in equation 18 is that the duration of the cycle is
forecast perfectly. To relax that assumption, replace NBCP by
(NBCP*DFE.K) where DFE> l would represent the length of the cycle being
overestimated. Note that replacing NBCP by NBCP*DFE.K would NOT be
correct because without the ( and ), DFE would multiply the whole
equation, not just NBCP.
Freezing of Data or Forecasts
It often happens that the data or forecasts on which a decision is to be
based are fixed some time before the actual decision is made. For
example, accounts represent the state of the firm at December 31st but
are not available for decision-making until March 31st because of the
time needed to finalise the calculations. The problem in a System
Dynamics model is that a variable such as a Forecast, FCAST, is
calculated every DT but has to be held over or 'frozen' from the data
freezing time to the decision-making time. In Figure 10.2, FFT
represents the time at which the forecast is frozen and DMT the time at
which the decision is made. For illustration FFT = 3 months (end of
March) and DMT = 10 months (end of October). Further, suppose that the
outcome of the decision making is, say, a Planned Project Start Rate,
PPSR, which is selected at DMT but is not actually operative until DET,
the decision execution time (say month 12, the start of the next year)
because of the time needed to sign final contracts.
A1 represents the forecast frozen at TIME = 3, the first FFT, and held
until TIME = 10, the first DMT. B1 is the outcome of the decision - the
Impending Planned Project Start Rate - waiting to become PPSR for Year 2
at TIME = 12, the first DET. On the diagram, B1 is much higher than A1,
because of the need to expand capacity.
The process continues however, so that at TIME = 15 a new forecast A2 is
made and held for the forthcoming second DMT at TIME = 22. In turn this
generates B2, the PPSR which will come into force at TIME = 24, the end
of Year 2 and the start of Year 3. B2 turns out to be lower than A2,
because the previous expenditure on B1 has left the company short of
money to invest. This is a good example of the way in which output from a
corporate planning model helps one to diagnose weaknesses in company
policies, in this case a tendency to overinvest.
Let FFINT be the interval between freezing
between Decision Making Time, and DEINT be
Execution Times. After the first year they
start at the right time. We no longer need
of forecasts, DMINT be the gap
the gap between Decision
are all 12 but they have to
to distinguish between A1
figure 10.2
and A2 and between B1 and B2 as we did in the diagram. Note that the
equation for B.K uses variable sampling times, a problem which appears in
Appendix B.
a
a
c
c
a
a
c
a
a
c
a.k=sample(fcast.k,ffint.k,fcast.k)
ffint.k=clip(mpy,fft,time.k,fft)
fft=3
mpy=12
months per year
b.k=sample(f(a.k),dmint.k,f(a.k))
dmint.k=clip(mpy,dmt,time.k,dmt)
dmt=10
ppsr.k=sample(b.k,deint.k,b.k)
deint.k=clip(mpy,det,time.k,det)
det=12
Note that F(A.K) in the third equation denotes an expression involving
A.K. In a real model that expression would have to be written explicitly.
As long as DET=12, the equation for DEINT is superfluous but, of course,
there may be value in choosing some other DET.
Financial Accounts
Background
Many models of business problems contain equations for the financial
accounts and the balance sheet of the firm. They indicate corporate
performance and can be used to derive the various financial ratios,
either as further indicators of performance or as the initiators of
control actions, such as cutting back on desired inventory when liquidity
falls below a 'safe' level.
This example shows how such equations can be built up.
Caution 1
It is essential to point out that the accounting practices used in
business firms differ somewhat from one to another and between countries.
The equations which are produced below are only a guide; they are not a
definitive treatment of the topic.
Caution 2
The level of detail required in a model depends on its purpose and one
should not assume that a model of a business firm must have an accounting
sector. The case for including such a sector must be carefully
established, and then the proper level of detail must be chosen.
The equations in this example may need appreciable revision to fit the
circumstances of a particular problem. In, perhaps, three cases out of
four, the equations actually used will be a good deal simpler than those
given here. While the modeller who simply copied out our equations would
save himself effort, he would lose a good deal of the insight to be
gained from equation development and that loss would outweigh the saving.
Caution 3
It is, in all circumstances, absolutely essential to include an equation
of the form
a check.k=ta.k-tl.k
(19)
CHECK=($) Difference between Total Assets and
Total Liabilities
TA=($) Total Assets
TL=($) Total Liabilities
We referred in Chapter 4 to the simile of the Levels as the accountants
in a model and check variables as the auditors of those accounts. In this
context the simile is exact.
In practice, TA and
as much as 109, and
could be about 10-4
is larger than this
TL will often be at least in the order of 106 or even
rounding error in most computers will mean that CHECK
(not 104, but 10-4). If the absolute value of CHECK
there is almost certainly something wrong.
Stocks and Flows
One of the main problems in developing accounting equations is the proper
identification of the stocks and flows, or Levels and Rates, in the
system.
The second principal headache is to establish the difference between the
flows in the system and their resultant accumulations, and the
calculations of accountancy concepts, particularly Profit and
Depreciation. Unless care is exercised, it can be very easy for double
counting to occur, or for something to be missed altogether. It is the
purpose of the CHECK variable to act as a signal such errors and the
responsibility of the analyst to make sure she watches for CHECK's
signals.
Are Rate-dependent Rates Permissible ?
A third difficulty is carelessness over the use of Rate-dependent Rates
or, even worse, Rate-dependent Auxiliaries.
It is a definite mistake in modelling to write an equation such as
r prod.kl=orders.kl
(20)
where PROD is the Production Rate and ORDERS is the rate at which orders
are being received from customers, because .KL refers to the future so
equation 20 says that production can be decided on the basis of orders,
even before those orders have been received. In this case it would be
correct to put
r prod.kl=f(avord.k)
(21)
with, perhaps, the usual inventory correction terms, where AVORD is a
smoothed level variable giving the average of orders over some smoothing
period TAOR.
It would, on the other hand, be rather silly to do anything other than
r sr.kl=price.k*ssr.kl
(22)
SR=($/Week) Sales Revenue (this is the flow of
invoices which, after a collection
delay, will become the main Cash Inflow
to the company)
PRICE=($/Unit) Price
SSR=(Unit/Week) Rate of Sending Shipments to
Customers
SSR will have its own equation, involving factors such as Inventory,
Order Backlog and so forth, and it would be a waste of space and effort
to replace SSR in equation 22 by the function of those factors which
defines SSR somewhere else in the model.
The modeller should always look carefully at equations in which one rate
depends on another. He should consider, honestly, whether such an
equation is a piece of lazy and incorrect modelling, as equation 20 is,
or whether, as is the case with equation 22, it legitimately saves time
and effort. We shall use numerous rate-dependent-rates in this section
and each should be critically assessed.
An equation of the form
a aux.k=f(rate.kl)
(23)
is always a fundamental mistake, even though a System Dynamics software
package might accept it without complaint. It violates the physical
reality of the principle that control can be exerted only from a level
without the justification of equation 22 of being a genuine short cut and
time-saver. In general, an equation of the form of 23 is strongly
indicative of poor understanding either of the system being modelled, or
of System Dynamics modelling, or both. It should engender deep suspicion
of the validity of the results, because the model is not soundly
constructed, no matter how well suited it may be to its purpose.
After that admonition, which is born of deep experience of the way in
which fallacious models are produced, we now attempt to develop the
financial equations.
The Cash Equation
The best place to start is with the variable
CASH=($)
Cash Balance at Company.
This is usually taken to mean actual cash and short-term interestproducing deposits made by the company, such as overnight loans. It is
rarely worth bothering with explicit modelling of the latter
transactions, unless the financial side of the company is the main object
of the model.
The typical components of the cash inflow and cash outflow are shown
below, though not all of these will occur in every model.
Inflows:CCR=($/Week) Cash Collection Rate, a delayed version
of Sales Revenue
DAR=($/Week) Debt Addition Rate
IRR=($/Week) Interest Received Rate
NSIR=($/Week) New Share Issue Rate
Outflows:MBPR=($/Week) Materials Bills Payment Rate
WPR=($/Week) Wages Payment Rate
OHER=($/Week) Overhead Expenditures Rate
DRR=($/Week) Debt Repayment Rate
IPR=($/Week) Interest Payment Rate
TPR=($/Week) Tax Payment Rate
DIV=($/Week) Dividend Payment Rate
CAPEX=($/Week) Capital Expenditures on New Plant (It
is usual to ignore the inflow from
the sales of scrapped plant)
TAX=($/Week) Taxes Paid
The time unit for the model needs to be carefully chosen. Depending on
the total period to be simulated, months or even years may be more
appropriate than weeks.
All these variables should normally be rates and the easiest method is to
put
l cash.k=cash.j+dt*(inflow.jk-outflow.jk)
(24)
r inflow.kl=ccr.kl+dar.kl+.....
(25)
r outflow.kl=mbpr.kl+wpr.kl+...
(26)
with
where equations 25 and 26 are continued for exactly as many terms as can
be justified in the particular model. INFLOW and OUTFLOW should be
printed out, as should all the variables; it is impossible to verify that
a model is behaving correctly and for the correct reasons simply by
studying graphs. We return later to the problem of suitable initial
conditions for CASH and the other level variables.
The Balance Sheet
The components included in a Balance Sheet, and their level of detail,
vary quite considerably between companies. We shall consider a typical
case as requiring the following variables, all of which are measured in $
and all of which, except TA and TL, can, for the moment, be assumed to be
levels, though later we shall amend that as we disaggregate to a degree
of detail which may prove to be necessary in some cases.
TA Total Assets
TL Total Liabilities
CASH
+
RC
+
MVI
SHC Shareholders Capital
+
RTP Retained Profit
+
DEBT Total Debt
+
FA
Cash
Receivables
Monetary Value
of Inventory
Fixed Assets
+
CL Current Liabilities
Clearly
a ta.k=cash.k+rc.k+mvi.k+fa.k
(27)
a tl.k=shc.k+rtp.k+debt.k+cl.k
(28)
and
with, repeating equation 19,
a check.k=ta.k-tl.k
(19)
We now deal in turn with each of the components, apart from CASH already
mentioned above.
Receivables(RC)
l rc.k=rc.j+dt*(sr.jk-ccr.jk)
(29)
r ccr.jk=delay3(ssr.jk,rcd)
(30)
RC=($) Accounts Receivable
RCD=(Week) Receivable Collection Delay.
SR was discussed in equation 27.
Here we see the first example of a System Dynamics formulation of basic
accountancy principles. Cash Collection Rate is debited from RC in
equation 29, and simultaneously credited to CASH via equations 25 and 24,
CHECK remaining undisturbed.
Monetary Value of Inventory (MVI)
A simple approach is to group together the valuation of stocks of raw
materials, work in progress, and finished goods, into one overall
category. We then have
l mvi.k=mvi.j+dt*(rmbr.jk+wpr.jk+oher.jk-cgs.jk)
(31)
MVI=($) Monetary Value of Inventory
RMBR=($/Week) Rate of Receipt of Bills for Raw
Materials
CGS=($/Week) Cost of Goods Sold
Note that Overhead Expenditure Rate, OHER, appears as a credit to MVI
providing the firm is using a full costing system. The Cost of Goods Sold
is calculated from the Average Cost per unit (usually with some allowance
for wastage) and the Shipment Sent Rate, using either a Last-in-firstout, LIFO, or First-in-first-out, FIFO, valuation method.
MVI is debited by CGS, but CASH is eventually credited by Cash Collection
Rate, CCR, which ought, generally, to be larger than CGS, or the firm
will be in trouble. This difference, which is profit, is going to
unbalance TA and TL unless we take accountants' steps to balance up the
liability side of the balance sheet, which we do below when we consider
Retained Profit.
Fixed Assets (FA)
The accountancy term 'Fixed Assets' means the monetary value of the
assets, not their physical capacity.
This is dealt with very easily by putting
l fa.k=fa.j+dt*(capex.jk-depr.jk)
(32)
FA=($) Value of Mixed Assets
DEPR=($/Week) Financial Depreciation
Note that Capital Expenditure, CAPEX, debits CASH and credits FA, but
DEPR does not credit CASH except indirectly through the mechanism of
PROFIT, discussed below. This is in accordance with the System Dynamics
principle of carefully tracing actual flows as they occur. In this case,
DEPR does not itself actually involve money changing hands. It only
functions as something the tax authorities use to calculate how much
money will flow from the firm to the Government in the form of Taxes.
Equation 32 is easily disaggregated if one treats FA as the integral of
CAPEX, and uses cumulative depreciation, CDEP, as the integral of DEPR.
One then has Net Fixed Assets, an auxiliary variable, in the balance
sheet as the difference between FA and CDEP. We can, of course, use DEPR
in the model as a component of so-called 'Cash Flow', but as a managerial
variable, perhaps affecting CAPEX, not as an accounting record of money
changing hands.
Shareholders' Capital (SHC)
This is the original paid up capital of the firm, which can be increased
only by floating new share issues, a comparatively rare event the
modelling of which is not for the faint hearted.
To keep the book equations straight we can put
l shc.k=shc.j+dt*nsir.jk
(33)
though New Share Issue Rate, NSIR is usually going to be constant at
zero.
Profit, Dividends and Retained Profit
There are several ways of calculating profits, and it is essential to
bear in mind the clear distinction between two aspects of profits. In the
first place, 'profit' is an accountants' record of the past, and in the
second it is a managerial calculation which is used to regulate future
actions, such as investment. It is the first of these which we are
concerned with here, and we note that, as all the other flows have been
treated as occurring instantaneously, we must treat profit in the same
way. This is a perfectly legitimate approximation to what the accounting
system does which gives us, as we shall see, instantaneous and continuous
payment of taxes and dividends. It is not usually worth the extra effort
to model details such as the bi-annual payment of dividends, but is
fairly easy by following the approach we are using here.
It is not a legitimate approximation to use continuous profit as a
managerial variable influencing decisions. For that purpose one has to
create a new variable called 'Average Profit', otherwise one would have,
by implication, a rate-dependent rate such as
r capex.kl=f(profit.kl)
(34)
Equation 34 is definitely wrong for the same reason that equation 20 was
fallacious, since it implies that CAPEX can be controlled by a variable,
PROFIT, which is inherently unobservable.
It may well be asked why the rate variable, PROFIT, can be used in the
accountancy part of the model but not in the decision-making part? If it
is observable in one place, why not in the other? The answer is given
above, but bears repeating because it is such an important aspect of good
modelling practice. PROFIT is used as an approximation to control
payments of taxes and dividends, and we could refine the calculation to
improve the approximation as far as it was worth the effort of doing so.
In the managerial case, we have to use Average Profit (or cumulative
profit over a period) because, if we do not, we :
1. Say that managers can do something which cannot be done, namely
control on the basis of an unobservable factor.
2. Deny ourselves access to the averaging period as a control
parameter.
3. Fail to represent a significant aspect of the managerial
process.
Returning to the accounting equations, we can calculate
r profit.kl=sr.kl-cgs.kl+irr.kl-ipr.kl-depr.kl
(35)
Recall that IRR and IPR are interest received and paid, and note that, if
CGS does not include OHER, it would be brought into equation 35. We then
have
r tax.kl=taxr*profit.kl
(36)
where TAXR is the taxable fraction. A little care is needed here if
PROFIT is negative, depending on whether the loss can be offset or not,
and we ignore the detail of whether the Company has to deduct personal
taxes from dividends. We then have the important variable
r rrtp.kl=(1-taxr)*profit.kl-div.kl
(37)
where
RRTP=($/Week) Rate of Retaining Profit
and finally have
l rtp.k=rtp.j+dt*rrtp.jk
(38)
Clearly, RRTP is the factor referred to earlier which prevents the
earning of profits from unbalancing the assets and liabilities.
Debt
Debt is easily handled, and has clear links with CASH.
l debt.k=debt.j+dt*(dar.jk-drr.jk)
(39)
and DAR and DRR are respectively inflow and outflow components of CASH.
Again, we see the System Dynamics representation of standard balance
sheet processes whereby, if some debt is taken out, DAR is positive, and
both DEBT and CASH, on opposite sides of the balance sheet, increase by
equal amounts, as ensured by equations 24 and 25.
Current Liabilities
The principal current liability (or 'Accounts Payable' or 'Creditors'
depending on the accountancy terminology being used) is the payments due
for raw materials. This is given by
l cl.k=cl.j+dt*(rmbr.jk-mbpr.jk)
(40)
together with
r mbpr.kl=delay3(rmbr.jk,rmbd)
(41)
RMBD=(Week) Raw Material Bills Delay.
It goes without saying, or should, that the appropriateness of DELAY3
should be verified for this and the other delays.
Other Current Liabilities, such as taxes and dividends payable, can
easily be handled by this approach if desired. The reader should,
however, be aware that the 'accuracy' given by the extra equations is
largely illusory. The payment of taxes and, to a lesser extent,
dividends, is not significantly under managerial control, whereas the
ordering of raw materials is completely under control, usually by the
production sector on the basis of requirements, and partly by the
financial sector on the basis of liquidity etc. We therefore need to be
able to model the consequences of control action, or lack of action, on
raw material purchases, but we usually need not worry about the detailed
modelling of uncontrollable payments. It would be a brave man who
modelled dividend policy, and it is usually satisfactory to regard
dividends either as a constant absolute amount or a fixed proportion per
year of the shareholders' capital. Alternatively, TAXR can be increased
to more than the legal corporation tax rate and regarded as a tax and
dividend payment fraction. Some modern treatments of corporate finance
and micro economics do, indeed, view dividends as a form of tax on the
firm. As ever, the issue depends on the managerial problem.
An Interim Summary
So far, we have developed a fairly detailed accounting sector, which
should be adequate for many problems, except those which are explicitly
and dominantly concerned with financial matters. We point out, however,
that the equations deal with financial accounting and not financial
policy. That is an entirely different matter. The accounting system does,
however, produce much of the information on which financial and other
decisions are made but, before proceeding to that and other matters, it
is useful to summarise the flows and stocks we have so far identified and
Figure 10.3, shows the interconnecting flows and the resulting balance
sheet. Assets are shown in rectangles and Liabilities in ellipses.
Note the standard use of solid lines for 'physical flows', in this case
of pieces of paper representing money. Dotted lines show calculations
which connect flows. For example, (DAR-DRR) feeds CASH by a solid line,
because money flows from the lender to the company or vice-versa. A
dotted line is used to connect (DAR-DRR) to DEBT because it represents a
record being kept of how much has been borrowed and repaid.
The way in which Rate of Retention of Profit and Retained Profit appear
as separated from the rest of the flows makes it clear that they are the
balancing item which we have discussed. If the firm is profitable, RTP
will grow to reflect the accumulation of corporate wealth. If, however,
the physical inflow of Cash Collection Rate, CCR, is smaller than the
outflows from CASH, the firm's lack of profitability will be reflected in
the calculation of PROFIT, and RTP will fall to ensure a correct balance.
So far, we have explained the equations from first principles, but Figure
10.3 provides an alternative view of the same processes. A diagram such
as this is, or should be, to be found in any good accounting text.
The variables DAR, Debt Addition Rate, and DRR, Debt Repayment Rate, and
IRR, Interest Receipt Rate, and IPR, Interest Payment Rate, have been
paired to give two net rates to reduce the number of lines on the
diagram.
Two important aspects need to be noted as they give useful checks on the
technical accuracy of the equationsÿ:
Transactions between Assets and Liabilities must have the same sign
at the ends of the arrows. Thus (DAR-DRR) has a positive effect on both
CASH and DEBT. Note that (IRR-IPR) similarly has a positive effect on
both CASH and RTP. On the other hand MBPR has a negative effect on CL and
on CASH.
Transactions within Assets or Liabilities must have opposite signs
on the ends of the arrows. Thus, WPR and OHER increase MVI and deplete
CASH, CCR increases CASH but depletes RC, and so on. This shows how
neatly System Dynamics procedures match those of accountancy. Notice that
PROFIT is not a transaction, but a step in determining actual exchanges.
The two variables CGS and SR (Cost of Goods Sold, and Sales Revenue,
respectively, both measured in $/Week) have a function slightly different
from pure transactions, in that they transmit the effects of major
interactions between managerial decisions and signals from the corporate
environment. Thus, SR, Sales Revenue, depends in part on decisions about
price and volume of production, made by the firm, and on decisions by the
market about how much to buy. An increase in SR increases RC, and thereby
the Assets side of the Balance, but is partly balanced by an outflow of
taxes and partly by a cross-transaction to RTP, the latter producing, one
hopes, an increase in both sides of the Balance. This contrasts with the
role of CCR, the Cash Collection Rate, which simply transfers Assets from
RC to CASH. The variable CGS functions in very similar, though opposite,
ways to SR.
Once the equivalence between the principles of accountancy and the System
Dynamics nomenclature of levels and rates has been fully grasped, the
accounting sector described here can be aggregated or disaggregated to
any desired degree.
We shall consider one example, leaving the reader to draw a revised
version of Figure 10.3 - a useful exercise which the serious student
ought not to neglect.
Disaggregation of Inventory
The variable MVI, Monetary Value of Inventory, can often be usefully
disaggregated into the values of Raw Material, Work in Progress, and
Finished Goods Inventory, providing the purpose of the model calls for
it. We denote the three variables respectively by VRMI, VWP and VFGI, and
MVI now becomes an auxiliary variable.
a mvi.k=vrmi.k+vwp.k+vfgi.k
(42)
The raw Material Valuation is given by
l vrmi.k=vrmi.j+dt*(rmbr.jk-crmu.jk)
(43)
CRMU=($/Week) Cost of Raw Material Used.
In turn, CRMU will be the product of the Production Start Rate and the
'Raw Material Price'; the latter not necessarily being the actual price
currently being paid for raw materials, but the price at which it is
being charged out, using whatever valuation method the firm adopts. e.g.
FIFO, LIFO etc.
The Value of Work in Process is then
l vwp.k=vwp.j+dt*(wpr.jk+oher.jk+crmu.jk-cpc.jk)
(44)
CPC=($/Week) Cost of Production Completed
and, of course,
l vfgi.k=vfgi.j+dt*(cpc.jk-cgs.jk)
(45)
As before, CPC and CGS are calculated by whatever methods are
appropriate. A simple method for CPC is, however, to use, as a model of
the physical production process,
r pcr.kl=delay3(pdr.jk,pdel)
(46)
PCR=(Unit/Week) Production Completion Rate
PSR=(Unit/Week) Production Start Rate
PDEL=(Week) Production Delay
and then to put
r cpc.kl=delay3(wpr.jk+oher.jk+crmu.jk,pdel)
(47)
as a model of the process costing system. This simple approach will not
do for CGS, as there is no necessary connection between PCR, the
Production Completion Rate, and SSR, the Shipments Sent Rate, as there
usually is between PSR and PCR.
Initial Conditions
Reverting to the more aggregated model of Figure 10.3, we now examine the
rather awkward problem of assessing initial conditions for the several
levels CASH, FA, MVI, DEBT, SHC, RTP and CL.
At first glance one might expect that all that was needed was to copy
down the values of these from the latest set of corporate accounts.
Whilst this may sometimes work perfectly well, there will often be
problems caused by delays in the system. For example, equations 40 and 41
describe the behaviour of CL in response to purchases of raw materials,
and the value of CL should be the same as the total contents of the 3
internal levels in the DELAY3. The book value of CL may, however, contain
factors other than raw materials which the modeller may have chosen to
ignore, given the purpose of his model. Further the book value of CL may
well tell us nothing about the volume of raw material purchases during
the last couple of months of the financial year, assuming RMBD to be in
the region of two months, which it usually is.
As a general guide, there are two approaches. One is to put
n cl=rmi*rmp
RMI=(Unit) Raw Materials Inventory
RMI=($/Unit) Raw Material Price
the other is to use
n cl=rmbr*rmbd
(48)
Similar methods can be used for MVI and RC. The levels of CASH, DEBT, FA
and SHC can often be initialised directly from the accounts and RTP can
then be initialised as a balancing item by
n rtp=ta-debt-cl-shc
(49)
It is always important to check that the initial values have been chosen
suitably. One way of doing this is, for example, to force raw material
purchases to zero and to see what happens to CL. If it too decreases to
zero in due course, then all the raw material bills eventually get paid
by the model. If, however, CL eventually stabilises at some non-zero
value, then bills are either remaining unpaid or even being overpaid, and
something is wrong with the initial values. The role of check variables
in testing for such errors will be obvious.
It must be admitted that initial values are a frequent source of trouble
and a good deal of care may be needed. It is not enough to rely on CHECK
being close to zero. Although that is a necessary condition of validity
of the financial sector, it is not a sufficient one. Dimensional Analysis
will play its usual vital role in checking for errors.
An important modelling trick is to check carefully which of the levels of
the Balance Sheet have been modelled in the form of
l lev.k=lev.j+dt*(in.jk-out.jk)
(50)
r out.kl=delay3(in.jk,del)
(51)
It is rare for this to be true for CASH, SHC, and RTP, but any of the
other levels may validly be modelled in that form. It is, for example,
rather common for DEBT to be modelled as
l debt.k=debt.j+dt*(dar.jk-drr.jk)
(52)
r drr.kl=delay3(dar.jk,dl)
(53)
DAR=($/Week) Debt Addition Rate
DRR=($/Week) Debt Repayment
DL=(Week) Debt Lifetime
Since DL may be rather large it is very unlikely indeed that the total
value inside the levels of the DELAY3, as initialised automatically from
the current value of DAR, will be anything other than much larger than
the book value of DEBT, which in the real firm depends on what
DAR was perhaps five years ago. One way out of this is to use a function
such as DELAYX in COSMIC, or whatever equivalent, if any, is available in
other software packages, which allows for rather flexible initialisation,
based on historical data for DAR, where such data are available. It
should, however, be noted that an approach to debt modelling which is
often more useful is to ignore the repayment of maturing debt, assuming
that it is automatically refunded or rolled over, unless the company
specifically decides to repay. In such a case, DRR would be modelled by
equations quite different from the automatic repayment of equation 53,
and initialisation of DEBT can be done directly from the accounts without
any risk of the problem of non-payment exemplified in our earlier
discussion of CL.
The end result of even the most careful initialisation may be values
which differ to some extent from those given in the accounts. The size of
the differences will depend on the approximations which have been made in
the modelling and will usually be smaller in cases where the firm can
most reasonably be viewed as an integrated processor of fairly
homogeneous material - such as an oil company.
In practice, the discrepancies between the model's initial accounts and
those of the real firm will generate and focus criticism of the model
from those who would have been against it in any case. This is
exceedingly unfortunate but, like hanging, the prospect of it
concentrates the mind wonderfully.
Calculation of Financial Ratios
From the foregoing discussion, and particularly from Figure 10.3, it
should now be very obvious how any or all of the standard debt/equity
ratios, liquidity ratios and so on can be calculated, as auxiliary
variables, by forming the appropriate combinations of the levels from the
equations, exactly as an accountant would do. The use of small
quantities, such as EPS, to prevent possible division by zero will
probably be essential. We shall not do so here, merely suggesting that,
perhaps, instability of liquidity ratio might be an interesting measure
of performance for optimisation
Final Caution
We stress again that a set of equations should not be put into a model
merely because they look impressive, but only because they will be useful
and relevant.
Addition of Integer Units of Capacity
Background
In modelling the ordering of new capacity, and its installation after a
delay, it is quite common, and often perfectly adequate, to put:
r car.kl=delay(cor.jk,cdel)
(54)
l cap.k=cap.j+dt*car.jk
(55)
CAR=((Unit/Week)/Week) Capacity Addition Rate
COR=((Unit/Week)/Week) Capacity Order Rate
CDEL=(Week) Capacity Delivery Delay
CAP=(Unit/Week) Production Capacity.
Equations 54 and 55 have the property that, as soon as any of the plant
represented by COR gets through the delay, it is treated as actual
capacity, and is capable of taking part in production. This is often very
appropriate if the plant is of a type comes on stream gradually,
progressively getting nearer to its rated throughput.
There are, however, circumstances in which the plant is not capable of
producing at all until it is practically all delivered. This is nearly
the same thing as the perfect, or pipeline, delays which exist under
different names in various System Dynamics software packages. It is not
quite the same thing, however, because pipeline delays produce all their
output when all that has gone in is ready to come out; whereas, in this
case, we require to produce all the output when most of it is ready to
come out. In addition, pipeline delays usually have a fixed delay
magnitude, and we may need to model cases in which CDEL might vary if the
firm allows construction to slow down because of shortage of cash.
Another advantage of this simple formulation is that it avoids the
complex syntax which is sometimes associated with perfect delays.
The purpose of this example is to provide some simple equations which
will produce a model of plant delivery which is closer to reality than
the perfect delay, and which provides additional information which could
well form part of the plant ordering decision.
Visualising the Dynamics
The situation with which we need to deal is shown in Figure 10.4. Plant
is ordered and, as time passes, it gets progressively nearer and nearer
to being ready for operation. After its 'readiness' exceeds some
threshold value of, say, 90% of its nominal output, it is regarded as
capable of producing at full output; the capacity completed suddenly
jumps from the threshold to 100%, as shown in Figure 10.4. This appears
to be nonsense, but, in fact, is quite close to those real-life cases
where
figure 10.4
the last stage of plant installation is a running-in phase during which
the plant produces full output, but at higher cost. We shall ignore the
higher costs and we suggest that they will very rarely be worth bothering
about, even in a model of a real problem. Note that those cases where the
plant gradually runs up from being capable of zero output to full
capacity, as in most of the process industries, are best handled by
equations 54 and 55 with, perhaps, a higher order delay in equation 54.
Method
The concept which is central to the method is that some machine
deliveries are, as it were, imminent or pending. As soon as they exceed
the threshold, delivery of a whole machine takes place. Thus, by analogy
with equation 54 we put:
r dcr.kl=delay3(cor.jk,cdel)
(56)
DCR=((Unit/Week)/Week) Dummy Rate of Capacity
Completion
COR=((Unit/Week)/Week) Capacity Order Rate
CDEL=(Week) Capacity Delivery Delay.
We can then feed and deplete the level of capacity delivery pending by:
l cdp.k=cdp.j+dt*(dcr.jk-car.jk)
(57)
CDP=(Unit/Week) Capacity Delivery Pending. ie, plant
which is nearing completion but
which cannot be installed until the
threshold is reached.
CAR=((Unit/Week)/Week) Capacity Addition Rate
The addition rate is then easily modelled as:
r
n
c
c
car.kl=(uc/dt)*clip(1,0,cdp.k,thold)
thold=frac*uc
frac=0.90
illustrative value
uc=4000
illustrative value
(58)
(59)
(60)
(61)
UC=(Unit/Week) Unit size of capacity, eg the output
of each machine
THOLD=(Unit/Week) Threshold level of completion
after which the machine is deemed
to be capable of producing, though
perhaps at higher cost.
The Capacity Addition Rate in equation 58 will deliver a unit of capacity
each time there is at least 90% of a machine, ie 3600 (Unit/Week) in CDP.
This means that CDP would move sharply from +3600 to -400 but there would
still be 400 Unit/Week in the internal levels of the DELAY3 in equation
56. This amount will gradually come through the delay, thereby eventually
cancelling out the apparently nonsensical -400 in CDP.
We shall also need to have:
l dpipe.k=dpipe.j+dt*(cor.jk-dcr.jk)
a coo.k=dppe.k+cdp.k
(62)
(63)
DPIPE=(Unit/Week) Capacity on order in the delivery
delay
COO=(Unit/Week) Total Capacity on Order.
Equations 62 and 63 keep correct 'accounts' of the capacity ordered but
not yet received, and are similar to a CHECK variable. They would
probably have a part to play in the equations for COR, and for the firm's
financial commitments.
Caution
The reader may well be tempted to opt for the more complex representation
of equations 58 to 63, rather than the simpler forms of equations 54 and
55, perhaps because the former look more 'scientific' or 'impressive'.
The choice really depends on the nature of the process being modelled,
the purpose of the model, and the extent to which additional information
about capacity in the pipeline and the consequent future arguments to be
made. In many cases, equations 54 and 55, with an associated pipeline
equation for capacity ordered but not yet received, will be perfectly
adequate.
There is no special virtue in complicated, 'impressive' equations and
this method would be largely pointless if COR is continuous. For such
problems, equations 54 and 55 would be perfectly adequate. If, however,
COR is spasmodic, the more complicated equations are more satisfactory.
Other Applications of This Technique
This approach has proved to be extremely useful for all sorts of models.
One example is the modelling of the building of a group of ships.
Individual vessels are ordered at points over a period of time, so the
order rate is a sequence of PULSEs. A complete ship is allowed out of the
construction pipeline whenever cumulative construction exceeds a fraction
of a ship. This gives a simple set of equations, but avoids the problem
that the 'tail' of a DELAY3 is so long that the last ship in the class
would practically never be completed if one used the basic formulation in
equations 54 and 55. The reader should now think of a few other cases in
which this treatment would be necessary.
Temporary Withdrawals of Production Capacity
Dependent on Throughput
Background
In many industries production capacity has to be withdrawn from service
for repairs when a certain amount of throughput has been achieved, rather
than at certain intervals of time. For example, aircraft have to undergo
major overhauls, lasting days or weeks, when a certain number of flying
hours have been accumulated. Since the usage of the aircraft depends only
on demand and not simply on the passage of time, this is a throughputdependent event. Similarly, blast furnaces in the steel industry have to
be relined after a given amount of metal has been produced, and rock
crushers in mines have to be refaced after so many thousand tons of rock
have been broken. Many other instances of this kind of event may suggest
themselves to the reader.
Once again, we shall explain the equations in detail so that the reader
can enhance his ability to work in the time dimension, and gain facility
in model development.
Equation Formulation
First, we need an equation for Cumulative Production, or throughput, and,
for the sake of illustration, we shall remain with the blast furnace
example.
l cpbf.k=cpbf.j+dt*(bfpr.jk-recp.jk)
(64)
CPBF=(Ton) Cumulative Production since the last
Reline
BFPR=(Ton/Week) Blast Furnace Production Rate
RECP=(Ton/Week) A Rate to empty the Cumulative
Production when a Reline becomes
necessary.
The purpose of RECP is to take CPBF back to zero to restart the
comparison of Cumulative Production with the limit to generate the next
reline.
The next thing we need to model is the passage of time, and we have to
consider the time at which the reline started, the time at which it
should finish, and, of course, whether or not CPBF has reached the point
where a reline is needed.
We can start with INVBLF, the Interval for Sampling the Blast Furnace.
This is sampling in the System Dynamics sense in that we look at the
furnace now to see if it needs a reline. If it does not, we shall look
again next DT. If a reline is required, we shall need to hold that time
for the duration of the reline, TRLBF (Time to Reline Blast Furnace),
weeks. We can write
a invblf.k=clip(trlbf.k,dt,cpbf.k,tptbf)
(65)
INVBLF=(Week) Interval for sampling the blast
furnace
where TPTBF is the Throughput Level at which the furnace needs relining.
Equation 65, and the subsequent equation 68, provide additional examples
of the legitimate use of DT in Rate and Auxiliary equations. As we have
commented before, such use needs the most rigourous justification !
We then record the time at which the furnace was inspected to see if
relining was needed by
a htmbf.k=sample(time.k,invblf.k,0)
(66)
HTMBF=(Week) Dummy variable for the time reline
started
Thus, if the furnace does not need relining, INVBLF will be DT from
equation 65, and HTMBF, the 'Hold Time' for the Blast Furnace, will
always be equal to TIME. If, however, CPBF reaches TPTBF at, say, TIME=25
and the reline takes 9 weeks, then HTMBF will be kept at 25 until the
reline is completed at TIME=34.
Obviously the Blast Furnace output, BFPR, has to be 0 during the reline,
but at other times it will have its normal, though variable, value of
NPBF, which is governed by the production policy elsewhere in the model.
This can be written as
r bfpr.kl=clip(0,npbf.k,cpbf.k,tptbf)
(67)
In words, as soon as Cumulative Production reaches the critical level at
which a reline is needed, then production stops. Notice that equation 67
depends on the idea of not emptying out CPBF as soon as the reline is
started, but just before it is due to end. This allows us to keep CPBF at
the critical value throughout the reline duration and provides a simple
method, equation 67, for suppressing BFPR during the reline. This can be
seen from the equation for RECP, which is
r recp.kl=clip(cpbf.k/dt,0,time.k-htmbf.k,trlbf-dt) (68)
Suppose that the reline started at TIME=25, which will be stored as
HTMBF, that TRLBF=9, and that DT=0.5, though we choose this DT for ease
of explanation and it would not necessarily be an appropriate value for a
steel industry model. Now, at any time between 25 and 33, inclusive,
TIME.K-HTMBF.K will be less than TRLBF-DT, or 8.5, and RECP will be zero.
At TIME=33.5, TIME.K-HTMBF.K reaches 8.5, RECP moves to CPBF.K/DT, and
therefore restores CPBF to zero just as the reline ends at 34.
When no reline is in progress, HTMBF is continually updated to TIME by
equations 65 and 66, so that RECP is held to zero and equations 64 and 67
allow CPBF to mount progressively, though not necessarily at a uniform
rate, which is precisely the dynamic behaviour we seek.
The Model Behaviour
Fig10-5.cos on the disk runs these equations to produce Figure 10.5. We
urge the reader to use the model to experiment with the parameters,
carefully watching in the printout exactly what happens in the model.
This should be a very useful exercise in developing that facility for
thinking in terms of time-dependent processes which is the essential
ingredient in successful System Dynamics modelling.
Figure 10.5 shows the dynamics of selected variables over an illustrative
40-day period and should also be carefully studied. Notice the device of
forcing INVBLF, which cannot possibly have negative values, to use a
scale from -10 to +10, which has the effect of somewhat separating the
graphs on the page. Two sets of graphs are produced to make individual
curves easier to see.
In the upper graph, the solid line for CPBF shows the expected behaviour
of rising to its peak during the production run, staying constant at the
peak during the reline, and then dropping back to zero just as the reline
comes to an end. Similarly, BFPR is non-zero during the production
periods (we have set it to a constant for simplicity), and zero during
the reline, though in a practical model BFPR need not be constant in the
production phases.
The line for INVBLF remains low, at DT, during the production periods,
and then jumps to the duration of the reline, 5 days, as soon as a reline
is signalled by CPBF reaching a maximum, and INVBLF then holds that value
to control the duration of the reline. Finally HTMBF rises steadily
during the production phase. However, it stops rising at the time when
the reline starts just at the point where CPBF returns to zero, and BFPR
moves away from zero.
To emphasise, INVBLF and HRMBF alternate their behaviour and each changes
at the time when the other does. Such careful checking is an essential
feature of model development.
In short, the graph behaves exactly as the real system does, and for the
same reasons. It is always important to verify carefully that the
plotted, and above all the printed, values are doing what they should do.
For a realistic model this may take hours, and that is the reason why
interactive computing, with its constant demand for the user to do
something, is nearly always a very bad way to develop System Dynamics
models as opposed
figure 10.5
to experimenting with, or optimising, a well-tested model. The time spent
in studying the output is time well spent, for that is when we come to
understand the system, and that is what System Dynamics is about.
Comment 1
Note that it is not necessary to use a PULSE function in equation 68. The
factor of CPBF.K/DT provides the same effect as the pulse, but the other
equations control the timing.
Comment 2
It may happen that TRLBF is a state-dependent variable. For example, a
vehicle may need a fairly short service every 5000 miles, a much longer
one every 10,000, and a major overhaul every 50,000 miles. This can be
modelled by introducing a new variable, Overall Cumulative Mileage, which
is not re-zeroed when the service takes place, as would be the case for
the variable corresponding to CPBF. We can then provide for TCS, the Time
to Complete the Service, analogous to TRLBF, to take one of three values
A, B, or C, by considering the number of services which have taken place.
We start with three variables
a m1.k=int(ocm.k/5000)
a m2.k=int(ocm.k/10000)
a m3.k=int(ocm.k/50000)
(69)
(70)
(71)
where OCM is Overall Cumulative Mileage, INT is the standard integer part
function, and M1, M2, M3 simply count the numbers of the three types of
service which have taken place. We can then put
a tcs.k=clip(b,a,2*m2.k,m1.k)
(72)
This will make TCS equal to B whenever M1 is twice M2, i.e. at 10000
miles M1=2 and M2=1 and the TCS should be B. To provide for the 50000
mile interval we alter
equation 72 to
a tcs.k=max(clip(b,a,2*m2.k,m1.k),
x clip(c,0,10*m3.k,m1.k))
(73)
The first CLIP produces A and B alternately, but, whenever M3=1, at 50000
miles, M1=10 and the second CLIP produces the value C, which is picked up
by the MAX as it is greater than B or A.
Caution
As ever, we exhort the reader not to use the far more complex methods
suggested in comment 2 unless they really are required and justified by
the nature of the problem and the purpose of the model. We illustrate
them here partly to add to the reader's insight into the modelling of
dynamic processes, and to develop his skill in using this remarkably
powerful and compact simulation syntax.
The Use of Multipliers
Background
Influence Diagrams often have sectors such as are shown in Figure 10.6 in
which A, B, C etc. are model variables, jointly affecting some other
variable X. For simplicity, all influences are shown as positive though,
in practice, they could be negative.
In Case A, the influences are the solid lines for physical flow, so X
must be a level and we must have
l x.k=x.j+dt*(a.jk+b.jk+c.jk+ ...)
(74)
In Case B, the dotted lines might, at their simplest, represent a Rate
which is merely the sum of four auxiliaries :
r x.kl=a.k+b.k+c.k+ ...
(75)
A more complicated case might involve X as a rate which is the product of
functions of several auxiliaries :
r x.kl=fa(a.k)*fb(b.k)*fc(c.k)*...
(76)
where fa, fb, fc represent functions of A, B, C, etc.
Thus, in production system modelling, X might be the actual production
rate, A is the ideal target rate, B stands for the constraint of
production capacity, and C denotes the effect of the size of the labour
force. A further variable, D, might signify the impact of availability of
working capital, and so forth.
Naturally, many practical situations are more complicated still and we
may need equations such as
(fa(a.k)+fb(b.k))*fc(c.k)
r x.kl= ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
fd(d.k/e.k)
(77)
and so on, without limit of complexity or form of equation.
Equations 76 and 77 were illustrated using X as a Rate. It could equally
well have been an Auxiliary, though, in these equations, it cannot be a
Level.
Equations 76 and 77 could, of course, simply be translated into System
Dynamics syntax and used in a model, provided one knew exactly the
mathematical form of the various functions. In practice, the equations
for the functions are usually not known and one relies instead on socalled multipliers based on the use of System Dynamics
figure 10.6
TABLE functions , such as were explained in Chapter 5. The numerical
values in the TABLE act in place of the formula in the mathematical
function. Multipliers are an extraordinarily useful and very widely used
modelling tool. However, there are snags to be watched out for in their
use.
The Usefulness of Multipliers
Consider the following case.
A firm provides or withholds working capital to its operating
subsidiaries. The latter, however, decide independently on the Planned
Production Rate, PPR [Unit/Month], on the basis of inventory, orders,
backlog and other factors. These plans may require more Working Capital
than is actually available so the question is how does, or should, the
actual Working Capital, WCAP, made available to the operating companies
affect the production they actually achieve ?
One approach is suggested by dimensional analysis- WCAP is measured in $,
but PPR and the Actual Production Rate, APR, are expressed in
(Unit/Month). This suggests that we might consider the Working Capital
required per Unit of Production, WCPUP, measured in ($/(Unit/Month)).
WCPUP is a parameter which is a characteristic of the production
technology used in the operating companies.
We can now see that WCPUP implies a Sustainable Production Rate, SPR,
being the rate which can be achieved from the given amount of working
capital :
a spr.k=wcap.k/wcpup
(78)
SPR obviously ought to have dimensions of [Unit/Month], and dimensional
analysis of equation 78 shows that it does.
The easy, obvious, but also restrictive and probably wrong way to proceed
is to put
r apr.kl=min(ppr.k,spr.k)
(79)
APR=(Unit/Month) Actual Production Rate
PPR=(Unit/Month) Planned Production Rate
SPR=(Unit/Month) Sustainable Production Rate from
Available Working Capital
Equation 79 makes production either what the company would like to do,
PPR, or what it has the working capital to do, SPR, whichever is the
smaller.
To see why equation 79 is wrong, in the sense of being a poor model
rather than in terms of logic or the formal rules of System Dynamics, we
rewrite it in the form of
r apr.kl=ppr.k*pmfwc.k
a pmfwc.k=table(tpmfwc,spr.k/ppr.k,0,1.5,0.5)
(80)
(81)
t tpmfwc=0/0.5/1.0/1.0
(82)
PMFWC=(1) Production Multiplier from Working
Capital
TPMFWC=(1) Table of Values for PMFWC.
This is the System Dynamics convention for the ordinary mathematics :
r apr.kl=ppr.k*fa(spr.k/ppr.k)
the TABLE function in equation 81 and the numbers in equation 82 being
carefully chosen to have the same effect as fa.
In equations 80-82, TPMFWC is a multiplier to make Actual Production
depend on Planned Production, as a function of the ratio of SPR to PPR.
If the ratio is 1.0 or more, then the multiplier is also to be 1.0; if
SPR exceeds PPR, APR is held back to PPR. If, however, SPR is, say 0.5 of
APR, then the multiplier PMFWC is also to be 0.5 (review TABLE functions
in Chapter 5), and APR will then be 0.5 of PPR, that is, it will be equal
to SPR. The table TPMFWC is drawn in Figure 10.7, equation 82 being shown
by the solid line, though its shape should be obvious from inspection of
equation 82.
This has exactly the same effect as equation 79, but at much greater
length. Why bother?
Thinking about the physical reality in the factory which equation 82
embodies, we can at once see two shortcomings in equation 79. In the
first place, if SPR is, perhaps, 90% of PPR, then in practical life it is
unlikely that APR would fall by as much, if at all. Payment of creditors
can always be delayed a few days, perhaps slightly keener prices
negotiated for raw materials, a shade more productivity can be squeezed
out and so on.
Secondly, at the lower end of the scale, when SPR is only a small
fraction of PPR, it might well be very hard to keep production going at
all. The cut-back becomes known, so suppliers are less willing to extend
credit, morale in the factory falls as people worry more about losing
their jobs than doing them, it becomes very hard to finance delivery
pipelines, and so forth.
Taking these two factors together, we might argue fairly strongly that
the dotted line, labelled 'Curve B' in Figure 10.7, is a better model of
the real world and that the simple minimum of equation 79 is inaccurate.
Note that Curve B follows the solid line to the right of point
figure 10.7
A. Curve B could be set up as a table, using the method shown in Chapter
5, to replace equation 82 changing, if necessary, the numbers at the end
of equation 81 which specify the range and step size for the table.
Caution
Although we have argued that equation 79 is wrong, in the sense that it
is not a good model of reality, it is rather a different matter to argue
that Curve B is right. Getting the shape right can be quite difficult in
a real case. This does not, however, mean that, because getting the
correct shape for Curve B is difficult, we should use equation 79 after
all (in such a case there would clearly be no point in using equations
80-82 when 79 does the same thing). However, to use equation 79 would be
to use the one shape of the function which is definitely wrong. This is a
subtle and important point and the reader should pause until it has been
grasped.
Managerial Choice
Having criticised equation 79 for not representing physical factors, we
should also consider how well it represents managerial choice.
First, consider the region to the right of point A in Figure 10.7, where
working capital is adequate to support a larger volume of production than
other factors call for. It is not hard to visualise management using this
surplus of working capital to push production ahead of PPR so as to make
it appear that they are using the working capital given to them, rather
than letting it be idle.
We might, therefore visualise an extension of Curve B to the right of
point A, denoted by curve C in Figure 10.7.
Having introduced the idea of managerial choice in Curve C we can see the
joint curve B-C as an upper bound to management policy. Curve B reflects
an upper limit due to physical factors, and Curve C a similar limit
depending mainly on managerial/economic factors. There is, however, no
compulsion about operating at those limits and, indeed, any curve drawn
in the space below Curve B-C could represent a managerial policy, using,
of course, new values in equation 82.
We now come to the fundamental reason why equation 79 is 'wrong', namely
that it is restrictive of imagination and design possibilities. The solid
line which, as equations 80-82 show, is equivalent to equation 79, does
indeed lie below B-C over most of the region of interest because, if
there is such a shortage of working capital that SPR falls below about
70% of PPR, the firm is in trouble and the fact that the straight line
does not correctly represent the physics of the system will not be
important. In general, however, uncritically adopting equation 79 is
short-sighted.
Steps in Setting up a Multiplier
The great attractiveness and power of multipliers as modelling devices
sometimes leads even experienced modellers into mistakes. A few very
elementary tricks can sometimes help. Because they are elementary, they
are often omitted but they are useful, not only because
they prevent mistakes, but because they may lead the modeller to think,
an activity which is all too often forgotten in the excitement of playing
with the computer.
a) Always define dummy variables for non-elementary table
arguments.
Thus, equation 81 should really be
a prat.k=spr.k/ppr.k
a pmfwc.k=table(tpmfwc,prat.k, ... )
(81)
(81A)
b) Always print and plot the table arguments, either the dummy
variable PRAT, or the variable itself if only one is used as the argument
for the table. This provides a check on the range of the table.
c) Check that the range of the table is sensible. If, for example,
PRAT in equation 82 is always between 0.95 and 1.03 there is no point at
all in defining TPMFWC over the range 0 to 1.5 and no amount of
contemplating the policy space of Figure 10.7 is going to make very much
difference to the dynamics of the system. The STATS function in COSMIC
produces useful information about the extent to which the range of the
table has actually been used. Other software packages may or may not have
similar features.
d) Concentrating on the range of variation as in point c) leads one
to examine the points on the range at which the assumptions and the
purpose of the model lose their validity. If, as we suggested earlier,
PRAT fell to 0.7 more often than once in a while, then it is very
unlikely that the basic assumption of model purpose would hold good.
e) Use TABHL very sparingly . This follows from the previous point.
If, for example, PRAT usually varied between 0.95 and 1.03 it might be
sensible to define the range of the table in equation 81A between, say,
0.9 and 1.1 in steps of 0.025. Using TABHL could allow PRAT to go beyond
its stipulated range without being noticed. Using TABLE, the model would
fail because the table argument had gone outside its range. One would
then replace the offending TABLE by TABHL and run the model again, but
this time with all one's wits ready to see what had happened, and why.
The sheer snag of human fallibility is that one tends, quite
properly, to use TABHL in the early stages of model development simply to
reduce model crashes to the minimum, while one is checking that parameter
values are correct, for example that one hasn't put 34 when 3.4 was
called for, and then simply forgets to put the tables back to the TABLE
form.
The only real protection against errors is to ask a colleague to go
through a documented model, justifying to him all uses of TABHL, ratedependent rate equations, uses of DT on the right-hand side of Rate or
Auxiliary equations, and any other modelling abbreviations.
Unidirectional Arguments
It is perfectly reasonable, and indeed to be expected, that a variable
such as PRAT in equation 81 should move back and forth over its range of
operation and it could be described as 'bi-directional'. This is not,
however, necessarily true of all variables.
In the world models of Meadows et al (to be discussed in Chapter 11),
there is a relationship showing a fairly marked fall in desired family
size as GNP/capita increases. One would not necessarily expect that
people who, having been rich and having had fewer children, have more
children if they subsequently became poorer. In other words, once family
size has fallen it will not necessarily rise again and the multiplier
would be uni-directional. An example of this occurs in the problems in
Appendix B.
Multiple Multipliers
The multiplier technique is so powerful that there is a risk of its
misuse. Consider, for example, the case of the sales rate achievable by a
company which owns a chain of stores. It seems likely that four factors
would affect the firm's total sales rate : the 'normal' sales rate for a
well-managed shop, which might be a variable to take account of the
general level of trade as affected by the business cycle; the number of
shops; the number of employees; and the stock available in the shops. One
might write a set of equations such as
r asr.kl=sps.k*nshops.k*sme.k*sms.k
a sme.k=table(tsme,emps.k, ...)
a sms.k=table(tsms,stock.k, ...)
(83)
(84)
(85)
ASR=($/Month) Aggregate Sales Rate from All Shops
SPS=(($/Month)/SHOPS) 'Normal' Sales per shop
NSHOPS=(SHOPS) Number of shops
SME=(1) Sales Multiplier from Employees
SMS=(1) Sales Multiplier from Stock
TSME=(1) Table for SME
TSMS=(1) Table for SMS
EMPS=(PEOPLE) Number of Employees
STOCK=($) Amount of Stock.
Stock could be measured in Units, but measuring in money avoids the risk
of getting trapped in too much detail. Note that the dimension of NSHOPS
and EMPS are better not given as (1). These are not merely numbers, they
are numbers of something in particular. Dimensions of (1) should only be
used for fractions or ratios, while realising that not all ratios are
dimensionless. For example, the dimensions of Force Ratio in the simple
combat model were (RMEN/BMEN), not (1).
A model such as this could be used to design policies for the opening
new shops, employment, and stock-holding which a company could use in
face of variations in SPS. As they stand, equations 83-85 assume that
shops are equal. Alternatively one could work in terms of square feet
shop space, feet of counter space, or whatever is appropriate.
of
the
all
of
In practice one could easily look at 'big-shop' and 'small-shop'
policies, but that is not our present concern.
The alert reader may already have noticed some of the weaknesses and,
indeed, deliberate mistakes, in equations 82-84. There are two main
possibilities for mistakes with multiple multipliers - improper
specification and double counting.
Mistakes of Improper Specification
The first mistake is easily revealed. If, for example, the company
doubled the number of shops and, at the same time, increased the total
number of employees by 20%, assuming employees are spread evenly over the
shops, then equation 82 would increase sales by a factor of 2 for the
increase in NSHOPS and probably by a factor of at least 1.0 from SME.
In short, the model would at least double the sales but, in practice, it
should have produced the opposite effect. Twenty percent more staff
spread over twice as many shops means fewer employees per shop. Unless
the shops were heavily overstaffed in the first place sales should fall
due to the poorer staffing ratio. We should, therefore, be using
employees per shop. This is really all such elementary commonsense that
it would not be worth mentioning if one had not seen so many perfectly
good models ruined by just such silly mistakes.
The second case of improper specification is to do with NSHOPS. Most
towns or suburbs capable of generating the required volume of business,
SPS, only have one branch of, say, Marks & Spencer or Sears Roebuck. If,
therefore, the company already had a shop in every feasible town or
suburb, doubling the number of shops would certainly not double the
Aggregate Sales Rate, as equation 83 does. Clearly it is something to do
with the number of shops relative to some saturation level.
Similarly, the arguments applied to employees per shop also apply to
stock. We therefore come to a revised set of equations
r
a
a
a
a
a
a
asr.kl=sps.k*nshops.k*smsh.k*sme.k*sms.k
srat.k=nshops.k/satsh.k
smsh.k=table(tsmsh,srat.k, ...)
sme.k=table(tsme,eps.k, ...)
eps.k=(emps.k/nshops.k)/neps
sms.k=table(tsms,stps.k, ...)
stps.k=(stock.k/nshops.k)/nstps
(86)
(87)
(88)
(89)
(90)
(91)
(92)
SMSH=(1) Sales Multiplier from Shops
SRAT=(1) Ratio of Number of Shops to Saturation
Level
SATSH=(SHOPS) Number of Shops required for
saturation. Perhaps a variable
connected to the forces which affect
SPS - probably best treated
exogenously.
EPS=(PEOPLE/SHOPS) Employees/shop
STPS=($/SHOPS) Stock/Shop
NEPS=(PEOPLE/SHOPS) 'Normal' employees per shop, in
the sense of the number of
employees/shop needed to cope
with the demand inherent in SPS
NSTPS=($/SHOP) 'Normal' stock level per shop: the
stock needed to cope with the demand
SPS.
Naturally TSME and TSMS would not be the same as those used in equations
84 and 85. Note the use of the dummy variables SRAT, EPS and STPS. As
mentioned earlier, these should be printed and/or plotted as a check on
the range and increment parameters used in equations 88, 89 and 91.
We now consider the second problem.
The Danger of Double Counting
Suppose the firm increases STOCK, keeping EMPS and NSHOPS constant,
thereby raising STPS but not EPS or SRAT. Equation 86 will generate an
increase in ASR through the table of values, TSMS, and let us imagine
that the consequent increase in ASR is 20% i.e. SMS is 1.2. Now, suppose,
by contrast, that the company increases both EMPS and STOCK, keeping
NSHOPS constant, in such a way that SMS and SME are both 1.2, so that the
resulting increase in ASR will be 44%. Is this correct, in the sense of
reflecting reasonably faithfully the underlying processes whose flavour
we are trying to capture?
The answer is that it may or may not be, depending on the circumstances,
and that the modeller has to beware lest
the uncritical use of a flexible and powerful modelling tool leads
him into error.
Consider the following scenario. The rise in stock, without any increase
in EMPS, does not mean that customer demand can more easily be met,
because there may not be enough staff to run the shops properly, and
conversely, if EMPS increased, relative to normal, without a concomitant
increase in stock to give them something to sell. When both are
increased, the added number of employees may be no more than what is
required to cope with the 20% extra business from the addition of stock
and the apparent 44% rise may well represent double counting of a serious
order.
In the cases where the foregoing scenario is valid, we clearly need a
more sophisticated approach than in equations 86-92. One possibility is
to proceed as follows.
Define a new dummy variable, Potential Business per Shop, PBS
[($/Month)/Shop] where
a pbs.k=sps.k*smsh.k*sms.k
(93)
using the multipliers SMSH and SMS directly from equations 87, 88, 91 and
92. Now introduce the Required Employees per Shop.
a reps.k=pbs.k/nep.k
(94)
REPS=(PEOPLE/SHOPS) Required Employees to cope with
the stock-generated volume of
business
NEP=(($/Month)/PEOPLE) Normal Employee Productivity
The connection between NEP and the previous parameter NEPS is
a neps.k=sps.k/nep
(95)
The reader should verify that all this is dimensionally correct! We can
now put :
r asr.kl=pbs.k*nshops.k*sme.k
a sme.k=table(tsme,arer.k, ....)
a arer.k=(emps.k/nshops.k)/reps.k
(96)
(97)
(98)
ARER=(1) Actual to Required Employee per Shop Ratio.
Again, TSME, will have changed from what was used in equation 89.
This careful, painstaking, thinking about the underlying processes one is
trying to represent, is the very essence of all modelling. It is rather
hard work, but enjoyable and challenging. At least it can be done in less
time and space than it takes to explain !
The final formulation, whether it be equations 86-90 or 93-98, depends on
which is the more appropriate in the circumstances; neither is
necessarily completely 'right'. Either approach involves the construction
of several table functions, and it is to this that we now turn. We do,
however, urge the reader to review the earlier material on Steps in
Setting up a Multiplier.
The Shapes of Table Functions
For this example, we need three tables, TSMSH, and TSMS, which were
defined in equations 88 and 91 and used again in equation 93, and TSME
which was redefined for use in equation 97.
First we consider general shapes for the curves, as shown in Figure 10.8.
Later we shall deal with specific values for the tables.
TSMSH. This is the 'downward hook' shape of table, and we can infer its
general shape fairly easily. When the degree of penetration, SRAT,
equation 87, is fairly small, we should expect the multiplier to be less
than 1.0 as there is little or no 'national effect' to add to the local
effect.
When the degree of penetration grows towards 1.0 we should expect SMSH to
be 1.0 and to stay that way over a fairly long range of SRAT. If SRAT is
a little more than 1.0 the multiplier may well stay at, or very near to
1.0, but we should expect to see a decline after that as more and more
shops serve essentially the same customers.
There is a strong tendency among modellers to drop the right-hand tail of
the curve too fast. We assume that the firm is not going to go mad and
put 10 shops in some suburbs and only one or two in others. When SRAT
reaches 2 we can imagine two shops in every town or suburb, but SMSH
would not necessarily drop to 0.5 and might even stay up to 0.7 or so
because of the marginally greater convenience offered by two shops, even
in an area which may be only a few miles across.
In general we should expect a general shape somewhat similar to Figure
10.8A.
TSMS - the Sigmoid relationship. If the stock per shop is very small we
should expect it to sell practically nothing, even of what it does have
in stock, as customers are driven away by the lack of the things it
doesn't
figure 10.8
have. After that, as STPS rises towards 1.0, we should expect, at some
point, to see a fairly rapid take-off to 1.0 with an eventual levellingoff towards saturation, as suggested by Figure 10.8B.
This assumes that the company does not make sharp changes in STPS so that
we can ignore the dynamic effect of customer perceptions of the stock
level and its effects on the service they can expect. This is easily
handled by using a smoothed value of STPS in equation 91, perhaps with a
shorter smoothing time constant when STPS is decreasing than when it is
increasing.
TSME We should expect this curve to be concave upwards in the sense of
having a maximum value when ARER = 1.0 in equation 97. At that point each
shop has exactly the correct staff for the volume of business generated
by the stock position. Fewer staff than this would probably mean poorer
service, more staff than the perfect value might depress sales a little
because of the 'too many cooks' syndrome, or it might have little effect,
the curve for TSME being essentially flat to the right of ARER = 1.0. The
result is shown in Figure 10.8C.
Caution
Inferring the shape that a multiplier curve must have is actually rather
fun and it is very easy to delude oneself that one is making judgements
involving penetrating new insights into managerial or behavioural
processes. This is particularly true when one describes the task in such
long, impressive terms. To describe the process as 'making wild
generalisations about situations one hasn't bothered to understand'
might, in many cases, be far nearer the mark.
The analyst should keep this alternative description very firmly in mind,
because the people who should be drawing the curves are probably the
managers and/or the shop-floor staff, rather than the analyst. The
difficulty is to get them to see the situation in the required, dynamic,
terms.
Putting Numbers on the Curves
Inferring, or guessing, the shapes of the curves is one thing, but
putting numbers to them is quite another. This falls into two separate
categories - managerial policy curves and those for behavioural
relationships.
The first group are fairly easy. The main problem is to identify upper
and/or lower limits and after that the question is to design the shape of
the curve. This amounts to saying that it doesn't matter much what they
do now, it is what they are going to do in the future that is important.
Unfortunately, what is done now does matter because some kind of
demonstration has to be made that the model is plausible and this
involves showing that the model behaves like the real system to an
acceptable extent. The only approach is question-and-answer, i.e. 'what
would you do in such-and-such a situation? This is by no means as
foolproof as it sounds!
For behavioural relationships, the same approach can be used, because it
rarely happens that the data, even if they exist, will be clear enough to
show anything one way or the other.
One is, therefore, nearly always left with a curve where the numbers are,
to a greater or lesser degree, a matter of opinion. This leaves one with
two main options.
Give up. This involves abandoning problems which may be of enormous
importance and saying that one cannot help. Whilst this is thoroughly
disappointing from a professional standing point of view, it may be the
only proper alternative in some cases.
Keep trying. The stock-holding, shop expansion, and employment
policies of a chain store are important aspects of its corporate strategy
and justify the effort involved to get a good model. This has five
variants, which are often used in combination.
Sensitivity Analysis. Testing the numbers to see how much variation
in them the model can stand usually shows that many of the numbers are
not very significant, especially as far as the mode of behaviour is
concerned.
Measure accurately the important numbers. This is useful in the
comparatively rare cases where it can in practice be done within
acceptable limitations of time and cost.
Qualify the Conclusions. If a given parameter or curve is
noticeably significant but cannot be measured, one may be able to write
the report in such a way as to show which conclusions are dependent on
the uncertain value, and which are not.
Reduce the Model. Simply cutting out the offending part may be a
good option. The advantage is obvious, but the disadvantage is that one
may steer too far from the main managerial area.
Design Round It. This is rather subtle but has
It involves trying to find managerial policies which,
through behavioural relationships which are known, or
is insensitive, can dominate the uncertain parameter.
short-circuits the problem and forces the system into
uncertainties in the parameter have the least effect.
enormous potential.
perhaps acting
to which the system
In effect, one
a region where
Summary
Multipliers are immensely powerful in System Dynamics models and they are
also frequently misused. They may be used thoughtlessly, to cover up
aspects of the problem which the modeller does not understand. They can
also be used carelessly, leading to improper specification or doublecounting, or both. This is sometimes justified by the weak excuse that
one is only dealing with a mode of behaviour, not with precise numerical
values for the dynamics. It is certainly true that System Dynamics
concerns itself more with modes that with exact values, but that is not
an excuse for failing to think carefully. This section has sought to show
some of that thinking and the reader should study it carefully whenever
she needs to construct a multiplier.
Modelling Aircraft Sorties and Losses
In System Dynamics modelling of military problems, difficulties usually
arise in correctly representing the use of aircraft and allowing for the
losses they might suffer in combat. This can be solved providing one
carefully handles the dimensions and readers who are not particularly
concerned with military modelling will still find the example instructive
as it also illustrates other facets of System Dynamics modelling. Similar
problems occur in, for example, the modelling of an airline, or any other
logistic or distribution system, with breakdowns taking the place of
combat losses.
The essence of the problem is that an aircraft can undertake more than
one mission in a day, each mission being referred to as a 'sortie'. We
shall assume that each sortie takes 3 hours of flying and that the
aircraft requires a further 1 hour for maintenance and refuelling after
each sortie. Over a period of 24 hours this gives a 'unit sortie rate' of
6 per day using, obviously, more than one crew.
There are two approaches to the problem; one very detailed and the other
rather aggregated. We shall deal with the detailed approach first.
A Detailed Model
A sortie involves three phases. In the first, the aircraft are en route
to the target and are not at risk from enemy forces. In the second, they
are in the operational zone, and may be attacked. The third phase is a
return flight, which is also risk-free. It is assumed that aircraft which
have been damaged but not destroyed in the operational area succeed in
reaching home. Each phase takes 1 hour. After returning from the sortie,
the aircraft go through a maintenance phase after which they again become
available for sorties and, we shall suppose, are launched on a new sortie
as soon as they become available.
The reader should now draw his own Influence Diagram of this system,
comparing the result with Figure 10.9.
Most of the system is very straightforward. There are three delayed flow
modules, with a buffer of Aircraft Available for Sorties between the
interconnected pair and the third. As the problem description stands,
there is no need for this buffer. The assumption that aircraft are
launched as soon as maintenance is completed would mean that the
variables called Rate of Completing Maintenance and Aircraft Launch Rate
are identical. The buffer, however, allows scope for further development
to allow for policies such as only launching aircraft under certain
conditions, or when a certain number of aircraft are available. Leaving
scope for obvious developments is a good modelling strategy.
The tricky area in Figure 10.9 is the treatment of aircraft in the
operational area and the fact that some of them will leave after a
certain time while others will be destroyed before they can leave the
area. The Duration of the Danger Period is the magnitude of a delay, as
are DOUTBOUND, DRETURN and DMAINTAIN but this is a case in which the
contents of the delay affect its output in the sense that the number of
Aircraft in the Operational Area is a determinant of the Loss Rate and
both that rate and LEAVE, the Rate of Leaving the Operational Area, are
outputs from the delay. In such a case we must, as we saw in Chapter 6,
page 180, disaggregate the delay mechanisms, rather than relying on a
standard function such as DELAY3.
Fig10-10.cos on the disk shows a possible model for this problem, though
the reader should try to develop it himself before studying the solution.
The first point to note is that the War Switch prevents any flows from
occurring until TIME=5, thereby ensuring that all the delays are empty so
that levels for delay contents, such as ACOUT, the aircraft outbound to
the target, can be set to 0. Secondly, the outbound and return delays
have been modelled as 9th order delays by cascading three DELAY3
functions. The reason for this is that DELAY3 by itself would introduce
an unrealistic degree of dispersion into the flight time of the aircraft.
On the other hand a perfect or pipeline delay would involve assuming that
all aircraft leaving at a given time arrive exactly DOUTBOUND hours
later, which is probably also unrealistic, so a DELAY'9' seems to be a
reasonable compromise. This requires a very small value for DT, as seen
in Chapter 4, page 127. On the other hand, the maintenance delay is
modelled as DELAY3, as the amount of attention an aircraft needs will
vary considerably from one to another.
figure 10.9
The attrition mechanism can be modelled by using the idea of an average
'survival time', SURTIME. Since this is measured in hours, it gives Loss
Rate the required dimensions of [aircraft/hour]. This competes with the
delay in the danger area so that most aircraft will get out before they
are destroyed. The delay in the operational area is thus modelled as a
first-order delay with two outputs. This may well be realistic as the
dispersion in the time aircraft spend in the operational area is probably
quite large, with some aircraft attacking targets close to its edge while
others having to fly further. One could easily disaggregate this into a
third or higher order delay, though it is doubtful if the increase in
'accuracy' would be more than illusory. One of the problems in Appendix B
introduces the complication of non-negativity constraints.
A mass balance check is an essential feature of such a model.
An alternative formulation which is often used is to write :
r lossr.kl=oparea.k*enarea.k*eneff
OPAREA=(aircraft) own aircraft in operational area
ENAREA=(enaircraft) enemy aircraft in operational
area
ENEFF=(1/(enaircraft*hour)) enemy aircraft
'hunting' efficiency.
The rather strange dimension for ENEFF is correct and is the reciprocal
of the number of enemy aircraft-hours needed to find and destroy an
attacking aircraft. Note the use of different names for the two sides'
aircraft.
One of the advantages of this formulation is that it allows one to model
the benefits to the attacking side of attempting to attack when there are
few enemy aircraft available. Conversely, one can model the enemy's
strategy of investing in early warning radar so that aircraft can be
available at the right time or in command and control radar to increase
ENEFF.
Running this model produces the dynamics of Figure 10.10. The immediate
launch of all aircraft at TIME=5 leads to a peak of about 35 aircraft in
the operational area, because the dispersion in the 9th order delay has
spread the aircraft across the outbound and return phases, as has the
first order delay in the operational area. Note that, after the initial
pulse effect has worn off, the system settles down into smooth decline,
as losses mount.
This model may be acceptably realistic for a defender who tries to keep
aircraft aloft to meet incoming raids, but it is less acceptable for an
attacker, who sends aircraft in waves.
figure 10.10
This is modelled in fig10-11.cos in which the launch rate is based on
sending groups of aircraft every 2 hours, providing there are sufficient
aircraft available. This model does not require WSWITCH, as the first
pulse of aircraft is launched at WSTART. In Figure 10.11A, groups of 20
aircraft produce a steady flow of attacks until about TIME=55, after
which point the cumulative losses make it harder to assemble a
sufficiently large group of aircraft and the raid pattern breaks up. With
raids of 50 aircraft, Figure 10.11B, a steady rhythm of large raids
builds up (very predictably from the defending enemy's point of view)
but, after about TIME=65, more than 50 aircraft have been lost, so there
are no longer sufficient aircraft to mount another.
One aspect of this model is that a decision on whether or not to launch a
raid is made every 2 hours. At one decision point, there might be not
quite enough aircraft to launch a raid, so none is mounted. The
additional aircraft might become available shortly thereafter, but the
next decision will not be made until the next two-hour point. A
refinement is to launch raids every 2 hours, or as soon after as the
aircraft become available. That is a problem in Appendix B.
A Simpler Approach
The detailed model might be an appropriate basis for aircraft operations
when the emphasis of the model is on air warfare. When the air component
is only one aspect of a much wider model, a more aggregate approach might
be more suitable.
The number of aircraft can be written as :
l airc.k=airc.j+dt*(-lossr.jk)
n airc=inac
c inac=100
(99)
AIRC=(aircraft) number of aircraft
LOSSR=(aircraft/day) loss rate
INAC=(aircraft) initial number of aircraft
The sortie 'rate' can be modelled as an Auxiliary because it will act as
an intermediate step between the level of AIRC and a rate, RDAM, which we
shall meet below :
a sortrat.k=airc.k*unsortr
(100)
SORTRAT=(sortie/day) generation of sorties
UNSORTR=((sortie/day)/aircraft) unit sortie rate
Note the form of the dimensions for UNSORTR.
Damage to the enemy from the sorties can be written :
r rdam.kl=sortrat.k*dampsort
(101)
figure 10.11
RDAM=(damageunit/day) rate of inflicting damage on
enemy
DAMPSORT=(damageunit/sortie) damage inflicted per
sortie
The 'damageunit' can be anything suitable, such as bombs dropped.
The loss rate becomes :
r lossr.kl=sortrat.k*lossfac
(102)
LOSSFAC=(aircraft/sortie) number of aircraft lost
per sortie flown
This is, in effect, the probability of loss during a sortie, though it is
not expressed in the units of probability.
Comment and Caution
Modelling of defence problems has been a very successful topic for System
Dynamics; a brief summary being given in the next Chapter when we survey
the range of applications of the discipline.
Summary
In this Chapter, and in the associated problems in Appendix B, we have
endeavoured to dispel the notion that System Dynamics is restricted to
the modelling of simple linear and continuous systems. Some further
instances of that will be seen in one of the case studies in Chapter 11.
The examples chosen for the Chapter are intended to provide some useful
tools, such as the accountancy sector, and to help the student to develop
the ability and confidence to handle complex problems, such as the blast
furnace problem. Space considerations preclude the study of such problems
as random breakdowns in production plant and complex logical choices
about corporate borrowing and repayment of debt. The author's manual
Equations for Systems describes about 25 more comparably complex
modelling problems. It is available as explained on the order form at the
end of the book.
In fact, the capability of the System Dynamics syntax is practically
limitless and it is a great tribute to Jack Pugh, the developer of the
first System Dynamics package, DYNAMO, that the concepts on which it and
its successors are based have stood the test of being applied to problems
undreamt of in the 1960s. In short, if a problem involving dynamics can
be understood, it can be modelled. The key to understanding is to acquire
the skill to think in terms of time.
COSMIC has a function called NCLIP which produces the same result from
one function.
This problem is based on one of the author's consultancy assignments;
in this case for a major international resources company.
Some accountancy treatments use the term 'Shareholders capital' to
refer to the total of the money originally invested and the capital
retained in the business.
Different System Dynamics software packages use other names for similar
features. TABLE is, however, the original terminology.
Recall the discussion in Chapter 5 that the TABHL function uses a
horizontal 'tail' if the argument goes outside the stipulated range.
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ€
„
ÿÿ¤
w ¨
ÿÿ´
t Q
q U
n ½
k À
h ½
e Ô
b
_
\ p
Y r
V ÜÜ
r
¤
x
u
r
o
l
W
T
V
$
$
¦
ì
í
î
4
i D
f —
c ¯
` ±
] ½
Z
r
x u Ô'
r é'
o ½)
l ¾)
e »*
@
b Ñ*
_ á6
\ í6
Y Î9
V æ9
S ·;
P r
·; Ã; x ¶<
W ªK T r
ªK
ðT
x
u Ë<
r
?
o 1?
l 5?
i ??
f ºD
c ÓD
` sG
] ŒG
Z ”K
U
u ›V
^
r ¹V
o dZ
l }Z
i :]
f ]]
c •]
` ™]
] í]
Z
^
W
$^ x ¤^ u ¥^ n
d k d h šl e ¹l
b $x
_ 8x
@
\ :x
Y Fx
V üy
S
z
P r
^
T r
z
O
{ x {
z P r
u Š{
r Ž{
o Ö}
l á}
i
~
f
~
c ú•
` û•
Y
€
V
€
€
O
_€
z
x a€
q c€
n f€
k i€
h j€
a r€
^ s€
W t€
P ؀
M ê€
J
€
ê€
W
a•
˜
¡
2¡
¦
nƒ x †ƒ u ‡ƒ r ”ƒ o f… l ‘… i ?‹ f J‹ c KŽ ` ^Ž ] e•
a• T
Ô• x ?– u R– r û— o
l ˜ i -˜ f µš c Æš ` žœ ] Áœ Z W 2¡ T
©¢ x -¢ u
r %¦ o &¦ h (¦ e £§ b ʧ _ /´ \ 5´ Y üµ V ¶ S ϼ P
@
Z g•
ϼ ã¼ x â½
W ·Æ T
·Æ ØÆ x àÆ
u ì½
u
r ÿ½
o
¾
l ºÀ
i ÄÀ
f …Å
c ΁
` ²Å
] ¶Å
Z ±Æ
Í
r +Í
o øÓ
l
Ô
i
ç
Lê Xê
ï o 1ï
T
—
P
] I!
X" c"
W ŽŽ- •B
ͬ/ x
ô
2 (2
f !ç
` •é
] #ê
Z Jê
W Lê
T
x Áî u Äî r l £ñ i »ñ f ³õ
c »õ
` ýþ
]
Z s
x ™
Z P!
x #
T
t –ô
-/
c pé
r ¥
T
r )
o D
l ›*
i ³*
f µ*
c Á*
` _-
q —-
j žô
g Ÿ- ` Äô
] Åô
V È-
S Éô
L Ì- I Íô
)
q ´/ n µ/ g ½/ d ¾/
ô
6
ô
x k2 u l2 n •3 k ž3 h
] Ö/
ô
i R
W —
u ›
W X"
u $#
o
l Z
ÿ
Z ï/
f e
W
ô
c ú
0
T
`
0
M
] k-
2
J
Z l-
5
e
5
b ^<
@
_ _<
X ä<
U å<
N ÎD
K ô
ô
ô
ÎD
S
×D x lG
] P
u •G
r 2L
o kL
@
l ,N
i NN
f <U
c =U
\ ÖY
Y ðY
V ó\
] Âe x æe u ©g r ½g o ÿg l h i ‘q f °q c ~t ` Ót ] >~
Z ]~ W • T
• ¥• x F„ u J„ r n‡ o r‡ l •‰ i ™‰ f “Œ c ²Œ ` „‘ ] Œ‘ Z •’
W •’ T
•’ €“ x •“ u ^” r q” o
•
l $• i – f – c À– ` Ж
] W˜ Z ^˜ W S› T
S› |› x óŸ u
r F
o N
l ²¦
K S›
ô
ô
ô
i º¦
b ½¦
_ æ
X ɦ
U Ѧ
N Jª
Jª Lª
K S›
t |«
q ƒ«
n „«
k …«
h •«
a í´
^ ï´
W †»
T š»
Q Ç»
N Ì»
ô
Ì» ¨Á x »Á u ‚ r ‹Â o [Å l pÅ g ÑÇ d ÔÇ ÿÿÕÇ _ *È [ .È ÿÿ/È
V ±È R
@
@
±È ³È y ´È t UÉ p WÉ ÿÿYÉ l ZÉ g ÛÉ c ÝÉ a ÞÉ \ eÊ X gÊ ÿÿ/È
V ±È R
@
@
@
€
‚
ÿÿ„
ÿÿ•
x ’
x ¦
x ¨
x ¶
ÿÿ¸
ÿÿ»
ÿÿ½
ÿÿ æ@ð
æ
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
½
ó
ÿÿõ
ÿÿ
ÿÿ
ÿÿI
ÿÿK
ÿÿº
ÿÿ½
ÿÿÔ
ÿÿÖ
ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
Ö
ô
ÿÿö
ÿÿ
ÿÿ
ÿÿ@
ÿÿO
ÿÿQ
ÿÿ‚
ÿÿ„
ÿÿ‰
ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
‰
‹
ÿÿ¢
ÿÿ¤
ÿÿ
ÿÿ"
ÿÿW
ÿÿŒ
ÿÿŽ
ÿÿÆ
ÿÿÈ
ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
È
û
ÿÿý
ÿÿ2
ÿÿ4
ÿÿF
ÿÿH
ÿÿN
ÿÿP
ÿÿ2
ÿÿ4
ÿÿ
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ
æ@ð
æ@ð æ@ð
æ@ð <
4
j
ÿÿl
ÿÿ
ÿÿ
ÿÿž
ÿÿ
ÿÿÀ
ÿÿÂ
ÿÿý
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
ÿ
•
ÿÿ—
ÿÿ¯
ÿÿ±
ÿÿ½
ÿÿ¿
ÿÿ€- ÿÿ‚- ÿÿb! ÿÿd! ÿÿ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
ÿÿÿ
æ@ð
ÿÿ
æ@ð
æ@ð
æ@ð
æ
æ@ð
æ@ð <
d!
$ ÿÿ
$ ÿÿ$ ÿÿ!$ ÿÿo$ ÿÿq$ ÿÿ¤$ ÿÿ¦$ ÿÿÞ$ ÿÿ÷$ ÿÿ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
÷$ % ÿÿF% ÿÿH% ÿÿÛ& ÿÿÝ& ÿÿÒ' ÿÿÔ' ÿÿé' ÿÿë' ÿÿ0( ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
0( 2( ÿÿm( ÿÿo( ÿÿÁ) ÿÿÃ) ÿÿ¹* ÿÿ»* ÿÿÑ* ÿÿÔ* ÿÿ_+ ÿÿ
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
_+ a+ ÿÿ•+ ÿÿŸ+ ÿÿ•- ÿÿ’ÿÿy. ÿÿ{. ÿÿú. ÿÿü. ÿÿâ0 ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
â0 ä0 ÿÿ*1 ÿÿ,1 ÿÿb1 ÿÿd1 ÿÿˆ1 ÿÿ¡1 ÿÿ½1 ÿÿ¿1 ÿÿ 2 ÿÿ
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
2
2 ÿÿK2 ÿÿM2 ÿÿƒ2 ÿÿ…2 ÿÿú2 ÿÿü2 ÿÿ23 ÿÿ43 ÿÿ 5 ÿÿ
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
5 -5 ÿÿP5 ÿÿR5 ÿÿÂ5 ÿÿÄ5 ÿÿí5 ÿÿ$6 ÿÿ&6 ÿÿL8 ÿÿN8 ÿÿ
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
N8 ›8 ÿÿ•8 ÿÿÆ8 ÿÿø8 ÿÿú8 ÿÿ§9 ÿÿÌ9 ÿÿÎ9 ÿÿæ9 ÿÿè9 ÿÿ
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
è9 q: ÿÿs: ÿÿ¥: ÿÿ§: ÿÿµ; ÿÿ·; ÿÿÃ; ÿÿÅ; ÿÿ´< ÿÿ¶< ÿÿ
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
¶< Ë< ÿÿÍ< ÿÿN> ÿÿP> ÿÿ ? ÿÿ ? ÿÿ3? ÿÿ5? ÿÿA? ÿÿC? ÿÿ
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
C? ÀA ÿÿÂA ÿÿ¸D ÿÿºD ÿÿÕD ÿÿ×D ÿÿ£F ÿÿ¥F ÿÿØF ÿÿòF ÿÿ
æ@ð
æ@ð
æ
æ@ð
æ
æ@ð
æ
æ@ð
æ
æ@ð
æ
æ@ð
æ
æ@ð
æ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
òF ôF ÿÿ G ÿÿBG ÿÿqG ÿÿsG ÿÿŽG ÿÿ•G ÿÿ H ÿÿ H
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
=H ?H ÿÿtH ÿÿ®H ÿÿÇH ÿÿÉH ÿÿ•I ÿÿ‘I ÿÿÆI ÿÿÈI
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
ôI öI ÿÿ’K ÿÿ”K ÿÿ¬K ÿÿ®K ÿÿ¸N ÿÿºN ÿÿÕN ÿÿ×N
@ð
æ@ð
æ@ð
æ@ð
ÿÿ=H
ÿÿ
æ@ð
æ
ÿÿôI
ÿÿ
æ@ð
æ
ÿÿñN
ÿÿ
æ@ð
æ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
ñN óN ÿÿOO ÿÿQO ÿÿ€O ÿÿ›O ÿÿ•O ÿÿÒO ÿÿ P ÿÿ;P
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
aP cP ÿÿgR ÿÿiR ÿÿ•R ÿÿƒR ÿÿ+S ÿÿ-S ÿÿðT ÿÿòT
ÿÿaP
ÿÿ
ÿÿ
æ@ð
æ
U ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
<
U
U ÿÿ™V ÿÿ›V ÿÿ»V ÿÿ½V ÿÿaZ ÿÿdZ ÿÿ•Z ÿÿ•Z ÿÿ8] ÿÿ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
8] :] ÿÿ_] ÿÿa] ÿÿë] ÿÿí] ÿÿ ^ ÿÿ ^ ÿÿ&^ ÿÿ(^ ÿÿ
æ@ð
æ@ð
b
ÿÿ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
<
b
b
ÿÿ c ÿÿ c ÿÿ¦c ÿÿ¨c ÿÿÐc ÿÿ d ÿÿ
d ÿÿ d ÿÿ d ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
d +d ÿÿd ÿÿ[d ÿÿ•d ÿÿÄd ÿÿ÷d ÿÿ1e ÿÿ3e ÿÿ:e ÿÿ<e ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
<e ae ÿÿ•e ÿÿ¶e ÿÿæe ÿÿ f ÿÿ0f ÿÿaf ÿÿ}f ÿÿ°f ÿÿêf ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
êf
g ÿÿ2g ÿÿ^g ÿÿ–
g ÿÿÍg ÿÿ h ÿÿ(h ÿÿ*h ÿÿOh ÿÿQh ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð <
Qh qh ÿÿsh p $i p &i ÿÿài e âi ÿÿŸj Z
æ@ð
æ@ð
æ@ð
æ@ð
@ð
æ@ð
æ@ð
æ@ð
< Ð 0ý
< Ð 0ý
< Ð 0ý Ÿj ¡j ÿÿk p /k ÿÿ˜l e šl ÿÿ¹l ÿÿ»l ÿÿºp ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð Ð 0ý
< Ð 0ý
< Ð 0ý ºp ¼p ÿÿ r ÿÿ r ÿÿ+t ÿÿt ÿÿUu ÿÿòu ÿÿôu ÿÿ v ÿÿAv ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
Av Kv ÿÿjv ÿÿ•v ÿÿµv ÿÿÀv ÿÿãv ÿÿ w ÿÿ w ÿÿ w ÿÿ§w ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
§w ©w ÿÿ"x ÿÿ$x ÿÿ8x ÿÿ:x ÿÿFx ÿÿHx ÿÿÀy ÿÿÂy ÿÿúy ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
úy üy ÿÿ z ÿÿ
z ÿÿ { ÿÿ { ÿÿ { ÿÿ { ÿÿ#| ÿÿ%| ÿÿÔ} ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
Ô} Ö} ÿÿá} ÿÿã} ÿÿ9~ ÿÿ;~ ÿÿq~ ÿÿs~ ÿÿ¨~ ÿÿË~ ÿÿæ~ ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
æ~
• ÿÿ • ÿÿ¸• ÿÿº• ÿÿÖ€ ÿÿØ€ ÿÿê€ ÿÿì€ ÿÿ„• ÿÿ†• ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
†• lƒ ÿÿnƒ ÿÿ–ƒ ÿÿ˜ƒ ÿÿ
„ ÿÿ „ ÿÿT„ ÿÿV„ ÿÿŒ„ ÿÿŽ„ ÿÿ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
Ž„ ¼… ÿÿ¾… ÿÿô… ÿÿö… ÿÿ“† ÿÿ•† ÿÿÞ† ÿÿà† ÿÿ ‡ ÿÿ ‡ ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
‡ N‡ p „‡ p ¿‡ ÿÿ⇠ÿÿþ‡ ÿÿ2ˆ ÿÿSˆ ÿÿUˆ ÿÿQ‰ ÿÿ æ@ð
æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@
< Ð 0ý
Q‰ S‰ ÿÿÞŠ ÿÿàŠ ÿÿùŠ ÿÿûŠ ÿÿ1‹ ÿÿ3‹ ÿÿ§• ÿÿ©• ÿÿIŽ ÿÿ
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ
æ
æ
æ
æ
æ
æ
æ
æ
æ@ð
æ@ð
æ@ð 0ý
IŽ KŽ ÿÿ^Ž ÿÿ`Ž ÿÿŽ ÿÿ‘Ž ÿÿ·Ž ÿÿ¹Ž ÿÿØ• ÿÿÚ•
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
Z• \• ÿÿg• ÿÿi• ÿÿ • ÿÿÄ• ÿÿæ• ÿÿ
ÿÿZ•
ÿÿ
æ@ð
æ
‘ ÿÿ1‘ ÿÿ3‘ ÿÿ?‘ ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
?‘ A‘ ÿÿn‘ ÿÿ‘ ÿÿ»‘ ÿÿÞ‘ ÿÿ ’ ÿÿ#’ ÿÿH’ ÿÿ’ ÿÿ·’ ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
·’ é’ ÿÿ “ ÿÿ “ ÿÿ¨“ ÿÿª“ ÿÿù“ ÿÿû“ ÿÿ1” ÿÿ3” ÿÿ9” ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
9” ;” ÿÿq” ÿÿs” ÿÿ©” ÿÿ«” ÿÿ=– ÿÿ?– ÿÿR– ÿÿT– ÿÿø—
ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
ø— ú— ÿÿ-˜ ÿÿ0˜ ÿÿg˜ ÿÿˆ˜ ÿÿº˜ ÿÿÛ˜ ÿÿ
™ ÿÿ"™ ÿÿC™ ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
C™ x™ ÿÿz™ ÿÿƒ™ ÿÿ…™ ÿÿ¼™ ÿÿ¾™ ÿÿÙ ÿÿÅ™ ÿÿü™ ÿÿþ™ ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
þ™
š ÿÿ-š ÿÿVš ÿÿXš ÿÿ³š ÿÿµš ÿÿÆš ÿÿÈš ÿÿþš ÿÿ › ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
› 6› ÿÿ8› ÿÿU› ÿÿƒ› ÿÿ…› ÿÿ§› ÿÿ©› ÿÿœœ ÿÿžœ ÿÿÁœ ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
Áœ Ãœ ÿÿc• ÿÿe• ÿÿ • ÿÿ¢• ÿÿÍ• ÿÿ ž ÿÿ"ž ÿÿIž ÿÿKž ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
Kž §Ÿ ÿÿ©Ÿ ÿÿ ¡ ÿÿ¡ ÿÿ2¡ ÿÿ4¡ ÿÿž¡ ÿÿ ¡ ÿÿË¡ ÿÿÍ¡ ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
Í¡
¢ ÿÿ ¢ ÿÿ*¢ ÿÿW¢ ÿÿY¢ ÿÿE¤ ÿÿG¤ ÿÿ ¦ ÿÿ
¦ ÿÿ(¦ ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð æ@ð
æ@ð
0ý
(¦ *¦ ÿÿè¦ ÿÿê¦ ÿÿ § ÿÿ § ÿÿS§ ÿÿU§ ÿÿ¡§ ÿÿ£§ ÿÿʧ ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
ʧ ̧ ÿÿ « ÿÿ « ÿÿ ¬ ÿÿ-¬ ÿÿT¬ ÿÿV¬ ÿÿ - ÿÿ - ÿÿ‚¯ ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ
æ
æ
æ
æ
æ
æ
æ
æ@ð
‚¯
@ð
< < ÿÿ
!³
@ð
,´
@ð
¶
@ð
u·
@ð
æ@ð
NÁ
æ@ð
0ý
„¯ ÿÿú¯ p ü¯ p G° p I° ÿÿ•° e ’° ÿÿÌ° ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
Ð 0ý
Ð 0ý Ì° ΰ ÿÿ ± ÿÿ ± ÿÿ¡± ÿÿ£± ÿÿÙ± ÿÿÛ± ÿÿé² ÿÿë²
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
#³ ÿÿ*³ ÿÿ,³ ÿÿZ³ ÿÿ\³ ÿÿn³ ÿÿp³ ÿÿ¦³ ÿÿ¨³ ÿÿ,´ ÿÿ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
/´ ÿÿ5´ ÿÿ7´ ÿÿo´ ÿÿq´ ÿÿ§´ ÿÿ©´ ÿÿúµ ÿÿüµ ÿÿ ¶ ÿÿ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
¶ ÿÿȶ ÿÿʶ ÿÿ · ÿÿ · ÿÿ · ÿÿ · ÿÿK· ÿÿM· ÿÿu· ÿÿ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
w· ÿÿð· ÿÿò· ÿÿͼ ÿÿϼ ÿÿã¼ ÿÿæ¼ ÿÿ¬¿ ÿÿ®¿ ÿÿNÁ ÿÿ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
PÁ ÿÿLÃ ÿÿNÃ ÿÿ%Ä ÿÿ'Ä ÿÿ Å ÿÿ Å ÿÿuÅ ÿÿwÅ ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
wÅ ŸÆ p ¡Æ ÿÿ È e È ÿÿ{Ë ÿÿ}Ë ÿÿjÌ ÿÿlÌ ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
< Ð 0ý
< Ð 0ý lÌ
æ@ð
æ
ÿÿ!³
æ@ð
æ
æ
æ@ð
æ
æ@ð
æ
æ@ð
Í
ÿÿ
Í ÿÿ+Í ÿÿÍ ÿÿpÎ ÿÿrÎ ÿÿ¨Î ÿÿªÎ ÿÿÓÎ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
ÕÎ
ÿÿÕÎ
ÿÿ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
Ï
ÿÿ
Ï ÿÿ>Ï ÿÿ@Ï ÿÿnÐ ÿÿpÐ ÿÿ–
Ð ÿÿ˜Ð ÿÿÓÐ ÿÿÕÐ ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
ÕÐ
Ñ ÿÿ Ñ ÿÿ Ñ ÿÿ Ñ ÿÿQÑ ÿÿSÑ ÿÿüÑ ÿÿþÑ ÿÿ4Ò ÿÿ6Ò ÿÿ
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
6Ò hÒ ÿÿ•Ò ÿÿ¹Ò ÿÿ»Ò ÿÿÌÒ ÿÿÎÒ ÿÿ Ó ÿÿ Ó ÿÿöÓ ÿÿøÓ ÿÿ
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
øÓ
æ@ð
æ@ð
æ
æ@ð
æ
Ô
ÿÿ
Ô ÿÿÍÔ ÿÿÏÔ ÿÿ
Ø ÿÿ Ø ÿÿMØ ÿÿOØ ÿÿ^Ø ÿÿ`Ø ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
`Ø ŠØ ÿÿ±Ø ÿÿ³Ø ÿÿÈØ ÿÿÊØ ÿÿ Ù ÿÿ Ù ÿÿÀÙ ÿÿÂÙ ÿÿøÙ ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
øÙ úÙ ÿÿ-Ü ÿÿ Ü ÿÿ|Ý ÿÿ~Ý ÿÿþÝ ÿÿ Þ ÿÿ6Þ ÿÿ8Þ ÿÿnÞ ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
nÞ pÞ ÿÿ'ß ÿÿ)ß ÿÿ_ß ÿÿaß ÿÿ—
ß ÿÿ™ß ÿÿÀß ÿÿãß ÿÿ à ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
à
à ÿÿ á ÿÿ=ä ÿÿ?ä ÿÿÍå ÿÿÏå ÿÿþæ ÿÿ ç ÿÿ!ç ÿÿ#ç ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
#ç né ÿÿpé ÿÿ•é ÿÿ•é ÿÿ!ê ÿÿ#ê ÿÿJê ÿÿLê ÿÿXê ÿÿZê ÿÿ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
Zê äê ÿÿæê ÿÿ ë ÿÿ-ë ÿÿTë ÿÿVë ÿÿ†ë ÿÿ³ë ÿÿÙë ÿÿ ì ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
ì
ì ÿÿOí ÿÿQí ÿÿ™ð ÿÿ›ð ÿÿ¡ñ ÿÿ£ñ ÿÿ½ñ p ¿ñ ÿÿ æ@ð
æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@
< Ð 0ý
¿ñ ½ó ÿÿ±õ ÿÿ³õ ÿÿ»õ ÿÿ½õ ÿÿ¨ö ÿÿªö ÿÿàö ÿÿâö ÿÿ ÷ ÿÿ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
÷ :÷ ÿÿg÷ ÿÿŽ÷ ÿÿ•÷ ÿÿÙ÷ ÿÿÛ÷ ÿÿ ø ÿÿ ø ÿÿJø ÿÿ€ø ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
€ø ºø ÿÿæø ÿÿ ù ÿÿ ù ÿÿGù ÿÿIù ÿÿ•ù ÿÿµù ÿÿëù ÿÿ!ú ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
!ú #ú ÿÿYú ÿÿ~ú ÿÿ°ú ÿÿêú ÿÿ%û ÿÿUû ÿÿWû ÿÿÿü ÿÿ ý ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
ý -ý ÿÿ ý ÿÿVý ÿÿŒý ÿÿŽý ÿÿÄý ÿÿâý ÿÿ
þ ÿÿ þ ÿÿûþ ÿÿ æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
ûþ ýþ ÿÿ ÿ ÿÿ ÿ ÿÿR
ÿÿT
ÿÿq
ÿÿs
ÿÿ™
ÿÿ›
ÿÿM
ÿÿ æ@ð
@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð 0ý
M
P
ÿÿ•
ÿÿ™
ÿÿ›
ÿÿ§
ÿÿ©
ÿÿ˜
ÿÿš
ÿÿB
ÿÿD
ÿÿ
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ
æ
æ
æ
æ
æ
æ
æ
æ@ð
æ@ð
D
Z
ÿÿ/
ÿÿe
ÿÿ}
ÿÿ±
ÿÿæ
ÿÿ æ@ð
æ
ÿÿ>
ÿÿ@
ÿÿÑ
ÿÿÓ
ÿÿÂ
æ@ð
æ@ð 0ý
ÿÿ\
ÿÿõ
ÿÿ÷
æ@ð
æ@ð
æ@ð
ÿÿ-
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
0ý
ÿÿÄ
ÿÿ:
ÿÿ<
ÿÿr
ÿÿ
r
æ@ð
æ@ð
æ@ð
æ@ð
æ@ð
0ý
t
ÿÿ¤
ÿÿÀ
ÿÿÂ
ÿÿ
ÿÿ
ÿÿä
ÿÿæ
E
|
ÿÿ~
ÿÿC
ÿÿE
0ý
ÿÿ°
ÿÿË
1
3
ÿÿ
ÿÿ
ÿÿO
ÿÿQ
ÿÿ=
ÿÿ?
ÿÿP
i
ÿÿü
ÿÿ» ÿÿ
» ½ÿÿ•! ÿÿV"
ÿÿþ
ÿÿ{
ÿÿ}
ÿÿ@
ÿÿB
ÿÿ
ÿÿX"
ÿÿc"
ÿÿe"
ÿÿ #
ÿÿ #
&#
Š%
ÿÿÂ%
ÿÿø%
ÿÿ.&
ÿÿ0&
ÿÿó&
.'
Ñ' ÿÿâ' ÿÿä' ÿÿ
( ÿÿD( ÿÿF( ÿÿ )
g
ÿÿŒ%
ÿÿ
ÿÿÍ
ÿÿ
ÿÿ
ÿÿø
ÿÿÁ*
ÿÿ -
ÿÿ -
¾3
À3
ÿÿ‘5
ÿÿ“5
_8
a8
ÿÿ¶8
¬9
B:
Ú;
<
ÿÿ
ÿÿ&#
ÿÿ
ÿÿ,'
0ý
ÿÿ.'
ÿÿ+,
ÿÿ-
ÿÿ»-
ÿÿ½-
ÿÿ
0ý
ÿÿƒ-
y …-
<
ÿÿ—
ÿÿ&0
ÿÿ
ÿÿ[2
ÿÿ}3
ÿÿ•3
ÿÿž3
ÿÿ 7
ÿÿ 7
ÿÿ°7
ÿÿ²7
ÿÿè7
ÿÿ¸8
ÿÿî8
ÿÿð8
ÿÿ 9
ÿÿE9
ÿÿy9
ÿÿD:
ÿÿí:
ÿÿï:
ÿÿ%;
ÿÿ[;
ÿÿ‘;
ÿÿ“;
ÿÿ <
ÿÿK<
ÿÿM<
ÿÿn<
p p<
p è<
Ð 0ý
<? >?
ÿÿš?
ÿÿœ?
ÿÿRA
ÿÿTA
ÿÿÌB
ÿÿlG
ÿÿnG
ÿÿ•G
ÿÿƒG
ÿÿ
×D ÿÿÙD
ÿÿ
ÿÿ•I ÿÿ—
ÿÿ
ÿÿ
ÿÿ )
ÿÿ$#
0ý
ÿÿõ&
) ™* ÿÿ›* ÿÿ³* ÿÿµ*
, ÿÿ
-, c, ÿÿe, ÿÿÛ, ÿÿÝ,
ÿÿ
½- õ- ÿÿ÷- ÿÿ1/ ÿÿ3/
/ ÿÿ™/ ÿÿÅ/ ÿÿü/ ÿÿ$0
<
&0 c0 ÿÿe0 ÿÿþ0 ÿÿ 1
ÎD
H
H
I
—I
J
ÿÿ
0ý
ÿÿ ) ÿÿ ) ÿÿ
0ý
ÿÿÃ* ÿÿÁ+ ÿÿÃ+
< -
ÿÿú
ÿÿ1
0ý
ÿÿR
ÿÿg
0ý
ÿÿ
ÿÿ¾3
ÿÿ
ÿÿ_8
ÿÿ
ÿÿ¬9
ÿÿ
ÿÿÚ;
ÿÿ
ÿÿê<
ÿÿ 3
<
ÿÿê7
<
ÿÿª9
<
ÿÿÂ;
<
ÿÿ<?
ÿÿÎB
ÿÿôC
ÿÿÌD
0ý
ÿÿ
ÿÿÎD
ÿÿ
0ý
J
ÿÿâK
P
<
U
<
<
<
U
P
ÿÿ
\W
ÿÿäK
ÿÿ*N
ÿÿ,N
ÿÿ…P
ÿÿPN
p TP
Ð 0ý öP
ÁQ
p ÃQ
ÿÿÄS
e ÆS
ÿÿ-U
Z
ÿÿÄX
e ÆX
e ÔY ÿÿÖY
Ð 0ý
ÿÿðY
ÿÿòY
ÿÿ ]
ÿÿ
< Ð 0ý
< Ð 0ý òY õZ ÿÿ÷Z ÿÿñ\
] ÿÿ)_ ÿÿ+_ ÿÿa_ ÿÿ—
_ ÿÿ
—
_ Í_ ÿÿÏ_ ÿÿ ` ÿÿ3` ÿÿT`
ÿÿºP
ÿÿ^O ÿÿ P ÿÿ
0ý
ÿÿôP ÿÿöP ÿÿ
ÿÿMP
Ð 0ý
Ð 0ý
Ð 0ý
p ^W
ÿÿ~P
ÿÿNN
ÿÿó\
0ý
ÿÿ~`
ÿÿ¤`
ÿÿ½`
ú`
a
ÿÿ a
ÿÿõb
ÿÿ÷b
ÿÿ]d
ÿÿ_d
ÿÿÐd
ÿÿÒd
Âe
æe
ÿÿèe
ÿÿJg
ÿÿLg
ÿÿii
ÿÿki
ÿÿOk
ÿÿQk
Ðk
l
ÿÿ<l
ÿÿrl
ÿÿ¨l
ÿÿÞl
ÿÿ m
ÿÿJm
ÿÿLm
¥m
ºm
ÿÿçm
ÿÿ n
ÿÿSn
ÿÿƒn
ÿÿ¤n
ÿÿÈn
ÿÿån
Po
ˆo
ÿÿÂo
ÿÿöo
ÿÿ0p
ÿÿJp
ÿÿLp
ÿÿhq
ÿÿjq
‘q
°q ÿÿ²q ÿÿ t ÿÿ
t ÿÿ|t ÿÿ~t ÿÿÓt
< y
z
y
ÿÿ
p Õt
ÿÿ
ÿÿ w
ÿÿÖ` ÿÿú` ÿÿ
0ý
ÿÿÀe ÿÿÂe ÿÿ
0ý
ÿÿÎk ÿÿÐk ÿÿ
0ý
ÿÿsm ÿÿ¥m ÿÿ
0ý
ÿÿ o ÿÿPo ÿÿ
0ý
ÿÿ•q ÿÿ‘q ÿÿ
0ý
ÿÿ
Ð 0ý
w
w
ÿÿ·w
ÿÿ¹w
ÿÿ x
ÿÿ x
ÿÿGx
ÿÿ8y
ÿÿpy
ÿÿ“y
ÿÿÉy
ÿÿËy
ÿÿ
ÿÿIx
ÿÿÇx
ÿÿÉx
0ý
ÿÿ y
ÿÿ
z
ÿÿBz
0ý
Dz —
z ÿÿ™z
ÿÿDz
ÿÿ
ÿÿÏz
ÿÿ {
ÿÿ;{
ÿÿ={
ÿÿt{
ÿÿv{
»{
Â|
ÿÿÄ|
ÿÿ<~
ÿÿ>~
ÿÿ]~
ÿÿ_~
ÿÿ •
•
Å€
ÿÿÇ€
ÿÿ ‚
ÿÿóƒ
ÿÿõƒ
ÿÿD„
ÿÿF„
ù…
l‡
ÿÿn‡
ÿÿŽ‰
ÿÿ‰
ÿÿ™‰
ÿÿ›‰
ÿÿk‹
“Œ ²Œ ÿÿ´Œ ÿÿŽ• ÿÿ••
• ÿÿ!• ÿÿÚ• ÿÿÜ• ÿÿ
0ý
Ü• ‚‘ ÿÿ„‘ ÿÿ’ p •’
ÿÿ³Ž
ÿÿµŽ
ÿÿ-
ÿÿ~“
e €“
ÿÿ\”
< < < • p
Ð 0ý
Ð 0ý
Ð 0ý \”
^”
ÿÿ
ÿÿ¹{ ÿÿ»{ ÿÿ
0ý
ÿÿ • ÿÿž• ÿÿ •
0ý
ÿÿ0… ÿÿ÷… ÿÿù…
0ý
ÿÿm‹ ÿÿ‘Œ ÿÿ“Œ
0ý
Z
ÿÿ
ÿÿ
ÿÿ
•
ÿÿ
ÿÿ
< < < U˜
–
< -
Ð 0ý
Ë• Í•
Ð
Ð
Ð
p
e
–
ÿÿ¾–
0ý
0ý
0ý À–
W˜ ÿÿ`˜
ᢠ㢠ÿÿ—
¥ ÿÿ™¥ ÿÿz¨
Z À–
ÿÿb˜
ÿÿaŸ
ÿÿ|¨
ÿÿQ›
ÿÿcŸ
ÿÿ ©
ÿÿS›
ÿÿñŸ
ÿÿ ©
ÿÿz› ÿÿ|›
Ð 0ý
ÿÿóŸ
ÿÿÕ¬
æ¬
<°
ÿÿ>°
ÿÿ}°
ÿÿ•°
ÿÿ½°
ÿÿ¿°
O±
n±
ÿÿŸ±
ÿÿ×±
ÿÿÙ±
ÿÿ·²
ÿÿ¹²
ëµ
¤¶
ÿÿ³¶
ÿÿ¶¶
ÿÿ©¹
ÿÿ«¹
ÿÿ„»
Œ¼ Ž¼ ÿÿº¼ ÿÿ¼¼ ÿÿò¼ ÿÿ ½
½ ÿÿ ½ ÿÿ5½ ÿÿV½ ÿÿƒ½ ÿÿ
0ý
ƒ½ …½ ÿÿ,¾ ÿÿ.¾ ÿÿd¾ ÿÿf¾
ÿÿ
ÿÿ
ÿÿË•
ÿÿq¢
ÿÿ㬠ÿÿæ¬ ÿÿ
0ý
ÿÿä° ÿÿæ° ÿÿ ±
0ý
ÿÿ%´ ÿÿ'´ ÿÿéµ
0ý
ÿÿ†» ÿÿš» ÿÿœ»
0ý
ÿÿ
ÿÿs¢
0ý
ÿÿá¢
ÿÿO±
ÿÿ
ÿÿëµ
ÿÿ
ÿÿŒ¼
ÿÿ
ÿÿ
ÿÿ
ÿÿ“¾
ÿÿǾ
ÿÿɾ
ÿÿ÷¾ ÿÿù¾ ÿÿ
0ý
ù¾ 0¿ ÿÿ2¿ ÿÿh¿ ÿÿw¿ ÿÿz¿ ÿÿ¯¿ ÿÿÑ¿ ÿÿ À ÿÿ/À ÿÿ1À ÿÿ
0ý
1À tÀ ÿÿvÀ ÿÿ•À ÿÿ‘À ÿÿÇÀ ÿÿÉÀ ÿÿýÀ ÿÿ.Á ÿÿ0Á ÿÿ¦Á ÿÿ
0ý
¦Á ¨Á ÿÿ½Á ÿÿ¿Á ÿÿ€Â ÿÿ‚ ÿÿ‹Â ÿÿ•Â ÿÿªÃ ÿÿ¬Ã ÿÿøÅ ÿÿ
0ý
øÅ úÅ ÿÿÑÇ ÿÿÒÇ ÿÿÔÇ ÿÿ,È y .È y ±È y ³È y WÉ y YÉ y
æ@ð
æ@ð
O
YÉ ÛÉ y ÝÉ y gÊ y hÊ ÿÿ
WÉ y YÉ y
æ@ð
æ@ð
O
=) TÇ $^ ®Ç
¥¥ 1È ë1 ×È ¼T [É çÉ çÉ ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ"Ò ÈAƒ.H
ˆ6 s
@ Ð ø>Ð
Ø=È(@
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ>
;
{
•% ¸- ¹- ¦5 ™> ‡G TP âY –
b !j Èt Öt v|
„
)• +”
¿
ô
)› Ç£ G¬ -³ O¼ "Æ #Æ šÏ
! ¨) Î1 Ü1 Ä9 gC uC UM
•×
‚ß
£é
0ó
>ó
!ü
Î
¼
V
ƒ_ ëh ær öz £„ ±„ 5Ž ˜—
v¡ V¬ d¬ %¶ 4¶ é¾ ø¾ çÉ
L A
M @
N í
S ñ
T )
U
V œ
W Þ
X .
] »
^
_
d
e '
f
g ó
h ^
i
m Ô
n q
p !
q
s ×
t U
y
H
O
I
P 6
Y h
` d
Z ’
a c
j 6
o
r
u Ð
J
Q “
[ À
b T
k
v 0
K ¾
R
\ Á
c
l
w ä
x ¡
z
{ Æ
€
| 1
•
} =
~ {
•
‚
ƒ
„
…
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
RÇ
èÉ ÿÿÿÿÿÿÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
" *
02/23/9609/27/94çÉ ÜÜÜÜÜÜÜÜÜÜ
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
Download