Particle Swarm Procedure for the Capacitated Open Pit Mining

Document Sample
Particle Swarm Procedure for the Capacitated Open Pit Mining Powered By Docstoc
					  Particle Swarm Procedure for the
Capacitated Open Pit Mining Problem



Jacques A. Ferland, University of Montreal
Jorge Amaya, University of Chile
Melody Suzy Djuimo, University of Montreal




                                     ICARA, December 2006
RIOT Mining Problem web site:
http://riot.ieor.berkeley.edu/riot/Applications/OPM/OPMInteractive.html




     bi the net value of
     extracting block i


        1 if block i is extracted
   xi  
        0 otherwise.



    objective function    bi xi .
                         iN



    Maximal Open Pit problem: to determine the maximal gain
                              expected from the extraction
Maximal pit slope constraints
to identify the set Bi of
predecessor blocks that have
to be removed before block i


 Bi   block i predecessors
Maximal pit slope constraints
to identify the set Bi of
predecessor blocks that have
to be removed before block i
(MOP)          Max    bi xi
                     iN
        Subject to   x j  xi  0    j  Bi , i  N   (1)
                       xi  0 or 1     i  N.         (2)
                Scheduling block extraction

Account for operational constraints:
          Ct the maximal weight that can be extracted during period t
and for the discount factor during the extracting horizon:
            1
               discount rate per period
           1
                                           pi weight of block i

bi the net value of
extracting block i

                                                   xit  
                                                          1      if block i is extractedduring period t
                                                         0      otherwise.
                                                         



                        T            bi
  (SBE) Max                                 xt                          (3)
                             iN (1   )
                                          t 1 i
                      t 1

                                                                                 N can be replaced by
                                                                         4
                    T
  Subject to         xi  1            iN
                       t


                t
                    t 1                                                         the maximal open pit
                x j  xi  0 j  Bi , i  N , t  1, , T               (5)         N* = (S – {s})
                  l     t

               l 1

                pi xi  Ct                t  1, , T                   (6)
                     t

               iN

                    xit  0 or 1          i  N , t  1,, T .            (7)
          Scheduling block extraction ↔ RCPSP

• Open pit extraction ↔ project

• Each block extraction ↔ activity

• Precedence relationship derived from the maximal pit slope constraints
Pi  Bi   block i predecessors
          Scheduling block extraction ↔ RCPSP

• Open pit extraction ↔ project

• Each block extraction ↔ activity

• Precedence relationship derived from the maximal pit slope constraints
                    Pi  Bi   block i predecessors
• Reward associated with activity (block) i depends of the extraction period t


                                  bi
                              (1   )t 1
         Genotype representation of solution

Similar to Hartman’s priority value encoding for RCPSP

                    PR  [ pr1 ,, prN ]
pri  [0,1] priority of scheduling block i extraction
         N

         pr  1
         i 1
                i
   Decoding of a representation PR into a solution x

• Serial decoding to schedule blocks sequentially one by one to be extracted
• To initiate the first extraction period t = 1:
   remove the block among those having no predecessor (i.e., in the top layer)
  having the highest priority.
• During any period t, at any stage of the decoding scheme:
  the next block to be removed is one of those with the highest priority
  among those having all their predecessors already extracted such that the
  capacity Ct is not exceeded by its extraction.

   If no such block exists, then a new extraction period (t + 1) is initiated.
                         Priority of a block

• Consider its
         net value bi and
         impact on the extraction of other blocks in future periods

• Block lookahead value bi (Tolwinski and Underwood) determined by
  referring to the spanning cone SCi of block i
SCi   j  N * : i must be extracted before j .
                                                  i

                  bi    b
                         jSCi
                                 j
            Genotype priority vector generation

• Several different genotype priority vectors can be randomly generated with
  a GRASP procedure biased to give higher priorities to blocks i having
  larger lookahead values bi



• Several feasible solutions of (SBE) can be obtained by decoding different
  genotype vectors generated with the GRASP procedure.
                    Particle Swarm Procedure

• Evolutionary process evolving in the set of genotype vectors to converge to
  an improved feasible solution of (SBE).
• Initial population P of M genotype vectors (individuals) generated using
                      P  PR1 , , PR M .
  GRASP

• Denote
         k
     PR the best achievement of the individual k up to the current iteration
     PRb the best overall genotype vector achieved up to the current iteration
                     Particle Swarm Procedure

• Denote
       k
    PR the best achievement of the individual k up to the current iteration
   PRb the best overall genotype vector achieved up to the current iteration

Modification of the individual vector k at each iteration
                                              k
                   vc :  wvc  c r ( pr i  pri k )  c2 r2ki ( prbi  pri k )
                     i
                      k
                                 i
                                  k       k
                                       1 1i
and wedefine
                    ppri k :  vcik  pri k

           currentsol. k                     
           best achiev. of k  new current
                               velocity     currentsol. k
           best sol.
                                              in next population
           current velocity                   
                                currentsol. k 
                                              
                     Particle Swarm Procedure

• Denote
       k
    PR the best achievement of the individual k up to the current iteration
   PRb the best overall genotype vector achieved up to the current iteration

Modification of the individual vector k at each iteration
                                              k
                   vc :  wvc  c r ( pr i  pri k )  c2 r2ki ( prbi  pri k )
                     i
                      k
                                 i
                                  k       k
                                       1 1i
and wedefine
                    ppri k :  vcik  pri k

                 PRk is obtained by transla  ting PPRk so that
                          pri k  0 i  1,, N *
                 and by normalising to have
                                N*
                                pri  1.
                                    k

                               i 1
                        Numerical Results

• 20 problems randomly generated over a two dimensions grid having 20
  layers and being 60 blocks wide.
• The 10 problems having smaller optimal pit are used to analyse the impact
  of the parameters.
• We compare the results for 12 different set of parameter values l
• For each set of parameter values l, each problem ρ is solved 5 times to
  determine
  valρ : the average of the best values v(PRb) achieved
  vblρ : the best values v(PRb) achieved
  %lρ : the average % of improvement
                         val - v( PRb) at first iter.
                %l                                    100
                            v( PRb) at first iter.
  itlρ : the last iteration where an improvement
          of PRb occurs.

• Then for each set of parameter l, we compute the average values val, vbl,
  %l , and itl over the 10 problems.
Results
                         Impact of β in GRASP




       Comparing rows 1, 2, and 3 , we observe that the values of val and vbl
       decrease while the value of %l increases as the value of β increases.
       The same observations apply for rows 4, 5, and 6.


Bias to increase priority of blocks with larger lookahead value as β decreases.
(β = 100 is equivalent to assign priority randomly).
Individual genotype vectors in initial population tend to be better as β decreases.
            Impact of population size M




     The value val in row 1 is larger than in row 4. The same
     is true if we compare rows 2 and 5, and rows 3 and 6.


This indicates that the values of the solutions generated are better
when the size of the population is larger. This makes sense since we
generate a larger number of different solutions.
           Impact of particle swarm parameters




           Comparing the results in rows 2, 7, 8,and 9, and those
           in rows 5, 10, 11, and 12, there is no clear impact of
           modifying the values of the parameters w, c1 and c2.


Note that the values w = 0.7, c1 = 1.4, and c2 = 1.4 were selected accordingly
to the authors in [19] who shown that setting the values of the parameters close
to w = 0.7298 and c1 = c2 = 1.49618 gives acceptable results.
                  Impact of particle swarm process



            the percentage of improvement of
                    va1ρ over vgreedy better
          the worst values vw1ρ isranges than
                   from problems.
          vgreedy for all2.32% to 52.24%



                                       Average
Each of the 10 other larger problems    value
are solved 5 times with parameter       Best     vgreedy value of the solution
values in set 1.                        value    generated by decoding the
                                       Worst     genotype vector where
                                       value     priority of blocks are
                                                 proportional to their
                                                 lookahead values
                             Future work

• Solve larger problems

• Include other operational constraints found in real world applications

• Compare with other evolutionary approaches (genetic algorithm)