Abstract

This paper introduces a new development for designing a Multi-Input Multi-Output (MIMO) Fuzzy Optimal Model Predictive Control (FOMPC) using the Adaptive Particle Swarm Optimization (APSO) algorithm. The aim of this proposed control, called FOMPC-APSO, is to develop an efficient algorithm that is able to have good performance by guaranteeing a minimal control. This is done by determining the optimal weights of the objective function. Our method is considered an optimization problem based on the APSO algorithm. The MIMO system to be controlled is modeled by a Takagi-Sugeno (TS) fuzzy system whose parameters are identified using weighted recursive least squares method. The utility of the proposed controller is demonstrated by applying it to two nonlinear processes, Continuous Stirred Tank Reactor (CSTR) and Tank system, where the proposed approach provides better performances compared with other methods.

1. Introduction

Predictive control is a member of advanced discrete-time process control algorithms. This control algorithm is based on the use of an explicit process model to predict the manipulated variables and thus the future control actions are optimized throughout a finite horizon. To obtain a good performance, a process model describing the effects of all the different inputs on all the outputs must be developed. Although the linear model predictive control is suitable for processes that are not highly nonlinear, this strategy has been applied in the control of nonlinear systems, whether for SISO systems [13] or for MIMO systems [47]. But many industrial processes have strong nonlinearities and predictive control is applied in order to provide satisfactory control results. Two problems have appeared because of the introduction of nonlinearities in the predictive control.(i)The first of the problems is that the modeling of processes is much more difficult and complex than the linear case. fuzzy logic is among the most used strategies in all areas [4]. Despite the fact that this strategy has been developed in the last few years, the fuzzy models of the TS type remain among the most used methods to deal with the MPC control for nonlinear systems (NMPC), because of their capacity to give an accurate approximation of the complex nonlinear MIMO systems.(ii)The second important problem in nonlinear predictive control is the solving of the optimization problem. Conventional optimization methods, such as the gradient search method, used for designing the state feedback controller are restricted to the eigenvalues of the linear system matrix that not only increases the difficulty but also takes long time to find the global optimum solution [8]. Hence, evolutionary computation (EC) can be considered an alternative method to solve this type of optimization problem. In literature, plenty of works have been reported to solve the control optimization problems using EC techniques because they do not require explicit gradient information for optimization.

Particle Swarm Optimization (PSO), introduced by [9], is a population based metaheuristic search (MS) algorithm, which emulates the collaborative behaviour of bird flocking and fish schooling in searching for foods. In addition, unlike other heuristic optimization methods, PSO has a flexible and well-balanced mechanism to enhance the global and local exploration abilities. Since the introduction of PSO, many works based on MPC have been solved using PSO because it is not largely affected by the size and nonlinearity of the problem. Reference [10] introduces an approach for designing an adaptive fuzzy model predictive control using the PSO algorithm (AFMPC-PSO). In [11], a type of MPC is proposed using Chaos Particle Swarm Optimization (CPSO). First, for the modeling phase, the TS fuzzy model is employed to approximate the nonlinear system. Second, we introduce CPSO into MPC using a modified performance criterion in order to provide less computational controller’s expression.

Although these methods have represented effective solutions to the problem of the MPC control of nonlinear systems, there is the problem of choice of control parameters. Several studies have shown the influence of these parameters on the quality of the responses of the systems treated. To overcome this problem, this paper presents a method of tuning the weight parameters of the performance function according to the output quantities detected from the system. One of the challenges in MPC is how control parameters can be tuned for various target systems, and the use of APSO for automatic tuning is one of the solutions. Firstly, for the modeling phase, the TS fuzzy model is employed to approximate the nonlinear system. In the second step, we used the principle of optimal control to calculate the control law of each linear subsystem. Then, we introduce APSO algorithm to determine the best weight parameters of the performance function using a performance criterion in order to improve the quality of the response with a minimum of energy.

The rest of the paper is organized as follows. Section 2 presents the influence of weights existing in the objective function on the quality of system performances. Section 3 reviewed the TS fuzzy model and the OMPC design method. The main contribution of this paper is presented in Section 4. In order to show the good performance of the proposal approach, simulation results are given in Section 5. Finally, Section 6 concludes.

2. Statement

The MPC control is a method of designing process control systems with feedback. This designing is carried out by the online repetition of a procedure that includes inputting data to a system of the initial input values. The principle of calculating the control law is the resolution of an optimal control problem using the present output values. So, the MPC control is a special case of the optimal control whose horizon is finite. It is recalled that this command minimizes the function described above. However, when the horizon is infinite, we speak of optimal control. The objective function is written as follows:where , are the weight values of the outputs and inputs. are the control instructions that are defined beforehand based on an expertise of the system. The partial derivative of the objective function described by (1) is as follows:By applying the principle of the optimal control, we obtain the following:The structure of the loop system based on OMPC illustrating this method is shown in Figure 1. According to (1), the criterion depends strongly on the weights . These weights directly affect the performances index (Pi) of the system studied, such as overshoot (Ov%), settling time (Ts), rise time (Tr), and static error (Es).

To show the importance of the choice of these parameters on the response of the system in closed loop, we consider the following a multivariable linear system. This system is described by the following equations:The criterion to be minimized is:with , , , and .

In a first step, the minimization of the objective function is obtained by canceling the gradient of with respect to ; the expressions are obtained as a function of of (4) and :

Table 1 shows how the overshoot, settling time, rise time, and static error as the performance indices vary with the weight parameters of the performance function when outputs transitions and of the optimal control are used. As can be seen from the table, the transient characteristics depend strongly on the weight parameters of evaluation function (4).

The example presented shows the influence of the choice of the values of the weights existing in the expression of the optimal control law. So, the weight parameters directly affect Ov%, Es, ts, and tr.

3. MIMO TS Fuzzy Model and OMPC Design

Takagi and Sugeno proposed the well-known TS fuzzy model in [12] to describe the complicated nonlinear system. The TS fuzzy models are universal approximators capable of approximating any continuous function with certain level of accuracy [13]. Since the MIMO system can be divided into multiple input-single output (MISO) systems, we take MISO systems instead, to identify MIMO systems. It is assumed that an MISO system is the system that needs identification, where is the system input with and is the system output with .

The rules of TS fuzzy models, used in this work, have the following form:where represents the rule, is the number of rules for the subsystem, is the dimension of the input vector, is the fuzzy subset of the -th rule, is the input vector, and and are two polynomial vectors. The final output is calculated as the average of the outputs corresponding to the rules , weighted by the normalized degree of completion (membership), as follows:The standardized degree of completion is described in the following form:The standard degree of achievement is actually the degree of activation of the corresponding local model in the region where the system evolves. The fuzzy subsets are generally Gaussian, triangular or sigmoid and must satisfy the following properties:

The MPC control is a method of designing process control systems with feedback. This designing is carried out by the online repetition of a procedure that includes inputting data to a system of the initial input values. The MPC control is a special case of the optimal control. It is recalled that this control minimizes the function described above. However, when the horizon is infinite, we speak of optimal control for each linear subsystem.

The concept of the OMPC technique for TS system is utilized to design fuzzy controller. In this concept, the fuzzy controller rule shares the same premise part as the fuzzy system (8) and use same number of fuzzy rules.

The fuzzy controller is inferred as follows:In the OMPC, the cost index to be minimized is expressed as follows:where , are the weight values of the outputs and inputs. are the control instructions that are defined beforehand based on an expertise of the system. The general structure of the controller is then as follows:The previous solution shows that the weights directly affect the performance of the system. Indeed, despite the fact that the weight values chosen can give good performance, we can not conclude that these are the best values.

4. Design of the Proposed FOMPC Controller

In this section, we describe a new method for determining the weight values of the objective function of each local system.

So, an objective function is given, and the optimal control law of each local system is calculated. Then, the APSO algorithm intervenes to determine the optimal values of the weight. The next step is to design the global control law such that the proposed OFMPC-APSO presents the desired dynamic characteristics. The proposed FOMPC based on APSO combines both of the advantages of FOMPC and APSO algorithm. APSO algorithm is used to search and to fine tune the weight vector and of MPC controller. So, the expression of control law by the principle of optimal control is calculated. Once the latter has been established, the next step is to calculate the optimal weights such that the proposed algorithm presents the desired dynamic characteristics.

4.1. Design of the Linear Control Law

We consider parameter optimization problem as a simple problem of tuning only the weight . Now let us assume that the performance function for each output evaluates the (Ov%), (Ts), (Tr), and (Es). Let us define the performance function as proposed in the following:

Here (, , et ) are the weights of the respective performance indices. So, we obtain the optimal values of the weights of criterion (13) while respecting the following constraint:With and the minimum and maximum limits are chosen.

The optimization problem given by (15) is 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 [14, 15], the metaheuristic based optimization algorithms [1618], the linearization of the process fuzzy model [19], and the use of particular model structures to obtain a convex form for the cost function [20].

4.2. APSO Algorithm

The PSO algorithm is a type of stochastic global optimization algorithm for improving candidate solutions [9]. This algorithm iteratively explores a multidimensional search space with a swarm of individuals (referred to as “particles”), looking for the global optima [21, 22]. PSO has memory to store the knowledge of good solutions by all particles; in addition, particles in the swarm share information with each other. Therefore, due to the simple concept, easy implementation, and quick convergence, nowadays PSO has gained much attention and wide applications in solving continuous nonlinear optimization problems [2326].

It is initialized with a population of random solutions, called particles, to find the optimal result. Each particle has a position and a velocity, representing a possible solution to the optimization problem and a search direction in the search space. In each iterative process, the particle adjusts the velocity and position according to the best experiences that are called the , found by itself, and , found by all its neighbors [27]. For every generation, the velocity and position can be updated by the following equations:where and is the number of particles, is the number of iterations, and and are two random numbers in the interval . and are positive constants. is the inertia weight, a parameter used to control the impact of the previous velocities on the current velocity. If it is chosen properly, the particle will have the balanced ability of exploitation and development. is updated as follows:where and are minimum and maximum values of which are taken as 0.4 and 0.9, respectively.

In conventional PSO, the velocity of each particle in the next search is updated using the knowledge of its past velocity and personal and global best positions. However, the performance of PSO greatly depends on its parameters; it often suffers from being trapped in local optimum [28, 29]. Indeed, the inertia weight is the most important parameter to balance the local search ability and global search ability [30]. This balancing is a key role to improve the performance of PSO. However, the method of selecting inertia weight is difficult. And experiments show that particles can accumulate at point in local searching area. So, to avoid all these difficulties, an improved version of PSO has appeared; it is the APSO algorithm.

The basic idea of APSO is that the global best and the personal best position of particle always change over iteration and tend to the similar value if the swarm has approached the solution. The values of and are taken and are used to adjust the value of inertia weight by using feedback mechanism. In this condition, the inertia weight should be set to larger value. So, the balancing between local-global can be controlled based on the swarm condition.

The modified inertia weight is modified as follows:where is the initial value of inertia weight.

The controller structure is illustrated in Figure 2. This Figure represents the case of a system with two inputs ( and ) and two outputs ( and ). and represent the references of each output, respectively.

4.3. FOMPC-APSO Algorithm

The general design steps of the FOMPC-APSO algorithm are summarized in Algorithm 1.

Pahse 1. Identification of the model
Step 1. The nonlinear MIMO system is modeled by a TS fuzzy inference system.
Step 2. Identify of parameters using WRLS method.
Pahse 2. Application of Algorithm 1 for each local model
Step 1. The weight parameter is specified.
Step 2. Give the objective function in the form of Eq. (13).
Step 3. Calculate the control law using Eq. (3).
Step 4. Compute that minimize the restricted function (15) using the procedure of Algorithm 2
and find the best particle labeled as .
Step 5. Calculate the control law using (3) According to the optimum values of
Pahse 3. Design the control law via equation (12)
S.1. Choose the weighting matrices , , , the number of particles NP.
Initialize the position and velocity of each particle; fix learning factors and ; and the
number of iterations .
S.2. For = 1 to do
for each particle do
() Calculate the fittness value of each particle by minimizing the following Eq. (15)
() Find the individual best pbest for each particle and the global best .
() Update the velocity and the position of each particle using equations (17) and (18), respectively.
end for
end for
S.3. Find the best particle labeled as

5. Simulation Study

In order to show the considerable contribution in the performance of the proposed control scheme, two highly nonlinear systems are selected. The first example is the surge tank. The second example is the CSTR. We compare our results with those obtained by other existing methods such as NMPC [31] and FMPC using the APSO algorithm [32].

In this paper, the Tr, Ts, Ov%, pic, and Es are used as the performance indexes.

5.1. Surge Tank System

The behaviour of the surge tank system, shown in Figure 3, is fed by a pump driven by a current [10].

In Figure 3, is the feed rate, is the supply current of the pump, is the liquid level in the tank, is the output flow, is the section of the output channel, is the section of the tank, and is the water level in the output channel. The mathematical model of this reactor is(i)Model of the valve is as follows:(ii)The change in water level in the tank is given by the following:where .

The values of the constant parameters of this system are grouped in the Table 2.

Fuzzy modeling: 1000 pairs of data are used to identify the model using the FCM algorithm. For a good approximation of the plant, we suppose that the subsystems are in the third order. The model consists of two rules of the form:The vector of parameters of rule is obtained by using the WRLS. This fuzzy model is used to represent the process model in the controller:

Once the estimated model is obtained, we will investigate the optimal parameters of the FOMPC control law using the APSO algorithm. This gives the best results with these settings: , , 2.05, , and . The fitness function of the APSO algorithm is defined by the following:

Table 3 shows the performances obtained by these methods. In each interval time, we have changed the set point for evaluating each method to control a highly nonlinear system. The proposed method can generate a high quality solution within shorter calculation time and it tends to converge very fast compared to other methods. The comparison shows some interesting results. It is important to observe that, with FOMPC-APSO, the Ts has been reduced almost 2 times comparing with that obtained from the NMPC and has been reduced almost 5 times comparing with that obtained from the FMPC-APSO. The same observation can be made for the Ov%, where in the FOMPC-APSO case we notice a reduction of nearly 4 times compared with that obtained from FMPC-APSO and more than 10 times with NMPC without any increase in Tr. So, the proposed method is able to keep better stability with less control effort applied.

In fact, the proposed technique is able to achieve good performance using 53.4% of total control energy consumed by FMPC-APSO as well as 54.68% of FMPC-APSO. As it is presented in Table 3, the accuracy of our model outperforms that of other methods. To confirm these results further, Figure 4 shows the variations in liquid level in the tank when a step change is applied at 30, 60, and 90, respectively, by FOMPC-APSO, FMPC-APSO, and NMPC.

Figure 5 shows the manipulated responses when a disturbance is applied to the feed rate, at 40 and 80, respectively.

In conclusion, the proposed controller shows the best performance for both set point tracking and regulatory conditions for the entire range of the process as compared to the other controllers.

In fact, the proposed technique is able to achieve good performance using 53.4% of total control energy consumed by NMPC as well as 54.86% of FMPC-APSO. As it is presented in Table 3, the accuracy of our model outperforms that of other methods.

5.2. Continuous Stirred Tank Reactor (CSTR)

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, a Continuous Stirred Tank Reactor, where the model is presented in [33] and described by the following differentials equations:where , , and .

The process describes the reaction that converts the product into a new product B, the concentration is the concentration of product , and is the temperature of the mixture. The reaction is exothermic and it is controlled by a coolant flow whose rate is represented by . The temperature is controlled by changing the coolant and by controlling the temperature, and the concentration is also controlled. is the inlet feed concentration, is the process flow rate, and and are the inlet feed and coolant temperatures. All these values are assumed constant at nominal values. In the same way, , , , , , and are thermodynamic and chemical constants. The numerical values of these parameters are given in Table 4.

Fuzzy modeling: the above nonlinear model is used to produce input-output time data. The sampling time is set to 0.01 min. and [ are selected as the input vector. The rule numbers of the identified fuzzy models are four.

The APSO algorithm parameters are chosen as follows: the maximum number of APSO iterations , number of particles , =0.2, = 0.2, = 1.5, = 2.5, and .

The fitness function is selected as follows:The reference signals applied to the system are as follows:Tables 5 and 6 contain the performance indices obtained for the outputs Ca and T by the NMPC [10], FMPC-APSO [11], and FOMPC-APSO algorithms. It summarizes the results of this example in terms of the Ov%, Tr, Ts, and Es. As seen in these tables, we can note that our method gives the best performance of all compared techniques.

They applied NMPC algorithm to control the concentration of product and it has the Tr and Ts values of 1.4965 min and 6.8561 min, while the FMPC-APSO approach has 4.4693 min and 7.2779 min. However, the corresponding Tr and Ts values for the same problem were 0.4135 min and 3.5480 and with no Ov%. This indicates that the proposed controller is able to perform faster than the other methods in real application environment. Figures 6 and 7 show the evolution of the Ca and T outputs from the three methods. From these figures, there is a perfect continuation of the signal of the setpoint whose FOMPC-APSO method has ensured good performances. We also note that our method provides more acceptable control effort regarding Figures 8 and 9.

In a second test, the disturbances on the system output in different times have been applied to validate the tracking of the reactor concentration. Thus, a disturbance of 0.002 mol/l at time and time is added. Figure 10 illustrates the disturbance rejection performance of the FOMPC-APSO controller. The results show that the adaptive controller has the ability to keep the process stable and regulate the outlet concentration at its desired set point value.

6. Conclusion

In this paper, we have introduced the FOMPC-APSO controller applied to highly nonlinear systems. An approach of determining the optimum weights is developed by minimizing a chosen performance criterion using APSO algorithm. The proposed approach is based on the advantage of the TS fuzzy system in the modeling phase and the metaheuristic optimization APSO algorithm in a new structure predictive controller. The advantage of this structure is its ability to handle highly nonlinear systems regardless and keep a good stability in terms of overshoot, rise time, and settling time including disturbances. We have achieved these objectives without any obligation increase in the control signal since we have injected the phenomenon of optimal control in the synthesis of our controller. Compared with other similar existing methods, the FOMPC-APSO algorithm enhances the convergence and accuracy of the controller optimization, which is much easier for implementation in real time.

Conflicts of Interest

The authors declare that they have no conflicts of interest.