5.3 Proposed Multiobjective Optimization Algorithms for Analog/RF Circuit Siz-
5.3.3 Improved Multiobjective Brain Storm Optimization (IMBSO)
5.3.3.3 Selection of cluster centroid using RFD scheme
MBSO algorithm updates the cluster centroids in each iteration which shows a trend of moving towards better solutions. In this regard, we propose to incorporate RFD scheme inside IMBSO framework. Here, the purpose behind this is to select an optimal centroid among individuals in one cluster (random(0,1) < p three) or multiple (two) clusters (random(0,1)>p three).
For selecting an optimal centroid in one cluster, the probability (P r) (as described in (4.8)) of selecting the next centroid in a cluster is estimated by evaluating the gradient (Ds) between current centroid and previous centroid of the cluster, or considering the gradients between current centroid and all nearest elite individuals in the current cluster. However, it can also be evaluated by considering gradients of all possible choices at the current cluster centroid instead of taking a single gradient. The amount of erosion introduced by RFD is considered as a penalty to the fitness (i.e., optimal cluster centroid) selection and it is estimated by the cost being paid in selecting the next best fitness (centroid). During evaluation of cluster centroid, each individual is assumed as node and the current fitness values of individuals represent different altitude values (Alt). The Euclidean distance between nearest individuals correspond to the weight (w) of edge between nodes (individuals). Such implementation of RFD administers the evaluation of a cluster centroid in optimal direction (best cluster centroid evaluation). The process is continued with a number of water drops starting from one centroid and performing random probabilistic movement to follow different paths (selecting different individuals each time). This process of evaluation continues till the all individuals in the clusters are analyzed or an iteration limit is reached. Finally, all possible evaluation paths are
5.3 Proposed Multiobjective Optimization Algorithms for Analog/RF Circuit Sizing
Algorithm 19:Procedure for the proposed improved multiobjective brain storm op- timization (IMBSO)
Input : Bounds of variable vectorx,N,max gen,M Output :Parchive
1: Generate initial population of sizeNfor variable vectorx;
2: P1archive←ϕ; ▷Initially empty Parchive
3: P1elite←ϕ,Pnormal←ϕ; ▷Pelite:Set of elite individuals,Pnormal:Set of normal individuals
4: F←f(x); ▷evaluate fitness for each objective M
5: if x⪯̸y∀y∈P1archivethen
6: P1archive← {y∈P1archive|y⊀x}; ▷Add nondominated points to Parchiveand remove points dominated byx
7: P1archive←P1archive∪F;
8: end if
9: fort→2tomax gendo
10: Initialize cluster centroids,c1, c2, . . . , ck∈Rof clustersC1, C2, . . . Ck, respectively usingk-means++;
11: Cluster variable vectorxintok(>1)clusters forMobjectives; ▷Clustering analysis starts using k−means
12: p←1;
13: whilep < N−1do
14: fori←1toNdo
15: forj←1tokdo
16: liq←arg min
j ||xi−cj||2,q=j, q∈k;
17: end for
18: Grq←Grq∪xi;
19: end for
20: forj←1tokdo
21: cj←mean(Grj);
22: end for
23: p←p+ 1
24: end while ▷Clustering ends using k−means
25: For each objectiveM, choose one cluster asElite clusterhaving the best fitness value;
26: if x∈Elite clusterthen
27: Ptelite←Ptelite∪F;
28: else
29: Ptnormal←Ptnormal∪F;
30: end if
31: forn→1toNdo
32: ifrandom(0,1)<p onethen
33: ifrandom(0,1)<p twothen
34: ifrandom(0,1)<p threethen
35: Randomly select anElite clusterand a cluster centroid;
36: xselected←findCentroidUsingRFD(Elite cluster);
37: else
38: Randomly select two clusters,CiandCj,i, j∈k;
39: C← Ci∪Cj;
40: c←chooseRandomCentroid(C);
41: xselected←findCentroidUsingRFD(C);
42: end if
43: else
44: xselected←chooseRandom(Ptarchive);
45: end if
46: else
47: xselected←random(Lx, Ux); ▷Lx, Uxdenote lower and upper bounds of variable vectorx
48: end if
49: xnew←AdaptiveLevyMutation(xselected);
50: x←Selection(xselected,xnew);
51: end for
52: F←f(x);
53: j←1
54: while|Ptarchive|+ |Fj| ≤Ndo
55: AssignCrowdingDistance(Fj);
56: Ptarchive←Ptarchive∪Fj;
57: j←j+ 1;
58: QuickSort(Fj);
59: end while
60: end for
analyzed and individual having the best fitness (minimum value) is represented as centroid of the cluster and is chosen asxselected .
Algorithm 20:Procedure forfindCentroidUsingRFD()
Input : Individuals of a single cluster,x∈Ci,i∈k, or individuals of a combined cluster, x∈C,C=Ci∪Cj, i, j ∈k
Output :xselected 1: forp←1 toNCdo
2: sum←ϕ
3: forj←1 tonumOf Dropsdo
4: total erosionpj←ϕ
5: while xpjis not covereddo
6: r←random(0,1)
7: for k←1 toxpneighbordo
8: ifr < P r(xpj,xpneighbor)then
9: break
10: end if
11: end for
12: xpnext←xkj ▷find the next individual
13: xpneighbor←FindNeighbors(xpnext) ▷find neighbors of the next individual
14: total erosionpj←total erosionpj+Erosion(xpj,xpnext) ▷update erosion value of pthindividual
15: end while
16: if|xpj|==ϕ|| |xpj|==|xpnext|then
17: xpj←xpj+ϵ ▷ϵ←(total erosionp)/(NC−1) denotes sedimentation parameter
18: end if
19: xpj←xpj−total erosionp
20: sum←sum+xpj
21: end for
22: xp←(sum)/(numOf Drops)
23: if xp+1⪯̸xp∀xp∈Cthen
24: xoptimal←xp
25: end if
26: end for
For selecting multiple clusters, a higher random number is generated, which is greater thanp three(step 34 of Algorithm 19, i.e., if condition fails). In this manner, two clusters are selected at random instead of one for further selection of the individual. The two clusters are combined to form a single cluster and accordingly, the optimal cluster centroid (having best fitness value in the combined cluster) is evaluated using RFD scheme and is chosen as xselected. Whenever necessary, other evaluation steps are employed similar to the algorithmic steps of MBSO algorithm. Once an individual is selected, i.e.,xselected , mutation operation is carried out followed by selection operation for the generation of new population.
The process of finding an optimal centroid using RFD scheme can be considered as a pro- cess of minimization, where the individual having the minimum fitness is chosen asxselected.
5.3 Proposed Multiobjective Optimization Algorithms for Analog/RF Circuit Sizing
finding an optimal centroid starts by considering the decision variables, x as individuals in clusterC. During evaluation, the probabilityP r, and decreasing gradientDsamong individ- uals and their neighbors are evaluated using (4.8) and (4.9), respectively. The neighboring individual having the maximum probability is selected as the next individual (xnext) and the fitness value (variable value) is reduced by the amount of erosion (Erosion) between the two individuals. The amount of erosion between two individuals,xandxnext is evaluated as follows [85],
Erosion(x,xnext) = α
(NC −1)×(d) ×Ds(x,xnext) (5.21) whereErosion(x,xnext)denotes the amount of erosion, when a drop travels from individual xto individualxnext;α=rand(0,1)denotes the erosion parameter;NC represents the num- ber of individuals in clusterC andd = 25is the number of drops used in the algorithm. The number of drops,d, is considered as per the analysis performed in [135]. As excess erosion may develop flat surfaces across landscapes (i.e., the variable values of individuals may be- come equal or close to zero ) making the gradient evaluation insignificant, it is necessary to increase the values of decision variables by depositing sediments,ϵ, to avoid any premature convergence. This movement of water drop continues until all individuals in the cluster are covered (or an iteration limit is reached) and the variable value,x, is updated each time a drop travels to a neighboring individual. Accordingly, a number of drops are employed to follow different paths by covering separate individuals. In the end, all possible potential paths are analyzed and the final fitness value (variable value) of an individual is evaluated by taking the average. The final variable values of all individuals in the cluster are evaluated and the best fitness value (optimal cluster centroid,xselected) is selected by Pareto dominance.