D1

ReD2 < < ReD2 where profit P is a suitable overall profit function, for example: CD1 D; + CD2 P2 + CB3 B3 + CR1 Rj - CB0 Bq

All the decision variables are subject to constant lower and upper bounds. Co;, CD2, Cb3 and CRi are the prices of the main-cuts, bottom and off-cut 1 product ($/kmol). CB0 is the cost ($/kmol) of the fresh feed mixture and C/c is a fixed operating cost ($/hr). The production times for task 1, task 2 and task 3 (r;, t2 and t3, respectively) and the amounts of the product states (eg. Du Rf, D2, etc.) are again functions of the main decision variables, and their values are given by the following optimisation problems solved in sequence.

Inner Loop - Task 1 Optimisation:

i) calculate D; from Equation 6.2.

Inner Loop - Task 2 Optimisation:

i) calculate R/ from Equation 6.4

ii) solve problem P2-2 (the same as Pl-2)

Inner Loop - Task 3 Optimisation:

Given an intermediate residual (B2, xB2) (left after the second inner loop problem) and for the current value of the outer loop decision variables and specifications:

i) calculate D2 from Equation 6.5.

ii) determine the optimal reflux profile r^t) in task 3 which yields main-

Problem P2-3 is formally similar to P2-1 and P2-2. These are all solved using the same solution procedure. Any of the outer loop variables which have known or fixed values may be dropped from the outer loop optimisation.

Note that while recoveries and product purity specifications for the key components are selected as independent decision variables in the outer loop, these should not be assigned arbitrary values. It is possible that certain purities may not be achievable with the current column configuration (this can be checked against the minimum number of plates, Nmin required for the given separation, Chapter 3), or due to the presence of azeotropes, etc. At the very least, the specifications must be consistent with the amounts of the various species present in the initial charge and in the feed state to each separation task (i.e. the overall mass balance must be satisfied). Thus care must be taken in selecting the outer loop specifications and bounds.

6.3. Solution Method - Mujtaba and Macchietto

6.3.1. Column Initialisation

The column initialisation is only required for the first inner loop optimisation problem (described in section 6.2). The liquid composition on the plates, condenser holdup tank and in the distillate accumulator (differential variables) at time t = 0 are set equal to the fresh charge composition (.xB0) to the reboiler. The DAE model equations are solved at time t = 0 to provide a consistent initialisation of all the remaining variables. The final values of all these variables at the end of the distillation task in each inner loop problem are stored and used for column initialisation for the subsequent inner loop optimisation problems. At the beginning of each task, the distillate accumulator holdup is set/reset to zero.

6.3.2. Inner Loop Optimisation Problems

Mujtaba and Macchietto (1993) used the solution method described by Mujtaba (1989) and Mujtaba and Macchietto (1991, 1998), based on the work by Morison (1984) to solve each inner loop optimisation problem presented in the previous section. The dynamic optimisation problem is posed as a nonlinear programming problem with the reflux ratio profile approximated by a finite dimensional representation (described in Chapter 5). The time interval of interest, say [t0, tF\ is divided into a finite number Ns of subintervals, each with a set of basis functions involving a finite number of parameters. Here, a piecewise constant representation of the reflux profile is used. Therefore, for Ns intervals, we have Ns constant reflux ratio levels and Ns reflux switching times, totalling 2NS parameters to be optimised in each inner loop problem. Each function evaluation of the OPTIMISER (Figure 5.2) requires a full integration of the DAE system and this is achieved by using a Backward Differentiation Formula (BDF) method for integration, with special features to handle discontinuities. Solution of the inner loop optimisation problem requires calculating the gradients of the objective function and constraints with respect to all the optimisation variables. These gradients are evaluated in an efficient way using adjoint variables. Full details of the techniques are given in the original reference (Morison, 1894), in Mujtaba (1989) and in Chapter 5. The constrained nonlinear optimisation problem is solved using an efficient and robust Successive Quadratic Programming (SQP) technique (Chen, 1988).

6.3.3. Outer Loop Optimisation Problem

A complete solution of the sequence of inner loop problem is required for each function evaluation of the outer loop problem. The gradients of the objective function with respect to the decision variables are obtained by a finite difference technique but in an efficient way, i.e. by utilising the solution of each inner loop problem from the function evaluation stage. This is explained more clearly with reference to the STN shown in Figure 6.2. There are four decision variables ( Re ^ , 11 2

Re^j, Xfti, Re D2 ) to consider in the outer optimisation problem. At the function evaluation stage the solution (reflux profiles, column profile, duration of task) of each inner loop is stored as A, B, and C, respectively, as shown in Figure 6.3a.

For the gradient with respect to Re^i, the variable is perturbed and the inner loop problems are solved as shown in Figure 6.3b. The new solutions Al, Bl, and CI are used to calculate the gradient of the objective function with respect to Re^.

Re'/jj is then perturbed and only the inner loop problems P2-2 and P2-3 are solved (Figure 6.3c). The new solutions B2, C2 and A, the base case solutions to problem P2-1 are used to calculate the gradient of the objective function with respect to the variable Re^. Note, calculations of the gradients with respect to -j ■j variables and ReD2 only require solutions of problems P2-2 and P2-3 (Figure

The above-mentioned strategy requires the solution of just 8 inner loop problems for calculating the gradients with respect to the 4 decision variables. Note, additional efficiency can be achieved by using the corresponding optimal reflux ratio profiles from the previous pass as the initial estimate of the optimisation variables for each inner loop problem. This will significantly reduce the number of iterations required for each inner loop problem, and in particular for gradient evaluation.

The constraints in the outer loop optimisation problem are simple bounds on the decision variables and their gradients can be easily calculated. Mujtaba and Macchietto solved the outer loop optimisation problem using the efficient SQP technique due to Chen (1988). Mujtaba and Macchietto (1993) used 1.0E-3 and 1.0E-2 as the tolerances for the inner and outer loop optimisations respectively. These were quite tight considering the fact that all the optimisation variables and constraints were scaled within the range 0-10.

Figure 6.3a. Function evaluation. [Mujtaba and Macchietto, 1993]b

Perturb Re'D1

Figure 6.3b. Gradient with respect to Re^j. [Mujtaba and Macchietto, 1993]b

perturb Re^j

Figure 6.3c. Gradient with respect to Re^. [Mujtaba and Macchietto, 1993]°

perturb

Figure 6.3d. Gradient with respect to x{m . [Mujtaba and Macchietto, 1993]°

Figure 6.3d. Gradient with respect to x{m . [Mujtaba and Macchietto, 1993]°

Was this article helpful?

0 0

Post a comment