Model Predictive Control Using Fuzzy Decision Functions

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

54

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART B: CYBERNETICS, VOL. 31, NO. 1, FEBRUARY 2001

Model Predictive Control Using Fuzzy Decision Functions


Joo Miguel da Costa Sousa, Member, IEEE, and Uzay Kaymak, Member, IEEE
AbstractFuzzy predictive control integrates conventional model predictive control with techniques from fuzzy multicriteria decision making, translating the goals and the constraints to predictive control in a transparent way. The information regarding the (fuzzy) goals and the (fuzzy) constraints of the control problem is combined by using a decision function from the theory of fuzzy sets. This paper investigates the use of fuzzy decision making (FDM) in model predictive control (MPC), and compares the results to those obtained from conventional MPC. Attention is also paid to the choice of aggregation operators for fuzzy decision making in control. Experiments on a nonminimum phase, unstable linear system, and on an air-conditioning system with nonlinear dynamics are studied. It is shown that the performance of the model predictive controller can be improved by the use of fuzzy criteria in a fuzzy decision making framework. Index TermsFuzzy criteria, fuzzy decision making (FDM), fuzzy predictive control, model predictive control (MPC).

I. INTRODUCTION UMAN operators can control complex, nonlinear, and partially unknown systems across a wide range of operating conditions for which conventional linear control techniques often fail or can only be applied locally. Fuzzy logic control (FLC) is one of the most popular techniques for translating human knowledge to control, and has been successfully applied to a large number of consumer products and industrial processes [1][3]. Most of these applications of fuzzy control use the approach introduced in the 1970s by Mamdani [4]. The operators knowledge is verbalized as a collection of if-then control rules, which are directly translated into a control algorithm. Besides direct fuzzy control, in which the control law is explicitly described by if-then rules, human expertise can be used to define the design specifications. These specifications are translated to performance criteria using fuzzy sets, by defining the (fuzzy) goals and the (fuzzy) constraints for the system under control. This procedure is a particular approach of fuzzy model-based control, following closely the classical model predictive control (MPC) design approach, but it makes use of the fuzzy sets theory in a higher level than in FLC, where the fuzzy rules to control the system are given directly from expert knowledge. In this approach, the appropriate control actions
Manuscript received April 11, 1999; revised April 16, 2000 and August 21, 2000. This paper was recommended by Associate Editor T. Sudkamp. J. M. da Costa Sousa is with the Department of Mechanical Engineering/ GCAR, Technical University of Lisbon, Instituto Superior Tcnico, 1049-001 Lisbon, Portugal (e-mail: [email protected]). U. Kaymak is with Erasmus University, 3062 PA Rotterdam, The Netherlands. Publisher Item Identifier S 1083-4419(01)00089-9.

are obtained by means of a multistage fuzzy decision making (FDM) algorithm, as introduced by Bellman and Zadeh [5]. A mixture of these two approaches constitutes the first application in this field: automatic train operation using a linguistic description of the system [6]. A different approach called fuzzy multiobjective optimal control is presented in [7], but it is quite complex and difficult to implement in real time. More recently, satisficing decisions have also been used in a similar setting to design controllers [8]. A good survey on model-based approach to fuzzy control and decision making is presented by Kacprzyk [9]. However, in this book only open-loop control applications are reported. This paper undertakes to present the first step in generalizing fuzzy predictive control as MPC with fuzzy decision functions, using the FDM approach to select proper control actions. This procedure can be applied to real-time problems with relatively small sampling times. This paper begins by describing the application of FDM to control in Section II. Fuzzy goals, fuzzy constraints, and fuzzy decision are presented, and an approach to solve the optimization problem for fuzzy criteria defined in different sets is proposed. Note that FDM applied to control considers multistage FDM. Section III presents possible types of fuzzy objective functions for predictive control, discussing briefly the operators to aggregate fuzzy criteria. Two illustrative examples are presented in Section IV, where the main features of fuzzy decision functions applied to MPC are shown. The paper ends up with some concluding remarks about the presented approach in Section V. II. FUZZY DECISION MAKING IN CONTROL Although distinct, it is common to present multistage decision making and FDM in control as synonymous. In fact, the decision problem is more general, and also multistage decision making can be applied to other fields. This paper considers multistage decision making applied to control, similar to the approach taken before by several authors [5], [9]. Note that while the notation used in this section is convenient for control approaches, multistage FDM maintains its generality. When multistage decision making is translated to the control environment, the set of alternatives constitute the different control actions, the system under control is a relationship between the system inputs and outputs (or causes and effects), and the mapping relating the inputs to the outputs of the system under control is referred to as the model. Moreover, fuzzy constraints are defined for several variables presented in the system, which can be hard or soft constraints, and the decision criteria (fuzzy goals and constraints) are the translation of the control performance criteria to the decision making setting.

10834419/01$10.00 2001 IEEE

SOUSA AND KAYMAK: MODEL PREDICTIVE CONTROL USING FUZZY DECISION FUNCTIONS

55

One of the main issues in MPC is the type of model of the system under control [10]. In general, the most utilized types of models are deterministic, stochastic, and/or fuzzy. Another important issue in FDM applied to control is the termination time, which is a generalization of the prediction horizon defined for MPC[11]. A short summary of the different termination times, and possible solutions found in the literature for the the different types of models is presented in the following. A survey with complete references can be found in [9]. Fixed and predetermined specification timeFor deterministic models, solutions using dynamic programming, branch-and-bound techniques, genetic algorithms, or neural networks have been proposed. For stochastic models two different formulations are usually employed: maximizing the probability of satisfying fuzzy goals and fuzzy constraints, or maximizing the expected value of the fuzzy decision. For fuzzy models, solutions using dynamic programming, branch-and-bound, interpolative reasoning, and genetic algorithms have been proposed. Implicitly specified termination timeIn these systems, the process terminates when the outputs reach prespecified values. Only solutions for deterministic models were proposed, using graph-theoretic analysis and a branch-andbound algorithm. Fuzzy termination timeIt is sometimes useful to consider a softer definition of the termination time, by allowing its formulation as a fuzzy set, as it was first proposed by Fung [12]. For deterministic, stochastic, or fuzzy models, solutions using dynamic programming or branch-and-bound are possible. Infinite termination timeThis type of termination time is used for processes whose inputs vary little over a very long time range. Optimal control is sought for these types of processes. Note that all the solutions proposed are obtained for open-loop control, which hampers the application of the proposed solutions for low and medium levels of control in real time. For example, Kacprzyk [9] states open-loop control. Unfortunately, We consider not much is known about closed-loop (feedback) control in a fuzzy environment in the optimal control-type [5] setting . This paper addresses this shortcoming in the literature, and it considers multistage decision making (control) in a fuzzy environment considering any type of model in closed-loop control. It assumes that the termination time is fixed and is specified beforehand. As the formulation is done in an MPC environment, this termination time is the prediction horizon, which is shifted when time evolves. This condition is necessary to allow the application of multistage FDM to MPC in real time. In the following, Section II-A presents the definition of fuzzy goals and constraints in the control environment. The aggregation of the different criteria for control applications is presented in Section II-B, where the set of possible alternatives is discretized in order to find the optimal control actions. The application of FDM to predictive control is presented in Section II-C.

A. Fuzzy Goals and Fuzzy Constraints in the Control Environment Let , with , be a fuzzy goal characterized by its , which is a mapping from the space membership function to the interval . Let also of the goal be a fuzzy constraint characterized by its membership function , mapping the space of the constraint to the same in. The fuzzy goals and the fuzzy constraints terval can be defined for the domain of the control actions, systems outputs, state variables, or for any other convenient domain. Note that fuzzy constraints are usually defined in the domain of the control actions, and fuzzy goals are usually defined in the domain of the state space variables. Initially, FDM in control was applied to systems with discrete states and a finite number of possible transitions between the states, and subsequently it has been extended to systems with continuous states [13]. The fuzzy goals and constraints are then all defined on the set of alternatives. The reasoning applied in this paper for FDM in control allows the combination of goals and constraints from different spaces. A fuzzy set in the appropriate domain characterizes both the fuzzy goals and the fuzzy constraints. The goals and constraints are defined on relevant system variables. For example, a is the minimization of the output error. common control goal The satisfaction of this goal is represented by a membership function, which is defined on the space (universe of discourse) of the output error. An example is the fuzzy goal small output error, defined for a SISO system and shown in Fig. 1(a). Fuzzy constraints can be defined on the universe of discourse of the control variables. An example is the soft constraint should not be substantially larger than 0.8, whose degree of satisfaction can be represented by a membership function, as shown in Fig. 1(b). Note that the hard constraint is also implied by the given membership function. The given examples of a goal and a constraint show that it is sometimes advantageous to treat them in different ways, contrary to the Bellman and Zadeh approach [5]. The qualitative distinction between goals and constraints can be clarified when membership functions for a fuzzy criterion are defined. In this paper, a fuzzy goal is defined in such a way that the membership grade is never zero, unless this is strictly necessary (which would imply that it is a hard constraint). Therefore, the example in Fig. 1(a) uses a membership function of the exponential type, which never becomes zero even if the error is quite large. On the other hand, fuzzy constraints must include the hard constraints, when they are present in the system. For instance, the constraint in Fig. 1(b) does not allow , which can be that the control action is outside the range a very useful concept for many real systems. Suppose that the variable in Fig. 1(b) is a valve opening, where 1 stands for completely open and 0 for completely closed. Hence, the definition of the fuzzy constraint, as given in Fig. 1(b), takes these physical limitations into account. It is suggested that a fuzzy constraint should also represent the hard constraints when they are present in the system. A fuzzy goal should be defined so that the membership function never becomes zero, indicating the allowable but not desirable states of the system. This procedure

56

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART B: CYBERNETICS, VOL. 31, NO. 1, FEBRUARY 2001

control sequence is obtained using the aggregation operators ,and to combine the decision criteria, i.e.,

(a)

(2) denotes an aggregation operator for combining the In (2), denotes an aggregation operator for combining the goals, constraints, and denotes an aggregation operator to combine the aggregated goals and constraints. In general, it is not necessary to use the same aggregation operator for all goals and for all constraints. However, using a single aggregation operator reduces complexity, making the confluence of criteria simpler. Note that the aggregation operator to combine a goal and to a constraint at different time steps, i.e., , is the same as the one to combine a goal and to a constraint at the same time step, i.e., . Various types of aggregation operations can be used as decision functions for expressing different decision strategies using the well-known properties of these operators [14]. In fact, aggregation operators and membership functions translate a linguistic description of the control goals into a decision function. In this way, various forms of aggregation can be chosen giving greater flexibility for expressing the control goals. A discussion on the influence of aggregation operators in FDM applied to control is given in Section III-A. The translation of each goal and each constraint for a given policy to a membership value (2) avoids the specification of the criteria in a large dimensional space. The combination of criteria in different domains is done for a set of discrete alternatives, which corresponds to different policies that can be applied to find the optimal control policy. The decision criteria (2) should be satisfied as much as possible, which corresponds to the maximal value of the overall decision. Thus, the optimal sequence of control actions is found by the maximization of (3) Because the membership functions for the fuzzy criteria can have an arbitrary shape, and because of the nonlinearity of the decision function, the optimization problem (3) is usually nonconvex. To deal with the increasing complexity of the optimization problem, different methods can be utilized. One possibility is to consider only a few criteria (2), removing those not considered from the equation. This approach, however, can result in suboptimal control actions. A better method is to choose a proper optimization algorithm, or to formulate the problem in a way that leads to convex optimization. One set of conditions that lead to a convex optimization problem is proposed in [15]. Elsewhere, several methods to deal with nonconvex optimization problems have been used such as sequential quadratic programming [16], the simplex method [17], genetic algorithms [18], or branch-and-bound [19].

(b) Fig. 1. Example of a fuzzy goal and a fuzzy constraint for FDM in control.

distinguishes goals and constraints in the form of the defined membership functions, but clearly does not affect the confluence of criteria. Assuming as before that one considers goals and constraints , each fuzzy goal and each fuzzy constitute a decision criterion , constraint is the total number of goals and constraints. where , which Each criterion is defined in the domain can be any of the various domains used in control. In order to solve the problem in reasonable low time, it is defined in a discrete control space with a finite number of control alternatives. This limitation to digital control is however not too severe, and this methodology can still be applied to a large number of control problems. Therefore, the confluence of goals and constraints is defined in the following for discrete alternatives. The resulting optimization problem is also addressed. B. Aggregation of Criteria in the Control Environment Assume that a policy is defined as a sequence of control actions for the entire prediction horizon in MPC,

(1) where the control actions belong to a set of alternatives . In the general case, all the criteria must be applied at each time step , . Thus, a criterion denotes that the critewith , with and rion is considered at time step . Further, let denote the membership value that represents the satisfaction of the decision criteria after applying . The total number of decision crithe control actions . The teria for the decision problem is thus given by confluence of goals and constraints can be done by aggregating . The membership value for the the membership values

SOUSA AND KAYMAK: MODEL PREDICTIVE CONTROL USING FUZZY DECISION FUNCTIONS

57

A. Aggregation Operators for FDM in Control This section presents some clues on the possible use of different aggregation operators, and the advantages and the disadvantages of their use in predictive control. The first operator used to aggregate goals and constraints was the minimum operator [5]. In this approach, the operators , and are all substituted by the minimum operator (2), leading to (4) Although this operator is still largely used in FDM, it does not allow for any tradeoff or compensation between the criteria, because it chooses always the smallest of the values as the decision. For this reason, this operator is usually known as a safety-first or pessimistic operator. This disadvantage can be overcome by the use of another -norm, which should still translate the aggregation as a simultaneous satisfaction of the fuzzy criteria, but allows for some interaction amongst the criteria. The most used aggregation operator after the minimum operator is possibly the product -norm (5) This operator allows some interaction between the criteria, but keeps the characteristics of -norms, i.e., any low degree of implies that the degree of memmembership for one criteria is also low. When the number of criteria increases, bership tends to decrease. This fact is quite realistic because the larger the number of goals and constraints is, the more difficult it is to satisfy them all. A similar conclusion can also be drawn for many other -norms. The presented aggregation operators assume that the importance of different criteria is equal. The attribution of different weights for different criteria can be made by using the weighted-sum in a similar way as it is usually done for classical criteria in predictive control, as will be presented (8). Another possibility is to use the approach presented by Yager [26], , rewhere each criterion has a different weight flecting a different importance in the global criterion (2). Other weighted aggregation methods can also be used [14], [27]. In this paper the weights of the aggregation of fuzzy goals and constraints are not used because the systems used as examples do not have a clear hierarchy related to the importance of the different fuzzy criteria. Moreover, the weights can be difficult to tune, especially if a large number of criteria is considered, although they provide additional flexibility to a controller if a good set of tuned weight factors are determined [28]. A different approach can be followed by using parametric -norms, which can generalize a large number of -norms, and control the degree of compensation between the different goals and constraints. Usually, parametric -norms depend only on one parameter, which makes them much easier to tune when compared to weighted -norms. On the other hand, they are not so general as the weighted approaches. For the examples presented in this paper, parametric -norms revealed good control performances. Several parametric -norms can be considered,

Fig. 2. Controller based on objective evaluation and FDM.

C. Fuzzy Criteria in MPC The definition of fuzzy goals and constraints must be given by an operator or design engineer. Therefore, when FDM in control is considered, human knowledge is involved in specifying the control objectives and constraints, rather than the control protocol itself [20], [21]. Using a process model, a FDM algorithm selects the control actions that best meet the specifications (see Fig. 2). Hence, a control strategy can be obtained that is able to push the process closer to the constraints, and that is able to force the process to a better performance based on the goals and the constraints set by the operator together with the known conditions provided by the systems designers. This approach is closely related to MPC. The formulation of the control problem as a confluence of fuzzy goals and fuzzy constraints leads to a generalization of the objective function used in MPC [22]. For practical reasons, it is desirable to have direct control over the influence of the individual components of the objective function on the controller performance. Thus, it is advantageous that the degree of compensation among the different goals and constraints can be specified by the designer. This additional freedom can be achieved by choosing a different representation of the objective function, given by the combination of fuzzy goals and fuzzy constraints, as in the FDM approach. In the MPC environment, a policy with the possible can be defined (1). control actions The objective function using fuzzy criteria is defined (2). The closed-loop control configuration is now discussed in more detail, in aspects concerning the criteria and the aggregation operator(s) used to combine them. III. FUZZY CRITERIA FOR FDM IN CONTROL Fuzzy criteria play a main role in FDM. When FDM is applied to control, the fuzzy goals and the fuzzy constraints must be a translation of the (fuzzy) performance criteria defined for the system. The definition of performance criteria in the time domain has shown to be quite powerful, especially for nonlinear systems [23] and in the MPC framework [24]. This section investigates the use of fuzzy performance criteria in predictive control and compares the results to those obtained from conventional MPC. This section is an extension of an introductory study of this subject presented by the authors [25]. First, the aspects concerning the aggregation operator(s) combining the criteria are briefly presented in Section III-A. Next, control criteria and decision functions are discussed in Section III-B, where classical objective functions and a proposed fuzzy objective function are presented.

58

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART B: CYBERNETICS, VOL. 31, NO. 1, FEBRUARY 2001

such as the ones introduced in [29][31] and [32]. The Yager -norm, for instance, is given by (6) . This operator covers the entire range of -norms, with i.e., it goes from the drastic intersection to the minimum operator. There is a large range of fuzzy operators between the -norms and -norms which can sometimes be advantageously utilized in the confluence of fuzzy criteria for control applications. Examples are the aggregation operator introduced by Zimmermann [33], or the generalized mean [34], [35]. This last operator is given by (7) It reduces to the harmonic, geometric, arithmetic, and quadratic mean when the parameter is and , respectively. Moreover, when the generalized mean approaches the minimum operator, and when it approaches the maximum operator. Thus, this operator fulfills the complete range from minimum to maximum ranges from to . When a large number of when criteria is present and some tradeoff between the different criteria is allowed, this operator can have some advantages over aggregation operators described by -norms. It should be emphasized, however, that the use of this operator may lead to the violation of hard constraints, when they are defined as in Section II-A. Therefore, when this operator is used, the optimal alternative found should be checked afterwards in order to assure that no hard constraints are violated. However, this procedure can cost precious optimization time. A solution is to use the genand eralized mean only for the general confluence operator . This choice assures that a -norm for the remaining and the hard constraints are not violated but can hamper the advantages of using the generalized mean. This paper uses parameterized operators, and their choice is strongly recommended because they allow for different degrees of compensation between criteria. Moreover, the change of a single parameter results in the use of different operators, alleviating the tuning phase, always present in predictive control. Section IV-B presents a simple, though illustrative example, showing the application of three different aggregation operators. B. Control Criteria and Decision Functions When a control system is designed, performance criteria must be specified. In the time domain, these criteria are usually defined in terms of a desired steady-state error between the reference and the output, rise time, overshoot, settling time, etc., representing the goals of the control system. In MPC, these goals must be translated into an objective function. This function is maximized (or minimized) over the prediction horizon, given the desired control actions. The translation of the (fuzzy) goals into an objective function can be done in two different ways.

The control goals are explicitly expressed in the objective function. This method leads usually to long term predictions of the behavior of the system, using a large prediction horizon . From these predictions, quantities such as the overshoot or the rise time can be determined. In order to have accurate predictions, this method requires a highly accurate process model, which may not be available, and a lot of computation. Only short-term predictions (a few steps ahead) are used in the objective function. This method is usually applied in predictive control when the available model of the system is not very accurate, and cannot predict outputs for a large number of steps ahead. Despite this inaccuracy of the model, it still can lead to high-performance control, provided that the overall control goals can be translated into the short-term goals, which are then represented in the objective function. This translation is, however, not unique, and it is application dependent. Therefore, tuning some parameters in the objective function is usually required. This method is especially suitable for nonlinear systems, where a compromise between computational time to derive the control actions and accuracy of the predictions must be made except for special cases, as when inputoutput (I/O) feedback linearization is utilized [36]. When using fuzzy criteria, the task of defining the goals becomes easier, as it will be shown in this section. 1) Classical Objective Functions: Conventional MPC mainly utilizes sum-quadratic functions as the objective function [11], [37], [38]. The main motivation for its use is that such an objective function has an analytical solution for linear systems without constraints. In the presence of crisp and convex constraints, the optimization problem remains convex for linear systems, and can still be solved in polynomial time. However, the presence of nonconvex constraints and/or the presence of nonlinearities in the system often lead to nonconvex optimization problems. In these cases, the sum-quadratic objective function does not have any advantages over other more complex objective functions that can possibly describe better the (fuzzy) performance criteria for a broad class of control problems. Let the overall control goals for the time domain be stated as achieving a fast system response while reducing the overshoot and the control effort. For SISO systems these goals can be represented by the objective function

(8) denotes the predicted errors given by the differwhere ence between the reference and the output of the system , i.e., (9) The change of the predicted output is defined as (10)

SOUSA AND KAYMAK: MODEL PREDICTIVE CONTROL USING FUZZY DECISION FUNCTIONS

59

Fig. 3. Membership functions that represent the satisfaction of decision criteria for the error, change in output, and change in the control action.

and is equal to the change in the errors , when the reference to be followed is constant. The change in the control actions is defined in a similar way as (11) and are weighting terms that are apThe parameters and plication dependent. The parameters must be selected appropriately depending on the application, . and they must satisfy , and are chosen equal to one, and Usually, equal to , and equal to . Note that the weighting terms and must reflect the difference of magnitude between the different inputs and/or outputs of the system at various time instants. If this is not the case, and the weights are chosen all equal, for instance, the optimization automatically weights different variables, which is not desirable, and it leads to poor control performance. The objective function (8) can be interpreted as follows. The term containing the predicted errors indicates that these should be minimized, while the term containing the change in the control actions indicates that the control effort should be reduced. Finally, the term containing the change in the outputs indicates that the systems output should not suffer sudden changes and, thus, it helps to improve the smoothness of the response. For step references, the change of the output is also equal to the change in the respective output errors except for the discontinuities in the reference signal. Hence, minimizing the output errors and the change of output errors can be regarded as forcing the system phase space. to the origin (steady-state solution) in the and , can be The parameters containing the weights, changed so that the objective function is modified in order to lead to a desired system response. Notice that these parameters have two functions: 1) they normalize the different outputs and inputs of the system and 2) they vary the importance of the three different terms in the objective function (8) over the time steps. 2) Fuzzy Objective Functions: When fuzzy multicriteria decision making is applied to determine the objective function, adis described ditional flexibility is introduced. Each criterion , stands for the time step by a fuzzy set, where , and are the different criteria defined for the considered variables at the same time step. Fuzzy criteria can be described in different ways. The most straightforward and easy way is just to adapt the criteria defined for classical objective functions. A SISO system with a control action and an output is considered. Fig. 3 shows examples of general membership functions that can be used for the error

dicted output

, for the change in the pre, and for the change in the control action , with . In this example, the minimization of the output error is represented by an exponential membership function, given by (12)

This well-known function has the nice property of being tangent to the triangular membership function defined using the paramand (see Fig. 3). Another interesting feature of eters this exponential membership function is that it never reaches the value zero, and the membership value is still quite considor magnitude. Therefore, erable, 0.37, for an error of this criterion is considered to be a fuzzy goal, as explained in Section II-A. This definition of membership function allows for and , to the pathe comparison of the error parameters, rameters defined for other fuzzy criteria such as the change in output and the change in control actions. The change in the output can be represented, for example, by , as shown in a trapezoidal membership function Fig. 3. The system can vary with no limitations in the interval . Outside this interval, physical limitations can be defined such that the change in the output can not go below or above . This fuzzy constraint can be seen as a fuzzy goal if no physical limitations are present in the system, and it is not compulsory that the membership value is zero outside a given and can play the interval. Note that if this is the case, and in the membership function defined same role as expofor the error in (12). Thus, outside the interval nential membership functions as the one defined for the error can also be used. is, in this case, repreThe control effort sented by a triangular membership function around zero, which is considered a fuzzy constraint. The crisp rate constraints representing the maximum and the minimum allowed on and , respectively. These in the system are given by constraints are related to physical limitations of the system. The membership degree should be zero outside the interval . The parameters defining the range of the triangular and . Note that membership membership function are does not have to be symmetrical. function and , Sometimes it is convenient to make but other systems may require bigger membership values for , as in Fig. 3. Further, can the points in the interval

60

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART B: CYBERNETICS, VOL. 31, NO. 1, FEBRUARY 2001

be defined as a trapezoidal membership function in a similar way to the one defined for the change in the output. In principle, different criteria can be defined at each time in. This example has decision stant and ), and the total number of criteria in criteria (for . Beyond the a fuzzy MPC problem is, thus, given by possibility of defining different criteria for different time steps, it is possible to skip some criteria at certain steps. An example of different criteria at different time steps can be the spread of the membership function defined for the error, which can be nar, i.e., it is more important to rowed as the time approaches achieve the goal of small error close to the prediction horizon. in Fig. 3. SomeThis corresponds to a decreasing value of times it is also advantageous to consider some criteria just at a particular time step. One example is the variation of the control action, which can be quite small for steady-states, but it should change quite significantly for different situations, e.g., when a step response must be followed. The designer should, thus, choose carefully the criteria at each time step, regarding the desired performance criteria of the system under control. In general, all the parameters of the different membership functions are application dependent. However, it is possible to derive some tuning guidelines, as will be described in Section IV. quantify how much the The membership functions system satisfies the criteria given a particular control sequence, bringing various quantities into a unified domain. The use of the membership functions introduces additional flexibility for expressing the control goals, and it leads to increased transparency as it becomes possible to specify explicitly what type of system response is desired. For instance, it becomes easier to penalize errors that are larger than a specified threshold more severely. Note that there is no need to scale the several parameters and as in (8) when fuzzy objective functions are used, because the use of membership functions introduce directly the normalization required. For this particular aspect, this feature reduces the effort on designing MPC with fuzzy objective functions, when compared to classical objective functions. After the membership functions have been defined, they are combined by using a decision function, such as a parametric aggregation operator from the fuzzy sets theory (see Section III-A). IV. APPLICATION EXAMPLES This section presents two simulation examples showing the influence of the conventional and the fuzzy objective functions in predictive control. After the description of the systems, the choice of aggregation operators is discussed for one of the systems. Next, classical and fuzzy objective functions are applied to the systems, and a discussion over the obtained results is made. Other applications of some aspects of the presented approach can be found in [22] and [28]. A. Description of the Simulated Systems The influence of conventional and fuzzy objective functions in predictive control has been studied using two different systems: 1) a simulated nonminimum phase, open-loop unstable

Fig. 4. Position of the poles and zeros of the linear system given by (13).

linear system and 2) a simplified nonlinear model of an air-conditioning system, which is derived from real data of a test cell using fuzzy modeling techniques. The following sections describe these systems in more detail. In order to concentrate on the differences between the two control schemes, model-plant mismatch, and the implementational aspects are not considered. 1) Linear System: A linear system has been selected for the first set of experiments in order to be able to compare the control results when classical and fuzzy criteria are applied. The selected system is described by the transfer function (13) This is a nonminimum phase system and it has two complex poles in the right-half plane (unstable in open-loop). The poles and zero placement are given in Fig. 4. The system, proceeded by a zero-order-hold circuit, has been discretized with a sample time of one s. 2) Air Conditioning System: A heating, ventilating, and air conditioning (HVAC) system consists of a number of heat exchangers, pipes or dampers which supply hot water, steam or chilled water to a heating or cooling unit responsible for the conditioning of a space. Fig. 5(a) shows the HVAC system that is used in this study. Hot water at 65 C is supplied to a coil which exchanges the heat between the hot water and the surrounding air. A valve controls the amount of hot water that flows through the coil. A fan is responsible for the ventilation and it supplies the hot air coming from the coil to the test-cell (room). The global control goal is to keep the room at a reference temperature while assuring sufficient ventilation. The fan can be set to three different velocities: low, medium, and high. A return damper controls the amount of recycled air from the room, while an outside damper controls the amount of fresh air coming from measured after the coil is outdoors. The supply temperature controlled with the heating valve. A SISO model of the system is determined from I/O measurements made with a sampling period of 30 s. The temperature can be described as a nonlinear, , where first-order dynamic system is the valve opening and is the temperature in degrees celcius at time instant . A Mamdani fuzzy model with singleton consequents is obtained using the

SOUSA AND KAYMAK: MODEL PREDICTIVE CONTROL USING FUZZY DECISION FUNCTIONS

61

(a)

(a)

(b) Fig. 6. Membership functions for the antecedent variables of the fuzzy model. TABLE I RULE BASE FOR THE FUZZY MODEL OF THE HVAC PROCESS

(b) Fig. 5. Air conditioning system: (a) schematic representation and (b) derived model.

identification method described in [39]. Fig. 6 shows the triangular membership functions that are determined for the temperand the valve opening . Note that the universe ature because of discourse for the valve opening is the interval the valve shows a dead-zone behavior between 0 and 0.4, when the system is considered to be a SISO system. The fuzzy rule base that describes the model is given in Table I. An example of is a rule for this Singleton model, e.g., the first rule, is If is Low, then . Small and Fig. 5(b) depicts the piecewise linear mapping that is described by the fuzzy model. The fuzzy model is used for simulating the system and developing predictive controllers. B. Application of Aggregation Operators to the Linear System In this section, several issues such as interaction amongst criteria, the influence of the types of decision functions and their parameters are studied using the simulated linear system given in (13). The membership functions for the fuzzy goals and the constraints are assumed to be given. Remember that this system is nonminimum phase and has two complex poles

in the right-half plane (unstable in open loop). Only the minimization of the predicted output error is used as optimization criterion in order to keep the optimization problem transparent and to understand clearly the influence of the decision function on the solution. The optimization criterion is represented by a symmetric exponential membership function which is defined around zero output error as

where is the reference and is the predicted model output. . This function is a particular case of (12) for is imposed on the rate of the A crisp constraint control action, and it is represented by a membership function . that is defined on Step responses of the system have been studied. The controller is implemented in the incremental form and the optispace. This conmization is performed in the discretized trol space is divided into 11 discrete levels and an enumerative search scheme has been used for determining the best control is chosen as small as possible action. The control horizon for keeping the search space small. A value of two is found to is kept relabe satisfactory. Similarly, the prediction horizon tively small to a value of 6. The minimum operator (14), the gen-

62

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART B: CYBERNETICS, VOL. 31, NO. 1, FEBRUARY 2001

Fig. 7. Response of a fuzzy predictive controller using the generalized mean as the decision function. Dashed: w = 1, solid: w = 1, dash-dotted: w = 3.

Fig. 8. Response of a fuzzy predictive controller using the Yager t-norm as the decision function. Dashed: w = 2, solid: w = 2:8, dash-dotted: w = 4.

eralized minimum (15), and the Yager -norm (16) are chosen as possible decision functions (14)

(15)

(16) , i.e., Zadehs fuzzy comwhere plement. The responses with the parametric decision functions have been calculated for several values of the parameters. It is known that the minimum operator does not allow interaction amongst criteria. It optimizes the worst action in the control sequence and makes sure that it is as good as possible. However, because the system has nonminimum phase behavior, the minimum operator cannot be used for optimization because every control action except for zero will result in an (initial) increase of the error, decreasing the value of . Hence, the best control action will be zero, and the controller will not select another control action. For this reason, a decision function that allows for interaction amongst criteria is required for this type of system. For is chosen very the generalized averaging operator (15), when large, the system tries to reach the reference value as soon as possible and shows an overshoot. The system slows down for small values of . A fast response without an overshoot is obtained for equal to one (arithmetic mean). Fig. 7 shows the response of the controlled system for several values of the parameter . Unlike the generalized mean, the system shows fast response when the Yager -norm is for small values of the parameter used. Being a -norm, this operator tries to achieve a simultashould neous satisfaction of all the criteria. The parameter not be chosen very small as the simultaneous satisfaction of the is around 2.8, the concriteria may then be unfeasible. When trolled system shows a very fast response without overshoot. The

step response is even faster than the response that is obtained with the arithmetic mean as the decision operator. Fig. 8 shows the step . The parameter (or simiresponse for several values of ) can be interpreted as a speed indicator larly the parameter for the response. For small values of , small control actions are preferred and the system response slows down. Large values of favor a faster decrease of the error and, thus, larger control actions are favored. Thus, the system response can be tuned by using the parameter of the decision functions as an extra degree of freedom. Additional objectives such as the rising time and the overshoot could also be controlled with this single parameter. C. Application of a Fuzzy Objective Function MPCs have been designed for the systems described in Section IV-A by using both the conventional objective function (8) and a fuzzy objective function. A -norm is used for the aggregation, since the decision goal is formulated as the simultaneous satisfaction of all the decision criteria. The aggregation opera, and in (2) are taken as the Yager -norm, which tors combines the control criteria presented in Fig. 3, and is given by

(17) and are defined (8), where the parameters and Zadehs complement is defined (16). The parameter allows for the choice of different -norms (see Section III-A). The response of the controllers is studied using simulations of the systems. Given (17) as an aggregation operator, the membership functions and the parameters of the objective functions have been chosen in such a way that they lead to fast response while avoiding excessive oscillations and overshoot within the working range of the controller. The prediction horizon is kept

SOUSA AND KAYMAK: MODEL PREDICTIVE CONTROL USING FUZZY DECISION FUNCTIONS

63

as small as possible, since in practice the model-plant mismatch hampers the use of long horizons. In this study, the control space is discretized and the optimal control sequence is determined by an enumerative search. The control horizon is chosen equal to two in order to keep the computational load low. To further reduce the computational load, a two-step optimization approach is used, where a rough solution is found by using a coarse discretization of the control space, followed by the calculation of a finer solution around the rough solution. Other optimization techniques for nonconvex problems, such as the branch-and-bound or genetic algorithms can also be used [40], [41]. 1) Linear System: The predictive control scheme is applied to the linear system given by (13) without any constraints on the system. Both the conventional criteria and the fuzzy criteria are then able to control the system with a fast step response and no overshoot. However, when a rate constraint of is imposed on the system, the influence of the fuzzy criteria on the control problem becomes more dominant. For these experiand . It is required that the controller can ments, . Using the bring the system to any level in the interval output error and the change in the output with and was found to be sufficient for controlling the system. The following parameters are used for the conventional . objective function: These values are chosen following the general guidelines presented in [11] and [24], and by trial and error until a reasonable response of the system is found. The parameter was a compromise between fast response (for smaller values) and small or no overshoot (for bigger values). For the fuzzy criteria, the following membership function parameters are found by tuning , and for the Yager -norm. The way to tune the Yager parameter is discussed in Section III-A. The membership functions for the error and change in error are chosen to have equal magni, and by taking and tude by choosing symmetrical to and , respectively. Note that the choice of these four parameters requires only the tuning of one of them, and because they are all related. Finally, the parameters are chosen such that the system can move freely to a certain degree, and is penalized outside these limits. The criterion on the change of the control action is not considered because it does not introduce any improvement in the control performance of this system. The responses of the system for several steps using classical and fuzzy criteria are shown in Figs. 9 and 10, respectively. It is clear that the predictive controller with fuzzy criteria can improve the speed of the response considerably, while avoiding overshoots. The response of the controller with conventional criteria can be made faster by changing the values of , but this occurs at the expense of amplifying the oscillations due to the nonminimum phase behavior. Another solution can be found by extending the prediction horizon. However, a considerable increase of the prediction horizon is required, and this is in general undesired. Hence, this system benefits clearly from the additional flexibility introduced by the fuzzy criteria. Moreover, the prediction horizon can be reduced when fuzzy objective functions are used, without deteriorating the control performance, when proper fuzzy objectives are designed.

Fig. 9. Step responses for the linear system using the conventional objective function.

Fig. 10. Step responses for the linear system using the fuzzy objective function.

2) Air-Conditioning System: The air-conditioning system is imposed on is simulated and a rate constraint of is chosen the system in these experiments. In this system is chosen equal to three. These horizons equal to two, and revealed to be sufficient for controlling the system. It is required that the controller can bring the system to any level in the interval [30 C, 60 C], which is the interval where the temperatures usually range for this system. The output error , the change in the control action with with and the change in the output with are used for specifying the objective function. The second change , can be considered in the control action, chosen by as a gradual transition between the control horizon and the prediction horizon. The first element in the control horizon is allowed to , while the change change freely within the crisp constraint on is zero outside the control horizon. Including the second term in

64

IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICSPART B: CYBERNETICS, VOL. 31, NO. 1, FEBRUARY 2001

the objective function imposes a soft constraint on the change of the second control action, which reduces the oscillations of the control signal without slowing down the response of the system. The output error and the change in output are just considered for , because it requires less control effort in the final step the system. Moreover, the use of the two first steps deteriorates the control performance due to the severe nonminimum phase behavior detected at some regions of the systems response. The following parameters are used for the conventional oband . The rest of jective function: and are chosen the parameters are zero. The parameters to make a tradeoff between the several criteria, and to scale the different terms: error, change in control action and change in the output. Note that the fuzzy objective function does not require this scaling due to the normalization introduced by the fuzzy sets. For the fuzzy criteria, the following membership function parameters are used: , and . Although nine parameters are present, only five must be tuned because is chosen as the others are related to them. The parameter is the maxthe maximum error allowed for the system. must be smaller than imum change allowed in the output. , and this is the region where the temperature can change is chosen such that without being penalized. The parameter the valve can change almost freely (the total range is the in), because the valve in the real system can change terval in this way, and the constraint in this valve is made for energy saving and stability reasons. Finally, the parameter for the Yager -norm, , allows for a good compromise between fast response and small overshoot, see Section III-A. The responses of the air-conditioning system for several steps using classical and fuzzy criteria are shown in Figs. 11 and 12, respectively. The controller with the fuzzy criteria is more able to use the full range of control actions, and the response of this controller is in general faster, especially for references close to the limits of the range within which they can vary. Further, some overshoots that are noticeable with the conventional criteria are reduced. Summarizing, for the studied systems, the use of fuzzy criteria improves the response of the predictive controller when the parameters of the objective functions are tuned in order to obtain fast system response without overshoot. Despite the additional number of parameters, tuning the fuzzy criteria is not more tedious than tuning the conventional objective function because of a better understanding of the influence of the various parameters. The main disadvantage of the MPC with fuzzy criteria is that the optimization problem often becomes nonconvex, increasing then the computational load. V. CONCLUDING REMARKS The application of FDM to predictive control in closed-loop control systems is considered in this paper. FDM in control has two main design problems, which are the choice of the aggregation operators and the choice of fuzzy criteria. The use of parameterized aggregation operators has some advantages, because these parameters can influence several criteria at the same time. The relation amongst various performance criteria such as the rise time, the settling time or the overshoot can then be adapted with only one parameter. Contrary to many

Fig. 11. Step responses for the air-conditioning system using the conventional objective function.

Fig. 12. Step responses for the air-conditioning system using the fuzzy objective function.

publications in FDM, this paper makes a clear distinction between the representation of goals and the representation of constraints. In this way, exponential curves are used for representing fuzzy goals, while triangular membership functions with their bounded support are used to represent fuzzy constraints. The advantage of this approach is that the hard constraints of the control problem are guaranteed to be satisfied. The choice of the prediction horizon is addressed, and the generalization of classical objective functions to fuzzy objective functions in MPC is presented. This generalization brings additional flexibility to the definition of the objective functions, as shown by two examples. These examples also show the improvements of the controller response by using fuzzy objective functions in MPC. However, the optimization problem is nonconvex with the known disadvantages. In this way, the computational time grows exponentially with the control horizon and the number of variables.

SOUSA AND KAYMAK: MODEL PREDICTIVE CONTROL USING FUZZY DECISION FUNCTIONS

65

Future research must consider the generalization of the fuzzy objective function in order to include weights and hierarchical fuzzy criteria. The methods dealing with the nonconvex optimization problem to be solved at each step in MPC need to be computationally efficient. Such methods should be developed and tested in the future, including, e.g., genetic algorithms, branch-and-bound, allowing the application of fuzzy MPC to systems with smaller sampling times. REFERENCES
[1] T. Terano, K. Asai, and M. Sugeno, Applied Fuzzy Systems. Boston, MA: Academic, 1994. [2] J. Yen, R. Langari, and L. A. Zadeh, Industrial Applications of Fuzzy Logic and Intelligent Systems. Piscataway, NJ: IEEE Press, 1995. [3] H. B. Verbruggen and R. Babu ka, Eds., Fuzzy Logic Control: Advances s in Applications, Vol. 23 of World Scientific Series in Robotics and Intelligent Systems. Singapore: World Scientific, 1999. [4] E. H. Mamdani, Applications of fuzzy algorithms for control of simple dynamic plant, Proc. Inst. Elect. Eng., vol. 121, pp. 15851588, 1974. [5] R. E. Bellman and L. A. Zadeh, Decision making in a fuzzy environment, Manage. Sci., vol. 17, no. 4, pp. 141164, 1970. [6] S. Yasunobu and S. Miyamoto, Automatic train operation system by predictive fuzzy control, in Industrial Applications of Fuzzy Control, M. Sugeno, Ed. Amsterdam, The Netherlands: North-Holland, 1985, pp. 118. [7] L. M. Jia and X. D. Zhang, On fuzzy multiobjective optimal control, Eng. Appl. Artif. Intell., vol. 2, no. 6, pp. 153164, 1993. [8] M. A. Goodrich, W. C. Stirling, and R. L. Frost, A theory of satisficing decisions and control, IEEE Trans. Syst., Man, Cybern. A, vol. 28, pp. 763779, Nov. 1998. [9] J. Kacprzyk, Multistage Fuzzy Control. New York: Wiley, 1997. [10] J. Richalet, Industrial applications of model based predictive control, Automatica, vol. 29, pp. 12511274, 1993. [11] R. Soeterboek, Predictive Control: A Unified Approach. Englewood Cliffs, NJ: Prentice-Hall, 1992. [12] L. W. Fung and K. S. Fu, Characterization of a class of fuzzy optimal control problems, in Fuzzy Automata and Decision Processes, M. M. Gupta, G. N. Saridis, and B. R. Gaines, Eds. Amsterdam, The Netherlands: North-Holland, 1977, pp. 209219. [13] B. Gluss, Fuzzy multi-stage decision-making fuzzy state and terminal regulators and their relationship to nonfuzzy quadratic state and terminal regulators, Int. J. Contr., vol. 17, no. 1, pp. 177192, 1973. [14] U. Kaymak, Fuzzy decision making with control applications, Ph.D. dissertation, Delft Univ. Technol., Delft, The Netherlands, 1998. [15] J. M. Sousa, U. Kaymak, M. Verhaegen, and H. B. Verbruggen, Convex optimization in fuzzy predictive control, in Proc. 35th IEEE Conf. Decision Control, Kobe, Japan, 1996, pp. 27352740. [16] P. E. Gill, W. Murray, and M. H. Wright, Practical Optimization. New York: Academic, 1981. [17] J. A. Nelder and R. Mead, A simplex method for function minimization, Comput. J., vol. 7, pp. 308313, 1965. [18] C. Onnen, R. Babu ka, U. Kaymak, J. M. Sousa, H. B. Verbruggen, and s R. Isermann, Genetic algorithms for optimization in predictive control, Contr. Eng. Practice, vol. 5, no. 10, pp. 13631372, 1997. [19] J. M. Sousa, R. Babu ka, and H. B. Verbruggen, Fuzzy predictive cons trol applied to an air-conditioning system, Contr. Eng. Practice, vol. 5, no. 10, pp. 13951406, 1997. [20] M. A. Goodrich, W. C. Stirling, and M. Zanaboni, Model predictive satisficing fuzzy logic control, IEEE Trans. Fuzzy Syst., vol. 7, pp. 319332, June 1999. [21] A. Meiritz, H.-J. Zimmermann, R. Felix, and R. Freund, Goal-oriented control based on fuzzy decision making, in Proc. 3rd Eur. Congr. Fuzzy Intelligent Technologies, Aachen, Germany, Aug. 1995, pp. 8285. [22] J. M. Sousa, R. Babuka, P. M. Bruijn, and H. B. Verbruggen, Compars ison of conventional and fuzzy predictive control, in Proc. 1996 IEEE Int. Conf. Fuzzy Systems, New Orleans, LA, Sept. 1996, pp. 17821787. [23] J. J. E. Slotine and W. Li, Applied Nonlinear Control. Englewood Cliffs, NJ: Prentice-Hall, 1991. [24] E. F. Camacho and C. Bordons, Model Predictive Control in the Process Industry. New York: Springer-Verlag, 1995. [25] U. Kaymak, J. M. Sousa, and H. B. Verbruggen, A comparative study of fuzzy and conventional criteria in model-based predictive control, in Proc. 1997 IEEE Int. Conf. Fuzzy Systems, Barcelona, Spain, July 1997, pp. 907914.

[26] R. R. Yager, On the inclusion of importance in multi-criteria decision making in the fuzzy set framework, Int. J. Expert Syst., Res. Applicat., vol. 5, pp. 211228, 1992. [27] U. Kaymak and H. R. van Nauta Lemke, A sensitivity analysis approach to introducing weight factors into decision functions in fuzzy multicriteria decision making, Fuzzy Sets Syst., vol. 97, no. 2, pp. 169182, July 1998. [28] U. Kaymak and J. M. Sousa, Model based fuzzy predictive control applied to a simulated gantry crane, in Proc. 2nd Asian Control Conf., vol. 3, Seoul, Korea, July 1997, pp. 455458. [29] H. Hamacher, ber logische verknupfungen unscharfer aussagen und deren zugehrige bewertungsfunktionen, in Progress in Cybernetics and Systems Research, G. J. Klir, R. Trappl, and L. Ricciardi, Eds. Washington, DC: Hemisphere, 1978. [30] R. R. Yager, On a general class of fuzzy connectives, Fuzzy Sets Syst., vol. 4, pp. 235242, 1980. [31] S. Weber, A general concept of fuzzy connectives, negations and implications based on t-norms and t-co-norms, Fuzzy Sets Syst., vol. 11, pp. 115134, 1983. [32] D. Dubois and H. Prade, New results about properties and semantics of fuzzy set-theoretic operators, in Fuzzy Sets, P. P. Wang and S. K. Chang, Eds. New York: Plenum, 1986. [33] H. J. Zimmermann and P. Zysno, Latent connectives in human decision making, Fuzzy Sets Syst., vol. 4, pp. 3751, 1980. [34] H. R. van Nauta Lemke, J. G. Dijkman, H. van Haeringen, and M. Pleeging, A characteristic optimism factor in fuzzy decision-making, in Proc. IFAC Symp. Fuzzy Information, Knowledge Representation, Decision Analysis, Marseille, France, 1983, pp. 283288. [35] U. Kaymak and H. R. van Nauta Lemke, A parametric generalized goal function for fuzzy decision making with unequally weighted objectives, in Proc. 2nd IEEE Int. Conf. Fuzzy Systems, vol. 2, Mar. 1993, pp. 11561160. [36] M. A. Henson and D. E. Seborg, Input-output linearization of general nonlinear systems, AIChE J., vol. 36, pp. 17531757, 1990. [37] D. W. Clarke, C. Mohtadi, and P. S. Tuffs, Generalized predictive control. Part 1: The basic algorithm. Part 2: Extensions and interpretations, Automatica, vol. 23, no. 2, pp. 137160, 1987. [38] D. W. Clarke and C. Mohtadi, Properties of generalized predictive control, Automatica, vol. 25, no. 6, pp. 859875, 1989. [39] R. Babuka and H. B. Verbruggen, A new identification method for s linguistic fuzzy models, in Proc. FUZZ, Yokohama, Japan, Mar. 1995, pp. 905912. [40] J. M. Sousa, A fuzzy approach to model-based control, Ph.D. dissertation, Delft Univ. Technol., Delft, The Netherlands, Apr. 1998. [41] J. M. Sousa, P. M. Bruijn, and H. B. Verbruggen, Branch-and-bound optimization in real-time fuzzy predictive control, Int J. Intell. Syst., vol. 15, no. 9, pp. 879899, Oct. 2000.

Joo Miguel da Costa Sousa (S96M98) was born in 1966 in Lisbon, Portugal. He received the M.Sc. degree in mechanical engineering from the Technical University of Lisbon in 1992 and the Ph.D. degree in electrical engineering from the Delft University of Technology, Delft, The Netherlands, in 1998. He is currently an Assistant Professor in the Control, Automation, and Robotics Group, Department of Mechanical Engineering, Instituto Superior Tcnico, Technical University of Lisbon. His main research interests include fuzzy model-based control, intelligent and predictive control, and fuzzy decision making.

Uzay Kaymak (S94M97) received the M.Sc. degree in electrical engineering in 1992, the Chartered Designer degree in information technology in 1995, and the Ph.D. degree in 1998 all from Delft University of Technology, Delft, The Netherlands. From 1997 to 2000, he was a Reservoir Engineer at Shell International Exploration and Production. Currently, he is an Assistant Professor at Erasmus University, Rotterdam, The Netherlands. His current research interests include fuzzy decision making and intelligent marketing and finance. Dr. Kaymak is a Member of the Royal Institution of Engineers, The Netherlands, and an Associate Member of the Dutch School for Information and Knowledge Systems.

You might also like