首页    期刊浏览 2024年07月07日 星期日
登录注册

文章基本信息

  • 标题:Using dynamic optimization technique to study the operation of batch reactors.
  • 作者:Sun, Daim-Young ; Lin, Pi-Min ; Lin, Shu-Ping
  • 期刊名称:Canadian Journal of Chemical Engineering
  • 印刷版ISSN:0008-4034
  • 出版年度:2007
  • 期号:August
  • 语种:English
  • 出版社:Chemical Institute of Canada
  • 摘要:Many chemicals, including bio-reagents, polymer additives, and pharmaceuticals, are essentially difficult to produce by continuous processes, because of varied species and small production quantities. For such multiproduct plants, batch processes may provide needed flexibility. However, with the increase in demand for the above chemicals, how to improve the operating efficiency of batch reactors becomes a very meaningful concern. Unlike the continuous reactors using the heating or cooling flow rate (the manipulated variable) to regulate the deviation from a fi xed reaction temperature (the set-point), the batch reactors with variant reaction conditions are almost impossible to operate under the framework of conventional PID loops. Consequently, the operating policies of a batch reactor are often determined off-line, based on the operating purposes and the imposed constraints. For most batch reactor operations, two distinct purposes are often considered:

Using dynamic optimization technique to study the operation of batch reactors.


Sun, Daim-Young ; Lin, Pi-Min ; Lin, Shu-Ping 等


INTRODUCTION

Many chemicals, including bio-reagents, polymer additives, and pharmaceuticals, are essentially difficult to produce by continuous processes, because of varied species and small production quantities. For such multiproduct plants, batch processes may provide needed flexibility. However, with the increase in demand for the above chemicals, how to improve the operating efficiency of batch reactors becomes a very meaningful concern. Unlike the continuous reactors using the heating or cooling flow rate (the manipulated variable) to regulate the deviation from a fi xed reaction temperature (the set-point), the batch reactors with variant reaction conditions are almost impossible to operate under the framework of conventional PID loops. Consequently, the operating policies of a batch reactor are often determined off-line, based on the operating purposes and the imposed constraints. For most batch reactor operations, two distinct purposes are often considered:

1. Acquire the maximum yields of the desired product in a fi xed operating period under some constraints;

2. Reach the specified yield for the desired product(s) in the minimum operating period under some constraints.

The operating constraints in the above expressions usually arise from the physical bounds on the control variable(s), safety limitations, and environmental regulations. In optimal control studies, the first expression can be formulated as a maximum yield (or conversion) problem, while the second one as a minimum operating time problem. By comparing with the solutions from the above optimal control problems (OCPs), the operators can easily assess whether or not the real production qualities are satisfactory and further consider how to modify the practical operating policies to make the processes more better.

Basically, to solve the above OCPs is a challenging task due to the highly non-linear, non-convex and multimodal nature derived from chemical systems. In the past decades, most developed solution techniques are based on one of the following theories:

* Pontryagin's minimum principle;

* Dynamic programming (DP);

* Non-linear programming (NLP).

For the method based on the minimum principle (Pontryagin et al., 1962), an OCP is converted into a two-point-boundary-value problem with state and co-state equations. The optimal control policy is then determined by iteratively integrating these equations. However, it is well-known that such integrations are notoriously diffi cult, especially when there are path constraints in the problems. Arising from the principle of optimality, the recent DP-based methods (Luus, 1989, 1990) still execute the computations in backward manner. Because of the lack of system's historical information, such kinds of methods are thus forced to use a great deal of time grids and state grids to refine the solution. Although the exhaustive computations make DP-based methods have the best numerical quality, however, they also confront the situation of too slow convergence. In recent years, NLP-based techniques almost become the mainstream in solving optimal control problems. The methods are basically composed of two primary sections: parameterization (or discretization) and optimization. In parameterization, an OCP with infinite dimensions is converted into a NLP problem with finite dimensions by using a trial function with unspecified coefficients. The decision variables in the coming optimization are therefore in terms of these coefficients. According to the portions to be parameterized in an OCP, the NLP-based methods may be further classified into two categories: (1) complete parameterization (CP) (Biegler, 1984; Cuthrell and Biegler, 1987); and (2) control vector parameterization (CVP) (Vassiliadis et al., 1994a,b, 1999; Carrasco and Banga, 1997; Pham, 1998; Huang et al., 2002; Sun and Chen, 2004). State variables and control input(s) in CP are both parameterized. As a result, the state equations and the related constraints are approximated by a set of algebraic equations. The converted problem is easy to optimize by any gradient-based NLP technique, such as successive quadratic programming (SQP). Although CVP is a very straightforward notion, its major difficulty comes from the dissimilarity between the original system and its converted counterpart. Such difficulty becomes even clearer for highly non-linear systems. For resolving the problem, the most general way is to increase the order of trial function. Because the size of the discretized problem is expanded in this way, therefore, the solution is very easy to converge to a local region. Furthermore, since the path constraints are only satisfied at the discretized variables, the validity inside the solutions will be hard to verify. In CVP, the control input is the only portion to be parameterized. Gradient-based techniques (Vassiliadis et al., 1994 a, b, 1999; Huang et al., 2002) and direct search techniques (Carrasco and Banga, 1997; Pham, 1998; Sun and Chen, 2004) are used to optimize the unspecified parameters. By integrating the sensitivity equations to renew the decision variables, gradient-based methods are in general quickly converge the solution, especially when the initial guesses are fortunately close to the optimum. However, besides the local convergent problem, these techniques also confront the problem that some cases are indifferentiable. As for the direct search methods, the new decision variables are sequentially generated by a pseudo-random code. As well, the preservation of a decision variables will be merely dependent on whether or not the corresponding performance index has improvement. So, the use of the direct search techniques is simple and straightforward. Moreover, randomly producing vast amount of decision vectors also increases the opportunity for the solution to approach the global optimum.

In the past decade there have been many works about the optimization of batch operations primarily concerned with developing brand-new numerical methods and the related robustness and efficiency (Aziz and Mujtaba, 2002). In engineering aspects, Garcia et al. (1995) used the generalized reduced gradient (GRG) algorithm coupled with the golden search method to determine the optimal operating profile for some classical cases by applying piecewise linear input with fixed time interval in the framework of CVP. Luus and Okongwu (1999) consider how to operate the system with two inputs (the flow rates of heating and cooling fluids) with the help of iterative dynamic programming (IDP). Even if the results from IDP have very nice numerical quality, large computation burden often discourages its use. In addition, using excessive time and state grids also make the operating policy to be sophisticated and impractical. To acquire an implementable input from SQP, Aziz and Mujtaba (2002) suggested using the piecewise constant input with variable time interval in CVP. Like other gradient-based techniques, however, GRG and SQP still confront the local convergent problem. By applying the algorithm based on simulated annealing (SA), the authors have successfully solved some typical optimal control problems in the framework of CVP. Using piecewise linear input with variable time interval to rebuild the input policy, our numerical strategy (Sun and Chen, 2004; Sun and Lin, 2006) provides the solutions with very nice qualities, even if SA is just a convenient but old-fashioned technique. In this paper, we further apply the algorithm to explore the batch reactor operations.

In the rest of the article, we will first formulate the batch reactor operations as two optimal control problems based on the operating purposes. These problems are further parameterized via the concept of CVP. Subsequently, an introduction is provided to brief simulated annealing. We also discuss how to handle the path (equality and inequality) constraints that occurred in the OCPs. The model describing a non-linear continuous stirredtank reactor (CSTR) with the known global and local optima is first used to present the efficiency and robustness of the proposed algorithm. Finally, we will discuss the batch reactor operation based on two typical batch systems by applying the proposed method. The detailed computational steps of SA may be referred to in the Appendix.

PROBLEM FORMULATION

A batch reactor system is described by a set of ordinary differential equations (ODEs):

dx/dt = f(x(t), u(t), t) (1)

with the initial conditions:

x(0) = [x.sub.0] (2)

where x(t) and u(t), respectively, stand for an n x 1 state vector and m x 1 control vector over the period from the starting time, [t.sub.0], to the ending time, [t.sub.f]. Notably, Equation (1) results from the material and energy balance relations. The control inputs are also restricted by their physical lower and upper bounds

u [less than or equal to] u(t) [less than or equal to] u

In general, the reaction temperature and the coolant flow rate are the inputs that are often used to control batch reactors. Furthermore, the state variables could be restricted by L equality constraints deriving from thermodynamic and kinetic relations:

[h.sub.l](x(t), x(t), (t) = 0 l=1, ... , L

and/or K inequality constraints:

[g.sub.k](x(t), x(t),t) [less than or equal to] [g.sub.k] k=1, ... , K

where [g.sub.k] denotes the upper bound for [g.sub.k], the k-th inequality constraint. Because of being prescribed by safety considerations and/or environmental regulations, [g.sub.k] is thus never changed over sequent searches. According to the mentioned operating purposes, the above equations, from Equation (1) to Equation (5), can be further organized as maximum yield problem and minimum operating time problem as follows:

* Maximum yield problem

[min.sub.u(t) J = [-x.sub.desired](x([t.sub.f))

subject to:

dx/dt = d(x(t), u(t), t) (6b)

x(0) = [x.sub.0] (6c)

[h.sub.l](x(t), x(t), t) = 0 l=1, ... , L (6d)

[g.sub.k](x(t), x(t), t) [less than or equal to] [g.sub.k] k=1, ... , K (6e)

u [less than or equal to] u(t) [less than or equal to] u (6f)

where [x.sub.desired](x([t.sub.f])) denotes the yields of the desired product at the specified ending time [t.sub.f]. Without loss the generality, the performance index in this paper is presented as the form of Equation (6a). Other types of performance index can be easily recast as this form via augmenting the state space. Furthermore, Equation (6a) is modified as minimization by changing its sign to unify the following formulations.

* Minimum operating time problem

[min.sub,u(t)] J = [t.sup.*.sub.f] (7a)

subject to:

dx/dt = f(x(t), u(t), t) (7b)

x(0) = [x.sub.0] (7c)

[h.sub.l](x(t), x(t), t) = 0 l=1, ... , L (7d)

[x.sub.k](x(t), tx(t), t) [less than or equal to] [g.sub.k] k=1, ... , K (7e)

[x.sub.desired]([t.sup.*.sub.f]) = [x.sup.*] (7f)

u [less than or equal to] u(t) [less than or equal to] u (7g)

[t.sup.*.sub.f] [member of] [[t.sub.f, min] [t.sub.f, min]] (7h)

where x* denotes the yields of the desired product to be reached at the end of the operation.

CONTROL VECTOR PARAMETERIZATION

To optimize the above problems under the framework of control vector parameterization, the control portions, in Equations (6a) to (6f) and Equations (7a) to (7h), are needed to be parameterized. Here, to simplify the use of the notation, we only present the formulations for the single input systems, namely m = 1. The extension to the systems with multiple inputs is very straightforward. Thus, Equations (6a) to (6f) and Equations (7a) to (7h) are parameterized as follows:

* Maximum yield problem

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (8a)

subject to:

dx/dt = f(x(t), [u.sub.i](t, [xi], [omega]), t) (8b)

x(0) = [x.sub.0] (8c)

[h.sub.l](x(t), x(t), t) = 0 = 1, l=1, ... , L (8d)

[g.sub.k](x.(t), x(t), t) [less than or equal to] [g.sub.k] k=1, ... , K (8e)

u [less than or equal to] [u.sub.t](t, [xi], [omega]) [less than or equal to] u (8f)

[t.sub.f] = [[omega].sub.N+1] (8g)

[for all]t [member of] [[omega].sub.t], [[omega].sub.l+1]) i=1, ... , N (8h)

* Minimum operating time problem

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII] (9a)

subject to:

dx/dt = f(x(t), [u.sub.i](t, [xi], [omega], t) (9b)

x(0) = [x.sub.0] (9c)

[h.sub.l](x(t), x(t), t) = 0 l= 1, ... , L (9d)

[g.sub.k](x(t), x(t), t) [less than or equal to] [g.sub.k] k=1, ... , K (9e)

[x.sub.desired]([t.sup.*.sub.f] = x* (9f)

u [less than or equal to] [u.sub.t](t, [xi], [omega]) [less than or equal to] u (9g)

[for all] t [member of] [[omega].sub.t], [[omega.sub.t+1]) i=1, ... , N (9h)

[t.sup.*.sub.f] = [[omega].sub.N+1] [member of] [[t.sub.f, min] [t.sub.f, max] (9i)

where N([greater than or equal to] 1) denotes the number of control (time) stage from [t.sub.0] to [t.sub.f], and [[xi].sub.i] denotes the control input applied at the i-th time grid, [[omega].sub.i]. Therein, [[omega].sub.1] and [[omega].sub.N+1] are corresponding to [t.sub.0] and [t.sub.f], respectively. [u.sub.i](t, [[xi].sub.i], [[xi].sub.i+1], [[omega].sub.i], [[omega].sub. i+1]) represents the control input applied within the duration from [[omega].sub.i] to [[omega].sub.i+1]. For facilitating the selection of [[omega].sub.N+1] in Equations (9a) to (9i), a range [[t.sub.f,min], [t.sub.f,max]] that [t.sub.f] probably locates can be assigned in advance by referring to physical insight of the operator to the system. Moreover, Carrasco and Banga (1997) and Aziz and Mujtaba (2002) report that applying the input in variable time interval is good for the numerical qualities. The same conclusion is also reached in previous investigations (Sun and Chen, 2004; Sun and Lin, 2006). Thus, this policy is still adopted in this study. Consequently, other time grids are considered as the variables to be optimized.

So far, the above OCPs have been completely converted into two non-linear programming problems. Therein, Equations (8a) to (8h) have 2N dimensions, since the starting time and the ending time are both specified. Equations (9a) to (9i) have 2N + 1 dimensions due to the unknown ending time. Furthermore, many functions (Vassiliadis et al., 1994a: Carrasco and Banga, 1997) can be used to interpolate the value of [u.sub.i](t), t [member of] [[[omega].sub.i], [[omega].sub.i+1]) in the optimization. Therein, the piecewise constant function is widely used by many workers for the numerical simplicity. However, such function is in general hard to implement for practical uses, because of the intrinsic discontinuities occurring at the time grids. Increasing the grid numbers may ease the discontinuity, however, the dimension of the converted problems will be inevitably enlarged. To diminish the discontinuous effect, piecewise linear function seems to be more feasible. A piecewise linear input applied in the interval of [[[omega].sub.i], [[omega].sub.i+1]) is expressed as:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

Since studies (Carrasco and Banga, 1997; Sun and Chen, 2004; Sun and Lin, 2006) have pointed that the piecewise linear inputs may give better results in most cases, therefore, Equation (10) is further adopted in this study. Thus, from practical point of view, the continuous input in Equations (6) and Equations (7) are approximated by a series of ramp inputs, [u.sub.i](t, [[xi].sub.i], [[xi].sub.i+1], [[omega].sub.i], [[omega].sub.i+1]), i = 1, 2, ... ,N, with different actuating periods. Even the resultant optimal policy has very abrupt changes such as bangbang input, the piecewise linear inputs with variable time interval are very effective in refining the solution by properly adding the grid numbers (Carrasco and Banga, 1997; Sun and Chen, 2004).

After having finished the previous formulations, we can further apply simulated annealing to select the optimum decision vector. A brief introduction about simulated annealing is provided in the next section.

OVERVIEW OF SIMULATED ANNEALING

The so-called annealing is a slow-paced cooling scheme. When a structured solid, composed of atoms, molecules or ions, is heated to some extent, the binding strength between composed particles starts to weaken. Further being heated, the solid will melt. Once the thermal energy is slowly released, these particles will gradually solidify toward a new but stable configuration. However, even at the same thermal state, the established configurations might be very diverse, which is the so-called meta states. Theoretically, the configuration with the highest stability can be eventually reached, provided the cooling scheme is slow enough.

Kirkpatrick et al. (1983) formulated the above procedure as a metaheuristics, called simulated annealing, by analogizing the melted particles and their associated energy states to the decision variables and the corresponding performance indexes. Suppose the performance index to be minimized is improved, it takes for granted that the corresponding decision variables are automatically accepted. However, even the performance index has no improvement, the corresponding decision variables are not directly abandoned but conditionally accepted as the seeds for escaping from the local regions. In SA, the acceptance of the unimproved solution is related to the following probability:

P = exp[[J.sup.i+1]([x.sub.i+1]) - [J.sup.i]([x.sub.i]/[T.sub.a]] (11)

where [T.sub.a] is the artificial annealing temperature, [J.sub.i+1] is the unimproved performance index from the current decision vector [x.sub.i+1], [J.sup.i] is that from xi, the previously accepted decision vector. P is then compared to an uniformly random number, P, ranging form [0, 1]. Once P is greater than P, [x.sub.i+1] is accepted to replace [x.sub.i] for further searches. Otherwise, [x.sub.i+1] is rejected. Such procedure is named as Metropolis criterion. Obviously, SA accepts the solutions trapped in local regions as the seeds so that the direction of convergence may go toward the global optimum. Of course, the cost is to prolong the time to converge.

Modified from the algorithm proposed by Goffe et al. (1994), the detailed computational steps of this study are in the Appendix. Therein, proportionally reducing the temperature is adopted as the annealing schedule, namely:

[T.sup.new.sub.a] = [gamma][T.sup.old.sub.a] (12)

where [gamma](< 1) is reducing factor specified by the user. The exploration about the effects caused by the parameters used in the algorithm, such as initial annealing temperature and the reducing factor and iterations before reducing temperature, is provided in the first example.

THE TREATMENT OF EQUALITY CONSTRAINTS

Because the time derivative terms of the state variables remain intact after parameterizing the control variable, the ordinary differential equations and the equality constraints in DOPs consist of a set of differential-algebraic equations (DAEs). In general, such systems are highly stiff. Whether or not a set of DAEs could be integrated by a numerical code is related to its index. The index of a set of DAEs is defined as the minimal number of times that the algebraic equations must be differentiated to obtain the standard ODEs. Thus, for an optimal control problem described by DAEs, the index is equivalent to the number of differentiation required to obtain a standard ODEs for the control variable (Dadebo and McAuley, 1995). Therefore, a system consisting of pure ODEs is obviously a special set of DAEs whose index is 0. The so-called high-index DAE means its index value is at least 2. For the high-index DAEs, inconsistency of initial conditions, and fail (or drift) of integration might happen in computing. So far, no general codes are available for the high index systems. Currently, DASSL (Petzold, 1982; Brenan et al., 1989) and DVERK (Hull et al., 1976) are two popular solvers for the systems with index 1 and 0. For applying these integrators, therefore, the index of the DAEs in this study is presumed to be less than or equal to 1. Furthermore, since the equality constraints can be simultaneously integrated, the path constraints in CVP are automatically satisfied by the state paths. As a result, the DAE solver provides an unified and convenient approach to handle the equality constraints.

THE TREATMENT OF INEQUALITY CONSTRAINTS

To ensure complete satisfaction of the inequality constraints over the entire time horizon, Mekarapiruk and Luus (1997) introduce additional state equations:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

with initial condition [x.sub.n+k](0) = 0 where k = 1, ... , K, to measure the violations. As a result, the K inequality constraints are transferred into K end-point constraints. Using the similar idea, Aziz and Mujtaba (2002) develop the differentiable square-type function to accumulate the violations.

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

Sun and Lin (2006) replace the right-hand side of Equation (13) by the normalized function to increase the sensitivity.

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

For the cases with [g.SUB.k] = 0, Equation (15) is modified as

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

where [alpha] is the parameter with a very small positive value. In this study, Equation (15) or (16) is still adopted to measure the violation of the path constraints. K end-point constraints and other end-point constraints, such as Equation (7f), are afterward augmented in the original performance index as follows:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

where [[theta].sub.k] > 0 is the factor for penalizing the violation of the k-th inequality constraints. Thus, these end-point constraints may gradually shrink to a acceptable tolerance with the optimization.

CASE STUDIES

In this section, the non-linear CSTR model is first used to demonstrate the efficiency and robustness of the algorithm in acquiring the global solution for non-linear chemical systems. Then, this method is applied to explore the operations of batch reactors based on pure kinetic model and rigorous reactor model. By referring the temperature profile acquired from the optimization of the pure kinetic model, the engineers may improve the design of batch reactors. The optimization of the rigorous reactor model provides the information to evaluate the operating conditions of an already designed reactor. Notably, for a discretized OCP, the solution acquired by any NLP technique is merely suboptimal, since it is just very close to the global solution. For completing the above optimizations, all the computations are executed on a Pentium/4 personal computer with 3.0 GHz speed.

Non-Linear CSTR Model

This model is governed by the following differential equations:

d[x.sub.1]/dt = -(2 +_ u)([x.sub.1] + 0.25) + ([x.sub.2] + 0.5) exp [25[x.sub.1]/ [x.sub.1] + 2] (18a)

d[x.sub.2]/dt = 0.5 - [x.sub.2] - ([x.sub.2] + 0.5) exp [25[x.sub.1]/[x.sub.1] + 2] (18b)

d[x.sub.3]/dt = [x.sup.2.sub.1] + [x.sup.2.sub.2] + 0.1[u.sup.2] (18c)

with the initial condition

x(0) = [0.09 0.09 0]' (19)

where [x.sub.1] and [x.sub.2] represent the deviations from dimensionless steady-state temperature and concentration. The control input in this case is unbounded. Therefore, the problem is to fi nd the optimal input u to minimize the performance index [x.sub.3]([t.sub.f]) at [t.sub.f] = 0.78.

Using control vector iteration based on the minimum principle, Luus and Cormack (1972) have reported that there exist one local minimum, J = 0.24425, and one global minimum, J = 0.133094. Using IDP with 78 time stages and 19 iterations, Luus (1990) got an optimal value of 0.13321. The solution is then modified to 0.13312 by linear extrapolation. Luus (2000) further reports that the value may be further refined to 0.133096, which is within 0.0015% of the known best by IDP with 20 stages and 200 iterations. Luus (1990) also noticed that even if a large number of testing points are used in IDP, the possibility that gets a local optimum cannot be ruled out. And, to rerun the problem with different grid specifications is required for minimizing the chance of obtaining a local optimum. These opinions hint that the optimization of this case is sensitive to the initial conditions of the optimizers.

As previously indicated, simulated annealing conditionally accepts the unimproved solutions for departing from the local regions. The acceptance of an unimproved solution is dependent on whether or not the probability obtained from Equation (11) is larger than or equal to an uniform random number in the range of [0, 1]. In such a procedure, the initial value of [T.sub.a] will definitely affect the convergent speed. By setting the initial input as 2.5 and time stages as 5, the changes of the performance index for [T.sub.a] initiated at different values and cooled at the rate of 10% are shown in Figure 1. Obviously, the unimproved solutions are easy to be accepted as [T.sub.a] is in high level. The chance that escapes from the local region is thus greatly increased. However, excessive computations also make the convergence to be slow. In other respect, a small probability caused by a low [T.sub.a] will reject most unimproved solutions. Under such condition, simulated annealing and quasi Monte Carlo method will become very much alike. The changes of performance index with different annealing schedule as [T.sub.a] is started at 10 is presented in Figure 2. We can see that although all these solutions gradually get close to each other, the slow cooling rate will take much longer time in converging the solution. Figure 3 demonstrates the effect of different [N.sub.T] , the iteration numbers before reducing the temperature, on the performance index. It implies that a moderate [N.sub.T] is essentially required to quickly converge the solution to an numerical accuracy. Basically, the above shows that SA never trap these solutions to around 0.24425, but quickly converge to the vicinity of 0.1331. Because of being insensitive to the initial conditions of the optimization, therefore, simulated annealing behaves more robust than dynamic programming in this case. By taking [N.sub.T] = 30, [gamma] = 0.5 and [T.sub.a] = 0.1, the performance index acquired by different time stages are list in Table 1. All these values are very close each other. The trajectory of [x.sub.1](t) and [x.sub.2](t) and the control profile by SA with 8 stages are shown in Figures 4 and 5. Next, we further apply this method to investigate the operation of the batch reactors.

Pure Kinetic Model

The target of this model is to formulate the following consecutive-competitive reaction:

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

where A and B are raw materials, P and S denote the desired product and the waste or the low-priced product that should be inhibited. Obviously, the reaction temperature and the operating time are two factors that affect the conversion to P. As proposed by Burghardt and Skrzypek (1974) and studied by Garcia et al. (1995), the material balances for this system are given by:

d[x.sub.1]/dt = -([k.sub.1][x.sub.1][x.sub.2)V (20a)

d[x.sub.2]/dt = (-[k.sub1][x.sub.1][x.sub.2] - [k.sub.2][x.sub.2][x.sub.3])V (20b)

d[x.sub.3]/dt = (-[k.sub.1][x.sub.1][x.sub.2] - [k.sub.2][x.sub.2][x.sub.3])V (20c)

d[x.sub.4]/dt = ([k.sub.2][x.sub.2][x.sub.3])V (20d)

with the initial conditions

x(0) = [ 1. 1. 0. 0. ]' (20e)

[FIGURE 1 OMITTED]

[FIGURE 2 OMITTED]

[FIGURE 3 OMITTED]

where [x.sub.1], [x.sub.2], [x.sub.3], and [x.sub.4], respectively, denote the concentrations of A, B, P and S. The total reaction volume, V, is equal to 1l . The reaction rate constants, [k.sub.1] and [k.sub.2], in [mole.sup.-1][s.sup.-1] are expressed as:

[k.sub.1] = 1.667 x [10.sup.3][e.sup.-6.688 x 4/R(T+273)] (20f)

[k.sub.2] = 1.667 x [10.sup.3][e.sup.-8.360 x 4/R(T+273)] (20g)

where T in [degrees]C, the reaction temperature, is restricted by:

302 [les than or equal to]T(t) [less than or equal to] 352 (20h)

R denotes the gas constant. This model is further treated as two optimal control problems based on the previous formulations.

Maximum Yield Problem

The aim of maximum yield problem for this model is to optimize the temperature profile so that not only the yields of P is maximized at the end of the operating time [t.sub.f] = 6000 s, but Equations (20a) to (20h) are simultaneously satisfied.

Using GRG algorithm coupled with golden section method, Garcia et al. (1995) acquire the optimal temperature input and the performance in good agreement with the result from using the minimum principle (Burghardt and Skrzypek, 1974), where the maximum yields of P are 0.8664 for 5 stages and 0.8665 for 10 stages. By SA with [T.sub.a] = 50, [N.sub.S] = 30 and [N.sub.T] = 30, the maximum yields of P for the stages from 1 to 5 as shown in Table 2 are 0.8655, 0.8663, 0.8665, 0.8665 and 0.8666, respectively. Therein, when the stage numbers are increased to 3 or above, the yields of P exhibit almost the same values as reported in Garcia et al. (1995). The optimal temperature profiles for the above cases are plotted in Figure 6. Notably, the optimum yield of P is merely 0.13% lower than the best reported even just when one control stage is used. From the engineering point of view, such difference is almost negligible. On the other hand, when the control the stages are refined to 10, the conversion to P as shown in Table 3 has no further improvement. From the above facts, they seem to imply the possibility to approach the optimal conditions of this system by using small stages to change the reaction temperature. Thus, the operating complexity of this system can be greatly reduced. These data are plotted in Figures 7 and 8. Furthermore, Figures 6 and 7 both reveal a trend that the reaction will be initiated at a higher temperature level, when the stage numbers are increased. Then, the reaction rate has to be decelerated by steeply reducing the temperature to suppress the conversion of P. Finally, the temperature is gradually risen to another level, and kept constant to the end. This temperature variation appears when the stage numbers are increased to 3 or above. Similar observations are also reported by Burghardt and Skrzypek (1974) and Garcia et al. (1995).

[FIGURE 4 OMITTED]

[FIGURE 5 OMITTED]

[FIGURE 6 OMITTED]

Minimum Operating Time Problem

More P will be converted into S if the consecutive reaction is ended too late. It is reasonable to produce P with the specified yield as fast as possible in order to reduce the cost for sequently treating the low-priced by-product. Therefore, the minimum operating time problem for this model is to fi nd the optimum temperature profile so that not only Equations (20a) to (20h) are satisfied, but the specified yields of P is generated in the minimum operating time [t.sup.*.sub.f].

[FIGURE 7 OMITTED]

[FIGURE 8 OMITTED]

In the following discussions, the yields of P will be specified as 0.70, 0.75, 0.80, 0.85 and 0.866, respectively. With the increase of the specified yields of P, the system is needed to be given a much longer time to react. Thus, the ranges that the optimal operating time could be located are specified as [600, 1000] for 0.70, [600, 1300] for 0.75, [600, 1500] for 0.80, [2500, 3500] for 0.85 and [5000, 6100] for 0.866. As mentioned above, the operator may specify the ranges by referring to his physical insight to the systems. The related parameters used in SA are set as [T.sub.a] = 50, [N.sub.T] = 30 and [N.sub.S] = 30. Most computations in this case are completed within 5 s. The minimum operating times for the different yields of P with the different operating stages are list in Table 4. Therein, the time grid and the associated control are respectively shown in the third and the fourth column. The last grid marked with " * " in the third column denotes the time that the reaction is stopped. The conversions to S corresponding to the different conversions of P are list in the last column. The minimum operating time could be around 625 s, 862 s, and 1340 s, as the yields of P are specified as 0.70, 0.75 and 0.80. If the control stages are refined to 10, the operating time can be slightly improved to 623.16 s for 0.70, 861.8 s for 0.75, and 1337.5 s for 0.80. Notably, as shown Figure 9, the isothermal policy is favourable to the operation in the above cases. Once the yield of P is specified as 0.85, the operating time is minimized to 3190.4 s, 3189.0 s and 3186.2 s for 1, 3 and 5 stages. It can be further improved to 3185.3 s and 3182.0 s, as the control stages are refined to 8 and 10. Because the yield of P at 0.85 is favourable to the generation of S, the temperature profiles shown in Figure 10 are very different from those in Figure 9. We can fi nd that constant temperature profile and variable temperature profile both can be used to generate such concentration of P. When 8 stages are used, the shape of the temperature profile is very closed to on-off type. The temperature variation appear when 10 stages are used. If the specified yield of P is further increased to 0.866, which is a value that is very close to the solution from the previous maximum yield problem, the operating time is minimized to 6053 s for 3 stages, 6034 for 5 stages and 6037 for 10 stages. The above temperature profiles are plotted in Figure 11. The temperature variation appears as the stage numbers are increased to 5 or above.

[FIGURE 9 OMITTED]

[FIGURE 10 OMITTED]

Rigorous Reactor Model

Studied by Aziz and Mujtaba (2002), this model describes a first-order consecutive exothermic reaction in a jacketed batch reactor shown in Figure 12.

[FIGURE 11 OMITTED]

[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]

The material balances around the reactor are given as:

d[x.sup.1]/dt = -[k.sup.1][x.sub.1] (21a)

d[x.sup.2]/dt = [k.sup.1][x.sub.1] - [k.sub.2][x.sub.2] (21b)

d[x.sup.3]/dt = [k.sub.2][x.sub.2] (21c)

The energy balances around the reactor, the reactor wall and the jacket are described as:

d[x.sup.4]/dt = 193.4524[k.sub.1][x.sub.1] + 35.7143[k.sub.2][x.sub.2] - 8.8923([x.sub.4] - [x.sub.5] (21d)

d[x.sub.5]/dt = 33.1978([x.sub.4] - [x.sub.5] - 38.7940([x.sub.5] - [x.sub.6]) (21e)

d[x.sub.6]/dt = u/0.53(298 - [x.sub.6]) + 19.2925([x.sub.5] - [x.sub.6]) (21f)

[FIGURE 12 OMITTED]

where [x.sub.1], [x.sub.2] and [x.sub.3] denote the concentration of A, P, and S, respectively; [x.sub.3], [x.sub.4] and [x.sub.5] are the temperatures in K for the contents, the reactor wall and the jacket. The initial conditions of this system are:

x(0) = [ 0.975 0.025 0 350 373 300 ]' (21g)

The reaction rate constants in material balance relations are estimated as follows:

[k.sub.1] = 4.38 x [10.sup.4][e.sup.-3.49 x [10.sup.7]/(8314x4) (21h)

[k.sub.2] = 3.94 x [10.sup.5][e.sup.-4.65 x [10.sup.7]/(8314x4) (21i)

u(t), the coolant flow rate, in [m.sup.3]/h is bounded by:

0 [less than or equal] u(t) [less than or equal to] 9 (21j)

Four different constraints will be individually imposed on the above model.

C1: [x.sub.4]([t.sub.f]) [less than or equal to] 320 K.

C2: [x.sub.4](t) [less than or equal to] 370 K and [x.sub.4]([t.sub.f]) [less than or equal to] 320 K

C3: [x.sub.4]([t.sup.f]) [less than or equal to] 320 K and [x.sub.3]([t.sub.f]) = 0.1.

C4: [x.sub.4](t) [less than or equal to] 370 K, [x.sub.4]([t.sub.f]) [less than or equal to] 320 K and [x.sub.3]([t.sub.f]) = 0.1

Maximum Yield Problem

The aim of maximum yield problem for this model is to seek the optimum coolant flow rate which satisfies Equations (21a) to (21j) and the imposed constraints so that the yields of P is maximized at the end of the operation, [t.sub.f] = 3.5 h.

Table 5 summarizes the solutions for this model restricted by the above constraints by taking 2, 3 and 5 control stages and setting [T.sub.a] as 50. Most conversions to P are very closed to those from SQP shown in Table 6. Furthermore, the refined solutions in which the stages are increased to 10 are tabulated in Table 6 to compare with those from SQP. The profiles for the coolant flow rate and the reaction temperature for different constraints in this problem can be seen in Figures 13 and 14.

For C1 case, it is an end-point constraint that the reaction temperature should be ended at 320 K. To maximize the yields of P, the reaction temperature during the operation is thus allowable to be as high as possible. In practice, C1 could be the situation that the price of A is costly or the high temperature in reactor is considered to be endurable. In the computation, the highest temperature appears around 383.4 K, and the maximum yields of P is 0.6534. Furthermore, the yields of S in C1 is the largest among the four constraints, since the high reaction temperature simultaneously stimulate its generation.

The next consideration in C2 is to prevent the reaction temperature being raised too high so as to endanger the reactor. Consequently, the reaction temperature not only ends at 320 K, but has no permission to go up to 370 K during the operating period (a path constraint). Using square-type function to accumulate the violations, Aziz and Mujtaba (2002) partition a discretized DOP into more sub-problems, the so-called path-division technique, to ensure the satisfactions of the path constraints. In principle, the total violations of path constraints could be reduced by asking the constraints to be satisfied in each sub-problem. They report that the optimum conversion to P and the corresponding yield of S in one-path-interval method (without partition) are 0.6253 and 0.0991, while increasing to 0.6401 and 0.1161 in two-path-interval method. Because the results by 2 stages are impossible to converge to a satisfactory accuracy, only the results from 3 and 5 stages are shown in Table 5. Spending 15 s of CPU time, SA converges the yield of P to 0.6341 and 0.6350, respectively. Their differences with respect to the best value are within 1%. Even when the stages are refined to 10, the yield of P and the corresponding yield of S are improved to 0.6421 and 0.1214 within 19 s of CPU time.

[FIGURE 13 OMITTED]

[FIGURE 14 OMITTED]

[FIGURE 15 OMITTED]

In contrast to C2, the yield of S in C3 case is directly specified at a given level, namely S = 0.1. Such constraint might derive from the situation that the operator directly prescribe the amount of S, because of its costly expenditure in the sequent treatments or of the potential risk brought by S to the rector. By SA with 2, 3, 5 and 10 stages, the values, including 0.6227, 0.6276, 0.6270 and 0.6274 shown in Tables 5 and 6, are very close to 0.6249 from SQP. In Figure 14, we see the reaction temperature will go beyond the safety margin 350 K for rapidly producing P. As soon as the highest temperature, about 374.5 K, is reached, the reaction heat should be greatly removed to inhibit the conversion to S. By restricting the production of S, the extent over the safety margin for the temperature profile in C3 is smaller than that in C1.

All the above considerations are finally imposed on the model in C4 case. By using 3, 5 and 10 stages, the yield of P may be converged to 0.6270, 0.6280 and 0.6297. These results are very closed to 0.6253 from SQP. Although the results are only increased by 0.27%, 0.43% and 0.7%, using two or three stages may reduce the operating complexity.

Minimum Operating Time Problem

The aim of this problem is to fi nd the optimum coolant flow rate which satisfies Equations (21a) to (21j) and the imposed constraints so that the specified yields of P is generated in the minimum operating time [t.sup.*.sub.f]. In this problem, the yields of P at the end of the operation will be specified as 0.6. C1 and C2 will be respectively considered in the following discussions.

For C1 case, because of no path constraint imposed on the reaction temperature, the operation is expected to reach the specified yields of P as fast as possible, provided the reaction temperature is ended at 320 K. It is reasonable for an exothermic reaction to turn off the coolant flow in the initial stage. Thus, the reaction will be accelerated with the increase of the reaction temperature. Then, the coolant flow is fully opened to remove the reaction heat till the operating time is up. Such operations indeed create an on-off coolant flow. Setting [T.sub.a] as 50 and assuming [t.sup.*.sub.f] [member of] [0.5, 2.8], we acquire the minimum operating time to be 2.592 h and 2.578 h for 3 and 5 stages. Once the stages are refined to 10, the operating time can be further minimized to 2.40 h. In Figure 15, the changes of the coolant flow rate for 10 stages appears almost on-off form. The reaction temperature shown in Figure 16 initially ascends to a highest point, about 403 K, then is all the way down to 320 K. Additionally, because the reaction is allowed to be higher than 370 K, the productions of S is certainly increased. These data are shown in Table 7. Compared with the results by SQP (Aziz and Mujtaba, 2002), the optimal operating time by SA has been reduced by 2.4%, but the conversion to S is slightly increased by 1.0%.

In C2 case, we first solve the operating time for this problem to be 2.98 h by using 8 stages. The stages numbers are then increased to 10, the operating time is further minimized to 2.89 h. Because there exists the constraint on the highest reaction temperature, part of the reaction temperature profile in Figure 16 is carefully maintained at 370 K to increase the production of P. The operating time of this problem is thus longer than that in C1 due to the lower temperature section. Although the operating time compared with C1 is increased by 20%, however, the yield of S is reduced by 24.5%.

CONCLUSION

In this study, we explored the batch reactors operations by global optimization technique, simulated annealing. Based on the considerations in practical operation, the operations are first formulated two optimal control problems, including: a maximum yield problem and a minimum operating time problem. By discretizing the control inputs, the optimal control problems are converted into non-linear programming problems. The embedded parameters in discretized input can thus be optimized by the proposed algorithm. How to handle the equality and inequality constraints is also included into this article.

[FIGURE 16 OMITTED]

By using the CSTR model with the well-known local and global optimum, we first explore the effects caused by changing the parameters, including: the artificial annealing temperature [T.sub.a], the reducing factor in annealing schedule [gamma] and the iteration numbers before reducing the temperature [N.sub.T], on the convergence. The results show that SA is effective in excluding the local solutions, as well as less sensitive to the initial conditions in optimization. In conclusion, the basic strategy used by simulated annealing is to accept the unimproved solutions as the seeds for escaping the local regions. Therefore, the cost is certain to increase the computation efforts. On the other hand, once the degree of acceptance for the unimproved solutions becomes very small, SA and pseudo Monte Carlo method behave very much alike.

Based on the above formulations and discretization, then, four batch operation problems derived from the pure kinetic model and the rigorous reactor model are considered in this study. Therein, the pure kinetic model is only composed of material balance and the related kinetic relations. The solutions from this model may provide the optimum temperature trajectories that are helpful to the detailed design of the batch reactor. The rigorous reactor model consists of kinetic relations and material/energy balance. Four limitations on the operation are formulated as the path constraints, and also considered into the problems. The solutions from this model provide the optimal coolant flow rate which can be referred by the operation of an already designed reactor.

The above results verify that using simulate annealing to determine the optimal operating policy of batch reactors is simple, convenient and robust. Although SA has the critique of spending much longer time in exhaustive searches, its ability in search of global solution has been shown in this study. Therefore, the authors believe that the advancement of computers will gradually diminish such critique, and direct search techniques in the foreseeable future will be very promising in the solution of optimal control problems.

APPENDIX

Based on the Goffe's algorithm (Goffe et al., 1994), the detailed steps for determining optimal operating policy of batch reactors are stated as follows:

Step 1. Input problem's data and assign the parameters related to the computation, including:

1. Numbers of control (time) stages, N.

2. Artificial annealing temperature, [T.sub.a].

3. Numbers of the time grids, [N.sub.P] = P + 1.

4. Numbers of cycles at a given temperature, [N.sub.S].

5. Numbers of iteration before reducing temperature, [N.sub.T]. Noted that [N.sub.P] in original algorithm is set as the dimensions of the optimization problem. To increase the convergent speed, [[xi[.sub.i] and [[omega].sub.i] in our calculations are simultaneously updated. Furthermore, [N.sub.S] and [N.sub.T] are adequate for setting as 30, unless special stiff conditions are found in the problems, such as state path constraints.

Step 2. Initiate [N.sub.P] time grids and their associated control inputs by:

[[omega].sub.i] = (i - 1) * [t.sub.f]/P (A-1a)

[[xi].sub.i] = u + u/2 (A-1b)

where i = 1, ... , [N.sub.P]. The initial lower bound [[omega].sub.i] and the upper bounds [[omega].sub.i] of [[omega].sub.i] are given by:

[[omega].sub.i] = [[omega].sub.i-1] + [[omega].sub.i]/2 (A-2a)

[[omega].sub.i] = [[omega].sub.i] + [[omega].sub.i+1]/2 (A-2b)

Thus, the initial searching region for each [[omega].sub.i] is defined as:

[DELTA][[omega].sub.i] = [[omega].sub.i] - [[omega].sub.i] (A-2C)

Notably, [DELTA][[omega].sub.1] is always set as 0 since [[omega].sub.1] is correspondent to [t.sub.0]. Meanwhile, [DELTA][[omega].sub.P+1] is also fixed as 0 for the maximum yield problems whose [t.sub.f] specified. For the minimum operating time problems, the initial guess of [[omega].sub.P+1] is given as:

[t.sub.f,min] + [t.sub.f,min]/2 (A-3)

and [DELTA][[omega].sub.P+1] = [t.sub.f,max] - [t.sub.f,min.]

Step 3. Set counter l for [N.sub.T] as 1.

Step 4. Set acceptance indices [C.sub.i] as 0 where i = 1, ... , [N.sub.P].

The function of acceptance index is to record the numbers of the accepted performance indices in each grid during [N.sub.S] cycles at a given T.

Step 5. Set counter k for [N.sub.S] as 1.

Step 6. Set counter j for [N.sub.P] as 1.

Step 7. Simultaneously update the j-th time grid [[omega].sub.j] and the associated control input [[xi].sub.j] and the time grid by:

[[xi]'.sub.j] [left arrow] + [[GAMMA].sub.j] * [DELTA][u.sub.j] (A-4A)

[[omega]'.sub.j] [left arrow] [[omega].sub.j] + [[GAMMA].sub.j] * [DELTA][[omega].sub.j] (A-4b)

where [DELTA][u.sub.j](= u-u) means the physical bound for [[xi].sub.j] and [[GAMMA].sub.j] represents a pseudo-random number from Gaussian probability distribution with zero mean and one standard deviation. Notably, for the situation that [[xi].sub.j] or [[omega].sub.j] is out of its bound, [DELTA][u.sub.j] or [DELTA][w.sub.j], its new value is needed to regenerate by:

[[xi]'.sub.j] [left arrow] + [Y.sub.j] * (u - u) (A-5a)

or

[[omega]'.sub.j] [left arrow] [[omega].sub.j] + [Y.sub.j] * [DELTA][[omega].sub.j] (A-5b)

where [Y.sub.j] is a uniform distributed random number ranging from 0 to 1.

Step 8. Use the decision variables from Step 7 to calculate the performance index J by integrating the dynamic equations.

Step 9. Determine whether a new J and its corresponding decision variables would be accepted as follows:

* If J is better than J', the performance index from the accepted decision variables, J' with the corresponding decision variables is accepted as the new solution. Make [C.sub.j] [left arrow] [C.sub.j] + 1,

* Once J is also better than the current optimum [J.sup.old], replace [J.sup.new] by J, and record the associated decision variables as new optimum ones. Check the stopping criterion:

|J.sup.new] - [J.sup.old|/|[J.sup.old]| < [epsilon] (A-6)

where [epsilon] is the specified tolerance factor. If Equation (A-6) is satisfied, stop the computation. Otherwise, make [J.sup.old] [left arrow] [J.sup.new] go to Step 10. Note that J' and [J.sup.old] both have very huge initial values.

* If J is inferior to the current J', calculate the probability P as follows:

P = exp[- J - J'/[T.sub.a] (A-7)

If P is greater or equal to an uniformly random number P [member of] [0, 1], then J and the corresponding decision variables are retained for the next step. Otherwise, they are rejected. Make [C.sub.j] [left arrow] [C.sub.j] + 1. Then, go to Step 10.

Step 10. Make j [left arrow] j + 1. If j [less than or equal to] [N.sub.P] , then go back to Step 7, or go to

Step 11. Notably, for j = [N.sub.P], the current [t.sub.f] should be modified by:

[t.sub.f] [left arrow] [t.sub.f] + [GAMMA] * [DELTA][[omega].sub.P+1]

Being out of the range of [[t.sub.f,max], [t.sub.f,min]], the new [t.sub.f] may be regenerated by:

[t.sub.f] [left arrow] [t.sub.f,min] + Y * [DELTA][[omega].sub.P+1] (A-9)

Step 11. k [left arrow] k + 1. If k [less than or equal to] [N.sub.S], then go to Step 6, or go to Step 12.

Step 12. Modify the bounds for the control inputs and time grids as follows:

Step 12a. Use Equations (A-2a) to (A-2c) to rebuild the new bound for each time grid.

Step 12b. Calculate j-th frequency indices [IF.sub.j] = [C.sub.j]/[N.sub.S], and recast the j-th new searching regions as:

* IFj > 0.6

[DELTA][u.sub.j] [left arrow] [DELTA][u.sub.j] x [1. + [F.sub.j] - 0.6/0.4] (A-10a)

[DELTA][[omega].sub.j] [left arrow] [DELTA][[omega].sub.j] x [1. + [F.sub.j] - 0.6/0.4] (A-10b]

* 0.4 [less than or equal to] [IF.sub.j] [less than or equal to] 0.6

[DELTA][u.sub.j] [left arrow] u - u (A-11a)

[DELTA][[omega].sub.j] [left arrow] [omega].sub.j] - [[omega].sub.j] (A-11b)

* [IF.sub.j] < 0.4

[DELTA][u.sub.j] [left arrow] [DELTA][u.sub.j]/1. + (0.4 - [F.sub.j])/0.4 (A-12a)

[DELTA][[omega].sub.j] [left arrow] [DELTA][[omega].sub.j]/1. + (0.4 - [F.sub.j]/0.4 (A-12b)

The values of 0.6 and 0.4 in Equations (A - 10a) to (A - 10b) and (A - 12a) to (A - 12b) are made possible to maintain the average percentage of accepted changes at about one-half of the total number of the cycles (Goffe et al., 1994; Li et al., 2000).

Step 13. l left arrow] 1, + 1 if l [less than or equal to] [N.sub.T], go to Step 4. Otherwise, go to

Step 14.

Step 14. Make [T.sub.a] [left arrow] [gamma][T.sub.a], where [gamma] is the temperature reduction factor with default value 0.9. If the above scheme has iterated 30 times, print out the current optimum [J.sup.new] and its corresponding control vector, then stop. Otherwise, Make J [left arrow] [J.sup.opt], [[xi].sub.j] [left arrow] [[xi].sub.j] [left arrow] [[xi].sup.opt.j] and ([[xi].sub.j], [[omega].sub.j]) [left arrow] ([[xi].sup.opt], [[omega].sup.opt.sub.j]), j = 1, ... , [N.sub.p]. Go back to Step 3.

ACKNOWLEDGEMENT

The authors would like to thank the anonymous reviewers for their constructive comments and suggestions.

Manuscript received May 21, 2006; revised manuscript received September 6, 2006; accepted for publication February 6, 2007.

REFERENCES

Aziz, N. and I. M. Mujtaba, "Optimal Operation Policies in Batch Reactors," Chem. Eng. J. 85, 313-325 (2002).

Bellman, R. E., "Dynamic Programming," Princeton University Press, Princeton, NJ, U.S.A. (1957).

Brenan, K. E., S. L. Campbell and L. R. Petzold, "Numerical Solution of Initial Value Problems in Differential-Algebraic Equations," North-Holland, NY, U.S.A. (1989).

Biegler, L. T., "Solution of Dynamic Optimization Problems by Successive Quadratic Programming and Orthogonal Collocation," Comput. Chem. Eng. 8, 243-248 (1984).

Burghardt, A. and J. Skrzypek, "Optimal Temperature Profiles in A Tubular Reactor for a System of Consecutive-Competing Reaction," Chem. Eng. Sci. 29, 1315-1331 (1974).

Carrasco, E. F. and J. R. Banga, "Dynamic Optimization of Batch Reactors Using Adaptive Stochastic Algorithms," Ind. Eng. Chem. Res. 36, 2252-2261 (1997).

Cuthrell, J. J. and L. T. Biegler, "On the Optimization of Differential-Algebraic Process Systems," AICHE J. 33, 1257-1270 (1987).

Dadebo, S. A. and K. B. McAuley, "Dynamic Optimization of Constrained Chemical Engineering Problems Using Dynamic Programming," Comput. Chem. Eng. 19, 513-525 (1995).

Garcia, V., M. Cabassud, M. V. Le Lann, L. Pibouleau and G. Casamatta, "Constrained Optimization for Fine Chemical Productions in Batch Reactors," Chem. Eng. J. 59, 339-241 (1995).

Goffe, W. L., G. D. Ferrier and J. Rogers, "Global Optimization of Statistic Functions with Simulated Annealing," Econometrics 60, 65-99 (1994).

Huang, Y. J., G. V. Reklaitis and V. Venkatasubramanian, "Model Decomposition Based Method for Solving General Dynamic Optimization Problems," Comput. Chem. Eng. 26, 863-873 (2002).

Hull, T. E., W. D. Enright and K. R. Jackson, "User Guide to DVERK - A Subroutine for Solving Nonstiff ODE's," Dept. of Computer Science, University of Toronto, ON, Canada 1000 (1976).

Kirkpatrick, S., C. D. Gelatt, Jr. and M. P. Vecchi, "Optimization by Simulated Annealing," Science 220, 671-680 (1983).

Li, P., K. Lowe, H. Arellano-Garcia and G. Wozny, "Integration of Simulated Annealing to a Simulation Tool for Dynamic Optimization of Chemical Processes," Chem. Eng. Process. 39, 357-363 (2000).

Luus, R. and D. E. Cormack, "Multiplicity of Solutions Resulting from the use of Variational Methods in Optimal Control Problems," Can. J. Chem. Eng. 50, 309-312 (1972).

Luus, R., "Optimal Control by Dynamic Programming Using Accessible Grids Points and Region Reduction," Hung. J. Ind. Chem. 17, 523-544 (1989).

Luus, R., "Optimal Control by Dynamic Programming Using Systematic Reduction in Grid Size," Int. J. Control 51, 995-1013 (1990).

Luus, R. and O. N. Okongwu, "Towards Practical Optimal Control of Batch Reactors," Chem. Eng. J. 75, 1-9 (1999).

Luus, R., "Iterative Dynamic Programming," Chapman & Hall/ CRC (2000).

Mekarapiruk, W. and R. Luus, "Optimal Control of Inequality State Constrained Systems," Ind. Eng. Chem. Res. 36, 1686-1694 (1997).

Petzold, L. R., "Differential/Algebraic Equations Are Not ODEs," SIAM J. Sci. Stat. Comput. 3, 367-384 (1982).

Pham, Q. T., "Dynamic Optimization of Chemical Engineering Processes by an Evolutionary Method," Comput. Chem. Eng. 22, 1089-1097 (1998).

Pontryagin, L. S., V. G. Boltyanskii, R. V. Gamkrelidze and E. F. Mishchnkov, "The Mathematical Theory Of Optimal Process," Inter-Science Publisher, Inc., NY, U.S.A. (1962).

Sun, D. Y. and C. L. Chen, "An Algorithm for Optimizing the Unsteady Chemical Processes by Simulated Annealing," J. Chem. Eng. Japan 37, 711-722 (2004).

Sun, D. Y. and P. M. Lin, "The Solution of Time Optimal Control Problems by Simulated Annealing," J. Chem. Eng. Japan 39, 753-766 (2006).

Vassiliadis, V. S., R. W. H. Sargent and C. C. Pantelides, "Solution of a Class of Multistage Dynamic Optimization Problems. 1. Problems without Path Constraints," Ind. Eng. Chem. Res. 33, 2111-2122 (1994a).

Vassiliadis, V. S., R. W. H. Sargent and C. C. Pantelides, "Solution of a Class of Multistage Dynamic Optimization Problems. 2. Problems with Path Constraints," Ind. Eng. Chem. Res. 33, 2123-2133 (1994b).

Vassiliadis, V. S., E. Balsa-Canto and J. R. Banga, "SecondOrder Sensitivities of General Dynamic Systems with Application to Optimal Control Problems," Chem. Eng. Sci. 54, 3851-3860 (1999).

Daim-Yuang Sun, (*) Pi-Min Lin and Shu-Ping Lin

Department of Chemical and Materials Engineering, National Chinyi Institute of Technology, Taiping City, Taichung County, 411 Taiwan R.O.C.

* Author to whom correspondence may be addressed. E-mail address: dysun@chinyi.ncit.edu.tw
Table 1. The performance indexes of the non-linear CSTR with
different control stages

Time stages J

5 0.133381
8 0.133129
10 0.133361
20 0.133133

Table 2. The maximum yield of P for the pure kinetic model where the
best known value of P is 0.8665

Control Time grids Associated control inputs
stages

1 (0, 6000) (317.3, 352.0)
2 (0, 3887, 6000) (302.9, 351.9, 352.0)
3 (0, 277, 3723, 6000) (339.3, 302.4, 351.7, 352.0)
4 (0, 304, 3685, 3842, 6000) (337.2, 302.0, 351.3, 352.0,
 352.0)
5 (0, 154, 1133, 3481, 3674, (351.7, 304.5, 309.7, 350.7,
 6000) 352.0, 352.0)

Control P (l [mole.sup.-1][s.sup.-1]) S (l [mole.sup.-1][s.sup.-1])
stages

1 0.8655 5.571 x [10.sup.-2]
2 0.8663 5.678 x [10.sup.-2]
3 0.8665 5.675 x [10.sup.-2]
4 0.8665 5.672 x [10.sup.-2]
5 0.8666 5.658 x [10.sup.-2]

Table 3. The distributions of reaction temperature and product
concentrations for the pure kinetic model in maximum yield
problem with 10 stages

t T A B P S

 0 352.0 1.0000 1.0000 0.0000 0.0000
 131 306.9 0.7354 0.7339 0.2631 0.0014
 874 308.6 0.3932 0.3829 0.5965 0.0102
1463 315.8 0.2816 0.2644 0.7011 0.0172
1647 318.0 0.2569 0.2374 0.7237 0.0194
2391 329.4 0.1840 0.1559 0.7878 0.0281
2702 334.9 0.1623 0.1307 0.8059 0.0317
3326 350.6 0.1279 0.0886 0.8329 0.0392
3630 352.0 0.1153 0.0726 0.8420 0.0426
4824 352.0 0.0883 0.0365 0.8599 0.0517
6000 352.0 0.0768 0.0203 0.8666 0.0565

Table 4. The optimization results for the pure kinetic model to achieve
the different specified yields of P in minimum operating time

P Control Time grids Associated inputs
(mole/l) stages

0.70 1 0, 628.0 * 351.2, 352.0
 3 0, 21.7, 544.7, 624.9 * 351.5, 351.8, 351.9,
 351.7
 5 0, 145.2, 162.0, 162.8, 351.9, 351.9, 351.7,
 592.8, 625.4 * 351.8, 351.8, 351.2

0.75 1 0, 861.8 * 349.1, 350.5
 3 0, 16.4, 386.2, 861.9 * 351.7, 352.0, 352.0,
 352.0
 5 0, 4.6, 23.9, 94.1, 184.1, 346.2, 351.6, 352.0,
 862.5 * 352.0, 352.0, 352.0

0.80 1 0, 1342.1 * 351.8, 351.8
 3 0, 1194.5, 1330.4, 1340.4 * 352.0, 351.9, 351.0,
 347.7
 5 0, 8.3, 68.4, 754.4, 770.0, 349.7, 351.8, 352.0,
 1339.8 * 351.8, 351.8, 352.0

0.85 1 0, 3190.4 * 351.9, 352.0
 3 0, 905.5, 930.9, 3189.0 * 348.0, 351.8, 351.9,
 351.9
 5 0, 629.6, 638.8, 763.0, 347.7, 349.6, 351.9,
 943.3, 3186.2 * 352.0, 352.0, 352.0

0.8666 3 0, 1972.9, 3454.7, 6053.9 * 309.0, 318.8, 351.8,
 351.9
 5 0, 705.3, 2676.3, 3397.7, 314.7, 304.3, 333.4,
 3457.5, 6034.7 * 350.2, 351.8, 352.0

P Control S
(mole/l) stages (mole/l)

0.70 1 0.0219
 3 0.0219
 5 0.0219

0.75 1 0.0282
 3 0.0286
 5 0.0285

0.80 1 0.0383
 3 0.0383
 5 0.0383

0.85 1 0.0565
 3 0.0560
 5 0.0560

0.8666 3 0.0566
 5 0.0564

Table 5. The optimization results for the rigorous reactor model to
acquire the maximum yield with different constraints

Constraint Control Time grids Associated inputs
type stages

C1 2 0, 1.71, 3.50 0.369. 0.027, 5.195
 3 0, 2.02, 2.29, 3.50 0, 0.009, 0.657, 0.096,
 7.634
 5 0, 1.50, 2.11, 2.45, 0, 0.515, 0.665, 0.372,
 2.60, 3.50 1.370, 8.869

C2 3 0, 1.73, 2.59, 3.50 0.080, 0.7316, 0.6377,
 8.5410
 5 0, 0.92, 1.42, 1.49, 0, 0.467, 0.649, 0.712,
 2.62, 3.50 0.653, 8.823

C3 2 0, 1.66, 3.50 0.5989, 0.0679, 4.5707
 3 0, 0.55, 2.88, 3.50 0.2958, 0.1087, 1.5862,
 8.2114
 5 0, 1.03, 1.34, 2.38, 0.1329, 0.4866, 0.6275,
 2.74, 3.50 0.6614, 1.6833, 8.1289

C4 3 0, 1.35, 2.33, 3.50 0.0218, 0.6856, 0.6085,
 5.9695
 5 0, 0.84, 1.62, 1.90, 0.0174, 0.2290, 1.4050,
 2.75, 3.50 0.0309, 2.1591, 5.9059

Constraint Control P (mole/l) S (mole/l)
type stages

C1 2 0.6457 0.1707
 3 0.6494 0.1700
 5 0.6500 0.1664

C2 3 0.6341 0.1093
 5 0.6350 0.1102

C3 2 0.6227 0.1000
 3 0.6276 0.1000
 5 0.6270 0.1000

C4 3 0.6270 0.1000
 5 0.6280 0.1000

Table 6. The yields of P and S for the rigorous reactor model
in maximum yeild problem with different operating constraints

 P S

Constraints SA SQP SA SQP T([t.sub.f])

C1 0.6534 0.6426 0.1674 0.1690 320.0
C2 0.6421 0.6401 0.1214 0.1161 320.0
C3 0.6274 0.6249 0.1000 0.1000 320.0
C4 0.6297 0.6253 0.1000 0.1000 320.0

Table 7. The minimum operating time [t.sub.f] * and the yields of S of
the rigorous reactor model with different operating constraints

 S [t.sub.f] *

Constraints SA SQP SA SQP

C1 0.1131 0.1071 2.404 2.46
C2 0.0854 0.0845 2.888 2.91
联系我们|关于我们|网站声明
国家哲学社会科学文献中心版权所有