Professional Documents
Culture Documents
Computers & Industrial Engin Eering: M.S.R. Martins, S.C. Fuchs, L.U. Pando, R. Lüders, M.R. Delgado
Computers & Industrial Engin Eering: M.S.R. Martins, S.C. Fuchs, L.U. Pando, R. Lüders, M.R. Delgado
a r t i c l e i n f o a b s t r a c t
Article history: This paper proposes a PSO-based optimization approach with a particular path relinking technique for
Received 21 March 2012 moving particles. PSO is evaluated for two combinatorial problems. One under uncertainty, which repre-
Received in revised form 30 January 2013 sents a new application of PSO with path relinking in a stochastic scenario. PSO is considered first in a
Accepted 5 February 2013
deterministic scenario for solving the Task Assignment Problem (TAP) and hereafter for a resource allo-
Available online 19 February 2013
cation problem in a petroleum terminal. This is considered for evaluating PSO in a problem subject to
uncertainty whose performance can only be evaluated by simulation. In this case, a discrete event sim-
Keywords:
ulation is built for modeling a real-world facility whose typical operations of receiving and transferring
Particle swarm optimization
Discrete event simulation
oil from tankers to a refinery are made through intermediary storage tanks. The simulation incorporates
Task assignment uncertain data and operational details for optimization that are not considered in other mathematical
Oil industry optimization models. Experiments have been carried out considering issues that affect the choice of
parameters for both optimization and simulation. The results show advantages of the proposed approach
when compared with Genetic Algorithm and OptQuest (a commercial optimization package).
Ó 2013 Elsevier Ltd. All rights reserved.
1. Introduction parameters to adjust, and interesting results have also been ob-
tained with PSO for combinatorial optimization (literature has
Particle Swarm Optimization (PSO) is a technique developed by demonstrated it gets better results in a faster and cheaper way
Engelbrecht (2007), Kennedy and Eberhart (1995). It is inspired on when compared with other methods (Poli, 2008)). Two applica-
the behavior of birds in flocks where solutions to a given optimiza- tions are considered in this paper to emphasize these PSO proper-
tion problem, called particles, ‘‘fly’’ (like birds) through a multidi- ties. Results for both applications are compared with those
mensional search space. Similarly to Genetic Algorithms (GAs), obtained by a Genetic Algorithm-based approach. In the first part
PSO can be classified as a bio-inspired paradigm. PSO was first of experiments, PSO is considered in a simple scenario (the Task
developed for continuous optimization problems. However, re- Assignment Problem – TAP) where simulation and randomness
search of PSO applications for combinatorial optimization prob- are not present. In the second part, PSO is applied in a more com-
lems can be found in the recent literature (Wang, Cai, Zhou, plex scenario involving simulation whose results are also com-
Wang, & Li, 2011; Kennedy & Eberhart, 1997; Rosendo & Pozo, pared with those obtained by OptQuest (Kleijnen & Wan, 2007)
2010; Souza, Goldbarg, & Goldbarg, 2006; Hu, 2011). In discrete (a well-known and fully integrated optimization package of ARENA
spaces a technique named path relinking (Glover et al., 1999) can simulation framework (Kelton, Sadowski, & Sturrock, 2007)). Then,
be used to move a particle (solution) toward another one, generat- PSO should be adapted to solve a complex combinatorial problem
ing a path between the two solutions. subject to uncertain data. The proposed approach computes the fit-
This paper proposes a PSO-based optimization approach where ness according to an average performance measure obtained over a
a particular path relinking technique is adopted for moving parti- set of simulation replications. In this case, PSO is used to optimize
cles. Additionally, the PSO algorithm is modified to deal with ran- the utilization of piers and tanks in a complex petroleum terminal.
domness. In this case, simulation is used whenever the fitness of a Operational details and uncertain information are incorporated
particle cannot be captured by a simple computation. PSO has been into optimization.
chosen mainly due the fact that it is easy to implement with few There are two main contributions of this paper. The first is that
the PSO algorithm was modified to deal with combinatorial prob-
⇑ Corresponding author. Tel.: +55 41 33104688; fax: +55 41 33104683.
lems in scenarios of randomness whose results have only been re-
E-mail addresses: marcella_engcomp@yahoo.com.br (M.S.R. Martins), ste-
cently reported in the literature (Mukhef, Farhan, & Jassim, 2008;
fan1234@gmail.com (S.C. Fuchs), lucianourgal@hotmail.com (L.U. Pando), luders@ Jiao, Chen, & Yan, 2011). These modifications are related to: (i)
utfpr.edu.br (R. Lüders), myriamdelg@utfpr.edu.br (M.R. Delgado). introduction of the path relinking technique where a particle
0360-8352/$ - see front matter Ó 2013 Elsevier Ltd. All rights reserved.
http://dx.doi.org/10.1016/j.cie.2013.02.004
M.S.R. Martins et al. / Computers & Industrial Engineering 65 (2013) 322–330 323
encodes sets of same type resources of the application (previous The first version of PSO for discrete problems was presented in
approaches adopt this technique in other application contexts Kennedy and Eberhart (1997). In this work, Kennedy and Eberhart
(Rosendo & Pozo, 2010; Souza et al., 2006)) and (ii) analysis of path proposed an array of binary values to encode each particle. The
relinking for PSO subject to uncertain information (path relinking velocity is defined as an array of probabilities of changing from 1
has not been previously used in scenarios of randomness). The sec- to 0 and vice versa. In other words, if v tþ1 j ¼ 0:20, there is twenty
ond contribution was in the modeling. This includes (i) formalizing percent of chance that ptþ1 j will be one, and eighty percent of
the description of the purpose of the approach in a path relinking chance that it will be zero. If previous best positions have
had a
context, firstly by adapting the notation of combinatorial PSO ap- zero in the jth component (i.e. bestj = 0), then bestj ptj can be
proaches when they use particles with permutation-based encod- reasonably calculated as 1 or 0 and used to weight a change in
ing and secondly, by redefining the velocity equation, especially the probability of v tþ1 j for the next step. Eq. (2) remains unchanged,
when the terms associated with inertial, cognitive and social com- except that now each value considered in the jth component is an
ponents are presented and (ii) a real-world facility that incorpo- element of {0, 1} and v tþ1 j must be constrained into the interval of
rates uncertain data is modeled and operational details which are probability [0.0, 1.0]. This way, the dimension of a particle move-
not considered in other mathematical optimization models are ta- ment can be seen as the number of bits changed from one iteration
ken into account for optimization. to another in a binary search space. A particle does not move if no
The paper is organized as follows. Section 2 presents details bit is toggled, whereas it executes a full movement if all bits are
about PSO and its implementation. The addressed problems are de- toggled.
scribed in Section 3. Section 4 presents our proposed simulation In Rosendo and Pozo (2010) and Souza et al. (2006), a technique
model and optimization approach. Results are shown in Section 5 named path relinking is used to move a particle toward another
followed by conclusions in Section 6. one. Path relinking is an intensification technique whose idea
was originally proposed by Glover in the context of scheduling
2. Particle Swarm Optimization (PSO) methods with better decision rules for job shop problems (Glover
et al., 1999). Generally speaking, this strategy generates a path be-
The particle swarm algorithm adjusts trajectories of a popula- tween two solutions. Assuming a source solution pt and a destina-
tion of particles through a problem space using information about tion solution pt+1, a path is a sequence of changes (steps) pt0,
each particle’s best performance and the best performance of its pt1, . . . , ptm with pt = pt0 and ptm = pt+1 such that pt(k+1) is obtained
neighbors. from ptk by using movements that reduce the distance between
Consider a particle (candidate solution) positioned in the search source and destination. This idea is used in some of the literature
space RD at current discrete time t represented by a vector with discrete spaces to redefine velocity in terms of two particles
pa and pb such that v = pa pb or pa = pb + v, i.e., by applying v to pb
pt ¼ pt1 ; pt2 ; ; ptD . The
particle pt is moved, by a velocity vector
v tþ1 ¼ v tþ1 ; ; v tþ1
, to a new position pt+1 according to the fol- results in pa. This technique is used in our proposed optimization
1 D
lowing equation: approach according to Rosendo and Pozo (2010), but using a
particular notation suitable to represent permutations. The
ptþ1 ¼ pt þ v tþ1 : ð1Þ main contribution is a well-defined procedure for applying a
list of permutations in the elements of a particle in terms of its
Usually, each element of the velocity vector is updated by iner-
inertial, cognitive and social components as described in the next
tial, cognitive and social components as defined by the following
section.
equation:
v tþ1
j ¼ w v tj þ ðc1 r1 Þ v tjðcognÞ þ ðc2 r 2 Þ v tjðsocialÞ ; ð2Þ
2.1. The proposed PSO-based approach
where v t
j is
taken from
the current velocity (or inertial component),
v tjðcognÞ ¼ bestj ptj corresponds to the cognitive component with In our proposed approach each particle in the swarm is repre-
bestj taken from thecurrent best position achieved so far by the par- sented by a list of values indicating a resource allocation for the
ticle, and v tjðsocialÞ ¼ bestjðglobalÞ ptj corresponds to the social com- problem being optimized, and velocity is represented by a list of
ponent with bestj(global) taken from the current best position permutations of elements necessary to move pt toward pt+1. The
achieved so far by the whole swarm. The coefficients w, c1 and c2 movement is based on the following equation:
define how much a particle trust in its previous movement (inertial ptþ1 ¼ v tþ1 ðpt Þ; ð3Þ
component), own history (cognitive component) and in the whole
t+1
set of particles (social component), respectively (Engelbrecht, where the velocity v is an operator represented by a list of pairs of
2007). The terms r1 and r2 are random numbers drawn from an uni- indexes indicating which elements of pt should be swapped. For
form distribution. The PSO algorithm initiates with a randomly gen- example, assuming pt = (11, 22, 33, 44, 55) and vt+1 = {(1, 2), (2, 3)},
erated swarm (position and velocity’s particle) which is then then pt+1 = vt+1((11, 22, 33, 44, 55)) = (22, 33, 11, 44, 55).
updated for each iteration t (bestj is updated for each particle By considering the path relinking technique previously
and bestj(global) for the whole swarm). When a maximum of T itera- discussed, lets define how a particle pt = (22, 33, 11, 55, 44) is
tions is reached, the best solution is bestglobal = (best1(global), . . . , moved to pt+1 = (11, 22, 33, 44, 55) using a list of three
bestD(global)). permutations. Consider v tþ1 ¼ v tþ1 1 ; v2 ; v3
tþ1 tþ1
and a path pt0,
t1 t2 t3
Compared to other Evolutionary Algorithms (EAs), PSO presents p , p , p such that p tðkþ1Þ
¼ v kþ1 ðp Þ; k ¼ 0; 1; 2. As
tþ1 tk
If the total number of resources jWj is equal to the total number Profit ¼ Iref term tanker
oil þ I oil C oil C pier C over C interf ; ð6Þ
of tasks jKj = D, then the resulting allocation is a permutation of D
distinct elements. where Iref
oil is the income resulting from the amount of oil processed
This problem has been chosen because it is a combinatorial by refineries, Iterm is the income from the final amount of oil stored
oil
problem which generates a search space that grows rapidly with in terminal, C tanker is the cost of oil remaining on tankers, Cpier is the
oil
the number of tasks. Moreover, feasible solutions can easily be cost of piers, Cover is the total over stay cost due to exceeding delays
generated as well as fitness evaluation for evolutionary optimiza- in tankers unloading, and Cinterf is the total cost of interfacing differ-
tion algorithms. Therefore this problem can be made as complex ent oil classes.
as necessary for comparing PSO with other meta-heuristics in The income Iref oil from refinery processing is given by the follow-
combinatorics. ing equation:
X ref X unloaded
3.2. Resource allocation in a terminal Iref
oil ¼ Pl V l;t ; ð7Þ
l2L t2T l
Downstream in oil industry concerns petroleum refining and
product distribution. It includes a logistic of crude oil transport where L is the set of oil classes, Tl is the set of tanks that are able to
by tankers using a terminal as intermediary storage area for subse- store oil of class l; P ref
l is the price of oil class l per volume in refin-
quent oil transferring to refineries. In general, a terminal contains ery, and V unloaded
l;t is the volume of oil class l unloaded from tank t.
piers, storage tanks and pipelines where oil is transferred from The income Itermoil resulting from oil left in the terminal is defined
tankers to tanks and from tanks to refineries afterwards. The according to the following equation:
M.S.R. Martins et al. / Computers & Industrial Engineering 65 (2013) 322–330 325
X term X final
Iterm
oil ¼ Pl V l;t ; ð8Þ These constraints are implemented in the simulation model
l2L t2T l (Section 4.1) as logical decisions taken over the flow of events gen-
erated since tanker arrival until oil delivery at refineries.
where Pterm
l is the price of oil class l per volume in terminal and V final
l;t
is the final volume of oil class l in tank t. 4. PSO-based simulation optimization
The cost C tanker
oil of oil remaining in tankers is defined by the fol-
lowing equation: The allocation for both problems is provided by PSO. Algorithm
X tanker X final 1 illustrates the general steps performed by the PSO implementa-
C tanker
oil ¼ Po V o;k ; ð9Þ
o2O k2K o
tion used in this work.
where O is the set of oil types, Ko is the set of tankers that can store Algorithm 1. The implemented discrete PSO algorithm
oil of type o; Ptanker
o is the price of oil type o per volume in tankers
and V final
o;k is the final volume of oil type o in tanker k. 1: Initialize the swarm with N random particles
The cost Cpier associated with pier utilization is defined by the
2: t = 1
following equation:
3: while t 6 T do
X X pier
C pier ¼ Cp Dk;p ; ð10Þ 4: Evaluate each particle fitness by simulation (using n
p2P k2K p replications)
5: Update the best solution achieved so far by the swarm
where P is the set of piers, Kp is the set of tankers that can anchor at (bestglobal)
pier p, Cp is the cost of using pier p per time unit and Dpier
k;p is the time 6: for each particle do
pier p is used by tanker k. 7: Update the best solution achieved so far by the particle
The total over stay cost Cover is defined by the following (best)
equation: 8: Calculate a new velocity for the particle (Eq. (4))
X
C over ¼ C k Dover ; ð11Þ 9: Move the particle toward a new position (Eq. (3))
k
k2K 10: end for
11: t = t + 1
where K is the set of tankers, Ck is the over stay cost of tanker k per 12: end while
time unit, and Dover
k is the over stay time of tanker k.
Finally, the cost Cinterf of interfacing different oil classes is calcu-
lated according to the following equation: PSO computes a swarm of N solutions (or particles) for each
XX iteration using a total of T iterations. The fitness of each solution
C interf ¼ Nl;l0 ;pp C interf
l;l0 ; ð12Þ
is obtained by the average fitness over n simulation replications.
pp2PPl;l0 2L
In this paper, the term iteration is used to designate each PSO
where PP is the set of pipelines, Nl;l0 ;pp is the number of interfaces be- swarm update and replication refers to an entire system simula-
tween classes l and l0 generated in pipeline pp and C interf
l;l0 is the inter- tion executed for a single solution but using a different sample of
face cost between classes l and l0 . random variables. Hence, (n N) systems simulations will be exe-
In addition, transfer operations are subject to several cuted for each iteration. As PSO is randomly initialized, it is neces-
constraints: sary to run it more than once to get an overall performance
measure. Each run of pseudo-code 1 with a different random ini-
1. When a tanker approaches a terminal, a time window is estab- tialization is considered a round r, r = 1, . . . , R. Therefore,
lished. It specifies a time interval within which the tanker (n N T R) systems simulations will be executed in the whole
should anchor, unload and leave the terminal. Any extra delay process. In TAP, as we consider a deterministic scenario, n = 1.
is overcharged. Moreover, no simulation is necessary as fitness is easily defined
2. Not all piers are able to receive all tankers. A tanker can only based on a table with costs.
anchor at piers with proper capacity. Big piers can receive any
Initial swarms for both, TAP and the terminal resource alloca-
kind of tankers, but they are more expensive. On the other hand,
tion problem, are randomly generated. The restriction for TAP is
small and cheaper piers can only receive small tankers.
that each particle encodes a permutation of D distinct elements
3. A single pier is allocated for unloading the whole tanker load
whereas for the terminal, restrictions 2–4 (as described in Sec-
even if there is more than one oil type.
tion 3.2) are considered for pier capacity and oil type. In this work,
4. A tanker can only unload oil into a tank with the same oil class.
binary variables are used as decision variables for the terminal and
Petrobras deals with several types of oil which are grouped into
a permutation of D distinct elements for TAP. Both representations
seven classes (l-1 to l-7) according to their specification. Crude
are changed based on path relinking approach as described in
oil of same class can be mixed without loss of properties.
Section 2.1.
5. Tanks cannot be loaded and unloaded at the same time and can-
The particle encoding adopted for allocation of piers and tanks
not be simultaneously loaded by more than one tanker.
is illustrated in Table 1. For example, according to the first row
6. A tank can only be unloaded after 24 h from the last loading
of Table 1, a tanker with id = 1 should anchor at pier 4 and unload
operation. This operation is necessary for decanting any salt
water mixed with the oil.
7. A tank can be ready, loading, unloading or decanting. It is con- Table 1
sidered ready when any operation can be initiated. It is loading Example of solution encoding for two oil loads.
when receiving crude oil from a tanker and unloading when Oil Pier Tank
sending oil to a refinery. It is decanting within a period of
id 1 2 3 4 TQ3208 ... TQ3244
24 h for salt water decanting.
1 0 0 0 1 1 ... 1
8. Crude oil is pumped from a tank to a refinery using a single
2 0 0 1 0 0 ... 1
pipeline whose throughput is defined by the respective oil class.
326 M.S.R. Martins et al. / Computers & Industrial Engineering 65 (2013) 322–330
oil into tanks TQ3208 and TQ3244 (assuming 0 in other columns). decanting time of 24 h. Time delay tload is computed for each load-
If more than one oil id is carried by the same tanker, the same pier ing operation according to the following equation:
should be allocated. A vector representation for a particle is ob-
V loaded
tained by putting side by side each row of Table 1 with 1 indicating tload ¼ þ 24h; ð13Þ
allocated resource and 0 otherwise. Only permutations among the TP pier
same type of resources within same oil id are allowed. It means
where Vloaded is the loaded oil volume, and TPpier is the oil through-
that resource allocation can be viewed as a decoupled problem
put from pier to tank. Additionally, a variable status is defined. It as-
regarding tanks and piers for different oil ids.
sumes status = 0 for an empty tank, status = 1 for a full tank and
status = 2 for pumping oil into a pipeline. This variable is used for
controlling which tank is available for receiving or sending oil.
4.1. Simulation model for the petroleum terminal After 24 h of decanting, oil in a tank is pumped into a pipeline if
available. This operation is represented by block PIPELINE which
Daily activities in a terminal can be seen as a sequence of oper- decides which pipeline should be used according to the operational
ations which can be properly captured using a discrete event sim- constraints and computes the time necessary for unloading the
ulation. Our proposed simulation was implemented in Arena 12.0 whole tank oil according to the following equation:
and contains five blocks: TANKER, PIER, TANK, PIPELINE and REFIN- V unloaded
ERY as depicted in Fig. 1. tunload ¼ ; ð14Þ
TPpipe
They represent the sequence of events generated after a tanker
arrival. An event anchoring is generated for requesting a pier fol- where Vunloaded is the oil volume stored in the tank and TPpipe is the
lowed by an event loading to start loading oil into a tank. An pipeline throughput.
event unloading is then generated for sending oil to a pipeline. The unloaded oil is consumed at the refinery during a time tcons
The final event transfer updates the amount of oil processed in computed according to the following equation:
the refinery. All events occur as soon as possible, except the tanker
arrival event which is generated by a random process. According to V unloaded þ V ref
stored
tcons ¼ ; ð15Þ
Fig. 1, the sequence of events is enclosed in a box indicating that Rcon
simulation replications should be executed to compute statistics
where V ref
stored is the oil volume already stored in refinery and Rcon is
of the cost and profit used as fitness for the optimization block.
the consumption rate. Blocks PIPELINE and REFINERY implement a
Note that allocation of piers and tanks is provided by the optimiza-
very simple model for transferring oil between terminal tanks and
tion block using an iterative process in a simulation–optimization
refinery through a pipeline. Flow dynamics in pipelines are not con-
cycle.
sidered and these blocks only compute the time necessary for trans-
Block TANKER generates an entity for each tankers’ arrival using
ferring and consuming oil according to the pipeline throughput and
different arrival processes (see Section 5). The input data (shown in
refinery demand.
Table A.10) is then read from a file containing oil load (class, vol-
ume, and cost), over stay cost, oil throughput, and anchoring time.
They are attributes of entities in the simulation model. The next 5. Results
block PIER seizes the corresponding pier and starts a time counter
for computing pier cost. If the allocated pier is not available for This section presents results for the problems considered in Sec-
anchoring, oil loading in block TANK is delayed until this pier is tions 3.1 and 3.2 - TAP and terminal allocation problem, respec-
free. tively. We aim to compare PSO with a traditional bio-inspired
Oil loading is started as soon as possible and the corresponding optimization approach (GA) for both problems. TAP concerns a
pier is released after all tanker load is unloaded (including all oil deterministic scenario without simulation whereas in the terminal
types). This policy is adopted for the whole simulation, i.e, opera- allocation problem we are interested on emphasizing the simula-
tions that utilize shared resources must wait for free resources tion optimization approach. It is important for optimizing a com-
which start operations as soon as possible. Oil loading operations plex problem whose performance can only be evaluated by
are modeled in block TANK as delays representing the time neces- simulation. In this case, PSO is also compared with OptQuest (a
sary for transferring a particular oil load from a tanker plus a commercial optimization package).
M.S.R. Martins et al. / Computers & Industrial Engineering 65 (2013) 322–330 327
5.1. Results for the task assignment problem tics (Demsar, 2006). Due to a non-normality characteristic of the
data, we chose the non-parametric Mann-Whitey rank sum statis-
Our PSO-based approach is compared with the Genetic Algo- tical test (Gibbons, 1985) with a 95% confidence level. It evaluates
rithm implementation from GAlib (Wall, 2012) for solving TAP. Ta- the null hypothesis H0 (there is no statistical difference between
ble 2 shows the parameters used in all experiments. the approaches). According to the p-values shown in Table 3, H0
A set of values in the third column of Table 2 means that the should be rejected with 95% confidence in all three cases (p-values
corresponding parameter is tested for each value in the set. Best are lower than 0.05). The approaches are thus different with GA
values in the set (i.e., those providing best costs) are emphasized outperforming PSO in the first case and vice versa in the last two
in bold face. Two types of crossover are tested for GA: Order1 cases (i.e., PSO may get better results for a more complex problem).
and Edge Recombination Crossover. Order1 Crossover is a fairly sim- The best values are emphasized in bold. Note that GA requires
ple permutation operator. Basically, a swath of consecutive alleles more computational time than PSO and our approach may thus
from parent 1 drops down, and remaining values are placed in the provide a better solution in less time.
child in the same order appearing in parent 2. Edge Recombination
Crossover (ERC) is a crossover technique for permutation (ordered) 5.2. Results for the terminal resource allocation
chromosomes. It tries to introduce shorter paths.
In this section, we define the same number of fitness evalua- This section presents the results obtained by integrating the
tions for both algorithms. This strategy was chosen to enable both proposed simulation model (for the petroleum terminal) with the
algorithms having the same number of trials to find out a solution PSO optimization algorithm. Experiments have been carried out
while keeping the computational time within acceptable limits for with input data for tankers, tanks, piers, oil and interface costs as
practical applications. presented in Tables A.10–A.14 of Appendix A, respectively. The
Table 3 shows the results obtained with the best set of param- considered terminal has four piers, eighteen tanks, and two pipe-
eters emphasized in Table 2 for each approach. They are presented lines (OSBAT and OSVAT) connecting two refineries. Thirteen tank-
in terms of average values calculated over R = 30 rounds for cost ers transport fourteen different oil types. Three tankers transport
P
AvCost, distance to the optimum OptAv Dist ¼ ð1=RÞ r ðBestr more than one oil type.
OptÞ=OptÞ, r = 1, . . . , R, and run time Time. The optimum Opt for Three arrival processes called M1, M2 and M3 are considered
each TAP instance is indeed a reference value for the best cost for tanker arrivals. Process M1 is represented by a deterministic
achieved by an ideal and huge swarm with a total of 400,000 par- schedule composed by fixed arrival times as described in Más
ticles that performs MaxEval = 109 evaluations. and Pinto (2003) and shown in Table A.10 for each tanker. It was
The last column of Table 3 compares PSO and GA in terms of the only used as a verification step for the proposed simulation model.
percentage of relative difference and p-value associated with the Though it is not shown here, the same profit of Más and Pinto
statistical analysis. The comparison of algorithms is made through (2003) was obtained by simulation for the same allocation of piers
a recognized statistical methodology for comparing meta-heuris- and tanks. Models M2 and M3 are both based on stochastic pro-
cesses described in Asperen et al. (2003). M2 is characterized by
applying a Gaussian disturbance to M1, and M3 is a process with
exponentially distributed time between tanker arrivals (Kia, Sha-
Table 2
Parameters for TAP. yan, & Ghotb, 2002). Additionally, two different values (3 and
30 h) are considered for the standard error of M2.
Approach Parameter Tested value
Table 4 contains the parameters used for simulation and opti-
PSO Inertial coefficient (w) 0.0 mization. Remembering that a set of values in the second column
Cognitive coefficient (c1) {0.5, 0.85, 0.9, 0.95, 1, 1.2, 1.5, 1.8,
of Table 4 means that the corresponding parameter is made equal
2.0}
Social coefficient (c2) {0.1, 0.2, 0.3, 0.5, 0.85, 0.9, 0.95, 1, to each value in the set as described in the following sections. The
1.2, 1.5} remaining parameters are fixed according to standard values de-
Swarm size (N) 10,000 scribed in the literature (Banks, Vincent, & Anyakoha, 2007; Banks,
Vincent, & Anyakoha, 2008).
GA Mutation rate {0.05, 0.1, 0.15}
Crossover rate {0.5, 0.6, 0.7, 0.8, 0.82, 0.85, 0.9}
Crossover type {Order1, ERC} 5.2.1. Tuning of parameters for simulation optimization
Substitution rate {0.9, 0.95} There are several parameters in simulation optimization that
Population size (N) 10000 should be considered. However, as we could note in the previous
Both Rounds (R) 30 section, one of the reasons why PSO is an attractive solution for
Problem dimension (D) {10, 50, 100} optimization problems is that no great effort is necessary for
Maximum evaluations 20 106
(MaxEval)
parametrization and few adjustments are sufficient for a wide
range of applications (Hu, 2011). In this section, a phase of testing
Table 3
Results for different dimensions of TAP.
Table 4 Table 7
Parameters for simulation optimization. Pier and tank allocation for 10 and 50 simulation replications.
Arrival Fitness
5.2.2. Comparing PSO with GA and OptQuest
In this section, the proposed PSO approach is compared with a
n = 10 n = 50
GA-based approach adapted from VBGALIB (2012), and the com-
M2/3 h 168900.13 169045.21 mercial package OptQuest.
M2/30 h 178422.25 178563.23
OptQuest is an optimization package incorporated into ARENA
M3 168189.13 169365.12
that utilizes Neural Networks (NN) and the meta-heuristics Tabu
M.S.R. Martins et al. / Computers & Industrial Engineering 65 (2013) 322–330 329
Table A.10
Tanker data.
Tanker Oil Arrival time Departure time Oil volume Over stay cost Oil throughput Pier approaching time Oil cost (unit/
type (h) (h) (103 m3) (unit/h) (103 m3/h) (h) 103 m3)
k-1 o-05 0 48 106 0.8333 8 0.5 116.9811
k-2 o-08 12 60 38 0.4167 8 0.5 109.7484
o-27 12 60 20 0.4167 8 0.5 109.7484
k-3 o-38 24 72 30 0.4167 8 0.5 100.6289
k-4 o-01a 48 96 70 0.8333 8 0.5 114.7798
o-01b 48 96 50 0.8333 8 0.5 114.7798
k-5 o-38 72 120 92 0.8333 8 0.5 116.9811
k-6 o-26 96 144 135 1.6667 8 0.5 116.9811
k-7 o-29a 97 144 80 0.8333 8 0.5 114.7798
o-29b 97 144 30 0.8333 8 0.5 114.7798
k-8 o-A 1 49 15 0.8333 8 0.5 115.0943
k-9 o-B 49 95 60 0.8333 8 0.5 100.6389
k-10 o-C 60 104 18 0.8333 8 0.5 100.6389
k-11 o-D 65 119 60 0.8333 8 0.5 109.7484
k-12 o-B 120 144 30 0.8333 8 0.5 113.3758
k-13 o-E 144 165 60 0.8333 8 0.5 116.9811
Table A.11
Tank data.
Tank Capacity min; max (103 m3) Initial volume (103 m3) Oil class Oil type Output pipeline Pipeline throughput (103 m3/h)
t-3208 4.558; 30.135 24.161 l-6 o-1b OSBAT 1.606
t-3210 4.508; 31.035 21.943 l-6 o-1b OSBAT 1.606
t-3214 9.284; 69.668 31.905 l-6 o-1b OSBAT 1.606
t-3215 6.256; 70.346 45.438 l-2 o-{1b,27,29b, A,B,E} OSBAT 1.503
t-3217 8.694; 70.163 9.390 l-2 o-{1b,27,29b, A,B,E} OSBAT 1.503
t-3218 8.460; 69.591 13.020 l-7 o-{1b,27,29b, A,B,E} OSBAT 1.537
t-3219 7.651; 69.441 8.718 l-7 o-{1b,27,29b, A,B,E} OSBAT 1.537
t-3233 10.819; 72.589 39.015 l-7 o-{1b,29b,A, B,E} OSBAT 1.537
t-3234 9.766; 77.329 10.630 l-1 o-{1a,05,38, C,D} OSVAT 4.470
t-3235 9.282; 77.224 9.858 l-1 o-{1a,05,38, C,D} OSVAT 4.470
t-3237 10.457; 73.077 18.232 l-3 o-{1a,05,08, 26,27,29a,38, C,D} OSVAT 4.511
t-3238 3.235; 33.495 31.001 l-3 o-{1a,05,08, 26,27,29a,38, C,D} OSVAT 4.511
t-3239 9.654; 77.355 9.997 l-4 o-{1a,05,08, 26,38,C} OSVAT 4.390
t-3240 11.433; 73.352 60.629 l-4 o-{1a,05,08, 26,38,C} OSVAT 4.390
t-3241 11.370; 73.745 69.524 l-5 o-{1a,05,26, 38,C,D} OSVAT 4.429
t-3242 9.137; 72.718 11.385 l-5 o-{1a,05,26, 38,C,D} OSVAT 4.429
t-3243 11.022; 77.001 39.015 l-6 o-{1a,05,38, C} OSVAT 4.447
t-3244 10.819; 72.589 40.513 l-6 o-{1a,05,38, C} OSVAT 4.447
Table A.14
Interface cost (unit).
thanks to a better software integration with ARENA using tight and Banks, A., Vincent, J., & Anyakoha, C. (2008). A review of particle swarm optimization.
Part II: Hybridisation, combinatorial, multicriteria and constrained optimization,
more efficient inner-communication protocols. In all the cases we
and indicative applications. Natural Computing, 7, 109–124.
have statistically differences between at least one pair of algorithms Boschetto, S., Magatão, L., Brondani, W., Neves, F., Jr., Arruda, L., et al. (2010). An
(p-values are lower than 0.05). After the post hoc analysis of the operational scheduling model to product distribution through a pipeline
Kruskal–Wallis statistical test we conclude that PSO outperformed network. Industrial & Engineering Chemistry Research, 49, 5661–5682.
Cafaro, V., Cafaro, D. C., Mendez, C. A., & Cerda, J. (2011). Multiproduct operations:
GA and OptQuest for M2/3 h and M2/30 h arrival processes. For Discrete-event simulation guides pipeline logistics. Oil & Gas Journal, 109(15),
M3, PSO and GA are equivalent and both outperformed OptQuest. 98–104.
In terms of final profits (provided by the best solutions among Demsar, J. (2006). Statistical comparisons of classifiers over multiple data sets.
Journal of Machine Learning Research, 7, 1–30.
all runs), the number of simulation replications should be in- Engelbrecht, A. P. (2007). Computational intelligence: An introduction (2nd ed.). John
creased to reduce the confidence interval associated to each profit. Wiley and Sons.
The results are shown in Table 9 with best ones in bold. Fu, M. C. (2002). Optimization for simulation: Theory vs. practice. Journal on
Computing, 14, 192–214.
We can conclude with 95% confident that the final allocation Gambardella, L. M., & Rizzolli, A. E. (2000). The role of simulation and optimisation
provided by PSO is better (higher profit) than GA and OptQuest in intermodal container terminals. European Simulation Symposium, 107–116.
for all cases. Note that profits for M2/30 h are higher than for Gibbons, J. (1985). Nonparametric statistical inference. USA: CRC.
Glover, F., Kelly, J. P., & Laguna, M. (1999). New advances for wedding optimization
M2/3 h or greater inter-arrival times produce higher profits. This and simulation. In Proceedings of the 1999 winter simulation conference (pp. 255–
phenomenon could be explained by the fact that a greater spread 260). Phoenix, AZ.
in arrival times of tankers releases resources that can be better uti- Hu, X. (2011). PSO tutorial. <http://www.swarmintelligence.org/tutorials.php> Last
accessed 20.06.11.
lized by optimization.
Jiao, B., Chen, Q., & Yan, S. (2011). A cooperative co-evolution PSO for flow shop
scheduling problem with uncertainty. Journal of Computers, 6(9), 1955–1961.
6. Conclusions Kelton, W. D., Sadowski, R. P., & Sturrock, D. T. (2007). Simulation with Arena (4th
ed.). New York: McGraw-Hill.
Kennedy, J., & Eberhart, R. (1995). Particle swarm optimization. In Proceedings IEEE
This paper has proposed a PSO-based optimization approach
international conference on neural networks. Perth, Austrlia.
with a particular path relinking technique adopted for moving par- Kennedy, J., & Eberhart, R. (1997). A discrete binary version of the particle swarm
ticles. The PSO algorithm has been tested in a deterministic optimi- algorithm. In IEEE international conference on systems, man, and cybernetics (pp.
4104–4108). Orlando, USA.
zation problem and then modified to be applied in a scenario of
Kia, M., Shayan, E., & Ghotb, F. (2002). Investigation of port capacity under a new
randomness found in a petroleum terminal using simulation optimi- approach by computer simulation. Computers & Industrial Engineering, 42(2–4),
zation. The proposed approach has shown good performance to be 533–540.
an attractive option for some particular resource allocation prob- Kleijnen, J. P. C., & Wan, J. (2007). Optimization of simulated systems: Optquest and
alternatives. Simulation Modelling Practice and Theory, 15, 354–362.
lems as those addressed in the paper. PSO has presented final solu- Magatão, L., Arruda, L. V. R., & Neves, F. (2004). A mixed integer programming
tions comparable with or better than GA with less computational approach for scheduling commodities in a pipeline. Computers and Chemical
burden. Moreover, they are comparable with those of OptQuest with Engineering, 28, 171–185.
Marti, R., Laguna, M., & Glover, F. (2006). Principles of scatter search. European
a slight advantage to PSO. Our approach is also able to deal with ran- Journal of Operational Research, 169, 359–372.
domness in the application as it has shown good performance with Más, R., & Pinto, J. M. (2003). A mixed-integer optimization strategy for oil supply in
average values. It turns out that PSO is quite useful for simulation distribution complexes. Optimization and Engineering, 4(1–2), 23–64.
Mori, F. M., Lüders, R., Ramos de Arruda, L. V., Yamamoto, L., Bonacin, M. V., Polli, H.
optimization approach where an application-independent algo- L., & et al. (2007). Simulating the operational scheduling of a real-world pipeline
rithm is necessary and run time is a real concern for practical appli- network. In 17th European sumposium on computer aided process engineering (pp.
cations. However, further work should be done for comparing the 691–696).
Mukhef, H., Farhan, E., & Jassim, M. (2008). Generalized shortest path problem in
optimization algorithms in terms of convergence properties.
uncertain environment based on PSO. Journal of Computer Science, 4(4), 349–352.
Olafsson, S., & Kim, L. (2002). Simulation optimization. In Proceedings of the 2002
Acknowledgement winter simulation conference (pp. 19–84). New York.
Poli, R. (2008). Analysis of the publications on the applications of particle swarm
The authors thank the anonymous reviewers for their helpful optimisation. Journal of Artificial Evolution and Applications, 1–10.
Relvas, S., Matos, H. A., Barbosa-Povoa, A. P. F. D., Fialho, J., & Pinheiro, A. S. (2006).
contributions. Myriam Regattieri Delgado is supported by the Pipeline scheduling and inventory management of a multiproduct distribution
Brazilian Research Council - CNPq through grant 311605/2011-7. oil system. Industrial & Engineering Chemistry Research, 45(23), 7841–7855.
Rosendo, M., & Pozo, A. (2010). A hybrid particle swarm optimization algorithm for
combinatorial optimization problems. In IEEE congress on evolutionary
Appendix A. Input data for terminal GEBAST computation (CEC) (pp. 1–8).
Souza, G., Goldbarg, E. F., & Goldbarg, M. C. (2006). Particle swarm for the traveling
salesman problem. Lecture Notes in Computer Science, 3906, 99–110.
Input data for tankers, tanks, piers, oil and interface costs are VBGALIB, Visual basic genetic algorithm library. <http://home.snu.edu/brint/
presented in Tables A.10–A.14, respectively. vbgalib/> Last accessed 15.12.12.
Wall, M. Massachusetts Institute of Technology (MIT), GAlib. <http://lancet.mit.edu/
ga/> Last accessed 31.08.12.
References Wang, J., Cai, Y., Zhou, Y., Wang, R., & Li, C. (2011). Discrete particle swarm
optimization based on estimation of distribution for terminal assignment
Asperen, E. V., Dekker, R., Polman, M., & Arons, H. S. (2003). Modeling ship arrivals problems. Computers & Industrial Engineering, 60(4), 566–575.
ports. In Proceedings of the 2003 winter simulation conference (pp. 1737–1744). Zeng, Q., & Yang, Z. (2009). Integrating simulation and optimization to schedule
Banks, A., Vincent, J., & Anyakoha, C. (2007). A review of particle swarm optimization. loading operations in container terminals. Computers & Operations Research, 36,
Part I: Background and development. Natural Computing, 6, 467–484. 1935–1944.