Skip to main content
. 2020 Jun 5;20(11):3210. doi: 10.3390/s20113210
Algorithm 1: single passIT2FCM-ACO
Input: X, c, tmax, m1, m2, min_impro, ρ, ε, α, ns, w_, w¯
Output: U, V, Jm
zmax∈N and zmax=1000, min_impro= 10−5
Initialize fuzzifier m1 = 1.7, m2 = 2.6, Jmin=inf, ACO parameters: ρ= 0.005, ε=0.01, α= 1.0 Initialize p_ij=1, p¯iji=1,…, c and j=1,…, n
00 Load X as ns sized samples, X={X1, ……, Xs}
01 Initialize w_j=ones(c,ns), w¯j,=ones(c,ns)
02 For first PDA since there are no previous c weighted points for ns+c , c=0.
03 for l=1 to s  do
04  for z=1 to zmax do
05   Repeat
06    for j=1 to ns+c
07     for i=1, …., c
08      set u_ij=p_ij/∑k=1cp_kj+N(0,σ)
09      if u_ij<0 then u_ij=0 end if
10      if u_ij>1 then u_ij=1 end if
11      randomly set u¯ij=p¯ij/∑k=1cp¯kj+N(0,σ)
12      if u¯ij<0 then u¯ij=0 end if
13      if u¯ij>1 then u¯ij=1 end if
14     end for
15     for i=1, …., c
16       u_ij=u_ij/∑k=1cu_kj
17       u¯ij=u¯ij/∑k=1cu¯kj
18     end for
19    end for
20   until ∑j=1ns+cu_ij>0 and ∑j=1ns+cu¯ij>0,∀ 1≤i≤c
21 compute type-1 fuzzy set of cluster centroids where VL, VR, uijL, uijR, wjL, wjR recomputed using procedure defined in algorithm 2.
22 update U˜=[u_ij, u¯ij]
23 obtain the crisp value of cluster centroids V˜=VL+VR/2
24 compute crisp value of fuzzy partition matrix using uij=uijL+uijR/2
25 type reduce weights wj=wjL+wjR/2
26 calculate objective function using “Equation (12)”
27 Type reduce objective function J˜m=Jm1+Jm2/2
28 if J˜<Jminm then Jminm=J˜ end if
29 for i=1, …., c
30   for j = 1, …, ns+c
31    update pheromone matrices P˜
32     p_ij=wjp_ij×(1−ρ)+u_ij/(J˜−Jmin+ε)α
33     p¯ij=wjp¯ij×(1−ρ)+u¯ij/(J˜−Jmin+ε)α
34   end for
35  end for
36  if t > 1, if |J˜(t)−J˜(t−1)|<min_impro break; end if, end if
37 end for
38 compute lower and upper values of weight of c condensed data points
39 w_’j=∑j=1ns+c(u_ij)wj , 1≤i≤c, wj=1∀ 1≤j≤ns
40 set w_j= w_’j
41 w¯’j=∑j=1ns+c(u¯ij)wj , 1≤i≤c, wj=1∀ 1≤j≤ns
42 set w¯j= w¯’j
43 End