Next Article in Journal
Predictive Performance of Mobile Vis–NIR Spectroscopy for Mapping Key Fertility Attributes in Tropical Soils through Local Models Using PLS and ANN
Previous Article in Journal
Phase Preserving Balanced Truncation for Order Reduction of Positive Real Systems
Previous Article in Special Issue
Optimal Control Implementation with Terminal Penalty Using Metaheuristic Algorithms
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Optimal Control Systems Using Evolutionary Algorithm-Control Input Range Estimation

1
Control and Electrical Engineering Department, “Dunarea de Jos” University, 800008 Galati, Romania
2
Informatics Department, “Danubius” University, 800654 Galati, Romania
*
Author to whom correspondence should be addressed.
Submission received: 16 December 2021 / Revised: 19 January 2022 / Accepted: 24 January 2022 / Published: 28 January 2022

Abstract

:
The closed-loop optimal control systems using the receding horizon control (RHC) structure make predictions based on a process model (PM) to calculate the current control output. In many applications, the optimal prediction over the current prediction horizon is calculated using a metaheuristic algorithm, such as an evolutionary algorithm (EA). The EAs, as other population-based metaheuristics, have large computational complexity. When integrated into the controller, the EA is carried out at each sampling moment and subjected to a time constraint: the execution time should be smaller than the sampling period. This paper proposes a software module integrated into the controller, called at each sampling moment. The module estimates using the PM integration the future process states, over a short time horizon, for different control input values covering the given technological interval. Only a narrower interval is selected for a ‘good’ evolution of the process, based on the so-called ‘state quality criterion’. The controller will consider only a shrunk control output range for the current sampling period. EA will search for its best prediction inside a smaller domain that does not cause the convergence to be affected. Simulations prove that the computational complexity of the controller will decrease.

1. Introduction

Dynamic system optimization subjected to a performance index is a common task in process engineering. Theoretical control laws can be applied when the process has sufficient mathematical properties and generates controllers with moderate computational complexity. Sometimes the process has profound nonlinearities or imprecise, uncertain, incomplete knowledge. In these cases, a metaheuristic algorithm, integrated within an adequate control structure, can be a realistic solution.
Metaheuristic algorithms (see [1,2,3]) have been employed intensively in control engineering (see [4,5,6,7,8]) due to their robustness and capacity to deal with high complexity problems. However, in these cases, the computational effort is very large and can be crucial for the controller to meet time constraints.
The RHC is a closed-loop control structure used in many works. The key factor is a process model, allowing the prediction of the process evolution. The controller organizes the moving of the prediction horizon in a specific way (see, for example, [9,10,11]). The model predictive control is a well-known particular case of the RHC, which makes at each sampling period a specific action: the prediction error’s minimization.
Many papers have considered metaheuristics (genetic algorithm, simulated annealing, particle swarm optimization etc.) in conjunction with the RHC to implement closed-loop structures, which have been used successfully in real-time control. Reference [6] has a section that surveys this kind of work. Reference [12] introduced evolutionary predictive control, a technique for designing predictive controllers. This technique generates and evaluates a family of optimum predictive controllers using evolutionary algorithms. They have design parameters that are adapted at every sampling period. Finally, the best performer is selected using this adaptive process.
A systematic design procedure using the RHC (theoretic approach in [13]) to generate a closed-loop structure has been proposed in [14]. The optimal control structure integrates a metaheuristic algorithm slightly modified to play the role of controller. Obviously, an EA may be used with that end in view.
This work addresses the Park–Ramirez problem (PRP) (see for example [15,16]) that deals with the optimal production of secreted protein in a fed-batch reactor and is a kind of benchmark optimal control problem (OCP).
In a previous work [17], the authors have proposed a closed-loop solution for this problem using the RHC (see [18,19]). This structure implements the closed-loop control that makes optimal predictions based on a PM at each sampling period. The controller presented in [17] used an EA to make predictions and calculate the quasi-optimal control output. However, that paper’s objective was to develop an analysis method for the optimal character degradation when the process is different from the PM.
The EAs, as other population-based metaheuristics, have high computational complexity. When integrated into the controller, the EA is carried out at each sampling moment and subjected to a time constraint: the execution time should be smaller than the sampling period. That is why computational complexity decrease of the EA in control applications is an important topic. For this purpose, the paper [20] proposes a method to encode the predicted sequences, which reduces the computational complexity.
The present work has the same context: the same problem, control structure and a similar EA within the controller. Still, it is devoted to another desideratum: to propose another method that improves the computational complexity.
Our objective has not been to implement a more effective control algorithm than others reported in previous papers, which would give better solutions for this particular problem.
The contribution of this paper is a software module (called ‘ESTIMATOR’) integrated into the controller, which could reduce the control output range of the controller at each sampling period. The process control input is, at the same time, the control output of the controller (it is the direct connection between the controller and the process). The ESTIMATOR will set the shrunk range by numerical integration of the PM for a short while (a sampling period at most). In this way, the EA will search for its best prediction inside a smaller domain that does not cause the convergence to be affected. Therefore, the computational complexity of the controller will decrease. From the design perspective, the time constraints have more chances to be met.
Section 2 describes the scientific framework of this paper and introduces the notations to the lecturer. The objectives of this section are:
  • To recall the OCP’s elements that are exemplified with the help of PRP.
  • To recall the RHC structure and optimal predictions.
  • To introduce the EA as the core of the predictor.
The paper’s contribution is presented in Section 3: the proposed method to reduce the control input range by an ESTIMATOR, the new structure of the controller and its algorithm and the repercussions of this method to the EA.
Section 4 and Section 5 describe the results of the two closed-loop simulations: without and with shrunk control output ranges. Section 6 compares the results and shows that the computational complexity decreases by reducing the control input range.

2. Closed-Loop Optimal Control Using an Evolutionary Algorithm

2.1. Optimal Control Problem

In this subsection, we recall the PRP, a kind of benchmark problem describing an OCP. It is about a nonlinear process concerning the secreted protein production in a fed-batch reactor. Many papers reported quasi-optimal solutions obtained with different numerical integration techniques, among those we recall here [11]. We present hereafter the three parts defining the PRP as an OCP.

2.1.1. Process Model

The protein production process is modeled by algebraic and ordinary differential equations like in many papers (see [4,5]). PRP has the following dynamic model:
x ˙ 1 = g 1 ( x 2 x 1 ) u x 5 x 1 x ˙ 2 = g 2 x 3 u x 5 x 2 ; x ˙ 3 = g 3 x 3 u x 5 x 3 x ˙ 4 = 7.3 g 3 x 3 + u x 5 ( 20 x 4 ) x ˙ 5 = u g 1 = 4.75 g 3 0.12 + g 3 ; g 2 = x 4 0.1 + x 4 e 5.0 x 4 g 3 = 21.87 x 4 ( x 4 + 0.4 ) ( x 4 + 62.5 )
The five state variables have the following meanings:
  • x 1 ( t ) —secreted protein’s concentration.
  • x 2 ( t ) —total protein’s concentration.
  • x 3 ( t ) —culture cell density.
  • x 4 ( t ) —substrate concentration.
  • x 5 ( t ) —the holdup volume.
The process has a single control input variable:
  • u ( t ) : the nutrient feed rate.

2.1.2. Constraints

The ordinary differential equations are accompanied by a set of constraints to precise the process evolution. In the case of the PRP, there is a minimum set of constraints that have to be met:
control horizon :   t [ t 0 , t f ] ;   t 0 = 0 ;   t f = 15 ;   0     t     15   [ hours ] ;
where tf denotes the final moment of the control horizon
initial state :   x ( 0 ) = x 0 = [ 0 ,   0 ,   1 ,   5 ,   1 ] T
bound constraints :   0     u ( t )     2 ,   0   t   t f ;   u ( t ) U = [ 0 ,   2 ] .
To solve the PRP using an AE, we can discretize the control input and try to find the optimal ‘command profile’ (see [4]) that will be a chromosome. Hence, we consider a supplementary constraint: the control input is constant during each sampling period. The control horizon and the variable u are discretized as follows:
t = ( t 1 , t 2 , , t n ) ; t i = i ;   t n = t f .
We consider a new constraint (5) that replaces (4)
u ( t ) = u i   for   t i 1 t < t i ;   and   0   u i   2 .
Finally, the control profile with n = 15 constant values is
u ¯ = ( u 1 , u 2 , , u n )

2.1.3. Performance Index

The solution of PRP is the control profile that maximizes the objective function (6)
J ( x ( t f ) ) = x 1 ( t f ) x 5 ( t f ) .
The performance index determined by this solution is
J 0 = m a x u ( t ) J ( x ( t f ) )
Taking into account that constraint (4) can be replaced by (5), the PRP’s optimal solution is the control profile u ¯ = ( u 1 , u 2 , , u n ) that meets all the constraints and maximizes the objective function (6).

2.2. Controller Using Predictions and An Evolutionary Algorithm

Generally speaking, PRP is one of the problems that can be solved through the RHC structure.
NB: To keep the presentation self-contained, we recall in Appendix A (Supplementary Materials) only the elements that define the well-known RHC structure. The controller corresponding to this control structure has the pseudocode description given below through Algorithm 1. The latter is rather a generic way to describe the receding horizon controller in real-time applications.
Algorithm 1 calls a generic function (called “Predictor_EA”) that calculates the optimal prediction for the current sampling period, in line #2. The prediction can be calculated using any sound method, including metaheuristics, adapted to the PM and its constraints. In this work, we used a metaheuristic algorithm, namely the EA. The “Predictor_EA” function has two parts (detailed in Section 3.2):
  • The first part sets the bounds of the control inputs according to the control input range estimation, which is the contribution of this work.
  • The second part is an EA, whose details are given in Section 2.3, calculating the optimal prediction.
We denote by [0, H] the control horizon from our problem ( t f = H T ). A prediction is an optimal command profile u ¯ ( k ) over the prediction horizon [ k , H ] , k = 0 , 1 , , H 1 ] . A candidate prediction has the structure
u ¯ ( k ) = < u ( k | k ) ,   ,   u ( k + i | k ) ,   ,   u ( H 1 | k ) > ,
where, u ( k + i | k ) , i = 0 , , H k 1 is the predicted value for the control input u ( k + i ) based on knowledge up to the moment k . Using Equations (1) and (8), the PM returns the predicted state sequence x ¯ ( k ) as
x ¯ ( k ) = < x ( k | k ) ,   .   .   .   , x ( k + i | k ) ,   .   .   .   , x ( H   | k ) > ,
where x ( k + i | k ) , i = 0 , , H k is the predicted value of the state x ( k + i ) based on knowledge up to moment k.
The EA computes the objective function value over the prediction horizon for each chosen sequence (individual of the population). After convergence, the EA returns the optimal control sequence (denoted u ¯ * )
u ¯ * ( k ) = < u * ( k | k ) ,   ,   u * ( H 1 | k ) > .
Note that this optimal prediction is made at the beginning of the sampling period [ k , k + 1 ] . The controller will send the value of the first element to the process as a real control input value, namely
u * ( k ) = u * ( k | k ) .
Algorithm 1 outlines the controller’s algorithm carried out for every sampling period. The prediction is achieved using the function “Predictor_EA” in Line #2. Its input parameters are the current sampling period and the process state vector, and it returns the value u ¯ * ( k ) according to Equation (10). Line #3 sets the optimal control output u * ( k ) at the value u * ( k | k ) .
Algorithm 1 Receding Horizon Controller’s algorithm using predictions based on EA.
1Get the current value of the state vector, x(k); /* Initialize k   and   x ( k ) */
2 u ¯ * ( k ) Predictor _ EA ( k , x ( k ) )
3 u * ( k ) u * ( k | k )
4Send u * ( k ) towards the dynamic system
5Update the prediction horizon and wait for the next sampling period
Line #5 makes preparations for the next prediction horizon.
Owing to performance index (7), which is a terminal penalty, the right limit of the prediction horizon must be H even if the integral term is missing. The prediction horizon ‘recedes’ at each sampling period but keeps the final extremity. Its length decreases by one unit at each sampling period.
The prediction is essentially made by the EA included in the “Predictor_EA” function. The prediction horizon is [ k , H ] for the current sampling period, and its length is H k . Therefore, the EA’ computational complexity is variable and depends on the k value. We have chosen the discretization step for encoding the sequence u ¯ ( k ) to be equal to the sampling period T. Therefore, the length of the sequence u ¯ ( k ) is variable along the control horizon and decreases at each sampling period.
The execution time must be smaller than the sampling period; this is the more restrictive time constraint for the algorithm presented in Algorithm 1. The length of the prediction horizon could be very large, especially in the first sampling period; this is why we consider the decreasing of the computational complexity of EA to sometimes be crucial. The control system designer must verify through simulation this constraint to be met. The receding horizon controller, which uses an EA, is suitable for relatively large time constants processes.

2.3. Description of the Evolutionary Algorithm

Our objective has not been to implement a more effective control algorithm than others reported in previous papers, which would give better solutions for this particular problem.
The EA ([3,15,16]) uses direct encoding, as mentioned previously. A chromosome having H k genes represents the predicted control sequence over the interval [k, H], which comprises the control input’s values that are supposed constant during each sampling period.
NB: The implemented EA has part of characteristics similar to those the authors proposed in the paper [14], except the crossover operator and the stop criteria. These characteristics are listed below:
  • Each population has μ individuals (predictions);
  • The number of children generated in each generation: λ (λ < μ);
  • The selection strategy: stochastic universal sampling; the individuals are ranked using the selection pressure (s) (see [3]);
  • A single point crossover operator;
  • The mutation step size is adapted; its global variance is modified according to the “1/5 success rule”; see [1] (pp. 245–274).
  • The replacement strategy causes the λ worst generation individuals to be replaced by the children.
  • The first stop criterion is that the population would evolve during NGen generations.
  • The second stop criterion is that the best individual has its objective function’s value greater than or equal to J0. The value of J0 is preestablished (see Section 6).
Other details concerning the implementation of the EA used in this work are given in Appendix C.

3. Estimation of the Control Input Range

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 U is a real interval (like in (4)).
For each k, we denote by U k the control input domain, namely the set of all values that can be taken by u ( k ) . The set U k generally corresponds to the technological limits. Hence, the control input value meets the constraint
u ( k ) U k U .
In real applications, the control input value is subjected to the constraint
u ( k ) U [ u min , u max ] .
The minimum and maximum bounds u min and u max are mainly technological limits. The controller output can take values between these limits. The process control input u ( k ) 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
u min = 0 ;   u max = 2
.
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
u ¯ * ( k ) U H k = [ u min , u max ] H k .
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 R k ) to be reduced. We expect to have
R k [ u m ,   u M ] U k .
Remark 1:
The following points briefly show how to reduce the control input range.
  • A software module called ESTIMATOR will evaluate the process states x ^ ( k + Δ t ) in the following conditions:
    -
    the initial state x ( k ) is the current state of the process that is known
    -
    the evaluation is made by integration over the interval I = [ k , k + Δ t ] , where Δ t is lesser than or equal to the sampling period
  • The integrations consider a representative list of control inputs u ( k ) covering the set U k . For example, in this work, we have considered the list
    L = { u 0 , u 0 + Δ u ,   u 0 + 2 Δ u ,   , u max } ; u 0 = Δ u = 0.05
  • The set R k 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 x ^ ( k + Δ t ) has a property, which is mandatory for the desired system behavior.
  • The ESTIMATOR returns the two values defining the interval R k = [ u m ,   u M ] .
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 x ( k + Δ t ) . Analyzing the PRP’s good solutions, we have noted that the culture cell density x 3 ( t ) is monotonically increasing as a function of t. Therefore, we have considered the following quality criterion
x 3 ( k + Δ t ) x 3 ( k ) 0
After process integration for all the values belonging to L, the ESTIMATOR must select only the control input values u ( k ) that produce final states x ( k + Δ t ) meeting the quality criterion (16). Finally, the ESTIMATOR returns the narrower interval that covers all these values u ( k ) .
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 x 3 ( k ) 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 x 30 :
x 30 = x 3 ( k ) = constant .
The value x 3 ( k + Δ t ) could be considered as a function of control input u ( k ) . Figure 1 shows the dependence of the estimated state quality
x 3 ( u ) x 30
Upon the value u . Constraint (16) is fulfilled only by the values u for which it holds
0.05 u u M = 0.75
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 u m -the minimum value of R k -we have adopted the rule
u m = α u M ;   α ( 0 , 1 )
Remark 3:
A small value for alfa α will cause the efficiency of the new control range to be very small. The range R k 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 R k 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 α = 0.2 . Hence the ESTIMATOR returns
R k = [ α u M ,   u M ]
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 x ( k ) with k = 5 . The ESTIMATOR evaluates the future state x ( 6 ) ( Δ t 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 u M = 0.75 .
The blue segment corresponds to the shrunk control input range, that is
R k = [ 0.15 , 0.75 ] ;   R k [ 0 , 2 ]
.
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 R k = [ u m ,   u M ] such that u ( k ) R k . 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
u ( k ) R k .
Remark 4:
The approach described before can be applied if we have identified a quality criterion for the final state x ^ ( k + Δ t ) . 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 x ( k ) 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 R k = [ u m ,   u M ] . 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 u * ( k ) 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.
1function  Controller _ EA ( k , x ( k ) , WithEstimator )
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 */
5If WithEstimator = 1
6                [ u m , u M ] ESTIMATOR ( k , x ( k ) ) ;
7                u ¯ * ( k ) Predictor _ EA ( k , x ( k ) , u m , u M ) ;
8else
9                u ¯ * ( k ) Predictor _ EA ( k , x ( k ) , u min , u max )
10end
11 u * ( k ) u * ( k | k )
12return  u * ( k ) ;
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 [ k , H ] to calculate R k = [ u m ,   u M ] . This estimation is based on the state vector x ( k ) that is known because it is an input parameter.
Remark 5:
The states’ values x ( k + i | k ) ,   i = 1 , , H k 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 ( u m , u M ). Therefore, for the current predicted sequence, it holds
u ( k ) R k = [ u m , u M ] ;   u ( k + i ) U = [ u min , u max ] ;   1 i H k 1

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 ( [ k , H ] ) given the initial state x ( k )
u ¯ * ( k ) = arg   max u ¯ ( k ) J ( k , x ( k ) , u ¯ ( k ) ) .
Figure 3 shows the distribution of the control input values and ranges related to the sampling moments corresponding to the prediction horizon [ k , H ] .
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 ( u ¯ ( k ) ). Each one meets the constraint (20). After the random selection of the predicted sequence components inside the admissible domains, it holds
u ¯ ( k )   R k × U × × U H k 1 ,
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 x m and x M 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  Predictor _ EA ( k , x 0 , x m , x M )
1/* The function calculates the sequence u ¯ * ( k ) -see (10) */
2Initialization of the EA’s and Global parameters and constants
3N 35;/*Chromozomes number*/
4NGen 70;/*Generations number*/
5ngene H-k;/*Genes number*/
6for i = 1, …, N /* The population pop has N chromozomes*/
7            pop(i,1) random( x m , x M )/* First range*/
8            for j = 2, …, ngene;
9                        pop(i,j) random( [ u min , u max ] );/*The following ranges/
10             end
11end
12#Compute the objective function for each chromosome;
13g 1; /*g is the current generation number*/
14Ncalls 0; /* Initialize Ncalls*/
15found 0;
16while (ggen) and (found = 0)
17      #Selection of chromozomes;
18      #Crossover;
19      #Mutation;
20      #Replacement;
21      #Update found;/*Convergence test*/
22      g = g + 1;
23end/*while*/
24returnpop(1)/* The best control sequence u ¯ * ( k ) */
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”.

4. Simulation of the Closed-Loop Control Structure

4.1. Objectives and Simulation’s Hypothesis

In the context of using RHC to achieve closed-loop optimal control of a given process, the optimal predictions can be implemented through a metaheuristic algorithm. The solution is realistic but has a major inconvenience: the computational complexity of the controller.
In the previous sections, we proposed the ESTIMATOR subsystem integrated into the controller as a tool that can decrease the latter’s computational complexity. Therefore, the major objective of our simulation study is to validate this hypothesis.
We have chosen for a case study the PRP, which is a well-known control problem reported in many papers to be solved in open loop and closed loop as well. As we are interested in control implementation aspects—not only computational intelligence and numerical aspects—we have treated the closed-loop problem, which is more complex. The fact that the PRP is already solved and analyzed presents a great advantage. Now, we can compare its known solution with the new one obtained using the RHC control structure, EA (for the predictions), and the proposed ESTIMATOR.
The simulation study presented in the sequel had a few objectives listed below:
  • To implement and simulate the predictor function specific to the PRP, which uses the EA and considers the shrunk control input range.
  • To implement and simulate a closed-loop based on RHC to solve the PRP problem.
  • To compare the quasi-optimal closed-loop solutions produced by the controller without and with the ESTIMATOR module.
  • To evaluate the computational complexity of the closed loop over the control horizon without and with the ESTIMATOR module.
The simulation study will be made by an application that emulates the closed-loop functioning.
  • The controller, by definition, includes the PM (Equations (1)–(4)).
  • The real process is also simulated using the same PM. The red lines in Figure 2 show the simulated connections that create the closed loop.
  • The sequence of sampling moments is simulated.

4.2. Closed-Loop Simulation

The algorithm RHC_EA, which simulates the closed-loop solution of the PRP and will allow us to analyze the solutions and proposed ESTIMATOR, is described in Algorithm 4. This one mainly calls the controller function for each sampling period represented by k.
Algorithm 4. Closed-loop simulation–description of RHC_EA algorithm
1/* Simulation of the closed loop over the control horizon */
2Initializations: PM’s parameters and constants- see Appendix C
Global parameters and constants
3WithEstimator = 1;/* WithEstimator = 1, or = 0*/
4 x 0 = [ 0 ,   0 ,   1 ,   5 ,   1 ] T ;/*Initial state vector*/
5state(0) x 0 ;
6 H t f / T /* t f -the final moment, T-the sampling period*/
7Ncalls_C 0;
8 k 0 ;/* Sampling moment counter */
9whilek ≤ −1
10Controller_EA( k , x ( k ) , WithEstimator);/*It returns u * ( k ) */
11uRHC(k) = u * ( k )
12Ncalls_C Ncalls_C + Ncalls;
13 x n e x t RealProcessStep ( u * ( k ) , x 0 , k ) ; /*get the next process’s state*/
14 x 0 x n e x t /* the new initial state */
15state(k + 1) x 0
16 k k + 1 ;/*next sampling period */
17end/*while*/
18/* Generate and display simulation results*/
The vector state having (H + 1) elements memorizes the optimal sequence x ¯ * ( 0 ) (lines #5 and #15). The vector uRHC with H elements stores the quasi-optimal sequence really achieved by the closed loop (line #11).
The objective function’s calls number (Ncalls) for each sampling period is cumulated with the help of variable Ncalls_C (line #7 and line #12). The Ncalls_C’s value will be necessary to measure the computational complexity for the entire control horizon (all the sampling periods).
Function “RealProcessStep” calculates by numerical integration the process state at the next sampling moment (k + 1), using its arguments: the optimal control input and the initial state at the moment k. The next state becomes the initial one for the moment (k + 1). Despite its prefix, “RealProcess”, this function will integrate the PM because actually, we are not interested in simulating the closed loop with a process different from its model. Still, we want to analyze the behavior of the closed loop both with and without ESTIMATOR.

5. Results

5.1. Simulation of the Closed Loop without Control Input Range Estimation

This section presents the simulation results of the RHC structure solving the PRP. Here, we present the input data for the problem we have solved.
  • Control horizon: 15 h; H = 15 ;
  • Sampling period: 1 h; T = 1;
  • Control input bounds: u min = 0 ;   u max = 2 ;
  • Initial state: x 0 = [ 0 ,   0 ,   1 ,   5 ,   1 ] T
  • Performance index: max u ¯ ( 0 ) J ( x ( H ) ) ,   J ( x ( H ) ) = x 1 ( H ) x 5 ( H )
The EA has the parameters presented in Appendix C and tuned for this application.
Because the prediction is based on a stochastic algorithm, the “RHC_EA_new.m” program—that implements the RHC_EA algorithm—was carried out 30 times to analyze the results statistically. Practical details about this operation are given in Appendix D.1.
The objective function’s calls number over the control horizon is a realistic measure of the computational complexity. The calls number is relevant, especially when the objective function involves numerical integrations, which have significant complexity and are time-consuming. This measure is also adequate for comparison among versions of applications. The RHC_EA algorithm totalizes the calls’ number for each sampling period, and the script “STATISTIC_DRAW30_0” calculates the average value for a sampling period, denoted Ncalls, in Table 1. The main results of this simulation series without range estimation are given in Table 1.
For each execution, four values are displayed: the optimum criterion’s value (J), the final value of x 1 , the final value of x 5 , and the average number of calls (Ncalls). The latter equals the number of calls divided by the sampling periods’ number (H = 15). The sampling periods have very different calls’ numbers: the greater the value of k, the smaller the number of calls. However, it is easier to compare the values of Ncalls. Thus, the total number of calls over the control horizon is 15*Ncalls.
A statistic of this simulation series; the minimum, average, and maximum values; and standard deviation of the objective function (J), is given in Table 2.
We consider a simulation as typical execution if it produces the closest value to the average optimum criterion. Using the optimum criterion’s value, we have determined the typical run among the 30 simulations.
In our simulation series, a specific execution yields Jtypical = 31.900. The other results associated with this run (line 30 in Table 1) are presented hereafter
Jtypical = 31.900; x1(H) = 2.50; x5(H) = 12.74; Ncalls = 6429
The controller calculates the best control output value as the first element of its predicted sequence. These 15 values of the quasi-optimal control output are recorded by the RHC_EA algorithm within the uRHC vector, tracing the controller’s activity over the control horizon. Hence, this vector is not the result of a prediction made at the moment k = 0; in other words, it is not the sequence u ¯ * ( 0 ) . This vector allows a final simulation of the closed loop.
The vector uRHC for the typical execution is depicted in Figure 4.
The control outputs of uRHC sent to the Process involve the typical state evolution depicted in Figure 5.
The computational complexity of the first sampling period is the largest because the prediction horizon has H sampling periods. Despite the sequence u ¯ * ( 0 ) having an H length, the controller calculates the control variable in a few tens of seconds (depending on processor speed). This duration is quite satisfactory for a sampling period of 1 h.

5.2. Simulation of the Closed Loop with Control Input Range Estimation

In this implementation, ESTIMATOR is called within RHC_EA to reduce the control input range. The “RHC_EA_new.m” program was carried out 30 times for the same instance of the PRP as in the previous section. Practical details about how the simulation results are generated can be found in Appendix D.2.
The results are presented in Table 3, having the same columns as Table 1.
The new statistic over the 30 runs of the simulation series is given in Table 4.
The typical run corresponds to line #11 of Table 3, Jtypical = 31.887. The other simulation results are presented hereafter
Jtypical = 31.887 x1(H) = 2.357; x5(H) = 13.528; Ncalls = 6030
The vector uRHC for the typical execution is depicted in Figure 6. These control output values generate the state evolution illustrated in Figure 7.

6. Discussion

We first recall that this work has the same context as that presented in [12]. The basic version of algorithm RHC_EA was created similarly to the previous algorithm (with small differences concerning the EA). We proposed the control input range estimation and compared the closed-loop function in the two algorithm versions, without and with control input range estimation.
The simulations have proved that the RHC_EA program converges for all executions. Aiming to obtain good solutions for PRP and a satisfactory computation time, the predictor stops the iterative process when for the best solution encountered it holds
J J 0 = 31.8
The stop criterion is either to fulfil constraint (21) or to evolve during Ngen generations. The reported optimum value of J is 32.6, but for algorithms that solve PRP standing alone, not in a closed-loop implementation. As EA now works in a closed loop, its stop-criterion must assure good solutions and adequate execution time for the controller.
Remark 6:
The RHC structure solves a new PRP with a shorter control horizon at each sampling period, starting from the current state vector. Consequently, the values recorded by the uRHC vector are not produced by a single evolutive process (a single run of the EA) for the control horizon [0, H]. That is why the performance index for the control horizon [0, H] is sometimes better than 31.8; the values recorded by the uRHC vector can generate a favorable trajectory.
The main findings of our simulation series are that Figure 5 and Figure 7 ascertain the process has the same quasi-optimal behavior. In the two cases (without and with control input range estimation), the average values of the performance index J are 31.9 and 31.88, respectively. Hence, the ESTIMATOR does not worsen the closed-loop behavior:
  • The optimal behavior is not degraded; the two J values are practically identical.
  • The process evolutions are very alike.
  • The convergence is not impeded.
On the contrary, the RHC_EA algorithm with control input range estimation has a beneficial influence on the computational complexity. Table 5 shows this improvement.
The ratio between the two total numbers of calls (on the entire control horizon) is calculated as
decreasing   ratio = 6329.8 × 15 7762.57 × 15 = 0.8154
Hence, the computational complexity was diminished by 18.46% using the control input range estimation. This result was expected, but the reduction is large enough considering that range reduction applies only to the first sampling period of the predicted sequences.
The controller meets the time constraint all the more so since the version without ESTIMATOR already fulfils it. Hence, the control structure could be a solution even for real-time control.
In our simulations, we decided that the process is identical to the PM, which is generally not realistic. However, we were interested in seeing the net contribution of the range estimation to the decrease of the computational complexity. If we consider simultaneously perturbative factors (e.g., process PM), the computational complexity will increase to ensure the controller’s optimal character. On the other hand, the papers [9] and [12] treated to a large extent this situation, when process PM, and how simulations can estimate the optimal character degradation.
The ESTIMATOR worked in these simulations having the current state given by the PM. Therefore, it could be useful, at least in simulation studies. In real-time applications, the current state would be given by the real process.

Supplementary Materials

The archive file “ARTICLE_AUTOMATION.zip” contains all files described in Appendix B , Appendix C and Appendix D.

Author Contributions

Conceptualization, V.M.; Methodology, V.M.; Software, I.A.; Validation, V.M.; Formal analysis, V.M.; Investigation, V.M.; Resources, I.A.; Data curation, V.M.; Writing—original draft preparation, V.M.; Writing—review and editing, I.A.; Visualization, I.A.; Supervision, V.M.; Project administration, I.A.; Funding acquisition, V.M.; All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The study did not report any data.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Receding Horizon Control

Because the RHC is already well-known, we recall below only the elements that define the RHC strategy:
  • The next controller’s output is calculated by looking ahead for several steps in terms of a given cost criterion, but it is only implemented by one step;
  • The controller makes predictions for the number of steps taken into account (prediction horizon), using a dynamic PM;
  • The controller’s output is sent to the process, and a new decision is made by taking updated information into account and looking ahead for a new prediction horizon.
  • The prediction horizon ‘recedes’ at the next sampling period but keeps its final extremity. This is the most difficult situation when the objective function has a terminal penalty term [17]. Hence, the prediction horizon length decreases by one unit at each sampling period.
The RHC structure is depicted in Figure A1, where the notations have the usual meaning. The objective function is denoted in a simplified form by J( u ¯ ( k ) , k ), where u ¯ ( k ) is the sequence of control input values over the prediction horizon that begins at the current moment k. The value u*(k) is the controller’s output sent to the process at the moment k.
Figure A1. Closed-loop control structure.
Figure A1. Closed-loop control structure.
Automation 03 00005 g0a1
The receding horizon controller can use a metaheuristic algorithm to optimize the objective function at hand. A slightly modified EA is integrated into the closed loop in our case. Model predictive control is a special case of RHC when the prediction error is minimized to determine some controller parameters (see [18]). Only the RHC mechanism generates a quasi-optimal solution over the control horizon in this paper. Useful applications concerning the RHC structure are presented in papers [19,20].

Appendix B

Details concerning the ESTIMATOR

Algorithm A1 presents a specific ESTIMATOR implementation adapted to the PRP and the quality criterion chosen in Section 3.1.
Algorithm A1  ESTIMATOR ( x k , Δ t )
Input parameters: x k -the initial state x ( k ) ; Δ t -length of the estimation interval.
Output parameter: u M
1Initialization of L/* see Equation (15)*/
2 n v l e n g t h ( L ) ;
3forj = 1, …, nv
4             u k L ( j ) ;
5            Compute x ^ ( k + Δ t ) by integration of system (1) using uk;
6             Q ( j ) x ^ ( k + Δ t ) 3 x k 3 ;/*quality criterion Q(j) > 0 */
7end
8/* Compute u M s.t. the interval [ 0 , u M ] covers all elements of L that meet the quality criterion*/
9return  u M
When solving another OCP, line #6 will be modified to deal with another quality criterion.
Line #8 depends on the quality criterion as well. A MATLAB implementation specific to PRP is given by the function “ESTIMATOR_PP.m” inside the folder “ARTICLE_AUTOMATION”.
Figure 1 is generated by the script “drawESTIMATOR.m” that calls the functions “drawFinal6.m” and “EstimateState.m”. These programs are devoted to the analysis made in Section 3.1 and included inside the folder “ARTICLE_AUTOMATION” the lecturer could find in the Supplementary Materials.

Appendix C

Details concerning the EA

Some constant values used by the EA and the mutation function are given below:
  • the factor for the left limit of the narrower interval: α = 0.2 ;
  • technological limits of the control input: u min = 0 ; u max = 2 ;
  • final time: N t = t f = 15 ;
  • the minimum value of the performance index: J0 = 31.8;
  • number of individuals in the population: N = 35;
  • number of children: nr_fii = 30;
  • maximum number of generations: NGen = 70;
  • selection pressure for the selection operator: s = 1.8;
  • the factor that changes the standard deviation: amic = 0.85;
The computation of the objective function (Equation (6)) -specific to PRP-is implemented by the function “eval_PR.m” given inside the folder “ARTICLE_AUTOMATION”. The input parameters are the control input sequence u ¯ ( k ) (Equation (8)) and the current state x ( k ) .

Appendix D

Appendix D.1. Simulation Details for RHC_EA without ESTIMATOR

The algorithm RHC_EA is implemented by the script “RHC_EA_new.m”. Line #28 must be updated to turn off the ESTIMATOR: “WithEstimator = 0”. This program can be executed standing alone. “RHC_EA_new.m” was executed 30 times using the script “ciclu30_RHC_EA_new_0.m” and has created the file “WSPmod0.mat”. The script “STATIC_DRAW30_0.m” has computed the statistical parameters presented in Table 1 and Table 2 and generated Figure 4 and Figure 5.

Appendix D.2. Simulation Details for RHC_EA with ESTIMATOR

The algorithm RHC_EA is implemented by the script “RHC_EA_new.m”. Line #28 must be updated to turn on the ESTIMATOR: “WithEstimator = 1”. This program was executed 30 times using the script “ciclu30_RHC_EA_new_1.m” and created the “WSPmod12bis.mat”. The script “STATIC_DRAW30_1.m” has computed the statistical parameters presented in Table 3 and Table 4 and generated Figure 6 and Figure 7.

References

  1. Kruse, R.; Borgelt, C.; Braune, C.; Mostaghim, S.; Steinbrecher, M. Computational Intelligence—A Methodological Introduction, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar] [CrossRef]
  2. Siarry, P. Metaheuristics; Springer: Berlin/Heidelberg, Germany, 2016; ISBN 978-3-319-45403-0. [Google Scholar]
  3. Talbi, E.G. Metaheuristics—From Design to Implementation; Wiley: Hoboken, NJ, USA, 2009; ISBN 978-0-470-27858-1. [Google Scholar]
  4. Faber, R.; Jockenhövelb, T.; Tsatsaronis, G. Dynamic optimization with simulated annealing. Comput. Chem. Eng. 2005, 29, 273–290. [Google Scholar] [CrossRef]
  5. Onwubolu, G.; Babu, B.V. New Optimization Techniques in Engineering; Springer: Berlin/Heidelberg, Germany, 2004. [Google Scholar]
  6. Valadi, J.; Siarry, P. Applications of Metaheuristics in Process Engineering; Springer International Publishing: Berlin/Heidelberg, Germany, 2014; pp. 1–39. [Google Scholar] [CrossRef]
  7. Minzu, V.; Riahi, S.; Rusu, E. Optimal control of an ultraviolet water disinfection system. Appl. Sci. 2021, 11, 2638. [Google Scholar] [CrossRef]
  8. Minzu, V.; Ifrim, G.; Arama, I. Control of Microalgae Growth in Artificially Lighted Photobioreactors Using Metaheuristic-Based Predictions. Sensors 2021, 21, 8065. [Google Scholar] [CrossRef] [PubMed]
  9. Hu, X.B.; Chen, W.H. Genetic algorithm based on receding horizon control for arrival sequencing and scheduling. Eng. Appl. Artif. Intell. 2005, 18, 633–642. [Google Scholar] [CrossRef] [Green Version]
  10. Hu, X.B.; Chen, W.H. Genetic Algorithm Based on Receding Horizon Control for Real-Time Implementations in Dynamic Environments. In Proceedings of the 16th Triennial World Congress, Prague, Czech Republic, 4–8 July 2005; Elsevier IFAC Publications: Amsterdam, The Netherlands, 2005. [Google Scholar]
  11. Goggos, V.; King, R. Evolutionary predictive control. Comput. Chem. Eng. 1996, 20 (Suppl. 2), S817–S822. [Google Scholar] [CrossRef]
  12. Chiang, P.-K.; Willems, P. Combine Evolutionary Optimization with Model Predictive Control in Real-time Flood Control of a River System. Water Resour. Manag. 2015, 29, 2527–2542. [Google Scholar] [CrossRef]
  13. Mayne, D.Q.; Michalska, H. Receding Horizon Control of Nonlinear Systems. IEEE Trans. Autom. Control. 1990, 35, 814–824. [Google Scholar] [CrossRef]
  14. Minzu, V.; Serbencu, A. Systematic procedure for optimal controller implementation using metaheuristic algorithms. Intell. Autom. Soft Comput. 2020, 26, 663–677. [Google Scholar] [CrossRef]
  15. Banga, J.R.; Balsa-Canto, E.; Moles, C.G.; Alonso, A. Dynamic optimization of bioprocesses: Efficient and robust numerical strategies. J. Biotechnol. 2005, 117, 407–419. [Google Scholar] [CrossRef] [PubMed]
  16. Balsa-Canto, E.; Banga, J.R.; Aloso, A.V. Vassiliadis. Dynamic optimization of chemical and biochemical processes using restricted second-order information 2001. Comput. Chem. Eng. 2001, 25, 539–546. [Google Scholar] [CrossRef]
  17. Minzu, V. Quasi-Optimal Character of Metaheuristic-Based Algorithms Used in Closed-Loop—Evaluation through Simulation Series. In Proceedings of the ISEEE, Galati, Romania, 18–20 October 2019. [Google Scholar]
  18. Abraham, A.; Jain, L.; Goldberg, R. Evolutionary Multiobjective Optimization—Theoretical Advances and Applications; Springer: Berlin/Heidelberg, Germany, 2005; ISBN 1-85233-787-7. [Google Scholar]
  19. Minzu, V. Optimal Control Implementation with Terminal Penalty Using Metaheuristic Algorithms. Automation 2020, 1, 4. [Google Scholar] [CrossRef]
  20. Minzu, V.; Riahi, S.; Rusu, E. Implementation aspects regarding closed-loop control systems using evolutionary algorithms. Inventions 2021, 6, 53. [Google Scholar] [CrossRef]
Figure 1. ESTIMATOR—quality criterion for PRP.
Figure 1. ESTIMATOR—quality criterion for PRP.
Automation 03 00005 g001
Figure 2. Receding horizon controller with ESTIMATOR.
Figure 2. Receding horizon controller with ESTIMATOR.
Automation 03 00005 g002
Figure 3. Control input ranges for a prediction horizon.
Figure 3. Control input ranges for a prediction horizon.
Automation 03 00005 g003
Figure 4. Typical control output—controller without control input range estimation.
Figure 4. Typical control output—controller without control input range estimation.
Automation 03 00005 g004
Figure 5. Typical state evolution—controller without control input range estimation.
Figure 5. Typical state evolution—controller without control input range estimation.
Automation 03 00005 g005
Figure 6. Typical control output—controller with control input range estimation.
Figure 6. Typical control output—controller with control input range estimation.
Automation 03 00005 g006
Figure 7. Typical state evolution—controller with control input range estimation.
Figure 7. Typical state evolution—controller with control input range estimation.
Automation 03 00005 g007
Table 1. Results of the simulation series for RHC_EA without control input range estimation.
Table 1. Results of the simulation series for RHC_EA without control input range estimation.
Run #Jx1(H)x5(H)NcallsRun #Jx1(H)x5(H)Ncalls
131.872.3513.55 80591631.822.3513.56 6456
232.062.3613.56 61211732.002.3013.89 6063
331.802.4712.8610,7181832.002.4013.35 8065
431.902.3413.66 60801931.812.4512.99 6183
532.002.3913.36 60752032.052.3913.44 9966
631.922.3813.40 72402131.902.4912.82 6465
731.822.3313.64 70632231.842.3013.85 6957
831.982.3413.67 90632331.852.4513.02 8123
931.842.2813.97 84972431.922.3713.46 9138
1031.892.3513.55 64812532.022.3613.59 6589
1131.892.3213.76 74612632.022.3513.62 6347
1231.992.3613.55 68282731.802.3113.7512,484
1332.002.3713.47 86332831.822.7311.66 9160
1431.832.3813.3610,7882931.852.3413.59 7932
1531.832.4213.18 74153031.902.5012.74 6429
Table 2. Statistic regarding the optimum criterion.
Table 2. Statistic regarding the optimum criterion.
JminJavgJmaxSdevJtypical
31.80031.90832.0580.14231.900
Table 3. Results of the simulation series for RHC_EA with control input range estimation.
Table 3. Results of the simulation series for RHC_EA with control input range estimation.
Run No.Jx1(H)x5(H)NcallsRun #Jx1(H)x5(H)Ncalls
131.8592.31813.74456861631.7992.49512.7457121
232.0672.37513.50256751731.7972.39013.3027868
331.9252.34313.62867391831.8542.25814.1045582
431.8372.31213.77154741931.8712.48712.8146057
531.8402.28413.94366982032.0042.37513.4787775
631.9472.31913.77843502131.8882.33513.6575531
731.9252.37513.44259562231.9312.33213.6955979
831.8182.51512.65171682331.6662.23614.16210,063
931.8062.43413.07066002431.8672.46612.9217246
1032.0262.34513.65764392531.8412.52612.6076177
1131.8872.35713.52860302631.8122.41713.1645294
1231.8722.35213.55156792731.8432.41513.1857216
1332.0472.34113.68952422831.9092.37213.4515610
1431.9092.52912.61948622931.8122.34613.5636832
1531.8512.48612.81359823031.8952.40713.2526962
Table 4. New statistic regarding the optimum criterion over the 30 runs.
Table 4. New statistic regarding the optimum criterion over the 30 runs.
JminJavgJmaxSdevJtypical
31.66631.88032.0670.0068731.887
Table 5. Objective function’s calls number over 30 runs.
Table 5. Objective function’s calls number over 30 runs.
NcallsminNcallsavgNcallsmaxSdev
without ESTIMATOR6063.47762.5712,483.81647
with ESTIMATOR4349.86329.810,063.1099
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Mînzu, V.; Arama, I. Optimal Control Systems Using Evolutionary Algorithm-Control Input Range Estimation. Automation 2022, 3, 95-115. https://0-doi-org.brum.beds.ac.uk/10.3390/automation3010005

AMA Style

Mînzu V, Arama I. Optimal Control Systems Using Evolutionary Algorithm-Control Input Range Estimation. Automation. 2022; 3(1):95-115. https://0-doi-org.brum.beds.ac.uk/10.3390/automation3010005

Chicago/Turabian Style

Mînzu, Viorel, and Iulian Arama. 2022. "Optimal Control Systems Using Evolutionary Algorithm-Control Input Range Estimation" Automation 3, no. 1: 95-115. https://0-doi-org.brum.beds.ac.uk/10.3390/automation3010005

Article Metrics

Back to TopTop