3.1. Potential Reduction of the Control Input Range
To keep the presentation simple, we consider the control input has only one dimension (like in our example), but the following considerations are also valid for the multidimensional case. Therefore, the set of control input values is a real interval (like in (4)).
For each
k, we denote by
the control input domain, namely the set of all values that can be taken by
. The set
generally corresponds to the technological limits. Hence, the control input value meets the constraint
In real applications, the control input value is subjected to the constraint
The minimum and maximum bounds and are mainly technological limits. The controller output can take values between these limits. The process control input is, at the same time, the control output given by the controller because it is the direct connection between the controller and the process.
In our example, the minimum and maximum limits of the controller output imposed by constraint (4) are
.
The EA, which searches the
ocs, generates an initial population consisting of control input values sequences. For fault of other information, these values fulfil the constraint (11) for all
k. Hence, we have
Despite the stochastic character of the EA, this choice will cause an important computational effort to find out the best control sequence. Therefore, the algorithm’s computational complexity making the predictions will be very big.
The main contribution of our work is to propose an approach to obtain additional information that allows the control input range at moment
k (denoted by
) to be reduced. We expect to have
Remark 1: The following points briefly show how to reduce the control input range.
A software module called ESTIMATOR will evaluate the process states in the following conditions:
- -
the initial state is the current state of the process that is known
- -
the evaluation is made by integration over the interval , where is lesser than or equal to the sampling period
The integrations consider a representative list of control inputs
covering the set
. For example, in this work, we have considered the list
The set is defined as the interval covering the values belonging to L that transfers the process to a final state fulfilling a certain quality criterion.
The quality criterion expresses that the final state has a property, which is mandatory for the desired system behavior.
The ESTIMATOR returns the two values defining the interval .
These aspects are illustrated in the sequel for Process (1). The approach described before can be applied if we have identified a quality criterion for the final state
. Analyzing the PRP’s good solutions, we have noted that the culture cell density
is monotonically increasing as a function of
t. Therefore, we have considered the following quality criterion
After process integration for all the values belonging to L, the ESTIMATOR must select only the control input values that produce final states meeting the quality criterion (16). Finally, the ESTIMATOR returns the narrower interval that covers all these values .
Remark 2: Constraint (16) is insufficient to assure the monotony, but the value u(k) at hand can be eliminated if not met.
The value
is the initial state for the current sampling period, and it is known at the moment k. Because it is the initial state for all integrations, we denote this value
:
The value
could be considered as a function of control input
.
Figure 1 shows the dependence of the estimated state quality
Upon the value
. Constraint (16) is fulfilled only by the values
for which it holds
In our analysis, the minimum bound is always 0.05, which is not useful for having a shrunk control input range. That is why, for
-the minimum value of
-we have adopted the rule
Remark 3: A small value for alfa will cause the efficiency of the new control range to be very small. The range is too large, and the method’s advantage disappears. On the other hand, a big value for alfa could involve the EA not to converge to the optimal solution. The range is too narrow, and the EA does not find the optimal control input values.
Simulations of the controller functioning for the PRP have proven an appropriate value
. Hence the ESTIMATOR returns
Appendix B describes how
Figure 1 is obtained using the ESTIMATOR and other programs, which the lecturer can use. Process (1) has an optimal evolution according to performance index (7), and the current state is
with
. The ESTIMATOR evaluates the future state
(
equals the sampling period) for the control input values belonging to
L. Because the state quality (17) has to be positive, the maximum control input value is
.
The blue segment corresponds to the shrunk control input range, that is
.
The new range length is 30% of the initial one and entails a smaller computational complexity that will be analyzed in
Section 6.
If a quality criterion can be stated, then the current state of the Process entails, for certain physical reasons, a narrower interval
such that
. This fact can be used to diminish the computational complexity. The control input values will be looked for within a smaller interval. Hence, the constraint (11) could be replaced by
Remark 4: The approach described before can be applied if we have identified a quality criterion for the final state . We can identify specific quality criteria considering certain physical and chemical reasons or good solutions’ properties. Moreover, the quality criterion has to reduce the control input range significantly. We emphasize that the new control input range depends on the current process state.
3.2. Controller Structure with ESTIMATOR
A preliminary analysis—based on Remark 4—can conclude whether the method to reduce the control input range can be applied to improve the EA’s computational complexity. After the quality criterion is checked through simulation, the controller could include the ESTIMATOR module.
Figure 2 presents the receding horizon controller with the structure described, for example, in [
9,
13,
14]. The controller gathers mainly the prediction, optimization, and PM modules. There are certainly auxiliary modules that assure the process state
to be acquired, the optimal control output to be sent to the process, and other actions to be achieved.
In our work, the optimization is accomplished by the EA that is included in the prediction module.
The ESTIMATOR interacts with the PM and prediction modules and calculates the control input range . The EA considers this new shrunk range and determines the optimal prediction for the current moment.
Algorithm 2 is a version of Algorithm 1 that integrates the ESTIMATOR and can also be used in applications, which are not in real-time (for example, simulations). It calculates the optimal control output
for the current sampling period. We recall that the predictions are made by the EA integrated into the “Predictor_EA” function (the EA is not a distinct function).
Algorithm 2 Receding Horizon Controller with EA and ESTIMATOR. |
1 | function |
2 | /* The Controller uses predictions with EA*/ |
3 | /* If the value “WithEstimator” equals 1, then it calls ESTIMATOR*/ |
4 | /* The EA is implemented by the “Predictor_EA” function */ |
5 | If WithEstimator = 1 |
6 | ; |
7 | ; |
8 | else |
9 |
|
10 | end |
11 | |
12 | return ; |
If the calling program wants to use the shrunk control input range, line #6 calls the ESTIMATOR function, only one time for each prediction horizon to calculate . This estimation is based on the state vector that is known because it is an input parameter.
Remark 5: The states’ values are unknown because the sequence (8) is not yet established, and therefore integration of systems (1)–(4) is impossible.
Line #7 of Algorithm 2 calls the prediction function slightly modified because of the two new parameters (
,
). Therefore, for the current predicted sequence, it holds
3.3. Predictions Using the EA
This subsection gives some details concerning the “Predictor_EA” function, whose main part is an EA. The latter one returns the optimal control sequence that maximizes the performance index over the prediction horizon (
) given the initial state
Figure 3 shows the distribution of the control input values and ranges related to the sampling moments corresponding to the prediction horizon
.
The predictor sets the bounds (20) for each component of the predicted sequence and then uses the EA (we recall that the EA is a part of the “Predictor_EA” function). The EA generates the initial chromosome population, i.e., the control sequences (
). Each one meets the constraint (20). After the random selection of the predicted sequence components inside the admissible domains, it holds
The EA can now calculate all predicted state sequences (9) and evaluate their objective function values to determine the optimum.
Remark 5 states why the method that reduces the control input range can be applied only to the first component of the control input sequence. Hence, the improvement of the computational complexity is limited but quite important, as the next sections will prove.
The general structure of the Predictor_EA function is given in Algorithm 3. The main task of this function is to pave the way for the EA that will treat the bounds of the control input ranges differently. The range corresponding to the first sampling period ([k, k + 1]) will be defined by the two parameters and received from the ESTIMATOR. The generation of the initial population is achieved by lines #6–11.
The remaining part of this function is a general description of a usual EA, which implementation is not a key factor of our work. Nevertheless, the lecturer will find in
Appendix C some details concerning a simple implementation, including the function “eval_PR.m” that calculates the objective function
J (Equation (6)).
Algorithm 3 |
1 | /* The function calculates the sequence -see (10) */ |
2 | Initialization of the EA’s and Global parameters and constants |
3 | N35; | /*Chromozomes number*/ |
4 | NGen70; | /*Generations number*/ |
5 | ngeneH-k; | /*Genes number*/ |
6 | for i = 1, …, N /* The population pop has N chromozomes*/ |
7 | pop(i,1) random() | /* First range*/ |
8 | for j = 2, …, ngene; |
9 | pop(i,j) random();/*The following ranges/ |
10 |
end |
11 | end |
12 | #Compute the objective function for each chromosome; |
13 | g1; /*g is the current generation number*/ |
14 | Ncalls0; /* Initialize Ncalls*/ |
15 | found0; |
16 | while (g ≤ gen) and (found = 0) |
17 | #Selection of chromozomes; |
18 | #Crossover; |
19 | #Mutation; |
20 | #Replacement; |
21 | #Update found; | /*Convergence test*/ |
22 | g = g + 1; |
23 | end/*while*/ |
24 | returnpop(1) | /* The best control sequence*/ |
| | | |
The implementation of the Predictor_EA function and the simulations were carried out using the MATLAB language and system. We have employed special functions devoted to integrating the differential equations to determine the process evolution. The value of
H is a global constant, defined in
Section 2.2 (see also
Figure 3).
In our implementation, the EA also counts the objective function’s calls number (Ncalls) to measure the calculation effort in generating the current optimal prediction. This variable is updated inside the function “eval_PR.m”.