Optimal distributed load allocation and resource utilisation in evaporation plants

This work aims to optimise the operation of an evaporation network with shared resources in real time. The goal is minimising the resource utilisation (live steam and cooling water) while satisfying a set of operational constrains. Hence, problems of optimal load allocation of feeds to plants and cooling-water distribution among them arise. The work bases on plants surrogate models, experimentally obtained, and analyses different formulation alternatives of the optimisation from the practical point of view: centralised vs distributed approaches. In particular for the distributed approach, we propose a problem decomposition which allows us to solve the problem in two iterative ways: 1) as two independent optimisations or 2) via price-coordination schemes.


Description of the case study
Manufacture of viscose fibers in Lenzing AG bases on a continuous spinning process where cellulose pulp transforms into very thin threads. This process performs in an acid bath ("spinbath" from now on) which is progressively degraded. Consequently, it must be continuously recovered. Therefore, a side evaporation process is performed in parallel to remove part of water. For this task, an evaporation network of 15 plants is available to serve in 5 different types of spinbath, where a single plant is formed by several equipment. See Pitarch et al. (2017b) for a deeper description.
Plants efficiency depends on several factors: the evaporation flow removed from the spinbath (plant load) EC, the spinbath temperature T and circulating flow F s , the fouling state in the heat exchangers and the performance of the cooling system (see Figure 1a). In particular, the more cooling water (shared resource) is provided to the surface condenser, the less live steam consumption (utility) is needed to achieve the evaporation setpoint.
Denote the specific steam consumption (SSC) by the live steam usage per unit of evaporated water (Pitarch et al., 2017a). Then, the absolute steam consumption (ASC) in each plant is computed by ASC = SSC · EC. Plant surrogate models were developed to estimate the SSC in Kalliski et al. (2019), which, after straightforward manipulations, is found to depend on EC and on the cooling capacity of the surface condenser C pow , as shown in (1). The cooling system performance is also modelled experimentally: the outlet cooling-water temperature of the condensers T out is estimated by a polynomial function up to degree 3 on the cooling-water flow F w and affine in its inlet temperature T in , as proposed in (Marcos et al., 2018): Here, θ = {β 0 , β 1 , β 2 , α 0 , α 1 , α 2 , α 3 } are experimental regression parameters.
According to the physical layout of the evaporation network, the plants can be grouped in two subnets, each one directly supplied by an independent water source. The water distribution among plants is done in parallel and, additionally, the exceeding water in Subnet 1 (F c ) can go to Subnet 2 but not backwards (see Figure 1b). Further details on the evaporation network can be found in Palacín et al. (2018); Marcos et al. (2018).

Problem formulation
The objective is to allocate feeds to plants and distribute the cooling-water in the network at minimum cost. This cost is a trade-off between the usage of resources: live steam and cooling water, times their respective "prices" (P s and P w ). Three sets of decision variables are defined: X e,p ∈ {0, 1} to link product p to plant e, EC e,p ∈ R defining the evaporation flow of p to be achieved in plant e, and F w e ∈ R defining the water sent to plant e. Further, an additional variable F c ∈ R indicates the flow of water sent from Subnet 1 (SN1) to Subnet 2 (SN2). Hence, for a given set of e ∈ E evaporation plants that have to process p ∈ P spinbaths, the centralised formulation of the optimisation problem is: s. t.:

Optimal distributed load allocation and resource utilisation in
Where the sets E SN1 and E SN2 (E = E SN1 ∪ E SN2 ) include the plants belonging to SN1 and SN2 respectively, the set N represents connections between some plants and spinbaths that are forbidden due to the factory layout, and M is a big enough number.
The problem constraints are: (3b) each plant can only serve in one spinbath loop at a time; (3c) total evaporation demands per spinbath (SP p ) have to be fulfilled; (3d) total water consumption in each subnet has to be lower than the available at the sources (F s ), considering that exceeding water can go from SN1 to SN2 but not backwards; (3e)-(3f) evaporation and water flows are bounded and; (3g) outlet water temperatures have to be lower than a limit (T max ), stated by the environmental regulation.
The presence of discrete and continuous variables as well as the nonlinear dependency of (3a) and (2) on them, makes (3) become an MINLP problem.

Problem decomposition
In order to avoid the issues that commonly arise with MINLP (slow convergence, high computational demands, etc.), we propose a suitable decomposition of (3) in two local optimisation subproblems, according to the physical layout of the evaporation network. In fact, the overall equipment can be grouped in two sets or networks: 1) the spinbath allocation one, composed by the evaporation plants and the spinbath loops themselves, and 2) the water distribution from the sources to the respective plant surface condensers. Hence, a first local problem can handle the plants load allocation whereas a second one optimises the water distribution. By this decomposition, only the magnitudes EC and C pow are shared between problems 1) and 2).
In this way, (4) is a mixed integer quadratic programming (MIQP) problem, provided that C pow in (1) is assumed known.

evaporation plants
Thus, assuming that the load allocation (EC e,p ) is known, (5) is an non linear programming (NLP) problem. Now, we can solve the original problem in two iterative ways: sequentially as two fully independent optimisations, or in a price-coordination fashion. See next section.

Sequential approach
Take C pow e as known (computed by (1)-(2) and from given flows F w e ) and solve (4). Then, from the obtained solution, take the values of EC e,p and solve (5), getting a new set of values F w e to compute the C pow e and so on. The procedure is formalised in: Algorithm 1 Sequential optimisation 1: Compute the C pow e from current (measured) F w e , T out e , T in and set ε = 1 2: while ε > 0.001 do

Distributed approach
In a distributed fashion, we need to decouple problems (4) and (5) to allow a "true" parallel implementation. Thus, we make use of the well-known Lagrangean or price-driven decomposition approaches (Cheng et al., 2007).
Indeed, now C pow e will be also local decision variables in (4) and EC e will be so in (5) as well 1 . Then, we have to add a coordination layer to progressively force both sets of magnitudes to be equal in both local optimisations (shared constraints). As usual in Lagrangean decomposition, these constraints will be added as a penalty in the respective objective functions: Where p i je ∈ R + are the shadow prices for "resource" utilisation and R * := {C * pow e , EC * e } are the reference values, computed somehow from the local solutions of both optimisations in in the previous iteration. In this way, both problems will be managed by a coordinator which, in each iteration k, will receive the values got for the shared variables R e := {C pow e , EC e }, and it will update the prices as well as the reference values for the next iteration k + 1 according to the following rules: pow e = C [k] pow e (2); Where notation R [k] e (i) denotes the values of variables R e , solution of subproblem i at iteration k. Progressive hedging (Rockafellar and Wets, 1991) is used in (9) to update the factor μ in each iteration, via the user-defined parameter λ . The procedure to solve the distributed optimisation is summarized below. Update prices p i je and references R * with (8)- (10) Of course, due to the non-convex nature of the problem, global optimality is not guaranteed in either of the implementations, centralised or distributed.

Results and discussion
For the sake of comparison/analysis, we have solved the problem from a particular network situation following the three presented ways. Table 1 shows a brief summary. We can conclude that the three approaches are able to reach nearly the same (local) optimal solution 2 . However, as expected, the centralised problem elapses more time to reach the solution. This is not a major issue in this application (the execution period for realtime optimisation is about 30 min.) but, it will be so if the problem grows by considering fouling predictions over time or by including more parts of the factory (the water network is larger and also serves to other processes, and there is a heat-recovery network which also interacts with the evaporation one).

Conclusions
In this work we addressed a medium-scale real-time optimisation problem (∼200 variables, it depends on the approach) on resource efficiency in an industrial evaporation network with shared resources. The proposed approaches will support the operators to take better decisions in real time, thus, improving the operation of the overall network: product-plant allocation and water distribution to the cooling systems.
The plant models are incorporated in three different optimisation schemes, analysing the convenience of the decomposition approaches vs the centralised one. In this case study, the three approaches solve the problem in acceptable CPU time for real-time purposes, although the iterative sequential approach has arisen as the most efficient one. The key is the proposed decomposition for the original centralised problem, which allows us to formulate two effortless independent problems (MIQP and NLP), solved efficiently by modern optimisation algorithms.
Apparently, the price-coordination approach does not have any advantage here: the optimal cost is slightly higher than the one reached by the centralised and it elapses double time than the sequential. This is because the centralised problem is not so large-scale, many constraints are affine in the decision variables, and the advantages of parallel computation cannot be exploited with just two local optimisation subproblems. Nevertheless, this approach will clearly beat the other two if the problem is extended to consider uncertainty in an explicitly way via, for instance, two-stage stochastic optimisation.