Una presentación de un algoritmo evolutivo para resolver problemas de optimización global que di en el Metaheuristics International Conference de 2011 en Udine, Italia.
4. Measuring success…
◦ Scalability of Evolutionary Algorithms and other
Metaheuristics for Large Scale Continuous
Optimization Problems, M. Lozano and F. Herrera
(Eds.), http://sci2s.ugr.es/eamhco/CFP.php
◦ 19 continuous functions
◦ Number of variables D={50,100,200,500,1000}
◦ Maximum number of evaluations: 5000D
The search space is continuous…
◦ Key issue: for which points will f(x) be evaluated?
4
6. 1 Generate
solutions
4
2
Select
solutions both
by quality and
diversity (EliteSet)
3
Perform a
path relinking
between each
pair of solutions
Return the best solution found so far
GRASP with PR for the MMDP
6
7. Path Relinking for Global Optimization (PR)
◦ EliteSet construction (x1,...,xb)
◦ Improve x1, and replace it with the improved
solution
◦ NewSubsets = (x,y), pair set of EliteSet solutions
◦ While NewSubsets ≠ ∅
Select next pair (x,y) from NewSubsets
Remove (x,y) from NewSubsets
Perform a path relinking with (x,y) →w
Improve w
If f(w) < f(x1) then x1 = w
7
8. EliteSet construction
◦ Generate diverse solutions
Sampling the solution space
◦ Based on ideas from factorial design of
experiments
Factorial design kn
n, #variables
k, #values
Genichi Taguchi
8
10. EliteSet construction
◦ Taguchi method is applied to obtain diverse
solutions
◦ #values k = 3
midvalue = l + ½(u-l)
lowervalue = l + ¼(u-l)
uppervalue = l + ¾(u-l)
◦ #variables n∈{50,100,200,500,1000}
10
18. EliteSet construction
◦ Taguchi table with 40 variables and 3 values
experiments
81
We generate 81 solutions by applying this table to the first
40 variables (x1,..,x40) and setting 1 to all other variables
We generate 81 solutions by applying this table to the first
40 variables (x1,..,x40) and setting 2 to all other variables
We generate 81 solutions by applying this table to the first
40 variables (x1,..,x40) and setting 3 to all other variables
◦ Totalizing 243 solutions
18
19. EliteSet construction
◦ We move the table in steps of size 20
We obtained better results
We generate 81 solutions by applying the table to the
variables x21, … ,x60 and value 1 to the remaining
variables
We generate 81 solutions by applying the table to the
variables x21, … ,x60 and value 2 to the remaining
variables
We generate 81 solutions by applying the table to the
variables x21, … ,x60 and value 3 to the remaining
variables
19
20. EliteSet construction
◦ # solutions generated with this process:
DSize=243⌈n/20⌉
◦ EliteSet is built choosing the best b solutions
20
21. Improvement is performed in two stages
1. Line search based on a single variable
Grid size h=(u-l)/100
2. Simplex method
Not limited to the grid
21
22. Improvement method: Line searches
◦ For each variable i
We evaluate x+hei and x-hei, discarding the worst
value
◦ We order the variables i={1, … ,n} according to
these values
x-hei x
x+hei
22
23. Improvement method: Line searches
1. Explore the first n/2 variables in the order that was
previously calculated:
For each variable i, evaluate solutions with the form
x+khei
k=[-20,20]
l ≤ x+khei ≤ u
HOW? Randomly & using a first-improvement approach
x-4hei
x-hei x x+hei
x+4hei
23
24. Improvement method: Line searches
1. Explore the first n/2 variables in the order that was
previously calculated:
For each variable i, evaluate solutions with the form
x+khei
k=[-20,20]
l ≤ x+khei ≤ u
HOW? Randomly & using a first-improvement approach
2. Re-evaluate the contribution of each variable, and reReorder
We explore again the first n/2 variables
3. Repeat it for 10 iterations, or until no further
improvement is possible
24
25. Improvement method: Simplex
Let x be the best solution found after the first stage
(line searches)
We perturb the value of each variable:
x=(x1, ... ,xi + α, ... ,xn)
α is generated by a uniform probability in [-1,1]
The simplex method is applied to these solutions
25
26. Relinking method
◦ Straight linking
◦ We perform the linking between three solutions
An initial solution, a
Two guiding solutions, x and y
26
28. Relinking method
◦ We start at a=(a1,...,an)
◦ Firstly we evaluate solutions in the direction given
by the vector from a to x
1
a (1) = a + ( x − a )
k
1
a ( 2) = a +
( x − a)
k −1
...
1
a ( k − 1) = a + ( x − a )
2
28
29. Relinking method:
◦ The best solution is chosen from previous step, a(j)
◦ Then we evaluate solutions in the direction given by
the vector from a(j) to y
1
a (k ) = a ( j ) + ( y − a( j ))
k
1
a (k + 1) = a ( j ) +
( y − a( j ))
k −1
...
1
a (2k − 2) = a( j ) + ( y − a ( j ))
2
29
31. EvoPR
1. EliteSet construction
2. Do
3. Apply relinking method to solutions in EliteSet
4. If no new solution can enter EliteSet → rebuild EliteSet
5. Until max number evaluations is reached
31
32. 1. Obtain an EliteSet of b elite solutions.
2. Evaluate the solutions in EliteSet and order them. Make NewSolutions =
TRUE and GlobalIter=0.
while ( NumEvaluations < MaxEvaluations ) do
3. Generate NewSubsets, which consists of the sets (a, x, y) of
solutions in EliteSet that include at least one new solution. Make
NewSolutions = FALSE and Pool = ∅.
while ( NewSubsets ≠ ∅ ) do
4. Select the next set (a, x, y) in NewSubSets.
5. Apply the Relinking Method to produce the sequence from a to x
and y.
6. Apply the Improvement Method to the best solution in the
sequence. Let w be the improved solution. Add w to Pool.
7. Delete (a, x, y) from NewSubsets
end while
for (each solution w ∈ Pool)
8. Let xw be the closest solution to w in EliteSet
if ( f(w) < f(x1) or ( f(w) < f(xb) & d(w, xw)>dthresh) then
9. Make xw = w and reorder EliteSet
10. Make NewSolutions = TRUE
end if
end for
11. GlobalIter = GlobalIter +1
If ( GlobalIter = MaxlIter or NewSolutions= FALSE)
12. Rebuild the RefSet. GlobalIter =0
end if
end while
32
34. Benchmark
◦ 19 functions with known optimum
6 from CEC’2008
5 shifted functions
8 hybrid functions
◦ Requirements
5 dimensions: D={50,100,200,500,1000}
25 executions per algorithm and function
Maximum number of evaluations: 5000D
34
41. Path Relinking for Global Optimization
◦ Constructive method based on
Fractional experiment design
Diverse solutions
◦ Linking strategy with more than two solutions
◦ Improvement method
Line search with grid
First-improvement approach
Random evaluation of points
41
42. A balance between...
◦ Solution space exploration
◦ Limited number of evaluations
Competitive method compared with state of
the art
◦ EvoPR performs better in high dimensions
42