<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A discrete differential evolution algorithm for multi-objective permutation flowshop scheduling</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>M. Baioletti</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Milani</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>V. Santucci</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Matematica e Informatica Universita` degli Studi di Perugia Via Vanvitelli</institution>
          ,
          <addr-line>1 Perugia</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Real-world versions of the permutation flowshop scheduling problem (PFSP) have a variety of objective criteria to be optimized simultaneously. Multi-objective PFSP is also a relevant combinatorial multi-objective optimization problem. In this paper we propose a multiobjective evolutionary algorithm for PFSPs by extending the previously proposed discrete differential evolution scheme for single-objective PFSPs. The novelties of this proposal reside on the management of the evolved Pareto front and on the selection operator. A preliminary experimental evaluation has been conducted on three bi-objective PFSPs resulting from all the possible bi-objective combinations of the criteria makespan, total flowtime and total tardiness.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The Permutation Flowshop Scheduling Problem (PFSP) is an important type of
scheduling problem which has many applications in manufacturing and large scale product
fabrication. In this problem there are n jobs J1; : : : ; Jn and m machines M1; : : : ; Mm.
Each job Ji is composed by m operations Oi1; : : : ; Oim. The generic operation Oij can
be executed only by the machine Mj and its given processing time is pij . Moreover,
the execution of any operation cannot be interrupted (no pre-emption) and job passing
is not allowed, i.e., the jobs must be executed using the same order in every machine.
The goal of PFSP is to find the optimal job permutation = h (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ); : : : ; (n)i with
respect to a given objective function. Three important criteria are to minimize the total
flowtime (TFT), the makespan (MS) and the total tardiness (TT) defined as follows:
n
T F T ( ) = X C( (i); m)
      </p>
      <p>i=1
M S( ) =</p>
      <p>max
i=1;:::;n</p>
      <p>
        C( (i); m) = C( (n); m)
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
where C(h; j) is the completion time of the operation Ohj and is computed by the
following recursive equation
      </p>
      <p>
        C( (i); j) = p (i);j + maxfC( (i
1); j); C( (i); j
1)g
for i; j 1, while the terminal cases are C( (0); j) = C(i; 0) = 0. In equation (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ), for
each job h, also a given delivery date dh is considered.
      </p>
      <p>The minimization of each one of these criteria is computationally hard. Indeed, both
the TFT and TT problems are NP-hard for m 2, while the MS minimization becomes
NP-hard when m &gt; 2.</p>
      <p>Many single-optimization algorithms exists, either exact or approximate, for
instance: heuristic techniques, local searches or evolutionary algorithms [2]. Anyway, in
this paper we investigate the PFSP problem as a multi-objective optimization problem,
in which the goal is to find a set of job permutations which are good enough with respect
to two or more contrasting criteria, i.e. a set of Pareto optimal solutions.</p>
      <p>Given k objective functions f1; : : : ; fk, a solution x dominates a solution x0
(denoted by x x0) if fi(x) fi(x0) for i = 1; : : : ; k, and there exists at least an index
j 2 f1; : : : ; kg such that fj (x) &lt; fj (x0). A solution x is Pareto optimal if there exist
no other solution x0 such that x0 x. The Pareto optimal set is the set of all the Pareto
optimal solution. If two solutions x and x0 are such that neither x x0 nor x0 x, then
x and x0 are incomparable.</p>
      <p>Since the Pareto set is in general very large, the goal is to find an approximation of
this set, i.e., a set composed by incomparable solutions which is as close as possible to
the Pareto optimal set. One of the most promising approaches to solve multi-objective
optimization problems is to use evolutionary algorithms [1].</p>
      <p>In the context of multi-objective PFSP, many approaches have been proposed. The
surveys [3, 7] describe and compare many algorithms for PFSP with all the three
possible combinations of two objectives among TFT, MS and TT.</p>
      <p>In this paper we describe an algorithm for multi-objective optimization which is
based on Differential Evolution for Permutation (DEP) [6]. DEP is a discrete differential
evolution algorithm which directly operates on the permutations space and hence is
well suited for permutation optimization problems like PFSP. Indeed, in [6] and in [5],
it was shown that DEP reaches state-of-the-art results with respect to total flowtime
and makespan single objective optimization. Here, DEP has been extended in order
to handle multi-objective problems. The preliminary experimental results show that its
performances are comparable with state-of-the-art algorithms.</p>
      <p>The rest of the paper is organized as follows. The second section describes the
classical Differential Evolution algorithm. Its extension to the permutations space and
multi-objective PFSP is introduced in the third section. An experimental investigation
of the proposed approach is provided in the fourth section, while conclusions are drawn
at the end of the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>The Differential Evolution algorithm</title>
      <p>In this section we provide a short introduction to Differential Evolution (DE) algorithm.
For more detail see [4]. Differential Evolution (DE) is a powerful population-based
evolutionary algorithm for optimizing non-linear and even non-differentiable real functions
in Rn. The main peculiarity of DE is to exploit the distribution of the solutions’
differences in order to probe the search space.</p>
      <p>DE initially generates a random population of N P candidate solutions x1; : : : ; xNP
uniformly distributed in the solutions space. At each generation, DE performs mutation
and crossover in order to produce a trial vector ui for each individual xi, called target
vector, in the current population. Each target vector is then replaced in the next
generation by the associated trial vector if and only if the produced trial is fitter than the target.
This process is iteratively repeated until a stop criterion is met (e.g., a given amount of
fitness evaluations has been performed).</p>
      <p>
        The differential mutation is the core operator of DE and generates a mutant vector
vi for each target individual xi. The most used mutation scheme is “rand/1” and it is
defined as follows:
vi = xr0 + F (xr1
xr2 )
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
where r0, r1, r2 are three random integers in [1; N P ] mutually different among them.
xr0 is called base vector, xr1 xr2 is the difference vector, and F &gt; 0 is the scale factor
parameter.In [4] it is argued that the differential mutation confers to DE the ability to
automatically adapt the mutation step size and orientation to the fitness landscape at
hand.
      </p>
      <p>After the mutation, a crossover operator generates a population of N P trial vectors,
i.e. ui, by recombining each pair composed by the generated mutant vi and its
corresponding target xi. The most used crossover operator is the binomial one that builds the
trial vector ui taking some components from xi and some other ones from vi according
to the crossover probability CR 2 [0; 1].</p>
      <p>Finally, in the selection phase, the next generation population is selected by a
oneto-one tournament among xi and ui for 1 i N P .</p>
    </sec>
    <sec id="sec-3">
      <title>Discrete Differential Evolution for Multi-Objective Optimization</title>
      <p>In this section we describe the proposed Multi-Objective Differential Evolution for
Permutation (MODEP) which directly evolves a population of N P permutations 1; : : : ; NP .
With respect to the classical DE, important variations have been made to the genetic
operators of mutation, crossover and selection. Moreover, an additional archive of
solutions is introduced to maintain the evolved Pareto front.</p>
      <p>To simplify our description, let us restrict to the case of two objective functions f1
and f2. A population of N P permutations 1; : : : ; NP is randomly generated at the
beginning. At each iteration, a secondary population of trial elements 1; : : : ; NP is
generated by means of the mutation and crossover operators. Then, a selection operator
selects, for i = 1; : : : ; N P , which element among i and i should be part of the
population for the next iteration.</p>
      <p>The pseudo-code of MODEP is depicted in Alg. 1.</p>
      <sec id="sec-3-1">
        <title>Differential Mutation</title>
        <p>
          The mutation operator used is the same of DEP [6]. It produces a mutant i for each
population element i using some algebraic concepts related to the symmetric group of
permutations. Here we briefly recall its structure:
Algorithm 1 MODEP
1: Initialize Population
2: Update N D
3: while num fit eval max fit eval do
4: for i 1 to N P do
5: i DifferentialMutation(i)
6: i(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ); i(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) Crossover( i; i)
7: Update N D
8: i SelectChild( i(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ); i(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ))
9: end for
10: for i 1 to N P do
11: i Selection ( i; i)
12: end for
13: end while
1 Find r0; r1; r2 different to i and to each other
2 1
3 S
4 L
5 k
6 i r0
7 for j = 1; : : : ; k apply Sj to i
r2 r1
RandBS( ) (S is a sequence of adjacent swaps)
Length(S)
dF Le
where is the ordinary permutation composition operator, 1 denotes the inverse of
a permutation, and RandBS is the randomized bubble sort procedure which allows to
decompose a permutation in a sequence of adjacent swaps (that are themselves simple
permutations). For more details, see [6].
        </p>
        <p>
          It is worth to notice that this operator works directly with permutations, simulating
from an algebraic point of view, the expression of equation (
          <xref ref-type="bibr" rid="ref4">4</xref>
          ).
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Crossover</title>
        <p>
          The crossover operator for permutation representations is the same of DEP and
produces two children i(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) and i(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) from i and i. The details are described in [6].
        </p>
        <p>
          The two permutations i(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) and i(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) are compared with respect to both f1 and f2. If
i(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) dominates i(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ), then the trial i is i(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ). Analogously, if i(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) dominates i(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ), then
the trial i is i(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ). When i(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) and i(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) are incomparable, then one of them is randomly
selected to become the trial i.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>Selection</title>
        <p>The selection operator chooses the new population element i0 between the old element
i and the trial i. If i i, then i0 becomes i, i.e., i remains in the population.
Otherwise, if i i or it is equal to i, then i0 becomes i, that is i replaces i in
the next generation population. However, if i and i are incomparable, then we use a
probabilistic method somehow similar to the -selection described in [6].</p>
        <p>
          Suppose first that f1( i) &lt; f1( i) but f2( i) f2( i). Then, i0 becomes i with
probability maxf0; 2 i(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )g, otherwise it retains the old element i, where
probability max(0; 1
        </p>
        <p>
          i(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )), where
is the relative worsening of i with respect to i according to f2.
        </p>
        <p>
          Analogously, if f1( i) f1( i) and f2( i) &lt; f2( i). Then, i0 becomes i with
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) = f2( i)
i
        </p>
        <p>
          f2( i)
f2( i)
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) = f1( i)
i
        </p>
        <p>f1( i) :
f1( i)</p>
        <p>The rationale behind this selection operator is that i enters the population if it
dominates or is equal to i or, with a small probability, if it is not too worse than i
in one of the objective functions, while it is better than i in the other objective
function. Moreover, note that the probability of accepting a slightly worsening population
element linearly shades from h, when i(h) = 0, to 0, when i(h) = h, for h = 1; 2.</p>
        <p>Therefore, the parameters h regulates how worse i can be in order to be accepted
in the new population: if 1 = 2 = 0 only better elements (in the Pareto sense) can
replace old elements in the population.</p>
      </sec>
      <sec id="sec-3-4">
        <title>Pareto Front</title>
        <p>
          The algorithm keeps updated the approximated Pareto front N D, which contains all
the non-dominated elements ever generated and evaluated. Initially N D contains all
the non-dominated population elements created during the random initialization. Then,
at each generation, all the couples of children i(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) and i(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) are used to update N D. A
new element enters N D if it is not dominated by any element of N D. Moreover, all
the elements of N D which are dominated by are removed.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Experimental Results</title>
      <p>In this section we report some preliminary experimental results obtained with an
implementation of MODEP.</p>
      <p>The experiments have been performed by solving the well known Taillard’s
instances with the additional due times given in [3]. These instances are divided in 11
groups of 10 instances with the same values of n and m. The values of n are in the set
f20; 50; 100; 200g, while m lies in f5; 10; 20g. The combination (n = 200; m = 5)
is not considered. The processing time pij of each instance are randomly generated in
fP1;m: : : ; 99g, while the due date of each job Ji are generated by multiplying the value
j=1 pij for a random factor in [1; 4]. MODEP has been run 10 times for each
instance and the adopted stopping criterion is the maximum number of evaluations, which
has been set to 2000 n m. Three combinations of objectives have been considered:
(M S; T F T ), (M S; T T ), and (T F T; T T ). For each execution the obtained Pareto front
(corresponding to N D) has been analyzed by computing two performance indices: the
hypervolume IH and the unary multiplicative epsilon I1. IH is computed as the area
delimited by the solutions of N D and a reference point. I1 compares N D with the best
known Pareto front B and is computed as</p>
      <p>I1 = max min max
x2B y2ND j=1;2 fj (x)
fj (y)
:</p>
      <p>The indices have been computed by averaging over the multiple executions and
instances for every combination of n m.</p>
      <p>The value for the parameter N P has been set to 100 after some preliminary
experiments. The parameter F used in the mutation operator is, as in [6], self-adapted during
the evolution. Instead, the values for the selection parameters 1 and 2 have been set
after a calibration phase according to Table 1.</p>
      <p>The results of the optimization of (M S; T F T ) are shown in Table 2. MODEP works
well on this problem and the values of the second index I1 (whose optimal value is 1)
are quite good, while the values for IH (whose optimal value is 1:44) are however good,
compared to those reported in [3].It is worth to notice that, fixing n, IH seems to have
a decreasing behavior as m increases (except when n = 20).</p>
      <p>Finally, the results of the optimization of (T F T; T T ) are shown in Table 4. Here,
while the performances as measured by I1 are still satisfactory, the results of IH are
slightly worse than in the previous cases.</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and Future Work</title>
      <p>In this paper we have described an algorithm for optimization of multi-objective
permutation flowshop scheduling problems. Some preliminary experimental results show
that this approach is promising and reaches results which are comparable to the
stateof-the-art algorithms. As a future line of research, we would like to add to our algorithm
some method to enhance the diversity of the population, as done in other evolutionary
multi-objective algorithms, like crowding distance or niching techniques.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Carlos</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Coello</surname>
            <given-names>Coello</given-names>
          </string-name>
          , Arturo Herna´ndez Aguirre, and
          <string-name>
            <given-names>Eckart</given-names>
            <surname>Zitzler</surname>
          </string-name>
          .
          <article-title>Evolutionary multiobjective optimization</article-title>
          .
          <source>European Journal of Operational Research</source>
          ,
          <volume>181</volume>
          (
          <issue>3</issue>
          ):
          <fpage>1617</fpage>
          -
          <lpage>1619</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>J.</given-names>
            <surname>Gupta</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.E.</given-names>
            <surname>Stafford</surname>
          </string-name>
          .
          <article-title>Flowshop scheduling research after five decades</article-title>
          .
          <source>European Journal of Operational Research</source>
          , (
          <volume>169</volume>
          ):
          <fpage>699</fpage>
          -
          <lpage>711</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Gerardo</given-names>
            <surname>Minella</surname>
          </string-name>
          , Rube´n Ruiz, and
          <string-name>
            <given-names>Michele</given-names>
            <surname>Ciavotta</surname>
          </string-name>
          .
          <article-title>A review and evaluation of multiobjective algorithms for the flowshop scheduling problem</article-title>
          .
          <source>INFORMS Journal on Computing</source>
          ,
          <volume>20</volume>
          (
          <issue>3</issue>
          ):
          <fpage>451</fpage>
          -
          <lpage>471</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>K.V.</given-names>
            <surname>Price</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.M.</given-names>
            <surname>Storn</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.A.</given-names>
            <surname>Lampinen. Differential Evolution</surname>
          </string-name>
          : A Practical Approach to Global Optimization. Springer, Berlin,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Valentino</given-names>
            <surname>Santucci</surname>
          </string-name>
          , Marco Baioletti, and
          <string-name>
            <given-names>Alfredo</given-names>
            <surname>Milani</surname>
          </string-name>
          .
          <article-title>Solving permutation flowshop scheduling problems with a discrete differential evolution algorithm</article-title>
          . submitted to AI Communication.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Valentino</given-names>
            <surname>Santucci</surname>
          </string-name>
          , Marco Baioletti, and
          <string-name>
            <given-names>Alfredo</given-names>
            <surname>Milani</surname>
          </string-name>
          .
          <article-title>A differential evolution algorithm for the permutation flowshop scheduling problem with total flow time criterion</article-title>
          .
          <source>In Parallel Problem Solving from Nature - PPSN XIII - 13th International Conference</source>
          , Ljubljana, Slovenia,
          <source>September 13-17</source>
          ,
          <year>2014</year>
          . Proceedings, pages
          <fpage>161</fpage>
          -
          <lpage>170</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>M.M. Yenisey</surname>
            and
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Yagmahan</surname>
          </string-name>
          .
          <article-title>Multi-objective permutation flow shop scheduling problem: Literature review, classification and current trends</article-title>
          .
          <source>Omega</source>
          , (
          <volume>45</volume>
          ):
          <fpage>119</fpage>
          -
          <lpage>135</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>