Skip to content

Commit 19e75b4

Browse files
committed
Refactor names for clarity
1 parent 037ac3d commit 19e75b4

1 file changed

Lines changed: 29 additions & 9 deletions

File tree

src/selections.jl

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# GA seclections
1+
# GA selections
22
# ==============
33

44
# Rank-based fitness assignment
@@ -7,12 +7,24 @@ function ranklinear(sp::Float64)
77
@assert 1.0 <= sp <= 2.0 "Selective pressure has to be in range [1.0, 2.0]."
88
function rank(fitness::Vector{Float64}, N::Int)
99
λ = length(fitness)
10+
<<<<<<< Updated upstream
11+
rank = sortperm(fitness)
12+
13+
prob = Vector{Float64}(undef, λ)
14+
=======
1015
idx = sortperm(fitness)
11-
ranks = zeros(λ)
16+
17+
ranks = Vector{Float64}(undef, λ)
18+
>>>>>>> Stashed changes
1219
for i in 1:λ
13-
ranks[i] = ( 2.0- sp + 2.0*(sp - 1.0)*(idx[i] - 1.0) /- 1.0) ) / λ
20+
prob[i] = ( 2.0- sp + 2.0*(sp - 1.0)*(rank[i] - 1.0) /- 1.0) ) / λ
1421
end
22+
23+
<<<<<<< Updated upstream
24+
return pselection(prob, N)
25+
=======
1526
return pselection(ranks, N)
27+
>>>>>>> Stashed changes
1628
end
1729
return rank
1830
end
@@ -21,13 +33,18 @@ end
2133
function uniformranking::Int)
2234
function uniformrank(fitness::Vector{Float64}, N::Int)
2335
λ = length(fitness)
24-
idx = sortperm(fitness, rev=true)
36+
<<<<<<< Updated upstream
2537
@assert μ < λ "μ should be less then $(λ)"
26-
ranks = zeros(fitness)
27-
for i in 1:μ
28-
ranks[idx[i]] = 1/μ
29-
end
38+
39+
prob = fill(1/μ, μ)
40+
return pselection(prob, N)
41+
=======
42+
@assert μ < λ "μ should equal $(λ)"
43+
44+
ranks = fill(1/μ, μ)
45+
3046
return pselection(ranks, N)
47+
>>>>>>> Stashed changes
3148
end
3249
return uniformrank
3350
end
@@ -40,11 +57,13 @@ end
4057

4158
# Stochastic universal sampling (SUS)
4259
function sus(fitness::Vector{Float64}, N::Int)
60+
selected = Vector{Int}(undef, N)
61+
4362
F = sum(fitness)
4463
P = F/N
64+
4565
start = P*rand()
4666
pointers = [start+P*i for i = 0:(N-1)]
47-
selected = Vector{Int}(undef, N)
4867
i = c = 1
4968
for P in pointers
5069
while sum(fitness[1:i]) < P
@@ -53,6 +72,7 @@ function sus(fitness::Vector{Float64}, N::Int)
5372
selected[c] = i
5473
c += 1
5574
end
75+
5676
return selected
5777
end
5878

0 commit comments

Comments
 (0)