Presentation is loading. Please wait.

Presentation is loading. Please wait.

Optimal n fe Tian-Li Yu & Kai-Chun Fan. n fe n fe = Population Size × Convergence Time n fe is one of the common used metrics to measure the performance.

Similar presentations


Presentation on theme: "Optimal n fe Tian-Li Yu & Kai-Chun Fan. n fe n fe = Population Size × Convergence Time n fe is one of the common used metrics to measure the performance."— Presentation transcript:

1 Optimal n fe Tian-Li Yu & Kai-Chun Fan

2 n fe n fe = Population Size × Convergence Time n fe is one of the common used metrics to measure the performance of GAs. The optimal n fe is an n fe that is based on a reliable population size (large enough to get good solutions.) This slide propose a new method, called Optimal n fe, to find the optimal n fe.

3 Agenda User guide Bisection Optimal n fe Conclusion

4 Installation Components of DSMGA Source codes only – Modified files (they do not affect the original programs) Makefile global.cpp global.h – Additional file optnfe.cpp After compiling – optnfe

5 Usage./optnfe ell lower upper – optnfe executable file – ell problem size – lower population size lower bound -1 for no assignment – upper population size upper bound -1 for no assignment

6 Algorithm 2 x 2 phases – Bisection ( 2 phases ) Lower bound of reliable population size to solve problem – Optimal n fe ( 2 phases) Optimal (minimal) n fe to solve problem

7 Agenda User guide Bisection Optimal n fe Conclusion

8 Bisection Method in Mathematics A root-finding algorithm which repeatedly bisects an interval then selects a subinterval in which a root must lie for further processing Intermediate value theorem f:[a, b] → R, if f(a) < u < f(b) or f(b) < u < f(a), then there exists c in (a, b) where f(c) = u.

9 Bisection Method in GAs Martin Pelikan, 2005 – Given that we know the optimum (population size), the number of generations can be determined by the GA itself. – The problem is how to determine an adequate population size for each problem size. This slide uses “Bisection” to call the bisection method proposed by Martin Pelikan.

10 Bisection (Martin Pelikan) 1. Start with some very small N (say, N = 10 ) 2. Double N until GA convergence is sufficiently reliable 3. (min, max) = (N/2, N) 4. repeat until (max - min) / min < 0.1 (use your own threshold here) { N = (min + max) / 2 if N leads to sufficiently reliable convergence then max = N else min = N } 5. Compute all your statistics for this problem size using pop.size = max

11 Bisection in GAs Martin Pelikan: What I like on using the bisection method is that all parameter tweaking will be done automatically, because the remaining GA parameters do not influence time complexity as much (mostly by some constant factor and that's not so important when we talk about asymptotic upper bounds). To eliminate noise, the bisection can be run several times and the results of all bisection runs can be averaged (right now I use 10 rounds of bisection, each with 10 runs).

12 Bisection in GAs Martin Pelikan: Of course, the above thinking is correct only if larger populations lead to better solutions (given enough generations we should all be able to believe this fact) and if smaller populations do not significantly increase the number of generations (in all cases I studied, any sufficiently large population size lead to about the same number of generations, as can be expected for many variants of evolutionary algorithms based primarily on recombination).

13 Population Size vs. Convergence Time n fe = Population Size × Convergence Time – Order Population Size > Convergence Time – Constant? population size lower bound (optimum) found by Bisection with 10×100 runs in the experiments for DMC n fe population size

14 Agenda User guide Bisection Optimal n fe Conclusion

15 Empirical results – According to the abilities of GAs? DMC(left), perfect model for trap(right) Maybe the scale of lower bound is also a key point. Assumption Population size lower bound n fe population size

16 Prerequisite Population size lower bound from Bisection – Efficiency – An accurate search for n fe may take thousands of runs for each population size. – Empirical results show that meaningful search ranges are not so large. Touching the impractical population size (too small or to large) may waste lots of time.

17 Optimal n fe 2 phases – Phase 1 Calculate the n fe of population size lower bound (from Bisection). Search for the range (upper bound) of population size according to n fe. – Phase 2 Divide the range into four pieces, and then calculate the slope for each one. Reduce the range recursively by observing the variations in slopes.

18 Optimal n fe Phase 1 Case 1 – n fe(1) < n fe(2) n fe population size n fe(1) n fe(2) some ratio (10% population size lower bound in default)

19 Optimal n fe Phase 1 Case 2 – n fe(1) > n fe(2) AND n fe(3) > n fe(2) n fe population size n fe(1) n fe(2) n fe(1) n fe(2) Which one? n fe(3)

20 Optimal n fe Phase 1 Case 3 (extension of case 2) – n fe(1) > n fe(2) > … > n fe(i-1) – n fe(i-1) > n fe(i) AND n fe(i+1) > n fe(i) n fe population size n fe(1) n fe(5) n fe(6) n fe(2) n fe(3) n fe(4) like case 2

21 Optimal n fe Phase 2 7 (or 9) cases – Case 1 (and 8) 1 2 3 4 5 12 3 4 5 n fe(2) - n fe(1) ≥ 0

22 Optimal n fe Phase 2 7 cases – Case 2 & 3 1 2 3 4 5 1 23 4 5 n fe(2) - n fe(1) < 0 n fe(3) - n fe(2) > 0 n fe(3) - n fe(2) = 0

23 Optimal n fe Phase 2 7 cases – Case 4 & 5 1 2 3 4 5 1 2 3 4 5 n fe(3) - n fe(2) < 0 n fe(4) - n fe(3) > 0 n fe(4) - n fe(3) = 0

24 Optimal n fe Phase 2 7 cases – Case 6 & 7 (and 9) 1 2 3 4 5 1 2 3 4 5 n fe(4) - n fe(3) < 0 n fe(5) - n fe(4) > 0 n fe(5) - n fe(4) ≤ 0 1 2 3 4 5

25 Optimal n fe Algorithm 1.Start with the optimum population size pop (0) from Bisection and then get n fe(0) 2.Calculate n fe(i+1) where pop (i+1) = pop (i) *1.1, repeat until n fe(i+1) > n fe(i) 3.Keep the information of i-1 as lower and i+1 as upper 4.Repeat until pop (upper) – pop (lower) < pop (0) * 0.01 (to assign the precision here) { for ( k = 1 to 4 ) { calculate n fe of pop (k), where pop (k) = ( ((4 – k) * pop (lower) + k * pop (upper) ) / 4 ) if n fe(k) ≥ n fe(k-1) { lower ← k - 2 or 0 (if k = 1) upper ← k } 5.Optimal n fe is the minimum n fe with its population size between pop (lower) and pop (upper) that has already been calculated in above runs.

26 Speed Up Unnecessary calculation skipping – If and only if n fe(i) - n fe(i-1) < 0, then n fe(i+1) - n fe(i) should be considered. Table look-up

27 In fact Empirical results show that, the population size difference between Bisection and Optimal n fe are almost lower than 20%. – For example, if the Bisection optimum is 1000, the population size for optimal n fe is smaller than 1200. – If the precision is 1%, the worst case of sweep method is 20 runs, the average case is less than 10 runs. – However, if higher precision is needed, Optimal n fe beats the sweep method obviously. 1% (100 for 10000): 10 runs vs. 11 runs 0.1% (10 for 10000): 100 runs vs. 17 runs 0.01% (1 for 10000): 1000 runs vs. 25runs

28 Agenda User guide Bisection Optimal n fe Conclusion

29 Problems and Future Work Some empirical results show that n fe over population size may be a concave-up or an increasing curve. – A proof or strict experiments are needed. – Due to the abilities of GAs? Maybe the more powerful the GA is, the closer results are from Optimal n fe to Bisection. Maybe the scale of lower bound is a key point. If there exist a problem such that Optimal n fe and Bisection result in contraries?

30 Conclusion n fe is one of the commonly used metrics to measure the performance of GAs. Bisection is a method to find the minimum reliable population size efficiently. Due to some empirical results, the optima from Bisection are not necessarily the population sizes for optimal n fe. This slide propose a new method, Optimal n fe, which can automatically calculate the optimal (minimal) n fe for GAs processing. The difference between Bisection and Optimal n fe still has to be discussed in the future.


Download ppt "Optimal n fe Tian-Li Yu & Kai-Chun Fan. n fe n fe = Population Size × Convergence Time n fe is one of the common used metrics to measure the performance."

Similar presentations


Ads by Google