High-Performance Computing For The Optimization of High-Pressure Thermal Treatments in Food Industry

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

J Supercomput

https://doi.org/10.1007/s11227-018-2351-4

High-performance computing for the optimization of


high-pressure thermal treatments in food industry

M. R. Ferrández1 · S. Puertas-Martín1 ·
J. L. Redondo1 · B. Ivorra2 · A. M. Ramos2 ·
P. M. Ortigosa1

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Abstract In food industry, the combined treatments based on high-pressure and tem-
perature (HPT) are frequently used to increase the durability of the products without
damaging their organoleptic and nutritional properties. However, achieving a reason-
able compromise between conservation and quality is usually a challenging task. In a
previous work, we proposed a decision tool which solves a multi-objective optimiza-
tion problem providing a set of pressure and temperature configurations for the HPT
equipment in order to adapt the final product to different quality scenarios. The con-
sidered optimizer is a population-based evolutionary algorithm that takes the decision
maker preferences into account. Nevertheless, when the number of solutions demanded
by the decision maker is very large or a high precision is required, the computational
time needed by such an algorithm may not be negligible at all. In this work, a parallel

B M. R. Ferrández
mrferrandez@ual.es
S. Puertas-Martín
savinspm@ual.es
J. L. Redondo
jlredondo@ual.es
B. Ivorra
ivorra@mat.ucm.es
A. M. Ramos
angel@mat.ucm.es
P. M. Ortigosa
ortigosa@ual.es

1 Dept. de Informática, Universidad de Almería, ceiA3, Ctra. Sacramento, La Cañada de San


Urbano, 04120 Almería, Spain
2 Instituto de Matemática Interdisciplinar (IMI) & Dept. de Matemática Aplicada, Universidad
Complutense de Madrid, Plaza de las Ciencias, 3, 28040 Madrid, Spain

123
M. R. Ferrández et al.

version of the optimizer has been designed. This parallel algorithm allows obtaining a
greater number of solutions by working with more individuals in the population due to
the significant reduction in the total execution time (up to 95.6%). Additionally, using
it, we can consider more iterations in the optimization process that lead us to better
distributed and more accurate solutions. The computational experiments show that the
performance of the proposed method is scalable and its speedup is almost linear.

Keywords High-performance computing · Multi-objective optimization · Genetic


algorithms · High-pressure · Food industry

1 Introduction

In the last decades, consumers are more aware about their diet and they tend to choose
healthier food that does not contain additives and with preserved organoleptic (e.g.,
taste, texture) and nutritional properties. In this context, high-pressure (HP) processing
is one of the most popular food treatments devoted to increasing the shelf-life of this
kind of products without damaging their good properties and avoiding the use of
additives [12,19].
In HP technology, the packed food is introduced into a vessel that is surrounded
by a pressurizing fluid. The pressure of this fluid is increased, and hence, the pressure
of the food also grows, producing some changes in its inner temperature. As a result,
the activities of some microorganisms present in the food are reduced, due to these
pressure and temperature growing. The food engineers must guarantee that, after the
treatment, the levels of these microorganisms are within the limits imposed by the
food legislation. Indeed, in the case of the HP and temperature (HPT) processing, they
have to determine the fluid pressure and control temperatures applied to the food by
the equipment in order for the final product to satisfy these quality levels. Nowadays,
this task of designing the treatment is mostly performed through trial and error which
leads to many unsuccessful tests and, consequently, a waste of time and money. Since
the food legislation depends on the country, for a company which wants to sell its
product in different countries, the waste of time and raw material is multiplied by
the number of different quality requirements that they have to attend. Then, to assist
the food engineers in the configuration of the HP equipment, we proposed in [8] a
decision tool based on solving multi-objective optimization problems. The considered
objective functions are as follows: (i) the maximum temperature reached in the food
during the whole treatment for its minimization; (ii) the final enzymatic activity for
its minimization; and (iii) the final vitamin activity for its maximization. Notice that
they are confronted objectives: the larger the temperatures are, the more the enzymatic
activity is reduced, but also the more the vitamin activity is decreased. Optimizing all
of those objective functions simultaneously consists in obtaining a set of good trade-
off points in the search space. This set of compromise individuals is known as Pareto
optimal set, and its corresponding set of objective vectors is called the Pareto optimal
front [21].
For computing the Pareto optimal set, two types of algorithms can be distinguished.
On the one hand, the exact general algorithms (such as the interval branch and bound

123
High-performance computing for the optimization of...

methods [7]) can be applied only to solve small problems due to their high cost in time
and memory. On the other hand, the meta-heuristic methods provide an approximation
of the set of solutions and they are more suitable for complex problems involving
many variables and objectives. Among the meta-heuristic methods available in the
literature, there are some classical evolutionary multi-objective (EMO) algorithms:
SPEA2 [26], NSGA-II [4], MOEA/D [14,25] and SMS-EMOA [2]. They start from an
initial population randomly generated which evolves toward the final set of solutions.
In the last decades, methods introducing some preferences of the decision maker
(DM) into EMO algorithms have been proposed: the so-called preference-based multi-
objective evolutionary algorithms (PMOEAs). Some examples are: WASF-GA [22],
and variations of NSGA-II algorithm like R-NSGA-II [5] and its modified versions
[9,10].
In this work, we have chosen to use WASF-GA among other evolutionary algorithms
because it provides well-distributed results for optimizing problems with more than
two objectives [22]. Additionally, it allows focusing the search into a region of interest
(ROI) near a reference point (RP) fixed by the decision maker (DM), avoiding the
consideration of unbalanced points that are not interesting for our industrial problem.
Notice that the DM is the person who wants to solve the problem and decides which
Pareto optimal solution better satisfies his/her preferences. In our case, the DM is the
food engineer.
As shown in a previous work [8], the approximated Pareto optimal set obtained with
WASF-GA provides the food engineers a set of points which are adequate for solving
different quality requirement situations. Thus, when they have to deal with the food
quality levels of a specific country, they can find among these configurations the one
which produces a final processed product within these levels. One of the advantages of
our methodology is that it is not needed to execute a new optimization procedure when
the quality thresholds change, for instance, because they are considering a different
country. In this case, they only have to do another search among the set of points
provided by WASF-GA for finding the new HPT configuration. However, to support
this decision tool, the approximated Pareto optimal set must have enough individuals in
order to evenly cover the entire ROI. Thus, WASF-GA should handle large population
sizes carrying out large computational costs. Since the individuals in the population
must be evaluated through the objective functions, considering a huge number of
individuals can be unaffordable for problems of real-life origin, for which the objective
functions are complex and their evaluations are quite expensive in time. For instance, in
our industrial problem, evaluating the objective function requires solving numerically
a partial differential equations system (that models the heat transfer) coupled with
an ordinary differential equation for each enzyme or vitamin involved (describing
the evolution of their activities). The number of function evaluations in WASF-GA
depends on two input parameters: (i) the number of individuals in the population
and (ii) the number of generations of the optimization procedure. Decreasing their
values, trying to reduce the computational cost, can have negative consequences on
the performance of the optimization algorithm. In this work, we aim to parallelize the
studied optimizer WASF-GA to accelerate its execution and, hence, to take benefit
from modern high-performance computers. The parallel approach of WASF-GA is
devised to be executed in a multiprocessor with several cores, and hence, shared-

123
M. R. Ferrández et al.

memory programming is considered. In this parallel strategy, no messages are required


to communicate processors, though a mechanism to coherently share the memory data
is necessary. For the implementation of the problem at hand, Java threads have been
selected. Concerning the parallel model, it can be considered a pseudo-master–slave
technique, where the evaluation of the objective function in the population is carried
out by all the processing units without the existence of a master processor. In this
way, there does not exist a master processor which globally controls the algorithm
and manages the population. It can be done in parallel by all the processing units.
Nevertheless, it is still necessary that a single processor, the master, be in charge of
applying the selection procedure and updating the population that will be accessible to
all processors in the next generation. To analyze the parallel method, a computational
study has been carried out, mainly by varying those two parameters, which influence
the number of function evaluations, as well as the number of available processing
elements.
This work is organized as follows: In Sect. 2, the industrial problem is formulated
in terms of a multi-objective optimization problem in which the numerical simulation
of an HPT treatment is involved. Next, in Sect. 3, a parallel methodology for solving
it based on the evolutionary algorithm WASF-GA is described. Then, in Sect. 4, the
considered numerical experiments are detailed and their main results are analyzed.
Finally, in Sect. 5, the conclusions are highlighted.

2 Industrial problem

When a food treatment is applied in the food industry, the main objective is that
the final product satisfies the high-quality requirements established by the country
legislation. Thus, the processing device, in our case the HPT equipment, must be
correctly configured such that the treatment effects on the food properties would be
the suitable ones.
In this industrial context, our goal is to provide a decision tool that allows to
determine the optimal configuration of an HPT equipment in terms of pressure and
temperature according to the final level of enzymatic and vitamin activities and max-
imum temperature during the process.
Therefore, the problem concerning us is expressed as follows:


⎪ min f bsaa (T0 , Tr , ΔP1 , . . . , ΔPn ),


⎨ max f vit (T0 , Tr , ΔP1 , . . . , ΔPn ),
min f Tmax (T0 , Tr , ΔP1 , . . . , ΔPn ), (1)



⎪ s.t. T0 , Tr ∈ [10, 50](◦ C),

ΔP1 , . . . , ΔPn ∈ [−250, 250](MPa),

where the objective functions f bsaa and f vit are the enzymatic and the vitamin activities
at the final time tf of the treatment process, respectively, and f Tmax is the maximum
temperature reached in the food sample during the HPT process.
Regarding the decision variables of the problem, we have described the configu-
ration of the HPT equipment by means of its initial and refrigeration temperatures,

123
High-performance computing for the optimization of...

denoted by T0 and Tr , respectively, and the pressure applied at each instant of the
processing time, P(t). This pressure profile is discretized considering a finite num-
ber of time steps. The pressure at the initial time is set to the atmospheric pressure,
P0 = 0.1 MPa, and the pressure at the next times Pi , i = 1, . . . , n, is the result of
adding the value of ΔPi to the pressure Pi−1 . The refrigeration temperature Tr serves
for quenching the vessel and prevent undesired high temperatures.
Given a vector formed by these decision variables, the objective functions for the
enzyme and the vitamin are computed as the average of the final activity in the food
sample domain ΩF :

1
f j (T0 , Tr , P) = A j (r, z, tf )dr dz,
|ΩF | ΩF

where A j (r, z, t) is the activity of a particle located at a point (r, z) ∈ ΩF (see Fig. 1)
at time t. Notice that tf denotes the final time of the treatment. The subindex j is used
to distinguish between the enzyme, j = bsaa, and the vitamin, j = vit, activities.
As explained in [13], the activity A j (r, z, t) is calculated as:
  t 
A j (r, z, t) = A j (r, z, 0) exp − κ j (P(σ ), T (r, z, σ ))dσ , (2)
0

where κ j (P, T ) is the inactivation rate (s−1 ) modeled by a combination of Arrhenius


and Eyring equations (see, e.g., [6]) in order to take into account their pressure P and
temperature T dependencies:
  
1 1
κ j (P, T ) = κref exp −B − exp (−C(P − Pref )) .
T Tref

Therefore, we need to simulate the whole HPT process coupling the activity equa-
tions given in (2) with the following heat transfer system:
⎧    
⎪ ∂T 1 ∂ ∂T ∂ ∂T dP

⎪ ρC − r k − k =α T in Ω × (0, tf ),


p
∂t r ∂r ∂r ∂z ∂z dt



⎪ ∂T
⎨k =0 on Γ \(Γr ∪ Γup ) × (0, tf ),
∂n

⎪ ∂T

⎪ k = h(Tamb − T ) on Γup × (0, tf ),

⎪ ∂n

⎪ T = Tr on Γr × (0, tf ),


T (0) = T0 in Ω.
(3)
A full description of this model and the signification of each parameter can be
found in [8]. This heat transfer system receives (i) the initial temperature T0 in the
whole domain, (ii) the refrigeration temperature Tr to be applied at the boundary Γr in
order to refrigerate the vessel and prevent extremely high temperatures, and (iii) the
pressure P applied to the equipment at certain time steps defined by the parameters
ΔP1 , . . . , ΔPn described previously. Then, it allows to compute the evolution of the

123
M. R. Ferrández et al.

Fig. 1 Computational domain


Ω = ΩF ∪ ΩC ∪ ΩP ∪ ΩS

temperature T in the whole domain Ω (see Fig. 1). This domain includes the food
sample holder ΩF , the cap of this holder ΩC , the pressurizing fluid domain ΩP and
the steel surrounding the whole device ΩS . Notice that this heat system is completed
with the boundary condition meaning heat convection with the room on the upper
wall denoted by Γup , the refrigeration boundary condition on Γr and the zero heat flux
condition on the remaining frontiers which are the isolated walls and the symmetry
axis [13].
The temperature evolution is also needed by the third objective function, which
corresponds to the maximum temperature reached in the food sample domain during
the whole HPT process:

f Tmax (T0 , Tr , P) = max T (r, z, t).


(r,z)∈ΩF , t∈[t0 ,tf ]

3 The parallelization of the optimization algorithm: ParWASF-GA

The sequential optimization algorithm initially used to solve the problem defined by (1)
is the weighting achievement scalarizing function genetic algorithm (WASF-GA) [22].
Primarily, WASF-GA is based on a genetic algorithm (GA) that applies procedures
inspired by the Darwinian natural evolution on a pool of candidate solutions, called
population. It works by iteratively modifying the population through the application
of genetic operators such as crossover and mutation. Its distinctive feature comes from
the selection procedure. Basically, it consists in a mechanism to promote the survival
of individuals which are located in the region of interest (ROI).
For selecting the individuals that will be maintained in the population at next iter-
ation, WASF-GA considers an achievement scalarizing function (ASF), known as
Wierzbicki’s ASF [22]. The main steps of this WASF-GA selection procedure are
enumerated below. Notice that m is the number of objectives of the optimization prob-
lem, Nμ is the considered number of weight vectors, and N is an input parameter
provided by the DM representing the number of solutions in the ROI.

123
High-performance computing for the optimization of...

1. As long as there are any individuals in the population without classifying in any
front, then create a new front and fill it as follows:
j j j
(a) For each weight vector, μ j = (μ1 , . . . , μm ), where μi > 0 and i = 1, . . . , m,
with j = 1, . . . , Nμ :
i. Calculate the ASF for the individuals which are not classified yet.
ii. Select the one having the lowest ASF value.
iii. Copy it to the current front and delete it from the temporal list of non-
classified individuals.
2. At this point, all the individuals have been classified into the different fronts. Now,
for filling the new population, if the first front fits into it, i.e., if it has less than
N individuals, then include all its individuals into the new population. Do the
same for the following fronts, while their size added to the current size of the new
population does not overcome N.
3. If the last front intended to be included into the new population does not fit, choose
among its individuals those with lower ASF values for including them into the new
population until it has exactly N individuals.
For the problem at hand, N = Nμ . Hence, the new population coincides with the first
front. More details about this method and other procedures of WASF-GA can be found
in [22].

Algorithm 1: Pseudo-code of the ParWASF-GA optimizer


Input: f,q, {μ1 , . . . , μ Nμ }, N , h max
Output: IndividualSet population
1 IndividualSet population[2 ∗ N ]; /* Shared among threads */
2 ThreadPool thr eads = cr eateT hr eads(); /* Create a set of threads */
3 thr eads.r un I n Parallel(); /* Thread-local below: */
4 Load range = get PieceW or k(); /* Obtain the work zone for each thread */
5 population = Cr eateI nitial Population(range. pop)
6 < barrier > ; /* To prevent accesses to the population before it is
ready */
7 for h = 1 to h max do
8 IndividualSet par ents = Select Par ents( population, range. pair s);
9 IndividualSet o f f spring = Cr ossover ( par ents);
10 IndividualSet o f f spring Mut = Mutation(o f f spring);
11 population = I nclude( population, o f f spring Mut, range.write);
12 population < single − barrier >= Selection( population);
13 end
14 return population[1 − N ]

Our parallel version of WASF-GA, called ParWASF-GA throughout this paper, has
been designed to be executed in a shared-memory environment using Java threads.
A brief scheme of ParWASF-GA is shown in Algorithm 1. First, the procedures
cr eateT hr eads, r un I n Parallel and get PieceW or k (lines 2–4) create a set of
threads to work on different ranges of the population list. Then, since the evalua-
tion of each individual in the population is independent from the remaining ones and
is computationally intensive, an intrinsic parallelism is accomplished by distributing
the evaluation of individuals among threads when the procedures as initialization (line

123
M. R. Ferrández et al.

5), crossover (line 9) and mutation (line 10) are executed. Notice that the parallel
workflow includes two barriers. The first one (lines 6) guarantees that the initial pop-
ulation is fully completed before any thread can access to it. The second one (line
12) ensures that the whole offspring is included in the population before to proceed
with the execution of the selection mechanism, which is carried out by a single thread.
This selection procedure (line 12) has not been parallelized to be consistent with the
sequential version, i.e., it is necessary to know the whole set of individuals to be able
to classify them into fronts on similar way as done by the sequential version. Addi-
tionally, its computational cost is negligible, and then its parallelization in terms of
efficiency may be counterproductive. In fact, analyzing the computational times, this
procedure of selection applied to a population with 200 individuals is more than 1200
times faster in average than a single function evaluation.
As its sequential counterpart, ParWASF-GA requires five input parameters (see
Algorithm 1): (i) the objective function f that is a vector whose components are the m
objective functions f i , with i = 1, . . . , m; (ii) the reference point q = (q1 , . . . , qm ),
which determines the region of interest (ROI) for the decision maker and is formed by
a preference value qi for each one of these m objective functions; (iii) the sample of Nμ
weight vectors {μ1 , . . . , μ Nμ }, each of them having as many components as the number
j j j
m of objective functions, i.e., μ j = (μ1 , . . . , μm ) and μi > 0 for j = 1, . . . , Nμ
and i = 1, . . . , m; (iv) the number h max of generations, and (v) the number N of
individuals in the population. Notice that the total number of function evaluations
consumed is equal to N · h max . Finally, it returns the N individuals belonging to the
evolved population as output.

4 Computational experiments and results

The numerical experiments were performed on one single cluster node with shared
memory. This node has 8 Intel Xeon E7 8860v3 3.2 GHz processors with 16 cores
each one and 2.3 TB of RAM. Despite the available computational resources, the
computational analysis has been performed with up to 32 cores. The reason is that,
considering more cores, some memory problems appear due to the fact that the cluster
node is not able to manage such a quantity of HPT simulations (based on Eq. 2 and
System 3) being solved at the same time. Notice that the optimization algorithms are
heuristics and, hence, each particular instance has been solved 5 times to compute
average values.

4.1 Considered experiments

In this section, we describe the industrial problem considered during this work. The
HPT equipment consists of a cylindrical vessel similar to the pilot unit (ACB GEC
Alsthom, Nantes, France), whose detailed description, dimensions and thermophysical
properties can be found at [13,17]. Moreover, the pressurizing fluid used during the
simulated HPT treatment was liquid water and the considered solid food sample was
tylose [15], which is a methyl cellulose gel similar to meat. Their thermophysical

123
High-performance computing for the optimization of...

properties were described depending on pressure and temperature by means of the


shifting approach explained at [16].
Focusing on the microorganisms whose activity is studied, we consider the enzyme
called Bacillus subtilis α-amylase (BSAA) and the vitamin C. The former, BSAA, is
produced by a bacterium that is present in the ground. We are interested in decreasing
its activity because it contaminates food and it can even modify some organoleptic
properties. On the other hand, the vitamin C, which is contained in some fruits, is well
known for its antioxidant properties, so we want to preserve it. The parameters needed
for modeling their inactivation rates can be consulted in [6] and [23], respectively.
Finally, a processing time of tf = 900 s was set and eight parameters ΔP1 , . . . , ΔP8 ,
each one between − 250 and 250 MPa, are considered in order to determine the
pressure variations applied to the equipment during this time.
The numerical simulations of the HPT processes are computed using the commer-
cial software COMSOL Multiphysics 5.3 [3]. COMSOL solves numerically that kind
of partial differential equation systems employing the finite element method (FEM),
which is mainly based on the approximation of the unknown fields at each point of
the spatial mesh covering the whole computational domain by polynomials of a deter-
mined degree [18]. More precisely, in the current work, P2 Lagrange finite elements
and quadratic discontinuous Lagrange shape functions have been considered for the
temperature in System (3) and for the enzyme and vitamin activities in Equations (2),
respectively. On the other hand, the time integration is performed using the BDF
method available in this software. For solving the nonlinear systems, a damped New-
ton method is employed and the algebraic linear systems are solved using MUMPS,
which is the acronym for MUltifrontal Massively Parallel sparse direct Solver.
The reference point used here for expressing the food engineer preferences is
(0.0, 0.0, 30.0), because it corresponds to an ideal treatment that achieves the total
elimination of the enzymatic activity, the complete conservation of the vitamin activity
and a maximum temperature reached during the whole process of 30 ◦ C [8].
The performance of the heuristic optimization methods, as the ones considered in
this work, highly depends on the selected input parameters (see Sect. 3). For our indus-
trial problem, where the evaluation of the objective function is very time-demanding
(around 47 s using the computational infrastructure detailed above), adjustment of the
input parameters might be oriented to achieve a trade-off between runtime and quality
instead of granting optimality. The computational effort of WASF-GA mainly depends
on the number of generations (h max ) and the number of individuals in the population
(N ). Notice that the total number of function evaluations is equal to h max · N . The
remaining input parameters have an influence in the effectiveness of the optimization
method, but they do not affect both the effectiveness and efficiency simultaneously.
Then, they are out of the scope of this study.
In the next subsection, we will focus on how both the optimization algorithm WASF-
GA and the proposed parallel version ParWASF-GA behave for different values of h max
and N.

123
M. R. Ferrández et al.

4.2 Obtained results

Firstly, we consider a fixed population size of N = 200 individuals, which has demon-
strated to provide a balanced performance in terms of efficiency and effectiveness of
WASF-GA for solving the HPT problem [8]. Table 1 shows the mean hypervolume
Av(H yper ) and the average execution time Av(T ime), in hours, obtained by WASF-
GA for three different values of h max . Moreover, in order to analyze the variability
of the data, the standard deviations Dev(H yper ) and Dev(T ime) have been also
included. The hypervolume is a metric frequently used to measure the effectiveness
of a multi-objective optimization method [20,21,24,27]. Actually, the larger its value
is, the better the results are. Additionally, the average Av(Sp) and standard deviation
Dev(Sp) of the speedup obtained by ParWASF-GA with up to 32 threads are shown.
Notice that for computing both Av(Sp) and Dev(Sp), the well-known speedup for-
mula has been applied considering all the possible combinations of computational
times obtained in the different repetitions. As it can be observed in this table, we are
able to significantly increase the quality of the results by increasing h max (from 0.52
when h max = 10 to 0.56 for h max = 30). The overall runtime is also higher, though.
Hence, parallelization is of major interest. As expected, the efficiency of ParWASF-
GA is not affected by h max , since this parameter just scales the overall computing
time. Furthermore, the speedup obtained by ParWASF-GA is almost linear for up to
16 threads, achieving a reasonable mean value of 14.17. We note that the hypervol-
ume obtained by ParWASF-GA is not reported, but it is similar to the one obtained by
the sequential version. The standard deviation values exhibit a low variability of the
hypervolume, the computing time and the speedup; therefore, the results are robust
and these conclusions do not depend on the execution.
Secondly, Table 2 shows the behavior of the parallel version for up to 32 threads,
with three different population sizes, N = 50, 100, 200, and a fixed number of gen-
erations, h max = 30. For completeness, the average computing time of the sequential
version ( Av(T ime)) has been also included. We can observe in this table that the
speedup improves with the problem size. For example, with 32 threads the speedup
increases from 14.44 with N = 50 up to 22.69 with N = 200. Concerning the stan-
dard deviations Dev(T ime) and Dev(Sp), the performance of the parallel algorithm
is quite robust, i.e., it obtains almost the same computing time in different executions.
Regarding the effectiveness, since the mechanisms for the generation of new indi-
viduals and for the selection and classification into fronts maintain its main core, the
hypervolume does not depend on the version WASF-GA or ParWASF-GA, neither on
the number of considered threads. Thus, these values have been omitted in this table.
The proposed algorithm, ParWASF-GA, obtains reasonable speedups and shows
scalability. Therefore, the use of high-performance computing for optimizing the HPT
treatment is recommendable.

Remark 1 As detailed in [22], the global computational complexity of WASF-GA is


O(m · N · Nμ ), where m is the number of objectives, N is the population size, and Nμ
is the number of weight vectors. Then, according to its design, ParWASF-GA has the
same complexity divided by the number of considered cores.

123
Table 1 Performance of both WASF-GA and ParWASF-GA for N = 200 and three different values of h max

h max WASF-GA ParWASF-GA


H yper T ime (h) Av(Sp) ± Dev(Sp)
Av ± Dev Av ± Dev 2 4 8 16 32
High-performance computing for the optimization of...

10 0.52 ± 6.0E-3 25.80 ± 3.3E-2 2.00 ± 8.6E-3 3.82 ± 7.3E-3 7.29 ± 6.8E-2 14.14 ± 8.1E-2 22.68 ± 2.6E-1
20 0.55 ± 6.2E-3 54.19 ± 4.0E-2 2.00 ± 5.1E-3 3.87 ± 1.4E-2 7.35 ± 1.4E-2 14.16 ± 1.1E-1 22.68 ± 2.3E-1
30 0.56 ± 8.0E-3 82.87 ± 8.1E-2 2.00 ± 2.8E-3 3.90 ± 1.0E-2 7.37 ± 1.7E-2 14.17 ± 1.2E-1 22.69 ± 1.9E-1

123
123
Table 2 Performance of both WASF-GA and ParWASF-GA for h max = 30 and three different values of N

N WASF-GA ParWASF-GA
T ime (h) Av(Sp) ± Dev(Sp)
Av ± Dev 2 4 8 16 32

50 18.96 ± 5.82E-2 2.00 ± 5.6E-3 3.83 ± 3.8E-2 7.02 ± 9.0E-2 11.76 ± 1.9E-1 14.44 ± 3.6E-1
100 37.32 ± 7.3E-2 2.00 ± 5.3E-3 3.85 ± 3.3E-2 7.14 ± 8.6E-2 13.41 ± 1.5E-1 20.08 ± 4.9E-1
200 82.87 ± 8.1E-2 2.00 ± 2.8E-3 3.90 ± 1.0E-2 7.37 ± 1.7E-2 14.17 ± 1.2E-1 22.69 ± 1.9E-1
M. R. Ferrández et al.
High-performance computing for the optimization of...

4.2.1 On the parallelization of the objective function evaluation

The design of the parallel algorithm ParWASF-GA has been mainly motivated by the
cost associated with the objective function (around 47 s). As previously mentioned, the
evaluation of the objective function at a particular decision vector consists in solving
numerically the model composed by Equations (2) and System (3). For this task,
as said previously, we have used the commercial software COMSOL Multiphysics
because it is an exhaustive FEM tool that allows to obtain quickly models based on
partial differential equations.
The considered numerical model corresponding to System (3) is computationally
intensive. During its resolution, several linear systems have to be solved. However,
solving a linear system is a parallelizable task. Indeed, COMSOL implements a shared-
memory parallel strategy such that the entire matrices and vectors are available for all
the threads in the common memory and the operations over these matrices and vectors
are distributed among the threads.
Table 3 shows the behavior of ParWASF-GA for the case with the population
size N = 200 individuals and the number of generations h max = 30, and where
the objective function is also parallelized. More precisely, column T ime_ p refers
to the computing time consumed by the sequential algorithm WASF-GA, when the
objective function, which has been implemented in COMSOL, is executed by using p
threads. Columns 3–6 indicate the speedup obtained by ParWASF-GA with respect to
T ime_ p. Then, row 1 refers to the speedup of ParWASF-GA when the parallelization
of the objective function is not carried out, while row i, with i > 1, indicates the
corresponding speedup when the objective function has been executed by using i
threads. Having a look at the results, one can infer that it is not recommendable to
parallelize the objective function by using more than 2 threads. In fact, considering
more than 4 threads is completely inadvisable; i.e., the computing time with p = 4 is
equal to 65.08 h, while it increases to 70.56 h with p = 8 (see column Av(T ime_ p)).
This is an interesting result for the COMSOL users, which may intuitively think that the
parallelization of the objective function may be enough to accelerate an optimization
method, as the one considered in this work. This phenomenon has been yet observed
in other works proposed in the literature, for instance when optimizing the trajectory
of oil spill cleaning ships parallelizing the considered GA was much more efficient
than parallelizing the cost function, see [1,11].

Table 3 Performance of WASF-GA and ParWASF-GA when the number of processors devoted to COM-
SOL varies

WASF-GA ParWASF-GA
T ime_ p (h) Speedup
COMSOL 1 2 4 8 16

1 82.87 ± 8.1E-2 2.00 ± 2.8E-3 3.90 ± 1.0E-2 7.37 ± 1.7E-2 14.17 ± 1.2E-1
2 67.50 ± 3.5E-2 2.00 ± 2.5E-3 3.57 ± 3.5E-3 7.00 ± 5.7E-3 12.45 ± 8.4E-2
4 65.08 ± 3.9E-2 1.89 ± 1.4E-3 3.60 ± 3.9E-3 7.20 ± 2.0E-2 11.91 ± 4.8E-2
8 70.56 ± 2.6E-2 1.91 ± 1.7E-3 3.95 ± 4.7E-3 6.95 ± 2.5E-2 12.88 ± 4.0E-2

123
M. R. Ferrández et al.

To sum up, in view of the results, it is much more advisable to perform the paral-
lelization of the optimization method. In fact, our proposed ParWASF-GA seems to
behave good independently of the number of threads used to parallelize the objective
function, i.e., the obtained speedup is close to the ideal one.

5 Conclusions

In this work, we consider a multi-objective problem to improve the efficiency of a


HPT food treatment. To solve this problem, a parallelized version of the optimiza-
tion algorithm WASF-GA is proposed. Such a method, called ParWASF-GA, allows
reducing significantly the computational time. Due to this, we can solve our indus-
trial problem considering a larger number of evaluations, which translates on (i) an
increase in the number of optimal points provided to food engineers, since larger pop-
ulations can be considered, and (ii) an increment of the method accuracy, since the
optimization algorithm can evolve during a larger number of iterations. A computa-
tional study shows that the performances of ParWASF-GA are reasonable, i.e., the
speedup is almost linear when there is enough computational load. Additionally, it
is scalable: The larger the size of the problem to solve, the better the performance
of the parallel version. Finally, a numerical study exhibits that ParWASF-GA pre-
serves its quasi-linearity and its scalability when the numerical system involved in
the evaluation of the objective function is solved using also several processors. In the
future, the algorithm will be vectorized. Additionally, we will design and analyze a
coarse-grain parallel model, aimed to explore new paradigms to improve the qual-
ity of the provided solutions. Notice that the proposed master–slave model proceeds
exactly as the sequential version. In this sense, we only can improve the computing
time, but the obtained solution will be similar to the one achieved by the sequen-
tial version. On the contrary, with a coarse-grain model we introduce fundamental
changes in the way the algorithm works: Selection is performed over a subset of
individuals (subpopulation) and the population mating is restricted to the subpopula-
tion. More precisely, in a coarse-grain model, each processing element executes an
algorithm independently of the remaining ones during most of the time. The idea
is that different processing elements work with smaller and different subpopulations
in such a way that, when merging all the subpopulations, a population similar to
that of the sequential version can be obtained. Nevertheless, some information can
migrate from a processing element to another one according to a migratory pol-
icy, which is controlled by several parameters. Such a coarse-grain model will be
implemented to be executed in both shared-memory and distributed-memory archi-
tectures.

Acknowledgements This research has been funded by Grants from the Spanish Ministry of Economy and
Competitiveness (TIN2015-66680-C2-1-R and MTM2015-64865P); Junta de Andalucía (P11-TIC7176
and P12-TIC301), in part financed by the European Regional Development Fund (ERDF). Juana López
Redondo is a fellow of the Spanish “Ramón y Cajal” contract program, co-financed by the European Social
Fund. Savíns Puertas-Martín is a fellow of the Spanish “Formación del Profesorado Universitario” program,
financed by the Ministry of Education, Culture and Sport. The authors gratefully acknowledge Nicolás Calvo
Cruz for his suggestions and kind assistance in the redaction of this paper.

123
High-performance computing for the optimization of...

References
1. Alavani C, Glowinski R, Gomez S, Ivorra B, Joshi P, Ramos AM (2010) Modelling and simulation of
a polluted water pumping process. Math Comput Modell 51(5):461–472
2. Beume N, Naujoks B, Emmerich M (2007) SMS-EMOA: multiobjective selection based on dominated
hypervolume. Eur J Oper Res 181(3):1653–1669
3. COMSOL, Inc: COMSOL Multiphysics Reference Manual, version 5.3. www.comsol.com
4. Deb K, Pratap A, Agarwal S, Meyarivan T (2002) A fast and elitist multiobjective genetic algorithm:
NSGA-II. IEEE Trans Evol Comput 6(2):182–197
5. Deb K, Sundar J (2006) Reference point based multi-objective optimization using evolutionary algo-
rithms. In: Proceedings of the 8th Annual Conference on Genetic and Evolutionary Computation, pp.
635–642. ACM
6. Denys S, Ludikhuyze LR, Van Loey AM, Hendrickx ME (2000) Modeling conductive heat transfer
and process uniformity during batch high-pressure processing of foods. Biotechnol Prog 16(1):92–101
7. Fernández J, Tóth B (2009) Obtaining the efficient set of nonlinear biobjective optimization problems
via interval branch-and-bound methods. Comput Optim Appl 42(3):393–419. https://doi.org/10.1007/
s10589-007-9135-8
8. Ferrández MR, Redondo JL, Ivorra B, Ramos AM, Ortigosa PM (2017) A decision tool based on a
multi-objective methodology for designing high-pressure thermal treatments in food industry. http://
www.optimization-online.org/DB_HTML/2018/02/6446.html
9. Filatovas E, Kurasova O, Sindhya K (2015) Synchronous R-NSGA-II: an extended preference-based
evolutionary algorithm for multi-objective optimization. Informatica 26(1):33–50
10. Filatovas E, Lančinskas A, Kurasova O, Žilinskas J (2017) A preference-based multi-objective evolu-
tionary algorithm R-NSGA-II with stochastic local search. Cent Eur J Oper Res 25(4):859–878
11. Gomez S, Ivorra B, Ramos AM (2011) Optimization of a pumping ship trajectory to clean oil contam-
ination in the open sea. Math Comput Modell 54(1):477–489
12. Hayashi R, Kawamura Y, Nakasa T, Okinaka O (1989) Application of high pressure to food processing:
pressurization of egg white and yolk, and properties of gels formed. Agric Biol Chem 53(11):2935–
2939
13. Infante JA, Ivorra B, Ramos AM, Rey JM (2009) On the modelling and simulation of high pressure
processes and inactivation of enzymes in food engineering. Math Models Methods Appl Sci (M3AS)
19(12):2203–2229
14. Li H, Zhang Q (2009) Multiobjective Optimization problems with complicated Pareto sets, MOEA/D
and NSGA-II. IEEE Trans Evol Comput 13(2):229–242
15. Norton T, Sun D (2008) Recent advances in the use of high pressure as an effective processing technique
in the food industry. Food Bioprocess Technol 1(1):2–34
16. Otero L, Ousegui A, Guignon B, Le Bail A, Sanz PD (2006) Evaluation of the thermophysical properties
of tylose gel under pressure in the phase change domain. Food Hydrocolloids 20(4):449–460
17. Otero L, Ramos AM, De Elvira C, Sanz PD (2007) A model to design high-pressure processes towards
an uniform temperature distribution. J Food Eng 78(4):1463–1470
18. Ramos AM (2012) Introducción al análisis matemático del método de elementos finitos. Editorial
Complutense. ISBN: 978-84-9938-128-2
19. Rastogi NK, Raghavarao KSMS, Balasubramaniam VM, Niranjan K, Knorr D (2007) Opportunities
and challenges in high pressure processing of foods. Crit Rev Food Sci Nutr 47(1):69–112
20. Redondo JL, Fernández J, Álvarez JD, Arrondo AG, Ortigosa PM (2015) Approximating the Pareto-
front of a planar bi-objective competitive facility location and design problem. Comput Oper Res
62:337–349
21. Redondo JL, Fernández J, Ortigosa PM (2017) FEMOEA: a fast and efficient multi-objective evolu-
tionary algorithm. Math Methods Oper Res 85(1):113–135
22. Ruiz AB, Saborido R, Luque M (2015) A preference-based evolutionary algorithm for multiobjec-
tive optimization: the weighting achievement scalarizing function genetic algorithm. J Glob Optim
62(1):101–129. https://doi.org/10.1007/s10898-014-0214-y
23. Verbeyst L, Bogaerts R, Van der Plancken I, Hendrickx M, Van Loey AM (2013) Modelling of vitamin
C degradation during thermal and high-pressure treatments of red fruit. Food Bioprocess Technol
6(4):1015–1023
24. While L, Bradstreet L, Barone L (2012) A fast way of calculating exact hypervolumes. IEEE Trans
Evol Comput 16(1):86–95

123
M. R. Ferrández et al.

25. Zhang Q, Li H (2007) MOEA/D: a multiobjective evolutionary algorithm based on decomposition.


IEEE Trans Evol Comput 11(6):712–731
26. Zitzler E, Laumanns M, Thiele L (2001) SPEA2: improving the strength Pareto evolutionary algorithm.
Tech. Rep. 103, Computer Engineering and Networks Laboratory (TIK), ETH Zurich, Switzerland
27. Zitzler E, Thiele L (1998) Multiobjective optimization using evolutionary algorithms—a comparative
case study. In: Eiben AE (ed) Parallel problem solving from nature V. Springer, Amsterdam, pp 292–301

123

You might also like