Multimodel Scheduling Control of Nonlinear Systems Using Gap Metric

weights being functions of a defined closed-loop gap metric. The control algorithm is hybrid in that the global controller continuously weights the ou...
0 downloads 0 Views 224KB Size
Ind. Eng. Chem. Res. 2004, 43, 8275-8283

8275

Multimodel Scheduling Control of Nonlinear Systems Using Gap Metric Erdem Arslan and Mehmet C. C ¸ amurdan Department of Chemical Engineering, Bogazic¸ i University, Istanbul, 34342 Turkey

Ahmet Palazoglu Department of Chemical Engineering and Materials Science, University of California, One Shields Avenue, Davis, California 95616

Yaman Arkun* Department of Chemical and Biological Engineering, Koc¸ University, Istanbul, 34450 Turkey

A multimodel scheduling approach is proposed for controlling strongly nonlinear processes. A global controller is built from a weighted combination of local linear controller outputs with the weights being functions of a defined closed-loop gap metric. The control algorithm is hybrid in that the global controller continuously weights the outputs of the local controllers whereas the weights are updated at constant time intervals. The proposed strategy is then implemented on two simulated processes, one of which exhibits output multiplicity and the other exhibits input multiplicity. 1. Introduction Linear controllers can be synthesized to meet certain performance and robustness requirements using wellknown linear controller design methods; however, many important processes are nonlinear, and application of linear controllers to these processes may cause serious performance limitations, since a linear model cannot represent a nonlinear process in its whole operating range. Several remedies for this problem can be devised, such as adaptive control and gain scheduling.1,2 Another approach for the control of nonlinear plants relies on the use of multiple linear models3-6 in which the nonlinear plant is described by a combination of local linear models, each of which is valid in a particular operating region. First, local controllers for the local models are tuned. Next, the control actions of these local controllers are combined in the form of a global controller to be implemented on the nonlinear plant. Different techniques are used in the formation of the global controller. The implementation of multimodel-based techniques can be divided into two main categories: switching and weighting. In the techniques that use switching, output estimation errors of local linear models are used to select and place the best possible linear controller into feedback among candidate controllers. Logicbased switching algorithms are used to perform the selection. Several logics are used in the literature, for example, prerouted switching,7 hysteresis switching,8 and dwell-time switching.9 These methods are capable of determining in real-time which candidate controller should be put in feedback with a process in order to achieve the desired closed-loop performance.7 On the other hand, in the weighting algorithms, the weights are used to combine the multimodels or to calculate the * To whom all correspondence should be addressed. E-mail: [email protected].

local control actions from the output errors between the outputs of local linear models and the actual output of the nonlinear plant (e.g., see ref 10). In this paper, the weighting algorithm is used to implement the control strategy. A necessary step in the design of multimodel-based controllers is to decide on the number of models required to capture the salient dynamics of the process. This requires the definition of a distance measure that can quantify the similarity of models in a set, thus leading to a minimal number of models. Galan et al.11 used the gap metric as the means to select this minimal model set. In the previous studies, the concept of a gap metric has been used for quantifying robust stability,12,13,14 for designing decentralized controllers,15 and for control design of integrated plants.16 In this paper, we shall define a closed-loop gap metric and use it on-line to compute the weights of a global multimodel controller, which is designed to control a nonlinear process. The next section briefly reviews the concept of the gap metric and its implications for this study. This is followed by the introduction of our scheduling algorithms that exploits the gap metric to quantify the difference between local closed-loop performances. The scheduling is then applied to two simulated processes. 2. Gap Metric In the literature, the gap and other metrics were used to study how close two linear operators are.17-20 Zames and El-Sakkary21 used the gap metric to establish a topology to quantify the tolerable uncertainties that preserve closed loop stability. It has been shown that the gap metric is better suited to measure the distance between two linear systems than a metric based on norms,13 although it may have some shortcomings when the process has poles/zeros on the imaginary axis.22 The gap metric denoted by δ (P1, P2) introduces the notion

10.1021/ie049610o CCC: $27.50 © 2004 American Chemical Society Published on Web 11/24/2004

8276

Ind. Eng. Chem. Res., Vol. 43, No. 26, 2004

of “distance” between two closed operators P1 and P2 as the “gap” between their graphs.14 The calculation of the gap metric begins with two finite dimensional linear systems with the same number of inputs and outputs whose normalized right coprime factorizations are given by

Pi(s) ) Ni(s) D-1 i (s)

i )1, 2

(1)

where Ni(s) and Di(s) are stable, coprime transfer functions. It can be shown that the gap can be computed using the projection operators or the coprime factorizations23

{

inf QH∞ δ(P1, P2) ) max inf QH∞

||( ) ( ) || ||( ) ( ) || D1 - D2 Q N1 N2 D2 - D1 Q N2 N1





}

(2)

The 2-block H∞ problem can be solved using standard algorithms. We can observe the following properties of the gap: 1. The gap defines a metric on the space of (possibly unstable) linear systems. 2. 0 e δ(P1, P2) e 1 Vinnicombe24 proposed the ν-gap which has the same topology as the gap defined above and showed that it may be more control-relevant due its less conservative quantification of robust stability. Furthermore, Georgiou and Smith12 introduced an extended gap metric for nonlinear operators, but its computation is nontrivial. In this paper, we will work with the conventional gap metric definition. Galan et al.11 used the gap metric concept for the first time within the context of multimodel-based control framework. The concept of distance between dynamic systems is used as a criterion to select a set of local linear models that can explain the nonlinear plant behavior. Gap metric is used to analyze the “closeness” among candidate open-loop models so that a suitable set of local models can be chosen to design a multimodel controller. In this paper, the application of gap metric is quite different. Whereas the gap metric is used off-line for multimodel selection before, here, it will be used online to schedule the action of the controller. In that respect, we are exploiting the gap metric strictly as a means to quantify the distance between two linear operators.

Figure 1. On-line computation of the closed-loop gaps.

We define the closed-loop gap metric using the servo closed-loop performance (complementary sensitivity function) as

(

)

cfgf cigt 1 + cfgf 1 + cigt

δi ) δ

i ) 1, 2, ..., N

(4)

Here gt represents the process transfer function at the current time, t, and gf is the transfer function at the final set-point. cf is the local controller designed for gf. Once the local controllers, ci, are designed, the local servo closed-loop transfer functions can easily be computed for all the set-points. The gap metric defined in this way indicates the similarity between the closedloop performances of the ith local controller at the current time and the desired final closed-loop performance. In eq 4, the transfer function, gt, is calculated by linearizing the nonlinear model of the process at current time t. Therefore, we assume that such a nonlinear model is available along with its states and inputs so that the linearization can be performed on-line. As the nonlinear process goes through a transition from an initial operating point to a final set-point, the gap (eq 4) quantifies the difference between the final desired closed-loop (servo) performance and the current (fictitious) closed-loop performance if the process were to be controlled by one of the local controllers at current time t. This concept is illustrated in Figure 1. Weights of the local controllers are determined from the following equation:

wi )

(1 - δi) N

(5)

∑ (1 - δk)

k)1

3. The Algorithm Let us assume that there are N local linear models describing the dynamics of a nonlinear process. The global controller is, then, based on the action of each local controller and is expressed as N

u(t) )

wi(t) ui(t) ∑ i)1

(3)

Here ui is the control output of the ith local controller (e.g., a Proportional plus Integral-PI controller) whose transfer function is denoted by ci. The global controller takes control action continuously in time, but the weights are updated at discrete time intervals. The weights, wi, are adjusted on the basis of the closed-loop gap metric that is defined next.

It is noted that from the definition of the gap metric, it follows that if the gap metric for one local controller is very large (close to 1), then the performance of the closed-loop system at the current time with this controller would be arbitrarily poor. Therefore, the corresponding weight of that local controller becomes 0 in eq 5, and hence, it will have no contribution to the global controller. Similarly, by using the sensitivity function, controllers can be designed for disturbance rejection, as well, in which case the closed loop gap is defined as

(

δi ) δ

1 1 , 1 + gfcf 1 + gtci

)

i ) 1, 2, ..., N

(6)

The resulting feedback diagram is shown in Figure 2. Again, the global control action would weigh most

Ind. Eng. Chem. Res., Vol. 43, No. 26, 2004 8277

Figure 2. The block diagram of the control algorithm.

Figure 3. The steady-state map of example 1.

heavily the local controller action that produces a disturbance rejection performance closest to the disturbance rejection characteristics of the controller designed and implemented at the intended steady-state point. 4. Applications 4.1 Example 1. The process is a nonlinear reactor taken from Uppal et al..25 The following set of nonlinear differential equations describe the process,

x˘ 1 ) x1 + Dar(x1, x2) - (xf - 1)

(7)

x˘ 2 ) x2 + BDar(x1, x2) + β(u - x2)

(8)

y ) x2

(9)

r(x1, x2) ) (1 - x1)exp

[

x2 1 + x2/γ

]

(10)

where x1, x2, u, and xf are dimensionless conversion, temperature (output), coolant temperature (input) and feed concentration, respectively. The nominal values for the constants are Da ) 0.072, γ ) 20, B ) 8, β ) 0.3, and xf ) 1. System shows output multiplicity as shown

Table 1. Local Models for Example 1 model 1 f

g1(s) )

0.3s + 0.35 s2 + 1.4s + 0.46

model 2 f

g2(s) )

0.3s + 0.53 s2 + 0.36s + 0.41

model 3 f

g3(s) )

0.3s + 1.26 s2 + 1.6s + 1.6

by the S-shaped steady-state curve in Figure 3. We are interested in three steady-state points corresponding to input u ) 0. A possible closed-loop trajectory from the lower stable steady-state (model 1) to the middle unstable steady-state point (model 2) is also shown. The linear transfer functions at the three steady-state operating points are given in Table 1. The models 1 and 3 are stable, and the model 2 is unstable. These local models are used to design the local PI controllers. Each local controller is tuned so that the closed-loop servo response has a settling time of 5. The task of the global controller is then to move the reactor operation among these three steady-state operating points.

8278

Ind. Eng. Chem. Res., Vol. 43, No. 26, 2004

Figure 4. Controlled variable response using global controller when gap metric weights are used for example 1.

the open-loop unstable point has the largest influence on the closed-loop transient behavior. To study the behavior of the control system for disturbance rejection, the dimensionless feed concentration was changed from 1 to 0.9 at time 20 when the reactor was operating at the middle steady-state. Figure 9 shows how the steady-state trajectory shifts in response to the effect of the disturbance. The closed-loop response is shown in Figure 10, and the corresponding gaps are displayed in Figure 11, with the calculated weights in Figure 12. Gaps 1 and 3 (corresponding to models 1 and 3) are initially equal to 1, indicating the dissimilarity of the current closed-loop performance around the unstable steady-state to the expected performance of the local controllers at locally stable operating points. Before the disturbance enters, most of the weight is placed on the controller corresponding to model 2 (the gap metric is almost 0). However, after the disturbance is rejected, the contribution of the controller corresponding to model 1 increases (Figure 13). This is due to the behavior of the disturbed system approaching that of model 1. This is supported by the observation that for xf ) 0.9, the process is open-loop-stable at the set-point y ) 2.75 (Figure 9). 4.2 Example 2. The second process model, exhibiting input multiplicity, is taken from Hernandez and Arkun.27 A reversible exothermic reaction A T B is carried out in a CSTR, and the dynamic dimensionless equations that are obtained from conservation of mass and energy balances are given below:

( ) ( ) ( ) ( ) [ ( ) ( )] A1 A2 + H2 exp x x3 x3 2

(11)

A1 A2 + H2 exp x +d x3 x3 2

(12)

x˘ 1 ) 1 - x1 - H1 exp x˘ 2 ) x2 - H1 exp -

x˘ 3 ) u - x3 + β H1 exp Figure 5. Manipulated variable response using global controller when gap metric weights are used for example 1.

We note that in this example and the next, the selection of the models (and thus, the operating points) has been made by implementing the approach proposed by Galan et al..11 Details can be found in ref 26. 4.1.1 Results and Discussion. Figures 4 and 5 show a sequence of responses of the controlled variable (output) and the manipulated variable (input), respectively, for a series of set-point changes. Here, linearization on the closed-loop trajectory is performed at every 1-time unit. In Figure 6, it is seen that when the closedloop trajectory enters the neighborhood of a particular local steady-state, the corresponding closed-loop gap metric is close to zero, indicating that the achieved final performance is similar to the local controller’s performance. It also follows that when a particular gap is small, the corresponding weight is high (Figure 7), indicating that the control action is dominated by the corresponding local controller. For example, in the time interval 10-20, where the set-point change is made to go to the second steady-state, the second gap (gap 2) approaches 0 after the initial transient due to the overshoot. As a result, the second weight takes the highest value in the same interval. Figure 8 shows the contributions of the local controllers to the global control action. It is noted that the controller designed around

A1 A2 + H2 exp x x3 x3 2

(13) y ) x2

(14)

Here, x1 and x2 are the dimensionless concentrations of A and B respectively. x3 is the dimensionless temperature, u (manipulated variable) is the dimensionless feed temperature, and d (disturbance) is dimensionless inlet concentration of B. The parameter values for the simulations are A1 ) 50, A2 ) 70, H1 ) 3 × 105, H2 ) 6 × 107, and β ) 0.05. A steady-state input-output map (d ) 0) of the CSTR model is depicted in Figure 14. The maximum output is obtained at u ) 4.103. Three linear models are obtained at u ) 2.6, 3.57, and 5.0 (Table 2), as shown in Figure 14, as well. The nominal local models are controlled using PI controllers, and each local controller is tuned so that the closed-loop servo response has a settling time of 12. 4.2.1. Dealing with Input Multiplicity. When a process shows input multiplicity like in this example, specifying only the output set-point is not sufficient to identify a unique location on the input-output map. This necessitates the specification of the corresponding input as well. It should be noted that the model at u ) 5.0 (model 3) has a steady-state gain of opposite sign to the gains of the other two models, 1 and 2. This has important ramifications for the method. If the sign of

Ind. Eng. Chem. Res., Vol. 43, No. 26, 2004 8279

Figure 6. Calculated gap metrics for example 1.

Figure 7. Weights of the local controller actions for example 1.

the controller’s gain does not change from the initial to the final set-point (as in moving from point 1 to point 2), then there exists a feasible trajectory between these two points. The gap metric weighting algorithm can steer the system to the desired location. However, if the signs of the local controller gains change from the initial to the final set-point, there is no feasible trajectory to achieve the set-point change by the global controller constructed by the gap metric weighting algorithm discussed so far. This is due to the fact that, in this case, the gap metrics become 1 (indicating full dissimilarity between the closed loop performances of the models); weights are assigned 0 values and no control action is taken. Therefore, in these cases, before the gap metric

algorithm weighs the controllers, those controllers that give the wrong “input direction” must be eliminated first, and the remaining controllers are next weighted according to their gaps. The correct input direction udi, toward the u set point (uset), for the ith controller can be found as follows,

udi ) sign((uset - u(t))(yset - y(t))sign (controller gaini)) (15) This condition follows from the fact that the loop gain must be positive so as to ensure negative feedback. Note that the local controllers that give a positive udi value result in the correct input direction.

8280

Ind. Eng. Chem. Res., Vol. 43, No. 26, 2004

Figure 8. Contribution of the local controllers to the global control action for example 1.

Figure 10. Disturbance rejection response for example 1. Figure 9. Steady-state map with xf ) 1.0, 0.95, and 0.90.

The following steps are performed at every linearization time: (i) Find the gaps using eq 4, (δi). (ii) Multiply the sign of the gain of gf with the sign of each local controller. (iii) For each positive product in (ii) compute ∑(1 δi). (iv) If the sum in (iii) is 0 (i.e., all gaps are equal to 1 and there is no feasible path), compute udi from eq 15; otherwise, continue. 4.2.2 Results and Discussion. Figure 15 shows a sequence of set-point responses of the controlled variable when the process is in feedback with the global controller, and Figure 16 depicts the corresponding global control action. Here, linearization on the closed-loop trajectory is performed at every 1-time unit. When a set-point change is made from point 1 to point 2 (time interval 180-220), the closed-loop gap metric δ2 (see Figures 17 and 18) is always 1 on the trajectory, indicating that the controller 3 has no contribution to

the global controller. This means that during the transition from point 1 to point 2, the closed-loop performance obtained by using the controller at point 3 is dissimilar to the performances obtained if the loop were closed by the local controllers corresponding to points 1 or 2. It is noted that the gap metric δ2 approaches 0 as the closed-loop trajectory converges to point 2. In the time interval 90-130, the set-point change is made from point 1 to point 3. Open-loop transfer functions at these two points have opposite steady-state gain signs. Gap metric δ2 attains a small value for a short time period when the process output is around point 2; but as the process output is steered to point 3, it sharply approaches 1. Similar behavior can also be observed in the 130-180 time intervals when the system moves from steady-state 3 to 1, in which case δ3 will approach 1. Figure 19 shows the contributions of the local controllers to the global control action. Given in Figure 20 is the path followed by the process for setpoint changes among the three points for all combinations.

Ind. Eng. Chem. Res., Vol. 43, No. 26, 2004 8281

Figure 14. Steady-state map of example 2.

Figure 11. Calculated gap metrics for disturbance rejection for example 1.

Figure 15. Controlled variable response using global controller when gap metric weights are used for example 2. Table 2. Local Models for Example 2 Figure 12. Weights of the local controller outputs for disturbance rejection for example 1.

model 1 model 2

model 3

0.03345s + 0.03345 s3 + 3.001s2 + 3.002s + 1.001 0.6387s + 0.6387 s3 + 3.294s2 + 3.588s + 1.294 -8.17s + 8.17 s3 + 68.69s2 + 134.4s + 66.69

paths. However, when a set-point change is made, for example at time 10 from point 3 to point 1 or at time 90 from point 1 to point 3, then for a short period of time, the conditions necessitate the calculation of udi, since there is no feasible path between these points. 5. Comparison of Gap Metric Weighting with Exponentially Discounted Error Weighting

Figure 13. Contributions of local controllers for disturbance rejection for example 1.

Variations of udi’s are depicted in Figure 21. In this figure, a 0 value indicates no necessity for calculating udi. This occurs when the set-point changes have feasible

In the literature, there are many ways to weight local controllers (e.g., see ref 28). One popular approach is to consider the history of past errors between each local model and the plant output. Each local controller is then weighted according to some convex function of this output error. A common method is to use exponentially discounted square of the error. Forgetting factors λ (0 < λ < 1) are typically used to exponentially discount the more distant errors. Figure 22 compares the gap

8282

Ind. Eng. Chem. Res., Vol. 43, No. 26, 2004

Figure 16. Manipulated variable response using global controller when gap metric weights are used for example 2.

Figure 19. Contribution of the local controllers to the global control action for example 2.

Figure 17. Calculated gap metrics for example 2. Figure 20. Dynamic trajectory during simulation for example 2.

Figure 18. Weights of the local controller outputs for example 2.

metric method with the error weighting method. Performance comparison in terms of integral square error (ISE) and integral absolute error (IAE) are given in Table 3. The controller based on gap metric weights outperforms the controller based on the output estimation error weights. One major reason for this is that the current linear models are taken into account in the gap

Figure 21. udi vs time for example 2.

Ind. Eng. Chem. Res., Vol. 43, No. 26, 2004 8283

Figure 22. Comparison of gap metric weighting and weighting with prediction error (λ ) 0.4). Table 3. Comparison of the Gap Metric Weighting with Exponentially Discounted Error Square Weighting name of the performance criterion IAE (integral absolute error) ISE (integral squared error)

output error method λ ) 0.95 λ ) 0.4 15.56 17.15

15.28 16.79

gap metric method 8.72 7.03

method, whereas the local models are fixed a priori in the error weighting method. In addition, using output error to weight the models is not the same as closedloop performance errors of the local models reflected in the gap metric used in our method. 6. Conclusions A new multimodel scheduling control method is presented for nonlinear systems. A gap metric based on closed-loop performance is defined and used to assign weights to the local controllers of a global controller. Two examples are provided to demonstrate the proposed algorithm. Both examples are nonlinear, and they exhibit either output or input multiplicity. It is noted that the control design relies on the availability of a process model. If the model were not available or were inaccurate, the closed-loop performance would expectedly deteriorate. How to quantify the robustness of the proposed multimodel scheduling strategy remains a challenge. Literature Cited (1) Astro¨m, K. J.; Wittenmark, B. Computer Controlled Systems, Prentice-Hall: NJ, 1984. (2) Rugh, W. Analytical Framework for Gain Scheduling. IEEE Control Syst. Mag. 1991, 11, 79-84. (3) Foss, B. A.; Johansen, T. A.; Sorensen, A. V. Nonlinear Predictive Control Using Local Models, Switching and Tuning. Control Eng. Pract. 1995, 3, 389-396. (4) Murray-Smith, R., Johansen, T. A., Eds.; Multiple Model Approaches to Modeling and Control Taylor & Francis: London, England, 1995.

(5) Anderson, B. D. O.; Brinsmead, T. S.; De Bruyne, F.; Hespanha, J.; Liberzon, D.; Morse, A. S. Multiple Model Adaptive Control, Part 1: Finite Controller Coverings. Int. J. Robust Nonlinear Control 2000, 10, 909-929. (6) Karimi, A.; Landau, I.; Robust, D. Adaptive Control of a Flexible Transmission System Using Multiple Models. IEEE Trans. Control Syst. Technol. 2000, 8, 321-331. (7) Morse, A. S. In Trends in Control, A European Perspective, Springer-Verlag: London, 1995; pp 69-113. (8) Morse, A. S.; Mayne, D. Q.; Goodwin, G. C. Application of Hysteresis Switching in Parameter Adaptive Control. IEEE Trans. Autom. Control 1992, 37, 1343-1354. (9) Morse, A. S. Dwell-time switching. Proc. 2nd Eur. Control Conf. 1993, 176-181. (10) Banerjee, A.; Arkun, Y.; Ogunnaike, B.; Pearson, R. Estimation of Nonlinear Systems Using Linear Multiple Models. AIChE J. 1997, 43, 1204-1226. (11) Gala´n, O.; Romagnoli, J. A.; Palazoglu, A.; Arkun, Y. Gap Metric Concept and Implications for Multilinear Model-Based Controller Design, Ind. Eng. Chem. Res. 2003, 42, 2189-2197. (12) Georgiou, T. T.; Smith, Robustness Analysis of Nonlinear Feedback Systems: An Input-Output Approach, IEEE Trans. Autom. Control 1997, 43, 1200-1221. (13) Zhu, S. Q. Graph Topology and Gap Topology for Unstable Systems. IEEE Trans. Autom. Control 1989, 34, 848-855. (14) Wang, S.; Huang, B. Gap Metric on the Subgraphs of Systems and the Robustness Problem. IEEE Trans. Autom. Control 2000, 45, 1522-1526. (15) Lee, P. L.; Li, H.; Cameron, I. T. Decentralized Control Design for Nonlinear Multi-Unit Plants: A Gap Metric Approach. Chem. Eng. Sci. 2000, 55, 3743-3758. (16) Samyudia, Y.; Kadiman, K. Control Design for Recycled, Multi Unit Processes. J. Process Control 2003, 13, 311-324. (17) Newburgh, J. D. A Topology for Closed Operators. Annu. Math. 1951, 53, 250-255. (18) Berkson, E. Some Metrics on the Subspace of a Banach Space. Pac. J. Math. 1963, 13, 7-22. (19) Cantoni, M.; Vinnicombe, G. Linear Feedback Systems and the Graph Topology. IEEE Trans. Autom. Control 2002, 47, 710719. (20) Sasane, A. J. Distance Between Behaviors. Int. J. Control 2003, 76, 1214-1223. (21) Zames, G.; El-Sakkary, A. K. Unstable Systems and Feedback: The Gap Metric. Proc. Allerton Conf. 1980, 380-385. (22) Hsieh, G. C.; Safonov, M. G. Conservatism of the Gap Metric. IEEE Trans. Autom. Control 1993, 38, 594-598. (23) Georgiou, T. T.; Smith Optimal Robustness in the Gap Metric. IEEE Trans. Autom. Control 1990, 35, 673-686. (24) Vinnicombe, G. Frequency Domain Uncertainty and the Graph Topology, IEEE Trans. Autom. Control 1993, 38, 13711383. (25) Uppal, A.; Ray, W. H.; Poore, A. B. On the Dynamic Behavior of Continuous Stirred Tank Reactors, Chem. Eng. Sci. 1974, 29, 967-977. (26) Arslan, E. Multiple-Model Control of Nonlinear Systems Using Closed-Loop Gap Metrics. M.S. Thesis, Bogˇazic¸ i University, Istanbul, Turkey, 2004. (27) Hernandez, E.; Arkun, Y. A Nonlinear DMC Controller: Some Modeling and Robustness Considerations, ACC Proc. 1991, 2355-2361. (28) Schott, K. D.; Bequette, W. B. Multiple Model Approaches to Modeling and Control; Taylor & Francis: London, England, 1997.

Received for review May 10, 2004 Revised manuscript received October 1, 2004 Accepted October 13, 2004 IE049610O