We now apply the solution method developed in Section 2.4 to the industrial puriο¬cation process described in [93,94]. The purpose of this process is to remove harmful cobalt and cadmium ions from a zinc sulphate electrolyte by adding zinc powder to induce deposition. This is a key step in the production of zinc.
The changes in concentrations of cobalt and cadmium ions in the electrolyte are de- scribed by the following diο¬erential equations:
π Λπ₯1(π‘) = ππ₯01β ππ₯1(π‘ β π) β πΌπ’(π‘)π₯1(π‘ β π) + ππ₯2(π‘ β π), (2.71)
π Λπ₯2(π‘) = ππ₯02β ππ₯2(π‘ β π) β π½π£(π‘)π₯2(π‘ β π) + ππ₯1(π‘ β π), (2.72)
and
π₯1(π‘) = 3.3 Γ 10β4, π₯2(π‘) = 4.0 Γ 10β3 π‘ β€ 0, (2.73)
where π₯1 is the concentration of cobalt ions; π₯2 is the concentration of cadmium ions;
and π’ and π£ are control variables representing the zinc powder reaction surface areas for two metallic impurities ions which depend on the amount of zinc powder added to the reaction tank.
Furthermore, π is the volume of the reaction tank (π = 400); π is the ο¬ux of solution (π = 200); πΌ, π½, π, π, are system parameters; and π₯0
1 and π₯02 are the concentrations of
cobalt and cadmium ions at the inlet of the reaction tank, respectively (π₯0
1 = 6 Γ 10β4,
π₯0
2.5 Numerical examples 39 (2.71)-(2.73) with a given time-delay of π = 2. Here, we consider the problem of identifying the time-delay. We assume that π½, π, and π are equal to the optimal values reported in [94]:
π½ = 2.823 Γ 10β4, π = 16.67, π = 7.107 Γ 102. (2.74)
These values were obtained using data from a real zinc production factory in China. We assume that the terminal time is π = 8. We set the input variables π’ and π£ as equal to the optimal control functions obtained in [94].
π’(π‘) =β8 π=1 πππ [Β―π‘πβ1,Β―π‘π)(π‘), π‘ β [0, 8], (2.75) π£(π‘) = 8 β π=1 Β―πππ [Β―π‘πβ1,Β―π‘π)(π‘), π‘ β [0, 8], (2.76)
where the values of Β―π‘π, ππ, and Β―ππ, π = 1, . . . , 8, are listed in Table 2.1, and
π[Β―π‘πβ1,Β―π‘π)(π‘) = β§ β¨ β© 1, if π‘ β [Β―π‘πβ1, Β―π‘π), 0, otherwise.
The output of the system is the concentration of cadmium ions, π¦(π‘) = π₯2(π‘).
Given system (2.71)-(2.73), with data (2.74)-(2.76), our goal is to identify the system parameter πΌ and the delay π.
Table 2.1: Control values for Example 2.1.
π 1 2 3 4 5 6 7 8
Β―π‘π 1 2 3 4 5 6 7 8
ππΓ 10β5 1.08 1.57 1.24 1.56 1.59 1.43 1.25 1.25
Β―ππΓ 10β5 5.20 4.70 4.97 4.60 4.53 4.64 4.74 4.62
We simulate system (2.71)-(2.73) with π = Λπ = 2 and πΌ = ΛπΌ = 7.828Γ10β4to generate
the observed data in Problem (P). The sample times are π‘π= π/2, π = 1, . . . , 16, and
Λπ¦π = π₯
2(π‘πβ£Λπ, ΛπΌ).
Our identiο¬cation problem is: choose π and πΌ to minimize
π½(π, πΌ) =β16 π=1 π¦(π‘πβ£π, πΌ) β Λπ¦π2 = 16 β π=1 π₯2(π‘πβ£π, πΌ) β π₯2(π‘πβ£Λπ, ΛπΌ)2
Note that this problem cannot be solved using the identiο¬cation method in [125], as the third term on the right-hand side of (2.71) is a nonlinear term containing both an unknown parameter and an unknown delay. The identiο¬cation method in [125] is only applicable when each nonlinear term contains a single delay and no unknown parameters. We instead solve this problem using a Matlab program that integrates the SQP optimization method with the gradient computation algorithm described in Section 2.4.3.
Computational results for diο¬erent initial guesses are shown in Table 2.2. The con- vergence of the output trajectory for the initial guess π = 3 and πΌ = 0 is displayed in Figure 2.1. This ο¬gure shows the output trajectory at intermediate iterations of the algorithm, as well as the ο¬nal (converged) trajectory. In Table 2.2 and Figure 2.1, ππ and
πΌπ are the values of π and πΌ at the πth iteration during the optimization process (π = 0
signiο¬es the initial guess). We can see from Table 2.2 and Figure 2.1 that the optimal trajectory converges to the observed data well, regardless of the initial guess. Thus, the algorithm easily recovers the true values of the delay and parameter for this problem.
Table 2.2: Convergence of the cost values in Example 2.1. Initial guess Cost value at πth iteration
No. π0 πΌ0 π = 0 π = 5 π = 10 π = 70 1 0.5 0.5 9.111Γ1033 5.392Γ10β6 5.157Γ10β9 7.751Γ10β15 2 1.0 1.0 4.558Γ1020 5.106Γ10β6 7.709Γ10β10 1.088Γ10β13 3 1.5 0.5 3.346Γ1010 1.722Γ10β6 1.496Γ10β6 1.700Γ10β13 4 3.0 0.0 7.094Γ10β5 2.536Γ10β5 2.209Γ10β5 3.341Γ10β14 5 3.0 1.0 8.533Γ103 2.589Γ10β5 2.180Γ10β5 2.050Γ10β14
For comparison, we also solve this problem using the genetic algorithm (GA) in [57]. The parameters of GA are: the size of population is 20, the crossover probability is 0.8, the selection rate is 0.9, the mutation probability is 0.01, the number of bits for each individual is 14, and the maximum number of iterations is 1000. It takes about 40 minutes for GA to solve this problem, which is more than 20 times longer than the computation time taken by our method. Moreover, the cost value obtained by GA is 1.3787Γ10β9 with
corresponding parameter estimates π = 2.0026 and πΌ = 7.9351Γ10β4. Clearly, the results
obtained by our new method are better than those from GA. This is not surprising, as our method exploits the gradient of the cost function to achieve fast convergence.
2.5.2 Example 2.2
We now demonstrate the applicability of our approach to systems with multiple delays. Consider the dynamic system given below:
2.5 Numerical examples 41 0 1 2 3 4 5 6 7 8 4 5 6 7 8 9 10 11 12x 10 β3 time (hours)
concentration of cadmium ions
Ο5=2.974; Ξ±5=1.602Γ 10β3
Ο10=2.821; Ξ±10=1.020Γ 10β3
Ο70=2.000; Ξ±70=7.828Γ 10β4
Ο0=3.0; Ξ±0=0.0
observed data
Figure 2.1: Convergence of the output trajectory in Example 2.1 for initial guess No.4.
Λπ₯1(π‘) = β2π₯1(π‘) + 0.1(1 β π₯1(π‘ β π1)) exp{ 20π₯20 + π₯2(π‘) 2(π‘) } + 0.1π₯1(π‘ β π1)π₯2(π‘ β π2) + π’(π‘ β π3), (2.77) Λπ₯2(π‘) = β2.5π₯2(π‘) + 0.8(1 β π₯1(π‘ β π1)) exp{ 20π₯20 + π₯2(π‘) 2(π‘) } + 0.1π₯2(π‘ β π1)π₯2(π‘ β π2) + π’(π‘ β π3), (2.78)
with initial condition
π₯1(π‘) = 1, π₯2(π‘) = 1, π‘ β€ 0. (2.79)
Here, π1 and π2are unknown state-delays, and π3 is an unknown input delay. Assume that
the terminal time of this system is π = 10. The input function is given by
π’(π‘) = 0.1 sin(π‘), π‘ β€ 10.
Furthermore, the output is
We use the output trajectory of (2.77)-(2.79) with [Λπ1, Λπ2, Λπ3] = [2.4, 1.8, 1.1]β€ to generate
the observed data for Problem (P). We set Λπ¦π = π₯
2(π‘πβ£Λπ1, Λπ2, Λπ3), π = 1, . . . , 20,
where π‘π = π/2, π = 1, . . . , 20. Thus, our identiο¬cation problem is: choose π1, π2, and π3 to
minimize π½(π ) = 20 β π=1 β£π¦(π‘πβ£π1, π2, π3) β Λπ¦πβ£2 = 20 β π=1 β£π₯2(π‘πβ£π1, π2, π3) β π₯2(π‘πβ£Λπ1, Λπ2, Λπ3)β£2
subject to the dynamics (2.77)-(2.79).
We solved this problem using the same Matlab program that was used to solve Exam- ple 2.1. The convergence process of the program is shown in Table 2.3 for four sets of initial guesses. The convergence of the output trajectory for the initial guess π0 = [3.0, 3.0, 3.0]β€
is shown in Figure 2.2. In Table 2.3 and Figure 2.2, ππ = [ππ
1, π2π, π3π]β€ is the values of π at
the πth iteration, while π = 0 signiο¬es the initial guess. We also solve this problem using GA with the same parameters as in Example 2.1. The optimal cost obtained by GA is 1.3 Γ 10β4. Moreover, the computation time is much longer than our new method. As
with Example 2.1, we see that the optimization results converge from all initial guesses to the optimal solution.
Table 2.3: Convergence of the cost values in Example 2.2. Initial guess Cost value at πth iteration No. π0 1 π20 π30 π = 0 π = 5 π = 10 π = 30 1 0.5 0.5 0.5 0.4922 0.0188 5.667Γ10β3 6.661Γ10β15 2 1.5 1.5 1.5 0.1386 0.0035 3.357Γ10β6 6.618Γ10β15 3 2.5 2.5 2.5 0.0747 0.0083 4.405Γ10β4 1.534Γ10β14 4 3.0 3.0 3.0 0.1710 0.0298 2.780Γ10β3 6.656Γ10β15
2.6 Conclusion
In this chapter, we have developed a gradient-based computational method for determin- ing unknown time-delays and unknown parameters in a general nonlinear system. This method is uniο¬ed in the sense that the delays and parameters are determined simulta- neously by solving a dynamic optimization problem. The gradient of the cost function in this problem is obtained by solving a set of auxiliary delay-diο¬erential systems from
2.6 Conclusion 43