From 947d5494f575aa2b0babe4737007889aa2ee5b2e Mon Sep 17 00:00:00 2001 From: sasa1232 <42821493+sasa1232@users.noreply.github.com> Date: Tue, 30 Oct 2018 12:23:37 +0900 Subject: [PATCH] Update NSGA II.py Hi! Shouldn't it be in the lines 82 and 84: values1[sorted1[k+1]] - values1[sorted1[k-1]]... (values2[sorted2[k+1]] - values2[sorted2[k-1]])... since the values of the same objectives should be used to calculate the difference in the function values of two adjacent solutions --- NSGA II.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/NSGA II.py b/NSGA II.py index f8af858..7d58100 100644 --- a/NSGA II.py +++ b/NSGA II.py @@ -79,9 +79,9 @@ def crowding_distance(values1, values2, front): distance[0] = 4444444444444444 distance[len(front) - 1] = 4444444444444444 for k in range(1,len(front)-1): - distance[k] = distance[k]+ (values1[sorted1[k+1]] - values2[sorted1[k-1]])/(max(values1)-min(values1)) + distance[k] = distance[k]+ (values1[sorted1[k+1]] - values1[sorted1[k-1]])/(max(values1)-min(values1)) for k in range(1,len(front)-1): - distance[k] = distance[k]+ (values1[sorted2[k+1]] - values2[sorted2[k-1]])/(max(values2)-min(values2)) + distance[k] = distance[k]+ (values2[sorted2[k+1]] - values2[sorted2[k-1]])/(max(values2)-min(values2)) return distance #Function to carry out the crossover