1 Introduction

In electronics, a great variety of chaotic oscillators has been implemented with commercially available electronic devices, as well as with integrated circuits technology [13]. However, those experimental realizations are not optimized neither to provide a high value of the maximum Lyapunov exponent (MLE), nor to have a good distribution in the phase space portraits (PSP) when generating multiscroll chaotic attractors. The former characteristic can be taken as an indication to quantify the chaoticity related to the unpredictability of the dynamical system [4, 5], and the second one indicates that when the trajectories in the PSP are not well distributed among all the scrolls, some scrolls cannot be formed, thus leading to a bad electronic implementation.

As shown by the recent studies [610], computing Lyapunov exponents is in general a good direction to quantify the asymptotic behaviors of nonlinear dynamical systems when the dynamic models of the systems are available. On the other hand, when such models are unknown, as for real world systems, estimating Lyapunov exponents can be performed by time series from experimental data [9]. However, applying that approach one should be aware that time series often assume and do not test for exponential divergence of the orbits, and thus it can have the problem that cannot distinguish chaos from noise. In this article, we compute the MLE using the dynamic model of the multiscroll chaotic oscillators, and also we compute the distribution of the trajectories in the PSP. These tasks are executed herein as optimization problems. That way, this investigation introduces the application of the nondominated sorting genetic algorithm (NSGA-II) [11] to optimize those two characteristics in multiscroll chaotic oscillators [12, 13]: (a) Maximizing the value of MLE, and (b) minimizing the dispersions of the PSP among all scrolls in an attractor. As a contribution, we show that both characteristics are in conflict and must be considered at the same time to design optimized multiscroll chaotic oscillators. Further, once the chaotic oscillators have been optimized to guarantee chaotic regime and to provide a good distribution in their PSP, then those optimized chaotic oscillators can enhance the synchronization [1417], and realization of secure communication systems [18], for instance.

Henceforth, this article shows by computer simulations, how does the value of MLE is related with the distribution of the trajectories in the PSP for two different multiscroll chaotic oscillators, which are based on piecewise-linear functions (PWL) like saturated function series and Chua’s diode (negative slopes). We show that those two characteristics for multiscroll chaotic oscillators, related to unpredictability and PSP coverture, are in conflict. Therefore, that problem is solved herein by applying a new proposed procedure to measure the PSP coverture for chaotic oscillators based on PWL functions, and by solving the multiobjective optimization problem with NSGA-II.

This article is organized as follows: in Sect. 2 the two multiscroll chaotic oscillators based on PWL functions are described; in Sect. 3 the proposed selection approach is described: the new procedure to take the measurements of the PSP coverture is introduced, and it is included also both, a brief description of how the MLE is calculated, and how the multiobjective optimization algorithm NSGA-II [6] works. Section 4, summarizes the best experimental results that are compared with traditional values of the coefficients of the equations describing the chaotic oscillators, i.e. we list the values of the optimized MLEs and their corresponding PSP when generating from 2- to 6-scroll attractors. Section 5 presents a discussion on the results and finally, in Sect. 6 some conclusions are drawn.

2 Multiscroll chaotic oscillators

2.1 PWL function based on saturated function series

This multiscroll chaotic oscillator is described by the system of ordinary differential equations given by (1) [12], where \(a\), \(b\), \(c\), and \(d_1\) are positive constants that can have values in the interval \([0,1]\). The dynamical system is controlled by the PWL approximation, e.g. series of a saturated function \(f\),

$$\begin{aligned} \begin{aligned} \dot{x}&= y\\ \dot{y}&= z\\ \dot{z}&= -ax -by -cz + d_1 f(x; m).\\ \end{aligned} \end{aligned}$$
(1)

In the following, we describe in detail how the saturated function \(f\) in (1) is obtained. Let \(f_0\) be the saturated function:

$$\begin{aligned} f_0 (x; m) = {\left\{ \begin{array}{ll} 1,&{} \text {if }x > m,\\ \frac{x}{m},&{} \text {if }|x| \le m,\\ -1,&{} \text {if }x < -m, \end{array}\right. } \end{aligned}$$
(2)

where \(1/m\) is the slope of the middle segment and \(m>0\); the upper radial \(\{ f_0(x; m) = 1 \; | x > m \}\), and the lower radial \(\{ f_0(x; m) = -1 \; | x < -m \}\) are called saturated plateaus, and the segment \(\{ f_0(x; m) = x/m \; | \; |x| \le m \}\) between the two saturated plateaus is called saturated slope.

Lets us consider now the saturated functions \(f_h\) and \(f_{-h}\) defined as:

$$\begin{aligned} f_h ( x; m, h ) = {\left\{ \begin{array}{ll} 2,&{} \text {if }x > h + m,\\ \frac{x-h}{m},&{} \text {if }|x-h| \le m,\\ 0,&{} \text {if }x < h-m, \end{array}\right. } \end{aligned}$$
(3)

and

$$\begin{aligned} f_{-h} ( x; m, -h ) = {\left\{ \begin{array}{ll} 0,&{} \text {if }x > h + m,\\ \frac{x-h}{m},&{} \text {if }|x-h| \le m,\\ -2,&{} \text {if }x < h-m, \end{array}\right. } \end{aligned}$$
(4)

where \(h\) is called the saturated delay time and \(h>m\). Therefore, a saturated function series for a chaotic oscillator with \(s\) scrolls is defined as the function:

$$\begin{aligned} f(x; m) = \sum _{i=0}^{s-2} f_{2i-s+2}( x; m, 2i-s+2 ), \end{aligned}$$
(5)

where \(s>2\).

For example, using \(f=f_0\) in (1), a 2-scroll chaotic oscillator can be generated. Therefore, the saturated function series to generate 3-scroll is \(f(x; m) = f_{-1}( x; m, -1) + f_{1}( x; m, 1)\). To generate a 4-scroll attractor it will be \(f(x; m) = f_{-2}( x; m, -2) + f_0( x; m) + f_{2}( x; m, 2)\), and so on.

2.2 PWL function based on Chua’s diode

The equations describing this multiscroll chaotic oscillator [19] are the following:

$$\begin{aligned} \begin{aligned} \dot{x}&= \alpha [ y -x - g(x)],\\ \dot{y}&= x - y + z,\\ \dot{z}&= \beta y, \end{aligned} \end{aligned}$$
(6)

where \(\alpha \) and \(\beta \) are positive and real constants, and \(g\) is the PWL function defined as:

$$\begin{aligned} g(x)&= m_{2n-1} x + \frac{1}{2}\sum _{i=k}^{2n-1}\nonumber \\&\times (m_{i-1} - m_i)(|x+b_i| - |x-b_i|), \end{aligned}$$
(7)

where \(m_i\) are slopes, and contrary to the PWL function \(f\) in (5), here the slopes must have negative values to derive Chua’s diode characteristic. The constants \(b_i\) are real numbers and are associated to break point values. For this multiscroll chaotic oscillator, and in order to generate an even number (\(2n\)) of scrolls, \(k\) takes values \(k=1,2,3,\ldots \). For generating an odd number (\(2n+1\)) of scrolls, \(k\) takes values \(k=2,3,4,\ldots \)

3 Proposed optimization-selection procedure

The flowchart of our proposed selection approach is shown in Fig. 1. The input information is the number of scrolls to be generated; then, a bi-objective optimization problem is encoded: (i) to maximize the value of MLE, and (ii) to minimize the variability in the oscillator’s PSP. Those objective functions are solved by using the NSGA-II algorithm [11].

Fig. 1
figure 1

Flowchart of the proposed optimization-selection procedure

For the case of the multiscroll chaotic oscillator based on saturated function series, the optimization problem is devoted to find the values of the four coefficient variables \(a\), \(b\), \(c\) and \(d_1\) in (1) that solve both objectives (i) and (ii), listed above. Those four coefficients can take values within the range [0.0, 1.0]. In our investigation, we keep the value for those variables within four decimal places, i.e. from 0.0001 to 1.0000.

For the case of the multiscroll chaotic oscillator based on Chua’s diode (with \(s\) scrolls), we decided to optimize \(s+3\) oscillator’s values: we keep only two slope values (\(m_0\) and \(m_1\) for an even number of scrolls, and \(m_1\) and \(m_2\) for generating an odd number of scrolls) in (7); all the others slope values are copies on those two fixed ones. The number of break points \(b_i\) is equal to \(s-1\), and the values for \(\alpha \) and \(\beta \) constants must be also optimized.

The MLE was measured like described in [4, 5]. In the next subsection, our proposed procedure is described briefly. In addition, a very new procedure to measure the PSP coverture among all generated scrolls is included in the optimization loop. Basically, the procedure consists on counting the number of occurrences of the state trajectory in generating each scroll. Lets us explain this procedure with one example: Fig. 2a shows the PWL function to generate 4 scrolls, the procedure for distributing the trajectories in the PSP basically counts how many times the state variable, e.g. \(x\), crosses the center of saturated levels (horizontal zones) of function \(f\) in this Fig. 2a at the set of values \(x=\{-3,-1,1,3\}\). The taken quantitative measure, that represents the distribution in the PSP, is the standard deviation among all crossings values at the end of the simulation time. The counting procedure for this example is shown in Algorithm 1

Fig. 2
figure 2

Examples of two PWL functions for oscillators generating 4-scrolls: a saturated function series-based oscillator, and b Chua’s circuit oscillator

figure a

For the case of Chua’s oscillator the procedure to count the state variable crossings is slightly different. In this case, the PSP coverture in variable \(x\) is divided in \(s\) zones, where \(s\) is the number of scrolls, and it is counting the number of times that variable \(y\) crosses the zero value inside each zone. And again the measure is the variance of the number of crossings inside all the zones, as is highlighted by Algorithm 2. As an example, in Fig. 2b is drawn the PWL function to generate 4-scrolls in Chua’s chaotic oscillator. There exist four zones and three thresholds must be calculated as the midpoint inside the three slopes with greater value (as the PWL description is symmetric with the \(y\) axis in Fig. 2b, three break points are necessary), here \(b_1 = 0.1\), \(b_2 = 0.66\), and \(b_3 = 0.86\), and the three thresholds are calculated as \(q_1=(-b_3-b_2)/2 = -0.76\), \(q_2=(-b_1+b_1)/2=0\), and \(q_3 = b_2+b_3)/2 = 0.76\). The counting procedure for this case is shown in pseudocode 2.

figure b

3.1 Computing Lyapunov exponents

Lyapunov exponents (LE) are asymptotic measures that characterize the average rate of growth (or shrinking) of small perturbations to the solutions of a dynamical system. LEs provide quantitative measures of response sensitivity of a dynamical system to small changes in initial conditions [20].

To measure the three LEs of the original chaotic oscillator system in (1) or (6), this original system is observed by expanding it with other three systems that change according to the derivative of (1) or (6), respectively. If \(\mathbf {u}= [\dot{x}, \dot{y}, \dot{z}]^\text {T}\), \(\mathbf {u}\in \mathbb {R}^3\), represents one state of the original dynamical system at any \(t>0\), the state of the new observed system will be \(\mathbf {v}= [\mathbf {u}, \mathbf {u}_1, \mathbf {u}_2, \mathbf {u}_3]^\text {T}\), \(\mathbf {v}\in \mathbb {R}^{12}\), where \(\mathbf {u}_i\), for \(i=\{1,2,3\}\), are the three added systems that will measure precisely the change of those small perturbations on each orthogonal directions, for each of the three state variables in (1) or (6). The initial state of the expanded system is set to

$$\begin{aligned} \begin{array}{ll} \mathbf {v}_0 &{}\in \mathbb {R}^{12}\\ \mathbf {v}_0 &{}= [ \mathbf {u}_0^{\text {T}}, \mathbf {e}_1^{\text {T}}, \mathbf {e}_2^{\text {T}}, \mathbf {e}_3^{\text {T}}]^{\text {T}} \end{array} \end{aligned}$$
(8)

where \(\mathbf {u}_0\) is the vector of initial conditions \([x_0, y_0, z_0]^\text {T}\); \([\mathbf {e}_1, \mathbf {e}_2, \mathbf {e}_3] = I\), and \(I\) is the identity matrix of size \(3 \times 3\). Thus, \(\mathbf {e}_i\), for \(i=\{1, 2, 3\}\), are each unitary column vectors of the identity matrix \(I\).

The observational system is integrated by several steps until a period \(T_O\) is reached. After this step, the state of the variational system is orthonormalized by using the standard Gram-Schmidt method [21]. The next integration is carried out by using the new orthonormalized vectors as initial conditions.

The LEs measure the long time sensitivity of the flow in \(\mathbf {u}\) with respect to the initial data \(\mathbf {u}_0\) at the directions of every orthonormalized vector. This measure is taken when the variational system is orthonormalized. If \(\mathbf {v}= [\mathbf {u}, \mathbf {p}_1, \mathbf {p}_2, \mathbf {p}_3]^\text {T}\) is the state after the matrix \([\mathbf {u}_1, \mathbf {u}_2, \mathbf {u}_3]\) is orthonormalized, the LE \(\lambda _i\), for \(i=\{1, 2, 3\}\) is calculated by

$$\begin{aligned} \lambda _{i} \approx \frac{1}{T}\sum _{j=1}^{k} \ln { \Vert \mathbf {p}_i \Vert }, \end{aligned}$$
(9)

where the number of summations \(k\) is calculated as \(\lfloor \frac{T}{T_O} \rfloor \), and \(T\) is the simulation time.

As in [4], the period of time \(T_O\) is selected by using the minimum absolute value of all the eigenvalues of the system as

$$\begin{aligned} T_O = \frac{1}{ l_{\min } } \end{aligned}$$

where \(l_{\min }\) represents the value of the minimum eigenvalue of system in (1) or (6).

3.2 NSGA-II algorithm

In multiobjective problems, there exist several optimal solutions: one solution that improves one objective could not improve the other objective. Then, to compare two solutions, the Pareto dominance is used: one vector solution dominates other one if all its values are less or equal to the other, and at least in one element it is strictly lesser than the other. All the nondominated solutions form the set called “Pareto front”.

In our problem, one could define a new single function that sum both objectives, perhaps weighting each objective, and optimizing this new single problem. This solution leads to a single point in the Pareto front and in general it is not clear in which part of the Pareto front this new solution is.

The NSGA-II was proposed by Deb et al. [11] and is now a state of the art algorithm to solve multiobjective problems. The main goal in which NSGA-II was designed is to give and to spread all solutions on the Pareto front. As any evolutionary algorithm, it uses a set of solutions (or a set of vectors, called population) that is evolved by applying genetic operators (as mutation and crossover) to generate new solutions (a vector is called individual); and only the best solutions survive to the iteration of the algorithm. NSGA-II presents two ideas that try to improve the common performance of traditional multiobjective algorithms.

The nondominated sort is the first mechanism used in NSGA-II. It sorts the solutions according to Pareto nondomination. A rank value is created according to the number of individuals that dominated each solution. The nondominated solutions receive a rank equal to one, and the others receive a rank value according to how many subsets they dominate.

Also, to preserve a good spread of the final solutions, NSGA-II uses the second mechanism called crowding distance. This distance measures the average size of the cuboid formed with the points that enclose a solution in the population.

The main idea behind NSGA-II is to use a selection that preserves the individuals with the lowest rank value. When almost all the solutions exist in the first rank, the algorithm selects the solutions with the highest value of the crowding distance. Algorithm 3 describes how NSGA-II evolves the solutions.

figure c

4 Results

For all the simulations, NSGA-II was executed by using a population of 100 individuals, crossover probability of 0.9 and mutation probability of 0.5. NSGA-II was run three times with different seeds for the random number generator. From the three runs, the nondominated solutions were calculated again and only one solution was chosen from the Pareto front.

We use the fourth order Runge–Kutta integrator with a fixed integration time step of 0.01 sec. \(T_O\) was rounded to the values nearest multiple of 0.01. Also, the initial condition was set for all the simulations to \(\mathbf {u}_0 = [ 0.1, 0.0, 0.0 ]^\text {T}\).

4.1 Saturated function series-based oscillators

For this type of oscillator, the simulations were executed first for 400 sec and then for another 3,500-s duration, where the Lyapunov exponents were measured.

As an example of our procedure, in Fig. 3, we show the solutions found for a 4-scroll saturated function series-based chaotic oscillator. The solutions are in the Pareto front trading both objectives: the value of the MLE and the PSP coverture. The final chosen solution is marked with symbol \(\blacksquare \), it was the one with nearest and below the value of 10 in its PSP coverture. Phase portraits of the two outermost solutions in Fig. 3 are shown in Fig. 4: the oscillator with the lesser MLE value and minimum variance in PSP is shown in Fig. 4a, and the oscillator with greater MLE and maximum variance in PSP coverture is shown in Fig. 4b. The chaotic oscillator corresponding to diagrams in Fig. 4a was obtained with optimized coefficients \(a=0.8658\), \(b=0.6964\), \(c=0.4116\), and \(d_1=0.9995\), and the one in Fig. 4b was obtained with coefficient values \(a=0.9944\), \(b=0.7339\), \(c=0.2532\), and \(d_1=0.9992\). As one sees, both objectives are in conflict, thus one can select the appropriated one from the Pareto front in Fig. 3.

Fig. 3
figure 3

Solutions obtained for a 4-scroll chaotic oscillator. The final chosen solution is marked with \(\blacksquare \)

Fig. 4
figure 4

PSPs of the two outermost points in Fig. 3. Details in text

Table 1 shows the chosen solutions and their comparison with the traditional design of the multiscroll chaotic oscillator using the coefficients values \([0.7,\) \(0.7\), \(0.7\), \(0.7]\). In Table 2 are shown the counting values that help us estimate the distribution of the trajectories in the PSP for each oscillator in Table 1. In Fig. 5, one can see the chaotic oscillator behavior when generating from 2 to 6 scrolls. It is pretty clear from this figure that the optimized oscillators not only present a better chaotic behavior, but also the distributions of the trajectories among the scrolls is well done.

Fig. 5
figure 5

Diagrams of the cases in Table 1. For each case, the upper row and the bottom row correspond to the nonoptimized and the optimized ones, respectively. Two diagrams are shown: the \(x\) values against time, and the PSP between \(x\)-\(y\) state variables. a Two scrolls, b three scrolls, c) four scrolls, d five scrolls, and e six scrolls

Table 1 Coefficient values, MLE values, and standard deviation, of PSP coverture [\(\sigma \)(PSPC)] for nonoptimized and optimized saturated function series chaotic oscillators
Table 2 Counting values, means, and standard deviations, \(\sigma \), of the phase transitions for the nonoptimized and optimized saturated function series chaotic oscillators showed in Table 1

To have more clarity in the description of the distribution of trajectories vs the MLE, in Fig. 6, we show how the surface of the search space is for the 4-scroll oscillator optimized by NSGA-II.

Fig. 6
figure 6

The search space around the solution (\(a\), \(b\), \(c\), \(d_1\)) 0.9997, 0.8158, 0.5369, and 0.7387 for the optimized 4-scroll oscillator. The figure to the left was made for \(0.9997, 0.8158, 0.5369\pm 0.0020\), and 0.7387\(\pm 0.0020\), and the figure to the right was made with values \([1.0-0.9977], 0.8158\pm 20, 0.5369\), and 0.7387. The solution is a local optimum in a zone where the MLE value varies in the range [0.215-0.245]. In two zones, one to the left on first figure, and the other in bottom-right in figure to the right, the MLEs do not exist

4.2 Chua’s circuit chaotic oscillator

All the simulations of this type of oscillator were executed during 5 s, and then aditional 3,200 s time was needed for measuring the Lyapunov exponents.

As an example of the suggested procedure for this class of oscillator, Fig. 7 shows all the nondominated solutions found for a Chua’s 4-scroll oscillator. As one sees from this figure, both objectives are in conflict, and thus one needs to select the appropriate solution from the Pareto front. In this case, the solution with value PSP coverture nearer and below to the value of 10 was chosen, and it is marked with symbol \(\blacktriangle \) in Fig. 7. Phase portraits of the two outermost solutions in Fig. 7 are shown in Fig. 8: the oscillator with the lesser MLE value, and the minimum variance in PSP is shown in Fig. 8a; and the oscillator with greater MLE and maximum variance in PSP coverture is shown in Fig. 8b. The chaotic oscillators corresponding to diagrams in Fig. 8a were obtained with optimized variables \(m_0=-2.234\), \(m_1=-0.329\), \(b_1=0.392\), \(b_2=1.386\), \(b_3=1.492\), \(\alpha =9.012\), and \(\beta =13.128\); the ones in Fig. 8b were obtained with variable values \(m_0=-1.148\), \(m_1=-0.370\), \(b_1=0.400\), \(b_2=0.618\), \(b_3=1.450\), \(\alpha =11.874\), and \(\beta =14.192\).

Fig. 7
figure 7

Solutions obtained for a Chua’s 4-scroll chaotic oscillator. The final chosen solution is marked with \(\blacktriangle \)

Fig. 8
figure 8

PSPs of the two outermost points in Fig. 7. Details in text

In Fig. 9 are shown the PSPs for the chaotic oscillators before and after the optimization. For the nonoptimized oscillators in Table 3 and shown in Fig. 9, for generating an even number of scrolls, the values \(m_0 = -3.036\), \(m_1=-0.276\), \(b_1 = 0.1\), \(\alpha =10\), and \(\beta =15\) were used. For generating an odd number of scrolls, the same values were used except \(m_1 =-0.276\) and \(m_2=-3.036\), and the initial break point is \(b_2 = 0.8\). The subsequent break points are calculated as in [22], evaluating

$$\begin{aligned} b_{i+1} = \frac{2\sum _j^i (m_j - m_{j-1}) b_j}{1+m_i} - b_i, \end{aligned}$$
(10)

where the slopes with an even index are equal to \(m_0\) (or \(m_2\)), and those with the odd ones are equal to \(m_1\). In (10), \(j\) is equal to 1 for an even scroll number, and \(j\) is equal to \(2\) for an odd scroll number.

Fig. 9
figure 9

Diagrams of the cases in Table 3 for Chua’s circuit chaotic oscillators. For each case, the upper row and the bottom row correspond to the nonoptimized and the optimized one, respectively. Two diagrams are shown: the \(x\) values against time, and the PSP between \(x\)-\(y\) state variables. a Two scrolls, b three scrolls, c four scrolls, d five scrolls, and e six scrolls

Table 3 Comparison between nonoptimized and optimized coefficients for the Chua’s circuit chaotic oscillator

Finally, in Table 3 are shown the variable values for the nonoptimized and optimized oscillators, and in Table 4 are shown the counting values that help us estimate the distribution of trajectories in the PSP for each oscillator in Table 3.

Table 4 Counting values, their means, and standard deviations (\(\sigma \)) of the phase transitions for the nonoptimized and optimized Chua’s circuit chaotic oscillators shown in Table 3

5 Discussion

The optimization problem for the saturated function series oscillators is encoded to search for the feasible values of variables \(a\), \(b\), \(c\), and \(d_1\) to design a more robust chaotic oscillator. The search space for a single variable is \(2\times 10 \times 10 \times 10 \times 10\) (first digit can take two values 0 or 1, and each one of the other four decimal places can take ten values, from 0 to 9), equal to \(2\times 10^4\). The total search space is (for four variables) \((2\times 10^4)^4\), or equal to \(1.6 \times 10^{17}\). Because of this huge search space, the use of heuristics, as the NSGA-II algorithm, is well justified.

For the Chua’s oscillator, the optimization problem is more difficult because it is search for \(s+3\) variables, where \(s\) is the number of scrolls; therefore, five variables are optimized for 2-scroll oscillator, and up to 9 variables for a 6-scroll oscillator. The methodology presented in this article opens the possibility to design oscillators with different values for each slope, and also for different values of the break points, so that the PWL function for the Chua’s diode will increase in a nonsystematic way, but the description remains the same as for (7).

After performing the optimization process with NSGA-II, several feasible solutions of the bi-objective optimization problem are in the Pareto front; however, we decided to take a solution with a low variance in the PSP distribution, and it was with a value around 10.

It is clear by observing the graph in Fig. 3 that the two objectives used in our proposed selection procedure—the value of the oscillator’s MLE, and the variability in the oscillator’s PSP—are in conflict. This means that an oscillator with high variability in the oscillator’s trajectories has a higher value in its MLE, and vice versa; the PSPs of these two extreme oscillators are shown in Fig. 4. If both objectives have not in conflict at all, then a single solution should be obtained, meaning that the optimization problem could be solved with any single objective solver and not with a multiobjective solver.

All our results show new optimized coefficient values of the multiscroll chaotic oscillators with higher MLE and low variance in the PSP, as can be verified from Tables 1 and 3. Although there is no rule for selecting a solution from the Pareto front, the electronic implementation can be performed considering the trade-off between the values of the MLE and the variance for the PSP coverture. In this manner, one can select the appropriate one according to the application at hand. For instance, as inferred from the Pareto fronts, a design showing a good distribution in the PSP, i.e., a low standard deviation will have a low value for the MLE. The unpredictability may not be robust, but chaos is guaranteed, and the oscillator will show all scrolls uniformly. On the other hand, when selecting a solution with the maximum MLE, the scrolls will not appear uniformly and in the worst case, one scroll may appear just for a few times. This leads us to suppose how to implement a random number generator: for instance, where one can trade unpredictability versus uniformity in the PSP. In this case, our contribution on identifying this trade-off between the values of the MLE and its PSP coverture provides a solution by applying evolutionary algorithms, e.g. NSGA-II.

6 Conclusion

A methodology to select the best parameter values of chaotic oscillators, based on saturated function series and in Chua’s circuit, to guarantee chaotic regime by maximizing the MLE and higher distribution of scrolls in the PSP coverture, has been proposed. We demonstrated that both objectives are in conflict. We proposed a new procedure to take the measurement of the PSP coverture. In this manner, we applied NSGA-II to solve a biobjective optimization problem encoded to maximize the value of MLE exponent and minimize the variability in the oscillator’s phase transitions. The proposed approach has been demonstrated for the optimization of two kinds of chaotic oscillators: one based on saturated functions series, and other one based on Chua’s circuit.

Both oscillators are based on PWL functions that, in all the reported studies, there is an increase in the number of their segments in a systematic way according to the number of scrolls to be generated. However, as mentioned in Sect. 2, both PWL functions described by (5) and (7) can be increased in a nonsystematic way. It means that for the saturated function series, the saturated levels, the slopes, and the shifted values can be all different, as well as for Chua’s diode where the negative slopes and break points can be different. Further, by applying the proposed approach of this study, one may find optimal solutions that maximize the MLE and minimize the dispersions in the PSPs in a better way. Finally, in Figures 5 and 9, we list the optimized results for both kinds of oscillators showing a high MLE and a very good distribution of the trajectories in the PSP.