A fuzzy predictive controller using particle swarm optimization (PSO) approach is proposed. The aim is to develop an efficient algorithm that is able to handle the relatively complex optimization problem with minimal computational time. This can be achieved using reduced population size and small number of iterations. In this algorithm, instead of using the uniform distribution as in the conventional PSO algorithm, the initial particles positions are distributed according to the normal distribution law, within the area around the best position. The radius limiting this area is adaptively changed according to the tracking error values. Moreover, the choice of the initial best position is based on prior knowledge about the search space landscape and the fact that in most practical applications the dynamic optimization problem changes are gradual. The efficiency of the proposed control algorithm is evaluated by considering the control of the model of a 4 × 4 Multi-Input Multi-Output industrial boiler. This model is characterized by being nonlinear with high interactions between its inputs and outputs, having a nonminimum phase behaviour, and containing instabilities and time delays. The obtained results are compared to those of the control algorithms based on the conventional PSO and the linear approach.
1. Introduction
In the late seventies, a new class of advanced control algorithms, grouped under the denomination Model Predictive Control (MPC), has emerged. The MPC strategy is based on the use of an explicit model to predict the process future behaviour over a finite horizon and then to compute a sequence of future control actions by minimizing a given cost function. The MPC is known to be a very powerful control strategy for many industrial processes [1–3]. Its attraction is due to its ability to handle complex control problems which involve multivariable process interactions, constraints in the system variables, nonminimum phase behaviour, and variable or unknown time delays. Linear MPC (LMPC) techniques, which use a linear model for the process, have been successfully used in many industrial applications, such as refining, chemicals, petrochemicals, air and gas processing, and food processing industries [4–6].
Although LMPC algorithms provide satisfactory performance in many applications, against highly nonlinear process, severe degradation in the control performance can occur, unless of course the operating conditions are very close to the steady state around which the model is linearized [7]. Since most practical processes are nonlinear by nature, new efficient nonlinear MPC (NMPC) techniques have to be derived to incorporate nonlinearities and ensure higher control performance. The introduction of nonlinear models will enhance the overall controller performance. However, the relatively simple optimization problem in LMPC algorithms will be transformed to a nonlinear and a nonconvex optimization problem which requires complex and time consuming procedures [8–10]. Thus, the challenge is to derive an efficient optimization algorithm that allows the real-time implementation of the control law.
An important step in the design of NMPC algorithms based controllers is the construction of the explicit nonlinear model of the system. The model choice is a critical task; the controller efficiency and performance depend extremely on the accuracy of the used model. In many cases it is even impossible to obtain a suitable model for the underlying process due to its complexity or lack of knowledge of its critical parameters. Different approaches that can provide satisfactory models exist; one which is widely used is the fuzzy logic technique [11]. Fuzzy inference systems (FIS) are universal approximators capable of approximating any continuous function with a certain level of accuracy [12]. Takagi-Sugeno (TS) models, a subdivision of fuzzy models, are particularly suitable for NMPC algorithms [13]. These models are able to express the dynamic nature of systems with characteristics of randomness, large delay time, and strong nonlinearity [14, 15].
Another important factor in driving the NMPC based controllers is the resolution of the relatively difficult and time consuming nonlinear and nonconvex optimization problem. Seeing that the analytical approach is impractical, several other suboptimal solutions were proposed [7, 16–18]. Some of them are based on numerical optimization algorithms, which are known to have a slow convergence rate and could easily be trapped in local minima. Other more interesting approaches are the metaheuristic based optimization algorithms, such as the powerful but computationally complex genetic algorithms (GA) and the particle swarm optimization strategy. PSO algorithms require much less computational effort than the GA and their implementation is relatively easy [19]. A lot of papers have considered the PSO to solve the optimization problem of NMPC [20–23]. In these papers, a large number of particles and iterations were used which increases the computational burden of the control algorithm. Recently, several PSO algorithms have been proposed in the literature to solve different optimization problems [24–26]. In most of these algorithms, improving the accuracy and the convergence proprieties of the algorithm is obtained at the cost of increasing its computing complexity. For example, in [26] more than one equation is used to update the particles positions at the same time. Obviously, using several update equations will increase the algorithm computing time and will limit its use in real time applications.
In this work, a PSO based constrained fuzzy predictive controller is proposed. The aim is to develop a simple and efficient controller capable of handling the relatively complex optimization problem with minimal computational time. This can be achieved using a reduced population size and a small number of iterations. The proposed control algorithm uses the normal distribution law to distribute the initial particles positions within the area around the best position. The radius limiting this area is adaptively changed according to the tracking error values. Moreover, the choice of the initial best position is based on prior knowledge about the search space landscape and the fact that in most practical applications the dynamic optimization problem changes are gradual. The algorithm efficiency is evaluated by considering the control of the model of a 4 × 4 Multi-Input Multi-Output (MIMO) industrial boiler [27, 28]. This model is characterized by being nonlinear with high interactions between its inputs and outputs, having a nonminimum phase behaviour, containing instabilities and time delays, and including constraints on its variables, disturbances, and uncertainties.
The paper is organized as follows. In Section 2 the design stages of Takagi-Sugeno fuzzy models are presented. Section 3 presents and describes the fuzzy predictive control problem. The PSO algorithm, used to solve the fuzzy MPC optimization problem, is introduced in Section 4. Section 5 deals with the proposed control algorithm and Section 6 gives the simulation results. Finally, conclusions are drawn in the last section.
2. Takagi-Sugeno Fuzzy Modelling
Fuzzy inference systems (FIS) are universal approximators capable of approximating any continuous function with certain level of accuracy [12]. The FIS are based on the so-called IF-THEN rules and are classified into two main categories: Mamdani models and Takagi-Sugeno models. The rules of TS fuzzy models, used in this work, have the following form:(1)Rj: IF F is Aj THENyj=θjTX,where F={yt,yt-1⋯yt-na+1,ut,ut-1⋯u(t-ma+1)} is the set of na+ma premise values, XT={yt,yt-1⋯yt-nr+1,ut,ut-1⋯ut-mr+1,1} is the set of mr inputs and nr outputs values used in the consequent regressors, Aj={A1,j,A2,j⋯Ana,j,B1,j,B2,j⋯Bma,j} is the set of membership functions associated with the antecedents of the jth rule, and θjT={aj,1,aj,2⋯aj,nr,bj,1,bj,2⋯bj,mr,cj} is the parameter vector of the jth submodel while yj is its output (1≤j≤r; r is the number of fuzzy rules).
It is clear, from (1), that the Takagi-Sugeno fuzzy models have fuzzy propositions only in their antecedents while their consequences are linear functions of the antecedents or their variables.
Using input/output data extracted from a nonlinear process, a fuzzy model can be constructed to mimic the process behaviour, by defining the parameter matrix as(2)Θ=θ1,θ2⋯θrand the normalized membership grade vector as(3)μT=μ1,μ2⋯μr.The inferred output of the TS fuzzy model is given by(4)y^t+1=ΘμTχ.Using the input/output representation, the TS model given by (4) can be rewritten as follows:(5)y^t+1=∑p=1naa¯ptyt-p+1+∑p=1mab¯ptut-p+1+c¯t,where a¯pt=∑l=1rμltal,p, b¯pt=∑l=1rμltbl,p, and c¯t=∑l=1rμltcl.
The global output of the fuzzy model can be written as(6)y^t+1=∑p=1rμptypt+1=μ1tyt,…,μ1tut-mr+1,…,μrtθ~=φTtθ~,where yp(t+1) is the output of the pth submodel and(7)θ~T=θ1Tθ2T⋯θrT.Assuming that a set of N input-output data pairs ut,yt is available and defining L=maxmr,nr, a regression matrix which has the following expression can be constructed:(8)Φ=φTLφTL+1⋮φTN-1.The vector θ~ can be calculated by solving the following least square problem:(9)Y=Φθ~,where Y=yL+1,…,y(N)T.
The resolution of (9), which is the last step in TS fuzzy model construction, deals with the definition of the consequences part of the rules. However, the antecedent, which involves in part the number, the position, the shape, and the distribution of the membership functions, must be first selected. A lot of techniques for the construction of fuzzy models from input-output data are described in the literature; in Espinosa et al. [16] different approaches are well explained.
3. Fuzzy Predictive Control Principle
We can always distinguish two common features present in any given MPC based algorithm. The explicit model used to predict the future process behaviour and the optimization problem from which a control sequence is derived.
The main steps of the MPC strategy are given below:
The constructed model is used to predict the future behaviour of the process over a given prediction horizon.
The reference trajectory must be defined over the prediction horizon.
The control sequence is obtained by minimizing a given cost function.
Only the first element of the control sequence is applied on the system.
The previous steps are repeated, at every sampling time, according to the receding horizon idea. These steps are illustrated by the block diagram of Figure 1.
Basic structure of MPC technique.
The optimization problem to be solved at every sampling time usually has the following form:(10)minΔutJut,y^t,wt=∑j=N1N2y^t+j∣t-wt+jTQy^t+j∣t-wt+j+∑j=1NuΔuTt+j-1RΔut+j-1subject to:Δut+j-1=0,for j>Nuymin<y^t+j∣t<ymaxfor N1≤j≤N2umin<ut+j<umaxfor 1≤j≤NuΔumin<Δut+j-1<Δumaxfor j≤Nu,where Δu(t)=u(t)-u(t-1) is the control increment, J is the cost function, N1 and N2 are, respectively, the minimum and maximum prediction horizons, Nu is the control horizon, Q is a positive definite matrix and R is a positive semidefinite matrix which are called weight matrices, w(t) is the reference trajectory, u(t) represents the system inputs, and y^(t+j∣t) is a j-step ahead prediction of the system outputs on data up to time t. The predicted outputs can recursively be generated using the process fuzzy model or obtained using a multistep prediction model of the process.
Given that the predicted outputs are nonlinear with respect to the control inputs, the optimization problem given by (10) is then a constrained nonlinear and nonconvex optimization problem, the solution of which is difficult and generally expensive in computing time. Different approaches were investigated to solve this problem, such as the numerical optimization techniques [29–31], the metaheuristic based optimization algorithms [7, 15, 22, 32], the linearization of the process fuzzy model [18], and the use of particular model structures to obtain a convex form for the cost function [33].
4. PSO Algorithm
The particle swarm optimization is a modern and versatile population based optimization technique, in many respects, similar to evolutionary algorithms [19]. It was first introduced by Kennedy and Eberhart in 1995, as a solution for the optimization problem of a single objective continuous problem. It is based on the observations made upon the collective behaviour of social living entities, such as ants, bees, and flocks of birds. Basically, each particle will be moving around the search space looking for an adequate solution to the optimization problem. By evaluating the fitness of each one of them, their suitability as a possible solution will be assessed. In the next iteration, each particle will change its position to provide more accurate solution, by considering the history of the particle or its best position, its neighborhood history, and mainly the best position found by the whole swarm.
The particles movements are bound by the following equations:(11)vm+1=vm+am+1,xm+1=xm+vm+1,where v, a, x are, respectively, the particle, velocity, acceleration, and position and m is the iteration index.
In the Clerc-Kennedy PSO [34], considered as the conventional PSO algorithm, the particle acceleration has the following expression:(12)a=χcϵ1Pg-x+cϵ2P-x-1-χv,where χ=0.729843788, c=2.05, ϵ1 and ϵ2 are random numbers from the uniform distribution U[0,1], P is the particle personal best position, and Pg is the global best position of all particles. Parameter χ guarantees a decreasing velocity for each particle as the number of iterations increases. This property will improve the convergence quality as the particles approach the solution; their movement will be more and more limited, which help to fine-tune the found solution.
The PSO population size is extremely dependent on the optimization problem at hand; a compromise must be reached between the size of the population and the global performance. Empirically, it has been shown that a population of about 20 to 30 particles is generally sufficient in handling almost all the classical optimization problems [35]. Some other optimization problems could be efficiently solved by a smaller population or rather require a larger one. Several papers have dealt with this problem. The author in [35] describes an adaptive PSO algorithm where the swarm population size is obtained through different strategies that regulate the population by removing badly performing particles and creating new ones. In [36] the VarPSO has been proposed, where the PSO population size is varied during the run, based on the concepts of particle age and neighborhood.
One of the major drawbacks of the original PSO algorithm is its inability to consistently improve a solution as the number of iterations increases [37]. Several improvements were proposed to address this weakness, such as the tent-map PSO algorithm introduced by Song et al. [38] and the self-organizing hierarchical particle swarm optimization [39]. In [34], a constriction factor χχ<1 is used to progressively contract the particle movement, as the iterations increase. Different distribution laws like exponential and Gaussian have already been used for the fine-tuning of PSO parameters [40, 41]. But for initializing the particles most of the proposed algorithms use the uniform distribution. The authors in [42] have investigated the possibility of using different distribution law to initialize the particles. They have shown that using other distribution laws gives better performances for most of the cases. In the remaining ones, the performances were the same. This is due to the nature of the uniform distribution, which sometimes gives a wrong impression of the relative performance of algorithms as it is shown in [43].
One of the reasons for the poor performance of the basic version of PSO algorithm may be attributed to the dispersion of initial population points in the search space. If the population does not cover the search space efficiently, it may not be able to locate the appropriate solution points, thereby missing the global optimum [44]. This difficulty may be minimized to a great extent by selecting a well-organized distribution law.
The PSO algorithm used to solve the optimization problem of the fuzzy predictive control uses the Gaussian distribution to initialize the swarm and is based on the ideas that take advantage of both prior knowledge about the search space landscape and the fact that in most practical applications the dynamic optimization problems changes are gradual [19]. In most cases, it will be logical to assume that once a solution was found, it is better to track it rather than to look for it every time the optimization problem changes. In this algorithm a group of candidate solutions is generated and their fitness is evaluated. The fittest one is adopted by the PSO population as their initial global best position before even initializing the PSO algorithm; then the particles population is used to enhance this solution by favouring the search of an adaptive immediate neighbourhood around the initial solution. This allows increasing the efficiency of the algorithm in regard to the execution time and enhances the convergence quality of the solution. Contrary to the conventional PSO algorithms that involve the use of a large population size to effectively probe the whole search space, the downside, of course, is the huge computing requirement necessary to manage this population.
5. Fuzzy Predictive Controller Design Based on the PSO Algorithm5.1. Notation and Principle
Without excluding the use of other nonlinear models, the TS fuzzy model described in [14] is used, as the explicit model to predict the future values of the system. In the case of other nonlinear models, the same steps can be used in solving the optimization problem.
Let us define the notation adopted in the formulation of the proposed control algorithm.
We consider a MIMO system with m inputs and n outputs.
The position of the hth particle, at the sampling time t, is represented by(13)Xht=uht,uht+1,…,uht+Nu-1,h=1,…,Npop,where Npop is the number of particles in the population (swarm), and (14)uht+j=u1ht+j,…,umht+jT,j=0,…,Nu-1.The position of each particle is adaptively changed according to (11) and (12).
The cost function J is used as the fitness function (ffitness·=J·).
The control sequence Ut which is the optimal solution of the optimization problem is then given by the global best position (Xgbest); that is,(15)Ut=ut,ut+1,…,ut+Nu-1=Xgbestt,where ut+j=u1(t+j),u2(t+j),…,um(t+j)T, j=0,…,Nu-1, is the system control input vector.
The block diagram of the developed control algorithm is illustrated in Figure 2.
Block diagram of the proposed NMPC algorithm.
The different steps of the algorithm are drawn based on the following points:
The solution obtained at the sampling time t is taken as an initial solution for the next sampling time t+1:(16)X10=Ut.
This is a good choice when the system is operating in the steady state.
Another candidate initial solution for the sampling time t+1 is given by(17)X20=ut+1,ut+2,…,ut+Nu,
where ut+1,…,ut+Nu-1 is the control sequence obtained at the previous sampling time and ut+Nu=ut+Nu-1.
Both initial solutions chosen in points 1 and 2 are evaluated using the fitness function. The fittest one is chosen as the initial global best position Xbest0t=u0t,u0t+1,…,u0t+Nu-1 of the entire PSO population.
Using the Gaussian distribution, the particles (Xh, h=1,…,Npop) are distributed around Xgbest0 within the radius rd=rd1⋯rdmT according to the following expression:(18)uiht+j=ui0t+j+rdiyjkmNudistyj=0,…,Nu-1;i=1,…,m,
where yj is random value from the normal distribution N[0,1], km is a random value from the normal distribution N[0,1/3], and disty=∑j=1Nuyj2.
The values of the radius rd, at the sampling time t+1, are given by(19)rd=ut+1-ut.
To explore the whole search space, the particles positions are updated according to (11) and (12).
Using a Gaussian distribution will ensure that the density of the particles gets higher around the chosen initial global best position; thus the optimal solution can be reached in few iterations, using a small number of particles. This is very interesting, in the case of small changes of the system outputs, if the system is operating in the steady state, or if we want to fine-tune the solution. The use of a uniform distribution favors the diversity of the particles and increases the probability to find better solution relatively far from the previous one. Since the number of PSO particles and the allowed iterations number should not be large, their initial positions carry a lot of influence in the quality of the solution.
To keep the algorithm from converging toward a local optimum, a minimal value rdmin=rd1min⋯rdmminT given by the following expression is imposed to rd:(20)rdmin=α1wt-yt+α2,where α1 is an n×m matrix of scaling parameters and α2 (m×1) is used to impose a minimum value to rdmin regardless of the tracking error (the value of rdmin can have a fixed value by setting α1 to zero).
If the current solution is far from the global optimum, the corresponding tracking error will be large and consequently the values of rdmin will also be large. When rdimin>rdi (i=1,…,m), the particles are distributed around Xgbest0 within rdimin instead of rdi. This will allow the algorithm to escape the current local optimum by looking for a better solution far from the actual one.
The termination criterion is the maximal number of iterations.
5.2. Constraints Handling
One of the strong points of predictive control is its ability to handle the control constraints directly and efficiently in the design stage by solving a constrained optimization problem. Different types of constraints could be distinguished depending on their nature. Mainly, we have constraints on the inputs, presented by actuators with limited range of action and a limited slew rate, and constraints on the outputs due to environmental, safety, and economic goals.
Several approaches were proposed for handling constraints using evolutionary algorithms [45, 46]. They can be grouped into four categories [47]: methods based on preserving feasibility of solutions, methods based on penalty functions, methods that differentiate the feasible and infeasible solutions, and hybrid methods. The proposed control algorithm is based, in the constraints handling, on the hybrid approach. Indeed, the output constraints are handled using a penalty function while the input constraints are handled using the method based on preserving feasibility of solutions.
5.2.1. Outputs Constraints
One practical and popular approach is to soften the constraints [48]; this means that a violation of the constraints is allowed, but under severe and special conditions. The easy way to soften the outputs constraints is to add new variables, called slack variables, to the cost function that will heavily penalize any deviation or violation of the constraints in order to force the optimizer to violate these constraints only when it is absolutely necessary. The output-dependent weight function Γyy was chosen to soften the output constraints. It has the following expression [5]:(21)Γyy=Γy1y10⋯00Γy2y2⋯00⋮⋱00⋯0Γynyn,Γyiyi=Γyi01+εiyi-yimin2if yi≤yiminΓyi0if yimin≤yi≤yimaxΓyi01+εiyi-yimax2if yi≥yimax,where i=1,…,n and yt=y1(t),y2(t),…,yn(t)T.
The function depicted in Figure 3 is the output-dependent weight function (Γyi) used in the softening of the constraints.
Weight function Γyiy.
εi is used to define the degree of softening: εi=∞ indicates hard constraint while εi=0 indicates no constraint. ymin=y1min,…,ynminT and ymax=y1max,…,ynmaxT limit the range where the outputs are allowed to exist.
The function Γyi will be also used on unconstrained outputs (yi) by setting yimin and yimax, respectively, to -∞ and +∞.
By introducing the weight function Γyy, the optimization problem will be reformulated to have the following expression:(22)minΔutJut,y^t,wt=∑j=N1N2y^t+j∣t-wt+jTΓyy^t+j∣t-wt+j+∑j=1NuΔuTt+j-1RΔut+j-1subject to:Δut+j-1=0,for j>Nuumin<ut+j<umaxfor 1≤j≤NuΔumin<Δut+j-1<Δumaxfor j≤Nu.
5.2.2. Inputs Constraints
The PSO algorithm, as any other population based algorithms, can systematically handle the input constraints by searching for solutions in the space for which these constraints are satisfied. The lower and upper bounds of this space are obtained as follows.
The constraints on the inputs and their increments are typically given by(23)umin<ut<umax(24)Δumin<Δut<Δumax,where umin=u1min,…,umminT and umax=u1max,…,ummaxT limit the range of the inputs, while Δumin=Δu1min,…,ΔumminT and Δumax=Δu1max,…,ΔummaxT limit the range of the inputs increments.
For any given particle h(h=1,…,Npop), we can write, from (24),(25)Δuimin≤Δuiht+j∣t≤Δuimax⟹Δuimin+uiht+j-1∣t≤uiht+j∣t=uiht+j-1∣t+Δuiht+j∣t≤Δuimax+uiht+j-1∣ti=1,…,m;j=0,…,Nu-1.For j=0, uiht-1∣t is the already calculated control action ui(t-1), and Δuiht+j∣t=uiht+j∣t-uiht+j-1∣t.
On the other hand, from (23), the constraints on the inputs magnitude could also be written as follows:(26)uimin≤uiht+j∣t≤uimax,i=1,…,m;j=0,…,Nu-1.Hence, from (25) and (26), the lower and upper bounds of the search space will be given by(27)Liminht+j≤uiht+j∣t≤Limaxht+j,i=1,…,m;j=0,…,Nu-1,where(28)Liminht+j=Δuimin+uiht+j-1∣tif Δuimin+uiht+j-1∣t>uiminuiminOtherwise,Limaxht+j=Δuimax+uiht+j-1∣tif Δuimax+uiht+j-1∣t<uimaxuimaxOtherwise.
5.3. The Control Algorithm
The basic steps of the proposed control algorithm are summarized as follows.
Step 1.
Initialize the control algorithm by choosing suitable values for the design and the PSO algorithm parameters.
Step 2.
According to points 1 and 2, determine the initial solutions X10 and X20.
Step 3.
Specify the desired reference trajectory over the prediction horizon and compute the future values of the system outputs: y^t+j, N1≤j≤N2.
Step 4.
Use the cost function (J) given by (22) to evaluate the fitness of the initial solutions X10 and X20. The fittest one will be adopted by the PSO population as their initial global best position Xgbest0.
Set Xgbest=Xgbest0.
Step 5.
Evaluate the value of rd using (19) and the value of rdmin using (20):(29)If rdi<rdimin thenrdi=rdimin,i=1,…,m.
Step 6.
For each particle h,
randomly initialize its velocity vh,
using (18), distribute the particle Xh around Xgbest within the radius rd,
set Ph=Xh, and evaluate ffitnessPh (Ph is the personal best position of particle Xh)(30)If ffitnessPh<ffitnessXgbest thenXgbest=Ph.
The optimal solution Ut=ut,ut+1⋯ut+Nu-1 is the global best position Xgbest.
For the next sampling time go to Step 2.
6. Case Study6.1. Process Description
To assess the performance of the proposed control algorithm, the control of the industrial boiler model developed by Pellegrinetti and Bentsman [28] is considered. This model represents a dual fuel (oil and gas) boiler in the Abbott Power Plant in Champaign, Illinois, which could be used for both heating and electric generation. It is a MIMO process, which has four manipulated inputs (fuel flow rate, air flow rate, feed water flow rate, and a valve to regulate the steam demand) and four measured outputs (pressure, oxygen level in the flue gas, drum water level, and steam flow). The control objectives are to maintain the pressure, the level of the water in the drum, and the oxygen level in the flue gas at their desired values, regardless of the steam flow rate provided by the boiler and any other disturbances, such as the fluctuations in the heating value of the fuel or the variations in the ambient temperature. This mathematical model includes perturbations and measurement noises and is described by the following equations:(32)x˙1t=c11x4tx19/8t+c12u1t-τ1-c13u3t-τ3+c14,x˙2t=-c21x2t+c22u2t-τ2-c23u1t-τ1-c24u1t-τ1x2tc25u2t-τ2+c26u1t-τ1,x˙3t=c31x1t-c32x4tx1t+c33u3t-τ3,x˙4t=-c41x4t+c42u1t-τ1+c43+c41u4t,y1t=c51x1t-τ4+n1t,y2t=c61x2t-τ5+n2t,y3t=c70x1t-τ6+c71x3t-τ6+c72x4t-τ6x1t-τ6+c73u3t-τ3-τ6+c74u1t-τ1-τ6+c75x1t-τ6+c761-c77x3t-τ6x3t-τ6x1t-τ6+c78+c79+n3t,y4t=c81x4t-τ7+c82x1t-τ7+n4t,where x˙1 is the drum pressure state Kgf/cm2, y1 is the measured drum pressure (PSI), y2 and x˙2 are the measured excess oxygen level and its state, respectively (%), x˙3 is the system fluid density Kg/m3, y3 is the drum water level (in), y4 is the steam flow rate Kg/s, u1, u2, and u3 are, respectively, the fuel, air, and feed water flow rates which take values in the interval 01, and x˙4 is the exogenous variable related to the steam demanded. The variables ni are the outputs of the first-order colored noise models driven by zero mean and unit variance white noise and are considered to be unmeasured output disturbances. The remaining coefficients values are given in Table 1. Consider(33)n1=0.75s+0.1s+0.001w1,n2=0.019s+0.001s+0.024w2,n3=0.105s+0.038s+0.01w3,n4=0.01s+0.0001s+0.001w4,where ni, i=1,…,4, are colored noise and wi, i=1,…,4, is the unit variance white noise.
The process is supposed to be initially operating around the following states:(34)x0=22.5,2.5,621.17,0.6941T,y0=320,2.5,0,9.3053T,u0=0.3227,0.39503,0.37404,0T.
The linear representation of the boiler around the operating state given by (34) is described by(35)x˙=Abx+Bbu,y=Cbx+Dbu,where(36)Ab=-0.00550800-0.158720-0.2062500-0.01215600-0.566887000-0.04,Bb=0.280-0.013480-9.3748937.65841100000.73170600.029989000.04,Cb=14.21400001000.32207200.14941011.1486620.4133070019.274175,Db=000000001.2720-0.2079700000.
There is a direct feedthrough between the output y3 and the inputs u1 and u3, expressed by a nonzero D matrix in the state representation. This property will create some problems when considering the linear MPC controller [49]. In order to have Db = 0, a delay will be introduced to the inputs u1 and u3 with regard to the output y3.
This process is inherently unstable. Essentially, a stabilisation scheme of the water level must be introduced to make any identification approaches possible by incorporating a proportional feedforward action (C2) of 0.0403 and a PI controller (C1) with Kp=0.258 and Ti=1.1026e-4, as it is illustrated in Figure 4.
Stabilization scheme for the boiler.
6.2. Process Fuzzy Identification
The first step in the design of a fuzzy NMPC controller is the construction of a nonlinear model of the process. Four fuzzy multi-inputs single output models were constructed to predict the future behaviour of the process. Two triangular membership functions per input, a sampling period of 3 s, and the models given by the following equations were used: (37)y^1=f1y^1k-1,u1k-5,x^4k-3,y^3=f2y^3k-1,u1k-12,rLevelk-13,u4k-10,x4k-10,y^4=f3y^4k-1,u1k-4,u4k-2,x4k-2,x^4=f4x^4k-1,u1k-2,u4k-1,where fi, i=1,…,4, represent the fuzzy relationships between the inputs and the outputs.
Figure 5 shows the validation results of these models.
Validations of the fuzzy models.
6.3. Controller Implementation and Simulation Results
It has been shown in [28] that there is a nearly linear relationship between the fuel/air ratio (FAR=u2/u1) and the oxygen level. So, the oxygen level y2 can be kept constant at a desired value by maintaining the corresponding FAR value constant. Given that u1 affects all the systems outputs, varying u2 to maintain the FAR value constant is the appropriate way. Thus, the value of u2 can be directly deduced from that of u1. To keep the desired oxygen level in flue gas y2 around 2.5% the FAR value must be equal to 1.2241 and u1 equals 0.8169 u2.
The control objective is to force the steam flow rate y4 to track a desired reference trajectory, while fulfilling the following constraints on the manipulated inputs,(38)Δu1Max=0.1,Δu2Max=0.1,ΔurLevelMax=1-4<rLevel<4,Δu4Max=0.1-0.2<u4<0.35,0<u3<1,and the following constraints on the outputs,(39)y1=320,y2=2.5,y3=0.
The following parameters values were used in implementing the proposed control algorithm:(40)R=10000000000020000130,α1=1.65e-409.54e-53e-300001.65e-301.05e-22.76e-21.28e-401.246e-43e-3.And Nu=2, number of particles = 5, number of iterations = 5, and α2=0000T. The values of the other parameters are gathered in Table 2.
Design parameters.
N1
N2
εi
Γ0
ymin
ymax
y^1
1
10
1
0.0085
318
322
y^3
10
20
0.7
0.0065
−1.5
1.5
y^4
1
10
0
1.006
/
/
x^4
1
10
0
0
/
/
In addition to the proposed algorithm, two other control strategies were considered:
Using the Conventional PSO. In this algorithm, the particles are randomly distributed in the whole search space and the solution of the previous sampling time is taken as a possible solution for the current sampling time. The PSO parameters values χ=0.729843788 and c=2.05, adopted by Clerc and Kennedy [34], are used in both PSO based controllers.
Using the Linear MPC Strategy. In this strategy, only the constraints on the inputs variables and their increments are considered and the optimization problem is converted into a quadratic programming (QP) problem.
To implement this strategy, a linear representation for the process given in Figure 4 must be used. To remove the direct feedthrough between the output y3 and inputs u1 and u3, the structure given in Figure 4 is slightly modified by introducing a unit delay in these inputs (Figure 6). The obtained system is linearized around the operating state given by (34) and then discretized using a sampling period of 3 s. The following discrete state space representation is obtained:(41)x˙k+1=Axk+Buk,yk+1=Cxk,where(42)A=0.986100.001485-0.370600.538600-0.173600.9187-5.6650000.8869,B=0.81720-0.009937-0.02264-20.9717.1300-0.338400.5441-0.35250.08478000.1131,C=14.2100001000.322100.149411.150.41330019.27.
Stabilization scheme for the boiler without direct feedthrough.
The design parameters values are chosen as follows: (43)R=10000000000020000130,Q=0.40000000000.500002.006.And N1=1, N2=15, and Nu=2.
Figure 7 presents the obtained results when a population size of 5 particles and 5 iterations is used. A zoom of the area lying between the 17 and 35 minutes of the steam flow rate is given by Figure 8. The corresponding control signals are depicted in Figure 9.
Response of the boiler using the three controllers (red solid line: proposed controller; blue dotted line: conventional PSO based controller; black dashed dotted line: linear MPC; and blue dashed line: reference trajectory).
Zoomed area between the instants 17.5 and 35 min of the steam flow rate.
Control signals for the three controllers (red solid line: proposed controller; blue dotted line: conventional PSO based controller; and black dashed dotted line: linear MPC).
The obtained results show that the proposed controller outperforms the linear MPC and the conventional PSO based controller. The output y2 is almost identical for the three controllers, due to the fact that the FAR is always kept constant regardless of the used controller.
To compare the performance of the considered algorithms when different values of the population size and the number of iterations are used, the Mean Cost Value (MCV) criterion given by (44) is adopted: (44)MCV=1N∑t=1NJUt,N is the number of samples.For each value of the population size and the number of iterations both control algorithms are executed fifteen times and the corresponding value of the MCV criterion is computed. The averages values of the MCV criterion, over the fifteen executions, corresponding to each population size and iterations number are depicted in Figure 10. It is clear, from this figure, that the proposed PSO based controller always outperforms the conventional PSO based controller, regardless of the selected population size and the number of iterations.
MCV average values.
The execution time of a control algorithm is a very important parameter to evaluate its computing efficiency and real-time implementation feasibility. Table 3 gives the execution time of the considered control algorithms for different population size and number of iterations; they were executed on an Intel Core i5 3.10 GHz based machine.
Execution time of the considered algorithms.
Configuration (population × iteration)
Proposed PSO based controller (ms)
Conventional PSO based controller (ms)
5 × 5
223.26
207.86
5 × 10
398.42
385.98
5 × 15
572.94
560.08
5 × 20
746.91
736.00
5 × 25
922.58
916.40
10 × 10
771.95
768.84
Table 3 indicates that the execution time of the proposed algorithm is slightly higher than that of the conventional algorithm. Although, when the population size or the iteration number increases, the execution times of both algorithms get closer. It was expected to get slightly higher computing time with the proposed controller as it requires more operations than the conventional PSO based controller. However, this small increase in the computation requirement has produced a decent performance increase.
7. Conclusion
A particle swarm optimization algorithm that uses the Gaussian distribution was proposed to solve the constrained fuzzy predictive control problem. A Takagi-Sugeno fuzzy model was used to predict the future values of the system outputs. Fuzzy systems are known for their simplicity and their ability to approximate complex nonlinear processes. However, when using a nonlinear model the optimization problem to be solved is then a nonlinear and a nonconvex one. The solution of this problem using numerical methods is expensive in computational time, especially when considering constraints. Particle swarm optimization algorithms are powerful metaheuristic based algorithms that require much less computational effort than the genetic algorithms, and their implementation is relatively easy. In this work, the PSO algorithm was adapted to find an efficient solution to the fuzzy predictive control optimization problem with a low computational burden. This was done essentially by reducing both the PSO population size and the number of iterations needed to obtain a suitable solution.
The efficiency and the control accuracy of the proposed algorithm were investigated and compared to other control strategies by considering the control of a highly nonlinear MIMO process, namely, an industrial boiler. The obtained simulation results have proved the efficiency and the control accuracy of the proposed algorithm, when considering highly nonlinear systems.
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
CairanoS. D.BernardiniD.BemporadA.KolmanovskyI. V.Stochastic MPC with learning for driver-predictive vehicle control and its application to HEV energy management20142231018103110.1109/tcst.2013.22721792-s2.0-84899960267MartinsM. A. F.ZaninA. C.OdloakD.Robust model predictive control of an industrial partial combustion fluidized-bed catalytic cracking converter201492591793010.1016/j.cherd.2013.08.0052-s2.0-84899907856QinS. J.BadgwellT. A.A survey of industrial model predictive control technology200311773376410.1016/s0967-0661(02)00186-72-s2.0-0041802770CamachoE. F.BordonsC.1999London, UKSpringerKouvaritakisB.CannonM.2001Stevenage, UKThe Institution of Engineering and TechnologyRichaletJ.O'DonovanD.2009London, UKSpringerSarimveisH.BafasG.Fuzzy model predictive control of non-linear processes using genetic algorithms20031391598010.1016/s0165-0114(02)00506-7MR20030422-s2.0-0042864639MarusakP. M.Advantages of an easy to design fuzzy predictive algorithm in control systems of nonlinear chemical reactors2009931111112510.1016/j.asoc.2009.02.0132-s2.0-67349283102MayneD. Q.RawlingsJ. B.RaoC. V.ScokaertP. O.Constrained model predictive control: stability and optimality200036678981410.1016/s0005-1098(99)00214-9MR18291822-s2.0-0033876326HanH.-G.WuX.-L.QiaoJ.-F.Real-time model predictive control using a self-organizing neural network20132491425143610.1109/tnnls.2013.22615742-s2.0-84882889068KhairyM.ElshafeiA. L.EmaraH. M.LMI based design of constrained fuzzy predictive control2010161689391810.1016/j.fss.2009.10.020MR25856032-s2.0-74149084194KoskoB.Fuzzy systems as universal approximatorsProceedings of the 1st IEEE International Conference on Fuzzy Systems (FUZZ '92)March 1992115311622-s2.0-0026989504DingB.PingX.Output feedback predictive control with one free control move for nonlinear systems represented by a takagi-sugeno model201422224926310.1109/tfuzz.2013.22516372-s2.0-84897494311TakagiT.SugenoM.Fuzzy identification of systems and its applications to modeling and control1985151116132ZBL0576.930212-s2.0-0021892282JiangH.KwongC. K.ChenZ.YsimY. C.Chaos particle swarm optimization and T-S fuzzy modeling approaches to constrained predictive control201239119420110.1016/j.eswa.2011.07.0072-s2.0-81855205007EspinosaJ.VandewalleJ.WertzV.2005London, UKSpringerAdvances in Industrial ControlMR2103257HercegM.KvasnicaM.FikarM.MagniL.RaimondoD. M.AllgöwerF.Parametric approach to nonlinear model predictive control2009384Berlin, GermanySpringer381389Lecture Notes in Control and Information Sciences10.1007/978-3-642-01094-1_31RoubosJ. A.BabuskaR.BruijnP. M.VerbruggenH. B.Predictive control by local linearization of a Takagi-Sugeno fuzzy modelProceedings of the IEEE International Conference on Fuzzy SystemsMay 199837422-s2.0-0031623149BlumC.MerkleD.2008Berlin, GermanySpringerCoelhoJ. P.OliveiraP. B. D. M.CunhaJ. B.Greenhouse air temperature predictive control using the particle swarm optimisation algorithm200549333034410.1016/j.compag.2005.08.0032-s2.0-27444431705HouZ. G. H.LiH.Neural networks predictive control using AEPSOProceedings of the 27th Chinese Control Conference2008180183SongY.ChenZ.YuanZ.New chaotic PSO-based neural network predictive control for nonlinear process200718259560010.1109/tnn.2006.8908092-s2.0-34047131334WangX.XiaoJ.WangL.ChenK.OngY.PSO-based model predictive control for nonlinear processes20053611Berlin, GermanySpringer196203LimW. H.IsaN. A. M.Particle swarm optimization with increasing topology connectivity2014278010210.1016/j.engappai.2013.09.0112-s2.0-84888266312WangH.SunH.LiC.RahnamayanS.PanJ.-S.Diversity enhanced particle swarm optimization with neighborhood search201322311913510.1016/j.ins.2012.10.012MR29985562-s2.0-84870252611DingJ.LiuJ.ChowdhuryK. R.ZhangW.HuQ.LeiJ.A particle swarm optimization using local stochastic search and enhancing diversity for continuous optimization201413726126710.1016/j.neucom.2013.03.0752-s2.0-84899626908EspinosaJ.VandewalleJ.Predictive control using fuzzy models applied to a steam generating unitProceedings of the 3rd International Workshop on Fuzzy Logic and Intelligent Technologies for Nuclear Science and Industry1998PellegrinettiG.BentsmanJ.Nonlinear control oriented boiler modeling—a benchmark problem for controller design199641576410.1109/87.4817672-s2.0-0029777637KittisupakornP.ThitiyasookP.HussainM. A.DaosudW.Neural network based model predictive control for a steel pickling process200919457959010.1016/j.jprocont.2008.09.0032-s2.0-63249119209SchäferA.KühlP.DiehlM.SchlöderJ.BockH. G.Fast reduced multiple shooting methods for nonlinear model predictive control200746111200121410.1016/j.cep.2006.06.0242-s2.0-34548429126SteinboeckA.WildD.KugiA.Nonlinear model predictive control of a continuous slab reheating furnace201321449550810.1016/j.conengprac.2012.11.0122-s2.0-84873729470LiY.ShenJ.LeeK. Y.LiuX.Offset-free fuzzy model predictive control of a boiler-turbine system based on genetic algorithm201226779510.1016/j.simpat.2012.04.0022-s2.0-84862561813HuangY. L.LouH. H.GongJ. P.EdgarT. F.Fuzzy model predictive control20008666567810.1109/91.8903262-s2.0-0034484237ClercM.KennedyJ.The particle swarm—explosion, stability, and convergence in a multidimensional complex space200261587310.1109/4235.9856922-s2.0-0036464756ClercM.2006London, UKISTE10.1002/9780470612163MR2269598LanzariniL.LezaV.De GiustiA.RutkowskiL.TadeusiewiczR.ZadehL.ZuradaJ.Particle swarm optimization with variable population size20085097Berlin, GermanySpringer438449Lecture Notes in Computer Science10.1007/978-3-540-69731-2_43AngelineP. J.Evolutionary optimization versus particle swarm optimization: philosophy and performance differencesProceedings of the 7th Annual Conference on Evolutionary Programming VII (EP '98)March 1998San Diego, Calif, USA601610SongY.ChenZ.YuanZ.New chaotic PSO-based neural network predictive control for nonlinear process200718259560110.1109/tnn.2006.8908092-s2.0-34047131334ChaturvediK. T.PanditM.SrivastavaL.Self-organizing hierarchical particle swarm optimization for nonconvex economic dispatch20082331079108710.1109/tpwrs.2008.9264552-s2.0-49249097262KrohlingR. A.Gaussian swarm: a novel particle swarm optimization algorithmProceedings of the IEEE Conference on Cybernetics and Intelligent SystemsDecember 20043723762-s2.0-11244266283KrohlingR. A.CoelhoL. D. S.PSO-E: particle swarm with exponential distributionProceedings of the IEEE Congress on Evolutionary Computation (CEC '06)July 2006142814332-s2.0-34547297100PantM.RadhaT.SinghV. P.Particle swarm optimization: experimenting the distributions of random numbersProceedings of the 3rd Indian International Conference on Artificial Intelligence (IICAI '07)2007412420GehlhaarD. K.FogelD. B.Tuning evolutionary programming for conformationally flexible molecular dockingProceedings of the 5th Annual Conference on Evolutionary Programming1996419429GrosanC.AbrahamA.NicoaraM.Search optimization using hybrid particle sub-swarms and evolutionary algorithms200566079Coello CoelloC. A.Theoretical and numerical constraint-handling techniques used with evolutionary algorithms: a survey of the state of the art200219111-121245128710.1016/S0045-7825(01)00323-1MR1877684ZBL1026.740562-s2.0-0037016631MichalewiczZ.SchoenauerM.Evolutionary algorithms for constrained parameter optimization problems19964113210.1162/evco.1996.4.1.12-s2.0-25444524580KozielS.MichalewiczZ.Evolutionary algorithms, homomorphous mappings, and constrained parameter optimization199971194410.1162/evco.1999.7.1.192-s2.0-0033094194RossiterJ. A.2004Boca Raton, Fla, USACRC PressMaciejowskiJ. M.2002Prentice Hall