To explain the strategic search techniques employed by the eBPA, a hypothetical example will be used in performing the illustration. This example will broadly represents an optimization problem.
Assuming that the optimization function π(π₯) is a maximization problem, the objective will be to determine the optimal solution vector π₯ββ π; π represents the solution space of feasible solutions.
This solution space is constrained by linear and non-linear equations π(π₯) {β€, =, β₯} 0. The intent of this illustration is to discuss the possible steps taken by the eBPA in locating the global optimum point.
Figure A.1 graphically illustrates the problem. The search space is seen to have three local optimum points; these are located at points π(π₯π), π(π₯π) and π(π₯π) respectively. The solution vectors used to determine these points are π₯π, π₯π and π₯π respectively. The global optimum point is situated at point π(π₯π). The neighborhood regions underlining these local optimum points are π1, π2 and π3 respectively. Falling within these neighborhood regions, are solution points which will be to explain the trajectory of the search. Amongst these is π(π₯π). This point will be the point of departure.
Figure A.1: Illustration of a hypothetical optimization problem having three local optimum points
133
The parameter settings of the eBPA will be as follows: the Performance List size (ππΏ_π ππ§π) will be 3, the probability factor (ππ) will be set at 0.05, and the πππππΌπ‘ππππ‘ππππ for which to execute will be set at 30.
The ππΏ size will be strategically reduced by 1 every ππππ’ππππΏ number of iterations; letβs assume that ππππ’ππππΏ = πππππΌπ‘ππππ‘ππππ /ππΏ_π ππ§π. To trace through the steps of the algorithm, we maintain a table consisting of the decision variables. The table updates will monitor the variable state changes, in tracing through the search from its initial point of departure at point π(π₯π) to its optimum point π(π₯π). For consistency, the first iteration will be indexed at 0.
Table A.1 shows the initial values of the decision variables, at iteration 0. ππΏ0 is initialized to π₯π, and ππΏ_πΉππ‘πππ π 0 is initialized to π(π₯π). We assume solution vector π₯π had been randomly generated.
π€ππππππ is set to π₯π, all indices point to index 0, and π‘πππππ is initialized to be true.
Table A.1: Variables state changes at iteration 0
Figure A.2 shows the sequences of events for iterations 1 and 2. The decision variable updates are seen in Table A.2. Arc 1, in Figure A.2 (which relates to iteration 1), shows a transition from point π(π₯π) to point π(π₯π). This transition had been determined by implementing a move on solution vector π₯π; this determined solution vector π₯π. Solution vector π₯π, and its fitness value π(π₯π), got inserted
Iteration
0 Performance List
size ππΏ_π ππ§π 3
Working Solutions
π€ππππππ π₯π
π€ππππππβ -
The ππΏ and ππΏ_πΉππ‘πππ π
lists
0 π₯π | π(π₯π)
1 -
2 -
Solution Indices
πππ π‘πΌππππ₯ 0 π€πππππππΌππππ₯ 0 π€πππ π‘πΌππππ₯ 0
Toggle Variable π‘πππππ true
134
into the Performance Listβs at index 1. As the Performance Listβs are not fully populated as yet, the admittance criterion of the worst solution does not come into play. π€πππππππΌππππ₯ immediately points to the newly inserted solution, and now has the value of 1. Since point π(π₯π) has improved upon point π(π₯π), πππ π‘πΌππππ₯ has now been set to 1. The π€πππ π‘πΌππππ₯ remains at 0.
At this point, a random number in the range of [0,1] is generated and compared against ππ. Assuming that the probability condition did not get met, π‘πππππ remains true. However, in these particular cases, even if π‘πππππ were to be set to false, it would make no difference. Reason being, the updated working solution π€ππππππβ is the same solution which just got inserted into the memory structure.
Therefore, this solution would be the next π€ππππππ solution.
Arc 2, in Figure A.2 shows a transition from point π(π₯π) to point π(π₯π); this occurred as a move was implemented on solution vector π₯π. This move transition relates to iteration 2. With index 2 in the Performance Listβs being unpopulated, the solution vector π₯π, and its corresponding fitness value π(π₯π), got inserted at this index. As can be seen, solution vector π₯π is a dis-improved move; it falls below the point of π(π₯π). Being a dis-improved move, the πππ π‘πΌππππ₯ remains unchanged. The π€πππππππΌππππ₯ has now been updated to be 2. The π€πππ π‘πΌππππ₯ remains unchanged, as π(π₯π) is still an improved point over π(π₯π).
At this point, with the Performance Listβs being fully populated, the admittance criterion of the worst solution will come into play. This is seen as a horizontal line across point π(π₯π). The level set by this horizontal line is the minimum requirement of acceptance across the entire search space π (i.e. any solution determined below this level will immediately be rejected). Assuming the probability condition remained unsatisfied, π‘πππππ remains true.
135
Figure A.2: Sequences of moves for iterations 1 and 2
Table A.2: Variables state changes for iterations 0 to 2
Figure A.3 shows a move transition from point π(π₯π) to point π(π₯π). This is indicated by arc 3. π(π₯π) is the local optimum point of neighborhood structure π1. Point π(π₯π) improves upon the fitness as indicated by the π€πππ π‘πΌππππ₯ (i.e. ππΏ_πΉππ‘πππ π π€πππ π‘πΌππππ₯ = π(π₯π)). Therefore, solution vector π₯π, and its fitness value π(π₯π), has now been inserted at index 0 into the Performance Listβs. As an update
Iterations
0 1 2
Performance List
size ππΏ_π ππ§π 3 3 3
Working Solutions
π€ππππππ π₯π π₯π π₯π
π€ππππππβ - π₯π π₯π
The ππΏ and ππΏ_πΉππ‘πππ π
lists
0 π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) 1 - π₯π | π(π₯π) π₯π | π(π₯π)
2 - - π₯π | π(π₯π)
Solution Indices
πππ π‘πΌππππ₯ 0 1 1
π€πππππππΌππππ₯ 0 1 2
π€πππ π‘πΌππππ₯ 0 0 0
Toggle Variable π‘πππππ true true true
136
of the memory structure has just been realized, the π€πππππππΌππππ₯ immediately points to index 0.
Since point π(π₯π) has improved upon point π(π₯π), the πππ π‘πΌππππ₯ has also been assigned to index 0.
At this step, π€πππ π‘πΌππππ₯ needs to be re-determined; it resultantly had been assigned to index 2.
Hence, the horizontal lower-bound of admittance just got elevated to point π(π₯π). Assuming the probability condition remained unsatisfied, π‘πππππ remains true. The variable updates are seen in Table A.3, under iteration 3.
Figure A.3: Sequences of moves for iteration 3
Table A.3: Variables state changes for iterations 0 to 3 Iterations
0 1 2 3
Performance List
size ππΏ_π ππ§π 3 3 3 3
Working Solutions
π€ππππππ π₯π π₯π π₯π π₯π
π€ππππππβ - π₯π π₯π π₯π
The ππΏ and ππΏ_πΉππ‘πππ π
lists
0 π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) 1 - π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) 2 - - π₯π | π(π₯π) π₯π | π(π₯π)
Solution Indices
πππ π‘πΌππππ₯ 0 1 1 0
π€πππππππΌππππ₯ 0 1 2 0
π€πππ π‘πΌππππ₯ 0 0 0 2
Toggle Variable π‘πππππ true true true true
137
Assuming no improved moves were determined at iterations 4, 5 and 6, Figure A.4 shows move transitions in breaking out of a possible cycle. This is indicated by arcs 4 and 5, and relates to iterations 7 and 8 respectively. Iterations 7 and 8 are documented in Table A.4. A cycle could occur if solution π₯π continuously determined a dis-improved move to solution π₯π, which then returned back to π₯π. The move from point π(π₯π) to point π(π₯π) is indicated by arc 4. This move has occurred at iteration 7. At this iteration, we see that the probability condition π πππππ[0,1] < ππ has now been satisfied.
Immediately, π‘πππππ is set to false. This means that π€ππππππβ will become the next π€ππππππ solution, at iteration 8. The acceptance of this move shows a transition from neighborhood region π1 to neighborhood region π2.
Arc 5, at iteration 8, shows an improved move made from point π(π₯π) to point π(π₯π). π(π₯π) improves upon the worst point π(π₯π), therefore an update of the Performance Listβs are required. The insert is performed at index 2. The π€πππππππΌππππ₯ and πππ π‘πΌππππ₯ (as π(π₯π) is the best point found so far) get re-assigned to point to index 2. The π€πππ π‘πΌππππ₯ gets re-assigned to point to index 1. With the probability condition being unsatisfied, π‘πππππ remains true; π‘πππππ had been reset to true at the point of having determined π₯π.
Figure A.4: Illustrating state transitions in breaking out of a possible cycle
138
Table A.4: Variables state changes for iterations 0 to 8
Iterations 9 and 10, as seen in Table A.5 show no improvement. However, at iteration 10, the resize() condition gets satisfied. To perform the resize, solution swaps are required. Here, the solutions referred to by the π€πππ π‘πΌππππ₯ (i.e. index 1) need to be swapped with the solutions referred to by the last index (i.e. index 2), in the Performance Listβs. As the solutions referred to by index 2 is the πππ π‘πΌππππ₯ and π€πππππππΌππππ₯, these indices get re-assigned to point to index 1. The ππΏ_π ππ§π then gets reduced by 1; it now has the size of 2. At this point the π€πππ π‘πΌππππ₯ gets re-determined, and points to index 0 which refers to point π(π₯π). The horizontal line correspondingly elevates to the level at point π(π₯π). This is seen in Figure A.5. This strategy further restricts the admittance criterion, making it more difficult for a memory structure to be updated.
Iterations
0 1 2 3 β¦ 7 8
ππΏ size Performance
List size 3 3 3 3 β¦ 3 3
Working Solutions
π€ππππππ π₯π π₯π π₯π π₯π β¦ π₯π π₯π
π€ππππππβ - π₯π π₯π π₯π β¦ π₯π π₯π
The ππΏ and ππΏ_πΉππ‘πππ π
lists
0 π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) β¦ π₯π | π(π₯π) π₯π | π(π₯π) 1 - π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) β¦ π₯π | π(π₯π) π₯π | π(π₯π) 2 - - π₯π | π(π₯π) π₯π | π(π₯π) β¦ π₯π | π(π₯π) π₯π | π(π₯π)
Solution Indices
πππ π‘πΌππππ₯ 0 1 1 0 β¦ 0 2
π€πππππππΌππππ₯ 0 1 2 0 β¦ 0 2
π€πππ π‘πΌππππ₯ 0 0 0 2 β¦ 2 1
Toggle Variable π‘πππππ true true true true β¦ false true
139
Figure A.5: Illustration of how the admittance criterion further restricts when the ππΏ reduces in size
Table A.5: Variables state changes for iterations 0 to 10
In Figure A.6, arc 6 shows an improved move transition from point π(π₯π) to point π(π₯π); this occurs at iteration 16. The variable state changes are seen in Table A.6. Point π(π₯π) improves upon point π(π₯π), therefore the Performance Listβs get updated at index 0. The π€πππππππΌππππ₯ and πππ π‘πΌππππ₯ (as point π(π₯π) is now the best solution determined so far) are assigned to point to index 0. The
Iterations
0 1 2 3 β¦ 7 8 9 10
ππΏ size Performance
List size 3 3 3 3 β¦ 3 3 3 2
Working Solutions
π€ππππππ π₯π π₯π π₯π π₯π β¦ π₯π π₯π π₯π π₯π
π€ππππππβ - π₯π π₯π π₯π β¦ π₯π π₯π π₯πβ² π₯πβ²
The ππΏ and ππΏ_πΉππ‘πππ π
lists
0 π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) β¦ π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) 1 - π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) β¦ π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) 2 - - π₯π | π(π₯π) π₯π | π(π₯π) β¦ π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π) π₯π | π(π₯π)
Solution Indices
πππ π‘πΌππππ₯ 0 1 1 0 β¦ 0 2 2 1
π€πππππππΌππππ₯ 0 1 2 0 β¦ 0 2 2 1
π€πππ π‘πΌππππ₯ 0 0 0 2 β¦ 2 1 1 0
Toggle Variable π‘πππππ true true true true β¦ false true true true
140
π€πππ π‘πΌππππ₯ is re-determined and now points to index 1. Point π(π₯π) is the local optimum point of the neighborhood region π2. With the horizontal line moving up to point π(π₯π), the admittance criterion constrains even further. Assuming that the probability condition did not get satisfied, π‘πππππ remains unchanged. A point of interest is that no solution from the neighborhood region π1 will be accepted, as the point π(π₯π) supersedes the local optimum point π(π₯π).
At iteration 20, no improved solution gets registered. However, the resize() condition has now been satisfied. At this step, the solutions pointed to be the π€πππ π‘πΌππππ₯ (i.e. index 1) need to be swapped with the solutions at the last index (i.e. index 1). Since both indices are the same, no swap is required.
Therefore, the πππ π‘πΌππππ₯ and the π€πππππππΌππππ₯ remain the same. The ππΏ_π ππ§π is then reduced by 1; it now has the size of 1. The π€πππ π‘πΌππππ₯ gets re-determined, and now points to index 0. With the quality of the worst solution having been increased, the admittance criterion restricts yet further. This is indicated by the horizontal line being elevated to point π(π₯π). We assume π‘πππππ remains unchanged.
The restriction of the admittance criterion forces the search to break beyond the local optimum point π(π₯π), of neighborhood region π2, to point π(π₯β), of neighborhood region π3. The transition is seen by arc 7 at iteration 23. Solution π₯β, and its fitness value π(π₯β), get inserted into the Performance Listβs at index 0. The π€πππππππΌππππ₯, πππ π‘πΌππππ₯ and π€πππ π‘πΌππππ₯ remains at 0. π‘πππππ remains true.
At iteration 24, a move is applied to solution vector π₯β; this determined an improved solution π₯π. This is seen by arc 8, which points to location π(π₯π). The Performance Listβs get appropriately updated.
The π€πππππππΌππππ₯, πππ π‘πΌππππ₯, π€πππ π‘πΌππππ₯ and π‘πππππ remain unchanged.
At iteration 29, greater levels of exploitation are experienced. This pushes the trajectory of the search to global optimum point π(π₯π). π₯π and π(π₯π) get inserted into the Performance Listβs. At the end of this iteration, the termination criterion is satisfied. At this point, solution vector π₯π is returned as the final solution.